mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-07-18 20:59:39 +02:00
* Enhance cash flow dashboard with new cash flow period handling and improved Sankey diagram rendering. Update D3 and related dependencies for better performance and features. * Fix Rubocop offenses * Refactor Sankey chart controller to use Number.parseFloat for value formatting and improve code readability by restructuring conditional logic for node shapes.
4 lines
28 KiB
JavaScript
4 lines
28 KiB
JavaScript
// robust-predicates@3.0.2 downloaded from https://ga.jspm.io/npm:robust-predicates@3.0.2/index.js
|
|
|
|
const c=11102230246251565e-32;const s=134217729;const t=(3+8*c)*c;function sum(c,s,t,n,e){let o,a,l,i;let r=s[0];let f=n[0];let u=0;let d=0;if(f>r===f>-r){o=r;r=s[++u]}else{o=f;f=n[++d]}let v=0;if(u<c&&d<t){if(f>r===f>-r){a=r+o;l=o-(a-r);r=s[++u]}else{a=f+o;l=o-(a-f);f=n[++d]}o=a;0!==l&&(e[v++]=l);while(u<c&&d<t){if(f>r===f>-r){a=o+r;i=a-o;l=o-(a-i)+(r-i);r=s[++u]}else{a=o+f;i=a-o;l=o-(a-i)+(f-i);f=n[++d]}o=a;0!==l&&(e[v++]=l)}}while(u<c){a=o+r;i=a-o;l=o-(a-i)+(r-i);r=s[++u];o=a;0!==l&&(e[v++]=l)}while(d<t){a=o+f;i=a-o;l=o-(a-i)+(f-i);f=n[++d];o=a;0!==l&&(e[v++]=l)}0===o&&0!==v||(e[v++]=o);return v}function sum_three(c,s,t,n,e,o,a,l){return sum(sum(c,s,t,n,a),a,e,o,l)}function scale(c,t,n,e){let o,a,l,i,r;let f,u,d,v,h,m;u=s*n;h=u-(u-n);m=n-h;let _=t[0];o=_*n;u=s*_;d=u-(u-_);v=_-d;l=v*m-(o-d*h-v*h-d*m);let b=0;0!==l&&(e[b++]=l);for(let M=1;M<c;M++){_=t[M];i=_*n;u=s*_;d=u-(u-_);v=_-d;r=v*m-(i-d*h-v*h-d*m);a=o+r;f=a-o;l=o-(a-f)+(r-f);0!==l&&(e[b++]=l);o=i+a;l=a-(o-i);0!==l&&(e[b++]=l)}0===o&&0!==b||(e[b++]=o);return b}function negate(c,s){for(let t=0;t<c;t++)s[t]=-s[t];return c}function estimate(c,s){let t=s[0];for(let n=1;n<c;n++)t+=s[n];return t}function vec(c){return new Float64Array(c)}const n=(3+16*c)*c;const e=(2+12*c)*c;const o=(9+64*c)*c*c;const a=vec(4);const l=vec(8);const i=vec(12);const r=vec(16);const f=vec(4);function orient2dadapt(c,n,u,d,v,h,m){let _,b,M,p;let $,x,g,w,y,A,F,j,k,q,z,B,C,D;const E=c-v;const G=u-v;const H=n-h;const I=d-h;q=E*I;x=s*E;g=x-(x-E);w=E-g;x=s*I;y=x-(x-I);A=I-y;z=w*A-(q-g*y-w*y-g*A);B=H*G;x=s*H;g=x-(x-H);w=H-g;x=s*G;y=x-(x-G);A=G-y;C=w*A-(B-g*y-w*y-g*A);F=z-C;$=z-F;a[0]=z-(F+$)+($-C);j=q+F;$=j-q;k=q-(j-$)+(F-$);F=k-B;$=k-F;a[1]=k-(F+$)+($-B);D=j+F;$=D-j;a[2]=j-(D-$)+(F-$);a[3]=D;let J=estimate(4,a);let K=e*m;if(J>=K||-J>=K)return J;$=c-E;_=c-(E+$)+($-v);$=u-G;M=u-(G+$)+($-v);$=n-H;b=n-(H+$)+($-h);$=d-I;p=d-(I+$)+($-h);if(0===_&&0===b&&0===M&&0===p)return J;K=o*m+t*Math.abs(J);J+=E*p+I*_-(H*M+G*b);if(J>=K||-J>=K)return J;q=_*I;x=s*_;g=x-(x-_);w=_-g;x=s*I;y=x-(x-I);A=I-y;z=w*A-(q-g*y-w*y-g*A);B=b*G;x=s*b;g=x-(x-b);w=b-g;x=s*G;y=x-(x-G);A=G-y;C=w*A-(B-g*y-w*y-g*A);F=z-C;$=z-F;f[0]=z-(F+$)+($-C);j=q+F;$=j-q;k=q-(j-$)+(F-$);F=k-B;$=k-F;f[1]=k-(F+$)+($-B);D=j+F;$=D-j;f[2]=j-(D-$)+(F-$);f[3]=D;const L=sum(4,a,4,f,l);q=E*p;x=s*E;g=x-(x-E);w=E-g;x=s*p;y=x-(x-p);A=p-y;z=w*A-(q-g*y-w*y-g*A);B=H*M;x=s*H;g=x-(x-H);w=H-g;x=s*M;y=x-(x-M);A=M-y;C=w*A-(B-g*y-w*y-g*A);F=z-C;$=z-F;f[0]=z-(F+$)+($-C);j=q+F;$=j-q;k=q-(j-$)+(F-$);F=k-B;$=k-F;f[1]=k-(F+$)+($-B);D=j+F;$=D-j;f[2]=j-(D-$)+(F-$);f[3]=D;const N=sum(L,l,4,f,i);q=_*p;x=s*_;g=x-(x-_);w=_-g;x=s*p;y=x-(x-p);A=p-y;z=w*A-(q-g*y-w*y-g*A);B=b*M;x=s*b;g=x-(x-b);w=b-g;x=s*M;y=x-(x-M);A=M-y;C=w*A-(B-g*y-w*y-g*A);F=z-C;$=z-F;f[0]=z-(F+$)+($-C);j=q+F;$=j-q;k=q-(j-$)+(F-$);F=k-B;$=k-F;f[1]=k-(F+$)+($-B);D=j+F;$=D-j;f[2]=j-(D-$)+(F-$);f[3]=D;const O=sum(N,i,4,f,r);return r[O-1]}function orient2d(c,s,t,e,o,a){const l=(s-a)*(t-o);const i=(c-o)*(e-a);const r=l-i;const f=Math.abs(l+i);return Math.abs(r)>=n*f?r:-orient2dadapt(c,s,t,e,o,a,f)}function orient2dfast(c,s,t,n,e,o){return(s-o)*(t-e)-(c-e)*(n-o)}const u=(7+56*c)*c;const d=(3+28*c)*c;const v=(26+288*c)*c*c;const h=vec(4);const m=vec(4);const _=vec(4);const b=vec(4);const M=vec(4);const p=vec(4);const $=vec(4);const x=vec(4);const g=vec(4);const w=vec(8);const y=vec(8);const A=vec(8);const F=vec(4);const j=vec(8);const k=vec(8);const q=vec(8);const z=vec(12);let B=vec(192);let C=vec(192);function finadd$1(c,s,t){c=sum(c,B,s,t,C);const n=B;B=C;C=n;return c}function tailinit(c,t,n,e,o,a,l,i){let r,f,u,d,v,h,m,_,b,M,p,$,x,g,w;if(0===c){if(0===t){l[0]=0;i[0]=0;return 1}w=-t;M=w*n;f=s*w;u=f-(f-w);d=w-u;f=s*n;v=f-(f-n);h=n-v;l[0]=d*h-(M-u*v-d*v-u*h);l[1]=M;M=t*o;f=s*t;u=f-(f-t);d=t-u;f=s*o;v=f-(f-o);h=o-v;i[0]=d*h-(M-u*v-d*v-u*h);i[1]=M;return 2}if(0===t){M=c*e;f=s*c;u=f-(f-c);d=c-u;f=s*e;v=f-(f-e);h=e-v;l[0]=d*h-(M-u*v-d*v-u*h);l[1]=M;w=-c;M=w*a;f=s*w;u=f-(f-w);d=w-u;f=s*a;v=f-(f-a);h=a-v;i[0]=d*h-(M-u*v-d*v-u*h);i[1]=M;return 2}M=c*e;f=s*c;u=f-(f-c);d=c-u;f=s*e;v=f-(f-e);h=e-v;p=d*h-(M-u*v-d*v-u*h);$=t*n;f=s*t;u=f-(f-t);d=t-u;f=s*n;v=f-(f-n);h=n-v;x=d*h-($-u*v-d*v-u*h);m=p-x;r=p-m;l[0]=p-(m+r)+(r-x);_=M+m;r=_-M;b=M-(_-r)+(m-r);m=b-$;r=b-m;l[1]=b-(m+r)+(r-$);g=_+m;r=g-_;l[2]=_-(g-r)+(m-r);l[3]=g;M=t*o;f=s*t;u=f-(f-t);d=t-u;f=s*o;v=f-(f-o);h=o-v;p=d*h-(M-u*v-d*v-u*h);$=c*a;f=s*c;u=f-(f-c);d=c-u;f=s*a;v=f-(f-a);h=a-v;x=d*h-($-u*v-d*v-u*h);m=p-x;r=p-m;i[0]=p-(m+r)+(r-x);_=M+m;r=_-M;b=M-(_-r)+(m-r);m=b-$;r=b-m;i[1]=b-(m+r)+(r-$);g=_+m;r=g-_;i[2]=_-(g-r)+(m-r);i[3]=g;return 4}function tailadd(c,t,n,e,o){let a,l,i,r,f,u,d,v,h,m,_,b,M;_=t*n;l=s*t;i=l-(l-t);r=t-i;l=s*n;f=l-(l-n);u=n-f;b=r*u-(_-i*f-r*f-i*u);l=s*e;f=l-(l-e);u=e-f;d=b*e;l=s*b;i=l-(l-b);r=b-i;F[0]=r*u-(d-i*f-r*f-i*u);v=_*e;l=s*_;i=l-(l-_);r=_-i;m=r*u-(v-i*f-r*f-i*u);h=d+m;a=h-d;F[1]=d-(h-a)+(m-a);M=v+h;F[2]=h-(M-v);F[3]=M;c=finadd$1(c,4,F);if(0!==o){l=s*o;f=l-(l-o);u=o-f;d=b*o;l=s*b;i=l-(l-b);r=b-i;F[0]=r*u-(d-i*f-r*f-i*u);v=_*o;l=s*_;i=l-(l-_);r=_-i;m=r*u-(v-i*f-r*f-i*u);h=d+m;a=h-d;F[1]=d-(h-a)+(m-a);M=v+h;F[2]=h-(M-v);F[3]=M;c=finadd$1(c,4,F)}return c}function orient3dadapt(c,n,e,o,a,l,i,r,f,u,F,C,D){let E;let G,H,I;let J,K,L;let N,O,P;let Q,R,S,T,U,V,W,X,Y,Z,cc,sc,tc,nc;const ec=c-u;const oc=o-u;const ac=i-u;const lc=n-F;const ic=a-F;const rc=r-F;const fc=e-C;const uc=l-C;const dc=f-C;Z=oc*rc;R=s*oc;S=R-(R-oc);T=oc-S;R=s*rc;U=R-(R-rc);V=rc-U;cc=T*V-(Z-S*U-T*U-S*V);sc=ac*ic;R=s*ac;S=R-(R-ac);T=ac-S;R=s*ic;U=R-(R-ic);V=ic-U;tc=T*V-(sc-S*U-T*U-S*V);W=cc-tc;Q=cc-W;h[0]=cc-(W+Q)+(Q-tc);X=Z+W;Q=X-Z;Y=Z-(X-Q)+(W-Q);W=Y-sc;Q=Y-W;h[1]=Y-(W+Q)+(Q-sc);nc=X+W;Q=nc-X;h[2]=X-(nc-Q)+(W-Q);h[3]=nc;Z=ac*lc;R=s*ac;S=R-(R-ac);T=ac-S;R=s*lc;U=R-(R-lc);V=lc-U;cc=T*V-(Z-S*U-T*U-S*V);sc=ec*rc;R=s*ec;S=R-(R-ec);T=ec-S;R=s*rc;U=R-(R-rc);V=rc-U;tc=T*V-(sc-S*U-T*U-S*V);W=cc-tc;Q=cc-W;m[0]=cc-(W+Q)+(Q-tc);X=Z+W;Q=X-Z;Y=Z-(X-Q)+(W-Q);W=Y-sc;Q=Y-W;m[1]=Y-(W+Q)+(Q-sc);nc=X+W;Q=nc-X;m[2]=X-(nc-Q)+(W-Q);m[3]=nc;Z=ec*ic;R=s*ec;S=R-(R-ec);T=ec-S;R=s*ic;U=R-(R-ic);V=ic-U;cc=T*V-(Z-S*U-T*U-S*V);sc=oc*lc;R=s*oc;S=R-(R-oc);T=oc-S;R=s*lc;U=R-(R-lc);V=lc-U;tc=T*V-(sc-S*U-T*U-S*V);W=cc-tc;Q=cc-W;_[0]=cc-(W+Q)+(Q-tc);X=Z+W;Q=X-Z;Y=Z-(X-Q)+(W-Q);W=Y-sc;Q=Y-W;_[1]=Y-(W+Q)+(Q-sc);nc=X+W;Q=nc-X;_[2]=X-(nc-Q)+(W-Q);_[3]=nc;E=sum(sum(scale(4,h,fc,j),j,scale(4,m,uc,k),k,q),q,scale(4,_,dc,j),j,B);let vc=estimate(E,B);let hc=d*D;if(vc>=hc||-vc>=hc)return vc;Q=c-ec;G=c-(ec+Q)+(Q-u);Q=o-oc;H=o-(oc+Q)+(Q-u);Q=i-ac;I=i-(ac+Q)+(Q-u);Q=n-lc;J=n-(lc+Q)+(Q-F);Q=a-ic;K=a-(ic+Q)+(Q-F);Q=r-rc;L=r-(rc+Q)+(Q-F);Q=e-fc;N=e-(fc+Q)+(Q-C);Q=l-uc;O=l-(uc+Q)+(Q-C);Q=f-dc;P=f-(dc+Q)+(Q-C);if(0===G&&0===H&&0===I&&0===J&&0===K&&0===L&&0===N&&0===O&&0===P)return vc;hc=v*D+t*Math.abs(vc);vc+=fc*(oc*L+rc*H-(ic*I+ac*K))+N*(oc*rc-ic*ac)+uc*(ac*J+lc*I-(rc*G+ec*L))+O*(ac*lc-rc*ec)+dc*(ec*K+ic*G-(lc*H+oc*J))+P*(ec*ic-lc*oc);if(vc>=hc||-vc>=hc)return vc;const mc=tailinit(G,J,oc,ic,ac,rc,b,M);const _c=tailinit(H,K,ac,rc,ec,lc,p,$);const bc=tailinit(I,L,ec,lc,oc,ic,x,g);const Mc=sum(_c,p,bc,g,w);E=finadd$1(E,scale(Mc,w,fc,q),q);const pc=sum(bc,x,mc,M,y);E=finadd$1(E,scale(pc,y,uc,q),q);const $c=sum(mc,b,_c,$,A);E=finadd$1(E,scale($c,A,dc,q),q);if(0!==N){E=finadd$1(E,scale(4,h,N,z),z);E=finadd$1(E,scale(Mc,w,N,q),q)}if(0!==O){E=finadd$1(E,scale(4,m,O,z),z);E=finadd$1(E,scale(pc,y,O,q),q)}if(0!==P){E=finadd$1(E,scale(4,_,P,z),z);E=finadd$1(E,scale($c,A,P,q),q)}if(0!==G){0!==K&&(E=tailadd(E,G,K,dc,P));0!==L&&(E=tailadd(E,-G,L,uc,O))}if(0!==H){0!==L&&(E=tailadd(E,H,L,fc,N));0!==J&&(E=tailadd(E,-H,J,dc,P))}if(0!==I){0!==J&&(E=tailadd(E,I,J,uc,O));0!==K&&(E=tailadd(E,-I,K,fc,N))}return B[E-1]}function orient3d(c,s,t,n,e,o,a,l,i,r,f,d){const v=c-r;const h=n-r;const m=a-r;const _=s-f;const b=e-f;const M=l-f;const p=t-d;const $=o-d;const x=i-d;const g=h*M;const w=m*b;const y=m*_;const A=v*M;const F=v*b;const j=h*_;const k=p*(g-w)+$*(y-A)+x*(F-j);const q=(Math.abs(g)+Math.abs(w))*Math.abs(p)+(Math.abs(y)+Math.abs(A))*Math.abs($)+(Math.abs(F)+Math.abs(j))*Math.abs(x);const z=u*q;return k>z||-k>z?k:orient3dadapt(c,s,t,n,e,o,a,l,i,r,f,d,q)}function orient3dfast(c,s,t,n,e,o,a,l,i,r,f,u){const d=c-r;const v=n-r;const h=a-r;const m=s-f;const _=e-f;const b=l-f;const M=t-u;const p=o-u;const $=i-u;return d*(_*$-p*b)+v*(b*M-$*m)+h*(m*p-M*_)}const D=(10+96*c)*c;const E=(4+48*c)*c;const G=(44+576*c)*c*c;const H=vec(4);const I=vec(4);const J=vec(4);const K=vec(4);const L=vec(4);const N=vec(4);const O=vec(4);const P=vec(4);const Q=vec(8);const R=vec(8);const S=vec(8);const T=vec(8);const U=vec(8);const V=vec(8);const W=vec(8);const X=vec(8);const Y=vec(8);const Z=vec(4);const cc=vec(4);const sc=vec(4);const tc=vec(8);const nc=vec(16);const ec=vec(16);const oc=vec(16);const ac=vec(32);const lc=vec(32);const ic=vec(48);const rc=vec(64);let fc=vec(1152);let uc=vec(1152);function finadd(c,s,t){c=sum(c,fc,s,t,uc);const n=fc;fc=uc;uc=n;return c}function incircleadapt(c,n,e,o,a,l,i,r,f){let u;let d,v,h,m,_,b;let M,p,$,x,g,w;let y,A,F;let j,k,q;let z,B;let C,D,uc,dc,vc,hc,mc,_c,bc,Mc,pc,$c,xc,gc;const wc=c-i;const yc=e-i;const Ac=a-i;const Fc=n-r;const jc=o-r;const kc=l-r;Mc=yc*kc;D=s*yc;uc=D-(D-yc);dc=yc-uc;D=s*kc;vc=D-(D-kc);hc=kc-vc;pc=dc*hc-(Mc-uc*vc-dc*vc-uc*hc);$c=Ac*jc;D=s*Ac;uc=D-(D-Ac);dc=Ac-uc;D=s*jc;vc=D-(D-jc);hc=jc-vc;xc=dc*hc-($c-uc*vc-dc*vc-uc*hc);mc=pc-xc;C=pc-mc;H[0]=pc-(mc+C)+(C-xc);_c=Mc+mc;C=_c-Mc;bc=Mc-(_c-C)+(mc-C);mc=bc-$c;C=bc-mc;H[1]=bc-(mc+C)+(C-$c);gc=_c+mc;C=gc-_c;H[2]=_c-(gc-C)+(mc-C);H[3]=gc;Mc=Ac*Fc;D=s*Ac;uc=D-(D-Ac);dc=Ac-uc;D=s*Fc;vc=D-(D-Fc);hc=Fc-vc;pc=dc*hc-(Mc-uc*vc-dc*vc-uc*hc);$c=wc*kc;D=s*wc;uc=D-(D-wc);dc=wc-uc;D=s*kc;vc=D-(D-kc);hc=kc-vc;xc=dc*hc-($c-uc*vc-dc*vc-uc*hc);mc=pc-xc;C=pc-mc;I[0]=pc-(mc+C)+(C-xc);_c=Mc+mc;C=_c-Mc;bc=Mc-(_c-C)+(mc-C);mc=bc-$c;C=bc-mc;I[1]=bc-(mc+C)+(C-$c);gc=_c+mc;C=gc-_c;I[2]=_c-(gc-C)+(mc-C);I[3]=gc;Mc=wc*jc;D=s*wc;uc=D-(D-wc);dc=wc-uc;D=s*jc;vc=D-(D-jc);hc=jc-vc;pc=dc*hc-(Mc-uc*vc-dc*vc-uc*hc);$c=yc*Fc;D=s*yc;uc=D-(D-yc);dc=yc-uc;D=s*Fc;vc=D-(D-Fc);hc=Fc-vc;xc=dc*hc-($c-uc*vc-dc*vc-uc*hc);mc=pc-xc;C=pc-mc;J[0]=pc-(mc+C)+(C-xc);_c=Mc+mc;C=_c-Mc;bc=Mc-(_c-C)+(mc-C);mc=bc-$c;C=bc-mc;J[1]=bc-(mc+C)+(C-$c);gc=_c+mc;C=gc-_c;J[2]=_c-(gc-C)+(mc-C);J[3]=gc;u=sum(sum(sum(scale(scale(4,H,wc,tc),tc,wc,nc),nc,scale(scale(4,H,Fc,tc),tc,Fc,ec),ec,ac),ac,sum(scale(scale(4,I,yc,tc),tc,yc,nc),nc,scale(scale(4,I,jc,tc),tc,jc,ec),ec,lc),lc,rc),rc,sum(scale(scale(4,J,Ac,tc),tc,Ac,nc),nc,scale(scale(4,J,kc,tc),tc,kc,ec),ec,ac),ac,fc);let qc=estimate(u,fc);let zc=E*f;if(qc>=zc||-qc>=zc)return qc;C=c-wc;d=c-(wc+C)+(C-i);C=n-Fc;m=n-(Fc+C)+(C-r);C=e-yc;v=e-(yc+C)+(C-i);C=o-jc;_=o-(jc+C)+(C-r);C=a-Ac;h=a-(Ac+C)+(C-i);C=l-kc;b=l-(kc+C)+(C-r);if(0===d&&0===v&&0===h&&0===m&&0===_&&0===b)return qc;zc=G*f+t*Math.abs(qc);qc+=(wc*wc+Fc*Fc)*(yc*b+kc*v-(jc*h+Ac*_))+2*(wc*d+Fc*m)*(yc*kc-jc*Ac)+((yc*yc+jc*jc)*(Ac*m+Fc*h-(kc*d+wc*b))+2*(yc*v+jc*_)*(Ac*Fc-kc*wc))+((Ac*Ac+kc*kc)*(wc*_+jc*d-(Fc*v+yc*m))+2*(Ac*h+kc*b)*(wc*jc-Fc*yc));if(qc>=zc||-qc>=zc)return qc;if(0!==v||0!==_||0!==h||0!==b){Mc=wc*wc;D=s*wc;uc=D-(D-wc);dc=wc-uc;pc=dc*dc-(Mc-uc*uc-(uc+uc)*dc);$c=Fc*Fc;D=s*Fc;uc=D-(D-Fc);dc=Fc-uc;xc=dc*dc-($c-uc*uc-(uc+uc)*dc);mc=pc+xc;C=mc-pc;K[0]=pc-(mc-C)+(xc-C);_c=Mc+mc;C=_c-Mc;bc=Mc-(_c-C)+(mc-C);mc=bc+$c;C=mc-bc;K[1]=bc-(mc-C)+($c-C);gc=_c+mc;C=gc-_c;K[2]=_c-(gc-C)+(mc-C);K[3]=gc}if(0!==h||0!==b||0!==d||0!==m){Mc=yc*yc;D=s*yc;uc=D-(D-yc);dc=yc-uc;pc=dc*dc-(Mc-uc*uc-(uc+uc)*dc);$c=jc*jc;D=s*jc;uc=D-(D-jc);dc=jc-uc;xc=dc*dc-($c-uc*uc-(uc+uc)*dc);mc=pc+xc;C=mc-pc;L[0]=pc-(mc-C)+(xc-C);_c=Mc+mc;C=_c-Mc;bc=Mc-(_c-C)+(mc-C);mc=bc+$c;C=mc-bc;L[1]=bc-(mc-C)+($c-C);gc=_c+mc;C=gc-_c;L[2]=_c-(gc-C)+(mc-C);L[3]=gc}if(0!==d||0!==m||0!==v||0!==_){Mc=Ac*Ac;D=s*Ac;uc=D-(D-Ac);dc=Ac-uc;pc=dc*dc-(Mc-uc*uc-(uc+uc)*dc);$c=kc*kc;D=s*kc;uc=D-(D-kc);dc=kc-uc;xc=dc*dc-($c-uc*uc-(uc+uc)*dc);mc=pc+xc;C=mc-pc;N[0]=pc-(mc-C)+(xc-C);_c=Mc+mc;C=_c-Mc;bc=Mc-(_c-C)+(mc-C);mc=bc+$c;C=mc-bc;N[1]=bc-(mc-C)+($c-C);gc=_c+mc;C=gc-_c;N[2]=_c-(gc-C)+(mc-C);N[3]=gc}if(0!==d){M=scale(4,H,d,Q);u=finadd(u,sum_three(scale(M,Q,2*wc,nc),nc,scale(scale(4,N,d,tc),tc,jc,ec),ec,scale(scale(4,L,d,tc),tc,-kc,oc),oc,ac,ic),ic)}if(0!==m){p=scale(4,H,m,R);u=finadd(u,sum_three(scale(p,R,2*Fc,nc),nc,scale(scale(4,L,m,tc),tc,Ac,ec),ec,scale(scale(4,N,m,tc),tc,-yc,oc),oc,ac,ic),ic)}if(0!==v){$=scale(4,I,v,S);u=finadd(u,sum_three(scale($,S,2*yc,nc),nc,scale(scale(4,K,v,tc),tc,kc,ec),ec,scale(scale(4,N,v,tc),tc,-Fc,oc),oc,ac,ic),ic)}if(0!==_){x=scale(4,I,_,T);u=finadd(u,sum_three(scale(x,T,2*jc,nc),nc,scale(scale(4,N,_,tc),tc,wc,ec),ec,scale(scale(4,K,_,tc),tc,-Ac,oc),oc,ac,ic),ic)}if(0!==h){g=scale(4,J,h,U);u=finadd(u,sum_three(scale(g,U,2*Ac,nc),nc,scale(scale(4,L,h,tc),tc,Fc,ec),ec,scale(scale(4,K,h,tc),tc,-jc,oc),oc,ac,ic),ic)}if(0!==b){w=scale(4,J,b,V);u=finadd(u,sum_three(scale(w,V,2*kc,nc),nc,scale(scale(4,K,b,tc),tc,yc,ec),ec,scale(scale(4,L,b,tc),tc,-wc,oc),oc,ac,ic),ic)}if(0!==d||0!==m){if(0!==v||0!==_||0!==h||0!==b){Mc=v*kc;D=s*v;uc=D-(D-v);dc=v-uc;D=s*kc;vc=D-(D-kc);hc=kc-vc;pc=dc*hc-(Mc-uc*vc-dc*vc-uc*hc);$c=yc*b;D=s*yc;uc=D-(D-yc);dc=yc-uc;D=s*b;vc=D-(D-b);hc=b-vc;xc=dc*hc-($c-uc*vc-dc*vc-uc*hc);mc=pc+xc;C=mc-pc;O[0]=pc-(mc-C)+(xc-C);_c=Mc+mc;C=_c-Mc;bc=Mc-(_c-C)+(mc-C);mc=bc+$c;C=mc-bc;O[1]=bc-(mc-C)+($c-C);gc=_c+mc;C=gc-_c;O[2]=_c-(gc-C)+(mc-C);O[3]=gc;Mc=h*-jc;D=s*h;uc=D-(D-h);dc=h-uc;D=s*-jc;vc=D-(D- -jc);hc=-jc-vc;pc=dc*hc-(Mc-uc*vc-dc*vc-uc*hc);$c=Ac*-_;D=s*Ac;uc=D-(D-Ac);dc=Ac-uc;D=s*-_;vc=D-(D- -_);hc=-_-vc;xc=dc*hc-($c-uc*vc-dc*vc-uc*hc);mc=pc+xc;C=mc-pc;P[0]=pc-(mc-C)+(xc-C);_c=Mc+mc;C=_c-Mc;bc=Mc-(_c-C)+(mc-C);mc=bc+$c;C=mc-bc;P[1]=bc-(mc-C)+($c-C);gc=_c+mc;C=gc-_c;P[2]=_c-(gc-C)+(mc-C);P[3]=gc;A=sum(4,O,4,P,X);Mc=v*b;D=s*v;uc=D-(D-v);dc=v-uc;D=s*b;vc=D-(D-b);hc=b-vc;pc=dc*hc-(Mc-uc*vc-dc*vc-uc*hc);$c=h*_;D=s*h;uc=D-(D-h);dc=h-uc;D=s*_;vc=D-(D-_);hc=_-vc;xc=dc*hc-($c-uc*vc-dc*vc-uc*hc);mc=pc-xc;C=pc-mc;cc[0]=pc-(mc+C)+(C-xc);_c=Mc+mc;C=_c-Mc;bc=Mc-(_c-C)+(mc-C);mc=bc-$c;C=bc-mc;cc[1]=bc-(mc+C)+(C-$c);gc=_c+mc;C=gc-_c;cc[2]=_c-(gc-C)+(mc-C);cc[3]=gc;k=4}else{X[0]=0;A=1;cc[0]=0;k=1}if(0!==d){const c=scale(A,X,d,oc);u=finadd(u,sum(scale(M,Q,d,nc),nc,scale(c,oc,2*wc,ac),ac,ic),ic);const s=scale(k,cc,d,tc);u=finadd(u,sum_three(scale(s,tc,2*wc,nc),nc,scale(s,tc,d,ec),ec,scale(c,oc,d,ac),ac,lc,rc),rc);0!==_&&(u=finadd(u,scale(scale(4,N,d,tc),tc,_,nc),nc));0!==b&&(u=finadd(u,scale(scale(4,L,-d,tc),tc,b,nc),nc))}if(0!==m){const c=scale(A,X,m,oc);u=finadd(u,sum(scale(p,R,m,nc),nc,scale(c,oc,2*Fc,ac),ac,ic),ic);const s=scale(k,cc,m,tc);u=finadd(u,sum_three(scale(s,tc,2*Fc,nc),nc,scale(s,tc,m,ec),ec,scale(c,oc,m,ac),ac,lc,rc),rc)}}if(0!==v||0!==_){if(0!==h||0!==b||0!==d||0!==m){Mc=h*Fc;D=s*h;uc=D-(D-h);dc=h-uc;D=s*Fc;vc=D-(D-Fc);hc=Fc-vc;pc=dc*hc-(Mc-uc*vc-dc*vc-uc*hc);$c=Ac*m;D=s*Ac;uc=D-(D-Ac);dc=Ac-uc;D=s*m;vc=D-(D-m);hc=m-vc;xc=dc*hc-($c-uc*vc-dc*vc-uc*hc);mc=pc+xc;C=mc-pc;O[0]=pc-(mc-C)+(xc-C);_c=Mc+mc;C=_c-Mc;bc=Mc-(_c-C)+(mc-C);mc=bc+$c;C=mc-bc;O[1]=bc-(mc-C)+($c-C);gc=_c+mc;C=gc-_c;O[2]=_c-(gc-C)+(mc-C);O[3]=gc;z=-kc;B=-b;Mc=d*z;D=s*d;uc=D-(D-d);dc=d-uc;D=s*z;vc=D-(D-z);hc=z-vc;pc=dc*hc-(Mc-uc*vc-dc*vc-uc*hc);$c=wc*B;D=s*wc;uc=D-(D-wc);dc=wc-uc;D=s*B;vc=D-(D-B);hc=B-vc;xc=dc*hc-($c-uc*vc-dc*vc-uc*hc);mc=pc+xc;C=mc-pc;P[0]=pc-(mc-C)+(xc-C);_c=Mc+mc;C=_c-Mc;bc=Mc-(_c-C)+(mc-C);mc=bc+$c;C=mc-bc;P[1]=bc-(mc-C)+($c-C);gc=_c+mc;C=gc-_c;P[2]=_c-(gc-C)+(mc-C);P[3]=gc;F=sum(4,O,4,P,Y);Mc=h*m;D=s*h;uc=D-(D-h);dc=h-uc;D=s*m;vc=D-(D-m);hc=m-vc;pc=dc*hc-(Mc-uc*vc-dc*vc-uc*hc);$c=d*b;D=s*d;uc=D-(D-d);dc=d-uc;D=s*b;vc=D-(D-b);hc=b-vc;xc=dc*hc-($c-uc*vc-dc*vc-uc*hc);mc=pc-xc;C=pc-mc;sc[0]=pc-(mc+C)+(C-xc);_c=Mc+mc;C=_c-Mc;bc=Mc-(_c-C)+(mc-C);mc=bc-$c;C=bc-mc;sc[1]=bc-(mc+C)+(C-$c);gc=_c+mc;C=gc-_c;sc[2]=_c-(gc-C)+(mc-C);sc[3]=gc;q=4}else{Y[0]=0;F=1;sc[0]=0;q=1}if(0!==v){const c=scale(F,Y,v,oc);u=finadd(u,sum(scale($,S,v,nc),nc,scale(c,oc,2*yc,ac),ac,ic),ic);const s=scale(q,sc,v,tc);u=finadd(u,sum_three(scale(s,tc,2*yc,nc),nc,scale(s,tc,v,ec),ec,scale(c,oc,v,ac),ac,lc,rc),rc);0!==b&&(u=finadd(u,scale(scale(4,K,v,tc),tc,b,nc),nc));0!==m&&(u=finadd(u,scale(scale(4,N,-v,tc),tc,m,nc),nc))}if(0!==_){const c=scale(F,Y,_,oc);u=finadd(u,sum(scale(x,T,_,nc),nc,scale(c,oc,2*jc,ac),ac,ic),ic);const s=scale(q,sc,_,tc);u=finadd(u,sum_three(scale(s,tc,2*jc,nc),nc,scale(s,tc,_,ec),ec,scale(c,oc,_,ac),ac,lc,rc),rc)}}if(0!==h||0!==b){if(0!==d||0!==m||0!==v||0!==_){Mc=d*jc;D=s*d;uc=D-(D-d);dc=d-uc;D=s*jc;vc=D-(D-jc);hc=jc-vc;pc=dc*hc-(Mc-uc*vc-dc*vc-uc*hc);$c=wc*_;D=s*wc;uc=D-(D-wc);dc=wc-uc;D=s*_;vc=D-(D-_);hc=_-vc;xc=dc*hc-($c-uc*vc-dc*vc-uc*hc);mc=pc+xc;C=mc-pc;O[0]=pc-(mc-C)+(xc-C);_c=Mc+mc;C=_c-Mc;bc=Mc-(_c-C)+(mc-C);mc=bc+$c;C=mc-bc;O[1]=bc-(mc-C)+($c-C);gc=_c+mc;C=gc-_c;O[2]=_c-(gc-C)+(mc-C);O[3]=gc;z=-Fc;B=-m;Mc=v*z;D=s*v;uc=D-(D-v);dc=v-uc;D=s*z;vc=D-(D-z);hc=z-vc;pc=dc*hc-(Mc-uc*vc-dc*vc-uc*hc);$c=yc*B;D=s*yc;uc=D-(D-yc);dc=yc-uc;D=s*B;vc=D-(D-B);hc=B-vc;xc=dc*hc-($c-uc*vc-dc*vc-uc*hc);mc=pc+xc;C=mc-pc;P[0]=pc-(mc-C)+(xc-C);_c=Mc+mc;C=_c-Mc;bc=Mc-(_c-C)+(mc-C);mc=bc+$c;C=mc-bc;P[1]=bc-(mc-C)+($c-C);gc=_c+mc;C=gc-_c;P[2]=_c-(gc-C)+(mc-C);P[3]=gc;y=sum(4,O,4,P,W);Mc=d*_;D=s*d;uc=D-(D-d);dc=d-uc;D=s*_;vc=D-(D-_);hc=_-vc;pc=dc*hc-(Mc-uc*vc-dc*vc-uc*hc);$c=v*m;D=s*v;uc=D-(D-v);dc=v-uc;D=s*m;vc=D-(D-m);hc=m-vc;xc=dc*hc-($c-uc*vc-dc*vc-uc*hc);mc=pc-xc;C=pc-mc;Z[0]=pc-(mc+C)+(C-xc);_c=Mc+mc;C=_c-Mc;bc=Mc-(_c-C)+(mc-C);mc=bc-$c;C=bc-mc;Z[1]=bc-(mc+C)+(C-$c);gc=_c+mc;C=gc-_c;Z[2]=_c-(gc-C)+(mc-C);Z[3]=gc;j=4}else{W[0]=0;y=1;Z[0]=0;j=1}if(0!==h){const c=scale(y,W,h,oc);u=finadd(u,sum(scale(g,U,h,nc),nc,scale(c,oc,2*Ac,ac),ac,ic),ic);const s=scale(j,Z,h,tc);u=finadd(u,sum_three(scale(s,tc,2*Ac,nc),nc,scale(s,tc,h,ec),ec,scale(c,oc,h,ac),ac,lc,rc),rc);0!==m&&(u=finadd(u,scale(scale(4,L,h,tc),tc,m,nc),nc));0!==_&&(u=finadd(u,scale(scale(4,K,-h,tc),tc,_,nc),nc))}if(0!==b){const c=scale(y,W,b,oc);u=finadd(u,sum(scale(w,V,b,nc),nc,scale(c,oc,2*kc,ac),ac,ic),ic);const s=scale(j,Z,b,tc);u=finadd(u,sum_three(scale(s,tc,2*kc,nc),nc,scale(s,tc,b,ec),ec,scale(c,oc,b,ac),ac,lc,rc),rc)}}return fc[u-1]}function incircle(c,s,t,n,e,o,a,l){const i=c-a;const r=t-a;const f=e-a;const u=s-l;const d=n-l;const v=o-l;const h=r*v;const m=f*d;const _=i*i+u*u;const b=f*u;const M=i*v;const p=r*r+d*d;const $=i*d;const x=r*u;const g=f*f+v*v;const w=_*(h-m)+p*(b-M)+g*($-x);const y=(Math.abs(h)+Math.abs(m))*_+(Math.abs(b)+Math.abs(M))*p+(Math.abs($)+Math.abs(x))*g;const A=D*y;return w>A||-w>A?w:incircleadapt(c,s,t,n,e,o,a,l,y)}function incirclefast(c,s,t,n,e,o,a,l){const i=c-a;const r=s-l;const f=t-a;const u=n-l;const d=e-a;const v=o-l;const h=i*u-f*r;const m=f*v-d*u;const _=d*r-i*v;const b=i*i+r*r;const M=f*f+u*u;const p=d*d+v*v;return b*m+M*_+p*h}const dc=(16+224*c)*c;const vc=(5+72*c)*c;const hc=(71+1408*c)*c*c;const mc=vec(4);const _c=vec(4);const bc=vec(4);const Mc=vec(4);const pc=vec(4);const $c=vec(4);const xc=vec(4);const gc=vec(4);const wc=vec(4);const yc=vec(4);const Ac=vec(24);const Fc=vec(24);const jc=vec(24);const kc=vec(24);const qc=vec(24);const zc=vec(24);const Bc=vec(24);const Cc=vec(24);const Dc=vec(24);const Ec=vec(24);const Gc=vec(1152);const Hc=vec(1152);const Ic=vec(1152);const Jc=vec(1152);const Kc=vec(1152);const Lc=vec(2304);const Nc=vec(2304);const Oc=vec(3456);const Pc=vec(5760);const Qc=vec(8);const Rc=vec(8);const Sc=vec(8);const Tc=vec(16);const Uc=vec(24);const Vc=vec(48);const Wc=vec(48);const Xc=vec(96);const Yc=vec(192);const Zc=vec(384);const cs=vec(384);const ss=vec(384);const ts=vec(768);function sum_three_scale(c,s,t,n,e,o,a){return sum_three(scale(4,c,n,Qc),Qc,scale(4,s,e,Rc),Rc,scale(4,t,o,Sc),Sc,Tc,a)}function liftexact(c,s,t,n,e,o,a,l,i,r,f,u){const d=sum(sum(c,s,t,n,Vc),Vc,negate(sum(e,o,a,l,Wc),Wc),Wc,Xc);return sum_three(scale(scale(d,Xc,i,Yc),Yc,i,Zc),Zc,scale(scale(d,Xc,r,Yc),Yc,r,cs),cs,scale(scale(d,Xc,f,Yc),Yc,f,ss),ss,ts,u)}function insphereexact(c,t,n,e,o,a,l,i,r,f,u,d,v,h,m){let _,b,M,p,$,x,g,w,y,A,F,j,k,q;A=c*o;b=s*c;M=b-(b-c);p=c-M;b=s*o;$=b-(b-o);x=o-$;F=p*x-(A-M*$-p*$-M*x);j=e*t;b=s*e;M=b-(b-e);p=e-M;b=s*t;$=b-(b-t);x=t-$;k=p*x-(j-M*$-p*$-M*x);g=F-k;_=F-g;mc[0]=F-(g+_)+(_-k);w=A+g;_=w-A;y=A-(w-_)+(g-_);g=y-j;_=y-g;mc[1]=y-(g+_)+(_-j);q=w+g;_=q-w;mc[2]=w-(q-_)+(g-_);mc[3]=q;A=e*i;b=s*e;M=b-(b-e);p=e-M;b=s*i;$=b-(b-i);x=i-$;F=p*x-(A-M*$-p*$-M*x);j=l*o;b=s*l;M=b-(b-l);p=l-M;b=s*o;$=b-(b-o);x=o-$;k=p*x-(j-M*$-p*$-M*x);g=F-k;_=F-g;_c[0]=F-(g+_)+(_-k);w=A+g;_=w-A;y=A-(w-_)+(g-_);g=y-j;_=y-g;_c[1]=y-(g+_)+(_-j);q=w+g;_=q-w;_c[2]=w-(q-_)+(g-_);_c[3]=q;A=l*u;b=s*l;M=b-(b-l);p=l-M;b=s*u;$=b-(b-u);x=u-$;F=p*x-(A-M*$-p*$-M*x);j=f*i;b=s*f;M=b-(b-f);p=f-M;b=s*i;$=b-(b-i);x=i-$;k=p*x-(j-M*$-p*$-M*x);g=F-k;_=F-g;bc[0]=F-(g+_)+(_-k);w=A+g;_=w-A;y=A-(w-_)+(g-_);g=y-j;_=y-g;bc[1]=y-(g+_)+(_-j);q=w+g;_=q-w;bc[2]=w-(q-_)+(g-_);bc[3]=q;A=f*h;b=s*f;M=b-(b-f);p=f-M;b=s*h;$=b-(b-h);x=h-$;F=p*x-(A-M*$-p*$-M*x);j=v*u;b=s*v;M=b-(b-v);p=v-M;b=s*u;$=b-(b-u);x=u-$;k=p*x-(j-M*$-p*$-M*x);g=F-k;_=F-g;Mc[0]=F-(g+_)+(_-k);w=A+g;_=w-A;y=A-(w-_)+(g-_);g=y-j;_=y-g;Mc[1]=y-(g+_)+(_-j);q=w+g;_=q-w;Mc[2]=w-(q-_)+(g-_);Mc[3]=q;A=v*t;b=s*v;M=b-(b-v);p=v-M;b=s*t;$=b-(b-t);x=t-$;F=p*x-(A-M*$-p*$-M*x);j=c*h;b=s*c;M=b-(b-c);p=c-M;b=s*h;$=b-(b-h);x=h-$;k=p*x-(j-M*$-p*$-M*x);g=F-k;_=F-g;pc[0]=F-(g+_)+(_-k);w=A+g;_=w-A;y=A-(w-_)+(g-_);g=y-j;_=y-g;pc[1]=y-(g+_)+(_-j);q=w+g;_=q-w;pc[2]=w-(q-_)+(g-_);pc[3]=q;A=c*i;b=s*c;M=b-(b-c);p=c-M;b=s*i;$=b-(b-i);x=i-$;F=p*x-(A-M*$-p*$-M*x);j=l*t;b=s*l;M=b-(b-l);p=l-M;b=s*t;$=b-(b-t);x=t-$;k=p*x-(j-M*$-p*$-M*x);g=F-k;_=F-g;$c[0]=F-(g+_)+(_-k);w=A+g;_=w-A;y=A-(w-_)+(g-_);g=y-j;_=y-g;$c[1]=y-(g+_)+(_-j);q=w+g;_=q-w;$c[2]=w-(q-_)+(g-_);$c[3]=q;A=e*u;b=s*e;M=b-(b-e);p=e-M;b=s*u;$=b-(b-u);x=u-$;F=p*x-(A-M*$-p*$-M*x);j=f*o;b=s*f;M=b-(b-f);p=f-M;b=s*o;$=b-(b-o);x=o-$;k=p*x-(j-M*$-p*$-M*x);g=F-k;_=F-g;xc[0]=F-(g+_)+(_-k);w=A+g;_=w-A;y=A-(w-_)+(g-_);g=y-j;_=y-g;xc[1]=y-(g+_)+(_-j);q=w+g;_=q-w;xc[2]=w-(q-_)+(g-_);xc[3]=q;A=l*h;b=s*l;M=b-(b-l);p=l-M;b=s*h;$=b-(b-h);x=h-$;F=p*x-(A-M*$-p*$-M*x);j=v*i;b=s*v;M=b-(b-v);p=v-M;b=s*i;$=b-(b-i);x=i-$;k=p*x-(j-M*$-p*$-M*x);g=F-k;_=F-g;gc[0]=F-(g+_)+(_-k);w=A+g;_=w-A;y=A-(w-_)+(g-_);g=y-j;_=y-g;gc[1]=y-(g+_)+(_-j);q=w+g;_=q-w;gc[2]=w-(q-_)+(g-_);gc[3]=q;A=f*t;b=s*f;M=b-(b-f);p=f-M;b=s*t;$=b-(b-t);x=t-$;F=p*x-(A-M*$-p*$-M*x);j=c*u;b=s*c;M=b-(b-c);p=c-M;b=s*u;$=b-(b-u);x=u-$;k=p*x-(j-M*$-p*$-M*x);g=F-k;_=F-g;wc[0]=F-(g+_)+(_-k);w=A+g;_=w-A;y=A-(w-_)+(g-_);g=y-j;_=y-g;wc[1]=y-(g+_)+(_-j);q=w+g;_=q-w;wc[2]=w-(q-_)+(g-_);wc[3]=q;A=v*o;b=s*v;M=b-(b-v);p=v-M;b=s*o;$=b-(b-o);x=o-$;F=p*x-(A-M*$-p*$-M*x);j=e*h;b=s*e;M=b-(b-e);p=e-M;b=s*h;$=b-(b-h);x=h-$;k=p*x-(j-M*$-p*$-M*x);g=F-k;_=F-g;yc[0]=F-(g+_)+(_-k);w=A+g;_=w-A;y=A-(w-_)+(g-_);g=y-j;_=y-g;yc[1]=y-(g+_)+(_-j);q=w+g;_=q-w;yc[2]=w-(q-_)+(g-_);yc[3]=q;const z=sum_three_scale(mc,_c,$c,r,n,-a,Ac);const B=sum_three_scale(_c,bc,xc,d,a,-r,Fc);const C=sum_three_scale(bc,Mc,gc,m,r,-d,jc);const D=sum_three_scale(Mc,pc,wc,n,d,-m,kc);const E=sum_three_scale(pc,mc,yc,a,m,-n,qc);const G=sum_three_scale(mc,xc,wc,d,n,a,zc);const H=sum_three_scale(_c,gc,yc,m,a,r,Bc);const I=sum_three_scale(bc,wc,$c,n,r,d,Cc);const J=sum_three_scale(Mc,yc,xc,a,d,m,Dc);const K=sum_three_scale(pc,$c,gc,r,m,n,Ec);const L=sum_three(liftexact(C,jc,H,Bc,J,Dc,B,Fc,c,t,n,Gc),Gc,liftexact(D,kc,I,Cc,K,Ec,C,jc,e,o,a,Hc),Hc,sum_three(liftexact(E,qc,J,Dc,G,zc,D,kc,l,i,r,Ic),Ic,liftexact(z,Ac,K,Ec,H,Bc,E,qc,f,u,d,Jc),Jc,liftexact(B,Fc,G,zc,I,Cc,z,Ac,v,h,m,Kc),Kc,Nc,Oc),Oc,Lc,Pc);return Pc[L-1]}const ns=vec(96);const es=vec(96);const os=vec(96);const as=vec(1152);function liftadapt(c,s,t,n,e,o,a,l,i,r){const f=sum_three_scale(c,s,t,n,e,o,Uc);return sum_three(scale(scale(f,Uc,a,Vc),Vc,a,ns),ns,scale(scale(f,Uc,l,Vc),Vc,l,es),es,scale(scale(f,Uc,i,Vc),Vc,i,os),os,Yc,r)}function insphereadapt(c,n,e,o,a,l,i,r,f,u,d,v,h,m,_,b){let M,p,$,x,g,w;let y,A,F,j;let k,q,z,B;let C,D,E,G;let H,I,J,K,L,N,O,P,Q,R,S,T,U;const V=c-h;const W=o-h;const X=i-h;const Y=u-h;const Z=n-m;const cc=a-m;const sc=r-m;const tc=d-m;const nc=e-_;const ec=l-_;const oc=f-_;const ac=v-_;R=V*cc;I=s*V;J=I-(I-V);K=V-J;I=s*cc;L=I-(I-cc);N=cc-L;S=K*N-(R-J*L-K*L-J*N);T=W*Z;I=s*W;J=I-(I-W);K=W-J;I=s*Z;L=I-(I-Z);N=Z-L;U=K*N-(T-J*L-K*L-J*N);O=S-U;H=S-O;mc[0]=S-(O+H)+(H-U);P=R+O;H=P-R;Q=R-(P-H)+(O-H);O=Q-T;H=Q-O;mc[1]=Q-(O+H)+(H-T);M=P+O;H=M-P;mc[2]=P-(M-H)+(O-H);mc[3]=M;R=W*sc;I=s*W;J=I-(I-W);K=W-J;I=s*sc;L=I-(I-sc);N=sc-L;S=K*N-(R-J*L-K*L-J*N);T=X*cc;I=s*X;J=I-(I-X);K=X-J;I=s*cc;L=I-(I-cc);N=cc-L;U=K*N-(T-J*L-K*L-J*N);O=S-U;H=S-O;_c[0]=S-(O+H)+(H-U);P=R+O;H=P-R;Q=R-(P-H)+(O-H);O=Q-T;H=Q-O;_c[1]=Q-(O+H)+(H-T);p=P+O;H=p-P;_c[2]=P-(p-H)+(O-H);_c[3]=p;R=X*tc;I=s*X;J=I-(I-X);K=X-J;I=s*tc;L=I-(I-tc);N=tc-L;S=K*N-(R-J*L-K*L-J*N);T=Y*sc;I=s*Y;J=I-(I-Y);K=Y-J;I=s*sc;L=I-(I-sc);N=sc-L;U=K*N-(T-J*L-K*L-J*N);O=S-U;H=S-O;bc[0]=S-(O+H)+(H-U);P=R+O;H=P-R;Q=R-(P-H)+(O-H);O=Q-T;H=Q-O;bc[1]=Q-(O+H)+(H-T);$=P+O;H=$-P;bc[2]=P-($-H)+(O-H);bc[3]=$;R=Y*Z;I=s*Y;J=I-(I-Y);K=Y-J;I=s*Z;L=I-(I-Z);N=Z-L;S=K*N-(R-J*L-K*L-J*N);T=V*tc;I=s*V;J=I-(I-V);K=V-J;I=s*tc;L=I-(I-tc);N=tc-L;U=K*N-(T-J*L-K*L-J*N);O=S-U;H=S-O;wc[0]=S-(O+H)+(H-U);P=R+O;H=P-R;Q=R-(P-H)+(O-H);O=Q-T;H=Q-O;wc[1]=Q-(O+H)+(H-T);x=P+O;H=x-P;wc[2]=P-(x-H)+(O-H);wc[3]=x;R=V*sc;I=s*V;J=I-(I-V);K=V-J;I=s*sc;L=I-(I-sc);N=sc-L;S=K*N-(R-J*L-K*L-J*N);T=X*Z;I=s*X;J=I-(I-X);K=X-J;I=s*Z;L=I-(I-Z);N=Z-L;U=K*N-(T-J*L-K*L-J*N);O=S-U;H=S-O;$c[0]=S-(O+H)+(H-U);P=R+O;H=P-R;Q=R-(P-H)+(O-H);O=Q-T;H=Q-O;$c[1]=Q-(O+H)+(H-T);g=P+O;H=g-P;$c[2]=P-(g-H)+(O-H);$c[3]=g;R=W*tc;I=s*W;J=I-(I-W);K=W-J;I=s*tc;L=I-(I-tc);N=tc-L;S=K*N-(R-J*L-K*L-J*N);T=Y*cc;I=s*Y;J=I-(I-Y);K=Y-J;I=s*cc;L=I-(I-cc);N=cc-L;U=K*N-(T-J*L-K*L-J*N);O=S-U;H=S-O;xc[0]=S-(O+H)+(H-U);P=R+O;H=P-R;Q=R-(P-H)+(O-H);O=Q-T;H=Q-O;xc[1]=Q-(O+H)+(H-T);w=P+O;H=w-P;xc[2]=P-(w-H)+(O-H);xc[3]=w;const lc=sum(sum(negate(liftadapt(_c,bc,xc,ac,ec,-oc,V,Z,nc,Gc),Gc),Gc,liftadapt(bc,wc,$c,nc,oc,ac,W,cc,ec,Hc),Hc,Lc),Lc,sum(negate(liftadapt(wc,mc,xc,ec,ac,nc,X,sc,oc,Ic),Ic),Ic,liftadapt(mc,_c,$c,oc,nc,-ec,Y,tc,ac,Jc),Jc,Nc),Nc,as);let ic=estimate(lc,as);let rc=vc*b;if(ic>=rc||-ic>=rc)return ic;H=c-V;y=c-(V+H)+(H-h);H=n-Z;k=n-(Z+H)+(H-m);H=e-nc;C=e-(nc+H)+(H-_);H=o-W;A=o-(W+H)+(H-h);H=a-cc;q=a-(cc+H)+(H-m);H=l-ec;D=l-(ec+H)+(H-_);H=i-X;F=i-(X+H)+(H-h);H=r-sc;z=r-(sc+H)+(H-m);H=f-oc;E=f-(oc+H)+(H-_);H=u-Y;j=u-(Y+H)+(H-h);H=d-tc;B=d-(tc+H)+(H-m);H=v-ac;G=v-(ac+H)+(H-_);if(0===y&&0===k&&0===C&&0===A&&0===q&&0===D&&0===F&&0===z&&0===E&&0===j&&0===B&&0===G)return ic;rc=hc*b+t*Math.abs(ic);const fc=V*q+cc*y-(Z*A+W*k);const uc=W*z+sc*A-(cc*F+X*q);const dc=X*B+tc*F-(sc*j+Y*z);const Mc=Y*k+Z*j-(tc*y+V*B);const pc=V*z+sc*y-(Z*F+X*k);const gc=W*B+tc*A-(cc*j+Y*q);ic+=(W*W+cc*cc+ec*ec)*(oc*Mc+ac*pc+nc*dc+(E*x+G*g+C*$))+(Y*Y+tc*tc+ac*ac)*(nc*uc-ec*pc+oc*fc+(C*p-D*g+E*M))-((V*V+Z*Z+nc*nc)*(ec*dc-oc*gc+ac*uc+(D*$-E*w+G*p))+(X*X+sc*sc+oc*oc)*(ac*fc+nc*gc+ec*Mc+(G*M+C*w+D*x)))+2*((W*A+cc*q+ec*D)*(oc*x+ac*g+nc*$)+(Y*j+tc*B+ac*G)*(nc*p-ec*g+oc*M)-((V*y+Z*k+nc*C)*(ec*$-oc*w+ac*p)+(X*F+sc*z+oc*E)*(ac*M+nc*w+ec*x)));return ic>=rc||-ic>=rc?ic:insphereexact(c,n,e,o,a,l,i,r,f,u,d,v,h,m,_)}function insphere(c,s,t,n,e,o,a,l,i,r,f,u,d,v,h){const m=c-d;const _=n-d;const b=a-d;const M=r-d;const p=s-v;const $=e-v;const x=l-v;const g=f-v;const w=t-h;const y=o-h;const A=i-h;const F=u-h;const j=m*$;const k=_*p;const q=j-k;const z=_*x;const B=b*$;const C=z-B;const D=b*g;const E=M*x;const G=D-E;const H=M*p;const I=m*g;const J=H-I;const K=m*x;const L=b*p;const N=K-L;const O=_*g;const P=M*$;const Q=O-P;const R=m*m+p*p+w*w;const S=_*_+$*$+y*y;const T=b*b+x*x+A*A;const U=M*M+g*g+F*F;const V=T*(F*q+w*Q+y*J)-U*(w*C-y*N+A*q)+(R*(y*G-A*Q+F*C)-S*(A*J+F*N+w*G));const W=Math.abs(w);const X=Math.abs(y);const Y=Math.abs(A);const Z=Math.abs(F);const cc=Math.abs(j)+Math.abs(k);const sc=Math.abs(z)+Math.abs(B);const tc=Math.abs(D)+Math.abs(E);const nc=Math.abs(H)+Math.abs(I);const ec=Math.abs(K)+Math.abs(L);const oc=Math.abs(O)+Math.abs(P);const ac=(tc*X+oc*Y+sc*Z)*R+(nc*Y+ec*Z+tc*W)*S+(cc*Z+oc*W+nc*X)*T+(sc*W+ec*X+cc*Y)*U;const lc=dc*ac;return V>lc||-V>lc?V:-insphereadapt(c,s,t,n,e,o,a,l,i,r,f,u,d,v,h,ac)}function inspherefast(c,s,t,n,e,o,a,l,i,r,f,u,d,v,h){const m=c-d;const _=n-d;const b=a-d;const M=r-d;const p=s-v;const $=e-v;const x=l-v;const g=f-v;const w=t-h;const y=o-h;const A=i-h;const F=u-h;const j=m*$-_*p;const k=_*x-b*$;const q=b*g-M*x;const z=M*p-m*g;const B=m*x-b*p;const C=_*g-M*$;const D=w*k-y*B+A*j;const E=y*q-A*C+F*k;const G=A*z+F*B+w*q;const H=F*j+w*C+y*z;const I=m*m+p*p+w*w;const J=_*_+$*$+y*y;const K=b*b+x*x+A*A;const L=M*M+g*g+F*F;return K*H-L*D+(I*E-J*G)}export{incircle,incirclefast,insphere,inspherefast,orient2d,orient2dfast,orient3d,orient3dfast};
|
|
|