flo-mat 3.0.3 → 3.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/browser/index.js +30087 -0
- package/browser/index.min.js +1 -1
- package/d.bat +4 -0
- package/newdocs/d.bat +4 -0
- package/node/cp-node/fs/traverse-edges.d.ts +1 -3
- package/node/cp-node/fs/traverse-edges.js +1 -34
- package/node/cp-node/fs/traverse-edges.js.map +1 -1
- package/node/debug/functions/draw-elem/draw-mat.js +2 -5
- package/node/debug/functions/draw-elem/draw-mat.js.map +1 -1
- package/package.json +19 -20
- package/src/cp-node/fs/traverse-edges.ts +1 -50
- package/src/debug/functions/draw-elem/draw-mat.ts +5 -12
- package/tsconfig.json +5 -4
- package/webpack.config.cjs +83 -63
- package/node/utils/sleep.d.ts +0 -2
- package/node/utils/sleep.js +0 -5
- package/node/utils/sleep.js.map +0 -1
package/browser/index.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var t={};function n(t=[],n){const r=[],o={beziers:t,curves:r,idx:n};if(0===t.length)return o;let i,c=0;for(let n=0;n<t.length;n++){if(e(t[n]))continue;const s={loop:o,ps:t[n],prev:i,next:void 0,idx:c};i&&(i.next=s),i=s,r.push(s),c++}const s=r[r.length-1];return r[0].prev=s,s.next=r[0],s.ps[s.ps.length-1]=r[0].ps[0],o}function e(t){return 2===t.length?t[0][0]===t[1][0]&&t[0][1]===t[1][1]:3===t.length?t[0][0]===t[1][0]&&t[0][1]===t[1][1]&&t[1][1]===t[2][1]&&t[1][1]===t[2][1]:t[0][0]===t[1][0]&&t[0][1]===t[1][1]&&t[1][1]===t[2][1]&&t[1][1]===t[2][1]&&t[2][1]===t[3][1]&&t[2][1]===t[3][1]}function r(t){let n="";for(let e=0;e<t.length;e++){const r=t[e];0===e&&(n="M "+r[0][0].toString()+" "+r[0][1].toString()+"\n"),4===r.length?n+="C "+r[1][0].toString()+" "+r[1][1].toString()+" "+r[2][0].toString()+" "+r[2][1].toString()+" "+r[3][0].toString()+" "+r[3][1].toString()+" \n":3===r.length?n+="Q "+r[1][0].toString()+" "+r[1][1].toString()+" "+r[2][0].toString()+" "+r[2][1].toString()+" \n":2===r.length&&(n+="L "+r[1][0].toString()+" "+r[1][1].toString()+" \n")}return n+" z\n"}t.d=(n,e)=>{for(var r in e)t.o(e,r)&&!t.o(n,r)&&Object.defineProperty(n,r,{enumerable:!0,get:e[r]})},t.o=(t,n)=>Object.prototype.hasOwnProperty.call(t,n);class o{initialPoint=void 0;p;vals=void 0;prev2ndCubicControlPoint=void 0;prev2ndQuadraticControlPoint=void 0;constructor(){this.p=[0,0]}}function i(t){const n=[t.p,t.initialPoint];return t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=void 0,n}function c(t){t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=void 0;const n=(e=t.p,t.vals[0],t.vals[1],t.vals[2],t.vals[3],t.vals[4],[[e,[t.vals[5],t.vals[6]]]]);var e;const r=n[n.length-1];return t.p=r[r.length-1],n}const s={c:function(t){const n=[t.p,[t.vals[0],t.vals[1]],[t.vals[2],t.vals[3]],[t.vals[4],t.vals[5]]];return t.prev2ndCubicControlPoint=n[2],t.prev2ndQuadraticControlPoint=void 0,n},h:function(t){const n=[t.p,[t.vals[0],t.p[1]]];return t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=void 0,n},l:function(t){const n=[t.p,t.vals];return t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=void 0,n},q:function(t){const n=[t.vals[0],t.vals[1]],e=[t.vals[2],t.vals[3]];return t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=n,[t.p,n,e]},s:function(t){const n=t.prev2ndCubicControlPoint?[t.p[0]-t.prev2ndCubicControlPoint[0]+t.p[0],t.p[1]-t.prev2ndCubicControlPoint[1]+t.p[1]]:t.p,e=[t.p,n,[t.vals[0],t.vals[1]],[t.vals[2],t.vals[3]]];return t.prev2ndCubicControlPoint=e[2],t.prev2ndQuadraticControlPoint=void 0,e},t:function(t){const n=t.prev2ndQuadraticControlPoint?[t.p[0]-t.prev2ndQuadraticControlPoint[0]+t.p[0],t.p[1]-t.prev2ndQuadraticControlPoint[1]+t.p[1]]:t.p,e=[t.vals[0],t.vals[1]];return t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=n,[t.p,n,e]},v:function(t){const n=[t.p,[t.p[0],t.vals[0]]];return t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=void 0,n},z:i};function u(t){let n=0,e=0,r=1,o=0,i=1,c=1;const s=t._currentIndex;if(t._skipOptionalSpaces(),t._currentIndex<t._endIndex&&"+"===t._string[t._currentIndex]?t._currentIndex+=1:t._currentIndex<t._endIndex&&"-"===t._string[t._currentIndex]&&(t._currentIndex+=1,i=-1),t._currentIndex===t._endIndex||(t._string[t._currentIndex]<"0"||t._string[t._currentIndex]>"9")&&"."!==t._string[t._currentIndex])throw new Error("The first character of a number must be one of [0-9+-.].");const u=t._currentIndex;for(;t._currentIndex<t._endIndex&&t._string[t._currentIndex]>="0"&&t._string[t._currentIndex]<="9";)t._currentIndex+=1;if(t._currentIndex!==u){let n=t._currentIndex-1,r=1;for(;n>=u;)e+=r*(Number(t._string[n])-0),n-=1,r*=10}if(t._currentIndex<t._endIndex&&"."===t._string[t._currentIndex]){if(t._currentIndex+=1,t._currentIndex>=t._endIndex||t._string[t._currentIndex]<"0"||t._string[t._currentIndex]>"9")throw new Error("There must be a least one digit following the .");for(;t._currentIndex<t._endIndex&&t._string[t._currentIndex]>="0"&&t._string[t._currentIndex]<="9";)r*=10,o+=Number(t._string.charAt(t._currentIndex))/r,t._currentIndex+=1}if(t._currentIndex!==s&&t._currentIndex+1<t._endIndex&&("e"===t._string[t._currentIndex]||"E"===t._string[t._currentIndex])&&"x"!==t._string[t._currentIndex+1]&&"m"!==t._string[t._currentIndex+1]){if(t._currentIndex+=1,"+"===t._string[t._currentIndex]?t._currentIndex+=1:"-"===t._string[t._currentIndex]&&(t._currentIndex+=1,c=-1),t._currentIndex>=t._endIndex||t._string[t._currentIndex]<"0"||t._string[t._currentIndex]>"9")throw new Error("There must be an exponent.");for(;t._currentIndex<t._endIndex&&t._string[t._currentIndex]>="0"&&t._string[t._currentIndex]<="9";)n*=10,n+=Number(t._string[t._currentIndex]),t._currentIndex+=1}let f=e+o;if(f*=i,n&&(f*=Math.pow(10,c*n)),s===t._currentIndex)throw new Error("Internal error: startIndex === source._currentIndex");return t._skipOptionalSpacesOrDelimiter(),f}const f={Z:"Z",M:"M",L:"L",C:"C",Q:"Q",A:"A",H:"H",V:"V",S:"S",T:"T",z:"Z",m:"m",l:"l",c:"c",q:"q",a:"a",h:"h",v:"v",s:"s",t:"t"};class l{_string;_currentIndex;_endIndex;_prevCommand;constructor(t){this._string=t,this._currentIndex=0,this._endIndex=this._string.length,this._prevCommand=void 0,this._skipOptionalSpaces()}parseSegment(){const t=this._string[this._currentIndex];let n,e=f[t];if(void 0===e){if(void 0===this._prevCommand)throw new Error("Implicit command not allowed for first commands.");if(!("+"===t||"-"===t||"."===t||t>="0"&&t<="9")||"Z"===this._prevCommand)throw new Error("Remaining coordinates not found for implicit command");e="M"===this._prevCommand?"L":"m"===this._prevCommand?"l":this._prevCommand}else this._currentIndex+=1;this._prevCommand=e;const r=e.toUpperCase();if("H"===r||"V"===r?n=[u(this)]:"M"===r||"L"===r||"T"===r?n=[u(this),u(this)]:"S"===r||"Q"===r?n=[u(this),u(this),u(this),u(this)]:"C"===r?n=[u(this),u(this),u(this),u(this),u(this),u(this)]:"A"===r?n=[u(this),u(this),u(this),this._parseArcFlag(),this._parseArcFlag(),u(this),u(this)]:"Z"===r&&(this._skipOptionalSpaces(),n=[]),void 0===n)throw new Error("Unknown command");return{type:e,values:n}}hasMoreData(){return this._currentIndex<this._endIndex}initialCommandIsMoveTo(){if(!this.hasMoreData())return!0;const t=f[this._string[this._currentIndex]];return"M"===t||"m"===t}_isCurrentSpace(){const t=this._string[this._currentIndex];return t<=" "&&(" "===t||"\n"===t||"\t"===t||"\r"===t||"\f"===t)}_skipOptionalSpaces(){for(;this._currentIndex<this._endIndex&&this._isCurrentSpace();)this._currentIndex+=1;return this._currentIndex<this._endIndex}_skipOptionalSpacesOrDelimiter(){return!(this._currentIndex<this._endIndex&&!this._isCurrentSpace()&&","!==this._string[this._currentIndex])&&(this._skipOptionalSpaces()&&this._currentIndex<this._endIndex&&","===this._string[this._currentIndex]&&(this._currentIndex+=1,this._skipOptionalSpaces()),this._currentIndex<this._endIndex)}_parseArcFlag(){if(this._currentIndex>=this._endIndex)throw new Error("Unable to parse arc flag");let t;const n=this._string[this._currentIndex];if(this._currentIndex+=1,"0"===n)t=0;else{if("1"!==n)throw new Error("Unable to parse arc flag - arc flag must be 0 or 1");t=1}return this._skipOptionalSpacesOrDelimiter(),t}}function a(t){return function(t){if(0===t.length)return[];if("m"!==t[0].type.toLowerCase())throw new Error("Invalid SVG - every new path must start with an M or m.");const n=new o,e=[];let r,u=[];for(let o=0;o<t.length;o++){const f=t[o],l=f.type.toLowerCase();if(n.vals=f.values,f.type===l)if("v"===l)n.vals[0]+=n.p[1];else if("a"===l)n.vals[5]+=n.p[0],n.vals[6]+=n.p[1];else for(let t=0;t<n.vals.length;t++)n.vals[t]+=n.p[t%2];if("m"!==l){if("a"===l)u.push(...c(n));else{const t=s[l];if(!t)throw new Error("Invalid SVG - command not recognized.");const e=t(n);n.p=e[e.length-1],u.push(e)}r=l}else u.length&&("z"!==r&&u.push(i(n)),e.push(u),u=[]),n.initialPoint=n.p=n.vals,r=l}return u.length>0&&("z"!==r&&u.push(i(n)),e.push(u)),e}(function(t){if(!t.length)return[];const n=new l(t),e=[];if(!n.initialCommandIsMoveTo())throw new Error("Path must start with m or M");for(;n.hasMoreData();)e.push(n.parseSegment());return e}(t))}function p(t,n,e="thin10 red nofill",r=0){if(0===n.length)return[];let o=`M${n[0][0][0]} ${n[0][0][1]} `;for(let t=0;t<n.length;t++){const e=n[t];if(e.length<=1)continue;const[,r,i,c]=e;o+=2===e.length?`L ${r[0]} ${r[1]} `:3===e.length?`Q ${r[0]} ${r[1]} ${i[0]} ${i[1]} `:`C ${r[0]} ${r[1]} ${i[0]} ${i[1]} ${c[0]} ${c[1]} `}const i=document.createElementNS("http://www.w3.org/2000/svg","path");return i.setAttributeNS(null,"d",o),i.setAttributeNS(null,"class",e),t.appendChild(i),[i]}function h(t){const n=t.length,e=Array.from(Array(n),()=>new Array(n).fill(0));for(let r=0;r<n;r++)for(let o=0;o<n;o++)e[r][o]=t[r][o];for(let t=0;t<n;t++)for(let r=0;r<n;r++)for(let o=0;o<n;o++)e[r][t]+e[t][o]<e[r][o]&&(e[r][o]=e[r][t]+e[t][o]);return e}function d(t,n){let e=function(t,n){let e;return e=t.curve.idx-n.curve.idx,0!==e||(e=t.t-n.t),e}(t.pointOnShape,n.pointOnShape);return 0!==e?e:(e=t.order-n.order,0!==e?e:t.order2-n.order2)}function v(t){const n=t,e=[n];let r=t.next;for(;r!==n;)e.push(r),r=r.next;return e}const g=134217729;function m(t,n){const e=t*n,r=g*t,o=r-(r-t),i=t-o,c=g*n,s=c-(c-n),u=n-s;return[i*u-(e-o*s-i*s-o*u),e]}function x(t,n){const e=t[0],r=t[1],o=n[0],i=n[1],c=r+i,s=c-r,u=e+o,f=u-e,l=r-(c-s)+(i-s)+u,a=c+l,p=e-(u-f)+(o-f)+(l-(a-c)),h=a+p;return[p-(h-a),h]}function b(t,n){const e=t[0],r=t[1],o=n[0],i=n[1],c=r-i,s=c-r,u=e-o,f=u-e,l=r-(c-s)+(-i-s)+u,a=c+l,p=e-(u-f)+(-o-f)+(l-(a-c)),h=a+p;return[p-(h-a),h]}const I=m,_=x,N=b,{atan2:S}=Math;function E(t,n){const e=t[0],r=t[1],o=n[0],i=n[1],c=N(I(i,e),I(o,r))[1],s=_(I(o,e),I(i,r))[1];return S(c,s)}const w=Math.abs,M=[[0,0],[0,0],[0,0]];function O(t,n,e){return 0===n?1===e?{ps:t,_ps:M}:function(t,n){const e=t[0],r=t[1],o=t[2],i=e[0],c=e[1],s=r[0],u=r[1],f=o[0],l=o[1],a=n*n,p=i-s,h=c-u,d=[[i,c],[-n*p+i,-n*h+c],[a*(p+(f-s))-(2*n*p-i),a*(h+(l-u))-(2*n*h-c)]],v=w(n),g=w(i),m=w(s),x=w(f),b=g+m,I=w(c),_=w(u),N=I+_;return{ps:d,_ps:[[0,0],[v*b+g,v*N+I],[a*(b+(x+m))+(2*v*b+g),a*(N+(w(l)+_))+(2*v*N+I)]]}}(t,e):1===e?function(t,n){const e=t[0],r=t[1],o=t[2],i=e[0],c=e[1],s=r[0],u=r[1],f=o[0],l=o[1],a=n*n,p=i-s,h=f-s,d=c-u,v=l-u,g=[[a*(p+h)-(2*n*p-i),a*(d+v)-(2*n*d-c)],[n*h+s,n*v+u],[f,l]],m=w(n),x=w(i),b=w(s),I=x+b,_=w(f)+b,N=w(c),S=w(u),E=N+S;return{ps:g,_ps:[[a*(I+_)+(2*m*I+x),a*(E+(w(l)+S))+(2*m*E+N)],[m*_+b,0],[0,0]]}}(t,n):function(t,n,e){const r=t[0],o=t[1],i=t[2],c=r[0],s=r[1],u=o[0],f=o[1],l=i[0],a=i[1],p=n*n,h=e*e,d=n*e,v=c-u,g=v+(l-u),m=s-f,x=m+(a-f),b=p*g-(2*n*v-c),I=d*g-(v*(e+n)-c),_=h*g-(2*e*v-c),N=p*x-(2*n*m-s),S=d*x-(m*(e+n)-s),E=h*x-(2*e*m-s),M=w(n),O=w(e),T=w(d),C=w(c),y=w(u),P=C+y,A=P+w(l)+y,B=w(s),z=w(f),F=B+z,Y=F+w(a)+z;return{ps:[[b,N],[I,S],[_,E]],_ps:[[p*A+(2*M*P+C),p*Y+(2*M*F+B)],[T*A+(P*(O+M)+C),T*x+(F*(O+M)+B)],[h*A+(2*O*P+C),h*Y+(2*O*F+B)]]}}(t,n,e)}const T=Math.abs,C=[[0,0],[0,0],[0,0],[0,0]];function y(t,n,e){return 0===n?1===e?{ps:t,_ps:C}:function(t,n){const e=t[0],r=t[1],o=t[2],i=t[3],c=e[0],s=e[1],u=r[0],f=r[1],l=o[0],a=o[1],p=i[0],h=i[1],d=c-n*(c-u),v=u-n*(u-l),g=d-n*(d-v),m=g-n*(g-(v-n*(v-(l-n*(l-p))))),x=s-n*(s-f),b=f-n*(f-a),I=x-n*(x-b),_=I-n*(I-(b-n*(b-(a-n*(a-h))))),N=T(n),S=T(c),E=T(u),w=T(l),M=T(p),O=T(s),C=T(f),y=T(a),P=S+N*(S+E),A=E+N*(E+w),B=P+N*(P+A),z=O+N*(O+C),F=C+N*(C+y),Y=z+N*(z+F);return{ps:[[c,s],[d,x],[g,I],[m,_]],_ps:[[0,0],[P,z],[B,Y],[B+N*(B+(A+N*(A+(w+N*(w+M))))),Y+N*(Y+(F+N*(F+(y+N*(y+T(h))))))]]}}(t,e):1===e?function(t,n){const e=t[0],r=t[1],o=t[2],i=t[3],c=e[0],s=e[1],u=r[0],f=r[1],l=o[0],a=o[1],p=i[0],h=i[1],d=c-n*(c-u),v=u-n*(u-l),g=l-n*(l-p),m=d-n*(d-v),x=v-n*(v-g),b=m-n*(m-x),I=s-n*(s-f),_=f-n*(f-a),N=a-n*(a-h),S=I-n*(I-_),E=_-n*(_-N),w=S-n*(S-E),M=T(n),O=T(c),C=T(u),y=T(l),P=T(p),A=T(s),B=T(f),z=T(a),F=O+M*(O+C),Y=C+M*(C+y),V=y+M*(y+P),L=F+M*(F+Y),k=Y+M*(Y+V),$=A+M*(A+B),X=B+M*(B+z),q=z+M*(z+T(h)),H=$+M*($+X),D=X+M*(X+q);return{ps:[[b,w],[x,E],[g,N],[p,h]],_ps:[[L+M*(L+k),H+M*(H+D)],[k,D],[V,q],[0,0]]}}(t,n):function(t,n,e){const r=t[0],o=t[1],i=t[2],c=t[3],s=r[0],u=r[1],f=o[0],l=o[1],a=i[0],p=i[1],h=n*n,d=n*h,v=e*e,g=e*v,m=n*e,x=s-f,b=a-f,I=c[0]-s,_=x+b,N=n*x,S=e*x,E=I-3*b,w=u-l,M=p-l,O=c[1]-u,C=w+M,y=n*w,P=e*w,A=O-3*M,B=d*E+(3*n*(n*_-x)+s),z=m*(n*E+2*_)+(h*_+s-(S+2*N)),F=m*(e*E+2*_)+(v*_+s-(2*S+N)),Y=g*E+(3*e*(e*_-x)+s),V=d*A+(3*n*(n*C-w)+u),L=m*(n*A+2*C)+(h*C+u-(P+2*y)),k=m*(e*A+2*C)+(v*C+u-(2*P+y)),$=g*A+(3*e*(e*C-w)+u),X=T(n),q=T(e),H=T(m),D=T(d),Q=T(g),G=T(s),R=T(f),U=G+R,j=T(a)+R,Z=U+j,W=X*U,J=q*U,K=T(I)+3*j,tt=T(u),nt=T(l),et=tt+nt,rt=T(p)+nt,ot=et+rt,it=X*et,ct=q*et,st=T(O)+3*rt;return{ps:[[B,V],[z,L],[F,k],[Y,$]],_ps:[[D*K+(3*X*(X*Z+U)+G),D*st+(3*X*(X*ot+et)+tt)],[H*(X*K+2*Z)+(h*Z+G+(J+2*W)),H*(X*st+2*ot)+(h*ot+tt+(ct+2*it))],[H*(q*K+2*Z)+(v*Z+G+(2*J+W)),H*(q*st+2*ot)+(v*ot+tt+(2*ct+it))],[Q*K+(3*q*(q*Z+U)+G),Q*st+(3*q*(q*ot+et)+tt)]]}}(t,n,e)}function P(t,n){const e=t-n,r=t-e;return[t-(e+r)+(r-n),e]}function A(t,n){const e=t+n,r=e-t;return[t-(e-r)+(n-r),e]}function B(t,n){const e=t.length,r=n.length;let o=0,i=0;const c=[];for(;o<e&&i<r;)0!==t[o]?0!==n[i]?Math.abs(t[o])<=Math.abs(n[i])?(c.push(t[o]),o++):(c.push(n[i]),i++):i++:o++;for(;o<e;)c.push(t[o]),o++;for(;i<r;)c.push(n[i]),i++;if(0===c.length)return[0];const s=c.length;if(1===s)return c;const u=[],f=c[1],l=c[0];let a=f+l;const p=l-(a-f);0!==p&&u.push(p),i=0;for(let t=2;t<s;t++){const n=c[t],e=a+n,r=e-a,o=a-(e-r)+(n-r);0!==o&&u.push(o),a=e}return 0===a&&0!==u.length||u.push(a),u}function z(t){const n=t.length,e=new Array(n);for(let r=0;r<n;r++)e[r]=-t[r];return e}const F=z,Y=B;function V(t,n){const e=F(n);return Y(t,e)}const L=134217729;function k(t,n){const e=t.length;let r;const o=t[0];let i=o*n;const c=L*o,s=c-(c-o),u=o-s,f=L*n,l=f-(f-n),a=n-l,p=[],h=u*a-(i-s*l-u*l-s*a);0!==h&&p.push(h);for(let o=1;o<e;o++){const e=t[o],c=e*n,s=L*e,u=s-(s-e),f=e-u,l=L*n,a=l-(l-n),h=n-a,d=f*h-(c-u*a-f*a-u*h),v=i+d,g=v-i,m=i-(v-g)+(d-g);0!==m&&p.push(m),r=v;const x=c+r,b=r-(x-c);0!==b&&p.push(b),i=x}return 0===i&&0!==p.length||p.push(i),p}function $(t,n){const e=n.length;let r;const o=n[0];let i=o*t;const c=L*o,s=c-(c-o),u=o-s,f=L*t,l=f-(f-t),a=t-l,p=[],h=u*a-(i-s*l-u*l-s*a);0!==h&&p.push(h);for(let o=1;o<e;o++){const e=n[o],c=e*t,s=L*e,u=s-(s-e),f=e-u,l=L*t,a=l-(l-t),h=t-a,d=f*h-(c-u*a-f*a-u*h),v=i+d,g=v-i,m=i-(v-g)+(d-g);0!==m&&p.push(m),r=v;const x=c+r,b=r-(x-c);0!==b&&p.push(b),i=x}return 0===i&&0!==p.length||p.push(i),p}const X=k,q=B;function H(t,n){let e=[0];for(let r=0;r<t.length;r++)e=q(e,X(n,t[r]));return e}function D(t,n){const e=t.length;let r=n;const o=[];for(let n=0;n<e;n++){const e=t[n],i=r+e,c=i-r,s=r-(i-c)+(e-c);0!==s&&o.push(s),r=i}return 0===r&&0!==o.length||o.push(r),o}function Q(t){return t[t.length-1]}function G(t,n){return Q(V(t,n))}const R=Number.EPSILON/2,U=R*R;function j(t){const n=t*R;return n/(1-n)}function Z(t){const n=t*U;return n/(1-n)}function W(t){const n=t[0][0],e=t[0][1];for(let r=1;r<t.length;r++)if(n!==t[r][0]||e!==t[r][1])return!1;return!0}function J(t,n){const e=t+n,r=e-t;return[t-(e-r)+(n-r),e]}j(1),Z(3);const K=V,tt=Q,nt=J,{abs:et}=Math;function rt(t){const[[n,e],[r,o],[i,c]]=t,s=n+i,u=s-2*r,f=et(s)+et(u);if(et(u)-f>0)return!1;const l=e+c,a=l-2*o,p=et(l)+et(a);return!(et(a)-p>0)&&0===tt(K(nt(n,i),[2*r]))&&0===tt(K(nt(e,c),[2*o]))}const ot=134217729;function it(t,n){const e=t*n,r=ot*t,o=r-(r-t),i=t-o,c=ot*n,s=c-(c-n),u=n-s;return[i*u-(e-o*s-i*s-o*u),e]}const ct=it,st=B,ut=Q,ft=V,lt=Number.EPSILON/2,at=Math.abs;function pt(t){const[[n,e],[r,o],[i,c],[s,u]]=t,f=s+3*r,l=n+3*i,a=f-l,p=at(3*r)+at(f)+(at(3*i)+at(l))+at(a);if(at(a)-lt*p>0)return!1;const h=u+3*o,d=e+3*c,v=h-d,g=at(3*o)+at(h)+(at(3*c)+at(d))+at(v);return!(at(v)-lt*g>0)&&0===ut(ft(st([s],ct(3,r)),st([n],ct(3,i))))&&0===ut(ft(st([u],ct(3,o)),st([e],ct(3,c))))}function ht(t){let n=t[0];for(let e=1;e<t.length;e++)n+=t[e];return n}function dt(t,n){const e=t-n,r=t-e;return[t-(e+r)+(r-n),e]}function vt(t){const n=t.slice(),e=n.length;if(1===e)return n;let r=n[e-1],o=e;for(let t=e-2;t>=0;--t){const e=r,i=n[t];r=e+i;const c=i-(r-e);c&&(n[--o]=r,r=c)}let i=0;for(let t=o;t<e;++t){const e=n[t],o=r;r=e+o;const c=o-(r-e);c&&(n[i++]=c)}return n[i++]=r,n.length=i,n}function gt(t,n,e){const r=(t[0]-e[0])*(n[1]-e[1]),o=(t[1]-e[1])*(n[0]-e[0]),i=r-o;let c;if(r>0){if(o<=0)return i;c=r+o}else{if(!(r<0))return i;if(o>=0)return i;c=-r-o}return Math.abs(i)>=3330669073875472e-31*c?i:function(t,n,e,r){const o=t[0]-e[0],i=n[0]-e[0],c=t[1]-e[1],s=n[1]-e[1],u=V(it(o,s),it(c,i));let f=ht(u);if(Math.abs(f)>=2220446049250315e-31*r)return f;const l=dt(t[0],e[0])[0],a=dt(n[0],e[0])[0],p=dt(t[1],e[1])[0],h=dt(n[1],e[1])[0];if(0===l&&0===p&&0===a&&0===h)return f;const d=1109335647967049e-46*r+3330669073875471e-31*Math.abs(f);if(f+=o*h+s*l-(c*a+i*p),Math.abs(f)>=d)return f;const v=B(u,V(it(l,s),it(p,i))),g=B(v,V(it(o,h),it(c,a)));let m=B(g,V(it(l,h),it(p,a)));return m=vt(m),m[m.length-1]}(t,n,e,c)}const mt=gt;function xt(t){if(4===t.length)return 0===mt(t[0],t[1],t[2])&&0===mt(t[1],t[2],t[3])&&0===mt(t[0],t[2],t[3]);if(3===t.length)return 0===mt(t[0],t[1],t[2]);if(t.length<=2)return!0;throw new Error("The given bezier curve must be of order <= 3.")}const bt=k,It=V,_t=J,Nt=Q,St=Math.abs;const Et=Math.abs,wt=j(1);function Mt(t){const{coeffs:[[n,e,r],[o,i,c]],errorBound:[[s,u],[f,l]]}=function(t){const[[n,e],[r,o],[i,c],[s,u]]=t,f=s-n,l=r-i,a=f+3*l,p=i+n,h=p-2*r,d=r-n,v=u-e,g=o-c,m=v+3*g,x=c+e,b=x-2*o,I=o-e;return{coeffs:[[a,3*h,3*d,n],[m,3*b,3*I,e]],errorBound:[[St(f)+6*St(l)+St(a),6*(St(p)+St(h)),6*St(d),0],[St(v)+6*St(g)+St(m),6*(St(x)+St(b)),6*St(I),0]]}}(t),a=Et(n),p=Et(e),h=Et(r),d=Et(o),v=Et(i),g=Et(c),m=e*o,x=n*i,b=n*c,I=r*o,_=e*c,N=r*i,S=u*d+p*f+Et(m),E=s*v+a*l+Et(x),w=s*g+Et(b),M=h*f+Et(I),O=u*g+Et(_),T=h*l+Et(N),C=m-x,y=Et(C),P=S+E+y,A=I-b,B=Et(A),z=M+w+B,F=_-N,Y=Et(F),V=O+T+Y,L=C*C,k=C*A,$=F*C,X=A*A,q=$+X;return{coeffs:[L,k,q],errBound:[2*P*y+Et(L),P*B+y*z+Et(k),V*y+Y*P+Et($)+(2*B*z+Et(X))+Et(q)].map(t=>wt*t)}}const Ot=dt,Tt=J,Ct=$,yt=D,Pt=B;function At(t){if(4===t.length)return Bt(t);if(3===t.length)return zt(t);if(2===t.length)return Ft(t);if(1===t.length)return function(t){const[[n,e]]=t;return[[[n]],[[e]]]}(t);throw new Error("The given bezier curve must be of order <= cubic.")}function Bt(t){const[[n,e],[r,o],[i,c],[s,u]]=t;return[[Pt(Ot(s,n),Ct(3,Ot(r,i))),Ct(3,yt(Tt(i,n),-2*r)),Ct(3,Ot(r,n)),[n]],[Pt(Ot(u,e),Ct(3,Ot(o,c))),Ct(3,yt(Tt(c,e),-2*o)),Ct(3,Ot(o,e)),[e]]]}function zt(t){const[[n,e],[r,o],[i,c]]=t;return[[yt(Tt(i,n),-2*r),Ot(2*r,2*n),[n]],[yt(Tt(c,e),-2*o),Ot(2*o,2*e),[e]]]}function Ft(t){const[[n,e],[r,o]]=t;return[[Ot(r,n),[n]],[Ot(o,e),[e]]]}const Yt=H,Vt=B,Lt=V;function kt(t){const[[n,e,r],[o,i,c]]=Bt(t),s=Yt(e,o),u=Yt(n,i),f=Yt(n,c),l=Yt(r,o),a=Yt(e,c),p=Yt(r,i),h=Lt(s,u),d=Lt(l,f),v=Lt(a,p),g=Yt(h,h),m=Yt(h,d),x=Yt(h,v),b=Yt(d,d);return[g,m,Vt(x,b)]}const $t=Q,Xt=G,qt=V,Ht=H,Dt=$,Qt=P,Gt=A,Rt=B,Ut=D,jt=Math.abs,Zt=j(1),Wt={order:0,realOrder:0,collinear:!0,nodeType:"n/a"},Jt={order:1,realOrder:1,collinear:!0,nodeType:"n/a"},Kt={order:1,realOrder:0,collinear:!0,nodeType:"n/a"},tn={order:2,realOrder:2,collinear:!1,nodeType:"n/a"},nn={order:2,realOrder:2,collinear:!0,nodeType:"n/a"},en={order:2,realOrder:1,collinear:!0,nodeType:"n/a"},rn={order:2,realOrder:0,collinear:!0,nodeType:"n/a"},on={order:3,realOrder:3,collinear:!1,nodeType:"crunode"},cn={order:3,realOrder:3,collinear:!1,nodeType:"acnode"},sn={order:3,realOrder:3,collinear:!1,nodeType:"cusp"},un={order:3,realOrder:3,collinear:!1,nodeType:"explicit"},fn={order:3,realOrder:3,collinear:!0,nodeType:"n/a"},ln={order:3,realOrder:2,collinear:!1,nodeType:"n/a"},an={order:3,realOrder:2,collinear:!0,nodeType:"n/a"},pn={order:3,realOrder:1,collinear:!0,nodeType:"n/a"},hn={order:3,realOrder:0,collinear:!0,nodeType:"n/a"};function dn(t){const n=[],e=t.length-1;for(let r=0;r<e;r++)n.push((e-r)*t[r]);return n}function vn(t,n){let e=0;for(let r=0;r<t.length;r++)e=e*n+t[r];return e}const gn=vn,mn=Number.EPSILON/2,xn=Math.abs,bn=Math.max;function In(t){const n=[];for(let e=0;e<t.length;e++)n.push(-t[e]);return n}const _n=In,Nn=function(t){return n=>1/t(function(t){return t.slice().reverse()}(n))};function Sn(t){const n=t.length-1;if(n<1)return 0;t[0]<0&&(t=_n(t));const e=[];for(let t=0;t<n;t++)e.push(1);let r=0;for(let o=0;o<=n;o++){if(t[o]>=0)continue;let n=Number.POSITIVE_INFINITY,i=!1;for(let r=0;r<o;r++){if(t[r]<=0)continue;const c=(-t[o]/(t[r]/2**e[r]))**(1/(o-r));e[r]++,n>c&&(n=c),i=!0}i&&r<n&&(r=n)}return r}Nn(Sn);const En=(wn=Sn,t=>-wn(function(t){const n=t.length-1;if(n<0)return[];const e=t.slice();for(let t=0;t<n+1;t++)t%2==(n-1)%2&&(e[t]=-e[t]);return e}(t)));var wn;function Mn(t){let n=0;for(let e=0;e<=t.length-1&&0===t[e];e++)n++;return 0!==n&&(t=t.slice(n)),t}Nn(En);const On=dn,Tn=vn,Cn=function(t,n,e,r=gn(t,n),o=gn(t,e)){let i=n,c=e,s=i,u=r,f=c-i,l=f;for(;;){xn(u)<xn(o)&&(i=c,c=s,s=i,r=o,o=u,u=r);const n=2*mn*bn(1,xn(i),xn(c)),e=.5*(s-c);if(xn(e)<=n)return c;if(xn(f)<n||xn(r)<=xn(o))f=e,l=f;else{let t,a,p=o/r;if(i===s)t=2*e*p,a=1-p;else{a=r/u;const n=o/u;t=p*(2*e*a*(a-n)-(c-i)*(n-1)),a=(a-1)*(n-1)*(p-1)}0<t?a=-a:t=-t,p=f,f=l,2*t<3*e*a-xn(n*a)&&t<xn(.5*p*a)?l=t/a:(f=e,l=f)}if(i=c,r=o,n<xn(l)?c+=l:0<e?c+=n:c-=n,0===(o=gn(t,c)))return c;o*u>0&&(s=i,u=r,f=c-i,l=f)}},yn=En,Pn=Sn,An=Mn;function Bn(t,n=Number.NEGATIVE_INFINITY,e=Number.POSITIVE_INFINITY){t=An(t);let r=0;for(;0===t[t.length-1];)t=t.slice(0,-1),r++;if(t.length<=1){const t=[];for(let n=0;n<r;n++)t.push(0);return t}n===Number.NEGATIVE_INFINITY&&(n=yn(t)),e===Number.POSITIVE_INFINITY&&(e=Pn(t));const o=[t];for(let n=1;n<=t.length-1;n++)o.push(On(o[n-1]));let i=[];for(let r=t.length-2;r>=0;r--){const t=o[r],c=[];let s=n,u=Tn(t,s);0===u&&0===r&&c.push(n);for(let n=0;n<i.length;n++){const e=i[n],r=Tn(t,e);0===r?c.push(e):u*r<0&&c.push(Cn(t,s,e,u,r)),s=e,u=r}const f=Tn(t,e);u*f<0&&c.push(Cn(t,s,e,u,f)),0===f&&0===r&&c.push(e),i=c}if(r>0&&n<=0&&e>=0){const t=[];let n=!1;for(let e=0;e<i.length;e++){if(!n&&i[e]>=0){for(let n=0;n<r;n++)t.push(0);n=!0}t.push(i[e])}if(!n)for(let n=0;n<r;n++)t.push(0);return t}return i}function zn(t){if(t.length<4)return[];const[[n,e],[r,o],[i,c],[s,u]]=t,f=r-n,l=o-e,a=i-r-f,p=c-o-l,h=s-i-f-2*a,d=u-c-l-2*p;return Bn([a*d-p*h,f*d-l*h,f*p-l*a],0,1)}const{abs:Fn,PI:Yn}=Math;function Vn(t,n=[0,1]){if(t.length<=2)return 0;const[e,r]=n;if(e===r)return 0;if(3===t.length){const n=O(t,e,r).ps,[[o,i],[c,s],[u,f]]=n;return E([c-o,s-i],[u-c,f-s])}if(4===t.length){const n=y(t,e,r).ps,o=function(t){if(4===t.length)return pt(t)?function(t){if(!xt(t))return!1;const[n,e,r,o]=t,[i,c]=n,[s,u]=e,[f,l]=r,[a,p]=o,h=It(bt(_t(s/4,f/4),3),_t(i/4,a/4)),d=It(bt(_t(u/4,l/4),3),_t(c/4,p/4));return 0===Nt(It(_t(i/2,a/2),h))&&0===Nt(It(_t(c/2,p/2),d))}(t)?W(t)?hn:pn:xt(t)?an:ln:xt(t)?fn:function(t){const{coeffs:[n,e,r],errBound:[o,i,c]}=Mt(t);if(jt(n)<=o){const[[n,e],[r,o],[i,c],[s,u]]=t,f=Rt(Qt(s,n),Dt(3,Qt(r,i))),l=Ut(Gt(i,n),-2*r),a=Rt(Qt(u,e),Dt(3,Qt(o,c))),p=Ut(Gt(c,e),-2*o),h=Ht(l,a),d=Ht(f,p);if(0===Xt(h,d))return un}const s=e*e,u=4*n*r,f=s-u,l=2*i*jt(e)+Zt*s+(4*(o*jt(r)+jt(n)*c)+Zt*jt(u))+Zt*jt(f);if(f<-l)return cn;if(f>l)return on;const[a,p,h]=kt(t),d=qt(Ht(p,p),Dt(4,Ht(a,h))),v=$t(d);return v<0?cn:v>0?on:sn}(t);if(3===t.length)return xt(t)?rt(t)?W(t)?rn:en:nn:tn;if(2===t.length)return W(t)?Kt:Jt;if(1===t.length)return Wt;throw new Error("The given bezier curve must be of order <= 3")}(n),[[i,c],[s,u],[f,l],[a,p]]=n,h=[s-i,u-c],d=[f-s,l-u],v=[a-f,p-l];if(0===d[0]&&0===d[1]||o.realOrder<=2)return E(h,v);const g=E(h,d)+E(d,v);return"acnode"===o.nodeType||"cusp"===o.nodeType?g<=-Yn?g+2*Yn:g>=+Yn?g-2*Yn:g:g}throw new Error("The given bezier curve must be of order <= 3.")}function Ln(t,n){const e=n[0]-t[0],r=n[1]-t[1];return Math.sqrt(e*e+r*r)}function kn(t,n){const[e,r]=t,[[o,i],[c,s]]=n;return Ln([o+e*(c-o),i+e*(s-i)],[o+r*(c-o),i+r*(s-i)])}function $n(t,n,e=16){if(n[0]===n[1])return 0;const{weights:r,abscissas:o}=Xn[e],[i,c]=n;let s=0;const u=(c-i)/2,f=(c+i)/2;for(let n=0;n<=e-1;n++)s+=r[n]*t(u*o[n]+f);return u*s}const Xn={2:{weights:[1,1],abscissas:[-.5773502691896257,.5773502691896257]},4:{weights:[.6521451548625461,.6521451548625461,.3478548451374538,.3478548451374538],abscissas:[-.3399810435848563,.3399810435848563,-.8611363115940526,.8611363115940526]},8:{weights:[.362683783378362,.362683783378362,.3137066458778873,.3137066458778873,.2223810344533745,.2223810344533745,.1012285362903763,.1012285362903763],abscissas:[-.1834346424956498,.1834346424956498,-.525532409916329,.525532409916329,-.7966664774136267,.7966664774136267,-.9602898564975363,.9602898564975363]},16:{weights:[.027152459411754096,.062253523938647894,.09515851168249279,.12462897125553388,.14959598881657674,.16915651939500254,.18260341504492358,.1894506104550685,.1894506104550685,.18260341504492358,.16915651939500254,.14959598881657674,.12462897125553388,.09515851168249279,.062253523938647894,.027152459411754096],abscissas:[-.9894009349916499,-.9445750230732326,-.8656312023878318,-.755404408355003,-.6178762444026438,-.45801677765722737,-.2816035507792589,-.09501250983763744,.09501250983763744,.2816035507792589,.45801677765722737,.6178762444026438,.755404408355003,.8656312023878318,.9445750230732326,.9894009349916499]},64:{weights:[.048690957009139724,.048690957009139724,.04857546744150343,.04857546744150343,.048344762234802954,.048344762234802954,.04799938859645831,.04799938859645831,.04754016571483031,.04754016571483031,.04696818281621002,.04696818281621002,.046284796581314416,.046284796581314416,.04549162792741814,.04549162792741814,.044590558163756566,.044590558163756566,.04358372452932345,.04358372452932345,.04247351512365359,.04247351512365359,.04126256324262353,.04126256324262353,.03995374113272034,.03995374113272034,.038550153178615626,.038550153178615626,.03705512854024005,.03705512854024005,.035472213256882386,.035472213256882386,.033805161837141606,.033805161837141606,.03205792835485155,.03205792835485155,.030234657072402478,.030234657072402478,.028339672614259483,.028339672614259483,.02637746971505466,.02637746971505466,.024352702568710874,.024352702568710874,.022270173808383253,.022270173808383253,.02013482315353021,.02013482315353021,.017951715775697343,.017951715775697343,.015726030476024718,.015726030476024718,.013463047896718643,.013463047896718643,.011168139460131128,.011168139460131128,.008846759826363947,.008846759826363947,.006504457968978363,.006504457968978363,.004147033260562468,.004147033260562468,.001783280721696433,.001783280721696433],abscissas:[-.024350292663424433,.024350292663424433,-.07299312178779904,.07299312178779904,-.12146281929612056,.12146281929612056,-.16964442042399283,.16964442042399283,-.21742364374000708,.21742364374000708,-.2646871622087674,.2646871622087674,-.31132287199021097,.31132287199021097,-.3572201583376681,.3572201583376681,-.4022701579639916,.4022701579639916,-.4463660172534641,.4463660172534641,-.48940314570705296,.48940314570705296,-.5312794640198946,.5312794640198946,-.571895646202634,.571895646202634,-.6111553551723933,.6111553551723933,-.6489654712546573,.6489654712546573,-.6852363130542333,.6852363130542333,-.7198818501716109,.7198818501716109,-.7528199072605319,.7528199072605319,-.7839723589433414,.7839723589433414,-.8132653151227975,.8132653151227975,-.8406292962525803,.8406292962525803,-.8659993981540928,.8659993981540928,-.8893154459951141,.8893154459951141,-.9105221370785028,.9105221370785028,-.9295691721319396,.9295691721319396,-.9464113748584028,.9464113748584028,-.9610087996520538,.9610087996520538,-.973326827789911,.973326827789911,-.983336253884626,.983336253884626,-.9910133714767443,.9910133714767443,-.9963401167719553,.9963401167719553,-.9993050417357722,.9993050417357722]}};function qn(t){if(4===t.length)return function(t){const[[n,e],[r,o],[i,c],[s,u]]=t;return[[3*(s-n+3*(r-i)),6*(i+n-2*r),3*(r-n)],[3*(u-e+3*(o-c)),6*(c+e-2*o),3*(o-e)]]}(t);if(3===t.length)return function(t){const[[n,e],[r,o],[i,c]]=t;return[[2*(i+n-2*r),2*(r-n)],[2*(c+e-2*o),2*(o-e)]]}(t);if(2===t.length)return function(t){const[[n,e],[r,o]]=t;return[[r-n],[o-e]]}(t);if(1===t.length)return[[0],[0]];throw new Error("The bezier curve must be of order <= 3.")}function Hn(t){const[n,e]=qn(t);return function(t){const r=vn(n,t),o=vn(e,t);return Math.sqrt(r*r+o*o)}}const{abs:Dn}=Math;function Qn(t){const n=[];for(let e=0;e<t.length-1;e++){const r=[t[e+1][0]-t[e][0],t[e+1][1]-t[e][1]];0!==(0!==r[0]||r[1])&&n.push(r)}const e=n.length;let r=0;for(let t=0;t<e-1;t++)r+=Dn(E(n[t],n[t+1]));return r}function Gn(t,n,e){if(4===t.length)return function(t,n,e){return 0===n?1===e?t:function(t,n){const e=t[0],r=t[1],o=t[2],i=t[3],c=e[0],s=e[1],u=r[0],f=r[1],l=o[0],a=o[1],p=c-n*(c-u),h=u-n*(u-l),d=p-n*(p-h),v=s-n*(s-f),g=f-n*(f-a),m=v-n*(v-g);return[e,[p,v],[d,m],[d-n*(d-(h-n*(h-(l-n*(l-i[0]))))),m-n*(m-(g-n*(g-(a-n*(a-i[1])))))]]}(t,e):1===e?function(t,n){const e=t[0],r=t[1],o=t[2],i=t[3],c=e[0],s=e[1],u=r[0],f=r[1],l=o[0],a=o[1],p=c-n*(c-u),h=u-n*(u-l),d=l-n*(l-i[0]),v=p-n*(p-h),g=h-n*(h-d),m=s-n*(s-f),x=f-n*(f-a),b=a-n*(a-i[1]),I=m-n*(m-x),_=x-n*(x-b);return[[v-n*(v-g),I-n*(I-_)],[g,_],[d,b],i]}(t,n):function(t,n,e){const r=t[0],o=t[1],i=t[2],c=t[3],s=r[0],u=r[1],f=o[0],l=o[1],a=i[0],p=i[1],h=n*n,d=n*h,v=e*e,g=e*v,m=n*e,x=s-f,b=a-f,I=x+b,_=n*x,N=e*x,S=c[0]-s-3*b,E=u-l,w=p-l,M=E+w,O=n*E,T=e*E,C=c[1]-u-3*w;return[[d*S+(3*n*(n*I-x)+s),d*C+(3*n*(n*M-E)+u)],[m*(n*S+2*I)+(h*I+s-(N+2*_)),m*(n*C+2*M)+(h*M+u-(T+2*O))],[m*(e*S+2*I)+(v*I+s-(2*N+_)),m*(e*C+2*M)+(v*M+u-(2*T+O))],[g*S+(3*e*(e*I-x)+s),g*C+(3*e*(e*M-E)+u)]]}(t,n,e)}(t,n,e);if(3===t.length)return function(t,n,e){return 0===n?1===e?t:function(t,n){const e=t[0],r=t[1],o=t[2],i=e[0],c=e[1],s=r[0],u=r[1],f=n*n,l=i-s,a=c-u;return[e,[-n*l+i,-n*a+c],[f*(l+(o[0]-s))-(2*n*l-i),f*(a+(o[1]-u))-(2*n*a-c)]]}(t,e):1===e?function(t,n){const e=t[0],r=t[1],o=t[2],i=e[0],c=e[1],s=r[0],u=r[1],f=n*n,l=i-s,a=o[0]-s,p=c-u,h=o[1]-u;return[[f*(l+a)-(2*n*l-i),f*(p+h)-(2*n*p-c)],[n*a+s,n*h+u],o]}(t,n):function(t,n,e){const r=t[0],o=t[1],i=t[2],c=r[0],s=r[1],u=o[0],f=o[1],l=n*n,a=e*e,p=n*e,h=c-u,d=h+(i[0]-u),v=s-f,g=v+(i[1]-f);return[[l*d-(2*n*h-c),l*g-(2*n*v-s)],[p*d-(h*(e+n)-c),p*g-(v*(e+n)-s)],[a*d-(2*e*h-c),a*g-(2*e*v-s)]]}(t,n,e)}(t,n,e);if(2===t.length)return function(t,n,e){return 0===n?1===e?t:function(t,n){const e=t[0],r=t[1],o=e[0],i=e[1];return[e,[n*(r[0]-o)+o,n*(r[1]-i)+i]]}(t,e):1===e?function(t,n){const e=t[0],r=t[1],o=e[0],i=e[1];return[[n*(r[0]-o)+o,n*(r[1]-i)+i],r]}(t,n):function(t,n,e){const r=t[0],o=t[1],i=r[0],c=r[1],s=o[0],u=o[1];return[[n*(s-i)+i,n*(u-c)+c],[e*(s-i)+i,e*(u-c)+c]]}(t,n,e)}(t,n,e);if(1===t.length)return t;throw new Error("The given bezier curve must be of order <= 3.")}function Rn(t,n=.4,e=2**-16){const r={r:[0,1]};let o=r;for(;void 0!==o;){const r=o.r;if(Qn(Gn(t,r[0],r[1]))<=n||r[1]-r[0]<=e){o=o.next;continue}const i=(r[0]+r[1])/2,c=[r[0],i],s=[i,r[1]];o.r=c,o.next={r:s,next:o.next}}o=r;const i=[];for(;void 0!==o;)i.push(o.r[0]),void 0===o.next&&i.push(o.r[1]),o=o.next;return i}function Un(t,n,e=.4,r=16){const o=t[0],i=t[1];if(o===i)return 0;const[[c,s],[u,f],[l,a]]=n;if(c===u&&u===l&&s===f&&f===a)return 0;const p=O(n,o,i).ps,h=Rn(p,e);let d=0;for(let t=0;t<h.length-1;t++){const n=h[t],e=h[t+1];d+=$n(Hn(p),[n,e],r)}return d}function jn(t,n,e=.4,r=16){const o=t[0],i=t[1];if(o===i)return 0;const[[c,s],[u,f],[l,a],[p,h]]=n;if(c===u&&u===l&&l===p&&s===f&&f===a&&a===h)return 0;const d=y(n,o,i).ps,v=Rn(d,e);let g=0;for(let t=0;t<v.length-1;t++){const n=v[t],e=v[t+1];g+=$n(Hn(d),[n,e],r)}return g}function Zn(t,n=.4,e=16){if(4===t.length)return jn([0,1],t,n,e);if(3===t.length)return Un([0,1],t,n,e);if(2===t.length)return kn([0,1],t);if(1===t.length)return 0;throw new Error("The given bezier curve must be of order <= 3.")}function Wn(t){const n=new WeakMap;return function(e){let r=n.get(e);return void 0!==r||(r=t(e),n.set(e,r)),r}}function Jn(t,n){const[[e,r],[o,i]]=t,[[c,s],[u,f]]=n,l=o-e,a=i-r,p=u-c,h=f-s,d=p*a-h*l;if(0===d)return;const v=((s-r)*l-(c-e)*a)/d;return[c+v*p,s+v*h]}function Kn(t,n){return[n[0]-t[0],n[1]-t[1]]}function te(t,n){return t[0]*n[0]+t[1]*n[1]}function ne(t){return[-t[1],t[0]]}function ee(t,n){return t[0]*n[1]-t[1]*n[0]}function re(t,n,e){return[t[0]+(n[0]-t[0])*e,t[1]+(n[1]-t[1])*e]}function oe(t,n){function e(n){return[t[0]+n[0],t[1]+n[1]]}return void 0===n?e:e(n)}function ie(t){const n=1/Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]*n,t[1]*n]}function ce(t,n,e){function r(e){return[e[0]*n-e[1]*t,e[0]*t+e[1]*n]}return void 0===e?r:r(e)}function se(t,n){const[e,r]=qn(t);return[vn(e,n),vn(r,n)]}const ue=dt,fe=$;function le(t){if(4===t.length){const[[n,e],[r,o]]=t;return[fe(3,ue(r,n)),fe(3,ue(o,e))]}if(3===t.length){const[[n,e],[r,o]]=t;return[ue(2*r,2*n),ue(2*o,2*e)]}if(2===t.length){const[[n,e],[r,o]]=t;return[ue(r,n),ue(o,e)]}if(1===t.length)return[[0],[0]];throw new Error("The given bezier curve must be of order <= 3.")}const ae=J,pe=$,he=D;function de(t){if(4===t.length){const[[n,e],[r,o],[i,c]]=t;return[pe(6,he(ae(i,n),-2*r)),pe(6,he(ae(c,e),-2*o))]}if(3===t.length){const[[n,e],[r,o],[i,c]]=t;return[he(ae(2*i,2*n),-4*r),he(ae(2*c,2*e),-4*o)]}if(t.length<=2)return[[0],[0]];throw new Error("The given bezier curve must be of order <= 3")}const ve=dt,ge=$,me=B;function xe(t){if(4===t.length){const[[n,e],[r,o],[i,c],[s,u]]=t;return[[ge(6,me(ve(s,n),ge(3,ve(r,i))))],[ge(6,me(ve(u,e),ge(3,ve(o,c))))]]}if(t.length<=3)return[[[0]],[[0]]];throw new Error("The given bezier curve must be of order <= 3.")}const{sign:be}=Math;function Ie(t,n){const[e,r]=le(t),[o,i]=de(t),[c,s]=le(n),[u,f]=de(n),l=V(H(e,i),H(r,o)),a=V(H(c,f),H(s,u)),p=Q(l),h=Q(a);if(be(p)!==be(h))return p-h;const d=B(H(c,c),H(s,s)),v=B(H(e,e),H(r,r)),g=H(d,d),m=H(g,d),x=H(v,v),b=H(x,v);if(0!==p||0!==h){const t=H(l,l),n=H(a,a),e=Q(V(H(t,m),H(n,b)));if(0!==e)return p>0?e:-e}const[[I],[_]]=xe(t),[[N],[S]]=xe(n),E=V(H(e,_),H(r,I)),w=B(H(e,o),H(r,i)),M=V(H(c,S),H(s,N)),O=B(H(c,u),H(s,f)),T=V(H(v,E),k(H(l,w),3)),C=V(H(d,M),k(H(a,O),3)),y=Q(T),P=Q(C);if(y!==P)return y-P;if(0===y&&0===P)return 0;const A=H(T,T),z=H(g,m),F=H(C,C),Y=H(x,b),L=Q(V(H(A,z),H(F,Y)));return y>0?L:-L}function _e(t,n){return t[0]===n[0]&&t[1]===n[1]}function Ne(t,n){const{ccw:e,tangentI:r,tangentO:o,dotTangents:i}=function(t,n){const e=t.length;let r=t[e-2],o=n[0],i=n[1];_e(r,o)&&(r=t[e-3]),_e(o,i)&&(i=n[2]);const c=function(t,n,e){const r=dt(t[0],e[0]),o=dt(n[1],e[1]),i=dt(t[1],e[1]),c=dt(n[0],e[0]);return ht(B(H(r,o),z(H(i,c))))}(r,o,i),s=[dt(o[0],r[0]),dt(o[1],r[1])],u=[dt(i[0],o[0]),dt(i[1],o[1])],f=function(t,n){return ht(B(H(t[0],n[0]),H(t[1],n[1])))}(s,u);return 0!==c||f>0?{ccw:c,tangentI:s,tangentO:u,dotTangents:f}:{ccw:Ie(t.slice().reverse(),n),tangentI:s,tangentO:u,dotTangents:f}}(t,n),c=e<0,s=e>0,u=[ie(r.map(t=>t[1])),ie(o.map(t=>t[1]))],f=ee(u[0],u[1]);let l,a;return i>0?(l=f<-.0698,a=f>.0698):(l=c,a=s),{tangents:u,isSharp:c,isDull:s,isQuiteSharp:l,isQuiteDull:a}}function Se(t){return Ne(1===t.t?t.curve.ps:t.curve.prev.ps,1===t.t?t.curve.next.ps:t.curve.ps)}function Ee(t){return 0===t.t||1===t.t}const we=Wn(t=>!!Ee(t)&&Se(t).isSharp);function Me(t){const n=t.cp.circle.center,e=t,r=t.nextOnCircle,o=e.cp.pointOnShape,i=r.cp.pointOnShape,c=o.p,s=i.p;let u;if(we(o)){let t,n;0===o.t?(t=o.curve,n=o.curve.prev):1===o.t&&(t=o.curve.next,n=o.curve);const e=ie(se(t.ps,0)),r=[-(f=ie(se(n.ps,1)))[0],-f[1]],i=te(e,r),c=Math.sqrt((1+i)/2);u=ce(Math.sqrt((1-i)/2),c,r)}else u=c[0]===s[0]&&c[1]===s[1]?Kn(c,n):ne(Kn(c,s));var f;return[n,oe(ie(u),n)]}const Oe=1e-4;function Te(t,n){const e=t.cp.circle.center,r=Me(t),o=n.cp.circle.center,i=Me(n.prevOnCircle),c=Jn(r,i),s=Kn(e,o);let u;if(c){const t=Kn(e,c),n=Kn(o,c);u=te(t,s)<0||te(n,s)>0}else u=!0;if(!u)return[e,c,o];const f=ne(s),l=Kn(r[0],r[1]),a=Kn(i[0],i[1]),p=Math.abs(ee(s,l))/9,h=Math.abs(ee(s,a))/9;if(p>.01||h>.01)return[e,o];if(p>Oe||h>Oe){const t=re(e,o,1/3),n=re(e,o,2/3),c=oe(f,t),s=[n,oe(f,n)];return[e,Jn(r,[t,c]),Jn(i,s),o]}return[e,o]}function Ce(t){return Te(t,t.next)}const ye=Wn(Ce);function Pe(t,n=!1){const e=t;let r=e;const o=[];do{n&&r===e||o.push(r),r=r.nextOnCircle}while(r!==e);return o}function Ae(t){return t===t.next.prevOnCircle}function Be(t){return Pe(t).filter(t=>!Ae(t)).length}const{min:ze,abs:Fe}=Math;function Ye(t){if(2!==Be(t))return 0;const{radius:n}=t.cp.circle,e=Ce(t),r=function(t,n=[0,1]){if(t.length<=3)return Fn(Vn(t,n));if(4===t.length){const[e,r]=n;if(e===r)return 0;const o=y(t,e,r).ps,i=[0,...zn(o),1];let c=0;for(let t=0;t<i.length-1;t++)c+=Fn(Vn(o,[i[t],i[t+1]]));return c}throw new Error("The given bezier curve must be of order <= 3.")}(e,[0,1]);return 0!==Zn(e)?r*n:void 0}Wn(Ye);const Ve=Wn(Vn),Le=Wn(Zn);function ke(t){return Pe(t.prevOnCircle,!0).every(Ae)}const $e=function(){const t=new Map;return function(n){let e=t.get(n);return void 0!==e||(r=n,e=Wn(function(t){let n=t,e=0,o=0,i=n.prev,c=n,s=0,u=0,f=0,l=0;for(;l<r/2/40&&c!==n.prev&&!ke(c)&&Be(c)<=2;){const{radius:t}=c.cp.circle,n=ye(c),e=Ve(n);let r=0;const i=Le(ye(c));u+=t*(e+r),o+=i,l+=i/t,c=c.next}for(;f<r/2/40&&i!==n&&!ke(i)&&Be(i)<=2;){const{radius:t}=i.cp.circle,n=ye(i),r=Ve(n);let o=0;const c=Le(ye(i));s+=t*(r+o),e+=c,f+=c/t,i=i.prev}const a=e+o;if(0!==a)return-(s+u)/a}),t.set(n,e)),e;var r}}();function Xe(t){const n=t.cp,e=n.pointOnShape;return{idx:e.curve.idx,t:e.t,order:n.order,order2:n.order2}}function qe(t){const n=t;let e=n,r=0;do{r++,e=e.nextOnCircle}while(e!==n);return r}function He(t){return 0===t.cp.circle.radius}function De(t){let n=t;if(Ae(n))return[n];const e=[];do{e.push(n);const t=n.next.prevOnCircle;n=n=n===t?n.next.next:t}while(n!==t);return e}function Qe(t,n){const e=v(t),r=new Set;for(t of e)Ae(t)||r.has(t.next.prevOnCircle)||n(t),r.add(t)}function Ge(t){const n=[],e=t;let r=e;for(;r!==e.prevOnCircle;)Ae(r)||n.push(r.next),r=r.nextOnCircle;return n}function Re(t,n){n(t);const e=Pe(t).filter(t=>!Ae(t)).map(t=>t.next);for(const t of e){const e=[t];for(;e.length;){const t=e.pop();n(t),e.push(...Ge(t))}}}const Ue=["prev","next","prevOnCircle","nextOnCircle"];function je(t){const n=new Map,e=Ze(t);n.set(t,e);const r=[{cpNode:t,newCpNode:e}];for(;r.length;){const{cpNode:t,newCpNode:e}=r.pop();for(const o of Ue){const i=t[o];let c=n.get(i);c||(c=Ze(i),n.set(i,c),r.push({cpNode:i,newCpNode:c})),e[o]=c}}return e}function Ze(t){return{...t,prev:void 0,next:void 0,prevOnCircle:void 0,nextOnCircle:void 0}}function We(t){const n=t,e=t.next,r=n.cp.pointOnShape,o=e.cp.pointOnShape,i=r.curve,c=o.curve;if(i.loop!==c.loop)return[];const s=[];return c===i?s.push(Gn(r.curve.ps,r.t,o.t)):(s.push(Gn(r.curve.ps,r.t,1)),function(t,n,e,r){let o=n;do{o=o.next;const n=o===e?r:1;t.push(Gn(o.ps,0,n))}while(o!==e)}(s,r.curve,o.curve,o.t)),s}function Je(t,n){const e=t.prev,r=t.next;e.next=r,r.prev=e,n.get(t.cp.pointOnShape.curve.loop).remove(t,!1)}function Ke(t,n){const e=qe(t);if(2!==e)throw new Error(`Cannot delete \`CpNode\` on ${e}-prong`);Pe(t).forEach(t=>Je(t,n))}function tr(t,n){return Pe(t).indexOf(n)>=0}function nr(t){if(function(t){return Pe(t).every(Ae)}(t))return[];for(;Ae(t);)t=t.nextOnCircle;for(t=t.next;2===Be(t);)t=t.next;t=t.prevOnCircle;const n=[];do{n.push(t),t=t.next}while(!ke(t)&&2===Be(t));return n}function er(t,n,e=!0){const r=function(t,n,e=!0){if(!e&&t===n)return{cpNodes:[],hasHoleCloser:!1};const r=t,o=[r];let i=t.next,c=r.isHoleClosing;for(;i!==n&&i!==r;)i.isHoleClosing&&(c=!0),o.push(i),i=i.next;return{cpNodes:o,hasHoleCloser:c}}(t,n,e);return{pss:(o=r.cpNodes,o.flatMap(We)),hasHoleCloser:r.hasHoleCloser};var o}const rr={getChildren:function(t){const n=[],e=t.next;let r=e;do{n.push(r),r=r.nextOnCircle}while(r.nextOnCircle!==e);return n},getVertexForwardChildren:Ge,getAllOnLoop:v,getAllOnCircle:Pe,isOnSameCircle:tr,isTerminating:Ae,isFullyTerminating:ke,getFirstExit:function(t){const n=t;let e=n;for(;e.next===e.prevOnCircle;)if(e=e.next,e===n)return;return e},isSharp:He,isOneProng:function(t){const n=t;if(0===n.cp.circle.radius)return!0;const e=n.nextOnCircle,r=n.cp.pointOnShape.p,o=e.cp.pointOnShape.p;return r[0]===o[0]&&r[1]===o[1]},getProngCount:qe,getRealProngCount:Be,cpNodeComparator:(t,n)=>d(t.cp,n.cp),enhanceCpNode:function(t){const n=t.cp.pointOnShape.curve;return{...t,pos:t.cp.pointOnShape,p:t.cp.pointOnShape.p,t:t.cp.pointOnShape.t,isTerminating:Ae(t),isFullyTerminating:ke(t),isSharp:He(t),prongCount:qe(t),getRealProngCount:Be(t),ordering:Xe(t),curve:n,loop:n.loop}},traverseCp:De,traverseEdges:Qe,traverseVertices:Re,clone:je,getBoundaryBezierPartsToNext:function(t){const n=t,e=t.next,r=n.cp.pointOnShape,o=e.cp.pointOnShape,i=r.curve,c=o.curve;if(i.loop!==c.loop)return;const s=[];return c===i?s.push({ps:r.curve.ps,ts:[r.t,o.t]}):(s.push({ps:r.curve.ps,ts:[r.t,1]}),function(t,n,e,r){let o=n;do{o=o.next;const n=o===e?{ps:o.ps,ts:[0,r]}:{ps:o.ps,ts:[0,1]};t.push(n)}while(o!==e)}(s,r.curve,o.curve,o.t)),s},getBoundaryBeziersToNext:We,removeVertex:Ke,getMatCurveToNext:Ce,isTwoProng:function(t){return 2===Be(t)},getBranch:nr,getBranchBeziers:function(t){return nr(t).map(t=>Ce(t))},getSalience:function(t){const n=t,e=t.nextOnCircle,r=Ln(n.cp.pointOnShape.p,e.cp.pointOnShape.p),{pss:o,hasHoleCloser:i}=er(n,e),c=function(t){let n=0;for(let e of t)n+=e;return n}(o.map(t=>Zn(t)));return i?Number.POSITIVE_INFINITY:c/r},getMatCurveBetween:Te,getEdgeDirection:Me,getBoundaryBeziersBetween:er,getMatCurvesBetween:function(t,n){let e=t;const r=[];for(;e!==n;){const t=Te(e,e.next);r.push(t),e=e.next}return r},getHoleClosers:function(t){return v(t).filter(t=>t.isHoleClosing)},getSpeed:Ye,getSmoothedSpeed$:$e,getInitialDegAngleBetweenMatCurves:function(t,n){const e=ee(ie(se(Ce(t),0)),ie(se(Ce(n),0)));return Math.abs(Math.asin(e)*(180/Math.PI))},getAllVertices:function(t){const n=[];return Re(t,t=>{n.push(t)}),n}};function or(t){return n=>Pe(n).some(t)}const ir=or(function(t){return 2!==Be(t)&&!t.isHoleClosing}),cr=2**27+1;function sr(t,n){const e=t[1],r=n[1],o=e*r,i=cr*e,c=i-(i-e),s=e-c,u=cr*r,f=u-(u-r),l=r-f,a=s*l-(o-c*f-s*f-c*l)+(e*n[0]+t[0]*r),p=o+a;return[a-(p-o),p]}function ur(t,n){const e=t[0],r=t[1],o=r+n,i=o-r,c=e+(r-(o-i)+(n-i)),s=o+c;return[c-(s-o),s]}const fr=sr,lr=x,ar=b,pr=P,hr=ur;function dr(t,n){if(0===n[0]&&0===n[1])return t[0].map(t=>[0,t]);if(0===n[0]&&1===n[1])return t[t.length-1].map(t=>[0,t]);if(4===t.length){const[[e,r],[o,i],[c,s],[u,f]]=t,l=hr(fr(pr(o,e),n),e),a=hr(fr(pr(c,o),n),o),p=hr(fr(pr(u,c),n),c),h=lr(l,fr(ar(a,l),n)),d=lr(a,fr(ar(p,a),n)),v=lr(h,fr(ar(d,h),n)),g=hr(fr(pr(i,r),n),r),m=hr(fr(pr(s,i),n),i),x=hr(fr(pr(f,s),n),s),b=lr(g,fr(ar(m,g),n)),I=lr(m,fr(ar(x,m),n));return[v,lr(b,fr(ar(I,b),n))]}if(3===t.length){const[[e,r],[o,i],[c,s]]=t,u=lr([0,e],fr(pr(o,e),n)),f=lr([0,o],fr(pr(c,o),n)),l=lr(u,fr(ar(f,u),n)),a=lr([0,r],fr(pr(i,r),n)),p=lr([0,i],fr(pr(s,i),n));return[l,lr(a,fr(ar(p,a),n))]}if(2===t.length){const[[e,r],[o,i]]=t;return[hr(fr(pr(o,e),n),e),hr(fr(pr(i,r),n),r)]}if(1===t.length){const[n,e]=t[0];return[[0,n],[0,e]]}throw new Error("The given bezier curve must be of order <= 3.")}function vr(t,n,e){return{curve:t,t:n,p:dr(t.ps,[0,n]).map(t=>t[1]),isSource:void 0!==e&&e}}const gr=Number.EPSILON/2,mr=gr*gr,xr=134217729;function br(t,n){const e=n[0],r=n[1],o=r*t,i=xr*r,c=i-(i-r),s=r-c,u=xr*t,f=u-(u-t),l=t-f,a=e*t,p=o+a,h=a-(p-o)+(s*l-(o-c*f-s*f-c*l)),d=p+h;return[h-(d-p),d]}function Ir(t,n){const e=n[0],r=n[1],o=r*t,i=xr*r,c=i-(i-r),s=r-c,u=xr*t,f=u-(u-t),l=t-f,a=s*l-(o-c*f-s*f-c*l)+e*t,p=o+a;return[a-(p-o),p]}const _r=Ir,Nr=ht,Sr=function(){const t=3*mr;return t/(1-t)}(),Er=k,wr=J,Mr=it,Or=Math.abs,Tr=Number.EPSILON/2;function Cr(t,n){let e=t[0],r=.5*Or(e);for(let o=1;o<t.length;o++)e=e*n+t[o],r=r*Or(n)+Or(e);return r=Tr*(2*r-Or(e)),[e,r]}const yr=Math.abs,Pr=function(t){const n=t*gr;return n/(1-n)},Ar=Cr,Br=vn,zr=Pr(1),Fr=Pr(2);function Yr(t,n,e=void 0,r=1){const o=Math.abs(n),i=t[0],[c,s]=Ar(i,n),u=Fr*function(t,n){let e=0;for(let r=0;r<t.length;r++)e=e*n+yr(t[r]);return e}(i,o),f=void 0!==e?Br(e,o):0;if((s+u+f)*r<Math.abs(c))return c;const l=function(t,n){const e=[],r=[];let o,i=t[0];for(let c=1;c<t.length;c++){const[s,u]=Mr(i,n);[o,i]=wr(u,t[c]),e.push(s),r.push(o)}return{r̂:i,pπ:e,pσ:r}}(i,n),{pπ:a,pσ:p}=l;let{r̂:h}=l;const[d,v]=Ar(a,n),[g,m]=Ar(p,n),[x,b]=Ar(t[1],n);let I=v+m+b+f;return h=d+g+x+h,I+=zr*h,I*r<Math.abs(h)?h:0}const Vr=B,Lr=k;function kr(t,n){let e=[0];for(let r=0;r<t.length;r++)e=Vr(t[r],Lr(e,n));return e}const $r=Yr,Xr=kr,qr=ht,Hr=Yr,Dr=kr,Qr=ht,Gr=Number.EPSILON,Rr=Math.abs,Ur=Math.max,jr=function(t){const{p:n,pE:e}=t,r=[],o=[],i=n.length-1;for(let t=0;t<i;t++){const c=i-t,s=_r(c,n[t]);r.push(s);const u=c&c-1?Sr:0,f=Nr(s);o.push(c*e[t]+Math.abs(f)*u)}return{p:r,pE:o}},Zr=Yr,Wr=kr,Jr=function(t){const n=t[0].length,e=[];for(let r=0;r<n;r++){const o=[];for(let e=0;e<t.length;e++)o.push(t[e][n-(r+1)]);e.push(o)}return e},Kr=function(t,n,e,r){const o=$r(t,e,n,4);return 0!==o?o:qr(Xr(r(),e))},to=function(t,n,e,r,o,i,c,s){let u=e,f=r,l=u,a=o,p=f-u,h=p;for(;;){let d;Rr(a)<Rr(i)&&(u=f,f=l,l=u,o=i,i=a,a=o);const v=Ur(Rr(u),Rr(f));d=v<=1?Gr:Gr*2**Math.ceil(Math.log2(v));const g=.5*(l-f);if(Rr(g)<=d)return f<l?[f,l]:[l,f];if(Rr(p)<d||Rr(o)<=Rr(i))p=g,h=p;else{let t,n,e=i/o;if(u===l)t=2*g*e,n=1-e;else{n=o/a;const r=i/a;t=e*(2*g*n*(n-r)-(f-u)*(r-1)),n=(n-1)*(r-1)*(e-1)}0<t?n=-n:t=-t,e=p,p=h,2*t<3*g*n-Rr(d*n)&&t<Rr(.5*e*n)?h=t/n:(p=g,h=p)}if(u=f,o=i,d<Rr(h)?f+=h:0<g?f+=d:f-=d,0===(i=s?Qr(Dr(c(),f)):Hr(t,f,n))){if(s)return[f,f];const o=Math.max(e,f-d),u=Math.min(r,f+d);if(Hr(t,o,n)*Hr(t,u,n)!==0)return[o,u];if(s=!0,0===(i=Qr(Dr(c(),f))))return[f,f]}(0<i&&0<a||i<=0&&a<=0)&&(l=u,a=o,p=f-u,h=p)}},no=En,eo=Sn,ro=function(t){const n=[],e=t.length-1;for(let r=0;r<e;r++)n.push(Er(t[r],e-r));return n},oo=ht,io=Cr,co=Q,so=Math.max,uo=Math.min,fo=Math.abs,lo=1+Number.EPSILON;function ao(t,n=0,e=1,r,o,i){o||(o=()=>t),r=r||new Array(t.length).fill(0);let c,s,u=0;for(;t.length>0&&fo(t[0][1])<=r[0]&&(s=s||o(),0===co(s[0]));)(t=t.slice()).shift(),(r=r.slice()).shift(),s.shift();if(0===t.length)return i?void 0:[];if(1===t.length)return[];if(n===Number.NEGATIVE_INFINITY||e===Number.POSITIVE_INFINITY){const r=t.map(t=>t[1]);n===Number.NEGATIVE_INFINITY&&(n=no(r)),e===Number.POSITIVE_INFINITY&&(e=eo(r))}const f=Jr(t);let l,a;const p=t.length-1;let h,d;l=0,a=!1;do{if(h=a?oo(Wr(I(),n)):Zr(f,n,r),0===h){if(l++,l>=3&&!a){a=!0;continue}n-=2*Number.EPSILON*so(1,fo(n))}}while(0===h);l=0,a=!1;do{if(d=a?oo(Wr(I(),e)):Zr(f,e,r),0===d){if(l++,l>=3&&!a){a=!0;continue}e+=2*Number.EPSILON*so(1,fo(e))}}while(0===d);const v=[{p:t,pE:r}],g=[Jr(t)];for(let t=1;t<=p;t++){const n=jr(v[t-1]);v.push(n),g.push(Jr(n.p))}let m,x,b=[];for(u=p-1;u>=0;u--)m=v[u].pE,x=g[u],b=_();function I(){if(void 0!==c)return c[u];let t=s||o();for(c=[t];t.length>1;)t=ro(t),c.push(t);return c[u]}return b;function _(){const t=[],r=Kr(x,m,n,I);if(!b.length){const t=Kr(x,m,e,I);if(r*t>=0)return[];const[o,i]=to(x,m,n,e,r,t,I);return[{tS:o,tE:i,multiplicity:1}]}let o=b[0].tS,i=Kr(x,m,o,I);if(r*i>0);else if(r*i<0){const[e,c]=to(x,m,n,o,r,i,I);t.push({tS:e,tE:c,multiplicity:1})}let c,s=n,f=r,l=o,a=i;for(let n=0;n<b.length;n++){const r=b[n+1];c=b[n],o=l,s=b[n].tE,l=r?r.tS:e;const u=f;if(i=a,f=Kr(x,m,s,I),a=Kr(x,m,l,I),i*f>0)if(f*a>0)s!==o&&c.multiplicity%2==1&&h();else if(f*a<0){s!==o&&c.multiplicity%2==1&&h();const[n,e]=to(x,m,s,l,f,a,I);t.push({tS:n,tE:e,multiplicity:1})}else s!==o&&c.multiplicity%2==1&&h();else if(i*f<0){if(t.push({tS:c.tS,tE:c.tE,multiplicity:3}),f*a<0){const[n,e]=to(x,m,s,l,f,a,I);t.push({tS:n,tE:e,multiplicity:1})}}else if(0===f)0===i?t.push({tS:c.tS,tE:c.tE,multiplicity:c.multiplicity+1}):i*a>0?t.push({tS:c.tS,tE:c.tE,multiplicity:2}):t.push({tS:c.tS,tE:c.tE,multiplicity:3});else{if(f*a<0){const[n,e]=to(x,m,s,l,f,a,I);t.push({tS:n,tE:e,multiplicity:1})}u*f>0?t.push({tS:c.tS,tE:c.tE,multiplicity:2}):t.push({tS:c.tS,tE:c.tE,multiplicity:3})}}for(let n=0;n<t.length-1;n++){const e=t[n],r=t[n+1];if(e.tE>=r.tS)return po(t)}return t;function h(){const n=(s-o)*lo;let e=1,r=0;for(let t=u+2;t<=p;t++){const i=g[t][0],c=io(i,o);r+=(fo(c[0])+c[1])*e,e*=n*lo}const l=f>0?uo(i,f):so(i,f),a=2*Number.EPSILON*so(1,fo(s)),h=r*(2*a);(l+(f>0?2*-h*a:2*h*a))*f<0&&t.push({tS:c.tS,tE:c.tE,multiplicity:2})}}}function po(t){const n=[],e=t[0];let r={tS:e.tS,tE:e.tE,multiplicity:e.multiplicity};for(let e=0;e<t.length-1;e++){const o=t[e],i=t[e+1];o.tE<i.tS?(n.push(r),r={tS:i.tS,tE:i.tE,multiplicity:i.multiplicity}):(r.tE=i.tE,r.multiplicity=o.multiplicity+i.multiplicity)}return n.push(r),n}function ho(t){return(t.tS+t.tE)/2}function vo(t,n){if(0===n)return t[0];if(1===n)return t[t.length-1];if(4===t.length){const[[e,r],[o,i],[c,s],[u,f]]=t,l=e+(o-e)*n,a=o+(c-o)*n,p=l+(a-l)*n,h=r+(i-r)*n,d=i+(s-i)*n,v=h+(d-h)*n;return[p+(a+(c+(u-c)*n-a)*n-p)*n,v+(d+(s+(f-s)*n-d)*n-v)*n]}if(3===t.length){const[[e,r],[o,i],[c,s]]=t,u=e+(o-e)*n,f=r+(i-r)*n;return[u+(o+(c-o)*n-u)*n,f+(i+(s-i)*n-f)*n]}if(2===t.length){const[[e,r],[o,i]]=t;return[e+(o-e)*n,r+(i-r)*n]}if(1===t.length)return t[0];throw new Error("The given bezier curve must be of order <= 3.")}const go=Math.abs;function mo(t,n){if(0===n[0]&&0===n[1])return[0,0];if(0===n[0]&&1===n[1])return[0,0];const e=go(n[1]);if(4===t.length){const[[n,r],[o,i],[c,s],[u,f]]=t,l=go(n),a=go(r),p=go(o),h=go(i),d=go(c),v=go(s),g=l+(p+l)*e,m=p+(d+p)*e,x=g+(m+g)*e,b=a+(h+a)*e,I=h+(v+h)*e,_=b+(I+b)*e;return[x+(m+(d+(go(u)+d)*e+m)*e+x)*e,_+(I+(v+(go(f)+v)*e+I)*e+_)*e]}if(3===t.length){const[[n,r],[o,i],[c,s]]=t,u=go(n),f=go(r),l=go(o),a=go(i),p=u+(l+u)*e,h=f+(a+f)*e;return[p+(l+(go(c)+l)*e+p)*e,h+(a+(go(s)+a)*e+h)*e]}if(2===t.length){const[[n,r],[o,i]]=t,c=go(n),s=go(r);return[c+(go(o)+c)*e,s+(go(i)+s)*e]}if(1===t.length)return[0,0];throw new Error("The given bezier curve must be of order <= 3.")}const xo=Math.abs,bo=[[0,0],[0,0]];const Io=Number.EPSILON/2,_o=j(1);function No(t,n){return n[0]!==n[1]?4===t.length?function(t,n){const{ps:e,_ps:r}=y(t,n[0],n[1]),o=e[0][0],i=e[1][0],c=e[2][0],s=e[3][0],u=9*Io*r[0][0],f=9*Io*r[1][0],l=9*Io*r[2][0],a=9*Io*r[3][0],p=e[0][1],h=e[1][1],d=e[2][1],v=e[3][1],g=9*Io*r[0][1],m=9*Io*r[1][1],x=9*Io*r[2][1],b=9*Io*r[3][1],I=Math.min(o-u,i-f,c-l,s-a),_=Math.max(o+u,i+f,c+l,s+a);return[[I,Math.min(p-g,h-m,d-x,v-b)],[_,Math.max(p+g,h+m,d+x,v+b)]]}(t,n):3===t.length?function(t,n){const{ps:e,_ps:r}=O(t,n[0],n[1]),o=e[0][0],i=e[1][0],c=e[2][0],s=5*Io*r[0][0],u=5*Io*r[1][0],f=5*Io*r[2][0],l=e[0][1],a=e[1][1],p=e[2][1],h=5*Io*r[0][1],d=5*Io*r[1][1],v=5*Io*r[2][1],g=Math.min(o-s,i-u,c-f),m=Math.max(o+s,i+u,c+f);return[[g,Math.min(l-h,a-d,p-v)],[m,Math.max(l+h,a+d,p+v)]]}(t,n):function(t,n){const{ps:e,_ps:r}=function(t,n,e){return 0===n?1===e?{ps:t,_ps:bo}:function(t,n){const e=t[0],r=t[1],o=e[0],i=e[1],c=r[0],s=r[1],u=[[o,i],[n*(c-o)+o,n*(s-i)+i]],f=xo(n),l=xo(o),a=xo(c),p=xo(i);return{ps:u,_ps:[[0,0],[f*(a+l)+l,f*(xo(s)+p)+p]]}}(t,e):1===e?function(t,n){const e=t[0],r=t[1],o=e[0],i=e[1],c=r[0],s=r[1],u=[[n*(c-o)+o,n*(s-i)+i],[c,s]],f=xo(n),l=xo(o),a=xo(c),p=xo(i);return{ps:u,_ps:[[f*(a+l)+l,f*(xo(s)+p)+p],[0,0]]}}(t,n):function(t,n,e){const r=t[0],o=t[1],i=r[0],c=r[1],s=o[0],u=o[1],f=[[n*(s-i)+i,n*(u-c)+c],[e*(s-i)+i,e*(u-c)+c]],l=xo(n),a=xo(e),p=xo(i),h=xo(s),d=xo(c),v=xo(u);return{ps:f,_ps:[[l*(h+p)+p,l*(v+d)+d],[a*(h+p)+p,a*(v+d)+d]]}}(t,n,e)}(t,n[0],n[1]),o=e[0][0],i=e[1][0],c=3*Io*r[0][0],s=3*Io*r[1][0],u=e[0][1],f=e[1][1],l=3*Io*r[0][1],a=3*Io*r[1][1],p=Math.min(o-c,i-s),h=Math.max(o+c,i+s);return[[p,Math.min(u-l,f-a)],[h,Math.max(u+l,f+a)]]}(t,n):function(t,n){const e=t[0],r=t[t.length-1];if(0===n)return[e,e];if(1===n)return[r,r];const o=vo(t,n);let i;if(4===t.length)i=mo(t,[0,n]).map(t=>8*_o*t);else if(3===t.length)i=mo(t,[0,n]).map(t=>5*_o*t);else if(2===t.length)i=mo(t,[0,n]).map(t=>2*_o*t);else if(1===t.length)return[o,o];return[[o[0]-i[0],o[1]-i[1]],[o[0]+i[0],o[1]+i[1]]]}(t,n[0])}function So(t){const n=t[0],e=t[1];return[(n[0]+e[0])/2,(n[1]+e[1])/2]}const Eo=ht,wo=dt,Mo=H,Oo=B,To=Number.EPSILON;function Co(t){return[2*t[0],2*t[1]]}function yo(t){return[4*t[0],4*t[1]]}const Po=P,Ao=x,Bo=Ir,zo=sr,Fo=Co,Yo=yo,Vo=b;function Lo(t,n){const e=t[0],r=t[1],o=t[2],i=t[3],c=e[0],s=e[1],u=r[0],f=r[1],l=o[0],a=o[1],p=i[0],h=i[1],[d,v]=n,g=Po(c,d),m=Po(u,d),x=Po(l,d),b=Po(p,d),I=Po(s,v),_=Po(f,v),N=Po(a,v),S=Po(h,v),E=zo(g,g),w=Bo(6,zo(g,m)),M=Bo(6,zo(g,x)),O=Fo(zo(g,b)),T=Bo(9,zo(m,m)),C=Bo(18,zo(m,x)),y=Bo(6,zo(m,b)),P=Bo(9,zo(x,x)),A=Bo(6,zo(x,b)),B=zo(b,b),z=zo(I,I),F=Bo(6,zo(I,_)),Y=Bo(6,zo(I,N)),V=Fo(zo(I,S)),L=Bo(9,zo(_,_)),k=Bo(18,zo(_,N)),$=Bo(6,zo(_,S)),X=Bo(9,zo(N,N)),q=Bo(6,zo(N,S)),H=zo(S,S),D=Ao(y,P),Q=Ao(O,C),G=Ao(M,T),R=Ao($,X),U=Ao(V,k),j=Ao(Y,L);return[Bo(6,Ao(Ao(Ao(Ao(Vo(B,A),Vo(E,w)),D),Vo(G,Q)),Ao(Ao(Ao(Vo(H,q),Vo(z,F)),R),Vo(j,U)))),Bo(5,Ao(Vo(Ao(Ao(A,Bo(5,w)),Bo(3,Q)),Fo(Ao(Ao(D,Fo(G)),Bo(3,E)))),Vo(Ao(Ao(q,Bo(5,F)),Bo(3,U)),Fo(Ao(Ao(R,Fo(j)),Bo(3,z)))))),Yo(Ao(Vo(Vo(D,Bo(3,Vo(Q,Fo(G)))),Bo(5,Vo(Fo(w),Bo(3,E)))),Vo(Vo(R,Bo(3,Vo(U,Fo(j)))),Bo(5,Vo(Fo(F),Bo(3,z)))))),Bo(3,Ao(Vo(Q,Fo(Vo(Fo(G),Bo(5,Vo(w,Fo(E)))))),Vo(U,Fo(Vo(Fo(j),Bo(5,Vo(F,Fo(z)))))))),Fo(Ao(Vo(G,Bo(5,Vo(w,Bo(3,E)))),Vo(j,Bo(5,Vo(F,Bo(3,z)))))),Ao(Vo(w,Bo(6,E)),Vo(F,Bo(6,z)))]}const ko=P,$o=x,Xo=Ir,qo=sr,Ho=Co,Do=b,Qo=yo;function Go(t,n){const[[e,r],[o,i],[c,s]]=t,[u,f]=n,l=ko(e,u),a=ko(o,u),p=ko(c,u),h=ko(r,f),d=ko(i,f),v=ko(s,f),g=qo(l,l),m=qo(l,a),x=qo(l,p),b=qo(a,a),I=qo(a,p),_=qo(p,p),N=qo(h,h),S=qo(h,d),E=qo(h,v),w=qo(d,d),M=qo(d,v),O=qo(v,v),T=$o(E,Ho(w)),C=$o(x,Ho(b));return[$o(Do($o($o(O,N),Ho(T)),Qo($o(M,S))),Do($o($o(_,g),Ho(C)),Qo($o(I,m)))),Xo(3,$o($o(Do(M,T),Do(Xo(3,S),N)),$o(Do(I,C),Do(Xo(3,m),g)))),$o(Do(T,Xo(3,Do(Ho(S),N))),Do(C,Xo(3,Do(Ho(m),g)))),$o(Do(S,N),Do(m,g))]}const Ro=m,Uo=x,jo=function(t){return[-2*t[0],-2*t[1]]},Zo=b;function Wo(t,n){const[[e,r],[o,i]]=t,[c,s]=n,u=e-c,f=o-c,l=r-s,a=i-s,p=Ro(u,u),h=Ro(u,f),d=Ro(f,f),v=Ro(l,l),g=Ro(l,a),m=Ro(a,a),x=Uo(h,g),b=Uo(v,p);return[Uo(Uo(d,m),Uo(b,jo(x))),Zo(x,b)]}function Jo(t){const n=[];for(let e=0;e<t.length;e++)n.push(2*t[e]);return n}function Ko(t){const n=[];for(let e=0;e<t.length;e++)n.push(-2*t[e]);return n}const ti=dt,ni=H,ei=$,ri=Jo,oi=Ko,ii=B,ci=V,si=dt,ui=H,fi=$,li=Jo,ai=B,pi=V;function hi(t){const n=[];for(let e=0;e<t.length;e++)n.push(4*t[e]);return n}const di=dt,vi=H,gi=Ko,mi=B,xi=V,bi=Math.abs;function Ii(t,n){const e=t[0],r=t[1],o=t[2],i=t[3],c=bi(e[0]),s=bi(e[1]),u=bi(r[0]),f=bi(r[1]),l=bi(o[0]),a=bi(o[1]),p=bi(i[0]),h=bi(i[1]),d=bi(n[0]),v=bi(n[1]),g=c+d,m=u+d,x=l+d,b=p+d,I=s+v,_=f+v,N=a+v,S=h+v,E=g*g,w=6*g*m,M=6*x*b,O=I*I,T=6*I*_,C=6*N*S,y=6*m*b+9*x*x,P=2*g*b+18*m*x,A=6*g*x+9*m*m,B=6*_*S+9*N*N,z=2*I*S+18*_*N,F=6*I*N+9*_*_;return[6*(b*b+M+(E+w)+y+(A+P)+(S*S+C+(O+T)+B+(F+z))),5*(M+5*w+3*P+2*(y+2*A+3*E)+(C+5*T+3*z+2*(B+2*F+3*O))),4*(y+3*(P+2*A)+5*(2*w+3*E)+(B+3*(z+2*F)+5*(2*T+3*O))),3*(P+2*(2*A+5*(w+2*E))+(z+2*(2*F+5*(T+2*O)))),2*(A+5*(w+3*E)+(F+5*(T+3*O))),w+6*E+(T+6*O)]}function _i(t,n){const e=t[0],r=t[1],o=t[2],i=bi(e[0]),c=bi(e[1]),s=bi(r[0]),u=bi(r[1]),f=bi(o[0]),l=bi(o[1]),a=bi(n[0]),p=bi(n[1]),h=i+a,d=s+a,v=f+a,g=c+p,m=u+p,x=l+p,b=h*h,I=h*d,_=d*v,N=g*g,S=g*m,E=m*x,w=g*x+m*m*2,M=h*v+d*d*2;return[x*x+N+2*w+4*(E+S)+(v*v+b+2*M+4*(_+I)),3*(E+w+(3*S+N)+(_+M+(3*I+b))),w+3*(2*S+N)+(M+3*(2*I+b)),S+N+(I+b)]}function Ni(t,n){const e=t[0],r=t[1],o=bi(e[0]),i=bi(e[1]),c=bi(r[0]),s=bi(r[1]),u=bi(n[0]),f=bi(n[1]),l=o+u,a=c+u,p=i+f,h=s+f,d=l*a+p*h,v=p*p+l*l;return[a*a+h*h+2*d+v,d+v]}const Si=Z(6);function Ei(t,n){const e=t.length-1;if(3===e)return{polyDd:Lo(t,n),polyE:Ii(t,n).map(t=>10*Si*t),getPolyExact:()=>function(t,n){const e=t[0],r=t[1],o=t[2],i=t[3],c=e[0],s=e[1],u=r[0],f=r[1],l=o[0],a=o[1],p=i[0],h=i[1],[d,v]=n,g=ti(c,d),m=ti(u,d),x=ti(l,d),b=ti(p,d),I=ti(s,v),_=ti(f,v),N=ti(a,v),S=ti(h,v),E=ni(g,g),w=ei(6,ni(g,m)),M=ei(6,ni(g,x)),O=ri(ni(g,b)),T=ei(9,ni(m,m)),C=ei(18,ni(m,x)),y=ei(6,ni(m,b)),P=ei(9,ni(x,x)),A=ei(6,ni(x,b)),B=ni(b,b),z=ni(I,I),F=ei(6,ni(I,_)),Y=ei(6,ni(I,N)),V=ri(ni(I,S)),L=ei(9,ni(_,_)),k=ei(18,ni(_,N)),$=ei(6,ni(_,S)),X=ei(9,ni(N,N)),q=ei(6,ni(N,S)),H=ni(S,S),D=ii(y,P),Q=ii(O,C),G=ii(M,T),R=ii($,X),U=ii(V,k),j=ii(Y,L),Z=ci(ii(ii(B,E),ii(D,G)),ii(ii(Q,A),w)),W=ci(ii(ii(H,z),ii(R,j)),ii(ii(U,q),F)),J=ei(6,ii(Z,W)),K=ii(oi(ii(ii(D,ri(G)),ei(3,E))),ii(ii(A,ei(3,Q)),ei(5,w))),tt=ii(oi(ii(ii(R,ri(j)),ei(3,z))),ii(ii(q,ei(3,U)),ei(5,F))),nt=ei(5,ii(K,tt)),et=ii(ii(D,ei(3,ci(ri(G),Q))),ei(5,ci(ei(3,E),ri(w)))),rt=ii(ii(R,ei(3,ci(ri(j),U))),ei(5,ci(ei(3,z),ri(F)))),ot=ei(4,ii(et,rt)),it=ci(Q,ri(ci(ri(G),ei(5,ci(w,ri(E)))))),ct=ci(U,ri(ci(ri(j),ei(5,ci(F,ri(z)))))),st=ei(3,ii(it,ct)),ut=ci(G,ei(5,ci(w,ei(3,E)))),ft=ci(j,ei(5,ci(F,ei(3,z)))),lt=ri(ii(ut,ft)),at=ci(w,ei(6,E)),pt=ci(F,ei(6,z));return[J,nt,ot,st,lt,ii(at,pt)]}(t,n)};if(2===e)return{polyDd:Go(t,n),polyE:_i(t,n).map(t=>8*Si*t),getPolyExact:()=>function(t,n){const[[e,r],[o,i],[c,s]]=t,[u,f]=n,l=si(e,u),a=si(o,u),p=si(c,u),h=si(r,f),d=si(i,f),v=si(s,f),g=ui(l,l),m=ui(l,a),x=ui(l,p),b=ui(a,a),I=ui(a,p),_=ui(p,p),N=ui(h,h),S=ui(h,d),E=ui(h,v),w=ui(d,d),M=ui(d,v),O=ui(v,v),T=ai(E,li(w)),C=ai(x,li(b)),y=ai(pi(ai(_,li(C)),hi(ai(I,m))),g),P=ai(pi(ai(O,li(T)),hi(ai(M,S))),N),A=ai(y,P),B=ai(pi(I,C),pi(fi(3,m),g)),z=ai(pi(M,T),pi(fi(3,S),N)),F=fi(3,ai(B,z)),Y=pi(T,fi(3,pi(li(S),N))),V=pi(C,fi(3,pi(li(m),g))),L=ai(Y,V),k=pi(S,N),$=pi(m,g);return[A,F,L,ai(k,$)]}(t,n)};if(1===e)return{polyDd:Wo(t,n),polyE:Ni(t,n).map(t=>6*Si*t),getPolyExact:()=>function(t,n){const[[e,r],[o,i]]=t,[c,s]=n,u=di(e,c),f=di(o,c),l=di(r,s),a=di(i,s),p=vi(u,u),h=vi(u,f),d=vi(f,f),v=vi(l,l),g=vi(l,a),m=vi(a,a),x=mi(h,g),b=mi(v,p);return[mi(mi(d,m),mi(gi(x),b)),xi(x,b)]}(t,n)};if(0===e)return{polyDd:[[0,1]],polyE:[0],getPolyExact:()=>[[1]]};throw new Error("The given bezier curve must be of order <= 3")}const{sqrt:wi}=Math;function Mi(t,n,e=0,r=1){const{polyDd:o,polyE:i,getPolyExact:c}=Ei(t,n),s=ao(o,e,r,i,c);s.push({tS:e,tE:e,multiplicity:1}),s.push({tS:r,tE:r,multiplicity:1});const u=s.map(e=>{const r=No(t,[e.tS,e.tE]),o=function(t,n){const e=t[0],r=t[1],o=e[0],i=e[1],c=r[0],s=r[1],u=n[0],f=n[1];let l=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY;for(const[t,n]of[[o,i],[o,s],[c,i],[c,s]]){const e=wo(t,u),r=wo(n,f),o=Oo(Mo(e,e),Mo(r,r)),i=Eo(o),c=i*(1-To),s=i*(1+To);c<=l&&(l=c),s>=a&&(a=s)}return[l,a]}(r,n);return{p:So(r),t:ho(e),d:(wi(o[0])+wi(o[1]))/2,dSquaredI:o,box:r,ri:e}});let f=Number.POSITIVE_INFINITY;for(let t=0;t<u.length;t++){const n=u[t].dSquaredI[1];n<f&&(f=n)}const l=[];for(let t=0;t<u.length;t++){const n=u[t];n.dSquaredI[0]<=f&&l.push(n)}return l}function Oi(t){const n=t.xs;if(4===n.length){let t=0,e=0;for(let r=0;r<n.length;r++)0===n[r].x.kind&&t++,4===n[r].x.kind&&e++;if(2===t&&2===e)return!0}return n.length<=2&&7!==n[0].x.kind}const Ti=vt;function Ci(t){const n=(t=Ti(t)).length;return 2===n?t:1===n?[0,t[0]]:[t[n-2],t[n-1]]}const yi=H,Pi=B,Ai=$,Bi=ao,zi=Ci,Fi=J,Yi=Number.EPSILON;function Vi(t,n){const e=t.tS,r=t.tE-e;if(0===r)return[{tS:[0,e],tE:[0,e],multiplicity:t.multiplicity}];const o=function(t,n,e){const r=t.length-1;if(r<0)return[];const o=[];for(let t=0;t<r+1;t++)o.push(new Array(r+1).fill([0]));o[0][0]=[1];for(let t=1;t<=r;t++){o[0][t]=Ai(e,o[0][t-1]);for(let r=1;r<=t;r++)o[r][t]=Pi(Ai(e,o[r][t-1]),Ai(n,o[r-1][t-1]))}const i=new Array(r+1).fill([0]);for(let n=0;n<=r;n++){i[r-n]=[0];for(let e=n;e<=r;e++){const c=yi(o[n][e],t[r-e]);i[r-n]=Pi(i[r-n],c)}}return i}(n,r,e),i=o.map(zi),c=i.map(t=>Yi*Yi*t[1]),s=Bi(i,0,1,c,()=>o),u=[];for(const t of s)u.push({tS:Fi(e,t.tS*r),tE:Fi(e,t.tE*r),multiplicity:t.multiplicity});return u}const{abs:Li}=Math;function ki(t,n){const e=t.inOuts;e.sort(function(t){return(n,e)=>{let r=n.side-e.side;if(0!==r)return r;const o=n.sideX,i=e.sideX;r=o.ri.tS-i.ri.tS;const c=8*Number.EPSILON;return Li(r)>=c?r:(o.compensated||(o.compensated=1,o.riExp=Vi(o.ri,o.getPExact())[0]),i.compensated||(i.compensated=1,i.riExp=Vi(i.ri,i.getPExact())[0]),r=G(o.riExp.tS,i.riExp.tS),0!==r?r:(r=n.dir-e.dir,0!==r?t*r:1===n.dir?n.idx-e.idx:e.idx-n.idx))}}(n));let r=e[e.length-1];for(let t=0;t<e.length;t++){const n=e[t];n.prevAround=r,r.nextAround=n,r=n}}function $i(t,n,e,r){const o=function(t,n){return(e,r,o)=>{t.has(e)||(e.orientation=r,e.parent=o,e.windingNum=o.windingNum+e.orientation,n.push(e))}}(r,e);ki(t.container,n.orientation);let i,c,s=1,u=t,f=n.orientation;for(;u=1===n.orientation?u.nextAround:u.prevAround,u!==t;){const t=s;s-=u.dir,1===s&&(f*=-1),-1!==u.dir&&(i?1===t&&0===s?o(u,n.orientation,n.parent):0===t&&-1===s&&o(u,-n.orientation,n.parent):0===s?i=u:1===s&&o(u,n.orientation,n))}return Oi(t.container)||(c=[t.p,i.p]),{inOutToUse:i,additionalBezier:c}}function Xi(t,n){const e=t.nextOrPrev;n.add(e);const r=t._x_,o=e._x_,i=r.curve,c=r.x.ri.tS,s=o.curve,u=o.x.ri.tS;let f=i,l=c;Oi(t.container)||(l=ho(Mi(i.ps,t.p)[0].ri));const a=[];for(;;){if(f===s&&(l<u||l===u&&0!==a.length)){const t=f.ps,n=[l,u];return a.push({ps:t,ts:n}),{bezierPieces:a,inOut:e}}{const t=f.ps,n=[l,1];a.push({ps:t,ts:n})}l=0,f=f.next}}function qi(t,n){const e=t.nextOrPrev;n.add(e);const r=e._x_,o=t._x_,i=o.curve,c=o.x.ri.tS,s=r.curve,u=r.x.ri.tS;let f=i,l=c;Oi(t.container)||(l=ho(Mi(f.ps,t.p)[0].ri));const a=[];for(;;){const t=f.ps;if(f===s&&(l>u||l===u&&0!==a.length)){const n=[l,u];return a.push({ps:t,ts:n}),{bezierPieces:a,inOut:e}}{const n=[l,0];a.push({ps:t,ts:n})}l=1,f=f.prev}}function Hi(t,n,e,r){const o=function(t,n,e){return(r,o,i,c)=>{n.has(r)||1!==r.dir||(r.loopsIdxs=new Set(c),r.orientation=o*t.orientation,r.parent=i.parent,r.windingNum=i.windingNum+r.orientation,e.unshift(r))}}(n,r,e);ki(t.container,1);let i=t.nextAround,c=t;const s=new Set(n.loopsIdxs);for(;c=c.nextAround,c!==t;)o(c,n.dir,n,s),-1===c.dir?s?.add(c._x_?.curve.loop.idx):s.delete(c._x_?.curve.loop.idx);let u;return Oi(t.container)||(u=[t.p,i.p]),{inOutToUse:i,additionalBezier:u}}function Di(t){const{ps:n,ts:e}=t;return Gn(n,e[0],e[1])}function Qi(t,n,e){const r=[],o=[];let i,c=n;do{t.add(c);const s=1===c.dir?Xi(c,t):qi(c,t),{bezierPieces:u,inOut:f}=s;o.push(...u);const l=(e?Hi:$i)(f,n,r,t);if(({inOutToUse:c,additionalBezier:i}=l),void 0!==i){const t=Di(o[o.length-1]),n={ps:t,ts:[0,ho(Mi(t,i[0])[0].ri)]};o.pop(),o.push(n),o.push({ps:i,ts:[0,1]})}}while(c!==n);return{bezierPieces:o,additionalOutsToCheck:r}}function Gi(t,n,e,r){const o=[t];for(;o.length;){const t=o.pop();if(n.add(t._x_.curve.loop),e.has(t))continue;t.children=new Set;const{bezierPieces:i,additionalOutsToCheck:c}=Qi(e,t,r);t.bezierPieces=i,t.parent.children=t.parent.children||new Set,t.parent.children.add(t),o.push(...c)}}function Ri(t){if(4===t.length)return Ui(t);if(3===t.length)return ji(t);if(2===t.length)return function(t){const[[n,e],[r,o]]=t;return[[r-n,n],[o-e,e]]}(t);if(1===t.length)return function(t){const[[n,e]]=t;return[[n],[e]]}(t);throw new Error("The given bezier curve must be of order <= 3.")}function Ui(t){const[[n,e],[r,o],[i,c],[s,u]]=t;return[[s-n+3*(r-i),3*(i+n-2*r),3*(r-n),n],[u-e+3*(o-c),3*(c+e-2*o),3*(o-e),e]]}function ji(t){const[[n,e],[r,o],[i,c]]=t;return[[i+n-2*r,2*(r-n),n],[c+e-2*o,2*(o-e),e]]}function Zi(t,n=Number.NEGATIVE_INFINITY,e=Number.POSITIVE_INFINITY,r){return ao(t.map(t=>[0,t]),n,e,void 0,void 0,r)}function Wi(t){const n=t[0],e=t[t.length-1];let r,o;if(n[1]<e[1]?(r={ts:[0,0],box:[n,n]},o={ts:[1,1],box:[e,e]}):(r={ts:[1,1],box:[e,e]},o={ts:[0,0],box:[n,n]}),2===t.length)return{minY:r,maxY:o};const[,i]=qn(t),c=Zi(i,0,1);for(let n=0;n<c.length;n++){const e=c[n],i=[e.tS,e.tE],s=No(t,i);s[0][1]<r.box[0][1]&&(r={ts:i,box:s}),s[1][1]>o.box[0][1]&&(o={ts:i,box:s})}return{minY:r,maxY:o}}function Ji(t){const n=function(t){const n=t[0],e=t[t.length-1];let r,o;if(n[0]<e[0]?(r={ts:[0,0],box:[n,n]},o={ts:[1,1],box:[e,e]}):(r={ts:[1,1],box:[e,e]},o={ts:[0,0],box:[n,n]}),2===t.length)return{minX:r,maxX:o};const[i]=qn(t),c=Zi(i,0,1);for(let n=0;n<c.length;n++){const e=c[n],i=[e.tS,e.tE],s=No(t,i);s[0][0]<r.box[0][0]&&(r={ts:i,box:s}),s[1][0]>o.box[0][0]&&(o={ts:i,box:s})}return{minX:r,maxX:o}}(t),e=Wi(t);return[[n.minX.box[0][0],e.minY.box[0][1]],[n.maxX.box[1][0],e.maxY.box[1][1]]]}const Ki=Wn(Ji);function tc(t){const n=qn(t),e=Bn(n[0],0,1),r=Bn(n[1],0,1);e.push(0,1),r.push(0,1);let o,i,c,s,u=Number.POSITIVE_INFINITY,f=Number.NEGATIVE_INFINITY,l=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY;for(let n=0;n<e.length;n++){const r=e[n],[c]=vo(t,r);c<u&&(u=c,o=r),c>f&&(f=c,i=r)}for(let n=0;n<r.length;n++){const e=r[n],[,o]=vo(t,e);o<l&&(l=o,c=e),o>a&&(a=o,s=e)}return{ts:[[o,c],[i,s]],box:[[u,l],[f,a]]}}const nc=Wn(tc),{min:ec,max:rc}=Math;function oc(t){const n=t.map(nc);return{minX:ec(...n.map(t=>t.box[0][0])),maxX:rc(...n.map(t=>t.box[1][0])),minY:ec(...n.map(t=>t.box[0][1])),maxY:rc(...n.map(t=>t.box[1][1]))}}const ic=new Function("try {return this===window;}catch(e){ return false;}")()?function(t){const n=window.atob(t),e=n.length,r=new Uint8Array(e);for(let t=0;t<e;t++)r[t]=n.charCodeAt(t);return r.buffer}:function(t){return function(t){const n=new ArrayBuffer(t.length),e=new Uint8Array(n);for(let n=0;n<t.length;++n)e[n]=t[n];return n}(Buffer.from(t,"base64"))},cc=ic("AGFzbQEAAAABBgFgAX8BfAMDAgAABQMBAAAHHwMGbWVtb3J5AgAHc3F1YXJlcwAACHNxdWFyZXM0AAEKjgECPwECfiAArULHuuXf9tjQm2p+IgEgASABfnxCIIoiAiACfiABQse65d/22NCbanx8QiCKIgIgAn4gAXxCIIi6C0wBAn4gAK1Cx7rl3/bY0JtqfiIBQse65d/22NCbanwiAiABIAIgASABIAF+fEIgiiIBIAF+fEIgiiIBIAF+fEIgiiIBIAF+fEIgiLoL"),sc=new WebAssembly.Module(cc),uc=new WebAssembly.Instance(sc),fc=uc.exports.squares;uc.exports.squares4;const lc=1e-6;function ac(t,n){let e;const r=[t];for(;r.length;)o(r.pop());return e;function o(o){if(o===t||function(t,n){let e=0;do{e++;const o=fc(e)/4294967296,i=r(t,n,vo(t[fc(e+1e3)%t.length],o));if(void 0!==i)return i}while(e<100);return;function r(t,n,e){if(function(t,n){const e=oc(t),r=oc(n);return e.minX<r.minX||e.maxX>r.maxX||e.minY<r.minY||e.maxY>r.maxY}(t,n))return!1;const r=function(t,n){const[e,r]=n;let o=0;for(let i=0;i<t.length;i++){const c=t[i],[[s,u],[f,l]]=Ki(c);let a=u>r||l<r||!1;if(a=a||s>e||!1,a)continue;const p=[];let h,d,v;const g=!0;h=t=>Ri(t)[1],d=[0,-r],v=0;const m=c.map(oe(d)),x=Bn(h(m),0-lc,1+lc);for(let t=0;t<x.length;t++){const e=x[t];if(Math.abs(e)<lc||Math.abs(e-1)<lc)return;const r=vo(m,e);(g&&n[v]>=r[v]||!g&&n[v]<=r[v])&&p.push(e)}if(1===p.length||3===p.length)for(const t of p){const n=ie(se(c,t));if(Math.abs(n[1])<lc)return}o+=p.length}return o}(n,e);return void 0!==r?r%2!=0:void 0}}(n.beziers,o.bezierPieces.map(Di))){e=o;for(const t of o.children)r.push(t)}}}function pc(t,n){return hc(t)-hc(n)}function hc(t){let n=Number.POSITIVE_INFINITY;for(const e of t){const t=nc(e).box[0][1];t<n&&(n=t)}return n}function dc(t){const n=[t],e=Array.from(t.children);for(;e.length;){const t=e.pop();0===t.windingNum&&n.push(t);for(const n of t.children)e.push(n)}return n}function vc(t,n,e){let[[r,o],[i,c]]=n,[[s,u],[f,l]]=e;o>c&&([o,c]=[c,o]),u>l&&([u,l]=[l,u]),r>i&&([r,i]=[i,r]),s>f&&([s,f]=[f,s]);const a=t||r===i&&s===f,p=t||o===c&&u===l;return(a?r<=f:r<f)&&(a?i>=s:i>s)&&(p?u<=c:u<c)&&(p?l>=o:l>o)}function gc(t,n){return vc(!0,t.box,n.box)}function mc(t,n){for(let e=0;e<n.length;e++){const r=n[e];xc(t,[r.a,r.b])}}function xc(t,n){const[e,r]=n;let o=t.get(e);o||(o=[],t.set(e,o));let i=t.get(r);i||(i=[],t.set(r,i)),o.push(r),i.push(e)}function bc(t,n,e,r){e.add(n),r.push(n);const o=t.get(n);for(let n=0;n<o.length;n++){const i=o[n];e.has(i)||bc(t,i,e,r)}}function Ic(t){const n=[],e=new Set;for(const r of t){const o=r[0];e.has(o)||(n.push([]),bc(t,o,e,n[n.length-1]))}return n}function _c(t,n){const e=new Set;for(const t of n)for(const n of t)e.add(n);const r=[];for(let n=0;n<t.length;n++){const o=t[n];e.has(o)||r.push(o)}return r}function Nc(t){const n=[];for(const e of t){let t=Number.POSITIVE_INFINITY,r=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,i=Number.NEGATIVE_INFINITY;const c=[];for(const n of e){const[[e,s],[u,f]]=n.box;e<t&&(t=e),s<r&&(r=s),u>o&&(o=u),f>i&&(i=f),c.push(...n.xs)}const s={box:[[t,r],[o,i]],xs:c,inOuts:void 0};n.push(s)}return n}function Sc(t){return{tS:[0,t.tS],tE:[0,t.tE],multiplicity:t.multiplicity}}const Ec=P,wc=Ir,Mc=x,Oc=ur,Tc=Math.abs;function Cc(t){const[[n,e],[r,o],[i,c],[s,u]]=t,f=Ec(s,n),l=Ec(r,i),a=3*(r-i),p=wc(3,l),h=Tc(a),d=Mc(f,p),v=h+Tc(s-n+a),g=Ec(i,2*r),m=Oc(g,n),x=Tc(i-2*r+n),b=wc(3,m),I=6*x,_=Ec(r,n),N=wc(3,_),S=Tc(3*(r-n)),E=Ec(u,e),w=Ec(o,c),M=3*(o-c),O=wc(3,w),T=Tc(M),C=Mc(E,O),y=T+Tc(u-e+M),P=Ec(c,2*o),A=Oc(P,e),B=Tc(c-2*o+e),z=wc(3,A),F=6*B,Y=Ec(o,e);return{coeffs:[[d,b,N,[0,n]],[C,z,wc(3,Y),[0,e]]],errorBound:[[v,I,S,0],[y,F,Tc(3*(o-e)),0]]}}function yc(t){const[[n,e],[r,o],[i,c]]=t,s=i-2*r,u=Ec(i,2*r),f=Oc(u,n),l=Tc(s+n),a=Ec(2*r,2*n),p=c-2*o,h=Ec(c,2*o),d=Oc(h,e),v=Tc(p+e);return{coeffs:[[f,a,[0,n]],[d,Ec(2*o,2*e),[0,e]]],errorBound:[[l,0,0],[v,0,0]]}}function Pc(t){const[[n,e],[r,o]]=t;return[[Ec(r,n),[0,n]],[Ec(o,e),[0,e]]]}const Ac=b,Bc=Ir,zc=z,Fc=Math.abs;function Yc(t){const[[n,[,e]],[r,[,o]]]=Pc(t),i=zc(r),c=n,s=Bc(o,n),u=Fc(s[1]),f=Bc(e,r),l=Fc(f[1]),a=Ac(f,s);return{coeffs:{vₓ:i,vᵧ:c,v:a},errorBound:{v_:u+l+Fc(a[1])}}}const Vc=x,Lc=Ir,kc=sr,$c=Math.abs,Xc=Z(3);function qc(t){return[-t[0],-t[1]]}const Hc=qc,Dc=Co,Qc=Ir,Gc=sr,Rc=b,Uc=Math.abs;function jc(t){const{coeffs:[[n,e,[,r]],[o,i,[,c]]],errorBound:[[s],[u]]}=yc(t),f=n[1],l=e[1],a=o[1],p=i[1],h=Uc(r),d=Uc(l),v=Uc(f),g=Uc(c),m=Uc(p),x=Uc(a),b=Gc(n,i),I=s*m+2*Uc(f*p),_=Gc(e,o),N=d*u+2*Uc(l*a),S=Qc(c,n),E=g*s+Uc(c*f),w=Qc(r,o),M=h*u+Uc(r*a),O=Qc(c,e),T=Uc(c*l),C=Qc(r,i),y=Uc(r*p),P=Gc(n,n),A=2*(s*v+Uc(f*f)),B=Gc(n,o),z=s*x+v*u+2*Uc(f*a),F=Gc(o,o),Y=2*(u*x+Uc(a*a)),V=f*p-l*a,L=f*c-r*a,k=l*c-r*p,$=Rc(b,_),X=Uc(V),q=I+N+Uc(V),H=Rc(S,w),D=Uc(L),Q=E+M+Uc(L),G=Rc(O,C),R=Uc(k),U=T+y+Uc(k),j=Hc(F),Z=Y,W=Dc(B),J=z,K=Hc(P),tt=A,nt=p*V,et=Gc(i,$),rt=m*q+2*Uc(nt),ot=2*L*a,it=Dc(Gc(o,H)),ct=2*(u*D+x*Q+2*Uc(ot)),st=nt-ot,ut=Rc(et,it),ft=rt+ct+Uc(st),lt=2*f*L,at=Dc(Gc(n,H)),pt=2*(s*D+v*Q+2*Uc(lt)),ht=l*V,dt=Gc(e,$),vt=d*q+2*Uc(ht),gt=lt-ht,mt=Rc(at,dt),xt=pt+vt+Uc(gt),bt=V*k,It=Gc($,G),_t=q*R+X*U+2*Uc(bt),Nt=L*L,St=Gc(H,H),Et=2*(Q*D+Uc(Nt)),wt=bt-Nt;return{coeffs:{vₓₓ:j,vₓᵧ:W,vᵧᵧ:K,vₓ:ut,vᵧ:mt,v:Rc(It,St)},errorBound:{vₓₓ_:Z,vₓᵧ_:J,vᵧᵧ_:tt,vₓ_:ft,vᵧ_:xt,v_:_t+Et+Uc(wt)}}}const Zc=m,Wc=Co,Jc=Ir,Kc=sr,ts=x,ns=Math.abs,es=Z(3),rs=Math.abs,os=qc,is=Co,cs=Ir,ss=sr,us=b,fs=x;function ls(t){const{coeffs:[[n,e,r,[,o]],[i,c,s,[,u]]],errorBound:[[f,l,a],[p,h,d]]}=Cc(t),v=r[1],g=e[1],m=n[1],x=s[1],b=c[1],I=i[1],_=rs(o),N=rs(v),S=rs(g),E=rs(m),w=rs(u),M=rs(x),O=rs(b),T=rs(I),C=ss(n,s),y=m*x,P=f*M+E*d+2*rs(y),A=ss(r,i),B=v*I,z=a*T+N*p+2*rs(B),F=ss(n,c),Y=m*b,V=f*O+E*h+2*rs(Y),L=ss(e,c),k=g*b,$=l*O+S*h+2*rs(k),X=ss(e,i),q=g*I,H=l*T+S*p+2*rs(q),D=ss(n,n),Q=m*m,G=rs(Q),R=f*E+E*f+2*rs(Q),U=ss(c,c),j=b*b,Z=h*O+O*h+2*rs(j),W=ss(i,i),J=I*I,K=rs(J),tt=p*T+T*p+2*rs(J),nt=ss(r,n),et=v*m,rt=a*E+N*f+2*rs(et),ot=ss(e,e),it=g*g,ct=l*S+S*l+2*rs(it),st=ss(s,i),ut=x*I,ft=d*T+M*p+2*rs(ut),lt=ss(c,i),at=rs(b*I),pt=h*T+O*p+2*at,ht=ss(e,n),dt=rs(g*m),vt=l*E+S*f+2*dt,gt=ss(n,i),mt=rs(m*I),xt=f*T+E*p+2*mt,bt=cs(u,n),It=m*u,_t=f*w+rs(It),Nt=cs(o,i),St=o*I,Et=_*p+rs(St),wt=cs(u,e),Mt=g*u,Ot=l*w+rs(Mt),Tt=cs(o,c),Ct=o*b,yt=_*h+rs(Ct),Pt=ss(e,s),At=g*x,Bt=l*M+S*d+2*rs(At),zt=ss(r,c),Ft=v*b,Yt=a*O+N*h+2*rs(Ft),Vt=cs(u,r),Lt=v*u,kt=a*w+rs(Lt),$t=cs(o,s),Xt=o*x,qt=_*d+rs(Xt),Ht=us(bt,Nt),Dt=_t+Et+rs(It-St),Qt=us(C,A),Gt=P+z+rs(y-B),Rt=us(F,X),Ut=V+H+rs(Y-q),jt=us(wt,Tt),Zt=Ot+yt+rs(Mt-Ct),Wt=us(Pt,zt),Jt=Bt+Yt+rs(At-Ft),Kt=us(Vt,$t),tn=kt+qt+rs(Lt-Xt),nn=rs(ut-j),en=us(st,U),rn=ft+Z+nn,on=rs(et-it),cn=us(nt,ot),sn=rt+ct+rs(et-it),un=rs(q+Y),fn=fs(X,F),ln=H+V+rs(q+Y),an=B+y,pn=rs(an),hn=fs(A,C),dn=z+P+pn,vn=is(Qt),gn=2*Gt,mn=It-St,xn=y-B,bn=Y-q,In=Mt-Ct,_n=At-Ft,Nn=Lt-Xt,Sn=rs(mn),En=rs(xn),wn=rs(bn),Mn=rs(In),On=rs(_n),Tn=rs(Nn),Cn=2*En,yn=ss(Ht,Ht),Pn=ss(Ht,Qt),An=ss(Ht,Rt),Bn=ss(Ht,Wt),zn=ss(Qt,Qt),Fn=ss(vn,jt),Yn=ss(Rt,jt),Vn=ss(Rt,Wt),Ln=ss(Rt,Kt),kn=Dt*Sn+Sn*Dt+2*rs(yn[1]),$n=Dt*En+Sn*Gt+2*rs(Pn[1]),Xn=Dt*wn+Sn*Ut+2*rs(An[1]),qn=Dt*On+Sn*Jt+2*rs(Bn[1]),Hn=Gt*En+En*Gt+2*rs(zn[1]),Dn=gn*Mn+Cn*Zt+2*rs(Fn[1]),Qn=Ut*Mn+wn*Zt+2*rs(Yn[1]),Gn=Ut*On+wn*Jt+2*rs(Vn[1]),Rn=Ut*Tn+wn*tn+2*rs(Yn[1]),Un=ss(os(i),W),jn=p*K+T*tt+2*rs(Un[1]),Zn=3*E,Wn=cs(3,n),Jn=3*f+Zn,Kn=ss(Wn,W),te=Jn*K+Zn*tt+2*rs(Kn[1]),ne=3*T,ee=cs(-3,i),re=3*p+ne,oe=ss(ee,D),ie=re*G+ne*R+2*rs(oe[1]),ce=ss(n,D),se=f*G+E*R+2*rs(ce[1]),ue=-3*mn,fe=3*Sn,le=cs(-3,Ht),ae=3*Dt+fe,pe=us(le,Wt),he=rs(ue-_n),de=ae+Jt+he,ve=ss(pe,W),ge=de*K+he*tt+2*rs(ve[1]),me=ss(Rt,en),xe=Ut*nn+wn*rn+2*rs(me[1]),be=fs(ve,me),Ie=ge+xe+rs(be[1]),_e=ss(vn,lt),Ne=gn*at+Cn*pt+2*rs(_e[1]),Se=fs(be,_e),Ee=Ie+Ne+rs(Se[1]),we=ss(pe,D),Me=de*G+he*R+2*rs(we[1]),Oe=ss(Rt,cn),Te=Ut*on+wn*sn+2*rs(Oe[1]),Ce=fs(we,Oe),ye=Me+Te+rs(Ce[1]),Pe=ss(vn,ht),Ae=gn*dt+Cn*vt+2*rs(Pe[1]),Be=fs(Ce,Pe),ze=ye+Ae+rs(Be[1]),Fe=rs(k-an/2),Ye=us(L,function(t){return[t[0]/2,t[1]/2]}(hn)),Ve=$+dn/2+rs(Ye[1]),Le=ss(pe,gt),ke=de*mt+he*xt+2*rs(Le[1]),$e=ss(Qt,fn),Xe=Gt*un+En*ln+2*rs($e[1]),qe=fs(Le,$e),He=ke+Xe+rs(qe[1]),De=ss(Rt,Ye),Qe=Ut*Fe+wn*Ve+2*rs(De[1]),Ge=is(us(De,qe)),Re=2*(Qe+He)+rs(Ge[1]),Ue=cs(-3,yn),je=3*kn+rs(Ue[1]),Ze=us(Ue,is(Bn)),We=je+2*qn+rs(Ze[1]),Je=fs(Fn,Ln),Ke=Dn+Rn+rs(Je[1]),tr=fs(Ze,Je),nr=rs(tr[1]),er=We+Ke+nr,rr=is(us(Pn,Yn)),or=rs(rr[1]),ir=2*($n+Qn)+or,cr=us(An,zn),sr=Xn+Hn+rs(cr[1]),ur=fs(cr,Vn),fr=rs(ur[1]),lr=sr+Gn+fr,ar=ss(i,tr),pr=p*nr+T*er+2*rs(ar[1]),hr=ss(c,rr),dr=h*or+O*ir+2*rs(hr[1]),vr=ss(s,ur),gr=d*fr+M*lr+2*rs(vr[1]),mr=fs(hr,vr),xr=dr+gr+rs(mr[1]),br=fs(ar,mr),Ir=pr+xr+rs(br[1]),_r=ss(n,tr),Nr=f*nr+E*er+2*rs(_r[1]),Sr=ss(e,rr),Er=l*or+S*ir+2*rs(Sr[1]),wr=ss(r,ur),Mr=a*fr+N*lr+2*rs(wr[1]),Or=fs(Sr,wr),Tr=Er+Mr+rs(Or[1]),Cr=os(fs(_r,Or)),yr=Nr+Tr+rs(Cr[1]),Pr=us(Fn,yn),Ar=us(Pr,Bn),Br=rs(Ar[1]),zr=ss(ur,Kt),Fr=ss(Yn,jt),Yr=us(zr,Fr),Vr=lr*rs(Kt[1])+2*rs(zr[1])+Qn*rs(jt[1])+2*rs(Fr[1])+rs(Yr[1]),Lr=ss(Ht,Ar),kr=Dt*Br+Sn*Dn+kn+rs(Pr[1])+qn+Br+2*rs(Lr[1]),$r=fs(Lr,Yr);return{coeffs:{vₓₓₓ:Un,vₓₓᵧ:Kn,vₓᵧᵧ:oe,vᵧᵧᵧ:ce,vₓₓ:Se,vₓᵧ:Ge,vᵧᵧ:Be,vₓ:br,vᵧ:Cr,v:$r},errorBound:{vₓₓₓ_:jn,vₓₓᵧ_:te,vₓᵧᵧ_:ie,vᵧᵧᵧ_:se,vₓₓ_:Ee,vₓᵧ_:Re,vᵧᵧ_:ze,vₓ_:Ir,vᵧ_:yr,v_:kr+Vr+rs($r[1])}}}const as=m,ps=Co,hs=Ir,ds=sr,vs=x,gs=Math.abs,ms=Z(3),xs=x,bs=Ir,Is=sr,_s=Math.abs,Ns=Z(3),Ss=m,Es=Co,ws=Ir,Ms=sr,Os=x,Ts=Math.abs,Cs=Z(3),ys=m,Ps=Co,As=Ir,Bs=sr,zs=x,Fs=Math.abs,Ys=Z(3),Vs=x,Ls=Ir,ks=sr,$s=Math.abs,Xs=Z(3),qs=m,Hs=Co,Ds=Ir,Qs=sr,Gs=x,Rs=Math.abs,Us=Z(3),js=m,Zs=Co,Ws=Ir,Js=sr,Ks=x,tu=Math.abs,nu=Z(3),eu=$,ru=V,ou=z,iu=Q;function cu(t){const[[n,[e]],[r,[o]]]=t;if(0!==iu(n)||0!==iu(r))return{vₓ:ou(r),vᵧ:n,v:ru(eu(e,r),eu(o,n))}}const su=$,uu=H,fu=B;function lu(t,n){const e=Ft(t),[[r,[o]],[i,[c]]]=Ft(n),{vₓ:s,vᵧ:u,v:f}=cu(e),l=uu(r,s),a=uu(i,u),p=fu(l,a),h=su(o,s),d=su(c,u),v=fu(h,d);return[p,fu(v,f)]}const au=$,pu=Jo,hu=V,du=H,vu=z;function gu(t){const[[n,e,[r]],[o,i,[c]]]=t;if(0===Q(n)&&0===Q(o))return cu([[e,[r]],[i,[c]]]);const s=du(n,i),u=du(e,o),f=au(c,n),l=au(r,o),a=au(c,e),p=au(r,i),h=du(n,n),d=du(n,o),v=du(o,o),g=hu(s,u),m=hu(f,l),x=hu(a,p),b=vu(v),I=pu(d),_=vu(h),N=du(i,g),S=pu(du(o,m)),E=hu(N,S),w=pu(du(n,m)),M=du(e,g),O=hu(w,M),T=du(g,x),C=du(m,m);return{vₓₓ:b,vₓᵧ:I,vᵧᵧ:_,vₓ:E,vᵧ:O,v:hu(T,C)}}const mu=it,xu=$,bu=H,Iu=B,_u=Jo,Nu=Q;function Su(t,n){const e=zt(t);if(0===Nu(e[0][0])&&0===Nu(e[1][0]))return lu([t[0],t[2]],n);const[[r,[o]],[i,[c]]]=Ft(n),{vₓₓ:s,vₓᵧ:u,vᵧᵧ:f,vₓ:l,vᵧ:a,v:p}=gu(e),h=mu(o,o),d=xu(o,r),v=mu(o,c),g=xu(o,i),m=bu(r,r),x=xu(c,r),b=bu(r,i),I=mu(c,c),_=xu(c,i),N=bu(i,i),S=bu(m,s),E=bu(N,f),w=bu(b,u),M=Iu(S,E),O=Iu(M,w),T=bu(d,s),C=bu(_,f),y=Iu(g,x),P=bu(y,u),A=_u(Iu(T,C)),B=Iu(A,P),z=bu(r,l),F=bu(i,a),Y=Iu(z,F),V=Iu(B,Y),L=bu(h,s),k=bu(v,u),$=bu(I,f),X=Iu(L,k),q=Iu(X,$),H=xu(o,l),D=xu(c,a),Q=Iu(H,D),G=Iu(q,Q);return[O,V,Iu(G,p)]}const Eu=H,wu=dt,Mu=V,Ou=Q,Tu=ht,Cu=k,yu=J;function Pu(t,n=!1){const[e,r,o,i]=t;if(!n){const[t,n]=e,[c,s]=r,[u,f]=o,[l,a]=i;return[e,[Tu(Mu(Cu(yu(c/4,u/4),3),yu(t/4,l/4))),Tu(Mu(Cu(yu(s/4,f/4),3),yu(n/4,a/4)))],i]}const c=function(t,n){const[[e,r],[o,i]]=t,[[c,s],[u,f]]=n,l=wu(o,e),a=wu(i,r),p=wu(u,c),h=wu(f,s),d=Mu(Eu(p,a),Eu(h,l));if(0===Ou(d))return;const v=wu(c,e),g=wu(s,r),m=Mu(Eu(g,l),Eu(v,a)),x=Tu(m)/Tu(d);return[c+x*Tu(p),s+x*Tu(h)]}([e,r],[i,o]);if(void 0!==c)return[e,c,i]}const Au=$,Bu=H,zu=B,Fu=V,Yu=z,Vu=Jo,Lu=Q;function ku(t){const[[n,e,r,[o]],[i,c,s,[u]]]=t;if(0===Lu(n)&&0===Lu(i))return gu([[e,r,[o]],[c,s,[u]]]);const f=Bu(n,s),l=Bu(r,i),a=Bu(n,c),p=Bu(e,c),h=Bu(e,i),d=Bu(n,n),v=Bu(c,c),g=Bu(i,i),m=Bu(r,n),x=Bu(e,e),b=Bu(s,i),I=Bu(c,i),_=Bu(e,n),N=Bu(n,i),S=Au(u,n),E=Au(o,i),w=Au(u,e),M=Au(o,c),O=Bu(e,s),T=Bu(r,c),C=Au(u,r),y=Au(o,s),P=Fu(S,E),A=Fu(f,l),B=Fu(a,h),z=Fu(w,M),F=Fu(O,T),Y=Fu(C,y),V=Fu(b,v),L=Fu(m,x),k=zu(h,a),$=zu(l,f),X=Vu(A),q=Bu(P,P),H=Bu(P,A),D=Bu(P,B),Q=Bu(P,F),G=Bu(A,A),R=Bu(X,z),U=Bu(B,z),j=Bu(B,F),Z=Bu(B,Y),W=Bu(Yu(i),g),J=Bu(Au(3,n),g),K=Bu(Au(-3,i),d),tt=Bu(n,d),nt=Fu(Au(-3,P),F),et=Bu(nt,g),rt=Bu(B,V),ot=zu(et,rt),it=Bu(X,I),ct=zu(ot,it),st=Bu(nt,d),ut=Bu(B,L),ft=zu(st,ut),lt=Bu(X,_),at=zu(ft,lt),pt=Fu(p,function(t){const n=[];for(let e=0;e<t.length;e++)n.push(.5*t[e]);return n}($)),ht=Bu(nt,N),dt=Bu(A,k),vt=zu(ht,dt),gt=Bu(B,pt),mt=Vu(Fu(gt,vt)),xt=Au(-3,q),bt=Fu(xt,Vu(Q)),It=zu(R,Z),_t=zu(bt,It),Nt=Vu(Fu(H,U)),St=Fu(D,G),Et=zu(St,j),wt=Bu(i,_t),Mt=Bu(c,Nt),Ot=Bu(s,Et),Tt=zu(Mt,Ot),Ct=zu(wt,Tt),yt=Bu(n,_t),Pt=Bu(e,Nt),At=Bu(r,Et),Bt=zu(Pt,At),zt=Yu(zu(yt,Bt)),Ft=Fu(R,q),Yt=Fu(Ft,Q),Vt=Bu(Et,Y),Lt=Bu(U,z),kt=Fu(Vt,Lt),$t=Bu(P,Yt);return{vₓₓₓ:W,vₓₓᵧ:J,vₓᵧᵧ:K,vᵧᵧᵧ:tt,vₓₓ:ct,vₓᵧ:mt,vᵧᵧ:at,vₓ:Ct,vᵧ:zt,v:zu($t,kt)}}const $u=it,Xu=$,qu=H,Hu=B,Du=Jo,Qu=Q;function Gu(t,n){const e=Bt(t);if(0===Qu(e[0][0])&&0===Qu(e[1][0]))return Su(Pu(t),n);const[[r,[o]],[i,[c]]]=Ft(n),{vₓₓₓ:s,vₓₓᵧ:u,vₓᵧᵧ:f,vᵧᵧᵧ:l,vₓₓ:a,vₓᵧ:p,vᵧᵧ:h,vₓ:d,vᵧ:v,v:g}=ku(e),m=$u(o,o),x=Xu(o,r),b=$u(o,c),I=Xu(o,i),_=qu(r,r),N=Xu(c,r),S=qu(r,i),E=$u(c,c),w=Xu(c,i),M=qu(i,i),O=Xu(o,s),T=qu($u(3,o),s),C=Xu(o,u),y=Xu(c,u),P=Xu(o,f),A=Xu(c,f),B=Xu(c,l),z=qu($u(3,c),l),F=qu(r,s),Y=qu(r,f),V=qu(i,u),L=qu(i,l),k=Hu(F,V),$=Hu(Y,L),X=qu(_,k),q=qu(M,$),H=Hu(X,q),D=Hu(T,y),Q=Du(Hu(C,A)),G=Hu(P,z),R=Hu(D,a),U=Hu(Q,p),j=Hu(G,h),Z=qu(_,R),W=qu(S,U),J=qu(M,j),K=Hu(Z,W),tt=Hu(K,J),nt=Du(Hu(y,a)),et=Du(Hu(P,h)),rt=Hu(T,nt),ot=Hu(z,et),it=Hu(C,p),ct=Hu(A,p),st=qu(x,rt),ut=qu(w,ot),ft=qu(I,it),lt=qu(N,ct),at=qu(r,d),pt=qu(i,v),ht=Hu(st,ut),dt=Hu(ft,lt),vt=Hu(ht,dt),gt=Hu(at,pt),mt=Hu(vt,gt),xt=Hu(O,y),bt=Hu(B,P),It=Hu(xt,a),_t=Hu(bt,h),Nt=qu(m,It),St=qu(E,_t),Et=qu(b,p),wt=Hu(Nt,St),Mt=Hu(wt,Et),Ot=Xu(o,d),Tt=Xu(c,v),Ct=Hu(Ot,Tt),yt=Hu(Mt,Ct);return[H,tt,mt,Hu(yt,g)]}const Ru=$,Uu=H,ju=B,Zu=Q;function Wu(t,n){const e=Ft(t),[[r,o,[i]],[c,s,[u]]]=zt(n);if(0===Zu(r)&&0===Zu(c))return lu(t,[n[0],n[2]]);const{vₓ:f,vᵧ:l,v:a}=cu(e),p=Uu(r,f),h=Uu(c,l),d=ju(p,h),v=Uu(o,f),g=Uu(s,l),m=ju(v,g),x=Ru(i,f),b=Ru(u,l),I=ju(x,b);return[d,m,ju(I,a)]}const Ju=it,Ku=$,tf=H,nf=B,ef=Jo,rf=Q;function of(t,n){const e=zt(t);if(0===rf(e[0][0])&&0===rf(e[1][0]))return Wu([t[0],t[2]],n);const[[r,o,[i]],[c,s,[u]]]=zt(n);if(0===rf(r)&&0===rf(c))return Su(t,[n[0],n[2]]);const{vₓₓ:f,vₓᵧ:l,vᵧᵧ:a,vₓ:p,vᵧ:h,v:d}=gu(e),v=Ju(i,i),g=Ku(i,o),m=Ku(i,r),x=Ju(i,u),b=Ku(i,s),I=Ku(i,c),_=tf(o,o),N=tf(o,r),S=Ku(u,o),E=tf(o,s),w=tf(o,c),M=tf(r,s),O=tf(r,r),T=Ku(u,r),C=tf(r,c),y=Ju(u,u),P=Ku(u,s),A=Ku(u,c),B=tf(s,s),z=tf(s,c),F=tf(c,c),Y=tf(O,f),V=tf(C,l),L=tf(F,a),k=nf(Y,V),$=nf(k,L),X=tf(N,f),q=tf(z,a),H=nf(w,M),D=tf(H,l),Q=ef(nf(X,q)),G=nf(Q,D),R=nf(ef(m),_),U=nf(ef(A),B),j=nf(I,E),Z=nf(j,T),W=tf(R,f),J=tf(U,a),K=tf(Z,l),tt=tf(r,p),nt=tf(c,h),et=nf(W,J),rt=nf(et,K),ot=nf(tt,nt),it=nf(rt,ot),ct=tf(g,f),st=tf(P,a),ut=nf(b,S),ft=tf(ut,l),lt=ef(nf(ct,st)),at=tf(o,p),pt=tf(s,h),ht=nf(lt,ft),dt=nf(at,pt),vt=nf(ht,dt),gt=tf(v,f),mt=tf(x,l),xt=tf(y,a),bt=Ku(i,p),It=Ku(u,h),_t=nf(gt,mt),Nt=nf(_t,xt),St=nf(bt,It),Et=nf(Nt,St);return[$,G,it,vt,nf(Et,d)]}const cf=it,sf=$,uf=H,ff=B,lf=Jo,af=Q;function pf(t,n){const e=Bt(t);if(0===af(e[0][0])&&0===af(e[1][0]))return of(Pu(t),n);const[[r,o,[i]],[c,s,[u]]]=zt(n);if(0===af(r)&&0===af(c))return Gu(t,[n[0],n[2]]);const{vₓₓₓ:f,vₓₓᵧ:l,vₓᵧᵧ:a,vᵧᵧᵧ:p,vₓₓ:h,vₓᵧ:d,vᵧᵧ:v,vₓ:g,vᵧ:m,v:x}=ku(e),b=cf(i,i),I=sf(i,o),_=sf(i,r),N=cf(i,u),S=sf(i,s),E=sf(i,c),w=uf(o,o),M=uf(o,r),O=sf(u,o),T=uf(o,s),C=uf(o,c),y=uf(r,s),P=uf(r,r),A=sf(u,r),B=uf(r,c),z=cf(u,u),F=sf(u,s),Y=sf(u,c),V=uf(s,s),L=uf(s,c),k=uf(c,c),$=uf(r,f),X=uf(r,a),q=uf(c,l),H=uf(c,p),D=ff($,q),Q=ff(X,H),G=uf(P,D),R=uf(k,Q),U=ff(G,R),j=ff(_,w),Z=ff(Y,V),W=ff(lf(_),w),J=ff(lf(Y),V),K=ff(lf(T),A),tt=ff(lf(T),E),nt=ff(lf(A),T),et=ff(sf(6,_),w),rt=ff(sf(6,Y),V),ot=ff(C,y),it=ff(E,A),ct=ff(lf(O),S),st=ff(lf(S),O),ut=ff(E,T),ft=ff(ut,A),lt=sf(3,P),at=sf(3,k),pt=uf(lt,f),ht=uf(P,l),dt=lf(uf(B,l)),vt=lf(uf(B,a)),gt=uf(k,a),mt=uf(at,p),xt=ff(pt,dt),bt=ff(ht,vt),It=ff(xt,gt),_t=ff(bt,mt),Nt=uf(o,It),St=uf(s,_t),Et=ff(Nt,St),wt=uf(c,W),Mt=uf(c,tt),Ot=uf(r,K),Tt=uf(r,J),Ct=uf(sf(3,r),j),yt=uf(sf(3,c),Z),Pt=ff(wt,Ot),At=ff(Mt,Tt),Ft=uf(Ct,f),Yt=uf(yt,p),Vt=uf(Pt,l),Lt=uf(At,a),kt=ff(Ft,Yt),$t=ff(Vt,Lt),Xt=uf(P,h),qt=uf(k,v),Ht=uf(B,d),Dt=ff(Xt,qt),Qt=ff(kt,$t),Gt=ff(Dt,Ht),Rt=ff(Qt,Gt),Ut=uf(o,et),jt=uf(s,rt),Zt=sf(2*i,ot),Wt=uf(lf(s),it),Jt=uf(o,nt),Kt=uf(o,J),tn=ff(Zt,Jt),nn=ff(Wt,Kt),en=uf(L,v),rn=uf(M,h),on=uf(ot,d),cn=ff(en,rn),sn=uf(Ut,f),un=uf(tn,l),fn=uf(jt,p),ln=uf(nn,a),an=ff(sn,fn),pn=ff(un,ln),hn=ff(an,pn),dn=ff(lf(cn),on),vn=ff(hn,dn),gn=uf(cf(3,i),j),mn=uf(cf(3,u),Z),xn=sf(i,tt),bn=sf(i,J),In=sf(u,W),_n=sf(u,K),Nn=ff(xn,In),Sn=ff(bn,_n),En=uf(gn,f),wn=uf(mn,p),Mn=uf(Nn,l),On=uf(Sn,a),Tn=uf(W,h),Cn=uf(J,v),yn=uf(ft,d),Pn=uf(r,g),An=uf(c,m),Bn=ff(En,wn),zn=ff(Mn,On),Fn=ff(Tn,Cn),Yn=ff(Bn,zn),Vn=ff(Fn,yn),Ln=ff(Pn,An),kn=ff(Yn,Vn),$n=ff(kn,Ln),Xn=uf(cf(3,i),I),qn=uf(cf(3,u),F),Hn=sf(i,ct),Dn=sf(u,st),Qn=uf(I,h),Gn=uf(F,v),Rn=uf(S,d),Un=uf(O,d),jn=lf(ff(Qn,Gn)),Zn=ff(Rn,Un),Wn=uf(o,g),Jn=uf(s,m),Kn=uf(Xn,f),te=uf(qn,p),ne=uf(Hn,l),ee=uf(Dn,a),re=ff(Kn,te),oe=ff(ne,ee),ie=ff(re,oe),ce=ff(jn,Zn),se=ff(Wn,Jn),ue=ff(ie,ce),fe=ff(ue,se),le=sf(i,f),ae=sf(i,a),pe=sf(u,l),he=sf(u,p),de=ff(le,pe),ve=ff(ae,he),ge=ff(de,h),me=ff(ve,v),xe=uf(b,ge),be=uf(z,me),Ie=uf(N,d),_e=sf(i,g),Ne=sf(u,m),Se=ff(xe,be),Ee=ff(Se,Ie),we=ff(_e,Ne),Me=ff(Ee,we);return[U,Et,Rt,vn,$n,fe,ff(Me,x)]}const hf=$,df=H,vf=B,gf=Q;function mf(t,n){const e=Ft(t),[[r,o,i,[c]],[s,u,f,[l]]]=Bt(n);if(0===gf(r)&&0===gf(s))return Wu(t,Pu(n));const{vₓ:a,vᵧ:p,v:h}=cu(e),d=df(r,a),v=df(s,p),g=vf(d,v),m=df(o,a),x=df(u,p),b=vf(m,x),I=df(i,a),_=df(f,p),N=vf(I,_),S=hf(c,a),E=hf(l,p),w=vf(S,E);return[g,b,N,vf(w,h)]}const xf=it,bf=$,If=H,_f=B,Nf=Jo,Sf=Q;function Ef(t,n){const e=zt(t);if(0===Sf(e[0][0])&&0===Sf(e[1][0]))return mf([t[0],t[2]],n);const[[r,o,i,[c]],[s,u,f,[l]]]=Bt(n);if(0===Sf(r)&&0===Sf(s))return of(t,Pu(n));const{vₓₓ:a,vₓᵧ:p,vᵧᵧ:h,vₓ:d,vᵧ:v,v:g}=gu(e),m=xf(c,c),x=bf(c,i),b=bf(c,o),I=bf(c,r),_=xf(c,l),N=bf(c,f),S=bf(c,u),E=bf(c,s),w=If(i,i),M=If(i,o),O=If(i,r),T=bf(l,i),C=If(i,f),y=If(i,u),P=If(i,s),A=If(o,f),B=If(o,o),z=If(o,r),F=bf(l,o),Y=If(o,u),V=If(o,s),L=If(r,r),k=bf(l,r),$=If(r,f),X=If(r,u),q=If(r,s),H=xf(l,l),D=bf(l,f),Q=bf(l,u),G=bf(l,s),R=If(f,f),U=If(f,u),j=If(s,s),Z=If(u,u),W=If(u,s),J=If(f,s),K=If(L,a),tt=If(q,p),nt=If(j,h),et=_f(K,tt),rt=_f(et,nt),ot=If(z,a),it=If(W,h),ct=_f(ot,it),st=_f(V,X),ut=If(st,p),ft=_f(Nf(ct),ut),lt=_f(Nf(O),B),at=_f(Nf(J),Z),pt=_f(P,Y),ht=_f(pt,$),dt=If(lt,a),vt=If(at,h),gt=_f(dt,vt),mt=If(ht,p),xt=_f(gt,mt),bt=_f(I,M),It=_f(G,U),_t=_f(E,y),Nt=_f(A,k),St=_f(_t,Nt),Et=If(bt,a),wt=If(It,h),Mt=Nf(_f(Et,wt)),Ot=If(St,p),Tt=If(r,d),Ct=If(s,v),yt=_f(Tt,Ct),Pt=_f(Mt,Ot),At=_f(Pt,yt),Ft=_f(Nf(b),w),Yt=_f(Nf(Q),R),Vt=_f(S,C),Lt=_f(Vt,F),kt=If(Ft,a),$t=If(Yt,h),Xt=If(Lt,p),qt=_f(kt,$t),Ht=_f(qt,Xt),Dt=If(o,d),Qt=If(u,v),Gt=_f(Dt,Qt),Rt=_f(Ht,Gt),Ut=If(x,a),jt=If(D,h),Zt=_f(N,T),Wt=If(Zt,p),Jt=Nf(_f(Ut,jt)),Kt=_f(Jt,Wt),tn=If(i,d),nn=If(f,v),en=_f(tn,nn),rn=_f(Kt,en),on=If(m,a),cn=If(_,p),sn=If(H,h),un=bf(c,d),fn=bf(l,v),ln=_f(on,cn),an=_f(ln,sn),pn=_f(un,fn),hn=_f(an,pn);return[rt,ft,xt,At,Rt,rn,_f(hn,g)]}const wf=it,Mf=$,Of=H,Tf=B,Cf=Jo,yf=Q,Pf=[[function(t,n){const{coeffs:{vₓ:e,vᵧ:r,v:o},errorBound:{v_:i}}=Yc(t),[[c,[,s]],[u,[,f]]]=Pc(n),l=c[1],a=u[1],p=e[1],h=r[1],d=o[1],v=l*p,g=2*$c(v),m=kc(c,e),x=a*h,b=2*$c(x),I=kc(u,r),_=v+x,N=Vc(m,I),S=g+b+$c(_),E=s*p,w=Lc(s,e),M=$c(E),O=f*h,T=Lc(f,r),C=$c(O),y=E+O,P=Vc(w,T),A=M+C+$c(y),B=Vc(P,o),z=A+i+$c(y+d);return{coeffs:[N,B],errBound:[Xc*S,Xc*z]}},function(t,n){const{coeffs:{vₓ:e,vᵧ:r,v:o},errorBound:{v_:i}}=Yc(t),{coeffs:[[c,s,[,u]],[f,l,[,a]]],errorBound:[[p],[h]]}=yc(n),d=e[1],v=r[1],g=o[1],m=_s(d),x=_s(v),b=(_s(g),s[1]),I=c[1],_=l[1],N=f[1],S=I*d,E=Is(c,e),w=p*m+2*_s(S),M=N*v,O=Is(f,r),T=h*x+2*_s(M),C=S+M,y=xs(E,O),P=w+T+_s(C),A=b*d,B=Is(s,e),z=2*_s(A),F=_*v,Y=Is(l,r),V=2*_s(F),L=A+F,k=xs(B,Y),$=z+V+_s(L),X=bs(u,e),q=u*d,H=_s(q),D=bs(a,r),Q=a*v,G=_s(Q),R=q+Q,U=xs(X,D),j=H+G+_s(R),Z=R+g,W=xs(U,o),J=j+i+_s(Z);return{coeffs:[y,k,W],errBound:[Ns*P,Ns*$,Ns*J]}},function(t,n){const{coeffs:{vₓ:e,vᵧ:r,v:o},errorBound:{v_:i}}=Yc(t),{coeffs:[[c,s,u,[,f]],[l,a,p,[,h]]],errorBound:[[d,v,g],[m,x,b]]}=Cc(n),I=$s(e[1]),_=$s(r[1]),N=ks(c,e),S=d*I+2*$s(N[1]),E=ks(l,r),w=m*_+2*$s(E[1]),M=Vs(N,E),O=S+w+$s(M[1]),T=ks(s,e),C=v*I+2*$s(T[1]),y=ks(a,r),P=x*_+2*$s(y[1]),A=Vs(T,y),B=C+P+$s(A[1]),z=ks(u,e),F=g*I+2*$s(z[1]),Y=ks(p,r),V=b*_+2*$s(Y[1]),L=Vs(z,Y),k=F+V+$s(L[1]),$=Ls(f,e),X=$s($[1]),q=Ls(h,r),H=$s(q[1]),D=Vs($,q),Q=X+H+$s(D[1]),G=Vs(D,o),R=Q+i+$s(G[1]);return{coeffs:[M,A,L,G],errBound:[Xs*O,Xs*B,Xs*k,Xs*R]}}],[function(t,n){const{coeffs:{vₓₓ:e,vₓᵧ:r,vᵧᵧ:o,vₓ:i,vᵧ:c,v:s},errorBound:{vₓₓ_:u,vₓᵧ_:f,vᵧᵧ_:l,vₓ_:a,vᵧ_:p,v_:h}}=jc(t),[[d,[,v]],[g,[,m]]]=Pc(n),x=e[1],b=r[1],I=o[1],_=i[1],N=c[1],S=s[1],E=ns(x),w=ns(b),M=ns(I),O=d[1],T=g[1],C=ns(v),y=ns(O),P=ns(m),A=ns(T),B=v*v,z=v*O,F=v*m,Y=v*T,V=O*O,L=O*m,k=O*T,$=m*m,X=m*T,q=T*T,H=Zc(v,v),D=Jc(v,d),Q=ns(z),G=Zc(v,m),R=Jc(v,g),U=ns(Y),j=ns(V),Z=Kc(d,d),W=2*j,J=Jc(m,d),K=ns(L),tt=ns(k),nt=Kc(d,g),et=2*tt,rt=Zc(m,m),ot=Jc(m,g),it=ns(X),ct=ns(q),st=Kc(g,g),ut=2*ct,ft=V*x,lt=Kc(Z,e),at=W*E*j*u+2*ns(ft),pt=q*I,ht=Kc(st,o),dt=ut*M*ct*l+2*ns(pt),vt=k*b,gt=Kc(nt,r),mt=et*w*tt*f+2*ns(vt),xt=ft+pt,bt=ts(lt,ht),It=at+dt+ns(xt),_t=xt+vt,Nt=ts(bt,gt),St=It+mt+ns(_t),Et=z*x,wt=Kc(D,e),Mt=Q*(E+u)+2*ns(Et),Ot=X*I,Tt=Kc(ot,o),Ct=it*(M+l)+2*ns(Ot),yt=Y+L,Pt=ts(R,J),At=U+K+ns(yt),Bt=yt*b,zt=Kc(Pt,r),Ft=At*w+ns(yt)*f+2*ns(Bt),Yt=2*(Et+Ot),Vt=Wc(ts(wt,Tt)),Lt=2*(Mt+Ct)+ns(Yt),kt=Yt+Bt,$t=ts(Vt,zt),Xt=Lt+Ft+ns(kt),qt=O*_,Ht=Kc(d,i),Dt=y*a+2*ns(qt),Qt=T*N,Gt=Kc(g,c),Rt=A*p+2*ns(Qt),Ut=qt+Qt,jt=ts(Ht,Gt),Zt=Dt+Rt+ns(Ut),Wt=kt+Ut,Jt=ts($t,jt),Kt=Xt+Zt+ns(Wt),tn=B*x,nn=Kc(H,e),en=2*ns(tn),rn=F*b,on=Kc(G,r),cn=2*ns(rn),sn=$*I,un=Kc(rt,o),fn=2*ns(sn),ln=tn+rn,an=ts(nn,on),pn=en+cn+ns(ln),hn=ln+sn,dn=ts(an,un),vn=pn+fn+ns(hn),gn=v*_,mn=Jc(v,i),xn=C*a+ns(gn),bn=m*N,In=Jc(m,c),_n=P*p+ns(bn),Nn=gn+bn,Sn=ts(mn,In),En=xn+_n+ns(Nn),wn=hn+Nn,Mn=ts(dn,Sn),On=vn+En+ns(wn),Tn=wn+S,Cn=ts(Mn,s),yn=On+h+ns(Tn);return{coeffs:[Nt,Jt,Cn],errBound:[es*St,es*Kt,es*yn]}},function(t,n){const{coeffs:{vₓₓ:e,vₓᵧ:r,vᵧᵧ:o,vₓ:i,vᵧ:c,v:s},errorBound:{vₓₓ_:u,vₓᵧ_:f,vᵧᵧ_:l,vₓ_:a,vᵧ_:p,v_:h}}=jc(t),{coeffs:[[d,v,[,g]],[m,x,[,b]]],errorBound:[[I],[_]]}=yc(n),N=e[1],S=r[1],E=o[1],w=i[1],M=c[1],O=s[1],T=Ts(N),C=Ts(S),y=Ts(E),P=Ts(w),A=Ts(M),B=v[1],z=d[1],F=x[1],Y=m[1],V=Ts(g),L=Ts(B),k=Ts(z),$=Ts(b),X=Ts(F),q=Ts(Y),H=g*g,D=g*B,Q=g*z,G=g*b,R=g*F,U=g*Y,j=B*B,Z=B*z,W=B*b,J=B*F,K=B*Y,tt=z*F,nt=z*z,et=z*b,rt=z*Y,ot=b*b,it=b*F,ct=b*Y,st=F*F,ut=F*Y,ft=Y*Y,lt=Ts(H),at=Ts(G),pt=Ts(ot),ht=Ss(g,g),dt=ws(g,v),vt=Ts(D),gt=ws(g,d),mt=Ts(Q),xt=Ss(g,b),bt=ws(g,x),It=Ts(R),_t=ws(g,m),Nt=Ts(U),St=Ms(v,v),Et=2*Ts(j),wt=Ms(v,d),Mt=Ts(Z),Ot=L*I+2*Mt,Tt=ws(b,v),Ct=Ts(W),yt=Ms(v,x),Pt=2*Ts(J),At=Ms(v,m),Bt=L*_+2*Ts(K),zt=Ms(d,x),Ft=I*X+2*Ts(tt),Yt=Ms(d,d),Vt=Ts(nt),Lt=2*(I*k+Vt),kt=ws(b,d),$t=Ts(et),Xt=Ms(d,m),qt=Ts(rt),Ht=I*q+k*_+2*qt,Dt=Ss(b,b),Qt=ws(b,x),Gt=Ts(it),Rt=ws(b,m),Ut=Ts(ct),jt=Ms(x,x),Zt=2*Ts(st),Wt=Ms(x,m),Jt=Ts(ut),Kt=X*_+2*Jt,tn=Ms(m,m),nn=Ts(ft),en=2*(_*q+nn),rn=nt*N,on=Ms(Yt,e),cn=Lt*T+Vt*u+2*Ts(rn),sn=rt*S,un=Ms(Xt,r),fn=Ht*C+qt*f+2*Ts(sn),ln=ft*E,an=Ms(tn,o),pn=en*y+nn*l+2*Ts(ln),hn=rn+sn,dn=Os(on,un),vn=cn+fn+Ts(hn),gn=hn+ln,mn=Os(dn,an),xn=vn+pn+Ts(gn),bn=Z*N,In=Ms(wt,e),_n=Ot*T+Mt*u+2*Ts(bn),Nn=ut*E,Sn=Ms(Wt,o),En=Kt*y+Jt*l+2*Ts(Nn),wn=K+tt,Mn=Os(At,zt),On=Ts(wn),Tn=Bt+Ft+On,Cn=wn*S,yn=Ms(Mn,r),Pn=Tn*C+On*f+2*Ts(Cn),An=2*(bn+Nn),Bn=Es(Os(In,Sn)),zn=2*(_n+En)+Ts(An),Fn=An+Cn,Yn=Os(Bn,yn),Vn=zn+Pn+Ts(Fn),Ln=2*Q+j,kn=Ts(Ln),$n=Os(Es(gt),St),Xn=2*mt+Et+Ts(Ln),qn=2*ct+st,Hn=Ts(qn),Dn=Os(Es(Rt),jt),Qn=2*Ut+Zt+Ts(qn),Gn=U+J,Rn=(Ts(Gn),Os(_t,yt)),Un=Nt+Pt+Ts(Gn),jn=Gn+et,Zn=Os(Rn,kt),Wn=Ts(jn),Jn=Un+$t+Wn,Kn=Ln*N,te=Ms($n,e),ne=Xn*T+kn*u+2*Ts(Kn),ee=qn*E,re=Ms(Dn,o),oe=Qn*y+Hn*l+2*Ts(ee),ie=jn*S,ce=Ms(Zn,r),se=Jn*C+Wn*f+2*Ts(ie),ue=z*w,fe=Ms(d,i),le=I*P+k*a+Ts(ue),ae=Y*M,pe=Ms(m,c),he=_*A+q*p+Ts(ae),de=Kn+ee,ve=Os(te,re),ge=ne+oe+Ts(de),me=de+ie,xe=Os(ve,ce),be=ge+se+Ts(me),Ie=ue+ae,_e=Os(fe,pe),Ne=le+he+Ts(Ie),Se=me+Ie,Ee=Os(xe,_e),we=be+Ne+Ts(Se),Me=D*N,Oe=Ms(dt,e),Te=vt*(T+u)+2*Ts(Me),Ce=it*E,ye=Ms(Qt,o),Pe=Gt*(y+l)+2*Ts(Ce),Ae=R+W,Be=Os(bt,Tt),ze=Ts(Ae),Fe=It+Ct+ze,Ye=Ae*S,Ve=Ms(Be,r),Le=Fe*C+ze*f+2*Ts(Ye),ke=2*(Me+Ce),$e=Es(Os(Oe,ye)),Xe=2*(Te+Pe)+Ts(ke),qe=B*w,He=Ms(v,i),De=L*a+2*Ts(qe),Qe=F*M,Ge=Ms(x,c),Re=X*p+2*Ts(Qe),Ue=ke+Ye,je=Os($e,Ve),Ze=Xe+Le+Ts(Ue),We=qe+Qe,Je=Os(He,Ge),Ke=De+Re+Ts(We),tr=Ue+We,nr=Os(je,Je),er=Ze+Ke+Ts(tr),rr=H*N,or=Ms(ht,e),ir=lt*u+2*Ts(rr),cr=G*S,sr=Ms(xt,r),ur=at*f+2*Ts(cr),fr=ot*E,lr=Ms(Dt,o),ar=pt*l+2*Ts(fr),pr=g*w,hr=ws(g,i),dr=V*a+Ts(pr),vr=b*M,gr=ws(b,c),mr=$*p+Ts(vr),xr=rr+cr,br=Os(or,sr),Ir=ir+ur+Ts(xr),_r=xr+fr,Nr=Os(br,lr),Sr=Ir+ar+Ts(_r),Er=pr+vr,wr=Os(hr,gr),Mr=dr+mr+Ts(Er),Or=_r+Er,Tr=Os(Nr,wr),Cr=Sr+Mr+Ts(Or),yr=Or+O,Pr=Os(Tr,s),Ar=Cr+h+Ts(yr);return{coeffs:[mn,Yn,Ee,nr,Pr],errBound:[Cs*xn,Cs*Vn,Cs*we,Cs*er,Cs*Ar]}},function(t,n){const{coeffs:{vₓₓ:e,vₓᵧ:r,vᵧᵧ:o,vₓ:i,vᵧ:c,v:s},errorBound:{vₓₓ_:u,vₓᵧ_:f,vᵧᵧ_:l,vₓ_:a,vᵧ_:p,v_:h}}=jc(t),{coeffs:[[d,v,g,[,m]],[x,b,I,[,_]]],errorBound:[[N,S,E],[w,M,O]]}=Cc(n),T=e[1],C=r[1],y=o[1],P=i[1],A=c[1],B=s[1],z=Rs(T),F=Rs(C),Y=Rs(y),V=Rs(P),L=Rs(A),k=g[1],$=v[1],X=d[1],q=I[1],H=b[1],D=x[1],Q=Rs(m),G=Rs(k),R=Rs($),U=Rs(X),j=Rs(_),Z=Rs(q),W=Rs(H),J=Rs(D),K=m*m,tt=m*k,nt=m*$,et=m*X,rt=m*_,ot=m*q,it=m*H,ct=m*D,st=k*k,ut=k*$,ft=k*X,lt=k*_,at=k*q,pt=k*H,ht=k*D,dt=$*q,vt=$*$,gt=$*X,mt=$*_,xt=$*H,bt=$*D,It=X*X,_t=X*_,Nt=X*q,St=X*H,Et=X*D,wt=_*_,Mt=_*q,Ot=_*H,Tt=_*D,Ct=q*q,yt=q*H,Pt=D*D,At=H*H,Bt=H*D,zt=q*D,Ft=qs(m,m),Yt=Rs(K),Vt=Ds(m,g),Lt=Rs(tt),kt=Q*E+Lt,$t=Ds(m,v),Xt=Q*S+Rs(nt),qt=Ds(m,d),Ht=Q*N+Rs(et),Dt=qs(m,_),Qt=Rs(rt),Gt=Ds(m,I),Rt=Q*O+Rs(ot),Ut=Ds(m,b),jt=Q*M+Rs(it),Zt=Ds(m,x),Wt=Q*w+Rs(ct),Jt=Qs(g,g),Kt=E*G+G*E+2*Rs(st),tn=Qs(g,v),nn=E*R+G*S+2*Rs(ut),en=Qs(g,d),rn=E*U+G*N+2*Rs(ft),on=Ds(_,g),cn=j*E+Rs(lt),sn=Qs(g,I),un=E*Z+G*O+2*Rs(at),fn=Qs(g,b),ln=E*W+G*M+2*Rs(pt),an=Qs(g,x),pn=E*J+G*w+2*Rs(ht),hn=Qs(v,I),dn=S*Z+R*O+2*Rs(dt),vn=Qs(v,v),gn=S*R+R*S+2*Rs(vt),mn=Qs(v,d),xn=Rs(gt),bn=S*U+R*N+2*xn,In=Ds(_,v),_n=j*S+Rs(mt),Nn=Qs(v,b),Sn=S*W+R*M+2*Rs(xt),En=Qs(v,x),wn=S*J+R*w+2*Rs(bt),Mn=Qs(d,d),On=Rs(It),Tn=N*U+U*N+2*On,Cn=Ds(_,d),yn=j*N+Rs(_t),Pn=Qs(d,I),An=N*Z+U*O+2*Rs(Nt),Bn=Qs(d,b),zn=N*W+U*M+2*Rs(St),Fn=Qs(d,x),Yn=Rs(Et),Vn=N*J+U*w+2*Yn,Ln=qs(_,_),kn=Rs(wt),$n=Ds(_,I),Xn=Rs(Mt),qn=j*O+Xn,Hn=Ds(_,b),Dn=j*M+Rs(Ot),Qn=Ds(_,x),Gn=j*w+Rs(Tt),Rn=Qs(I,I),Un=O*Z+Z*O+2*Rs(Ct),jn=Qs(I,b),Zn=O*W+Z*M+2*Rs(yt),Wn=Qs(x,x),Jn=Rs(Pt),Kn=w*J+J*w+2*Jn,te=Qs(b,b),ne=M*W+W*M+2*Rs(At),ee=Qs(b,x),re=Rs(Bt),oe=M*J+W*w+2*re,ie=Qs(I,x),ce=O*J+Z*w+2*Rs(zt),se=It*T,ue=Qs(Mn,e),fe=Tn*z+On*u+2*Rs(se),le=Et*C,ae=Qs(Fn,r),pe=Vn*F+Yn*f+2*Rs(le),he=Pt*y,de=Qs(Wn,o),ve=Kn*Y+Jn*l+2*Rs(he),ge=se+le,me=Gs(ue,ae),xe=fe+pe+Rs(ge),be=ge+he,Ie=Gs(me,de),_e=xe+ve+Rs(be),Ne=gt*T,Se=Qs(mn,e),Ee=bn*z+xn*u+2*Rs(Ne),we=Bt*y,Me=Qs(ee,o),Oe=oe*Y+re*l+2*Rs(we),Te=Ne+we,Ce=Gs(Se,Me),ye=Ee+Oe+Rs(Te),Pe=bt+St,Ae=Gs(En,Bn),Be=Rs(Pe),ze=wn+zn+Be,Fe=Pe*C,Ye=Qs(Ae,r),Ve=ze*F+Be*f+2*Rs(Fe),Le=2*Te+Fe,ke=Gs(Hs(Ce),Ye),$e=2*ye+Ve+Rs(Le),Xe=2*ft+vt,qe=Gs(Hs(en),vn),He=Rs(Xe),De=2*rn+gn+Rs(Xe),Qe=2*zt+At,Ge=Gs(Hs(ie),te),Re=Rs(Qe),Ue=2*ce+ne+Rs(Qe),je=ht+xt,Ze=Gs(an,Nn),We=pn+Sn+Rs(je),Je=je+Nt,Ke=Gs(Ze,Pn),tr=Rs(Je),nr=We+An+tr,er=Xe*T,rr=Qs(qe,e),or=De*z+He*u+2*Rs(er),ir=Qe*y,cr=Qs(Ge,o),sr=Ue*Y+Re*l+2*Rs(ir),ur=er+ir,fr=Gs(rr,cr),lr=or+sr+Rs(ur),ar=Je*C,pr=Qs(Ke,r),hr=nr*F+tr*f+2*Rs(ar),dr=ur+ar,vr=Gs(fr,pr),gr=lr+hr+Rs(dr),mr=et+ut,xr=Gs(qt,tn),br=Rs(mr),Ir=Ht+nn+br,_r=Tt+yt,Nr=Gs(Qn,jn),Sr=Rs(_r),Er=Gn+Zn+Sr,wr=ct+pt,Mr=Gs(Zt,fn),Or=Wt+ln+Rs(wr),Tr=dt+_t,Cr=Gs(hn,Cn),yr=dn+yn+Rs(Tr),Pr=wr+Tr,Ar=Gs(Mr,Cr),Br=Rs(Pr),zr=Or+yr+Br,Fr=mr*T,Yr=Qs(xr,e),Vr=Ir*z+br*u+2*Rs(Fr),Lr=_r*y,kr=Qs(Nr,o),$r=Er*Y+Sr*l+2*Rs(Lr),Xr=2*(Fr+Lr),qr=Hs(Gs(Yr,kr)),Hr=2*(Vr+$r)+Rs(Xr),Dr=Pr*C,Qr=Qs(Ar,r),Gr=zr*F+Br*f+2*Rs(Dr),Rr=X*P,Ur=Qs(d,i),jr=N*V+U*a+2*Rs(Rr),Zr=D*A,Wr=Qs(x,c),Jr=w*L+J*p+2*Rs(Zr),Kr=Rr+Zr,to=Gs(Ur,Wr),no=jr+Jr+Rs(Kr),eo=Xr+Dr,ro=Gs(qr,Qr),oo=Hr+Gr+Rs(eo),io=eo+Kr,co=Gs(ro,to),so=oo+no+Rs(io),uo=2*nt+st,fo=Gs(Hs($t),Jt),lo=Rs(uo),ao=2*Xt+Kt+lo,po=2*Ot+Ct,ho=Gs(Hs(Hn),Rn),vo=Rs(po),go=2*Dn+Un+vo,mo=it+at,xo=Gs(Ut,sn),bo=jt+un+Rs(mo),Io=mo+mt,_o=Gs(xo,In),No=Rs(Io),So=bo+_n+No,Eo=uo*T,wo=Qs(fo,e),Mo=ao*z+lo*u+2*Rs(Eo),Oo=po*y,To=Qs(ho,o),Co=go*Y+vo*l+2*Rs(Oo),yo=Io*C,Po=Qs(_o,r),Ao=So*F+No*f+2*Rs(yo),Bo=Eo+Oo,zo=Gs(wo,To),Fo=Mo+Co+Rs(Bo),Yo=Bo+yo,Vo=Gs(zo,Po),Lo=Fo+Ao+Rs(Yo),ko=$*P,$o=Qs(v,i),Xo=S*V+R*a+2*Rs(ko),qo=H*A,Ho=Qs(b,c),Do=M*L+W*p+2*Rs(qo),Qo=ko+qo,Go=Gs($o,Ho),Ro=Xo+Do+Rs(Qo),Uo=Yo+Qo,jo=Gs(Vo,Go),Zo=Lo+Ro+Rs(Uo),Wo=tt*T,Jo=Qs(Vt,e),Ko=kt*z+Lt*u+2*Rs(Wo),ti=Mt*y,ni=Qs($n,o),ei=qn*Y+Xn*l+2*Rs(ti),ri=ot+lt,oi=Gs(Gt,on),ii=Rs(ri),ci=Rt+cn+ii,si=ri*C,ui=Qs(oi,r),fi=ci*F+ii*f+2*Rs(si),li=2*(Wo+ti),ai=Hs(Gs(Jo,ni)),pi=2*(Ko+ei)+Rs(li),hi=li+si,di=Gs(ai,ui),vi=pi+fi+Rs(hi),gi=k*P,mi=Qs(g,i),xi=E*V+G*a+2*Rs(gi),bi=q*A,Ii=Qs(I,c),_i=O*L+Z*p+2*Rs(bi),Ni=gi+bi,Si=Gs(mi,Ii),Ei=xi+_i+Rs(Ni),wi=hi+Ni,Mi=Gs(di,Si),Oi=vi+Ei+Rs(wi),Ti=K*T,Ci=Qs(Ft,e),yi=Yt*u+2*Rs(Ti),Pi=rt*C,Ai=Qs(Dt,r),Bi=Qt*f+2*Rs(Pi),zi=wt*y,Fi=Qs(Ln,o),Yi=kn*l+2*Rs(zi),Vi=m*P,Li=Ds(m,i),ki=Q*a+Rs(Vi),$i=_*A,Xi=Ds(_,c),qi=j*p+Rs($i),Hi=Ti+Pi,Di=Gs(Ci,Ai),Qi=yi+Bi+Rs(Hi),Gi=Hi+zi,Ri=Gs(Di,Fi),Ui=Qi+Yi+Rs(Gi),ji=Vi+$i,Zi=Gs(Li,Xi),Wi=ki+qi+Rs(ji),Ji=Gi+ji,Ki=Gs(Ri,Zi),tc=Ui+Wi+Rs(Ji),nc=Ji+B,ec=Gs(Ki,s),rc=tc+h+Rs(nc);return{coeffs:[Ie,ke,vr,co,jo,Mi,ec],errBound:[Us*_e,Us*$e,Us*gr,Us*so,Us*Zo,Us*Oi,Us*rc]}}],[function(t,n){const{coeffs:{vₓₓₓ:e,vₓₓᵧ:r,vₓᵧᵧ:o,vᵧᵧᵧ:i,vₓₓ:c,vₓᵧ:s,vᵧᵧ:u,vₓ:f,vᵧ:l,v:a},errorBound:{vₓₓₓ_:p,vₓₓᵧ_:h,vₓᵧᵧ_:d,vᵧᵧᵧ_:v,vₓₓ_:g,vₓᵧ_:m,vᵧᵧ_:x,vₓ_:b,vᵧ_:I,v_:_}}=ls(t),[[N,[,S]],[E,[,w]]]=Pc(n),M=e[1],O=r[1],T=o[1],C=i[1],y=c[1],P=s[1],A=u[1],B=f[1],z=l[1],F=a[1],Y=N[1],V=E[1],L=gs(S),k=gs(Y),$=gs(w),X=gs(V),q=S*S,H=S*Y,D=S*w,Q=S*V,G=Y*Y,R=Y*w,U=Y*V,j=w*w,Z=w*V,W=V*V,J=as(S,S),K=hs(S,N),tt=gs(H),nt=as(S,w),et=hs(S,E),rt=gs(Q),ot=ds(N,N),it=2*gs(G),ct=hs(w,N),st=gs(R),ut=ds(N,E),ft=2*gs(U),lt=as(w,w),at=hs(w,E),pt=gs(Z),ht=ds(E,E),dt=2*gs(W),vt=gs(q),gt=gs(H),mt=gs(D),xt=gs(Q),bt=gs(G),It=gs(R),_t=gs(U),Nt=gs(j),St=gs(Z),Et=gs(W),wt=S*M,Mt=hs(S,e),Ot=L*p+gs(wt),Tt=3*S,Ct=as(3,S),yt=gs(Tt),Pt=Tt*M,At=ds(Ct,e),Bt=yt*p+2*gs(Pt),zt=S*O,Ft=hs(S,r),Yt=L*h+gs(zt),Vt=w*O,Lt=hs(w,r),kt=$*h+gs(Vt),$t=S*T,Xt=hs(S,o),qt=L*d+gs($t),Ht=w*T,Dt=hs(w,o),Qt=$*d+gs(Ht),Gt=w*C,Rt=hs(w,i),Ut=$*v+gs(Gt),jt=3*w,Zt=as(3,w),Wt=gs(jt),Jt=jt*C,Kt=ds(Zt,i),tn=Wt*v+2*gs(Jt),nn=Y*M,en=ds(N,e),rn=k*p+2*gs(nn),on=Y*T,cn=ds(N,o),sn=k*d+2*gs(on),un=V*O,fn=ds(E,r),ln=X*h+2*gs(un),an=V*C,pn=ds(E,i),hn=X*v+2*gs(an),dn=nn+un,vn=vs(en,fn),gn=gs(dn),mn=rn+ln+gn,xn=on+an,bn=vs(cn,pn),In=gs(xn),_n=sn+hn+In,Nn=G*dn,Sn=ds(ot,vn),En=it*gn+bt*mn+2*gs(Nn),wn=W*xn,Mn=ds(ht,bn),On=dt*In+Et*_n+2*gs(wn),Tn=Nn+wn,Cn=vs(Sn,Mn),yn=En+On+gs(Tn),Pn=Pt+Vt,An=vs(At,Lt),Bn=Bt+kt+gs(Pn),zn=2*(zt+Ht),Fn=ps(vs(Ft,Dt)),Yn=2*(Yt+Qt)+gs(zn),Vn=$t+Jt,Ln=vs(Xt,Kt),kn=qt+tn+gs(Vn),$n=Pn+y,Xn=vs(An,c),qn=gs($n),Hn=Bn+g+qn,Dn=zn+P,Qn=vs(Fn,s),Gn=gs(Dn),Rn=Yn+m+Gn,Un=Vn+A,jn=vs(Ln,u),Zn=gs(Un),Wn=kn+x+Zn,Jn=G*$n,Kn=ds(ot,Xn),te=it*qn+bt*Hn+2*gs(Jn),ne=U*Dn,ee=ds(ut,Qn),re=ft*Gn+_t*Rn+2*gs(ne),oe=W*Un,ie=ds(ht,jn),ce=dt*Zn+Et*Wn+2*gs(oe),se=Jn+ne,ue=vs(Kn,ee),fe=te+re+gs(se),le=se+oe,ae=vs(ue,ie),pe=fe+ce+gs(le),he=2*(Vt+y),de=ps(vs(Lt,c)),ve=2*(kt+g)+gs(he),ge=2*($t+A),me=ps(vs(Xt,u)),xe=2*(qt+x)+gs(ge),be=Pt+he,Ie=vs(At,de),_e=gs(be),Ne=Bt+ve+_e,Se=Jt+ge,Ee=vs(Kt,me),we=gs(Se),Me=tn+xe+we,Oe=zt+P,Te=vs(Ft,s),Ce=gs(Oe),ye=Yt+m+Ce,Pe=Ht+P,Ae=vs(Dt,s),Be=gs(Pe),ze=Qt+m+Be,Fe=H*be,Ye=ds(K,Ie),Ve=tt*_e+gt*Ne+2*gs(Fe),Le=Z*Se,ke=ds(at,Ee),$e=pt*we+St*Me+2*gs(Le),Xe=Q*Oe,qe=ds(et,Te),He=rt*Ce+xt*ye+2*gs(Xe),De=R*Pe,Qe=ds(ct,Ae),Ge=st*Be+It*ze+2*gs(De),Re=Y*B,Ue=ds(N,f),je=k*b+2*gs(Re),Ze=V*z,We=ds(E,l),Je=X*I+2*gs(Ze),Ke=Fe+Le,tr=vs(Ye,ke),nr=Ve+$e+gs(Ke),er=Xe+De,rr=vs(qe,Qe),or=He+Ge+gs(er),ir=Ke+er,cr=vs(tr,rr),sr=nr+or+gs(ir),ur=Re+Ze,fr=vs(Ue,We),lr=je+Je+gs(ur),ar=ir+ur,pr=vs(cr,fr),hr=sr+lr+gs(ar),dr=wt+Vt,vr=vs(Mt,Lt),gr=Ot+kt+gs(dr),mr=Gt+$t,xr=vs(Rt,Xt),br=Ut+qt+gs(mr),Ir=dr+y,_r=vs(vr,c),Nr=gr+g+gs(Ir),Sr=mr+A,Er=vs(xr,u),wr=br+x+gs(Sr),Mr=q*Ir,Or=ds(J,_r),Tr=vt*Nr+2*gs(Mr),Cr=j*Sr,yr=ds(lt,Er),Pr=Nt*wr+2*gs(Cr),Ar=D*P,Br=ds(nt,s),zr=mt*m+2*gs(Ar),Fr=Mr+Cr,Yr=vs(Or,yr),Vr=Tr+Pr+gs(Fr),Lr=Fr+Ar,kr=vs(Yr,Br),$r=Vr+zr+gs(Lr),Xr=S*B,qr=hs(S,f),Hr=L*b+gs(Xr),Dr=w*z,Qr=hs(w,l),Gr=$*I+gs(Dr),Rr=Xr+Dr,Ur=vs(qr,Qr),jr=Hr+Gr+gs(Rr),Zr=Lr+Rr,Wr=vs(kr,Ur),Jr=$r+jr+gs(Zr),Kr=Zr+F,to=vs(Wr,a),no=Jr+_+gs(Kr);return{coeffs:[Cn,ae,pr,to],errBound:[ms*yn,ms*pe,ms*hr,ms*no]}},function(t,n){const{coeffs:{vₓₓₓ:e,vₓₓᵧ:r,vₓᵧᵧ:o,vᵧᵧᵧ:i,vₓₓ:c,vₓᵧ:s,vᵧᵧ:u,vₓ:f,vᵧ:l,v:a},errorBound:{vₓₓₓ_:p,vₓₓᵧ_:h,vₓᵧᵧ_:d,vᵧᵧᵧ_:v,vₓₓ_:g,vₓᵧ_:m,vᵧᵧ_:x,vₓ_:b,vᵧ_:I,v_:_}}=ls(t),{coeffs:[[N,S,[,E]],[w,M,[,O]]],errorBound:[[T],[C]]}=yc(n),y=e[1],P=r[1],A=o[1],B=i[1],z=c[1],F=s[1],Y=u[1],V=f[1],L=l[1],k=a[1],$=Fs(y),X=Fs(P),q=Fs(A),H=Fs(B),D=Fs(z),Q=Fs(Y),G=Fs(F),R=Fs(V),U=Fs(L),j=S[1],Z=N[1],W=M[1],J=w[1],K=Fs(E),tt=Fs(j),nt=Fs(Z),et=Fs(O),rt=Fs(W),ot=Fs(J),it=E*E,ct=E*j,st=E*Z,ut=E*O,ft=E*W,lt=E*J,at=j*j,pt=j*Z,ht=j*O,dt=j*W,vt=j*J,gt=Z*W,mt=Z*Z,xt=Z*O,bt=Z*J,It=O*O,_t=O*W,Nt=O*J,St=W*W,Et=W*J,wt=J*J,Mt=ys(E,E),Ot=As(E,S),Tt=Fs(ct),Ct=As(E,N),yt=K*T+Fs(st),Pt=ys(E,O),At=As(E,M),Bt=Fs(ft),zt=As(E,w),Ft=K*C+Fs(lt),Yt=Bs(S,S),Vt=2*Fs(at),Lt=Bs(S,N),kt=tt*T+2*Fs(pt),$t=As(O,S),Xt=Fs(ht),qt=Bs(S,M),Ht=2*Fs(dt),Dt=Bs(S,w),Qt=tt*C+2*Fs(vt),Gt=Bs(N,M),Rt=T*rt+2*Fs(gt),Ut=Bs(N,N),jt=2*(T*nt+Fs(mt)),Zt=As(O,N),Wt=et*T+Fs(xt),Jt=Bs(N,w),Kt=T*ot+nt*C+2*Fs(bt),tn=ys(O,O),nn=As(O,M),en=Fs(_t),rn=As(O,w),on=et*C+Fs(Nt),cn=Bs(M,M),sn=2*Fs(St),un=Bs(M,w),fn=rt*C+2*Fs(Et),ln=Bs(w,w),an=2*(C*ot+Fs(wt)),pn=Fs(it),hn=Fs(ct),dn=Fs(ut),vn=Fs(ft),gn=Fs(pt),mn=Fs(mt),xn=Fs(bt),bn=Fs(ht),In=Fs(It),_n=Fs(_t),Nn=Fs(Et),Sn=Fs(wt),En=Bs(N,e),wn=Z*y,Mn=T*$+nt*p+2*Fs(wn),On=Bs(N,o),Tn=Z*A,Cn=T*q+nt*d+2*Fs(Tn),yn=Bs(w,r),Pn=J*P,An=C*X+ot*h+2*Fs(Pn),Bn=Bs(w,i),zn=J*B,Fn=C*H+ot*v+2*Fs(zn),Yn=wn+Pn,Vn=zs(En,yn),Ln=Fs(Yn),kn=Mn+An+Ln,$n=Tn+zn,Xn=zs(On,Bn),qn=Fs($n),Hn=Cn+Fn+qn,Dn=mt*Yn,Qn=Bs(Ut,Vn),Gn=jt*Ln+mn*kn+2*Fs(Dn),Rn=wt*$n,Un=Bs(ln,Xn),jn=an*qn+Sn*Hn+2*Fs(Rn),Zn=Dn+Rn,Wn=zs(Qn,Un),Jn=Gn+jn+Fs(Zn),Kn=st+at,te=zs(Ct,Yt),ne=Fs(Kn),ee=yt+Vt+ne,re=Nt+St,oe=zs(rn,cn),ie=Fs(re),ce=on+sn+ie,se=2*st+at,ue=Fs(se),fe=zs(Ps(Ct),Yt),le=2*yt+Vt+ue,ae=2*Nt+St,pe=zs(Ps(rn),cn),he=Fs(ae),de=2*on+sn+he,ve=2*dt+xt,ge=zs(Ps(qt),Zt),me=Fs(ve),xe=2*Ht+Wt+me,be=2*dt+lt,Ie=zs(Ps(qt),zt),_e=Fs(be),Ne=2*Ht+Ft+_e,Se=2*xt+dt,Ee=zs(Ps(Zt),qt),we=2*Wt+Ht+Fs(Se),Me=6*st+at,Oe=6*st,Te=As(6,Ct),Ce=6*yt+Fs(Oe),ye=zs(Te,Yt),Pe=Ce+Vt+Fs(Oe+at),Ae=6*Nt+St,Be=6*Nt,ze=As(6,rn),Fe=6*on+Fs(Be),Ye=zs(ze,cn),Ve=Fe+sn+Fs(Be+St),Le=vt+gt,ke=zs(Dt,Gt),$e=Fs(Le),Xe=Qt+Rt+$e,qe=lt+xt,He=zs(zt,Zt),De=Ft+Wt+Fs(qe),Qe=2*ht+ft,Ge=zs(Ps($t),At),Re=2*Xt+Bt+Fs(Qe),Ue=2*ft+ht,je=zs(Ps(At),$t),Ze=2*Bt+Xt+Fs(Ue),We=lt+dt,Je=zs(zt,qt),Ke=Ft+Ht+Fs(We),tr=We+xt,nr=zs(Je,Zt),er=Fs(tr),rr=Ke+Wt+er,or=3*mt,ir=As(3,Ut),cr=3*jt+Fs(or),sr=Fs(or),ur=3*wt,fr=As(3,ln),lr=3*an+Fs(ur),ar=Fs(ur),pr=or*y,hr=Bs(ir,e),dr=cr*$+sr*p+2*Fs(pr),vr=mt*P,gr=Bs(Ut,r),mr=jt*X+mn*h+2*Fs(vr),xr=2*bt*P,br=Ps(Bs(Jt,r)),Ir=2*(Kt*X+xn*h+Fs(xr)),_r=2*bt*A,Nr=Ps(Bs(Jt,o)),Sr=2*(Kt*q+xn*d+Fs(_r)),Er=wt*A,wr=Bs(ln,o),Mr=an*q+Sn*d+2*Fs(Er),Or=ur*B,Tr=Bs(fr,i),Cr=lr*H+ar*v+2*Fs(Or),yr=pr+xr,Pr=zs(hr,br),Ar=dr+Ir+Fs(yr),Br=vr+_r,zr=zs(gr,Nr),Fr=mr+Sr+Fs(Br),Yr=yr+Er,Vr=zs(Pr,wr),Lr=Ar+Mr+Fs(Yr),kr=Br+Or,$r=zs(zr,Tr),Xr=Fr+Cr+Fs(kr),qr=j*Yr,Hr=Bs(S,Vr),Dr=tt*Lr+Fs(qr),Qr=W*kr,Gr=Bs(M,$r),Rr=rt*Xr+Fs(Qr),Ur=qr+Qr,jr=zs(Hr,Gr),Zr=Dr+Rr+Fs(Ur),Wr=J*se,Jr=Bs(w,fe),Kr=C*ue+ot*le+2*Fs(Wr),to=J*be,no=Bs(w,Ie),eo=C*_e+ot*Ne+2*Fs(to),ro=Z*ve,oo=Bs(N,ge),io=T*me+nt*xe+2*Fs(ro),co=Z*ae,so=Bs(N,pe),uo=T*he+nt*de+2*Fs(co),fo=3*Z,lo=As(3,N),ao=Fs(fo),po=3*T+ao,ho=fo*Kn,vo=Bs(lo,te),go=Fs(ho),mo=po*ne+ao*ee+go,xo=3*J,bo=As(3,w),Io=Fs(xo),_o=3*C+Io,No=xo*re,So=Bs(bo,oe),Eo=Fs(No),wo=_o*ie+Io*ce+Eo,Mo=Wr+ro,Oo=zs(Jr,oo),To=Fs(Mo),Co=Kr+io+To,yo=to+co,Po=zs(no,so),Ao=Fs(yo),Bo=eo+uo+Ao,zo=ho*y,Fo=Bs(vo,e),Yo=mo*$+go*p+2*Fs(zo),Vo=No*B,Lo=Bs(So,i),ko=wo*H+Eo*v+2*Fs(Vo),$o=Mo*P,Xo=Bs(Oo,r),qo=Co*X+To*h+2*Fs($o),Ho=yo*A,Do=Bs(Po,o),Qo=Bo*q+Ao*d+2*Fs(Ho),Go=zo+Vo,Ro=zs(Fo,Lo),Uo=Yo+ko+Fs(Go),jo=$o+Ho,Zo=zs(Xo,Do),Wo=qo+Qo+Fs(jo),Jo=mt*z,Ko=Bs(Ut,c),ti=jt*D+mn*g+2*Fs(Jo),ni=wt*Y,ei=Bs(ln,u),ri=an*Q+Sn*x+2*Fs(ni),oi=bt*F,ii=Bs(Jt,s),ci=Kt*G+xn*m+2*Fs(oi),si=Jo+ni,ui=zs(Ko,ei),fi=ti+ri+Fs(si),li=Go+jo,ai=zs(Ro,Zo),pi=Uo+Wo+Fs(li),hi=si+oi,di=zs(ui,ii),vi=fi+ci+Fs(hi),gi=li+hi,mi=zs(ai,di),xi=pi+vi+Fs(gi),bi=j*Me,Ii=Bs(S,ye),_i=tt*Pe+2*Fs(bi),Ni=2*_i,Si=W*Ae,Ei=Bs(M,Ye),wi=rt*Ve+2*Fs(Si),Mi=2*wi,Oi=2*E*Le,Ti=As(2*E,ke),Ci=2*K*Xe+Fs(Oi),yi=2*W*qe,Pi=Bs(Ps(M),He),Ai=2*rt*De+2*Fs(yi),Bi=j*Se,zi=Bs(S,Ee),Fi=tt*we+2*Fs(Bi),Yi=j*ae,Vi=Bs(S,pe),Li=tt*de+2*Fs(Yi),ki=Oi+Bi,$i=zs(Ti,zi),Xi=Ci+Fi+Fs(ki),qi=Ci+Fi+Xi,Hi=yi+Yi,Di=zs(Pi,Vi),Qi=Ai+Li+Fs(Hi),Gi=Ai+Li+Qi,Ri=Et*Y,Ui=Bs(un,u),ji=fn*Q+Nn*x+2*Fs(Ri),Zi=pt*z,Wi=Bs(Lt,c),Ji=kt*D+gn*g+2*Fs(Zi),Ki=Le*F,tc=Bs(ke,s),nc=Xe*G+$e*m+2*Fs(Ki),ec=Ri+Zi,rc=zs(Ui,Wi),oc=ji+Ji+Fs(ec),ic=bi*y,cc=Bs(Ii,e),sc=Ni*$+_i*p+2*Fs(ic),uc=ki*P,fc=Bs($i,r),lc=qi*X+Xi*h+2*Fs(uc),ac=Si*B,pc=Bs(Ei,i),hc=Mi*H+wi*v+2*Fs(ac),dc=Hi*A,vc=Bs(Di,o),gc=Gi*q+Qi*d+2*Fs(dc),mc=ic+ac,xc=zs(cc,pc),bc=sc+hc+Fs(mc),Ic=uc+dc,_c=zs(fc,vc),Nc=lc+gc+Fs(Ic),Sc=mc+Ic,Ec=zs(xc,_c),wc=bc+Nc+Fs(Sc),Mc=2*ec+Ki,Oc=zs(Ps(rc),tc),Tc=2*oc+nc+Fs(Mc),Cc=Sc+Mc,Pc=zs(Ec,Oc),Ac=wc+Tc+Fs(Cc),Bc=3*E,zc=Fs(Bc),Fc=ys(3,E),Yc=Bc*Kn,Vc=Bs(Fc,te),Lc=Fs(Yc),kc=zc*ee+2*Fs(Yc),$c=3*O,Xc=Fs($c),qc=ys(3,O),Hc=$c*re,Dc=Bs(qc,oe),Qc=Fs(Hc),Gc=Xc*ce+2*Fs(Hc),Rc=E*be,Uc=As(E,Ie),jc=K*Ne+Fs(Rc),Zc=E*ae,Wc=As(E,pe),Jc=K*de+Fs(Zc),Kc=O*se,ts=As(O,fe),ns=et*le+Fs(Kc),es=O*ve,rs=As(O,ge),os=et*xe+Fs(es),is=Rc+Kc,cs=zs(Uc,ts),ss=Fs(is),us=jc+ns+ss,fs=Zc+es,as=zs(Wc,rs),ps=Fs(fs),hs=Jc+os+ps,ds=Yc*y,vs=Bs(Vc,e),gs=kc*$+Lc*p+2*Fs(ds),ms=Hc*B,xs=Bs(Dc,i),bs=Gc*H+Qc*v+2*Fs(ms),Is=is*P,_s=Bs(cs,r),Ns=us*X+ss*h+2*Fs(Is),Ss=fs*A,Es=Bs(as,o),ws=hs*q+ps*d+2*Fs(Ss),Ms=se*z,Os=Bs(fe,c),Ts=le*D+ue*g+2*Fs(Ms),Cs=ae*Y,Vs=Bs(pe,u),Ls=de*Q+he*x+2*Fs(Cs),ks=tr*F,$s=Bs(nr,s),Xs=rr*G+er*m+2*Fs(ks),qs=Z*V,Hs=Bs(N,f),Ds=T*R+nt*b+2*Fs(qs),Qs=J*L,Gs=Bs(w,l),Rs=C*U+ot*I+2*Fs(Qs),Us=ds+ms,js=zs(vs,xs),Zs=gs+bs+Fs(Us),Ws=Is+Ss,Js=zs(_s,Es),Ks=Ns+ws+Fs(Ws),tu=Ms+Cs,nu=zs(Os,Vs),eu=Ts+Ls+Fs(tu),ru=Us+Ws,ou=zs(js,Js),iu=Zs+Ks+Fs(ru),cu=tu+ks,su=zs(nu,$s),uu=eu+Xs+Fs(cu),fu=qs+Qs,lu=zs(Hs,Gs),au=Ds+Rs+Fs(fu),pu=ru+cu,hu=zs(ou,su),du=iu+uu+Fs(pu),vu=pu+fu,gu=zs(hu,lu),mu=du+au+Fs(vu),xu=Bc*ct,bu=Bs(Fc,Ot),Iu=Fs(xu),_u=zc*Tt+2*Iu,Nu=$c*_t,Su=Bs(qc,nn),Eu=Fs(Nu),wu=Xc*en+2*Eu,Mu=E*Qe,Ou=As(E,Ge),Tu=Fs(Mu),Cu=K*Re+Fs(Mu),yu=O*Ue,Pu=As(O,je),Au=Fs(yu),Bu=et*Ze+Fs(yu),zu=ct*z,Fu=Bs(Ot,c),Yu=Tt*D+hn*g+2*Fs(zu),Vu=_t*Y,Lu=Bs(nn,u),ku=en*Q+_n*x+2*Fs(Vu),$u=ft*F,Xu=Bs(At,s),qu=Bt*G+vn*m+2*Fs($u),Hu=ht*F,Du=Bs($t,s),Qu=Xt*G+bn*m+2*Fs(Hu),Gu=2*(zu+Vu),Ru=Ps(zs(Fu,Lu)),Uu=2*(Yu+ku)+Fs(Gu),ju=$u+Hu,Zu=zs(Xu,Du),Wu=qu+Qu+Fs(ju),Ju=j*V,Ku=Bs(S,f),tf=tt*b+2*Fs(Ju),nf=W*L,ef=Bs(M,l),rf=rt*I+2*Fs(nf),of=xu*y,cf=Bs(bu,e),sf=_u*$+Iu*p+2*Fs(of),uf=Nu*B,ff=Bs(Su,i),lf=wu*H+Eu*v+2*Fs(uf),af=Mu*P,pf=Bs(Ou,r),hf=Cu*X+Tu*h+2*Fs(af),df=yu*A,vf=Bs(Pu,o),gf=Bu*q+Au*d+2*Fs(df),mf=of+uf,xf=zs(cf,ff),bf=sf+lf+Fs(mf),If=af+df,_f=zs(pf,vf),Nf=hf+gf+Fs(If),Sf=mf+If,Ef=zs(xf,_f),wf=bf+Nf+Fs(Sf),Mf=Gu+ju,Of=zs(Ru,Zu),Tf=Uu+Wu+Fs(Mf),Cf=Ju+nf,yf=zs(Ku,ef),Pf=tf+rf+Fs(Cf),Af=Sf+Mf,Bf=zs(Ef,Of),zf=wf+Tf+Fs(Af),Ff=Af+Cf,Yf=zs(Bf,yf),Vf=zf+Pf+Fs(Ff),Lf=E*y,kf=As(E,e),$f=K*p+Fs(Lf),Xf=E*A,qf=As(E,o),Hf=K*d+Fs(Xf),Df=O*P,Qf=As(O,r),Gf=et*h+Fs(Df),Rf=O*B,Uf=As(O,i),jf=et*v+Fs(Rf),Zf=Lf+Df,Wf=zs(kf,Qf),Jf=$f+Gf+Fs(Zf),Kf=Xf+Rf,tl=zs(qf,Uf),nl=Hf+jf+Fs(Kf),el=Zf+z,rl=zs(Wf,c),ol=Jf+g+Fs(el),il=Kf+Y,cl=zs(tl,u),sl=nl+x+Fs(il),ul=it*el,fl=Bs(Mt,rl),ll=pn*ol+2*Fs(ul),al=It*il,pl=Bs(tn,cl),hl=In*sl+2*Fs(al),dl=ut*F,vl=Bs(Pt,s),gl=dn*m+2*Fs(dl),ml=E*V,xl=As(E,f),bl=K*b+Fs(ml),Il=O*L,_l=As(O,l),Nl=et*I+Fs(Il),Sl=ul+al,El=zs(fl,pl),wl=ll+hl+Fs(Sl),Ml=Sl+dl,Ol=zs(El,vl),Tl=wl+gl+Fs(Ml),Cl=ml+Il,yl=zs(xl,_l),Pl=bl+Nl+Fs(Cl),Al=Ml+Cl,Bl=zs(Ol,yl),zl=Tl+Pl+Fs(Al),Fl=Al+k,Yl=zs(Bl,a),Vl=zl+_+Fs(Fl);return{coeffs:[Wn,jr,mi,Pc,gu,Yf,Yl],errBound:[Ys*Jn,Ys*Zr,Ys*xi,Ys*Ac,Ys*mu,Ys*Vf,Ys*Vl]}},function(t,n){const{coeffs:{vₓₓₓ:e,vₓₓᵧ:r,vₓᵧᵧ:o,vᵧᵧᵧ:i,vₓₓ:c,vₓᵧ:s,vᵧᵧ:u,vₓ:f,vᵧ:l,v:a},errorBound:{vₓₓₓ_:p,vₓₓᵧ_:h,vₓᵧᵧ_:d,vᵧᵧᵧ_:v,vₓₓ_:g,vₓᵧ_:m,vᵧᵧ_:x,vₓ_:b,vᵧ_:I,v_:_}}=ls(t),{coeffs:[[N,S,E,[,w]],[M,O,T,[,C]]],errorBound:[[y,P,A],[B,z,F]]}=Cc(n),Y=e[1],V=r[1],L=o[1],k=i[1],$=c[1],X=s[1],q=u[1],H=f[1],D=l[1],Q=a[1],G=tu(Y),R=tu(V),U=tu(L),j=tu(k),Z=tu($),W=tu(X),J=tu(q),K=tu(H),tt=tu(D),nt=(tu(Q),E[1]),et=S[1],rt=N[1],ot=T[1],it=O[1],ct=M[1],st=tu(w),ut=tu(nt),ft=tu(et),lt=tu(rt),at=tu(C),pt=tu(ot),ht=tu(it),dt=tu(ct),vt=w*w,gt=w*nt,mt=w*et,xt=w*rt,bt=w*C,It=w*ot,_t=w*it,Nt=w*ct,St=nt*nt,Et=nt*et,wt=nt*rt,Mt=nt*C,Ot=nt*ot,Tt=nt*it,Ct=nt*ct,yt=et*ot,Pt=et*et,At=et*rt,Bt=et*C,zt=et*it,Ft=et*ct,Yt=rt*rt,Vt=rt*C,Lt=rt*ot,kt=rt*it,$t=rt*ct,Xt=C*C,qt=C*ot,Ht=C*it,Dt=C*ct,Qt=ot*ot,Gt=ot*it,Rt=ct*ct,Ut=it*it,jt=it*ct,Zt=ot*ct,Wt=js(w,w),Jt=Ws(w,E),Kt=st*A+tu(gt),tn=Ws(w,S),nn=st*P+tu(mt),en=Ws(w,N),rn=st*y+tu(xt),on=js(w,C),cn=Ws(w,T),sn=st*F+tu(It),un=Ws(w,O),fn=st*z+tu(_t),ln=Ws(w,M),an=st*B+tu(Nt),pn=Js(E,E),hn=tu(St),dn=2*(A*ut+hn),vn=Js(E,S),gn=A*ft+ut*P+2*tu(Et),mn=Js(E,N),xn=A*lt+ut*y+2*tu(wt),bn=Ws(C,E),In=at*A+tu(Mt),_n=Js(E,T),Nn=A*pt+ut*F+2*tu(Ot),Sn=Js(E,O),En=A*ht+ut*z+2*tu(Tt),wn=Js(E,M),Mn=A*dt+ut*B+2*tu(Ct),On=Js(S,T),Tn=P*pt+ft*F+2*tu(yt),Cn=Js(S,S),yn=tu(Pt),Pn=2*(P*ft+yn),An=Js(S,N),Bn=P*lt+ft*y+2*tu(At),zn=Ws(C,S),Fn=at*P+tu(Bt),Yn=Js(S,O),Vn=P*ht+ft*z+2*tu(zt),Ln=Js(S,M),kn=P*dt+ft*B+2*tu(Ft),$n=Js(N,N),Xn=2*(y*lt+tu(Yt)),qn=Ws(C,N),Hn=at*y+tu(Vt),Dn=Js(N,T),Qn=y*pt+lt*F+2*tu(Lt),Gn=Js(N,O),Rn=tu(kt),Un=y*ht+lt*z+2*Rn,jn=Js(N,M),Zn=y*dt+lt*B+2*tu($t),Wn=js(C,C),Jn=Ws(C,T),Kn=at*F+tu(qt),te=Ws(C,O),ne=at*z+tu(Ht),ee=Ws(C,M),re=at*B+tu(Dt),oe=Js(T,T),ie=tu(Qt),ce=2*(F*pt+ie),se=Js(T,O),ue=F*ht+pt*z+2*tu(Gt),fe=Js(M,M),le=2*(B*dt+tu(Rt)),ae=Js(O,O),pe=tu(Ut),he=2*(z*ht+pe),de=Js(O,M),ve=z*dt+ht*B+2*tu(jt),ge=Js(T,M),me=tu(Zt),xe=F*dt+pt*B+2*me,be=tu(vt),Ie=tu(gt),_e=tu(At),Ne=tu(Yt),Se=tu($t),Ee=tu(bt),we=tu(Xt),Me=tu(qt),Oe=tu(jt),Te=tu(Rt),Ce=rt*Yt,ye=Js(N,$n),Pe=lt*Ne,Ae=y*Ne+lt*Xn+2*Pe,Be=rt*Rt,ze=Js(N,fe),Fe=lt*Te,Ye=y*Te+lt*le+2*Fe,Ve=ct*Yt,Le=Js(M,$n),ke=dt*Ne,$e=B*Ne+dt*Xn+2*ke,Xe=ct*Rt,qe=Js(M,fe),He=dt*Te,De=B*Te+dt*le+2*He,Qe=Ce*Y,Ge=Js(ye,e),Re=Ae*G+Pe*p+2*tu(Qe),Ue=Be*L,je=Js(ze,o),Ze=Ye*U+Fe*d+2*tu(Ue),We=Ve*V,Je=Js(Le,r),Ke=$e*R+ke*h+2*tu(We),tr=Xe*k,nr=Js(qe,i),er=De*j+He*v+2*tu(tr),rr=Qe+Ue,or=Ks(Ge,je),ir=Re+Ze+tu(rr),cr=We+tr,sr=Ks(Je,nr),ur=Ke+er+tu(cr),fr=rr+cr,lr=Ks(or,sr),ar=ir+ur+tu(fr),pr=2*Ft+kt,hr=tu(pr),dr=Ks(Zs(Ln),Gn),vr=2*kn+Un+hr,gr=2*kt+Ft,mr=tu(gr),xr=Ks(Zs(Gn),Ln),br=2*Un+kn+tu(gr),Ir=rt*pr,_r=tu(Ir),Nr=Js(N,dr),Sr=y*hr+lt*vr+2*_r,Er=ct*gr,wr=tu(Er),Mr=Js(M,xr),Or=B*mr+dt*br+2*wr,Tr=et*Yt,Cr=tu(Tr),yr=Js(S,$n),Pr=P*Ne+ft*Xn+2*Cr,Ar=it*Rt,Br=tu(Ar),zr=Js(O,fe),Fr=z*Te+ht*le+2*Br,Yr=Y*Tr,Vr=Js(e,yr),Lr=Pr*G+G*Pr+2*tu(Yr),kr=k*Ar,$r=Js(i,zr),Xr=Fr*j+j*Fr+2*tu(kr),qr=V*Ir,Hr=Js(r,Nr),Dr=Sr*R+R*Sr+2*tu(qr),Qr=L*Er,Gr=Js(o,Mr),Rr=Or*U+U*Or+2*tu(Qr),Ur=qr+Qr,jr=Ks(Hr,Gr),Zr=Dr+Rr+tu(Ur),Wr=3*(Yr+kr),Jr=Ws(3,Ks(Vr,$r)),Kr=3*(Lr+Xr)+2*tu(Wr),to=Ur+Wr,no=Ks(jr,Jr),eo=Zr+Kr+tu(to),ro=nt*$t,oo=Js(E,jn),io=A*Se+ut*Zn+2*tu(ro),co=ot*Yt,so=Js(T,$n),uo=F*Ne+pt*Xn+2*tu(co),fo=et*jt,lo=Js(S,de),ao=P*Oe+ft*ve+2*tu(fo),po=nt*Rt,ho=Js(E,fe),vo=A*Te+ut*le+2*tu(po),go=et*kt,mo=Js(S,Gn),xo=P*Rn+ft*Un+2*tu(go),bo=ct*Pt,Io=Js(M,Cn),_o=B*yn+dt*Pn+2*tu(bo),No=rt*Zt,So=Js(N,ge),Eo=y*me+lt*xe+2*tu(No),wo=it*kt,Mo=Js(O,Gn),Oo=z*Rn+ht*Un+2*tu(wo),To=ro+go,Co=Ks(oo,mo),yo=io+xo+tu(To),Po=co+bo,Ao=Ks(so,Io),Bo=uo+_o+tu(Po),zo=fo+No,Fo=Ks(lo,So),Yo=ao+Eo+tu(zo),Vo=po+wo,Lo=Ks(ho,Mo),ko=vo+Oo+tu(Vo),$o=wt+Pt,Xo=Ks(mn,Cn),qo=tu($o),Ho=xn+Pn+qo,Do=Zt+Ut,Qo=tu(Do),Go=Ks(ge,ae),Ro=xe+he+Qo,Uo=2*To+Po,jo=Ks(Zs(Co),Ao),Zo=tu(Uo),Wo=2*yo+Bo+Zo,Jo=2*zo+Vo,Ko=Ks(Zs(Fo),Lo),ti=tu(Jo),ni=2*Yo+ko+ti,ei=V*Uo,ri=Js(r,jo),oi=h*Zo+R*Wo+2*tu(ei),ii=L*Jo,ci=Js(o,Ko),si=d*ti+U*ni+2*tu(ii),ui=rt*$o,fi=Js(N,Xo),li=tu(ui),ai=y*qo+lt*Ho+2*li,pi=ct*Do,hi=Js(M,Go),di=tu(pi),vi=B*Qo+dt*Ro+2*di,gi=Y*ui,mi=Js(e,fi),xi=p*li+G*ai+2*tu(gi),bi=k*pi,Ii=Js(i,hi),_i=v*di+j*vi+2*tu(bi),Ni=ei+ii,Si=Ks(ri,ci),Ei=oi+si+tu(Ni),wi=3*(gi+bi),Mi=Ws(3,Ks(mi,Ii)),Oi=3*(xi+_i)+2*tu(wi),Ti=Ni+wi,Ci=Ks(Si,Mi),yi=Ei+Oi+tu(Ti),Pi=Ft+kt,Ai=Ks(Ln,Gn),Bi=tu(Pi),zi=kn+Un+Bi,Fi=it*Pt,Yi=Js(O,Cn),Vi=z*yn+ht*Pn+2*tu(Fi),Li=2*nt*Pi,ki=Zs(Js(E,Ai)),$i=2*(A*Bi+ut*zi+2*tu(Li)),Xi=Fi+Li,qi=Ks(Yi,ki),Hi=Vi+$i+tu(Xi),Di=2*(Nt+yt),Qi=Zs(Ks(ln,On)),Gi=2*(an+Tn)+tu(Di),Ri=Di+Vt,Ui=tu(Ri),ji=Ks(Qi,qn),Zi=Gi+Hn+Ui,Wi=rt*Ri,Ji=Js(N,ji),Ki=y*Ui+lt*Zi+2*tu(Wi),tc=Xi+Wi,nc=Ks(qi,Ji),ec=tu(tc),rc=Hi+Ki+ec,oc=et*Ut,ic=Js(S,ae),cc=P*pe+ft*he+2*tu(oc),sc=2*ot*Pi,uc=Zs(Js(T,Ai)),fc=2*(F*Bi+pt*zi+tu(sc)),lc=oc+sc,ac=Ks(ic,uc),pc=cc+fc+tu(lc),hc=2*(Tt+Vt),dc=Zs(Ks(Sn,qn)),vc=2*(En+Hn)+tu(hc),gc=hc+Nt,mc=Ks(dc,ln),xc=tu(gc),bc=vc+an+xc,Ic=ct*gc,_c=Js(M,mc),Nc=B*xc+dt*bc+2*tu(Ic),Sc=lc+Ic,Ec=Ks(ac,_c),wc=tu(Sc),Mc=pc+Nc+wc,Oc=et*Pt,Tc=Js(S,Cn),yc=P*yn+ft*Pn+2*tu(Oc),Pc=2*Et+xt,Ac=Ks(Zs(vn),en),Bc=tu(Pc),zc=2*gn+rn+Bc,Fc=3*rt,Yc=Ws(3,N),Vc=tu(Fc),Lc=3*y+Vc,kc=Fc*Pc,$c=Js(Yc,Ac),Xc=Lc*Bc+Vc*zc+2*tu(kc),qc=Oc+kc,Hc=Ks(Tc,$c),Dc=tu(qc),Qc=yc+Xc+Dc,Gc=it*Ut,Rc=Js(O,ae),Uc=z*pe+ht*he+2*tu(Gc),jc=2*Gt+Dt,Zc=Ks(Zs(se),ee),Wc=tu(jc),Jc=2*ue+re+Wc,Kc=3*ct,ts=Ws(3,M),ns=tu(Kc),es=3*B+ns,rs=Kc*jc,os=Js(ts,Zc),is=es*Wc+ns*Jc+2*tu(rs),cs=Gc+rs,ss=Ks(Rc,os),us=tu(cs),fs=Uc+is+us,as=V*tc,ps=Js(r,nc),hs=h*ec+R*rc+2*tu(as),ds=L*Sc,vs=Js(o,Ec),gs=d*wc+U*Mc+2*tu(ds),ms=as+ds,xs=Ks(ps,vs),bs=hs+gs+tu(ms),Is=Y*qc,_s=Js(e,Hc),Ns=p*Dc+G*Qc+2*tu(Is),Ss=k*cs,Es=Js(i,ss),ws=v*us+j*fs+2*tu(Ss),Ms=Is+Ss,Os=Ks(_s,Es),Ts=Ns+ws+tu(Ms),Cs=$*Yt,ys=Js($n,c),Ps=Xn*Z+Ne*g+2*tu(Cs),As=q*Rt,Bs=Js(fe,u),zs=le*J+Te*x+2*tu(As),Fs=Cs+As,Ys=Ks(ys,Bs),Vs=Ps+zs+tu(Fs),Ls=X*$t,ks=Js(jn,s),$s=Zn*W+Se*m+2*tu(Ls),Xs=ms+Ms,qs=Ks(xs,Os),Hs=bs+Ts+tu(Xs),Ds=Fs+Ls,Qs=Ks(Ys,ks),Gs=Vs+$s+tu(Ds),Rs=Xs+Ds,Us=Ks(qs,Qs),eu=Hs+Gs+tu(Rs),ru=zt+Lt,ou=Ks(Yn,Dn),iu=tu(ru),cu=Vn+Qn+iu,su=Ct+zt,uu=Ks(wn,Yn),fu=tu(su),lu=Mn+Vn+fu,au=w*Pi,pu=Ws(w,Ai),hu=st*zi+tu(au),du=C*Pi,vu=Ws(C,Ai),gu=at*zi+tu(du),mu=nt*ru,xu=Js(E,ou),bu=A*iu+ut*cu+2*tu(mu),Iu=ot*su,_u=Js(T,uu),Nu=F*fu+pt*lu+2*tu(Iu),Su=2*Vt+yt,Eu=Ks(Zs(qn),On),wu=tu(Su),Mu=2*Hn+Tn+wu,Ou=2*Nt+Tt,Tu=Ks(Zs(ln),Sn),Cu=tu(Ou),yu=2*an+En+Cu,Pu=ct*St,Au=Js(M,pn),Bu=B*hn+dt*dn+2*tu(Pu),zu=rt*Qt,Fu=Js(N,oe),Yu=y*ie+lt*ce+2*tu(zu),Vu=et*Su,Lu=Js(S,Eu),ku=P*wu+ft*Mu+2*tu(Vu),$u=it*Ou,Xu=Js(O,Tu),qu=z*Cu+ht*yu+2*tu($u),Hu=2*(au+mu),Du=Zs(Ks(pu,xu)),Qu=2*(hu+bu)+tu(Hu),Gu=2*(du+Iu),Ru=Zs(Ks(vu,_u)),Uu=2*(gu+Nu)+tu(Gu),ju=2*w*At,Zu=Zs(Ws(w,An)),Wu=2*st*Bn+tu(ju),Ju=2*C*jt,Ku=Zs(Ws(C,de)),tf=2*at*ve+tu(Ju),nf=nt*$o,ef=Js(E,Xo),rf=A*qo+ut*Ho+2*tu(nf),of=ot*Do,cf=Js(T,Go),sf=F*Qo+pt*Ro+2*tu(of),uf=$*At,ff=Js(An,c),lf=Bn*Z+_e*g+2*tu(uf),af=q*jt,pf=Js(de,u),hf=ve*J+Oe*x+2*tu(af),df=Hu+Pu,vf=Ks(Du,Au),gf=tu(df),mf=Qu+Bu+gf,xf=Gu+zu,bf=Ks(Ru,Fu),If=tu(xf),_f=Uu+Yu+If,Nf=df+Vu,Sf=Ks(vf,Lu),Ef=tu(Nf),wf=mf+ku+Ef,Mf=xf+$u,Of=Ks(bf,Xu),Tf=tu(Mf),Cf=_f+qu+Tf,yf=ju+nf,Pf=Ks(Zu,ef),Af=tu(yf),Bf=Wu+rf+Af,zf=Ju+of,Ff=Ks(Ku,cf),Yf=tu(zf),Vf=tf+sf+Yf,Lf=2*(uf+af),kf=Zs(Ks(ff,pf)),$f=2*(lf+hf)+tu(Lf),Xf=V*Nf,qf=Js(r,Sf),Hf=h*Ef+R*wf+2*tu(Xf),Df=L*Mf,Qf=Js(o,Of),Gf=d*Tf+U*Cf+2*tu(Df),Rf=Y*yf,Uf=Js(e,Pf),jf=p*Af+G*Bf+2*tu(Rf),Zf=k*zf,Wf=Js(i,Ff),Jf=v*Yf+j*Vf+2*tu(Zf),Kf=Xf+Df,tl=Ks(qf,Qf),nl=Hf+Gf+tu(Kf),el=3*(Rf+Zf),rl=Ws(3,Ks(Uf,Wf)),ol=3*(jf+Jf)+2*tu(el),il=X*Pi,cl=Js(s,Ai),sl=m*Bi+W*zi+2*tu(il),ul=Kf+el,fl=Ks(tl,rl),ll=nl+ol+tu(ul),al=il+Lf,pl=Ks(cl,kf),hl=sl+$f+tu(al),dl=ul+al,vl=Ks(fl,pl),gl=ll+hl+tu(dl),ml=Ct+ru,xl=Ks(wn,ou),bl=tu(ml),Il=Mn+cu+bl,_l=2*wt+Pt,Nl=Ks(Zs(mn),Cn),Sl=tu(_l),El=2*xn+Pn+Sl,wl=2*Zt+Ut,Ml=Ks(Zs(ge),ae),Ol=tu(wl),Tl=2*xe+he+Ol,Cl=2*w*ml,yl=Ws(2*w,xl),Pl=2*st*Il+tu(Cl),Al=2*C*ml,Bl=Ws(2*C,xl),zl=2*at*Il+tu(Al),Fl=Tt+2*yt,Yl=Ks(Sn,Zs(On)),Vl=tu(Fl),Ll=En+2*Tn+Vl,kl=yt+2*Tt,$l=Ks(On,Zs(Sn)),Xl=tu(kl),ql=Tn+2*En+Xl,Hl=C*_l,Dl=Ws(C,Nl),Ql=at*El+tu(Hl),Gl=w*wl,Rl=Ws(w,Ml),Ul=st*Tl+tu(Gl),jl=nt*Fl,Zl=Js(E,Yl),Wl=A*Vl+ut*Ll+2*tu(jl),Jl=ot*kl,Kl=Js(T,$l),ta=F*Xl+pt*ql+2*tu(Jl),na=w*_l,ea=Ws(w,Nl),ra=st*El+tu(na),oa=C*wl,ia=Ws(C,Ml),ca=at*Tl+tu(oa),sa=et*St,ua=Js(S,pn),fa=P*hn+ft*dn+2*tu(sa),la=it*Qt,aa=Js(O,oe),pa=z*ie+ht*ce+2*tu(la),ha=Cl+Hl,da=Ks(yl,Dl),va=Pl+Ql+tu(ha),ga=Al+Gl,ma=Ks(Bl,Rl),xa=zl+Ul+tu(ga),ba=ha+jl,Ia=Ks(da,Zl),_a=tu(ba),Na=va+Wl+_a,Sa=ga+Jl,Ea=Ks(ma,Kl),wa=tu(Sa),Ma=xa+ta+wa,Oa=na+sa,Ta=Ks(ea,ua),Ca=tu(Oa),ya=ra+fa+Ca,Pa=oa+la,Aa=Ks(ia,aa),Ba=tu(Pa),za=ca+pa+Ba,Fa=V*ba,Ya=Js(r,Ia),Va=h*_a+R*Na+2*tu(Fa),La=L*Sa,ka=Js(o,Ea),$a=d*wa+U*Ma+2*tu(La),Xa=Y*Oa,qa=Js(e,Ta),Ha=p*Ca+G*ya+2*tu(Xa),Da=k*Pa,Qa=Js(i,Aa),Ga=v*Ba+j*za+2*tu(Da),Ra=Xa+Da,Ua=tu(Ra),ja=Ks(qa,Qa),Za=Ha+Ga+Ua,Wa=Fa+La,Ja=Ks(Ya,ka),Ka=Va+$a+tu(Wa),tp=Wa+3*Ra,np=Ks(Ja,Ws(3,ja)),ep=Ka+3*(Za+Ua)+tu(tp),rp=X*ml,op=Js(s,xl),ip=m*bl+W*Il+2*tu(rp),cp=$*_l,sp=Js(c,Nl),up=g*Sl+Z*El+2*tu(cp),fp=rp+cp,lp=Ks(op,sp),ap=ip+up+tu(fp),pp=q*wl,hp=Js(u,Ml),dp=x*Ol+J*Tl+2*tu(pp),vp=fp+pp,gp=Ks(lp,hp),mp=ap+dp+tu(vp),xp=tp+vp,bp=Ks(np,gp),Ip=ep+mp+tu(xp),_p=Tt+yt,Np=Ks(Sn,On),Sp=En+Tn+tu(_p),Ep=Vt+Nt,wp=Ks(qn,ln),Mp=Hn+an+tu(Ep),Op=Et+xt,Tp=Ks(vn,en),Cp=gn+rn+tu(Op),yp=tu(Op),Pp=Gt+Dt,Ap=Ks(se,ee),Bp=ue+re+tu(Pp),zp=tu(Pp),Fp=2*_p+Vt,Yp=Ks(Zs(Np),qn),Vp=2*Sp+Hn+tu(Fp),Lp=2*_p+Nt,kp=Ks(Zs(Np),ln),$p=2*Sp+an+tu(Lp),Xp=2*Bt+Ot,qp=Ks(Zs(zn),_n),Hp=tu(Xp),Dp=2*Fn+Nn+Hp,Qp=2*_t+Ot,Gp=Ks(Zs(un),_n),Rp=tu(Qp),Up=2*fn+Nn+Rp,jp=Op+Et,Zp=Ks(Tp,vn),Wp=Cp+gn+tu(jp),Jp=Pp+Gt,Kp=Ks(Ap,se),th=Bp+ue+tu(Jp),nh=3*w,eh=js(3,w),rh=nh*jp,oh=Js(eh,Zp),ih=tu(nh)*Wp+2*tu(rh),ch=3*C,sh=js(3,C),uh=ch*Jp,fh=Js(sh,Kp),lh=tu(ch)*th+2*tu(uh),ah=nt*St,ph=Js(E,pn),hh=A*hn+ut*dn+2*tu(ah),dh=ot*Qt,vh=Js(T,oe),gh=F*ie+pt*ce+2*tu(dh),mh=$*Op,xh=Js(c,Tp),bh=g*yp+Z*Cp+tu(mh),Ih=q*Pp,_h=Js(u,Ap),Nh=x*zp+J*Bp+tu(Ih),Sh=Fp+Ep,Eh=Ks(Yp,wp),wh=Vp+Mp+tu(Sh),Mh=Lp+Ep,Oh=Ks(kp,wp),Th=$p+Mp+tu(Mh),Ch=w*Sh,yh=Ws(w,Eh),Ph=st*wh+tu(Ch),Ah=C*Mh,Bh=Ws(C,Oh),zh=at*Th+tu(Ah),Fh=nt*Xp,Yh=Js(E,qp),Vh=A*Hp+ut*Dp+2*tu(Fh),Lh=ot*Qp,kh=Js(T,Gp),$h=F*Rp+pt*Up+2*tu(Lh),Xh=rt*H,qh=Js(N,f),Hh=y*K+lt*b+2*tu(Xh),Dh=ct*D,Qh=Js(M,l),Gh=B*tt+dt*I+2*tu(Dh),Rh=Ch+Fh,Uh=Ks(yh,Yh),jh=tu(Rh),Zh=Ph+Vh+jh,Wh=Ah+Lh,Jh=Ks(Bh,kh),Kh=tu(Wh),td=zh+$h+Kh,nd=rh+ah,ed=Ks(oh,ph),rd=tu(nd),od=ih+hh+rd,id=uh+dh,cd=Ks(fh,vh),sd=tu(id),ud=lh+gh+sd,fd=Ep+_p,ld=Ks(wp,Np),ad=tu(fd),pd=Mp+Sp+ad,hd=2*(mh+Ih),dd=Zs(Ks(xh,_h)),vd=2*(bh+Nh)+tu(hd),gd=V*Rh,md=Js(r,Uh),xd=h*jh+R*Zh+2*tu(gd),bd=L*Wh,Id=Js(o,Jh),_d=d*Kh+U*td+2*tu(bd),Nd=Y*nd,Sd=Js(e,ed),Ed=p*rd+G*od+2*tu(Nd),wd=k*id,Md=Js(i,cd),Od=v*sd+j*ud+2*tu(wd),Td=X*fd,Cd=Js(s,ld),yd=m*ad+W*pd+2*tu(Td),Pd=gd+bd,Ad=Ks(md,Id),Bd=xd+_d+tu(Pd),zd=Nd+wd,Fd=Ks(Sd,Md),Yd=Ed+Od+tu(zd),Vd=Td+hd,Ld=Ks(Cd,dd),kd=yd+vd+tu(Vd),$d=Xh+Dh,Xd=Ks(qh,Qh),qd=Hh+Gh+tu($d),Hd=Pd+zd,Dd=Ks(Ad,Fd),Qd=Bd+Yd+tu(Hd),Gd=Vd+$d,Rd=Ks(Ld,Xd),Ud=kd+qd+tu(Gd),jd=Hd+Gd,Zd=Ks(Dd,Rd),Wd=Qd+Ud+tu(jd),Jd=Ot+Bt,Kd=Ks(_n,zn),tv=Nn+Fn+tu(Jd),nv=Ot+_t,ev=Ks(_n,un),rv=Nn+fn+tu(nv),ov=2*Jd+_t,iv=Ks(Zs(Kd),un),cv=2*tv+fn+tu(ov),sv=2*nv+Bt,uv=Ks(Zs(ev),zn),fv=2*rv+Fn+tu(sv),lv=w*ov,av=Ws(w,iv),pv=st*cv+tu(lv),hv=C*St,dv=Ws(C,pn),vv=at*dn+tu(hv),gv=C*sv,mv=Ws(C,uv),xv=at*fv+tu(gv),bv=w*Qt,Iv=Ws(w,oe),_v=st*ce+tu(bv),Nv=w*St,Sv=Ws(w,pn),Ev=st*dn+tu(Nv),wv=et*vt,Mv=Js(S,Wt),Ov=P*be+2*tu(wv),Tv=C*Qt,Cv=Ws(C,oe),yv=at*ce+tu(Tv),Pv=it*Xt,Av=Js(O,Wn),Bv=z*we+2*tu(Pv),zv=lv+hv,Fv=Ks(av,dv),Yv=pv+vv+tu(zv),Vv=pv+vv+Yv,Lv=gv+bv,kv=Ks(mv,Iv),$v=xv+_v+tu(Lv),Xv=xv+_v+$v,qv=Nv+wv,Hv=Ks(Sv,Mv),Dv=tu(qv),Qv=Ev+Ov+Dv,Gv=Tv+Pv,Rv=Ks(Cv,Av),Uv=tu(Gv),jv=yv+Bv+Uv,Zv=Y*qv,Wv=Js(e,Hv),Jv=p*Dv+G*Qv+2*tu(Zv),Kv=k*Gv,tg=Js(i,Rv),ng=v*Uv+j*jv+2*tu(Kv),eg=3*(Zv+Kv),rg=Ws(3,Ks(Wv,tg)),og=3*(Jv+ng)+2*tu(eg),ig=Jd+_t,cg=Ks(Kd,un),sg=tu(ig),ug=tv+fn+sg,fg=2*mt+St,lg=Ks(Zs(tn),pn),ag=tu(fg),pg=2*nn+dn+ag,hg=2*Ht+Qt,dg=Ks(Zs(te),oe),vg=tu(hg),gg=2*ne+ce+vg,mg=V*zv,xg=Js(r,Fv),bg=h*Yv+R*Vv+2*tu(mg),Ig=L*Lv,_g=Js(o,kv),Ng=d*$v+U*Xv+2*tu(Ig),Sg=X*ig,Eg=Js(s,cg),wg=m*sg+W*ug+2*tu(Sg),Mg=$*fg,Og=Js(c,lg),Tg=g*ag+Z*pg+2*tu(Mg),Cg=q*hg,yg=Js(u,dg),Pg=x*vg+J*gg+2*tu(Cg),Ag=et*H,Bg=Js(S,f),zg=P*K+ft*b+tu(Ag),Fg=it*D,Yg=Js(O,l),Vg=z*tt+ht*I+tu(Fg),Lg=Ag+Fg,kg=Ks(Bg,Yg),$g=zg+Vg+tu(Lg),Xg=mg+Ig,qg=Ks(xg,_g),Hg=bg+Ng+tu(Xg),Dg=eg+Sg,Qg=Ks(rg,Eg),Gg=og+wg+tu(Dg),Rg=Mg+Cg,Ug=Ks(Og,yg),jg=Tg+Pg+tu(Rg),Zg=Xg+Dg,Wg=Ks(qg,Qg),Jg=Hg+Gg+tu(Zg),Kg=Rg+Lg,tm=Ks(Ug,kg),nm=jg+$g+tu(Kg),em=Zg+Kg,rm=Ks(Wg,tm),om=Jg+nm+tu(em),im=Mt+It,cm=Ks(bn,cn),sm=tu(im),um=In+sn+sm,fm=w*V,lm=Ws(w,r),am=tu(fm),pm=st*h+am,hm=C*L,dm=Ws(C,o),vm=tu(hm),gm=at*d+vm,mm=im+Mt,xm=Ks(cm,bn),bm=tu(mm),Im=um+In+bm,_m=im+It,Nm=Ks(cm,cn),Sm=tu(_m),Em=um+sn+Sm,wm=nt*vt,Mm=Js(E,Wt),Om=tu(wm),Tm=A*be+2*Om,Cm=wm*Y,ym=Js(Mm,e),Pm=Tm*G+Om*p+2*tu(Cm),Am=ot*Xt,Bm=Js(T,Wn),zm=tu(Am),Fm=F*we+2*zm,Ym=Am*k,Vm=Js(Bm,i),Lm=Fm*j+zm*v+2*tu(Ym),km=X*im,$m=Js(s,cm),Xm=m*sm+W*um+2*tu(km),qm=gt*$,Hm=Js(Jt,c),Dm=Kt*Z+Ie*g+2*tu(qm),Qm=qt*q,Gm=Js(Jn,u),Rm=Kn*J+Me*x+2*tu(Qm),Um=qm+Qm,jm=Ks(Hm,Gm),Zm=Dm+Rm+tu(Um),Wm=nt*H,Jm=Js(E,f),Km=A*K+ut*b+tu(Wm),tx=ot*D,nx=Js(T,l),ex=F*tt+pt*I+tu(tx),rx=Wm+tx,ox=Ks(Jm,nx),ix=Km+ex+tu(rx),cx=fm*mm,sx=Js(lm,xm),ux=pm*bm+am*Im+2*tu(cx),fx=hm*_m,lx=Js(dm,Nm),ax=gm*Sm+vm*Em+2*tu(fx),px=cx+fx,hx=Ks(sx,lx),dx=ux+ax+tu(px),vx=3*(Cm+Ym),gx=Ws(3,Ks(ym,Vm)),mx=3*(Pm+Lm)+2*tu(vx),xx=km+2*Um,bx=Ks($m,Zs(jm)),Ix=Xm+2*Zm+tu(xx),_x=px+vx,Nx=Ks(hx,gx),Sx=dx+mx+tu(_x),Ex=xx+rx,wx=Ks(bx,ox),Mx=Ix+ix+tu(Ex),Ox=_x+Ex,Tx=Ks(Nx,wx),Cx=Sx+Mx+tu(Ox),yx=w*Y,Px=Ws(w,e),Ax=st*p+tu(yx),Bx=C*V,zx=Ws(C,r),Fx=at*h+tu(Bx),Yx=yx+Bx,Vx=Ks(Px,zx),Lx=Ax+Fx+tu(Yx),kx=w*L,$x=Ws(w,o),Xx=st*d+tu(kx),qx=C*k,Hx=Ws(C,i),Dx=at*v+tu(qx),Qx=kx+qx,Gx=Ks($x,Hx),Rx=Xx+Dx+tu(Qx),Ux=Yx+$,jx=Ks(Vx,c),Zx=Lx+g+tu(Ux),Wx=Qx+q,Jx=Ks(Gx,u),Kx=Rx+x+tu(Wx),tb=vt*Ux,nb=Js(Wt,jx),eb=be*Zx+2*tu(tb),rb=Xt*Wx,ob=Js(Wn,Jx),ib=we*Kx+2*tu(rb),cb=tb+rb,sb=Ks(nb,ob),ub=eb+ib+tu(cb),fb=bt*X,lb=Js(on,s),ab=Ee*m+tu(fb),pb=cb+fb,hb=Ks(sb,lb),db=ub+ab+tu(pb),vb=w*H,gb=Ws(w,f),mb=st*b+tu(vb),xb=C*D,bb=Ws(C,l),Ib=at*I+tu(xb),_b=vb+xb,Nb=Ks(gb,bb),Sb=mb+Ib+tu(_b),Eb=pb+_b,wb=Ks(hb,Nb),Mb=db+Sb+tu(Eb),Ob=Eb+Q,Tb=Ks(wb,a),Cb=Mb+_+tu(Ob);return{coeffs:[lr,no,Ci,Us,vl,bp,Zd,rm,Tx,Tb],errBound:[nu*ar,nu*eo,nu*yi,nu*eu,nu*gl,nu*Ip,nu*Wd,nu*om,nu*Cx,nu*Cb]}}]],Af=[[lu,Wu,mf],[Su,of,Ef],[Gu,pf,function(t,n){const e=Bt(t);if(0===yf(e[0][0])&&0===yf(e[1][0]))return Ef(Pu(t),n);const[[r,o,i,[c]],[s,u,f,[l]]]=Bt(n);if(0===yf(r)&&0===yf(s))return pf(t,Pu(n));const{vₓₓₓ:a,vₓₓᵧ:p,vₓᵧᵧ:h,vᵧᵧᵧ:d,vₓₓ:v,vₓᵧ:g,vᵧᵧ:m,vₓ:x,vᵧ:b,v:I}=ku(e),_=wf(c,c),N=Mf(c,i),S=Mf(c,o),E=Mf(c,r),w=wf(c,l),M=Mf(c,f),O=Mf(c,u),T=Mf(c,s),C=Of(i,i),y=Of(i,o),P=Of(i,r),A=Mf(l,i),B=Of(i,f),z=Of(i,u),F=Of(i,s),Y=Of(o,f),V=Of(o,o),L=Of(o,r),k=Mf(l,o),$=Of(o,u),X=Of(o,s),q=Of(r,r),H=Mf(l,r),D=Of(r,f),Q=Of(r,u),G=Of(r,s),R=wf(l,l),U=Mf(l,f),j=Mf(l,u),Z=Mf(l,s),W=Of(f,f),J=Of(f,u),K=Of(s,s),tt=Of(u,u),nt=Of(u,s),et=Of(f,s),rt=Of(r,q),ot=Of(r,K),it=Of(s,q),ct=Of(s,K),st=Of(rt,a),ut=Of(ot,h),ft=Of(it,p),lt=Of(ct,d),at=Tf(st,ut),pt=Tf(ft,lt),ht=Tf(at,pt),dt=Tf(Cf(X),Q),vt=Tf(Cf(Q),X),gt=Of(r,dt),mt=Of(s,vt),xt=Of(o,q),bt=Of(u,K),It=Of(a,xt),_t=Of(d,bt),Nt=Of(p,gt),St=Of(h,mt),Et=Tf(Nt,St),wt=Mf(3,Tf(It,_t)),Mt=Tf(Et,wt),Ot=Of(i,G),Tt=Of(f,q),Ct=Of(o,nt),yt=Of(i,K),Pt=Of(o,Q),At=Of(s,V),zt=Of(r,et),Ft=Of(u,Q),Yt=Tf(Ot,Pt),Vt=Tf(Tt,At),Lt=Tf(Ct,zt),kt=Tf(yt,Ft),$t=Tf(P,V),Xt=Tf(et,tt),qt=Tf(Cf(Yt),Vt),Ht=Tf(Cf(Lt),kt),Dt=Of(p,qt),Qt=Of(h,Ht),Gt=Of(r,$t),Rt=Of(s,Xt),Ut=Of(a,Gt),jt=Of(d,Rt),Zt=Tf(Dt,Qt),Wt=Mf(3,Tf(Ut,jt)),Jt=Tf(Zt,Wt),Kt=Tf(X,Q),tn=Of(u,V),nn=Cf(Of(i,Kt)),en=Tf(tn,nn),rn=Cf(Tf(T,Y)),on=Tf(rn,H),cn=Of(r,on),sn=Tf(en,cn),un=Of(o,tt),fn=Cf(Of(f,Kt)),ln=Tf(un,fn),an=Cf(Tf(z,H)),pn=Tf(an,T),hn=Of(s,pn),dn=Tf(ln,hn),vn=Of(o,V),gn=Tf(Cf(y),E),mn=Of(Mf(3,r),gn),xn=Tf(vn,mn),bn=Of(u,tt),In=Tf(Cf(J),Z),_n=Of(Mf(3,s),In),Nn=Tf(bn,_n),Sn=Of(p,sn),En=Of(h,dn),wn=Tf(Sn,En),Mn=Of(a,xn),On=Of(d,Nn),Tn=Tf(Mn,On),Cn=Of(q,v),yn=Of(K,m),Pn=Tf(Cn,yn),An=Of(G,g),Bn=Tf(wn,Tn),zn=Tf(Pn,An),Fn=Tf(Bn,zn),Yn=Tf($,D),Vn=Tf(F,$),Ln=Mf(c,Kt),kn=Mf(l,Kt),$n=Of(i,Yn),Xn=Of(f,Vn),qn=Tf(Cf(H),Y),Hn=Tf(Cf(T),z),Dn=Of(s,C),Qn=Of(r,W),Gn=Of(o,qn),Rn=Of(u,Hn),Un=Cf(Tf(Ln,$n)),jn=Cf(Tf(kn,Xn)),Zn=Cf(Mf(c,L)),Wn=Cf(Mf(l,nt)),Jn=Of(i,$t),Kn=Of(f,Xt),te=Of(L,v),ne=Of(nt,m),ee=Tf(Un,Dn),re=Tf(jn,Qn),oe=Tf(ee,Gn),ie=Tf(re,Rn),ce=Tf(Zn,Jn),se=Tf(Wn,Kn),ue=Cf(Tf(te,ne)),fe=Of(p,oe),le=Of(h,ie),ae=Of(a,ce),pe=Of(d,se),he=Tf(fe,le),de=Mf(3,Tf(ae,pe)),ve=Of(g,Kt),ge=Tf(he,de),me=Tf(ve,ue),xe=Tf(ge,me),be=Tf(F,Yn),Ie=Tf(Cf(P),V),_e=Tf(Cf(et),tt),Ne=Mf(2*c,be),Se=Mf(2*l,be),Ee=Tf(z,Cf(Y)),we=Tf(Y,Cf(z)),Me=Mf(l,Ie),Oe=Mf(c,_e),Te=Of(i,Ee),Ce=Of(f,we),ye=Mf(c,Ie),Pe=Mf(l,_e),Ae=Of(o,C),Be=Of(u,W),ze=Tf(Ne,Me),Fe=Tf(Se,Oe),Ye=Tf(ze,Te),Ve=Tf(Fe,Ce),Le=Tf(ye,Ae),ke=Tf(Pe,Be),$e=Of(p,Ye),Xe=Of(h,Ve),qe=Of(a,Le),He=Of(d,ke),De=Tf(qe,He),Qe=Tf($e,Xe),Ge=Tf(Qe,Mf(3,De)),Re=Of(g,be),Ue=Of(v,Ie),je=Tf(Re,Ue),Ze=Of(m,_e),We=Tf(je,Ze),Je=Tf(Ge,We),Ke=Tf(z,Y),tr=Tf(H,T),nr=Tf(y,E),er=Tf(J,Z),rr=Tf(Cf(Ke),H),or=Tf(Cf(Ke),T),ir=Tf(Cf(k),B),cr=Tf(Cf(O),B),sr=Tf(nr,y),ur=Tf(er,J),fr=Of(wf(3,c),sr),lr=Of(wf(3,l),ur),ar=Of(i,C),pr=Of(f,W),hr=Of(v,nr),dr=Of(m,er),vr=Tf(rr,tr),gr=Tf(or,tr),mr=Mf(c,vr),xr=Mf(l,gr),br=Of(i,ir),Ir=Of(f,cr),_r=Of(r,x),Nr=Of(s,b),Sr=Tf(mr,br),Er=Tf(xr,Ir),wr=Tf(fr,ar),Mr=Tf(lr,pr),Or=Tf(tr,Ke),Tr=Cf(Tf(hr,dr)),Cr=Of(p,Sr),yr=Of(h,Er),Pr=Of(a,wr),Ar=Of(d,Mr),Br=Of(g,Or),zr=Tf(Cr,yr),Fr=Tf(Pr,Ar),Yr=Tf(Br,Tr),Vr=Tf(_r,Nr),Lr=Tf(zr,Fr),kr=Tf(Yr,Vr),$r=Tf(Lr,kr),Xr=Tf(B,k),qr=Tf(B,O),Hr=Tf(Cf(Xr),O),Dr=Tf(Cf(qr),k),Qr=Mf(c,Hr),Gr=Mf(l,C),Rr=Mf(l,Dr),Ur=Mf(c,W),jr=Mf(c,C),Zr=Of(o,_),Wr=Mf(l,W),Jr=Of(u,R),Kr=Tf(Qr,Gr),to=Tf(Rr,Ur),no=Tf(jr,Zr),eo=Tf(Wr,Jr),ro=Of(a,no),oo=Of(d,eo),io=Mf(3,Tf(ro,oo)),co=Tf(Xr,O),so=Tf(Cf(S),C),uo=Tf(Cf(j),W),fo=Of(p,Kr),lo=Of(h,to),ao=Of(g,co),po=Of(v,so),ho=Of(m,uo),vo=Of(o,x),go=Of(u,b),mo=Tf(vo,go),xo=Tf(fo,lo),bo=Tf(io,ao),Io=Tf(po,ho),_o=Tf(xo,bo),No=Tf(Io,mo),So=Tf(_o,No),Eo=Tf(A,M),wo=Mf(c,p),Mo=Mf(l,h),Oo=Tf(Eo,A),To=Tf(Eo,M),Co=Of(i,_),yo=Of(Co,a),Po=Of(f,R),Ao=Of(Po,d),Bo=Of(g,Eo),zo=Of(N,v),Fo=Of(U,m),Yo=Tf(zo,Fo),Vo=Of(i,x),Lo=Of(f,b),ko=Tf(Vo,Lo),$o=Of(wo,Oo),Xo=Of(Mo,To),qo=Tf($o,Xo),Ho=Mf(3,Tf(yo,Ao)),Do=Tf(Bo,Cf(Yo)),Qo=Tf(qo,Ho),Go=Tf(Do,ko),Ro=Tf(Qo,Go),Uo=Mf(c,a),jo=Mf(l,p),Zo=Tf(Uo,jo),Wo=Mf(c,h),Jo=Mf(l,d),Ko=Tf(Wo,Jo),ti=Tf(Zo,v),ni=Tf(Ko,m),ei=Of(_,ti),ri=Of(R,ni),oi=Tf(ei,ri),ii=Of(w,g),ci=Tf(oi,ii),si=Mf(c,x),ui=Mf(l,b),fi=Tf(si,ui),li=Tf(ci,fi);return[ht,Mt,Jt,Fn,xe,Je,$r,So,Ro,Tf(li,I)]}]];function Bf(t,n){const{coeffs:e,errBound:r}=Pf[t.length-2][n.length-2](t,n);return{coeffs:e,errBound:r,getPExact:()=>Af[t.length-2][n.length-2](t,n)}}const zf=134217729;function Ff(t,n){const e=t[0],r=t[1],o=n[0],i=n[1],c=r/i,s=i*c,u=zf*i,f=u-(u-i),l=i-f,a=zf*c,p=a-(a-c),h=c-p,d=o*c,v=s+d,g=d-(v-s)+(l*h-(s-f*p-l*p-f*h)),m=v+g,x=(r-m+(e-(g-(m-v))))/i,b=c+x;return[x-(b-c),b]}const Yf=Ff,Vf=Number.EPSILON/2,Lf=Vf*Vf,kf=b,$f=b,Xf=b,qf=ur,Hf=sr,Df=Ir,Qf=x,Gf=Co,Rf=Number.EPSILON/2,Uf=Rf*Rf,jf=Math.abs,Zf=Xf,Wf=[0,1],Jf=qf,Kf=Qf,tl=Hf,nl=Df,el=Gf,rl=function(t,n,e,r){const o=t[0],i=t[1],c=n[0],s=n[1],u=Yf(t,n),f=Math.abs(o+i),l=Math.abs(c+s),a=l-Vf*l-r;return a<=0?{est:u,err:Number.POSITIVE_INFINITY}:{est:u,err:(l*e+f*r)/a**2+9*Lf*Math.abs(f/l)}},ol=function(t,n){return kf(t,n)[1]>0?n:t},il=function(t,n){return $f(t,n)[1]>0?t:n},cl=Z(3);function sl(t,n){return n[0][0]!==n[1][0]||n[0][1]!==n[1][1]?4===t.length?function([[t,n],[e,r],[o,i],[c,s]],[u,f]){const l=Zf(f,u),a=3*Uf*jf(l[1]),p=Zf(Wf,u),h=3*Uf*jf(p[1]),d=rl(l,p,a,h);f=Jf(d.est,d.err);const v=Zf(Wf,u),g=tl(u,u),m=tl(u,v),x=tl(v,v),b=tl(g,u),I=tl(g,v),_=tl(x,u),N=tl(x,v),S=Zf(Wf,f),E=tl(f,f),w=tl(f,S),M=tl(S,S),O=tl(E,f),T=tl(E,S),C=tl(M,f),y=tl(M,S),P=jf(u[1]),A=jf(v[1]),B=jf(g[1]),z=jf(m[1]),F=jf(x[1]),Y=jf(b[1]),V=jf(I[1]),L=jf(_[1]),k=jf(N[1]),$=jf(f[1]),X=jf(S[1]),q=jf(E[1]),H=jf(w[1]),D=jf(M[1]),Q=jf(O[1]),G=jf(T[1]),R=jf(C[1]),U=jf(y[1]);let j=jf(t),Z=jf(n),W=jf(e),J=jf(r),K=jf(o),tt=jf(i),nt=jf(c),et=jf(s);const rt=Kf(nl(c,u),nl(o,v)),ot=Kf(Kf(nl(c,g),nl(2*o,m)),nl(e,x)),it=Kf(Kf(nl(c,b),nl(t,N)),nl(3,Kf(nl(o,I),nl(e,_)))),ct=Kf(tl(ot,f),tl(it,S)),st=Kf(Kf(tl(rt,E),tl(it,M)),tl(el(ot),w)),ut=Kf(Kf(nl(c,O),tl(it,y)),nl(3,Kf(tl(rt,T),tl(ot,C)))),ft=jf(it[1]),lt=nt*P+K*A,at=nt*B+2*K*z+W*F;j=nt*Y+j*k+3*(K*V+W*L),W=at*$+ft*X,K=lt*q+ft*D+2*at*H,nt=nt*Q+ft*U+3*(lt*G+at*R),j*=11*Uf,W*=15*Uf,K*=20*Uf,nt*=22*Uf;const pt=Kf(nl(s,u),nl(i,v)),ht=Kf(Kf(nl(s,g),nl(2*i,m)),nl(r,x)),dt=Kf(Kf(nl(s,b),nl(n,N)),nl(3,Kf(nl(i,I),nl(r,_)))),vt=Kf(tl(ht,f),tl(dt,S)),gt=Kf(Kf(tl(pt,E),tl(dt,M)),tl(el(ht),w)),mt=Kf(Kf(nl(s,O),tl(dt,y)),nl(3,Kf(tl(pt,T),tl(ht,C)))),xt=jf(dt[1]),bt=et*P+tt*A,It=et*B+2*tt*z+J*F;Z=et*Y+Z*k+3*(tt*V+J*L),J=It*$+xt*X,tt=bt*q+xt*D+2*It*H,et=et*Q+xt*U+3*(bt*G+It*R),Z*=11*Uf,J*=15*Uf,tt*=20*Uf,et*=22*Uf;const _t=ol(ol(Jf(it,-j),Jf(ct,-W)),ol(Jf(st,-K),Jf(ut,-nt))),Nt=il(il(Jf(it,+j),Jf(ct,+W)),il(Jf(st,+K),Jf(ut,+nt)));return[[_t,ol(ol(Jf(dt,-Z),Jf(vt,-J)),ol(Jf(gt,-tt),Jf(mt,-et)))],[Nt,il(il(Jf(dt,+Z),Jf(vt,+J)),il(Jf(gt,+tt),Jf(mt,+et)))]]}(t,n):3===t.length?function([[t,n],[e,r],[o,i]],[c,s]){const u=Zf(s,c),f=3*Uf*jf(u[1]),l=Zf(Wf,c),a=3*Uf*jf(l[1]),p=rl(u,l,f,a);s=Jf(p.est,p.err);const h=Zf(Wf,c),d=tl(c,c),v=tl(c,h),g=tl(h,h),m=Zf(Wf,s),x=tl(s,s),b=tl(s,m),I=tl(m,m),_=jf(c[1]),N=jf(h[1]),S=jf(d[1]),E=jf(v[1]),w=jf(g[1]),M=jf(s[1]),O=jf(m[1]),T=jf(x[1]),C=jf(b[1]),y=jf(I[1]);let P=jf(t),A=jf(n),B=jf(e),z=jf(r),F=jf(o),Y=jf(i);const V=Kf(Kf(nl(o,d),nl(2*e,v)),nl(t,g)),L=Kf(nl(o,c),nl(e,h)),k=V,$=Kf(tl(s,L),tl(m,V)),X=Kf(Kf(nl(o,x),tl(el(b),L)),tl(I,V)),q=F*S+2*B*E+P*w,H=F*_+B*N;P=q,B=M*H+O*q,F=T*o+2*C*H+y*q,P*=7*Uf,B*=11*Uf,F*=14*Uf;const D=Kf(Kf(nl(i,d),nl(2*r,v)),nl(n,g)),Q=Kf(nl(i,c),nl(r,h)),G=D,R=Kf(tl(s,Q),tl(m,D)),U=Kf(Kf(nl(i,x),tl(el(b),Q)),tl(I,D)),j=Y*S+2*z*E+A*w,Z=Y*_+z*N;A=j,z=M*Z+O*j,Y=T*i+2*C*Z+y*j,A*=7*Uf,z*=11*Uf,Y*=14*Uf;const W=ol(ol(Jf(k,-P),Jf($,-B)),Jf(X,-F)),J=il(il(Jf(k,+P),Jf($,+B)),Jf(X,+F));return[[W,ol(ol(Jf(G,-A),Jf(R,-z)),Jf(U,-Y))],[J,il(il(Jf(G,+A),Jf(R,+z)),Jf(U,+Y))]]}(t,n):function([[t,n],[e,r]],[o,i]){const c=Zf(i,o),s=3*Uf*jf(c[1]),u=Zf(Wf,o),f=3*Uf*jf(u[1]),l=rl(c,u,s,f);i=Jf(l.est,l.err);const a=Zf(Wf,o),p=Zf(Wf,i),h=jf(o[1]),d=jf(a[1]),v=jf(i[1]),g=jf(p[1]);let m=jf(t),x=jf(n),b=jf(e),I=jf(r);const _=Kf(nl(e,o),nl(t,a)),N=Kf(nl(e,i),tl(_,p));m=b*h+m*d,b=b*v+m*g,m*=3*Rf,b*=7*Rf;const S=Kf(nl(r,o),nl(n,a)),E=Kf(nl(r,i),tl(S,p));x=I*h+x*d,I=I*v+x*g,x*=3*Rf,I*=7*Rf;const w=ol(Jf(_,-m),Jf(N,-b)),M=il(Jf(_,+m),Jf(N,+b));return[[w,ol(Jf(S,-x),Jf(E,-I))],[M,il(Jf(S,+x),Jf(E,+I))]]}(t,n):function(t,n){const e=t[0],r=t[t.length-1];if(0===n[0]&&0===n[1]){const t=[0,e[0]],n=[0,e[1]];return[[t,n],[t,n]]}if(0===n[0]&&1===n[1]){const t=[0,r[0]],n=[0,r[1]];return[[t,n],[t,n]]}const o=dr(t,n);let i;if(4===t.length)i=mo(t,n).map(t=>16*cl*t);else if(3===t.length)i=mo(t,n).map(t=>10*cl*t);else if(2===t.length)i=mo(t,n).map(t=>4*cl*t);else if(1===t.length)return[o,o];return[[Jf(o[0],-i[0]),Jf(o[1],-i[1])],[Jf(o[0],+i[0]),Jf(o[1],+i[1])]]}(t,n[0])}function ul(t){return(n,e)=>{let[[r,o],[i,c]]=n,[[s,u],[f,l]]=e;return(o[1]>c[1]||o[1]===c[1]&&o[0]>c[0])&&([o,c]=[c,o]),(u[1]>l[1]||u[1]===l[1]&&u[0]>l[0])&&([u,l]=[l,u]),(r[1]>i[1]||r[1]===i[1]&&r[0]>i[0])&&([r,i]=[i,r]),(s[1]>f[1]||s[1]===f[1]&&s[0]>f[0])&&([s,f]=[f,s]),t?(r[1]<f[1]||r[1]===f[1]&&r[0]<=f[0])&&(i[1]>s[1]||i[1]===s[1]&&i[0]>=s[0])&&(u[1]<c[1]||u[1]===c[1]&&u[0]<=c[0])&&(l[1]>o[1]||l[1]===o[1]&&l[0]>=o[0]):(r[1]<f[1]||r[1]===f[1]&&r[0]<f[0])&&(i[1]>s[1]||i[1]===s[1]&&i[0]>s[0])&&(u[1]<c[1]||u[1]===c[1]&&u[0]<c[0])&&(l[1]>o[1]||l[1]===o[1]&&l[0]>o[0])}}function fl(t){return[((n=t.x.box)[0][0]+n[1][0])/2,(n[0][1]+n[1][1])/2];var n}function ll(t,n){const e=Bf(t,n);if(void 0===e)return;const{coeffs:r,errBound:o,getPExact:i}=e,c=ao(r,0,1,o,i);return 0!==c.length?{ris:c.map(Sc),getPExact:i}:void 0}function al(t){return{tS:ht(t.tS),tE:ht(t.tE),multiplicity:t.multiplicity}}function pl(t,n){const e=ll(t,n);if(void 0===e)return[];const{getPExact:r}=e;let o,{ris:i}=e;const c=()=>(o=o||r(),o),s=ll(n,t);if(void 0===s)return[];let{ris:u}=s;const{getPExact:f}=s;let l;const a=()=>(l=l||f(),l);let p;p=1;let h,d=0;t:for(;d<p;){h=u.map(n=>sl(t,[n.tS,n.tE]));for(let t=0;t<u.length;t++){const n=h[t];for(let e=t+1;e<u.length;e++){const t=h[e];if(ul(!0)(n,t)){const t=[];for(const n of u)t.push(...Vi({tS:n.tS[1],tE:n.tE[1],multiplicity:n.multiplicity},a()));u=t,d++;continue t}}}break t}p=1;let v,g=0;t:for(;g<p;){v=i.map(t=>sl(n,[t.tS,t.tE]));for(let t=0;t<i.length;t++){const n=v[t];for(let e=t+1;e<i.length;e++){const t=v[e];if(ul(!0)(n,t)){const t=[];for(const n of i)t.push(...Vi({tS:n.tS[1],tE:n.tE[1],multiplicity:n.multiplicity},c()));i=t,g++;continue t}}}break t}const m=[];for(let t=0;t<u.length;t++){const n=h[t];for(let e=0;e<i.length;e++){const o=v[e];if(ul(!0)(n,o)){const c={compensated:d,ri:al(u[t]),riExp:d?u[t]:void 0,getPExact:d?void 0:f,kind:1,box:hl(n)},s={compensated:g,ri:al(i[e]),riExp:g?i[e]:void 0,getPExact:g?void 0:r,kind:1,box:hl(o)};m.push({psX:c,sideX:s})}}}return m}function hl(t){return t.map(t=>t.map(ht))}function dl(t,n){return function(t,n){const e=t.xs,r=[],o=new Map;for(const t of e){const n=t.curve,e=o.get(n);e?e.push(t):o.set(n,[t])}const i=function(t){const[[n,e],[r,o]]=t.box,i=[[[r,e],[n,e]],[[n,e],[n,o]],[[n,o],[r,o]],[[r,o],[r,e]]];return(n,e,r)=>{const o=n.ps,c=e.slice();for(let t=0;t<i.length;t++){const n=pl(o,i[t]);for(const{psX:e,sideX:r}of n)c.push({x:e,side:t,sideX:r,curve:void 0})}c.sort((t,n)=>t.x.ri.tS-n.x.ri.tS);const s=[],u=[];let f,l;for(const n of c)void 0!==n.side?(!0===l&&(u.push({idx:++r,dir:1,p:fl(n),_x_:f,container:t,side:n.side,sideX:n.sideX,loopsIdxs:new Set}),f.out=u[u.length-1]),l=!1):(!1===l&&(s.push({idx:++r,dir:-1,p:fl(f),_x_:n,container:t,side:f.side,sideX:f.sideX,loopsIdxs:new Set}),n.in_=s[s.length-1]),l=!0),f=n;return{ins:s,outs:u,ioIdx:r}}}(t);for(const t of o){const[e,o]=t;let c,s;({ins:c,outs:s,ioIdx:n}=i(e,o,n)),r.push(...c),r.push(...s)}return{inOuts:r,ioIdx:n}}(t,n)}function vl(t,n,e,r){const o=[];for(const r of t)o.push({type:-1,item:r,x:n(r)}),o.push({type:1,item:r,x:e(r)});o.sort(gl);const i=new Set,c=[];for(const t of o){const n=t.item;if(-1===t.type){for(const t of i.values()){const e=r(n,t);e&&c.push({a:n,b:t,u:e})}i.add(n)}else 1===t.type&&i.delete(t.item)}return c}function gl(t,n){const e=t.x-n.x;return 0!==e?e:t.type}function ml(t,n){const e=n[0]-t[0],r=n[1]-t[1];return e*e+r*r}function xl(t,n,e){const r=n[0]-t[0],o=n[1]-t[1];return r*(e[0]-n[0])+o*(e[1]-n[1])}const bl=function(t,n){if(0===t.length)return;const e=t.slice(),r=function(t){let n,e=[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY];for(let r=0;r<t.length;r++){const o=t[r][1];(o<e[1]||o===e[1]&&t[r][0]<e[0])&&(n=r,e=t[r])}return n}(e),[o]=e.splice(r,1);e.sort((t,n)=>{let e=-gt(o,t,n);return 0!==e?e:(e=t[1]-n[1],0!==e?e:t[0]-n[0])}),e.unshift(o);const i=function(t){const n=[t[0]],e=t.length;for(let r=1;r<t.length;r++){const o=t[(r+e-1)%e],i=t[r];o[0]===i[0]&&o[1]===i[1]||n.push(i)}return n}(e),c=[];for(const t of i){for(;c.length>=2&>(c[c.length-2],c[c.length-1],t)<0;)c.pop();c.push(t)}if(n||c.length<3)return c;const s=[];{const t=c.length;for(let n=0;n<t;n++){const e=(n+1)%t,r=c[(n+t-1)%t],o=c[n],i=c[e];(0!==gt(r,o,i)||xl(r,o,i)<0)&&s.push(o)}}return s},Il=x,_l=H,Nl=B,Sl=Q,El=ht,wl=sr,Ml=Ci,Ol=Math.abs,Tl=Z(3);const Cl=Math.abs;const yl=Math.abs,Pl=sr,Al=x,Bl=H,zl=B,Fl=Q,Yl=ht,Vl=Ci,Ll=Math.abs,kl=j(1),$l=Z(3);function Xl(t,n){const[e,r]=n,o=e.length,i=r.length,c=e[o-1],s=r[i-1],u=1===o&&1===i;{const{vₓₓ:n,vₓᵧ:e,vᵧᵧ:r,vₓ:o,vᵧ:i,v:f}=function(t){const[[n,e,r],[o,i,c]]=ji(t),s=n*i-e*o,u=n*c-r*o;return{vₓₓ:-o*o,vₓᵧ:2*n*o,vᵧᵧ:-n*n,vₓ:i*s-2*o*u,vᵧ:2*n*u-e*s,v:s*(e*c-r*i)-u*u}}(t),{vₓₓ_:l,vₓᵧ_:a,vᵧᵧ_:p,vₓ_:h,vᵧ_:d,v_:v}=function(t){const[n,e]=t[0],[[r,o],[i,c]]=function(t){const[[n,e],[r,o],[i,c]]=t,s=Cl(n),u=Cl(r),f=Cl(i),l=Cl(e),a=Cl(o);return[[f+s+2*u,2*(u+s),0],[Cl(c)+l+2*a,2*(a+l),0]]}(t),s=yl(n),u=yl(e),f=r*c+o*i,l=r*u+s*i;return{vₓₓ_:i*i,vₓᵧ_:2*r*i,vᵧᵧ_:r*r,vₓ_:c*f+2*i*l,vᵧ_:2*r*l+o*f,v_:f*(o*u+s*c)+l*l}}(t),g=u?0:1,m=Ll(c),x=Ll(s);if((g+12)*kl*(l*(m*m)+a*(m*x)+p*(x*x)+(h*m+d*x)+v)<Ll(n*c*c+e*c*s+r*s*s+(o*c+i*s)+f))return!1}{const{coeffs:{vₓₓ:n,vₓᵧ:o,vᵧᵧ:i,vₓ:u,vᵧ:f,v:l},errorBound:{vₓₓ_:a,vₓᵧ_:p,vᵧᵧ_:h,vₓ_:d,vᵧ_:v,v_:g}}=jc(t),m=Vl(e),x=Vl(r),b=Ll(c),I=Ll(s),_=b/3,N=I/3,S=Pl(m,m),E=S[1],w=2*(b*_+E),M=Pl(x,x),O=M[1],T=2*(I*N+O),C=Pl(m,x),y=Ll(C[1]),P=b*N+_*I+2*y,A=Pl(n,S),B=Ll(n[1])*w+a*E+2*Ll(A[1]),z=Pl(o,C),F=Ll(o[1])*P+p*y+2*Ll(z[1]),Y=Pl(i,M),V=Ll(i[1])*T+h*O+2*Ll(Y[1]),L=Pl(m,u),k=Ll(u[1])*_+d*b+2*Ll(L[1]),$=Pl(x,f),X=Ll(f[1])*N+v*I+2*Ll($[1]),q=Al(A,z),H=B+F+Ll(q[1]),D=Al(q,Y),Q=H+V+Ll(D[1]),G=Al(L,$),R=k+X+Ll(G[1]),U=Al(D,G),j=Q+R+Ll(U[1]),Z=Al(U,l),W=j+g+Ll(Z[1]);if($l*W<Ll(Yl(Z)))return!1}{const n=function(t){return gu(zt(t))}(t);if(void 0===n)return u&&c===t[0][0]&&s===t[0][1];n.hasOwnProperty("vₓₓ")||(n.vₓₓ=[0],n.vₓᵧ=[0],n.vᵧᵧ=[0]);const{vₓₓ:o,vₓᵧ:i,vᵧᵧ:f,vₓ:l,vᵧ:a,v:p}=n,h=zl(zl(zl(Bl(o,Bl(e,e)),Bl(i,Bl(e,r))),Bl(f,Bl(r,r))),zl(zl(Bl(e,l),Bl(r,a)),p));return 0===Fl(h)}}const ql=Math.abs,Hl=sr,Dl=x,Ql=H,Gl=B,Rl=Q,Ul=ht,jl=Ci,Zl=Math.abs,Wl=j(1),Jl=Z(3);function Kl(t,n){const[e,r]=n,o=e.length,i=r.length,c=e[o-1],s=r[i-1],u=1===o&&1===i;{const{vₓₓₓ:n,vₓₓᵧ:e,vₓᵧᵧ:r,vᵧᵧᵧ:o,vₓₓ:i,vₓᵧ:f,vᵧᵧ:l,vₓ:a,vᵧ:p,v:h}=function(t){const[[n,e,r,o],[i,c,s,u]]=Ui(t),f=n*s,l=r*i,a=n*c,p=e*i,h=n*n,d=i*i,v=n*u-o*i,g=f-l,m=a-p,x=e*u-o*c,b=e*s-r*c,I=r*u-o*s,_=2*g,N=v*v,S=v*b,E=_*x,w=m*x,M=-3*v-b,O=-3*N-2*S+(E+m*I),T=2*(v*g-w),C=v*m-g*g+m*b;return{vₓₓₓ:-i*d,vₓₓᵧ:3*n*d,vₓᵧᵧ:-3*i*h,vᵧᵧᵧ:n*h,vₓₓ:M*d+m*(s*i-c*c)+_*c*i,vₓᵧ:2*(m*(e*c-(l+f)/2)-(M*n*i+g*(p+a))),vᵧᵧ:M*h+m*(r*n-e*e)+_*e*n,vₓ:i*O+(c*T+s*C),vᵧ:-n*O-(e*T+r*C),v:v*(E-N-S)+(C*I-w*x)}}(t),{vₓₓₓ_:d,vₓₓᵧ_:v,vₓᵧᵧ_:g,vᵧᵧᵧ_:m,vₓₓ_:x,vₓᵧ_:b,vᵧᵧ_:I,vₓ_:_,vᵧ_:N,v_:S}=function(t){const[n,e]=t[0],[[r,o,i],[c,s,u]]=function(t){const[[n,e],[r,o],[i,c],[s,u]]=t,f=Cl(n),l=Cl(r),a=Cl(i),p=Cl(s),h=Cl(e),d=Cl(o),v=Cl(c);return[[p+f+3*(l+a),3*(a+f+2*l),3*(l+f),0],[Cl(u)+h+3*(d+v),3*(v+h+2*d),3*(d+h),0]]}(t),f=ql(n),l=ql(e),a=r*u,p=i*c,h=r*s,d=o*c,v=r*r,g=c*c,m=r*l+f*c,x=a+p,b=h+d,I=o*l+f*s,_=o*u+i*s,N=i*l+f*u,S=2*x,E=m*m,w=m*_,M=S*I,O=b*I,T=3*m+_,C=3*E+2*w+(M+b*N),y=2*(m*x+O),P=m*b+x*x+b*_;return{vₓₓₓ_:c*g,vₓₓᵧ_:3*r*g,vₓᵧᵧ_:3*c*v,vᵧᵧᵧ_:r*v,vₓₓ_:T*g+b*(u*c+s*s)+S*s*c,vₓᵧ_:2*(b*(o*s+(p+a)/2)+(T*r*c+x*(d+h))),vᵧᵧ_:T*v+b*(i*r+o*o)+S*o*r,vₓ_:c*C+(s*y+u*P),vᵧ_:r*C+(o*y+i*P),v_:m*(M+E+w)+(P*N+O*I)}}(t),E=c*c,w=s*s,M=n*(E*c)+e*(E*s)+(r*(c*w)+o*(w*s))+(i*E+f*(c*s)+l*w)+(a*c+p*s+h),O=u?0:1,T=Zl(c),C=Zl(s),y=T*T,P=C*C;if((O+26)*Wl*(d*(y*T)+v*(y*C)+(g*(T*P)+m*(P*C))+(x*y+b*(T*C)+I*P)+(_*T+N*C+S))<Zl(M))return!1}{const{coeffs:{vₓₓₓ:n,vₓₓᵧ:o,vₓᵧᵧ:i,vᵧᵧᵧ:u,vₓₓ:f,vₓᵧ:l,vᵧᵧ:a,vₓ:p,vᵧ:h,v:d},errorBound:{vₓₓₓ_:v,vₓₓᵧ_:g,vₓᵧᵧ_:m,vᵧᵧᵧ_:x,vₓₓ_:b,vₓᵧ_:I,vᵧᵧ_:_,vₓ_:N,vᵧ_:S,v_:E}}=ls(t),w=Zl(n[1]),M=Zl(o[1]),O=Zl(i[1]),T=Zl(u[1]),C=jl(e),y=jl(r),P=Zl(c),A=Zl(s),B=P/3,z=A/3,F=Hl(C,C),Y=F[1],V=2*(P*B+Y),L=Hl(C,F),k=Zl(L[1]),$=P*V+B*Y+2*k,X=Hl(y,y),q=X[1],H=2*(A*z+q),D=Hl(y,X),Q=Zl(D[1]),G=A*H+z*q+2*Q,R=Hl(y,F),U=Zl(R[1]),j=A*V+z*Y+2*U,Z=Hl(C,X),W=Zl(Z[1]),J=P*H+B*q+2*W,K=Hl(C,y),tt=Zl(K[1]),nt=P*z+B*A+2*tt,et=Hl(n,L),rt=w*$+v*k+2*Zl(et[1]),ot=Hl(o,R),it=M*j+g*U+2*Zl(ot[1]),ct=Hl(i,Z),st=O*J+m*W+2*Zl(ct[1]),ut=Hl(u,D),ft=T*G+x*Q+2*Zl(ut[1]),lt=Hl(f,F),at=Zl(f[1])*V+b*Y+2*Zl(lt[1]),pt=Hl(l,K),ht=Zl(l[1])*nt+I*tt+2*Zl(pt[1]),dt=Hl(a,X),vt=Zl(a[1])*H+_*q+2*Zl(dt[1]),gt=Hl(C,p),mt=Zl(p[1])*B+N*P+2*Zl(gt[1]),xt=Hl(y,h),bt=Zl(h[1])*z+S*A+2*Zl(xt[1]),It=Dl(et,ot),_t=rt+it+Zl(It[1]),Nt=Dl(ct,ut),St=st+ft+Zl(Nt[1]),Et=Dl(It,Nt),wt=_t+St+Zl(Et[1]),Mt=Dl(lt,pt),Ot=at+ht+Zl(Mt[1]),Tt=Dl(Mt,dt),Ct=Ot+vt+Zl(Tt[1]),yt=Dl(Et,Tt),Pt=wt+Ct+Zl(yt[1]),At=Dl(gt,xt),Bt=mt+bt+Zl(At[1]),zt=Dl(At,d),Ft=Bt+E+Zl(zt[1]),Yt=Dl(yt,zt),Vt=Pt+Ft+Zl(Yt[1]);if(Jl*Vt<Zl(Ul(Yt)))return!1}{const n=function(t){return ku(Bt(t))}(t);if(void 0===n)return u&&c===t[0][0]&&s===t[0][1];n.hasOwnProperty("vₓₓₓ")||(n.vₓₓₓ=[0],n.vₓₓᵧ=[0],n.vₓᵧᵧ=[0],n.vᵧᵧᵧ=[0]),n.hasOwnProperty("vₓₓ")||(n.vₓₓ=[0],n.vₓᵧ=[0],n.vᵧᵧ=[0]);const{vₓₓₓ:o,vₓₓᵧ:i,vₓᵧᵧ:f,vᵧᵧᵧ:l,vₓₓ:a,vₓᵧ:p,vᵧᵧ:h,vₓ:d,vᵧ:v,v:g}=n,m=Ql(e,e),x=Ql(e,m),b=Ql(r,r),I=Ql(r,b),_=Ql(r,m),N=Ql(e,b),S=Ql(e,r),E=Ql(o,x),w=Ql(i,_),M=Ql(f,N),O=Ql(l,I),T=Ql(a,m),C=Ql(p,S),y=Ql(h,b),P=Ql(e,d),A=Ql(r,v),B=Gl(E,w),z=Gl(M,O),F=Gl(B,z),Y=Gl(T,C),V=Gl(Y,y),L=Gl(F,V),k=Gl(P,A),$=Gl(k,g),X=Gl(L,$);return 0===Rl(X)}}function ta(t,n){const{coeffs:e,errBound:r,getPExact:o}=Bf(t,n);return ao(e,0,1,r,o,!0)}const na=Math.min,ea=Math.max;function ra(t,n){let[[e,r],[o,i]]=t,[[c,s],[u,f]]=n;if(e>o&&([e,o]=[o,e]),c>u&&([c,u]=[u,c]),r>i&&([r,i]=[i,r]),s>f&&([s,f]=[f,s]),e<=u&&o>=c&&s<=i&&f>=r)return[[ea(e,c),ea(r,s)],[na(o,u),na(i,f)]]}function oa(t,n,e){if(void 0===e)return;if(0===e.length)return[];const r=ta(n,t);if(void 0===r)return;if(0===r.length)return[];const o=r.map(n=>No(t,[n.tS,n.tE])),i=e.map(t=>No(n,[t.tS,t.tE])),c=[];for(let t=0;t<r.length;t++){const n=o[t];for(let o=0;o<e.length;o++){const s=ra(n,i[o]);if(void 0!==s){const n={ri:r[t],box:s,kind:1},i={ri:e[o],box:s,kind:1};c.push([n,i])}}}return c}function ia(t,n,e){for(const r of[t,n]){const o=r.length;for(let i=1;i<o+1;i++){const c=r[i-1],s=r[i%o],u=[s[1]-c[1],c[0]-s[0]];let f=Number.POSITIVE_INFINITY,l=Number.NEGATIVE_INFINITY;for(let n=0;n<t.length;n++){const e=u[0]*t[n][0]+u[1]*t[n][1];e<f&&(f=e),e>l&&(l=e)}let a=Number.POSITIVE_INFINITY,p=Number.NEGATIVE_INFINITY;for(let t=0;t<n.length;t++){const e=u[0]*n[t][0]+u[1]*n[t][1];e<a&&(a=e),e>p&&(p=e)}if(e&&(l<a||p<f))return!1;if(!e&&(l<=a||p<=f))return!1}}return!0}function ca(t){return 4===t.length&&pt(t)&&(t=Pu(t)),3===t.length&&rt(t)&&(t=[t[0],t[2]]),2===t.length&&W(t)&&(t=[t[0]]),t}const sa=Number.EPSILON,ua=sa/2;function fa(t,n){return n<0?t<1?t:1-ua:0===n?1:t>1?t:1+sa}function la(t){const n=function(t){const n=new ArrayBuffer(8);return new DataView(n).setFloat64(0,t,!1),Array.from(new Uint8Array(n))}(t),e=n[0],r=n[1],o=e>>7,i=((127&e)<<4)+((240&r)>>4),c=0===i?0:16,s=0===i?i-1022:i-1023,u=n.slice(1);return u[0]=(15&r)+c,{sign:o,exponent:s,significand:u}}function aa(t){return la(t).significand}function pa(t){return Math.log2(t&-t)}function ha(t){if(0===t||!Number.isFinite(t))return NaN;const n=aa(t),e=n.length;for(let t=e-1;t>=0;t--){if(0===n[t])continue;const r=pa(n[t]);if(Number.isFinite(r))return 8*(e-t-1)+r}return NaN}function da(t){return t>=128?7:t>=64?6:t>=32?5:t>=16?4:t>=8?3:t>=4?2:t>=2?1:t>=1?0:NaN}function va(t){if(0===t||!Number.isFinite(t))return NaN;const n=aa(t),e=n.length;for(let t=0;t<e;t++){const r=da(n[t]);if(Number.isFinite(r))return 8*(e-t-1)+r}return NaN}function ga(t){return la(t).exponent}function ma(t){if(0===t||!Number.isFinite(t))return NaN;const n=ga(t);return va(t)-52+n}function xa(t,n){const e=(2**(53-n)+1)*t;return e-(e-t)}const ba=Q,Ia=vt;function _a(t){return 0===t?0:va(t)-ha(t)+1}const Na=H,Sa=function(t,n){if(t=Ia(t),0===ba(t))return[0];const e=ma(t[t.length-1]);let r=e,o=t.length-1;for(;o>0;){const i=ma(t[o-1]);if(e-i>n)break;r=i,o--}const i=Math.min(n-(e-r),53);let c=t[o];c=xa(c,i);const s=t.slice(o);return s[0]=c,s},Ea=function(t){const n=vt(t);if(0===Q(n))return 0;const e=n[n.length-1],r=n[0];return ga(e)-ga(r)+(53-ha(r))},wa=V,Ma=ht;function Oa(t){return ht(function(t,n,e){let r=n,o=t,i=!1,c=0;e||(c=Ea(o)-Ea(r)+1,e=c/53+1,i=!0);let s=[1/Ma(r)],u=1;for(;;){if(o=Na(o,s),u>e)return i?(o=Sa(o,c),o):o.slice(o.length-e,o.length);r=Na(r,s),s=wa([2],r),u*=2}}(t[0],t[1],2))}function Ta(t){return Q(t[0])*Q(t[1])}function Ca(t){return(n,e)=>{const r=At(n),o=At(e),i=At(n.slice().reverse()),c=At(e.slice().reverse()),s=t(r,o),u=t(i,o),f=t(r,c),l=t(i,c),a=-Ta(u),p=-Ta(l),h=Oa(s),d=Oa(f);return[fa(h,a),fa(d,p)]}}const ya=Ca(function(t,n){const e=0===Q(t[0][0])?1:0;return function(t,n){const[e,r]=t,[,o]=n;return[V(o,r),e]}(t[e],n[e])});function Pa(t,n){return G(H(t[0],n[1]),H(t[1],n[0]))*Q(t[1])*Q(n[1])}const Aa=ga,Ba=_a;function za(t){let n=-1024;for(let e=0;e<t.length;e++){const r=t[e];for(let t=0;t<r.length;t++){const e=r[t];if(0===e)continue;const o=-Aa(e)+Ba(e)-1;o>n&&(n=o)}}return 0===n?t.map(t=>t.map(t=>BigInt(t))):n>0?t.map(t=>t.map(t=>{if(0===t)return 0n;const e=-Aa(t)+Ba(t)-1;return BigInt(t*2**e)*2n**BigInt(n-e)})):t.map(t=>t.map(t=>BigInt(t*2**n)))}function Fa(t,n){if(n=n<0n?-n:n,0n===(t=t<0n?-t:t))return n;if(0n===n)return t;for(;0n!==n;){const e=n;n=t%n,t=e}return t}const Ya=BigInt(2**53);function Va(t){if(0n===t)return[0];const n=[];let e=0,r=t;for(;0n!==r;){r=t/Ya;const o=t%Ya;n.push(Number(o)*2**(53*e)),t=r,e++}return vt(n)}const{round:La,sqrt:ka}=Math;function $a(t){if(t<=1n){if(t<0n)throw new Error("square root of negative numbers are not allowed");return t}let n=BigInt(La(ka(Number(t))));for(;;){const e=n+t/n>>1n;if(e===n)return n;n=e}}function Xa(t){return t<0n?-t:t}function qa(t){let n=0n;for(let e=0;e<t.length;e++)n+=t[e];return n}function Ha(t,n){const[e,r]=Da(t[0],n[0]),[o,i]=Da(t[1],n[1]);if(0===Pa(e,o)||0===Pa(e,i))return e;if(0===Pa(r,o)||0===Pa(r,i))return r;throw new Error("An unexpected error occured.")}function Da(t,n){const[e,r]=t,[o,i]=n,[c,s]=function(t){const[n,e]=za(t).map(qa),r=Fa(n,e);return[Va($a(Xa(n/r))),Va($a(Xa(e/r)))]}([o,e]);return[[V(H(i,s),H(r,c)),H(c,Jo(e))],[V(H(i,z(s)),H(r,c)),H(c,Jo(e))]].sort(Pa)}function Qa(t,n){const e=At(t),r=0===Q(e[0][0])?0:0===Q(e[1][0])?1:-1;if(-1!==r){const e=t[0][r],o=t[2][r],i=n[0][r],c=n[2][r];return ya([[e,e],[o,o]],[[i,i],[c,c]])}return Ca(Ha)(t,n)}const{round:Ga,cbrt:Ra}=Math;function Ua(t){const n=(e=t)>0n?1n:e<0n?-1n:0n;var e;if((t=Xa(t))<=1n)return n*t;let r=BigInt(Ga(Ra(Number(t))));for(;;){const e=(2n*r+t/(r*r))/3n;if(e===r)return n*r;r=e}}function ja(t){return H(t,t)}const Za=Ca(function(t,n){const e=0===Q(t[0][0])?1:0;return function(t,n){const[e,r]=t,[o,i]=n,c=function(t){const[n,e]=za(t).map(qa),r=Fa(n,e);return[Va(Ua(n/r)),Va(Ua(e/r))]}([o,e]),s=ja(c[0]);return[V(H(i,ja(c[1])),H(r,s)),H($(3,e),s)]}(t[e],n[e])}),{EPSILON:Wa}=Number,Ja=Wa/2+Wa**2/2;function Ka(t){return t>0?t-t*Ja:t+t*Ja}const{EPSILON:tp}=Number,np=tp/2+tp**2/2;function ep(t){return t>0?t+t*np:t-t*np}function rp(t){if(0===t||1===t)return[t,t];const n=Ka(Ka(t)),e=function(t){return ep(ep(t))}(t);return[n,e]}function op(t,n,e,r){const o=t.ps,i=n.ps,c=[];let s=ta(o,i);if(void 0===s){const r=2**(e-47),s=function(t,n,e=!1){e||(t=ca(t),n=ca(n));const r=[,,ya,Qa,Za],[o,i]=r[t.length](t,n),[c,s]=r[t.length](n,t),u=[{tA:o,tB:0,bez:"B",start:!0},{tA:i,tB:1,bez:"B",start:!1},{tA:0,tB:c,bez:"A",start:!0},{tA:1,tB:s,bez:"A",start:!1}].sort((t,n)=>t.tA-n.tA);if(u[1].tA===u[2].tA){const n=u[1],e=n.tA,r=n.tB,o=No(t,[e,e]);return[{p:o[0],kind:4,box:o,t1:e,ri1:{tS:e,tE:e,multiplicity:1},t2:r,ri2:{tS:r,tE:r,multiplicity:1}}]}if(u[0].bez===u[1].bez)return[];const f=u[1],l=u[2],[a,p]=rp(f.tA),[h,d]=rp(f.tB),[v,g]=rp(l.tA),[m,x]=rp(l.tB),b=No(t,[a,p]),I=No(n,[h,d]),_=No(t,[v,g]),N=No(n,[m,x]),S=ra(b,I),E=ra(_,N),w={tS:a,tE:p,multiplicity:1},M={tS:h,tE:d,multiplicity:1},O={tS:v,tE:g,multiplicity:1},T={tS:m,tE:x,multiplicity:1};return[{p:So(S),kind:5,box:S,t1:ho(w),ri1:w,t2:ho(M),ri2:M},{p:So(E),kind:5,box:E,t1:ho(O),ri1:O,t2:ho(T),ri2:T}]}(o,i);for(const e of s){const i=vo(o,e.ri1.tS),s=[[i[0]-r,i[1]-r],[i[0]+r,i[1]+r]],u={x:{ri:e.ri1,kind:5,box:s},curve:t},f={x:{ri:e.ri2,kind:5,box:s},curve:n};c.push([u,f])}return c}if(r&&(s=s.filter(t=>t.tS>0)),0===s.length)return[];const u=oa(o,i,s);if(void 0===u||0===u.length)return[];for(const e of u){const r={x:e[0],curve:t},o={x:e[1],curve:n};c.push([r,o])}return c}const ip=vo,cp=mo,sp=j(1);function up(t,n,e){const r=n.ps;if(0===t)return r[0],{x:{ri:{tS:t,tE:t,multiplicity:1},box:[r[0],r[0]],kind:e},curve:n};if(1===t){const o=r[r.length-1];return{x:{ri:{tS:t,tE:t,multiplicity:1},box:[o,o],kind:e},curve:n}}const{p:o,pE:i}=function(t,n){const e=ip(t,n),r=cp(t,[0,n]);if(4===t.length)return{p:e,pE:r.map(t=>9*sp*t)};if(3===t.length)return{p:e,pE:r.map(t=>6*sp*t)};if(2===t.length)return{p:e,pE:r.map(t=>3*sp*t)};if(1===t.length)return{p:t[0],pE:[0,0]};throw new Error("The given bezier curve must be of order <= 3.")}(r,t);return{x:{ri:{tS:t,tE:t,multiplicity:1},box:[[o[0]-i[0],o[1]-i[1]],[o[0]+i[0],o[1]+i[1]]],kind:e},curve:n}}function fp(t,n){if(n.next===t){if(t.next===n)return;[t,n]=[n,t]}const e=t.ps,r=n.ps;if(function(t,n){if(4===t.length)return Kl(t,n);if(3===t.length)return Xl(t,n);if(2===t.length)return function(t,n){const[e,r]=n,o=e.length,i=r.length,c=e[o-1],s=r[i-1],u=1===o&&1===i;{const{coeffs:{vₓ:n,vᵧ:o,v:i},errorBound:{v_:u}}=Yc(t),f=Ml(e),l=Ml(r),a=Ol(c),p=Ol(s),h=Ol(n[1]),d=Ol(o[1]),v=a/3,g=p/3,m=n[1]*c,x=wl(f,n),b=h*v+2*Ol(m),I=o[1]*s,_=wl(l,o),N=d*g+2*Ol(I),S=Il(x,_),E=b+N+Ol(S[1]),w=Il(S,i),M=E+u+Ol(w[1]);if(Tl*M<Ol(El(w)))return!1}{const n=function(t){return cu(Ft(t))}(t);if(void 0===n)return u&&c===t[0][0]&&s===t[0][1];const{vₓ:o,vᵧ:i,v:f}=n,l=_l(e,o),a=_l(r,i),p=Nl(Nl(l,a),f);return 0===Sl(p)}}(t,n);if(1===t.length){const e=vt(n[0]),r=vt(n[1]);return 1===e.length&&1===r.length&&e[0]===t[0][0]&&r[0]===t[0][1]}throw new Error("The given bezier curve must be of order <= 3")}(e,r[r.length-1].map(t=>[t]))){const i=oa(e,r,[(o=1,{tS:o,tE:o,multiplicity:1})]);if(void 0===i||0===i.length)return;return[[{x:i[0][0],curve:t},up(1,n,1)]]}var o}const lp=z;function ap(t){return t[t.length-1]<0?lp(t):t}Number.EPSILON;const pp=Number.EPSILON/2;function hp(t,n,e,r){const o=t/n,i=Math.abs(t),c=Math.abs(n),s=c-r;return s<=0?{est:o,err:Number.POSITIVE_INFINITY}:{est:o,err:(c*e+i*r)/s**2+pp*Math.abs(i/c)}}const dp=V,vp=H,gp=$,mp=P,xp=A,bp=qc,Ip=x,_p=Co,Np=Ff,Sp=B,Ep=D,wp=2*Number.EPSILON,Mp=Math.abs,Op=j(1);function Tp(t,n=!0){if(t.length<4)return[];const{coeffs:[e,r,o],errBound:[i,c,s]}=Mt(t);if(Mp(e)<=i){const[[n,e],[r,o],[i,c],[s,u]]=t,f=Sp(mp(s,n),gp(3,mp(r,i))),l=Ep(xp(i,n),-2*r),a=Sp(mp(u,e),gp(3,mp(o,c))),p=Ep(xp(c,e),-2*o);if(0===G(vp(l,a),vp(f,p)))return[]}const u=r*r,f=4*e*o,l=u-f,a=2*c*Mp(r)+Op*u+(4*(i*Mp(o)+Mp(e)*s)+Op*Mp(f))+Op*Mp(l);if(l<-a)return[];if(l>a){const{est:t,err:u}=function(t,n){if(t-n<=0){const e=t>0?Math.sqrt(t):0;return{est:e,err:Math.max(Math.sqrt(t+n)-e,e)}}const e=Math.sqrt(t),r=Math.sqrt(t-n),o=Math.sqrt(t+n);return{est:e,err:Math.max(Math.abs(r-e),Math.abs(o-e))}}(l,a);let f;f=r>=0?-r-t:-r+t;const p=c+u+Op*Mp(f),{est:h,err:d}=hp(f,2*e,p,2*i),{est:v,err:g}=hp(2*o,f,2*s,p);if(n){if(h+d<0||h-d>1||v+g<0||v-g>1)return[]}else if((h+d<0||h-d>1)&&(v+g<0||v-g>1))return[]}let[p,h,d]=kt(t);const v=dp(vp(h,h),gp(4,vp(p,d))),g=Q(v);if(g<0)return[];if(g>0){const t=function(t){const n=t[0],e=t[1];if(0===e)return[0,0];const r=Math.sqrt(e),o=r*r,i=134217729*r,c=i-(i-r),s=r-c,u=.5*(e-o-(s*s-(o-c*c-c*s*2))+n)/r;return[u-(r+u-r),r+u]}(Ci(v));let e;p=Ci(p),h=Ci(h),d=Ci(d),e=Q(h)>=0?bp(Ip(h,t)):Ip(bp(h),t);let r=ht(Np(e,_p(p))),o=ht(Np(_p(d),e));if(n){if(r<-wp||r>1+wp||o<-wp||o>1+wp)return[]}else if((r<-wp||r>1+wp)&&(o<-wp||o>1+wp))return[];return[r,o]=r<o?[r,o]:[o,r],r>=0-wp&&r<=1+wp?o>=0-wp&&o<=1+wp?[r,o]:[r]:o>=0-wp&&o<=1+wp?[o]:[]}const m=Ko(p);if(Q(h)*Q(m)<0)return[];if(G(ap(h),ap(m))>0)return[];const x=Ci(h),b=Ci(m),I=Np(x,b),_=I[1]+I[0];return[_,_]}const Cp=Number.EPSILON;function yp(t){if(4===t.length){const[[n,e],[r,o],[i,c],[s,u]]=t;return[[6*(s-n+3*(r-i)),6*(i+n-2*r)],[6*(u-e+3*(o-c)),6*(c+e-2*o)]]}if(3===t.length){const[[n,e],[r,o],[i,c]]=t;return[[2*(i-2*r+n)],[2*(c-2*o+e)]]}if(t.length<=2)return[[0],[0]];throw new Error("The given bezier curve must be of order <= 3.")}function Pp(t){if(xt(t))return{minima:[],maxima:[],inflections:[]};if(4===t.length&&pt(t)&&(t=Pu(t)),3===t.length){const n=function(t){const[[n,e],[r,o],[i,c]]=t,s=i-r,u=s-(r-n),f=c-o,l=f-(o-e);return[u*u+l*l,-(n*(u-r)-r*(s-r)+e*(l-o)-o*(f-o))]}(t);return{minima:[],maxima:Bn(n,0,1),inflections:[]}}const n=function(t){const[[n,e,r],[o,i,c]]=qn(t),[[s,u],[f,l]]=yp(t),[[a],[p]]=function(t){if(4===t.length){const[[n,e],[r,o],[i,c],[s,u]]=t;return[[6*(s-n+3*(r-i))],[6*(u-e+3*(o-c))]]}if(t.length<=3)return[[0],[0]];throw new Error("The given bezier curve must be of order <= 3.")}(t),h=a*i,d=p*e,v=u*c,g=u*i,m=f*f,x=s*c,b=l*r,I=l*e,_=f*r,N=r*e,S=r*n,E=r*o,w=e*e,M=e*n,O=e*i,T=n*c,C=n*o,y=n*n,P=c*i,A=c*o,B=i*i,z=i*o,F=o*o,Y=a*c-p*r,V=u*r+l*c,L=v-b,k=r*r+c*c,$=O+T,X=A+B,q=S+w,H=e*o+n*i,D=y-F,Q=M-z,G=N-P,R=r*i+e*c,U=A+X,j=S+q,Z=E+$,W=O+$,J=j-U,K=$+T,tt=E+O+T,nt=2*I+_;return{inflectionPoly:[s*o-f*n,u*o+s*i-l*n-f*e,g+x-I-_,v-b],otherExtremaPoly:[y*(h-3*d)+F*(3*h-d)+2*(C*(a*e-p*i+3*(l*f-u*s))+3*s*f*Q)+3*(H*(m-s*s)+D*(u*f+l*s)),a*(o*(j+3*X)+n*W)-p*(r*(3*y+F)+e*(3*M+2*z)+n*U)+3*(u*(l*D-u*C+2*(f*Q-s*H))+s*(2*l*Q+f*(2*(S-A)+(w-B))-s*tt)+l*(l*C+2*f*H)+m*Z),a*(2*r*H+e*K+i*(4*A+U))-p*(2*r*(3*M+z)+e*(w+2*A)+i*K)+3*(u*(2*(l*Q-s*tt)+f*J-u*H)+s*(2*f*G-s*R)+l*(l*H+2*f*Z+s*J)+m*R),a*(r*(E+2*$)+c*(w+3*X))-p*(r*(3*q+U)+c*W)+3*(u*(l*J-u*Z+2*(f*G-s*R))+s*(r*(nt-s*c)-c*(2*l*i+f*c))+l*(l*$+r*(2*f*i+l*o))+f*c*nt),k*(h-d)+2*(N+P)*Y-3*(V*(g+x-I-_)+(u*e+s*r+l*i+f*c)*L),Y*k-3*V*L]}}(t),e=n.inflectionPoly,r=n.otherExtremaPoly,o=Bn(r,0,1),i=dn(r),c=[],s=[];for(let t=0;t<o.length;t++){const n=o[t],r=vn(i,n);vn(e,n)*r>=0?c.push(n):s.push(n)}return{minima:c,maxima:s,inflections:Bn(e,0,1)}}function Ap(t,n){const[e,r]=qn(t),[o,i]=yp(t),c=vn(e,n),s=vn(r,n),u=vn(o,n);return(c*vn(i,n)-s*u)/Math.sqrt((c*c+s*s)**3)}const{abs:Bp}=Math,zp=Wn(function(t){const{curves:n}=t;let e=Wi(n[0].ps).minY,r=n[0];for(let t=1;t<n.length;t++){const o=Wi(n[t].ps).minY,i=o.box[0][1],c=e.box[0][1];(i<c||i===c&&o.ts[0]>e.ts[0])&&(e=o,r=n[t])}return{curve:r,y:e}});function Fp(t){const{curve:n,y:e}=zp(t),r=e.ts;return r[0]<=0?[up(0,n,0),up(1,n.prev,0)]:r[1]>=1?[up(1,n,0),up(0,n.next,0)]:[{x:{ri:{tS:r[0],tE:r[1],multiplicity:1},kind:0,box:e.box},curve:n},{x:{ri:{tS:r[0],tE:r[1],multiplicity:1},kind:0,box:e.box},curve:n}]}function Yp(t,n,e){const r=e-(n-Math.floor(Math.log2(Math.abs(t))))+1;return r<=0?0:e>=53?t:xa(t,r)}function Vp(t,n,e){const r=function(t,n){const e=[];for(const n of t)for(const t of n.curves)e.push(t);const r=vl(e,t=>Ki(t.ps)[0][0],t=>Ki(t.ps)[1][0],function(t){return(n,e)=>{const r=n.ps,o=e.ps;if(2===r.length&&2===o.length)return function(t,n,e){let r=t.ps,o=n.ps;const i=Ki(r),c=Ki(o);if(t.next!==n&&n.next!==t){if(vc(!0,i,c)){const r=op(t,n,e,!1);return r.length?r:void 0}return}if(n.next===t&&([t,n]=[n,t],[r,o]=[o,r]),0!==gt(r[0],r[1],o[1]))return;if(!vc(!1,i,c))return;let s;return s=ml(r[0],r[1])>ml(o[0],o[1])?[ho(Mi(r,o[1])[0].ri),1]:[0,ho(Mi(o,r[0])[0].ri)],[[up(1,t,5),up(0,n,5)],[up(s[0],t,5),up(s[1],n,5)]]}(n,e,t);if(n.next===e||e.next===n)return vc(!1,Ki(r),Ki(o))&&ia(bl(r,!1),bl(o,!1),!1)?e.next===n?op(e,n,t,!0):op(n,e,t,!0):fp(n,e);let i=vc(!0,Ki(r),Ki(o));return i?(i=ia(bl(r,!1),bl(o,!1),!0),i?op(n,e,t,!1):void 0):void 0}}(n)),o=[];for(const t of r)for(const n of t.u)o.push(n);return o}(t,e),o=function(t){const n=[];for(const e of t)for(const t of e.curves){const e=t.ps,r=Tp(e);if(0===r.length)continue;const o=r[0]===r[1]?3:2,i=r[0]-Cp,c=r[0]+Cp,s=r[1]-Cp,u=r[1]+Cp,f=No(e,[i,c]),l=No(e,[s,u]);n.push([{x:{ri:{tS:i,tE:c,multiplicity:1},box:f,kind:o},curve:t},{x:{ri:{tS:s,tE:u,multiplicity:1},box:l,kind:o},curve:t}])}return n}(t),i=function(t){const n=[];for(const e of t)for(const t of e.curves)n.push([up(1,t,4),up(0,t.next,4)]);return n}(t),{extremes:c,xs:s}=function(t){const n=new Map,e=[];for(const r of t){const t=Fp(r);e.push(t),n.set(r,t)}return{extremes:n,xs:e}}(t),u=function(t,n){const e=[];for(const r of n)for(const n of r.curves){const r=n.ps,o=Pp(r),{minima:i,maxima:c}=o,s=[0,1,...i,...c];for(let o of s)Bp(Ap(r,o))>1e7*2**-t&&e.push([up(o,n,7),up(o,n,7)])}return e}(e,t);let f=[...r,...o,...i,...s,...u];if("undefined"!=typeof _debug_){for(const t of r)_debug_.generated.elems.intersection.push(...t);for(const t of o)_debug_.generated.elems.intersection.push(...t);for(const t of i)_debug_.generated.elems.intersection.push(...t);for(const t of s)_debug_.generated.elems.intersection.push(...t);for(const t of u)_debug_.generated.elems.intersection.push(...t)}let l=f.map(t=>({xs:t,box:[[t[0].x.box[0][0]-n,t[0].x.box[0][1]-n],[t[0].x.box[1][0]+n,t[0].x.box[1][1]+n]],inOuts:void 0}));for(;;){const t=vl(l,Lp,kp,gc);if(!t.length)break;const n=new Map;mc(n,t);const e=Ic(n),r=_c(l,e);l=[...Nc(e),...r]}l=function(t){return t.filter(t=>{const n=t.xs;if(2===t.xs.length){const t=n[0];if(1===t.x.kind&&t.x.ri.multiplicity%2==0)return!1}for(const n of t.xs)if(4!==n.x.kind)return!0;return!1})}(l),l=function(t,n,e){const r=Math.log2(e)-3;return t.map(t=>{const e=t.box.map(t=>t.map(t=>Yp(t,n,n-r)));return{...t,box:e}})}(l,e,n),"undefined"!=typeof _debug_&&(_debug_.generated.elems.container=l);let a=0;for(const t of l){for(const n of t.xs)n.container=t;let n;({inOuts:n,ioIdx:a}=dl(t,a)),t.inOuts=n}f=f.filter(t=>void 0!==t[0].container),function(t){const n=new Map;for(const e of t)for(const t of e){const e=t.curve.loop,r=n.get(e)||[];r.length||n.set(e,r),r.push(t)}for(const t of n){const n=t[1];if(!n||!n.length)continue;n.sort((t,n)=>{let e=t.curve.idx-n.curve.idx;return 0!==e?e:(e=t.x.ri.tS-n.x.ri.tS,0!==e?e:void 0!==t.in_?-1:1)});const e=n.length;for(let t=0;t<e;t++)n[t].next=n[(t+1)%e],n[t].prev=n[(t-1+e)%e]}}(f);for(const t of l)for(const n of t.inOuts){if(-1===n.dir)continue;const t=n;let e=t._x_;for(;e=e.next,void 0===e.in_;);t.nextOrPrev=e.in_,t.idx=t.nextOrPrev.idx}for(const t of l)for(const n of t.inOuts){if(1===n.dir)continue;const t=n;let e=t._x_;for(;e=e.prev,void 0===e.out;);t.nextOrPrev=e.out,t.idx=t.nextOrPrev.idx}return{extremes:c,containers:l}}function Lp(t){return t.box[0][0]}function kp(t){return t.box[1][0]}function $p(t,n,e){ki(t,1);const r=t.inOuts,o=r[0],i=r[r.length-1],c=1===o.dir?o:i,s=i.dir,u=0===n.idx?new Set:1===n.orientation?n.loopsIdxs:new Set;return o.orientation=s,o.parent=n,o.windingNum=n.windingNum+s,o.loopsIdxs=new Set(u),o.children=new Set,1===s&&o.loopsIdxs?.add(e.idx),i.orientation=s,i.parent=n,i.windingNum=n.windingNum+s,i.loopsIdxs=new Set(u),i.children=new Set,1===s&&i.loopsIdxs?.add(e.idx),c}function Xp(t){if(!xt(t))return!1;const n=t.map(t=>t[0]),e=t.map(t=>t[1]);return!(qp(n)&&qp(e))}function qp(t){return function(t){for(let n=1;n<t.length;n++)if(t[n-1]>t[n])return!1;return!0}(t)||function(t){for(let n=1;n<t.length;n++)if(t[n-1]<t[n])return!1;return!0}(t)}function Hp(t,n){const e=n/Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[e*t[0],e*t[1]]}function Dp(t){for(let n=0;n<t.length-1;n++)for(let e=n+1;e<t.length;e++)if(t[n][0]===t[e][0]&&t[n][1]===t[e][1])return!1;return!0}const{abs:Qp}=Math;function Gp(t,n,e){if(void 0!==t&&!W(t)){if(2===t.length)return t;if(3===t.length){if(Dp(t))return xt(t)?[t[0],t[2]]:t;if(Up(t[0],t[2]))return;return[t[0],t[2]]}if(Dp(t)){const r=Rp(t);if(void 0===r)return;return function(t,n){if(t===n)return!0;if(t.length!==n.length)return!1;for(let e=0;e<t.length;e++)if(t[e][0]!==n[e][0]||t[e][1]!==n[e][1])return!1;return!0}(r,t)?t:Gp(r,n,e)}if(Up(t[0],t[3])){if(xt(t))return;return t}if(xt(t))return[t[0],t[3]];if(Up(t[0],t[1])&&Up(t[1],t[2])||Up(t[1],t[2])&&Up(t[2],t[3])||Up(t[0],t[1])&&Up(t[2],t[3]))return Gp([t[0],t[t.length-1]],n,e);if(Up(t[0],t[2])||Up(t[1],t[3])||Up(t[1],t[2]))return t;if(Up(t[0],t[1])){if(ml(t[1],t[2])<4*n)return[t[0],t[2],t[2],t[3]];{const r=Hp(Kn(t[1],t[2]),2*n),o=oe(t[1],r);return Rp([t[0],e(o),t[2],t[3]])}}if(Up(t[2],t[3])){if(ml(t[2],t[1])<4*n)return[t[0],t[1],t[1],t[3]];{const r=Hp(Kn(t[2],t[1]),2*n),o=oe(t[2],r);return Rp([t[0],t[1],e(o),t[3]])}}}}function Rp(t){return xt(t)?[t[0],t[3]]:pt(t)?Pu(t):t}function Up(t,n){return t[0]===n[0]&&t[1]===n[1]}function jp(t){return t}function Zp(t,n,e,r=!1,o=!0){const i=function(t,n,e=!0){const r=2**t*2**-n,o=e?function(t,n){return e=>{const r=Yp(e[0],t,n),o=Yp(e[1],t,n);return r===e[0]&&o===e[1]?e:[r,o]}}(t,n):jp;return t=>{const n=[];for(let e=0;e<t.length;e++){let i=t[e].slice();const c=n[n.length-1],s=c?c[c.length-1]:o(t[0][0]);i[0]=s,i=i.map(t=>o(t)),Xp(i)&&(i=[i[0],i[i.length-1]]),i=Gp(i,r,o),void 0!==i&&n.push(i)}const e=n.length;if(!e)return[];const i=n[e-1];return i[i.length-1]=n[0][0],n}}(e,n,o);let c=t.slice();return c=r?function(t,n,e,r=.02){const o=[];for(const i of t){const t=[];for(const o of i){const i=o.map(t=>t.map(t=>{let o,i=0,c=0,s=0;for(;!(++c>10);){i=(t+Math.random())*(1+(Math.random()-.7)*r),i=Yp(i,e,n);const c=_a(i);c>s&&(s=c,o=i)}return o}));t.push(i)}o.push(t)}return o}(c,n,e,1):c,c=c.map(i),c=c.filter(t=>t.length>0),c}const Wp=Wn(t=>{let n=0;for(const e of t)for(const t of e)for(const e of t)for(const t of e){const e=Math.abs(t);e>n&&(n=e)}return n}),Jp=Mn;function Kp(t,n){const e=t.length-1,r=n.length-1;if(e<0||r<0)return[];const o=e+r,i=new Array(o+1).fill(0);for(let c=0;c<e+1;c++)for(let s=0;s<r+1;s++)i[o-(c+s)]+=t[e-c]*n[r-s];return Jp(i)}function th(t,n){const e=[],r=t.length-1;for(let n=0;n<r+1;n++)e.push(t[n]/(r+1-n));return e.push(n),e}const nh=Mn;function eh(t,n){const e=t.length-1,r=n.length-1,o=e-r,i=o<0?+o:0,c=o>0?-o:0,s=Math.max(e,r),u=[];for(let e=0;e<s+1;e++){const r=t[e+i]||0,o=n[e+c]||0;u.push(r+o)}return nh(u)}function rh(t){let n=0;for(const e of t){const[t,r]=Ri(e),[o,i]=qn(e);n+=vn(th(eh(Kp(t,i),In(Kp(r,o))),0),1)}return n/2}function oh(t){let n=0;for(let e=0;e<t.length-1;e++)n+=Ln(t[e],t[e+1]);return n}function ih(t){const[n,e]=t[0],[r,o]=t[t.length-1];let i,c;const s=oh(t);if(256*ml(t[0],t[t.length-1])<s*s){const[r,o]=vo(t,.5),s=Math.sqrt((r-n)*(r-n)+(o-e)*(o-e));i=(o-e)/s,c=(r-n)/s}else{const t=Math.sqrt((r-n)*(r-n)+(o-e)*(o-e));i=(o-e)/t,c=(r-n)/t}const u=function(t,n,e){const r=oe(t[0].map(t=>-t));return Ji(t.map(t=>ce(-n,e,r(t))))}(t,i,c),[[f,l],[a,p]]=u,h=[u[0],[a,l],u[1],[f,p]],d=ce(i,c);return h.map(n=>oe(t[0],d(n)))}function ch(t){return{ps:t,ts:[0,1]}}const{round:sh,PI:uh}=Math;const{abs:fh,max:lh}=Math;function ah(t,e,r={}){let o;"undefined"!=typeof _debug_&&(o=performance.now()),e=e||Wp(t);const i=Math.ceil(Math.log2(e)),{maxBitLength:c=46,inclMicroCorners:s=!0,minLoopArea:u=(2**i*2**-12)**2,orientationPositive:f=!1}=r,l=2**i*2**-c*16;(function(t){if("undefined"!=typeof _debug_)for(const n of t){_debug_.generated.elems.loopPre.push(...t),_debug_.generated.elems.loopsPre.push(t);for(const t of n){const n=Ki(t),e=ih(t),r=bl(t,!1);_debug_.generated.elems.bezier_.push(t),_debug_.generated.elems.looseBoundingBox_.push(n),_debug_.generated.elems.tightBoundingBox_.push(e),_debug_.generated.elems.boundingHull_.push(r)}}})(t=Zp(t,c,i,!1,!0)),t.sort(pc);const a=t.map((t,e)=>n(t,e)),{extremes:p,containers:h}=Vp(a,l,i),d={dir:void 0,idx:0,parent:void 0,children:new Set,windingNum:0,p:void 0,_x_:void 0,container:void 0,loopsIdxs:new Set,orientation:-1},v=new Set,g=new Set;for(const t of a){if(v.has(t))continue;v.add(t);const n=ac(d,t),e=p.get(t)[0].container;if(0===e.inOuts.length)continue;const r=$p(e,n,t),o=2===e.inOuts.length&&2===e.xs.length;if(o&&e.inOuts[0].nextOrPrev===e.inOuts[1])r.bezierPieces=t.beziers.map(ch),r.parent.children=r.parent.children||new Set,r.parent.children.add(r);else if(Gi(r,v,g,!1),o&&void 0!==r.bezierPieces){const{bezierPieces:t}=r,n=t[t.length-1],e=t[0];if(n.ps===e.ps){const r={ps:n.ps,ts:[n.ts[0],e.ts[1]]};t.shift(),t.pop(),t.unshift(r)}}}const m=function(t){const n=[],e=[t];for(;e.length;){const t=e.pop();t.children=t.children||new Set;for(const r of t.children)0===t.windingNum&&n.push(r),e.push(r);0===t.windingNum&&(t.children=new Set)}return n}(d),x=m.map(dc).map(t=>{const e=(f?1:-1)*t[0].orientation;return t.map((t,r)=>function(t,e,r){const o=t.bezierPieces?.map(Di);return n(void 0===o?[]:e<0?o.map(t=>t.toReversed()).toReversed():o,r)}(t,e,r))}),b=[];for(let t=0;t<x.length;t++){const n=x[t].filter(t=>Math.abs(rh(t.beziers))>u);n.length&&(n.sort((t,n)=>pc(t.beziers,n.beziers)),b.push(n))}"undefined"!=typeof _debug_&&(_debug_.generated.timing.simplifyPaths=performance.now()-o);const I=s?b:b.map(t=>t.map(t=>{const{beziers:e}=t,r=function(t,n){!function(t){sh(function(t){const n=t.length;let e=0;for(let r=0;r<n;r++){const o=t[(r-1+n)%n],i=t[r];e+=Vn(i,[0,1])+E(se(o,1),se(i,0))}return e}(t)/(2*uh))}(t);const e=t.map(t=>t.map(t=>[t[0],t[1]])).filter(t=>oh(t)>n),r=e.length;for(let t=0;t<r;t++){const n=e[t],o=e[(t+1)%r],i=n[n.length-1],c=o[0];c[0]===i[0]&&c[1]===i[1]||(i[0]=c[0],i[1]=c[1])}return e}(e,lh(...h.map(t=>fh(t.box[0][0]-t.box[1][0])),...h.map(t=>fh(t.box[0][1]-t.box[1][1]))));return n(r,t.idx)}));return function(t){if("undefined"!=typeof _debug_)for(const n of t)_debug_.generated.elems.loop.push(...n),_debug_.generated.elems.loops.push(n)}(I),I}const ph=Math.max,hh=Math.abs;function dh(t,n){const e=t[0],r=t[1],o=t[2],i=t[3],c=e[0],s=e[1],u=r[0],f=r[1],l=o[0],a=o[1],p=i[0],h=i[1],d=n[0],v=n[1],g=c-d,m=u-d,x=l-d,b=p-d,I=s-v,_=f-v,N=a-v,S=h-v,E=g*g,w=6*g*m,M=6*x*b,O=I*I,T=6*I*_,C=6*N*S,y=6*m*b+9*x*x,P=2*g*b+18*m*x,A=6*g*x+9*m*m,B=6*_*S+9*N*N,z=2*I*S+18*_*N,F=6*I*N+9*_*_;return[6*(b*b-M+(E-w)+y+(A-P)+(S*S-C+(O-T)+B+(F-z))),5*(M+5*w+3*P-2*(y+2*A+3*E)+(C+5*T+3*z-2*(B+2*F+3*O))),4*(y-3*(P-2*A)-5*(2*w-3*E)+(B-3*(z-2*F)-5*(2*T-3*O))),3*(P-2*(2*A-5*(w-2*E))+(z-2*(2*F-5*(T-2*O)))),2*(A-5*(w-3*E)+(F-5*(T-3*O))),w-6*E+(T-6*O)]}function vh(t,n){const e=t[0],r=t[1],o=t[2],i=e[0],c=e[1],s=r[0],u=r[1],f=o[0],l=o[1],a=n[0],p=n[1],h=i-a,d=s-a,v=f-a,g=c-p,m=u-p,x=l-p,b=h*h,I=h*d,_=d*v,N=g*g,S=g*m,E=m*x,w=g*x+m*m*2,M=h*v+d*d*2;return[x*x+N+2*w-4*(E+S)+(v*v+b+2*M-4*(_+I)),3*(E-w+(3*S-N)+(_-M+(3*I-b))),w-3*(2*S-N)+(M-3*(2*I-b)),S-N+(I-b)]}function gh(t,n){const[[e,r],[o,i]]=t,[c,s]=n,u=e-c,f=o-c,l=r-s,a=i-s,p=u*f+l*a,h=l*l+u*u;return[f*f+a*a+(h-2*p),p-h]}const mh=Math.sqrt;function xh(t,n){let e;if(4===t.length)e=dh(t,n);else if(3===t.length)e=vh(t,n);else{if(2!==t.length){if(1===t.length)return{p:t[0],t:0,d:Ln(t[0],n)};throw new Error("The given bezier curve must be of order <= 3.")}e=gh(t,n)}const r=Bn(e,0,1);r.push(0),r.push(1);let o,i=Number.POSITIVE_INFINITY;for(const e of r){const r=vo(t,e),c=ml(r,n);c<i&&(i=c,o={p:r,t:e,d:mh(c)})}return o}const bh=Math.sqrt;function Ih(t){let n=Number.NEGATIVE_INFINITY;for(let e=0;e<t.length;e++){const r=t[e],o=Math.abs(r[0]),i=Math.abs(r[1]);o>n&&(n=o),i>n&&(n=i)}return n}function _h(t){return Math.max(t.hL+t.hEL,t.hR+t.hER)}function Nh(t,n){const e=_h(t)-_h(n);return 0!==e?e:t.tS-n.tS}class Sh{compare;heap=[];constructor(t){this.compare=t}insert(t){const n=this.heap;n.push(t);let e=n.length-1;for(;;){const r=(e-1-(e+1)%2)/2;if(-1===r)return;const o=n[r];if(this.compare(t,o)<0)break;n[r]=t,n[e]=o,e=r}}popMax(){const t=this.heap,n=t[0];return t[0]=t[t.length-1],t.length--,this.swimDown(),n}swimDown(){const t=this.heap,n=t.length;let e=0;for(;;){const r=2*e+1;if(r>=n)break;const o=2*e+2,i=o>=n||this.compare(t[r],t[o])>0?r:o,c=t[i],s=t[e];if(this.compare(s,c)>0)break;t[i]=s,t[e]=c,e=i}}swapMinOrMax(t){this.heap[0]=t,this.swimDown()}static getParentIdx(t){return(t-1-(t+1)%2)/2}static getLeftChild(t){return 2*t+1}static getRightChild(t){return 2*t+2}}const Eh=Math.max;function wh(t,n,e,r=50){if(1===t.length)return xh(n,t[0]).d;if(1===n.length)return function(t,n){let e;if(4===t.length)e=dh(t,n);else if(3===t.length)e=vh(t,n);else{if(2!==t.length){if(1===t.length)return{p:t[0],t:0,d:Ln(t[0],n)};throw new Error("The given bezier curve must be of order <= 3.")}e=gh(t,n)}const r=Bn(e,0,1);r.push(0),r.push(1);let o,i=Number.NEGATIVE_INFINITY;for(const e of r){const r=vo(t,e),c=ml(r,n);c>i&&(i=c,o={p:r,t:e,d:bh(c)})}return o}(t,n[0]).d;if(2===t.length&&2===n.length){const e=xh(n,t[0]).d,r=xh(n,t[t.length-1]).d;return e>r?e:r}const o=Eh(Ih(t),Ih(n));e=e||o/1e6;const[i,c]=Mh(t,0,1),s={tS:0,tE:1,hL:xh(n,t[0]).d,hR:xh(n,t[t.length-1]).d,hEL:i,hER:c},u=new Sh(Nh);u.insert(s);let f=0,l=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY;for(;;){const o=u.heap[0],{tS:i,tE:c,hL:s,hR:p}=o,h=(i+c)/2,[d,v]=Mh(t,i,h),[g,m]=Mh(t,h,c),x=vo(t,h),b=Ln(x,xh(n,x).p),I=Eh(s,b,p);if(I>a&&(a=I),l=_h(o),l-a<e)return a;if(f++>r)return a;const _={tS:i,tE:h,hL:s,hR:b,hEL:d,hER:v},N={tS:h,tE:c,hL:b,hR:p,hEL:g,hER:m};u.swapMinOrMax(_),u.insert(N)}}function Mh(t,n,e){const r=(e+n)/2,o=Gn(t,n,r),i=Gn(t,r,e);return[oh(o),oh(i)]}function Oh(t,n=!1){const e=t;let r=e;const o=[];do{n&&r===e||Ae(r)||o.push(r),r=r.nextOnCircle}while(r!==e);return o}function Th(t){const n=[],e=[t],r=new Set;for(;e.length>0;){const t=nr(e.pop());if(0===t.length)continue;n.push(t);const o=t[0],i=t[t.length-1].next.prevOnCircle;r.add(o),r.add(i);const c=Oh(o,!0),s=Oh(i,!0),u=c.filter(t=>!r.has(t)),f=s.filter(t=>!r.has(t));for(const t of u)r.add(t);for(const t of f)r.add(t);e.push(...u,...f)}return n}const Ch=-1;class yh{constructor(t){this.datum=t,this.color=0}}function Ph(t){return!!t&&0===t.color}class Ah{constructor(t,n=!0,e){if(this.compare=t,this.duplicatesAllowed=n,this.getMinNode=this.getMinOrMaxNode(Ch),this.getMaxNode=this.getMinOrMaxNode(1),this.root=void 0,this.nodeCount=0,this.valueCount=0,e)for(const t of e)this.insert(t)}isEmpty(){return!this.root}find(t){const n=this;let e=this.root;for(;e;){const r=n.compare(t,e.datum);if(0===r)return e;e=e[r>0?1:Ch]}}toArrayInOrder(){const t=[];return function n(e){e&&(n(e[-1]),t.push(e.datum),void 0!==e.extras&&t.push(...e.extras),n(e[1]))}(this.root),t}insertMulti(t){const n=this;for(const e of t)n.insert(e)}insert(t){const n=this;n.root=function t(e,r){if(void 0===e)return n.valueCount++,n.nodeCount++,new yh(r);const o=n.compare(r,e.datum);if(0===o&&(n.duplicatesAllowed?(n.valueCount++,void 0===e.extras?e.extras=[r]:e.extras.push(r)):e.datum=r),0!==o){const n=o>0?1:Ch;e[n]=t(e[n],r),e[n].parent=e}return Ph(e[1])&&!Ph(e[-1])&&(e=Bh(Ch,e)),Ph(e[-1])&&Ph(e[-1][-1])&&(e=Bh(1,e)),Ph(e[-1])&&Ph(e[1])&&Fh(e),e}(n.root,t),n.root.color=1,n.root.parent=void 0}remove(t,n=!1,e){const r=this;if(void 0===r.root)return;let o;const i=function t(i,c){const s=r.duplicatesAllowed&&void 0!==i.extras;let u=r.compare(c,i.datum);if(u<0&&!i[-1]||u>0&&!i[1])return i;if(u<0){Ph(i[-1])||Ph(i[-1][-1])||(i=Yh(i));const n=t(i[-1],c);return null===n?null:(i[-1]=n,i[-1]&&(i[-1].parent=i),Vh(i))}if(Ph(i[-1])&&(i=Bh(1,i),u=r.compare(c,i.datum)),0===u&&!i[1]){if(s&&!n){if(void 0===e||!0===e(c,i.datum))return o=i.datum,i.datum=i.extras.pop(),r.valueCount--,0===i.extras.length&&(i.extras=void 0),i;{const t=i.extras;for(let n=0;n<t.length;n++)if(!0===e(c,t[n]))return o=t.splice(n,1)[0],r.valueCount--,0===t.length&&(i.extras=void 0),i;return null}}return void 0===e||!0===e(c,i.datum)?(o=i.datum,r.valueCount-=1+(s?i.extras.length:0),void r.nodeCount--):null}if(Ph(i[1])||Ph(i[1][-1])||(i=function(t){return Fh(t),Ph(t[-1][-1])&&Fh(t=Bh(1,t)),t}(i),u=r.compare(c,i.datum)),0===u)if(s&&!n)if(void 0===e||!0===e(c,i.datum))o=i.datum,i.datum=i.extras.pop(),r.valueCount--,0===i.extras.length&&(i.extras=void 0);else{const t=i.extras;let n=!1;for(let s=0;s<t.length;s++)if(!0===e(c,t[s])){o=t.splice(s,1)[0],r.valueCount--,0===t.length&&(i.extras=void 0),n=!0;break}if(!n)return null}else{if(void 0!==e&&!0!==e(c,i.datum))return null;{r.valueCount-=1+(s?i.extras.length:0),o=i.datum;const t=r.getMinNode(i[1]);i.datum=t?.datum,r.duplicatesAllowed&&(i.extras=t?.extras),i[1]=zh(i[1]),r.nodeCount--}}else{const n=t(i[1],c);if(null===n)return null;i[1]=n}return i[1]&&(i[1].parent=i),Vh(i)}(r.root,t);return null!==i?(r.root=i,void 0!==r.root&&(r.root.color=1,r.root.parent=void 0),o):void 0}findBounds(t){const n=this;let e=n.root;const r=[void 0,void 0];if(void 0===e)return r;for(;e;){const o=n.compare(t,e.datum);o>=0?r[0]=e:r[1]=e,e=e[o>=0?1:Ch]}return r}findBoundsExcl(t){const n=this,e=n.root,r=[void 0,void 0];return void 0===e||function e(o){for(;o;){const i=n.compare(t,o.datum);if(0===i)return e(o[-1]),void e(o[1]);i>0?r[0]=o:i<0&&(r[1]=o),o=o[i>0?1:Ch]}}(e),r}findAll(t){const n=this;let e=this.root;for(;e;){const r=n.compare(t,e.datum);if(0===r)return[e.datum,...e.extras?e.extras:[]];e=e[r>0?1:Ch]}return[]}getMinOrMaxNode(t){return n=>{if(void 0===n&&(n=this.root),n){for(;n[t];)n=n[t];return n}}}min(t){void 0===t&&(t=this.root);const n=this.getMinNode(t);if(void 0!==n)return n.datum}max(t){void 0===t&&(t=this.root);const n=this.getMaxNode(t);if(void 0!==n)return n.datum}}function Bh(t,n){const e=n[-t];return n[-t]=e[t],e[t]&&(e[t].parent=n),e[t]=n,n.parent=e,e.color=n.color,n.color=0,e}function zh(t){if(t[-1])return Ph(t[-1])||Ph(t[-1][-1])||(t=Yh(t)),t[-1]=zh(t[-1]),t[-1]&&(t[-1].parent=t),Vh(t)}function Fh(t){t.color=(t.color+1)%2,t[-1].color=(t[-1].color+1)%2,t[1].color=(t[1].color+1)%2}function Yh(t){if(Fh(t),Ph(t[1][-1])){const n=Bh(1,t[1]);t[1]=n,n.parent=t,Fh(t=Bh(Ch,t))}return t}function Vh(t){return Ph(t[1])&&(t=Bh(Ch,t)),Ph(t[-1])&&Ph(t[-1][-1])&&(t=Bh(1,t)),Ph(t[-1])&&Ph(t[1])&&Fh(t),t}const{cpNodeComparator:Lh,getAllOnLoop:kh}=rr;function $h(t){const n=new Map;return kh(t).forEach(function(t){const e=t.cp.pointOnShape.curve.loop;let r=n.get(e);r||(r=new Ah(Lh,!1),n.set(e,r)),r.insert(t)}),n}function Xh(t,n=.125,e=50){let r=je(t.cpNode);for(;!Ae(r);)r=r.next;const o=Th(r),i=new Set;for(let t=0;t<o.length;t++){const r=o[t];let c=0;for(;c<r.length;){const t=c;for(;(c++,c!==r.length)&&!(qh(t,c,r,e)>n);)i.add(r[c])}}r=function(t,n){const e=n;if(t(e))return e;let r=n.next;for(;r!==e;){if(t(r))return r;r=r.next}}(t=>Ae(t)?t:void 0,r);for(const n of i)or(t=>2!==qe(t)&&!t.isHoleClosing)(n)||Ke(n,t.meta.cpTrees);return{cpNode:r,meta:{...t.meta,cpTrees:$h(r)}}}function qh(t,n,e,r){const o=[],i=Te(e[t],e[n].next);for(;t<n+1;t++)o.push(wh(Ce(e[t]),i,r));return Math.max(...o)}const{getAllOnLoop:Hh}=rr;function Dh(t){const n=[],e=Hh(t);for(const t of e)ke(t)&&!t.isHoleClosing&&n.push(t);return n}const Qh=function(t,n,e){const r=t.get(n);return void 0!==r&&r.has(e)},Gh=function(t,n,e){let r=t.get(n);void 0===r&&(r=new Set,t.set(n,r)),r.add(e)},{isOnSameCircle:Rh}=rr;function Uh(t){let n=t,e=t.prevOnCircle;for(;Ae(e);)e=e.prevOnCircle;const r=[];do{Ae(n)||r.push(n),n=n.nextOnCircle}while(n!==e);return r}function jh(t,n){const e=new Map,r=new Map;return Qe(t,function(t){const o=r.get(t)||n*t.cp.circle.radius,i=t.next,c=function(t,n,e=.4,r=16){if(4===n.length)return jn(t,n,e,r);if(3===n.length)return Un(t,n,e,r);if(2===n.length)return kn(t,n);if(1===n.length)return 0;throw new Error("The given bezier curve must be of order <= 3.")}([0,1],Ce(t)),s=i.cp.circle.radius;if(o-c>n*s)for(const t of Pe(i))if(r.set(t,o-c),!i.isHoleClosing){const{center:t}=i.cp.circle;Gh(e,t[0],t[1])}}),e}function Zh(t,n){let e=0;"undefined"!=typeof _debug_&&(e=performance.now());const r=function(t){const n=v(t);return n.reduce(function(t,n){return t.cp.circle.radius>=n.cp.circle.radius?t:n},n[0])}(je(t.cpNode));!function(t,n){const e=Dh(n);for(;e.length;){const r=e.pop(),{center:o}=r.cp.circle;if(!Qh(t,o[0],o[1])||r.isIntersection)continue;let i=r.prevOnCircle,c=!1;for(;!c;){i=i.next;const{center:e}=i.cp.circle;if(Qh(t,e[0],e[1]))if(Rh(i,n))c=!0;else{if(1===Uh(i).length)continue;c=!0}else{for(;Ae(i.prevOnCircle);)i=i.prevOnCircle;c=!0}}if(c){const t=i.prevOnCircle;t.next=i,i.prev=t,t.nextOnCircle=i,i.prevOnCircle=t}}}(jh(r,n),r);const o={cpNode:r,meta:{...t.meta,cpTrees:$h(r)}};return function(t){"undefined"!=typeof _debug_&&(_debug_.generated.timing.sats=performance.now()-t)}(e),o}const Wh={maxCurviness:.05,maxLength:40,applySat:!0,satScale:2,simplify:!0,simplifyTolerance:2**-4,minBezLength:2**-6,angleIncrement:15},Jh={maxCurviness:{range:[.01,3]},maxLength:{range:[1,1024],scaleByMaxRadius:!0},angleIncrement:{range:[.1,360]},satScale:{range:[1,Number.POSITIVE_INFINITY]},simplifyTolerance:{range:[2**-10,1024],scaleByMaxCoordinate:!0},minBezLength:{range:[2**-20,2],scaleByMaxCoordinate:!0}};function Kh(t){return[t[1],-t[0]]}function td(t,n){return Ee(n)&&Se(n).isDull?-te(Kh(Se(n).tangents[0]),ie(Kn(n.p,t.center))):0}function nd(t){return t[0]*t[0]+t[1]*t[1]}function ed(t,n,e){return t[0]*(n[1]*e[2]-n[2]*e[1])-t[1]*(n[0]*e[2]-n[2]*e[0])+t[2]*(n[0]*e[1]-n[1]*e[0])}function rd(t){const n=t[0],e=t[1],r=t[2],o=nd,i=.5*ed([o(n),n[1],1],[o(e),e[1],1],[o(r),r[1],1]),c=.5*ed([n[0],o(n),1],[e[0],o(e),1],[r[0],o(r),1]),s=ed([n[0],n[1],1],[e[0],e[1],1],[r[0],r[1],1]);return[i/s,c/s]}function od(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}const id=Number.EPSILON/2,cd=id*id;function sd(t){const n=t*cd;return n/(1-n)}const ud=Ir,fd=x,{abs:ld}=Math,ad=sd(3);function pd(t,n,e){const r=t.length-1,o=[t[0]];let i=n[0];const c=[i];for(let s=1;s<r;s++){const r=o[s-1],u=e*r[1],f=ld(e)*i+ld(u),l=t[s];i=n[s]+f+ld(l[1]+u);const a=fd(l,ud(e,r));o.push(a),c.push(i)}return{coeffs:o,errBound:c.map(t=>ad*t)}}const hd=$,dd=B;function vd(t,n){const e=t.length-1,r=[t[0]];for(let o=1;o<e;o++)r.push(dd(t[o],hd(n,r[o-1])));return r}const gd=dt,md=sr,xd=x,bd=Number.EPSILON,Id=sd(3),{sqrt:_d}=Math;function Nd(t,n,e,r=[0,1],o=void 0,i=void 0,c=!1,s=0){const[u,f]=r,l=n.ps,a=0===s&&n===o;let{polyDd:p,polyE:h,getPolyExact:d}=Ei(l,e);const v=a?pd(p,h.map(t=>t/Id),i):void 0,g=c&&a?pd(v.coeffs,v.errBound.map(t=>t/Id),i):void 0,m=c&&a?pd(g.coeffs,g.errBound.map(t=>t/Id),i):void 0,{polyDd:x,polyE:b,getPolyExact:I}=void 0!==m?{polyDd:m.coeffs,polyE:m.errBound,getPolyExact:()=>vd(vd(vd(d(),i),i),i)}:void 0!==v?{polyDd:v.coeffs,polyE:v.errBound,getPolyExact:()=>vd(d(),i)}:{polyDd:p,polyE:h,getPolyExact:d},_=ao(x,u,f,b,I),N=1===i&&n===o.next||0===i&&n===o,S=0===i&&n===o.prev||1===i&&n===o;0===u?N||_.push({tS:0,tE:0,multiplicity:1}):1===u?S||_.push({tS:1,tE:1,multiplicity:1}):_.push({tS:u,tE:u,multiplicity:1}),0===f?N||_.push({tS:0,tE:0,multiplicity:1}):1===f?S||_.push({tS:1,tE:1,multiplicity:1}):_.push({tS:f,tE:f,multiplicity:1});const E=_.map(r=>{const{tS:o,tE:i}=r;if(i<u||o>f)return;const c=(o+i)/2,s=c<0?0:c>1?1:c,a=No(l,[o,i]),p=function(t){const n=t[0],e=t[1];return[(n[0]+e[0])/2,(n[1]+e[1])/2]}(a),h=function(t,n,e){const r=n[0],o=n[1],i=r[0],c=r[1],s=o[0],u=o[1],f=e[0],l=e[1];let a=Number.POSITIVE_INFINITY,p=Number.NEGATIVE_INFINITY;for(const[n,e]of[[i,c],[i,u],[s,c],[s,u]]){const r=gd(n,f),o=gd(e,l),i=xd(md(r,r),md(o,o))[1],c=i*(1-2**t*bd),s=i*(1+2**t*bd);c<=a&&(a=c),s>=p&&(p=s)}return[a,p]}(t,a,e),d=0===s?1:s;return{curve:0===s?n.prev:n,p,t:d,d:(_d(h[0])+_d(h[1]))/2,dSquaredI:h,box:a}});return E.filter(t=>void 0!==t)}const Sd=ml;function Ed(t,n){const e=t[0],r=t[1],o=e[0],i=e[1],c=r[0],s=r[1],u=n[0],f=n[1];return u<o?f<i?Sd(t[0],n):f>s?Sd([o,s],n):(o-u)**2:u>c?f<i?Sd([c,i],n):f>s?Sd(t[1],n):(u-c)**2:f<i?(i-f)**2:f>s?(f-s)**2:0}const wd=Wn(Ji);function Md(t,n){const e=[0,1,2,3].map(e=>function(t,n){const e=ml,r=n[0],o=n[1],i=e(r,o);if(0==i)return e(t,r);let c=((t[0]-r[0])*(o[0]-r[0])+(t[1]-r[1])*(o[1]-r[1]))/i;return c=Math.max(0,Math.min(1,c)),e(t,[r[0]+c*(o[0]-r[0]),r[1]+c*(o[1]-r[1])])}(n,[t[e],t[(e+1)%4]])),r=ml(t[0],t[1]),o=ml(t[0],t[3]);return e[0]<=o&&e[2]<=o&&e[1]<=r&&e[3]<=r?0:Math.min(...e)}const Od=Wn(ih);function Td(t,n,e,r=void 0,o=void 0,i=!1,c=0){n=function(t,n){const e=function(t,n){let e=Number.POSITIVE_INFINITY;for(let r=0;r<t.length;r++){const o=t[r],i=o.curve.ps,c=vo(i,o.ts[0]),s=vo(i,o.ts[1]),u=Math.min(ml(n,c),ml(n,s));u<e&&(e=u)}return(1+2**-10)*e}(t,n);return t=function(t,n,e){const r=[];for(let o=0;o<t.length;o++){const i=t[o],c=i.curve.ps;Ed(wd(c),n)<=e&&r.push(i)}return r}(t,n,e),t=function(t,n,e){const r=[];for(let o=0;o<t.length;o++){const i=t[o],c=i.curve.ps;Md(Od(c),n)<=e&&r.push(i)}return r}(t,n,e),t}(n,e);const s=[];for(let u=0;u<n.length;u++){const f=n[u],l=Nd(t,f.curve,e,f.ts,r,o,i,c);s.push(...l)}let u=Number.POSITIVE_INFINITY;for(let t=0;t<s.length;t++){const n=s[t].dSquaredI[1];n<u&&(u=n)}const f=[];for(let t=0;t<s.length;t++){const n=s[t];n.dSquaredI[0]<=u&&f.push(n)}return f.map(t=>vr(t.curve,t.t,!1))}const{max:Cd,ceil:yd,log2:Pd}=Math;function Ad(t,n){return n.map(n=>Td(5,n,t)[0])}function Bd(t,n){return[n*t[0],n*t[1]]}function zd(t,n,e){const r=od(e);let o,i,c,s,u=1,f=0;do{i=oe(Bd(e,u),n),c=Ad(i,t),s=od(Kn(i,rd(c.map(t=>t.p)))),o=s<r,u/=2,f++}while(!o&&f<3);return{newX:i,newV:s,newPoss:c}}const{isSharp:Fd}=rr,Yd=Kn;function Vd(t,n,e,r,o){const i=2**-32*o,c=[t[0],t[n],t[t.length-1]],s=[r[0],r[n],r[t.length-1]],u=[[c[0],c[1],c[2]],[c[1],c[2],c[0]],[c[2],c[0],c[1]]][e],f=[[s[0],s[1],s[2]],[s[1],s[2],s[0]],[s[2],s[0],s[1]]][e];if(Fd(u[0][0]))return;let l,a,p=0,h=function(t,n,e){const r=n[0][0].cp.circle,o=r.center,i=Td(Cd(0,yd(Pd(t/r.radius)))+1,e[1],o)[0];return rd([n[0][0].cp.pointOnShape.p,i.p,n[2][1].cp.pointOnShape.p])}(o,u,f),d=Number.POSITIVE_INFINITY;for(;d>i&&p<10;){if(p++,l=Ad(h,f),!Number.isFinite(h[0])||!Number.isFinite(h[1]))return;a=rd(l.map(t=>t.p));const t=Yd(h,a);if(!Number.isFinite(t[0])||!Number.isFinite(t[1]))return;const n=zd(f,h,t);h=n.newX,l=n.newPoss;const e=od(t);d=Math.abs(e-n.newV)}const v=(Ln(h,l[0].p)+Ln(h,l[1].p)+Ln(h,l[2].p))/3,g={center:h,radius:v};let m=0;for(let t=0;t<3;t++){const n=l[t],e=ie(Kn(n.p,h)),r=ne(e);if(Ee(n)&&Se(n).isDull){const t=Ne(n.curve.ps,n.curve.next.ps).tangents.map(ne),r=Math.asin(ee(t[0],e)),o=Math.asin(ee(e,t[1]));let i=0;r>0&&(i+=r),o>0&&(i+=o),m+=i}else{const t=ie(se(n.curve.ps,n.t));m+=Math.abs(Math.asin(ee(r,t)))}}const x=[];for(let t=0;t<r.length;t++){const n=Td(5,r[t],h)[0];x.push(Ln(n.p,h))}const b=Math.min(...x);return{poss:l,circle:g,error:1*Math.abs(v-b)+1*m,δ3s:u}}const Ld=Wn(t=>!!Ee(t)&&Se(t).isQuiteSharp);function kd(t){let n=t[0];const e=t[1],r=[];let o=!0;do{if(!o){o=!0,n=n.prevOnCircle;continue}o=!1;const t=n.cp.pointOnShape,e=n.next.cp.pointOnShape;e.curve===t.curve&&Ld(t)&&Ld(e)||(e.curve===t.curve&&d(n.next.cp,n.cp)>0?r.push({curve:t.curve,ts:[t.t,e.t]}):(r.push({curve:t.curve,ts:[t.t,1]}),t.curve.loop===e.curve.loop&&$d(r,t.curve,e.curve,e.t))),n=n.next}while(n!==e);return r}function $d(t,n,e,r){let o=n;do{o=o.next;const n=o===e?r:1;t.push({curve:o,ts:[0,n]})}while(o!==e)}function Xd(t,n,e,r){const o={pointOnShape:n,order:e,order2:r},i=t.findBounds({cp:o});if(void 0!==i[0]||void 0!==i[1])return void 0===i[0]||void 0===i[1]?t.max(t.root):i[0].datum}function qd(t,n,e,r,o,i){if(void 0!==i&&!function(t,n,e){const r=d(n,e.cp);if(r<0)return!0;if(0===r)return!0;const o=t.getMinNode();if(void 0===o)return!0;const i=o.datum;return d(t.getMaxNode().datum.cp,n)<0&&i===e}(r,o,i.next)&&!t)return;const c={cp:o,isHoleClosing:n,isIntersection:e},s=void 0===i?c:i,u=void 0===i?c:s.next;return u.prev=c,s.next=c,c.prev=s,c.next=u,r.insert(c),c}function Hd(t,n,e,r,o,i,c){let s=!1;const u=i.map((i,u)=>{const f=r[u],l=o.get(i.curve.loop),a={pointOnShape:i,circle:e,order:f,order2:0},p=void 0===c?Xd(l,i,f,0):c[u],h=qd(t,n,!1,l,a,p);return void 0===h&&(s=!0),h});return s||function(t,n){n=n.slice().sort(function(t){const n=t.center;return function(t,e){let r=t.cp.pointOnShape.p,o=e.cp.pointOnShape.p;r=[r[0]-n[0],r[1]-n[1]],o=[o[0]-n[0],o[1]-n[1]];const i=Math.atan2(r[1],r[0]);return Math.atan2(o[1],o[0])-i}}(t));const e=n.length;for(let t=0;t<e;t++)n[t].nextOnCircle=n[(t+1)%e],n[t].prevOnCircle=n[(t-1+e)%e]}(e,u),{anyFailed:s,cpNodes:u}}const Dd=Math.cos(Math.PI/180*1);function Qd(t,n,e,r,o,i){const{cpTrees:c,maxCoordinate:s}=t,u=2e-14*s,f=.02*u,l=Xd(c.get(n.curve.loop),n,r,o);if(!l)return;const a=[l,l.next],{p,t:h}=n;for(const t of a){const n=t.cp.pointOnShape.p,r=Ln(p,n);if(!(r>u)&&(te(ie(Kn(n,t.cp.circle.center)),ie(Kn(p,e.center)))>Dd||r<f&&0!==h&&1!==h))return t}}function Gd(t,n){const e=[];for(const t of n)e.push([t,t.next]);const r=function(t,n){const e=t.map(kd);let r,o=Number.POSITIVE_INFINITY;for(let i=1;i<t.length-1;i++)for(let c=0;c<3;c++){const s=Vd(t,i,c,e,n);if(!s)continue;const{circle:u,poss:f,error:l,δ3s:a}=s;l<o&&(o=l,r={circle:u,poss:f,δ3s:a})}return r}(e,t.maxCoordinate),{circle:o,poss:i,δ3s:c}=r,s=[];for(let t=0;t<3;t++)s.push(td(o,i[t]));const u=[];for(let n=0;n<i.length;n++){const e=Qd(t,i[n],o,s[n],0);void 0!==e&&qe(e)<=2&&!e.isHoleClosing&&u.push(e)}return{closeBysFor3Prong:u,cpNodes:0===u.length?Hd(!0,!1,o,s,t.cpTrees,i,c.map(t=>t[0])).cpNodes:[]}}let Rd=0;function Ud(t,n){if(we(n.cp.pointOnShape))return{closeBysFor3Prong:void 0,addedCpNodes:[]};const e=[];for(;;){if(void 0===n)continue;const r=De(n);if(r.length<=2)break;const{closeBysFor3Prong:o,cpNodes:i}=Gd(t,r);if(e.push(i),o.length>0)return{closeBysFor3Prong:o,addedCpNodes:e};if("undefined"!=typeof _debug_&&++Rd===_debug_.directives.stopAfterThreeProngsNum)return}return{closeBysFor3Prong:undefined,addedCpNodes:e}}function jd(t){for(const n of t)return n}function Zd(t,n,e,r){for(const o of[n[0]])Pe(o).forEach(t=>{e.delete(t),r.delete(t)}),Ke(o,t)}const{cpNodeComparator:Wd}=rr;function Jd(t,n,e){let r;for(let o=0;o<e.length;o++){const i=e[o],c=new Ah(Wd,!1);let s,u;for(const t of i){const n={center:t.p,radius:0},e={pointOnShape:t,circle:n,order:1,order2:0};s=qd(!0,!1,!1,c,{pointOnShape:t,circle:n,order:-1,order2:0},u),u=qd(!0,!1,!1,c,e,s),s.prevOnCircle=u,u.prevOnCircle=s,s.nextOnCircle=u,u.nextOnCircle=s}r||(r=s);const f=t[o];n.set(f,c)}return r}const Kd=function(t,n,e,r,o){let i=t.get(n);void 0===i&&(i=new Map,t.set(n,i));let c=i.get(e);void 0===c&&(c=new Map,i.set(e,c)),c.set(r,o)};let tv;function nv(t,n,e,r){tv=performance.now();const o=new Map,i=[],c=[],s=[],u=[],f=[];for(const t of e){const n=r.get(t).toArrayInOrder();for(const e of n){const{p:n,t:r}=e.cp.pointOnShape;Kd(o,t,n[0],n[1],e)}for(let n of t.curves){const t=n.ps,e=bl(t,!0);s.push(e);const r=wd(t);i.push(r);const o=ih(t);c.push(o);const l=Ne(n.ps,n.next.ps);l.isQuiteSharp?u.push(n):l.isQuiteDull&&f.push(n)}}return{maxCoordinate:t,squaredDiagonalLength:n,looseBoundingBoxes:i,tightBoundingBoxes:c,boundingHulls:s,sharpCorners:u,dullCorners:f,loops:e,cpTrees:r,pointToCpNode:o}}function ev(t){return n=>{const e=[];for(let r=0;r<n.curves.length;r++){const o=n.curves[r];oh(o.ps)<t||Ne(o.ps,o.next.ps).isQuiteSharp&&e.push(vr(o,1,!0))}return e}}const rv=x,ov=Ir;function iv(t,n){let e=[0,0];for(let r=0;r<t.length;r++)e=rv(t[r],ov(n,e));return e}const cv=A,sv=P,uv=Ir,fv=x,lv=ur;function av(t){if(4===t.length)return function(t){const[[n,e],[r,o],[i,c],[s,u]]=t;return[[uv(3,fv(sv(s,n),uv(3,sv(r,i)))),uv(6,lv(cv(i,n),-2*r)),uv(3,sv(r,n))],[uv(3,fv(sv(u,e),uv(3,sv(o,c)))),uv(6,lv(cv(c,e),-2*o)),uv(3,sv(o,e))]]}(t);if(3===t.length)return function(t){const[[n,e],[r,o],[i,c]]=t;return[[lv(cv(2*i,2*n),-4*r),sv(2*r,2*n)],[lv(cv(2*c,2*e),-4*o),sv(2*o,2*e)]]}(t);if(2===t.length)return function(t){const[[n,e],[r,o]]=t;return[[sv(r,n)],[sv(o,e)]]}(t);if(1===t.length)return[[[0,0]],[[0,0]]];throw new Error("The given bezier curve must be of order <= 3.")}const pv=P,hv=x,dv=Ir,vv=ur;function gv(t){if(4===t.length){const[[n,e],[r,o],[i,c],[s,u]]=t;return[[dv(6,hv(pv(s,n),dv(3,pv(r,i)))),dv(6,vv(pv(i,2*r),n))],[dv(6,hv(pv(u,e),dv(3,pv(o,c)))),dv(6,vv(pv(c,2*o),e))]]}if(3===t.length){const[[n,e],[r,o],[i,c]]=t;return[[vv(pv(2*i,4*r),2*n)],[vv(pv(2*c,4*o),2*e)]]}if(t.length<=2)return[[[0,0]],[[0,0]]];throw new Error("The given bezier curve must be of order <= 3.")}const mv=sr,xv=x,bv=b,Iv=dt,_v=J,Nv=$,Sv=B,Ev=D;function wv(t,n,e=!1){const r=n.curve.ps,{p:o,t:i}=n;let c=-function(t,n){const[e,r]=av(t),[o,i]=gv(t),c=iv(e,n),s=iv(r,n),u=iv(o,n),f=iv(i,n),l=bv(mv(c,f),mv(s,u)),a=xv(mv(c,c),mv(s,s)),p=mv(a,mv(a,a)),h=Math.sqrt(p[1]);return l[1]/h}(r,i);(c<t||e)&&(c=t);const s=function(t,n){const[e,r]=function(t){if(4===t.length)return function(t){const[[n,e],[r,o],[i,c],[s,u]]=t;return[[Nv(3,Sv(Iv(s,n),Nv(3,Iv(r,i)))),Nv(6,Ev(_v(i,n),-2*r)),Nv(3,Iv(r,n))],[Nv(3,Sv(Iv(u,e),Nv(3,Iv(o,c)))),Nv(6,Ev(_v(c,e),-2*o)),Nv(3,Iv(o,e))]]}(t);if(3===t.length)return function(t){const[[n,e],[r,o],[i,c]]=t;return[[Ev(_v(2*i,2*n),-4*r),Iv(2*r,2*n)],[Ev(_v(2*c,2*e),-4*o),Iv(2*o,2*e)]]}(t);if(2===t.length)return function(t){const[[n,e],[r,o]]=t;return[[Iv(r,n)],[Iv(o,e)]]}(t);if(1===t.length)return[[[0]],[[0]]];throw new Error("The given bezier curve must be of order <= 3.")}(t);return[kr(e,n),kr(r,n)]}(r,i).map(t=>t[t.length-1]),u=[-s[1],s[0]],f=Math.sqrt(u[0]**2+u[1]**2);return{center:[o[0]-u[0]/(c*f),o[1]-u[1]/(c*f)],radius:1/c}}const{abs:Mv}=Math,Ov=P,Tv=m;function Cv(t,n,e){const r=Mv(t[1]-n[1])>Mv(t[0]-n[0]);let o,i,c,s,u,f;r?(o=t[1],i=t[0],c=n[1],s=n[0],u=e[1],f=e[0]):(o=t[0],i=t[1],c=n[0],s=n[1],u=e[0],f=e[1]);const l=Ff(Ov(i,s),Ov(o,c)),a=b([0,s],br(c,l)),p=Ff(x(b(x(Tv(c,c),Tv(s,s)),x(Tv(u,u),Tv(f,f))),Co(sr(a,Ov(f,s)))),Co(x(Ov(c,u),sr(l,Ov(s,f))))),h=x(sr(l,p),a);return r?[h[1],p[1]]:[p[1],h[1]]}function yv(t,n,e,r){const o=(2**-14*t)**2;if(ml(n,r)<o)return;const i=[(n[0]+r[0])/2,(n[1]+r[1])/2],c=[r[0]-n[0],r[1]-n[1]],s=[-c[1],c[0]],u=Jn([n,e],[i,[i[0]+s[0],i[1]+s[1]]]);return u?te([u[0]-n[0],u[1]-n[1]],[e[0]-n[0],e[1]-n[1]])<0?void 0:u:void 0}function Pv(t,n){const[e,r]=t,[o,i]=n,c=P(e,o),s=P(r,i);return x(sr(c,c),sr(s,s))[1]}function Av(t,n,e){if(t.length<=1)return t;const r=[];for(const o of t){const t=o.curve.ps;Ed(wd(t),n)<=1.0009765625*e&&r.push(o)}return r}function Bv(t,n,e,r){if(Ee(r)&&Se(r).isDull)return;const o={radius:n,center:e};if(Qd(t,r,o,td(o,r),0))return;const{anyFailed:i,cpNodes:c}=Hd(!1,!1,o,[-.5,.5],t.cpTrees,[r,r])}const zv=m,Fv=x,Yv=b,Vv=br,{asin:Lv,acos:kv,cos:$v,sqrt:Xv,PI:qv}=Math,Hv=1e3*2**-46;function Dv(t,n,e){if(n+e>=t)return Number.POSITIVE_INFINITY;const r=P(t,n),o=Vv(n,r),i=t-n,c=n*i,s=(c-n*e-e*e/2)/(c+i*e),u=Ff(Yv(Yv(o,zv(n,e)),zv(e,e/2)),Fv(o,Vv(e,r)))[1];return kv(s),n*kv(u)}Dv(699,698,Hv),function(t,n,e){const r=698+e;const o=t*t-r*r-1,i=2*r*1,c=Ff(Yv(Yv(zv(t,t),zv(r,r)),zv(1,1)),zv(-2*r,1))[1];kv(-o/i),kv(c)}(699,0,Hv),function(t,n,e){const r=698+e,o=699,i=Xv((1-(r*r+o*o-2*r*o))/(4*r*o));Lv(i)}(0,0,Hv);const{ceil:Qv,log2:Gv,max:Rv,sqrt:Uv,abs:jv,sin:Zv,cos:Wv}=Math;function Jv(t,n,e,r,o){const{loops:i,maxCoordinate:c,squaredDiagonalLength:s,cpTrees:u}=t,f=o.curve.loop,l=(2**-21*c)**2,a=2**-46*c,p=Uv(s),h=1/p,d=2**-16*c,[v,g]=function(t,n,e,r,o){let i;const c=o.p;let s;if(n)i=[c[0],c[1]-e],s=e;else if(0===t)({center:i,radius:s}=wv(r,o));else{({center:i,radius:s}=wv(r,o,!0));const n=Kn(o.p,i),e=ce(Zv(t),Wv(t))(n);i=oe(o.p)(e)}return[i,s]}(r,n,p,h,o),m=o.p;let x=function(t,n,e,r,o,i,c){if(n)return r.filter(t=>t!==e).flatMap(t=>t.curves.map(t=>({curve:t,ts:[0,1]})));const s=Ee(i)&&Se(i).isDull?1===i.t&&0===t?-1:0===i.t?1:td(c,i):0,u=Xd(o.get(e),i,s,0);return u&&u!==u.next.next?kd([u,u]):e.curves.map(t=>({curve:t,ts:[0,1]}))}(r,n,f,i,u,o,{center:v,radius:g}),b=v;const I=Uv(function(t,n,e,r){let o=Number.POSITIVE_INFINITY;for(let i=0;i<n.length;i++){const c=n[i],s=c.curve.ps,u=2;for(let n=0;n<u+1;n++){const i=yv(t,e,r,vo(s,c.ts[n/u]));if(i){let t=ml(e,i);t<o&&(o=t)}}}return(1+2**-10)*o}(c,x,m,v));let _,N;g>I&&(b=re(m,v,I/g));let S=0;for(;S<25;){const i=Pv(b,o.p);S<2&&(x=Av(x,b,i));const s=Td(Rv(0,Qv(Gv(c/i)))+1,x,b,o.curve,o.t,e&&0==S&&g!==1/h,r).map(t=>vr(t.curve,t.t,!1));let u,f=Number.NEGATIVE_INFINITY;_=[];for(const t of s){if(void 0===t)continue;const n=Pv(o.p,t.p);n>f&&(f=n,u=t),0!==n&&_.push(t)}const p=f;if(N=u,void 0===N||0===p)return;const m=Pv(b,N.p);if(0===S&&g<(1-d)*Uv(m))return void Bv(t,g,v,o);if(!n&&p<=Rv(Dv(g,Uv(m),4*a),l))return;if(b=Cv(b,o.p,N.p),jv(Uv(i)-Uv(m))<a)break;if(S++,25===S)return}return{circle:{center:b,radius:Ln(b,N.p)},zs:[N]}}function Kv(t,n,e,r){const{cpTrees:o}=t;e[0]=0===e[0].t?vr(e[0].curve.prev,1,!0):e[0];const i=e.map(t=>td(n,t));for(let r=0;r<e.length;r++)if(Qd(t,e[r],n,i[r],0))return;const{anyFailed:c,cpNodes:s}=Hd(r,r,n,i,o,e);if(!c)return r&&function(t,n){const[e,r]=n,o=r.cp,i=qd(!0,!0,!1,t.get(o.pointOnShape.curve.loop),{...o,order2:1},r),c=qd(!0,!0,!1,t.get(e.cp.pointOnShape.curve.loop),{...e.cp,order2:-1},e.prev);c.prevOnCircle=i,c.nextOnCircle=i,i.prevOnCircle=c,i.nextOnCircle=c,r.next=e,e.prev=r,c.next=i,i.prev=c}(o,s),s[0];s.forEach(t=>{void 0!==t&&Je(t,o)})}const{PI:tg,atan2:ng}=Math;function eg(t,n,e,r){let o;const i=n*tg/180;for(let n=0;n<e.length;n++){const c=[0],s=e[n];if(1===s.t){const{curve:t}=s,n=Ne(t.ps,t.next.ps);if(n.isQuiteDull){const t=Kh(n.tangents[0]),e=Kh(n.tangents[1]),r=(ng(t[1],t[0])+2*tg)%(2*tg),o=((ng(e[1],e[0])+2*tg)%(2*tg)-r+2*tg)%(2*tg);let s=i;for(;s<=o-i/2;)c.push(s),s+=i}}for(let e of c){const i=Jv(t,!1,r,e,s);if(i){const{circle:n,zs:e}=i,r=Kv(t,n,[s,...e],!1);o=o||r}if("undefined"!=typeof _debug_&&n+1===_debug_.directives.stopAfterTwoProngsNum)return}}return o}function rg(t,n,e,r){let o;for(let i=0;i<e.length;i++){const c=eg(t,n,e[i],r);o=void 0===o?c:o}return o}function og(t,n=.4,e=10,r=2**-16){const o={r:[0,1]};let i=o;for(;void 0!==i;){const o=i.r,c=Gn(t,o[0],o[1]);if(oh(c)<=e&&Qn(c)<=n||o[1]-o[0]<=r){i=i.next;continue}const s=(o[0]+o[1])/2,u=[o[0],s],f=[s,o[1]];i.r=u,i.next={r:f,next:i.next}}i=o;const c=[];for(;void 0!==i;)c.push(i.r[0]),void 0===i.next&&c.push(i.r[1]),i=i.next;return c}function ig(t,n,e){return function(r){const o=[],i=r.curves;for(let r=0;r<i.length;r++){const c=i[r],s=c.ps;if(oh(s)<t)continue;let u=og(s,n,e);u=2===u.length?[.5]:u,u.push(...zn(s)),u=u.filter(t=>0!==t&&1!==t);const f=u.map(t=>vr(c,t,!0));o.push(...f)}return o}}const cg=Ir,sg=P,ug=x,fg=Ir,lg=Co,ag=yo,pg=Ir,hg=sr,dg=x,vg=b;const gg=P,mg=Ir,xg=sr,bg=x,Ig=b;function _g(t){if(xt(t))return{minima:[],maxima:[],inflections:[]};if(4===t.length&&pt(t)&&(t=Pu(t)),3===t.length){const n=function(t){const[[n,e],[r,o],[i,c]]=t,s=gg(r,n),u=gg(i,r),f=Ig(u,s),l=gg(o,e),a=gg(c,o),p=Ig(a,l),h=bg(Ig(mg(n,Ig(f,[0,r])),mg(r,Ig(u,[0,r]))),Ig(mg(e,Ig(p,[0,o])),mg(o,Ig(a,[0,o]))));return[bg(xg(f,f),xg(p,p)),qc(h)]}(t);return{minima:[],maxima:ao(n,0,1).map(t=>(t.tS+t.tE)/2),inflections:[]}}const n=function(t){const[[n,e,r],[o,i,c]]=av(t),[[s,u],[f,l]]=gv(t),[[a],[p]]=function(t){if(4===t.length){const[[n,e],[r,o],[i,c],[s,u]]=t;return[[fg(6,ug(sg(s,n),fg(3,sg(r,i))))],[fg(6,ug(sg(u,e),fg(3,sg(o,c))))]]}if(t.length<=3)return[[[0,0]],[[0,0]]];throw new Error("The given bezier curve must be of order <= 3.")}(t),h=hg(a,i),d=hg(p,e),v=hg(u,c),g=hg(u,i),m=hg(f,f),x=hg(s,c),b=hg(l,r),I=hg(l,e),_=hg(f,r),N=hg(r,e),S=hg(r,n),E=hg(r,o),w=hg(e,e),M=hg(e,n),O=hg(e,i),T=hg(n,c),C=hg(n,o),y=hg(n,n),P=hg(c,i),A=hg(c,o),B=hg(i,i),z=hg(i,o),F=hg(o,o),Y=vg(hg(a,c),hg(p,r)),V=vg(h,d),L=dg(hg(u,r),hg(l,c)),k=dg(dg(hg(u,e),hg(s,r)),dg(hg(l,i),hg(f,c))),$=vg(v,b),X=vg(dg(g,x),dg(I,_)),q=dg(hg(r,r),hg(c,c)),H=dg(N,P),D=dg(O,T),Q=dg(A,B),G=dg(S,w),R=dg(hg(e,o),hg(n,i)),U=vg(y,F),j=vg(M,z),Z=dg(E,O),W=vg(N,P),J=dg(hg(r,i),hg(e,c)),K=dg(A,Q),tt=dg(S,G),nt=dg(E,D),et=dg(O,D),rt=vg(tt,K),ot=dg(D,T),it=dg(Z,T),ct=dg(Co(I),_),st=hg(y,vg(h,pg(3,d))),ut=hg(F,vg(pg(3,h),d)),ft=Co(dg(hg(C,dg(vg(hg(a,e),hg(p,i)),pg(3,vg(hg(l,f),hg(u,s))))),pg(3,hg(hg(s,f),j)))),lt=pg(3,dg(hg(R,vg(m,hg(s,s))),hg(U,dg(hg(u,f),hg(l,s))))),at=dg(dg(st,ut),dg(ft,lt)),pt=hg(a,dg(hg(o,dg(tt,pg(3,Q))),hg(n,et))),ht=hg(p,dg(dg(hg(r,dg(pg(3,y),F)),hg(e,dg(pg(3,M),lg(z)))),hg(n,K))),dt=pg(3,dg(dg(hg(u,dg(vg(hg(l,U),hg(u,C)),lg(vg(hg(f,j),hg(s,R))))),hg(s,vg(dg(lg(hg(l,j)),hg(f,dg(lg(vg(S,A)),vg(w,B)))),hg(s,it)))),dg(hg(l,dg(hg(l,C),lg(hg(f,R)))),hg(m,nt)))),vt=dg(vg(pt,ht),dt),gt=hg(a,dg(dg(lg(hg(r,R)),hg(e,ot)),hg(i,dg(ag(A),K)))),mt=hg(p,dg(dg(lg(hg(r,dg(pg(3,M),z))),hg(e,dg(w,lg(A)))),hg(i,ot))),xt=pg(3,dg(dg(hg(u,vg(dg(lg(vg(hg(l,j),hg(s,it))),hg(f,rt)),hg(u,R))),hg(s,vg(lg(hg(f,W)),hg(s,J)))),dg(hg(l,dg(dg(hg(l,R),lg(hg(f,nt))),hg(s,rt))),hg(m,J)))),bt=dg(vg(gt,mt),xt),It=hg(a,dg(hg(r,dg(E,lg(D))),hg(c,dg(w,pg(3,Q))))),_t=hg(p,dg(hg(r,dg(pg(3,G),K)),hg(c,et))),Nt=pg(3,dg(dg(hg(u,dg(vg(hg(l,rt),hg(u,nt)),lg(vg(hg(f,W),hg(s,J))))),hg(s,vg(hg(r,vg(ct,hg(s,c))),hg(c,dg(lg(hg(l,i)),hg(f,c)))))),dg(hg(l,dg(hg(l,D),hg(r,dg(lg(hg(f,i)),hg(l,o))))),hg(f,hg(c,ct))))),St=dg(vg(It,_t),Nt),Et=vg(dg(hg(q,V),lg(hg(H,Y))),pg(3,dg(hg(L,X),hg(k,$)))),wt=vg(hg(Y,q),pg(3,hg(L,$)));return{inflectionPoly:[vg(hg(s,o),hg(f,n)),vg(dg(hg(u,o),hg(s,i)),dg(hg(l,n),hg(f,e))),vg(dg(g,x),dg(I,_)),vg(v,b)],otherExtremaPoly:[at,vt,bt,St,Et,wt]}}(t),e=n.inflectionPoly,r=n.otherExtremaPoly,o=ao(r,0,1),i=function(t){const n=[],e=t.length-1;for(let r=0;r<e;r++)n.push(cg(e-r,t[r]));return n}(r),c=[],s=[];for(let t=0;t<o.length;t++){const n=(o[t].tS+o[t].tE)/2,r=kr(i,n);Q(H(kr(e,n),r))>=0?c.push(n):s.push(n)}return{minima:c,maxima:s,inflections:ao(e,0,1).map(t=>(t.tS+t.tE)/2)}}const Ng=Number.POSITIVE_INFINITY,Sg=Wn(function(t){const n=[[{bezier:void 0,t:void 0,val:Ng},{bezier:void 0,t:void 0,val:Ng}],[{bezier:void 0,t:void 0,val:-Ng},{bezier:void 0,t:void 0,val:-Ng}]];return t.curves.forEach(function(t){const e=tc(t.ps);{const r=e.box[0][0],o=n[0][0].val;(r<o||r===o&&e.ts[0][0]>n[0][0].t)&&(n[0][0]={bezier:t,t:e.ts[0][0],val:r})}{const r=e.box[0][1],o=n[0][1].val;(r<o||r===o&&e.ts[0][1]>n[0][1].t)&&(n[0][1]={bezier:t,t:e.ts[0][1],val:r})}{const r=e.box[1][0],o=n[1][0].val;(r>o||r===o&&e.ts[1][0]>n[1][0].t)&&(n[1][0]={bezier:t,t:e.ts[1][0],val:r})}{const r=e.box[1][1],o=n[1][1].val;(r>o||r===o&&e.ts[1][1]>n[1][1].t)&&(n[1][1]={bezier:t,t:e.ts[1][1],val:r})}}),{minY:vr(n[0][1].bezier,n[0][1].t,!0),minX:vr(n[0][0].bezier,n[0][0].t,!0),maxX:vr(n[1][0].bezier,n[1][0].t,!0),maxY:vr(n[1][1].bezier,n[1][1].t,!0)}});function Eg(t){return Sg(t).minY}function wg(t){const{loops:n}=t,e=n.map(Eg);let r;for(let n=1;n<e.length;n++){const o=e[n],i=Jv(t,!0,!1,0,o);if(!i)throw new Error("Unable to find hole-closing 2-prong");const{circle:c,zs:s}=i,u=Kv(t,c,[o,s[0]],!0);r=void 0===r?u:r}return r}const Mg=Wn(function(t){let n,e,r,o,i=Number.POSITIVE_INFINITY,c=Number.NEGATIVE_INFINITY,s=Number.POSITIVE_INFINITY,u=Number.NEGATIVE_INFINITY;for(const f of t){const t=Sg(f);t.minX.p[0]<i&&(n=t.minX,i=t.minX.p[0]),t.maxX.p[0]>c&&(e=t.maxX,c=t.maxX.p[0]),t.minY.p[1]<s&&(r=t.minY,s=t.minY.p[1]),t.maxY.p[1]>u&&(o=t.maxY,u=t.maxY.p[1])}return{minX:n,minY:r,maxX:e,maxY:o}});function Og(t,n,e){const{minBezLength:r,maxCurviness:o,maxLength:i,angleIncrement:c}=e,s=ev(r),u=function(t){return n=>{const e=[];for(let r=0;r<n.curves.length;r++){const o=n.curves[r];oh(o.ps)<t||Ne(o.ps,o.next.ps).isQuiteDull&&(e.push(vr(o,1,!0)),e.push(vr(o.next,0,!0)))}return e}}(r),f=ig(r,o,i),l=function(t){return function(n){const e=[],r=function(t){return function(n){const e={minima:[],maxima:[]};for(let r=0;r<n.curves.length;r++){const o=n.curves[r];if(oh(o.ps)<t)continue;const{minima:i,maxima:c}=_g(o.ps);e.minima.push(...i.map(t=>vr(o,t,!0))),e.maxima.push(...c.map(t=>vr(o,t,!0)))}return e}}(t)(n);return e.push(...r.minima,...r.maxima),e}}(r),a=t.map(s),p=new Map;Jd(t,p,a);const h=Mg(t),d=nv(n,(h.maxX.p[0]-h.minX.p[0])**2+(h.maxY.p[1]-h.minY.p[1])**2,t,p);let g;if(g=wg(d),"undefined"!=typeof _debug_&&_debug_.directives.stopAfterHoleClosers)return{cpNode:g,meta:d};if(function(){if("undefined"==typeof _debug_)return;const t=_debug_.generated.timing,n=performance.now();t.holeClosers+=n-tv,tv=n}(),g=rg(d,c,t.map(u),!1)||g,g=rg(d,c,t.map(l),!0)||g,g=rg(d,c,t.map(f),!1)||g,function(){if("undefined"==typeof _debug_)return;const t=_debug_.generated.timing,n=performance.now();t.oneAnd2Prongs+=n-tv,tv=n}(),"undefined"!=typeof _debug_&&_debug_.directives.stopAfterTwoProngs)return{cpNode:g,meta:d};if(g=function(t,n){if(void 0===n)return;const e=new Set;let r=!0;for(;r;){r=!1;const o=new Set(v(n));for(const n of o){const{closeBysFor3Prong:i,addedCpNodes:c}=Ud(t,n);c.length>0&&(r=!0),void 0===i?e.add(n):(r=!0,Zd(t.cpTrees,i,o,e)),c.forEach(t=>t.forEach(t=>e.add(t)))}n=jd(e)}return jd(e)}(d,g),void 0===g)return;if("undefined"!=typeof _debug_&&_debug_.directives.stopAfterThreeProngs)return{cpNode:g,meta:d};const m={cpNode:g,meta:d};return"undefined"!=typeof _debug_&&(_debug_.generated.timing.threeProngs+=performance.now()-tv),m}function Tg(t,n){const{maxCoordinate:e,maxRadius:r}=function(t){let n=0,e=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,o=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY;for(const c of t)for(const t of c)for(const c of t){const t=c[0],s=c[1],u=ph(hh(t),hh(s));u>n&&(n=u),t<e&&(e=t),t>r&&(r=t),s<o&&(o=s),s>i&&(i=s)}return{maxCoordinate:n,maxRadius:ph(r-e,i-o)}}(t),o=function(t,n,e){const r=Math.ceil(Math.log2(t)),o=Math.ceil(Math.log2(n)),i={...e};for(const t in Jh){let n=i[t];const e=Jh[t],{range:c,scaleByMaxCoordinate:s,scaleByMaxRadius:u}=e;n<c[0]&&(n=c[0]),n>c[1]&&(n=c[1]),s?n*=2**r*2**-10:u&&(n*=2**o*2**-10),i[t]=n}return i}(e,r,{...Wh,...n||{}}),{applySat:i,simplify:c,satScale:s,simplifyTolerance:u}=o,f=ah(t),l=[];for(const t of f){let n=Og(t,e,o);void 0!==n&&(i&&(n=Zh(n,s)),c&&(n=Xh(n,u,50)),l.push(n))}return l}const{getProngCount:Cg,isOnSameCircle:yg,isTerminating:Pg}=rr;function Ag(t){const n=function(t){let n=t;const e=Dh(t);for(;e.length;){const r=e.pop();if(r.isHoleClosing||r.isIntersection)continue;let o=r.next;for(;;){o=o.next;let e=!1;const r=o.prevOnCircle;if(Cg(o)>2){const n=o.nextOnCircle;yg(o,t)?e=!0:o.next===n?o=n:n.next!==r&&(e=!0)}else if(Pg(o)&&!o.isIntersection)return void(n=o);if(e){r.next=o,o.prev=r,n=o;break}}}return n}(je(t.cpNode));if(n)return{cpNode:n,meta:{...t.meta,cpTrees:$h(n)}}}let Bg=0;function zg(t){return t.map(t=>{return(n=t.cp.pointOnShape).p[0]+", "+n.p[1]+" | bz: "+n.curve.idx+" | t: "+n.t;var n})}function Fg(t,n=3){return t[0].toFixed(n)+", "+t[1].toFixed(n)}const Yg={δToString:zg,δsToString:function(t){return t.map(zg)},pointToStr:Fg,pointsToStr:function(t,n=3){return t.map(t=>Fg(t,n))},nameObj:function(t,n=""){t.name=""+n+Bg++}},Vg="red thin10 nofill ",Lg="http://www.w3.org/2000/svg";function kg(t,n,e=Vg,r){const o=n.center,i=n.radius,c=document.createElementNS(Lg,"circle");return c.setAttributeNS(null,"cx",o[0].toString()),c.setAttributeNS(null,"cy",o[1].toString()),c.setAttributeNS(null,"r",i.toString()),c.setAttributeNS(null,"class",e),t.appendChild(c),r&&setTimeout(()=>c.remove(),r),[c]}function $g(t,n,e=3,r="red",o){const[i]=kg(t,{center:n,radius:e},"dot "+r,o);return o&&setTimeout(()=>i.remove(),o),[i]}function Xg(t,n,e=Vg,r=0,o=void 0,i=0){const c=document.createElementNS(Lg,"line");c.setAttributeNS(null,"x1",n[0][0].toString()),c.setAttributeNS(null,"y1",n[0][1].toString()),c.setAttributeNS(null,"x2",n[1][0].toString()),c.setAttributeNS(null,"y2",n[1][1].toString()),c.setAttributeNS(null,"class",e),t.appendChild(c);let s=[];if(void 0!==o)for(const e of n)s.push(...$g(t,e,i,o,r));for(const n of s)t.appendChild(n);const u=[c,...s];return r&&setTimeout(()=>{for(const t of u)t.remove()},r),u}function qg(t,n,e=Vg,r=3,o){const i=kg(t,{center:n,radius:r},e),c=[[n[0]-r,n[1]],[n[0]+r,n[1]]],s=[[n[0],n[1]-r],[n[0],n[1]+r]],u=Xg(t,c,e),f=Xg(t,s,e);return o&&setTimeout(()=>{i.forEach(t=>t.remove()),u.forEach(t=>t.remove()),f.forEach(t=>t.remove())},o),[...i,...u,...f]}function Hg(t){return 2===t?"L":3===t?"Q":4===t?"C":void 0}function Dg(t,n,e=Vg,r=0,o=void 0,i=0,c=void 0){const[[s,u],[f,l],[a,p]]=n,h=document.createElementNS(Lg,"path");h.setAttributeNS(null,"d",`M${s} ${u} Q${f} ${l} ${a} ${p}`),e&&h.setAttributeNS(null,"class",e);let d=[];if(void 0!==o)for(const e of n)d.push(...$g(t,e,i,o,r));let v=[];if(void 0!==c)for(let e=0;e<n.length-1;e++)v.push(...Xg(t,[n[e],n[e+1]],c,r));const g=[h,...d,...v];for(const n of g)t.appendChild(n);return r&&setTimeout(()=>{for(const t of g)t.remove()},r),g}function Qg(t,n,e=Vg,r=0,o=void 0,i=0,c=void 0){const[[s,u],[f,l],[a,p],[h,d]]=n;if(s===h&&f===h&&a===h&&u===d&&l===d&&p===d)return qg(t,[s,u],e,.2,r);const v=document.createElementNS(Lg,"path");v.setAttributeNS(null,"d",`M${s} ${u} C${f} ${l} ${a} ${p} ${h} ${d}`),v.setAttributeNS(null,"class",e);let g=[];if(void 0!==o)for(const e of n)g.push(...$g(t,e,i,o,r));let m=[];if(void 0!==c)for(let e=0;e<n.length-1;e++)m.push(...Xg(t,[n[e],n[e+1]],c,r));const x=[v,...g,...m];for(const n of x)t.appendChild(n);return r&&setTimeout(()=>{for(const t of x)t.remove()},r),x}function Gg(t,n,e=Vg,r=0,o=void 0,i=0,c=void 0){return 2===n.length?Xg(t,n,e,r,o,i):3===n.length?Dg(t,n,e,r,o,i,c):4===n.length?Qg(t,n,e,r,o,i,c):[]}const Rg=["red","green","cyan","blue"];function Ug(t,n){const e=1-n;if(4===t.length){const[[r,o],[i,c],[s,u],[f,l]]=t;return[r*e**3+3*i*e**2*n+3*s*e*n**2+f*n**3,o*e**3+3*c*e**2*n+3*u*e*n**2+l*n**3]}if(3===t.length){const[[r,o],[i,c],[s,u]]=t;return[r*e**2+2*i*e*n+s*n**2,o*e**2+2*c*e*n+u*n**2]}if(2===t.length){const[[r,o],[i,c]]=t;return[r*e+i*n,o*e+c*n]}return[NaN,NaN]}function jg(t,n){return 2===t.length?function(t,n){const[[e,r],[o,i]]=t,c=1-n,s=[c*e+n*o,c*r+n*i];return[[[e,r],s],[s,[o,i]]]}(t,n):3===t.length?function(t,n){const[[e,r],[o,i],[c,s]]=t,u=1-n,f=[u*u*e+2*u*n*o+n*n*c,u*u*r+2*u*n*i+n*n*s];return[[[e,r],[u*e+n*o,u*r+n*i],f],[f,[u*o+n*c,u*i+n*s],[c,s]]]}(t,n):4===t.length?function(t,n){const[[e,r],[o,i],[c,s],[u,f]]=t,l=1-n,a=n*n,p=a*n,h=l*l,d=h*l,v=[p*u+3*l*a*c+3*h*n*o+d*e,p*f+3*l*a*s+3*h*n*i+d*r];return[[[e,r],[n*o+l*e,n*i+l*r],[a*c+2*l*n*o+h*e,a*s+2*l*n*i+h*r],v],[v,[a*u+2*n*l*c+h*o,a*f+2*n*l*s+h*i],[n*u+l*c,n*f+l*s],[u,f]]]}(t,n):[]}const Zg={circle:kg,crossHair:qg,dot:$g,line:Xg,rect:function(t,n,e=Vg,r){const[[o,i],[c,s]]=n,u=o<c?o:c,f=i<s?i:s,l=Math.abs(o-c),a=Math.abs(i-s),p=document.createElementNS(Lg,"rect");return p.setAttributeNS(null,"x",u.toString()),p.setAttributeNS(null,"y",f.toString()),p.setAttributeNS(null,"width",l.toString()),p.setAttributeNS(null,"height",a.toString()),e&&p.setAttributeNS(null,"class",e),t.appendChild(p),r&&setTimeout(()=>p.remove(),r),[p]},beziers:function(t,n,e,r){const o=void 0===e,i=[];for(let r=0;r<n.length;r++){const c=n[r],s=o?"thin5 nofill "+Rg[r%Rg.length]:e;i.push(...Gg(t,c,s))}return r&&setTimeout(()=>i.forEach(t=>t.remove()),r),i},bezier:Gg,bezierPiece:function(t,n,e,r=Vg,o){const i=e[0]===e[1]?qg(t,Ug(n,e[0]),r,1.5):Gg(t,function(t,n){if(0===n[0]&&1===n[1])return t;if(n[0]===n[1]){const e=Ug(t,n[0]);return[e,e,e,e]}return 0===n[0]?jg(t,n[1])[0]:1===n[1]?jg(t,n[0])[1]:jg(jg(t,n[0])[1],(n[1]-n[0])/(1-n[0]))[0]}(n,e),r);return o&&setTimeout(()=>i.forEach(t=>t.remove()),o),i},quadBezier:Dg,cubicBezier:Qg,polygon:function(t,n,e=Vg,r){const o=document.createElementNS(Lg,"path");let i=`M${n[0][0]} ${n[0][1]} L`;for(let t=0;t<n.length;t++)i+=`${n[t][0]} ${n[t][1]} `;return i+=" z",o.setAttributeNS(null,"d",i),e&&o.setAttributeNS(null,"class",e),t.appendChild(o),r&&setTimeout(()=>o.remove(),r),[o]},loop:function(t,n,e=Vg,r){if(!n.length)return[];const o=document.createElementNS(Lg,"path");let i=`M${n[0][0][0]} ${n[0][0][1]} `;for(let t=0;t<n.length;t++){const e=n[t];i+=`${Hg(e.length)} `;for(let t=1;t<e.length;t++)i+=`${e[t][0]} ${e[t][1]} `}return i+=" z",o.setAttributeNS(null,"d",i),e&&o.setAttributeNS(null,"class",e),t.appendChild(o),r&&setTimeout(()=>o.remove(),r),[o]},polyline:function(t,n,e=Vg,r){if(n.length<2)return[];const o=document.createElementNS(Lg,"path");let i=`M${n[0][0]} ${n[0][1]} L`;for(let t=0;t<n.length;t++)i+=`${n[t][0]} ${n[t][1]} `;return o.setAttributeNS(null,"d",i),e&&o.setAttributeNS(null,"class",e),t.appendChild(o),r&&setTimeout(()=>o.remove(),r),[o]},text:function(t,n,e,r,o=Vg,i){const c=document.createElementNS(Lg,"text");return c.setAttributeNS(null,"x",n[0].toString()),c.setAttributeNS(null,"y",n[1].toString()),c.setAttributeNS(null,"font-size",r.toString()),c.setAttributeNS(null,"class",o),c.textContent=e,t.appendChild(c),i&&setTimeout(()=>c.remove(),i),[c]}};function Wg(t,n){return(n,e,r,o=0,i=1)=>{let c,s;switch(e.isHoleClosing){case!1:c="red ",s="2";break;case!0:c="cyan ",s="10"}const u=e.cp,{circle:f,pointOnShape:l}=u,{center:a,radius:p}=f,{isSource:h,p:d}=l,v=e.nextOnCircle.cp.pointOnShape.p,g=h?d:v,m=h?v:d,{line:x,dot:b,circle:I,crossHair:_}=Zg,N=b(n,f.center,.02*i,"yellow",o);return[...I(n,f,c+"thin"+s+" nofill",o),...b(n,g,.005*i,c,o),...b(n,m,.01*i,c,o),...t?_(n,f.center,"red thin2 nofill",.002*i,o):[],...N]}}function Jg(t,n){return{center:t.center,radius:n*t.radius}}const{getAllOnCircle:Kg}=rr,{isTerminating:tm}=rr,nm=["thin10 blue nofill","thin10 red nofill"];function em(t,n,e,r=0,o=1){let i=n.cpNode;if(!i)return[];for(;!tm(i);)i=i.next;const c=[];let s=0;return Qe(i,async n=>{if(tm(n))return;const e=Ce(n);e&&(c.push(...Zg.bezier(t,e,nm[s%2],r)),s++)}),c}function rm(t,n,e,r){const o=document.createElementNS("http://www.w3.org/2000/svg","circle");return o.setAttributeNS(null,"cx",n[0].toString()),o.setAttributeNS(null,"cy",n[1].toString()),o.setAttributeNS(null,"r",e.toString()+"%"),o.setAttributeNS(null,"class",r),t.appendChild(o),o}function om(t,n,e="thin5 purple nofill",r=0,o=1){const i=[],c=[];for(const t of n){if(Ae(t))continue;const n=Ce(t);n&&c.push(n)}return i.push(...p(t,c,e,r)),i}const im={oneProng:function(t,n,e,r=0,o=1){const i=n[0].cp,{circle:c,pointOnShape:s}=i;return[...Zg.dot(t,s.p,.02*o,"deeppink",r),...Zg.dot(t,c.center,.05*o,"deeppink",r),...Zg.circle(t,c,"deeppink thin5 nofill",r)]},twoProng:Wg(!1),threeProng:function(t,n,e,r=0,o=1){const i=Jg(n.cp.circle,1),{center:c,radius:s}=i,u=rr.getAllOnCircle(n).map(t=>t.cp.pointOnShape),{dot:f,circle:l,crossHair:a}=Zg,p=l(t,i,"blue thin2 nofill",r),h=[],d=[];for(let n=0;n<u.length;n++){const e=u[n].p;h.push(...f(t,e,.01*(n+1)*o,"blue",r)),d.push(...Zg.line(t,[e,c],"thin5 red",r))}const v=a(t,i.center,"red thin2 nofill",.02*o,r);return[...h,...d,...p,...v]},boundingHull:function(t,n,e="thin5 black nofill",r=0,o=1){return Zg.polygon(t,n,e,r)},looseBoundingBox:function(t,n,e="thin5 brown nofill",r=0,o=1){const[[i,c],[s,u]]=n;return n=[[i,c],[s,c],[s,u],[i,u]],Zg.polygon(t,n,e,r)},tightBoundingBox:function(t,n,e="thin5 pinker nofill",r=0,o=1){return Zg.polygon(t,n,"thin5 pinker nofill",r)},vertex:function(t,n,e,r=0,o=1){const i=n.cp.circle;let c=[];return c=[...Zg.dot(t,i.center,.01*o,"darkgreen",r)],c},mat:em,maxVertex:function(t,n){const e=n.cp.circle;return Zg.circle(t,e,"brown thin10 nofill")},leaves:function(t,n,e="thin10 deeppink nofill",r=0,o=1){const i=[],{line:c,dot:s,circle:u}=Zg;for(const f of n){const n=f.cp,{circle:l}=n,{center:a,radius:p}=l,h=[rm(t,a,.5,"pinker thin5 nofill")],d=rr.getAllOnCircle(f).map(t=>t.cp.pointOnShape),v=[],g=[];for(let n=0;n<d.length;n++){const e=d[n].p;g.push(...s(t,e,.01*(n+1)*o,"pinker",r)),v.push(...c(t,[e,a],"thin5 red",r))}const m=u(t,l,e,r);i.push(...m,...g,...v,...h)}return i},cull:function(t,n,e="thin10 cyan nofill",r=0,o=1){const i=[];return i.push(...Zg.crossHair(t,n,e,.1*o,r)),i},cpNode:function(t,n,e="blue thin2 nofill",r=0,o=1){const i=Jg(n.cp.circle,1),{center:c,radius:s}=i,u=rr.getAllOnCircle(n).map(t=>t.cp.pointOnShape),{dot:f,circle:l,crossHair:a}=Zg,p=l(t,i,e,r),h=[],d=[];for(let n=0;n<u.length;n++){const e=u[n].p;h.push(...f(t,e,.01*(n+1)*o,"blue",r)),d.push(...Zg.line(t,[e,c],"thin5 red",r))}const v=a(t,c,"orange thin10 nofill",2*o,r);return[...h,...d,...p,...v]},branch:om,holeCloser:Wg(!1),speed:function(t,n,e,r=0,o=1){const i=[],c=$e(0)(n);if(void 0===c)return[];const s=n.cp.pointOnShape,{p:u,t:f}=s,l=c*o/8,a=Hp(function(t,n){const[e,r]=qn(t);return[-vn(r,n),vn(e,n)]}(s.curve.ps,f),l);return i.push(...Zg.line(t,[u,oe(u,a)],"red thin5",r)),i}},cm={...im,twoProng:Wg(!0)};function sm(t){if(!t)return void(window._debug_=void 0);let n=window._debug_;n={...n,generated:{...n&&n.generated?n.generated:{},elems:{...n&&n.generated&&n.generated.elems?n.generated.elems:{},oneProng:[],twoProng:[],looseBoundingBox:[],tightBoundingBox:[],vertex:[],threeProng:[],boundingHull:[],mat:[],cpNode:[],maxVertex:[],leaves:[]},timing:{...n&&n.generated&&n.generated.timing?n.generated.timing:{},holeClosers:0,oneAnd2Prongs:0,threeProngs:0,sats:0,simplifyMat:0}},fs:{...n&&n.fs?n.fs:{},drawElem:{...n&&n.fs&&n.fs.drawElem?n.fs.drawElem:{},...im},...Yg},directives:{...n&&n.directives?n.directives:{},stopAfterHoleClosers:!1,stopAfterHoleClosersNum:void 0,stopAfterTwoProngs:!1,stopAfterTwoProngsNum:void 0,stopAfterThreeProngs:!1,stopAfterThreeProngsNum:void 0}},window._debug_=n}const um={oneProng:[],twoProng:[],threeProng:[],looseBoundingBox:[],tightBoundingBox:[],boundingHull:[],vertex:[],mat:[],maxVertex:[],leaves:[],cull:[],cpNode:[],branch:[],holeCloser:[],speed:[]},fm=Object.keys(um);function lm(t,n,e,r){const o=[];for(const r of t)o.push({type:0,item:r,x:n(r)}),o.push({type:1,item:r,x:e(r)});o.sort(am);const i=new Set,c=[];for(const t of o){const{item:n}=t;if(0===t.type){for(const t of i.values())r(n,t)&&c.push([n,t]);i.add(n)}else 1===t.type&&i.delete(t.item)}return c}function am(t,n){const e=t.x-n.x;return 0!==e?e:0===t.type?-1:1}function pm(t){return t}function hm(t,n){const e=Jv(t,!1,!1,0,n);if(void 0===e)return;const{circle:r,zs:o}=e;return Kv(t,r,[n,...o],!1)}const dm=1e-4;function vm(t,n){const e=t.cp.pointOnShape,r=n.cp.pointOnShape;let{curve:o,p:i,t:c}=e,{curve:s,p:u,t:f}=r;if(i[0]===u[0]&&i[1]===u[1])return[i];1===c&&(c=0,o=o.next),0===f&&(f=1,s=s.prev);const{ps:l}=o,{ps:a}=s,p=[i,oe(i)(ie(se(l,c)))],h=[u,oe(u)(ie(se(a,f)))],d=Jn(p,h),v=Kn(i,u);let g;if(d){const t=Kn(i,d),n=Kn(u,d);g=te(t,v)<0||te(n,v)>0}else g=!0;if(!g)return[i,d,u];const m=Kn(p[0],p[1]),x=Kn(h[0],h[1]),b=Math.abs(ee(v,m))/9,I=Math.abs(ee(v,x))/9;return b>.01||I>.01||b>dm||I>dm?void 0:[i,u]}const gm=Wn(function(t){return Zn(Ce(t))});function mm(t,n){const e=function(t){const n=new Map;for(let e of t)for(let r of t){const t=e.cp.circle.center,o=r.cp.circle.center,i=e.cp.pointOnShape.p,c=r.cp.pointOnShape.p;r!==e&&t[0]===o[0]&&t[1]===o[1]&&i[0]===c[0]&&i[1]===c[1]&&n.set(e,r)}return n}(n),r=t.length,o=[];for(let n=0;n<r;n++){const i=t[n],c=[];for(let o=0;o<r;o++){const r=t[o];if(n===o){c.push(0);continue}let s=Number.POSITIVE_INFINITY;for(const t of Pe(i)){let n=gm(t),o=t.next;for(;!tr(o,r);)if(o.isHoleClosing)o=xm(e,o);else{if(ir(o)){n=Number.POSITIVE_INFINITY;break}n+=gm(o),o=o.next}n<s&&(s=n)}c.push(s)}o.push(c)}return o}function xm(t,n){return t.get(n).next}export{rr as CpNodeFs,r as beziersToSvgPathStr,pm as connectHoleClosers,Jd as createInitialCpTree,vr as createPos,fm as debugElemNames,p as drawBeziersAsSinglePath,om as drawBranch,im as drawElemFs,cm as drawElemFsDetailed,em as drawMat,um as emptyDebugElems,sm as enableDebugForMat,Jv as find2Prong,hm as findAndAdd2Prong,wg as findAndAddHoleClosing2Prongs,Tg as findMats,h as floydWarshall,We as getBoundaryBeziersToNext,kd as getBoundaryPieceBeziers,Th as getBranches,Td as getCloseBoundaryPointsCertified,Ed as getClosestSquareDistanceToRect,ig as getFor2ProngsOnLoop,mm as getGraph,vm as getImpliedBoundaryBezierBetween,nv as getMeta,a as getPathsFromStr,Nd as getPotentialClosestPointsOnCurveCertified,jh as getSatCulls,Mg as getShapeBounds,ev as getSharpCornersOnLoop,ir as isVertexSpecial,n as loopFromBeziers,Xh as simplifyMat,lm as sweepLine,Zh as toScaleAxis,Ag as trimMat};
|
|
1
|
+
var t={};function n(t=[],n){const r=[],o={beziers:t,curves:r,idx:n};if(0===t.length)return o;let i,c=0;for(let n=0;n<t.length;n++){if(e(t[n]))continue;const s={loop:o,ps:t[n],prev:i,next:void 0,idx:c};i&&(i.next=s),i=s,r.push(s),c++}const s=r[r.length-1];return r[0].prev=s,s.next=r[0],s.ps[s.ps.length-1]=r[0].ps[0],o}function e(t){return 2===t.length?t[0][0]===t[1][0]&&t[0][1]===t[1][1]:3===t.length?t[0][0]===t[1][0]&&t[0][1]===t[1][1]&&t[1][1]===t[2][1]&&t[1][1]===t[2][1]:t[0][0]===t[1][0]&&t[0][1]===t[1][1]&&t[1][1]===t[2][1]&&t[1][1]===t[2][1]&&t[2][1]===t[3][1]&&t[2][1]===t[3][1]}function r(t){const n=[];for(let e=0;e<t.length;e++){const r=t[e];0===e&&n.push("M "+r[0][0].toString()+" "+r[0][1].toString()),4===r.length?n.push("C "+r[1][0].toString()+" "+r[1][1].toString()+" "+r[2][0].toString()+" "+r[2][1].toString()+" "+r[3][0].toString()+" "+r[3][1].toString()+" "):3===r.length?n.push("Q "+r[1][0].toString()+" "+r[1][1].toString()+" "+r[2][0].toString()+" "+r[2][1].toString()+" "):2===r.length&&n.push("L "+r[1][0].toString()+" "+r[1][1].toString()+" ")}return n.push(" z"),n.join("\n")}t.d=(n,e)=>{for(var r in e)t.o(e,r)&&!t.o(n,r)&&Object.defineProperty(n,r,{enumerable:!0,get:e[r]})},t.o=(t,n)=>Object.prototype.hasOwnProperty.call(t,n);class o{initialPoint=void 0;p;vals=void 0;prev2ndCubicControlPoint=void 0;prev2ndQuadraticControlPoint=void 0;constructor(){this.p=[0,0]}}function i(t){const n=[t.p,t.initialPoint];return t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=void 0,n}function c(t){t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=void 0;const n=(e=t.p,t.vals[0],t.vals[1],t.vals[2],t.vals[3],t.vals[4],[[e,[t.vals[5],t.vals[6]]]]);var e;const r=n[n.length-1];return t.p=r[r.length-1],n}const s={c:function(t){const n=[t.p,[t.vals[0],t.vals[1]],[t.vals[2],t.vals[3]],[t.vals[4],t.vals[5]]];return t.prev2ndCubicControlPoint=n[2],t.prev2ndQuadraticControlPoint=void 0,n},h:function(t){const n=[t.p,[t.vals[0],t.p[1]]];return t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=void 0,n},l:function(t){const n=[t.p,t.vals];return t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=void 0,n},q:function(t){const n=[t.vals[0],t.vals[1]],e=[t.vals[2],t.vals[3]];return t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=n,[t.p,n,e]},s:function(t){const n=t.prev2ndCubicControlPoint?[t.p[0]-t.prev2ndCubicControlPoint[0]+t.p[0],t.p[1]-t.prev2ndCubicControlPoint[1]+t.p[1]]:t.p,e=[t.p,n,[t.vals[0],t.vals[1]],[t.vals[2],t.vals[3]]];return t.prev2ndCubicControlPoint=e[2],t.prev2ndQuadraticControlPoint=void 0,e},t:function(t){const n=t.prev2ndQuadraticControlPoint?[t.p[0]-t.prev2ndQuadraticControlPoint[0]+t.p[0],t.p[1]-t.prev2ndQuadraticControlPoint[1]+t.p[1]]:t.p,e=[t.vals[0],t.vals[1]];return t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=n,[t.p,n,e]},v:function(t){const n=[t.p,[t.p[0],t.vals[0]]];return t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=void 0,n},z:i};function u(t){let n=0,e=0,r=1,o=0,i=1,c=1;const s=t._currentIndex;t._skipOptionalSpaces();let u=t._currentIndex;u<t._endIndex&&"+"===t._string[u]?(t._currentIndex+=1,u+=1):u<t._endIndex&&"-"===t._string[u]&&(t._currentIndex+=1,u+=1,i=-1);const f=t._string[u];if(u===t._endIndex||(f<"0"||f>"9")&&"."!==f)throw new Error(`The first character of a number must be one of [0-9+-.]. Found '${f}' at index ${u}.`);const l=t._currentIndex;for(;u<t._endIndex&&t._string[u]>="0"&&t._string[u]<="9";)t._currentIndex+=1,u+=1;if(u!==l){let n=u-1,r=1;for(;n>=l;)e+=r*(Number(t._string[n])-0),n-=1,r*=10}if(u<t._endIndex&&"."===t._string[u]){if(u+=1,u>=t._endIndex||t._string[u]<"0"||t._string[u]>"9")throw new Error("There must be a least one digit following the .");for(;u<t._endIndex&&t._string[u]>="0"&&t._string[u]<="9";)r*=10,o+=Number(t._string.charAt(u))/r,t._currentIndex+=1,u+=1}if(u!==s&&u+1<t._endIndex&&("e"===t._string[u]||"E"===t._string[u])&&"x"!==t._string[u+1]&&"m"!==t._string[u+1]){if(t._currentIndex+=1,u+=1,"+"===t._string[u]?(t._currentIndex+=1,u+=1):"-"===t._string[u]&&(t._currentIndex+=1,u+=1,c=-1),u>=t._endIndex||t._string[u]<"0"||t._string[u]>"9")throw new Error("There must be an exponent.");for(;u<t._endIndex&&t._string[u]>="0"&&t._string[u]<="9";)n*=10,n+=Number(t._string[u]),t._currentIndex+=1,u+=1}let a=e+o;if(a*=i,n&&(a*=Math.pow(10,c*n)),s===u)throw new Error("Internal error: startIndex === source._currentIndex");return t._skipOptionalSpacesOrDelimiter(),a}const f={Z:"Z",M:"M",L:"L",C:"C",Q:"Q",A:"A",H:"H",V:"V",S:"S",T:"T",z:"Z",m:"m",l:"l",c:"c",q:"q",a:"a",h:"h",v:"v",s:"s",t:"t"};class l{_string;_currentIndex;_endIndex;_prevCommand;constructor(t){this._string=t,this._currentIndex=0,this._endIndex=this._string.length,this._prevCommand=void 0,this._skipOptionalSpaces()}parseSegment(){const t=this._string[this._currentIndex];let n,e=f[t];if(void 0===e){if(void 0===this._prevCommand)throw new Error("Implicit command not allowed for first commands.");if(!("+"===t||"-"===t||"."===t||t>="0"&&t<="9")||"Z"===this._prevCommand)throw new Error("Remaining coordinates not found for implicit command");e="M"===this._prevCommand?"L":"m"===this._prevCommand?"l":this._prevCommand}else this._currentIndex+=1;this._prevCommand=e;const r=e.toUpperCase();if("H"===r||"V"===r?n=[u(this)]:"M"===r||"L"===r||"T"===r?n=[u(this),u(this)]:"S"===r||"Q"===r?n=[u(this),u(this),u(this),u(this)]:"C"===r?n=[u(this),u(this),u(this),u(this),u(this),u(this)]:"A"===r?n=[u(this),u(this),u(this),this._parseArcFlag(),this._parseArcFlag(),u(this),u(this)]:"Z"===r&&(this._skipOptionalSpaces(),n=[]),void 0===n)throw new Error("Unknown command");return{type:e,values:n}}hasMoreData(){return this._currentIndex<this._endIndex}initialCommandIsMoveTo(){if(!this.hasMoreData())return!0;const t=f[this._string[this._currentIndex]];return"M"===t||"m"===t}_isCurrentSpace(){const t=this._string[this._currentIndex];return t<=" "&&(" "===t||"\n"===t||"\t"===t||"\r"===t||"\f"===t)}_skipOptionalSpaces(){for(;this._currentIndex<this._endIndex&&this._isCurrentSpace();)this._currentIndex+=1;return this._currentIndex<this._endIndex}_skipOptionalSpacesOrDelimiter(){return!(this._currentIndex<this._endIndex&&!this._isCurrentSpace()&&","!==this._string[this._currentIndex])&&(this._skipOptionalSpaces()&&this._currentIndex<this._endIndex&&","===this._string[this._currentIndex]&&(this._currentIndex+=1,this._skipOptionalSpaces()),this._currentIndex<this._endIndex)}_parseArcFlag(){if(this._currentIndex>=this._endIndex)throw new Error("Unable to parse arc flag");let t;const n=this._string[this._currentIndex];if(this._currentIndex+=1,"0"===n)t=0;else{if("1"!==n)throw new Error("Unable to parse arc flag - arc flag must be 0 or 1");t=1}return this._skipOptionalSpacesOrDelimiter(),t}}function a(t){return function(t){if(0===t.length)return[];if("m"!==t[0].type.toLowerCase())throw new Error("Invalid SVG - every new path must start with an M or m.");const n=new o,e=[];let r,u=[];for(let o=0;o<t.length;o++){const f=t[o],l=f.type.toLowerCase();if(n.vals=f.values,f.type===l)if("v"===l)n.vals[0]+=n.p[1];else if("a"===l)n.vals[5]+=n.p[0],n.vals[6]+=n.p[1];else for(let t=0;t<n.vals.length;t++)n.vals[t]+=n.p[t%2];if("m"!==l){if("a"===l)u.push(...c(n));else{const t=s[l];if(!t)throw new Error("Invalid SVG - command not recognized.");const e=t(n);n.p=e[e.length-1],u.push(e)}r=l}else u.length&&("z"!==r&&u.push(i(n)),e.push(u),u=[]),n.initialPoint=n.p=n.vals,r=l}return u.length>0&&("z"!==r&&u.push(i(n)),e.push(u)),e}(function(t){if(!t.length)return[];const n=new l(t),e=[];if(!n.initialCommandIsMoveTo())throw new Error("Path must start with m or M");for(;n.hasMoreData();)e.push(n.parseSegment());return e}(t))}function p(t,n,e="thin10 red nofill",r=0){if(0===n.length)return[];let o=`M${n[0][0][0]} ${n[0][0][1]} `;for(let t=0;t<n.length;t++){const e=n[t];if(e.length<=1)continue;const[,r,i,c]=e;o+=2===e.length?`L ${r[0]} ${r[1]} `:3===e.length?`Q ${r[0]} ${r[1]} ${i[0]} ${i[1]} `:`C ${r[0]} ${r[1]} ${i[0]} ${i[1]} ${c[0]} ${c[1]} `}const i=document.createElementNS("http://www.w3.org/2000/svg","path");return i.setAttributeNS(null,"d",o),i.setAttributeNS(null,"class",e),t.appendChild(i),[i]}function h(t){const n=t.length,e=Array.from(Array(n),()=>new Array(n).fill(0));for(let r=0;r<n;r++)for(let o=0;o<n;o++)e[r][o]=t[r][o];for(let t=0;t<n;t++)for(let r=0;r<n;r++)for(let o=0;o<n;o++)e[r][t]+e[t][o]<e[r][o]&&(e[r][o]=e[r][t]+e[t][o]);return e}function d(t,n){let e=function(t,n){let e;return e=t.curve.idx-n.curve.idx,0!==e||(e=t.t-n.t),e}(t.pointOnShape,n.pointOnShape);return 0!==e?e:(e=t.order-n.order,0!==e?e:t.order2-n.order2)}function v(t){const n=t,e=[n];let r=t.next;for(;r!==n;)e.push(r),r=r.next;return e}const g=134217729;function m(t,n){const e=t*n,r=g*t,o=r-(r-t),i=t-o,c=g*n,s=c-(c-n),u=n-s;return[i*u-(e-o*s-i*s-o*u),e]}function x(t,n){const e=t[0],r=t[1],o=n[0],i=n[1],c=r+i,s=c-r,u=e+o,f=u-e,l=r-(c-s)+(i-s)+u,a=c+l,p=e-(u-f)+(o-f)+(l-(a-c)),h=a+p;return[p-(h-a),h]}function b(t,n){const e=t[0],r=t[1],o=n[0],i=n[1],c=r-i,s=c-r,u=e-o,f=u-e,l=r-(c-s)+(-i-s)+u,a=c+l,p=e-(u-f)+(-o-f)+(l-(a-c)),h=a+p;return[p-(h-a),h]}const _=m,I=x,N=b,{atan2:S}=Math;function E(t,n){const e=t[0],r=t[1],o=n[0],i=n[1],c=N(_(i,e),_(o,r))[1],s=I(_(o,e),_(i,r))[1];return S(c,s)}const w=Math.abs,O=[[0,0],[0,0],[0,0]];function M(t,n,e){return 0===n?1===e?{ps:t,_ps:O}:function(t,n){const e=t[0],r=t[1],o=t[2],i=e[0],c=e[1],s=r[0],u=r[1],f=o[0],l=o[1],a=n*n,p=i-s,h=c-u,d=[[i,c],[-n*p+i,-n*h+c],[a*(p+(f-s))-(2*n*p-i),a*(h+(l-u))-(2*n*h-c)]],v=w(n),g=w(i),m=w(s),x=w(f),b=g+m,_=w(c),I=w(u),N=_+I;return{ps:d,_ps:[[0,0],[v*b+g,v*N+_],[a*(b+(x+m))+(2*v*b+g),a*(N+(w(l)+I))+(2*v*N+_)]]}}(t,e):1===e?function(t,n){const e=t[0],r=t[1],o=t[2],i=e[0],c=e[1],s=r[0],u=r[1],f=o[0],l=o[1],a=n*n,p=i-s,h=f-s,d=c-u,v=l-u,g=[[a*(p+h)-(2*n*p-i),a*(d+v)-(2*n*d-c)],[n*h+s,n*v+u],[f,l]],m=w(n),x=w(i),b=w(s),_=x+b,I=w(f)+b,N=w(c),S=w(u),E=N+S;return{ps:g,_ps:[[a*(_+I)+(2*m*_+x),a*(E+(w(l)+S))+(2*m*E+N)],[m*I+b,0],[0,0]]}}(t,n):function(t,n,e){const r=t[0],o=t[1],i=t[2],c=r[0],s=r[1],u=o[0],f=o[1],l=i[0],a=i[1],p=n*n,h=e*e,d=n*e,v=c-u,g=v+(l-u),m=s-f,x=m+(a-f),b=p*g-(2*n*v-c),_=d*g-(v*(e+n)-c),I=h*g-(2*e*v-c),N=p*x-(2*n*m-s),S=d*x-(m*(e+n)-s),E=h*x-(2*e*m-s),O=w(n),M=w(e),T=w(d),C=w(c),y=w(u),P=C+y,A=P+w(l)+y,B=w(s),F=w(f),z=B+F,Y=z+w(a)+F;return{ps:[[b,N],[_,S],[I,E]],_ps:[[p*A+(2*O*P+C),p*Y+(2*O*z+B)],[T*A+(P*(M+O)+C),T*x+(z*(M+O)+B)],[h*A+(2*M*P+C),h*Y+(2*M*z+B)]]}}(t,n,e)}const T=Math.abs,C=[[0,0],[0,0],[0,0],[0,0]];function y(t,n,e){return 0===n?1===e?{ps:t,_ps:C}:function(t,n){const e=t[0],r=t[1],o=t[2],i=t[3],c=e[0],s=e[1],u=r[0],f=r[1],l=o[0],a=o[1],p=i[0],h=i[1],d=c-n*(c-u),v=u-n*(u-l),g=d-n*(d-v),m=g-n*(g-(v-n*(v-(l-n*(l-p))))),x=s-n*(s-f),b=f-n*(f-a),_=x-n*(x-b),I=_-n*(_-(b-n*(b-(a-n*(a-h))))),N=T(n),S=T(c),E=T(u),w=T(l),O=T(p),M=T(s),C=T(f),y=T(a),P=S+N*(S+E),A=E+N*(E+w),B=P+N*(P+A),F=M+N*(M+C),z=C+N*(C+y),Y=F+N*(F+z);return{ps:[[c,s],[d,x],[g,_],[m,I]],_ps:[[0,0],[P,F],[B,Y],[B+N*(B+(A+N*(A+(w+N*(w+O))))),Y+N*(Y+(z+N*(z+(y+N*(y+T(h))))))]]}}(t,e):1===e?function(t,n){const e=t[0],r=t[1],o=t[2],i=t[3],c=e[0],s=e[1],u=r[0],f=r[1],l=o[0],a=o[1],p=i[0],h=i[1],d=c-n*(c-u),v=u-n*(u-l),g=l-n*(l-p),m=d-n*(d-v),x=v-n*(v-g),b=m-n*(m-x),_=s-n*(s-f),I=f-n*(f-a),N=a-n*(a-h),S=_-n*(_-I),E=I-n*(I-N),w=S-n*(S-E),O=T(n),M=T(c),C=T(u),y=T(l),P=T(p),A=T(s),B=T(f),F=T(a),z=M+O*(M+C),Y=C+O*(C+y),V=y+O*(y+P),L=z+O*(z+Y),k=Y+O*(Y+V),$=A+O*(A+B),X=B+O*(B+F),q=F+O*(F+T(h)),H=$+O*($+X),D=X+O*(X+q);return{ps:[[b,w],[x,E],[g,N],[p,h]],_ps:[[L+O*(L+k),H+O*(H+D)],[k,D],[V,q],[0,0]]}}(t,n):function(t,n,e){const r=t[0],o=t[1],i=t[2],c=t[3],s=r[0],u=r[1],f=o[0],l=o[1],a=i[0],p=i[1],h=n*n,d=n*h,v=e*e,g=e*v,m=n*e,x=s-f,b=a-f,_=c[0]-s,I=x+b,N=n*x,S=e*x,E=_-3*b,w=u-l,O=p-l,M=c[1]-u,C=w+O,y=n*w,P=e*w,A=M-3*O,B=d*E+(3*n*(n*I-x)+s),F=m*(n*E+2*I)+(h*I+s-(S+2*N)),z=m*(e*E+2*I)+(v*I+s-(2*S+N)),Y=g*E+(3*e*(e*I-x)+s),V=d*A+(3*n*(n*C-w)+u),L=m*(n*A+2*C)+(h*C+u-(P+2*y)),k=m*(e*A+2*C)+(v*C+u-(2*P+y)),$=g*A+(3*e*(e*C-w)+u),X=T(n),q=T(e),H=T(m),D=T(d),Q=T(g),R=T(s),G=T(f),U=R+G,j=T(a)+G,Z=U+j,W=X*U,J=q*U,K=T(_)+3*j,tt=T(u),nt=T(l),et=tt+nt,rt=T(p)+nt,ot=et+rt,it=X*et,ct=q*et,st=T(M)+3*rt;return{ps:[[B,V],[F,L],[z,k],[Y,$]],_ps:[[D*K+(3*X*(X*Z+U)+R),D*st+(3*X*(X*ot+et)+tt)],[H*(X*K+2*Z)+(h*Z+R+(J+2*W)),H*(X*st+2*ot)+(h*ot+tt+(ct+2*it))],[H*(q*K+2*Z)+(v*Z+R+(2*J+W)),H*(q*st+2*ot)+(v*ot+tt+(2*ct+it))],[Q*K+(3*q*(q*Z+U)+R),Q*st+(3*q*(q*ot+et)+tt)]]}}(t,n,e)}function P(t,n){const e=t-n,r=t-e;return[t-(e+r)+(r-n),e]}function A(t,n){const e=t+n,r=e-t;return[t-(e-r)+(n-r),e]}function B(t,n){const e=t.length,r=n.length;let o=0,i=0;const c=[];for(;o<e&&i<r;)0!==t[o]?0!==n[i]?Math.abs(t[o])<=Math.abs(n[i])?(c.push(t[o]),o++):(c.push(n[i]),i++):i++:o++;for(;o<e;)c.push(t[o]),o++;for(;i<r;)c.push(n[i]),i++;if(0===c.length)return[0];const s=c.length;if(1===s)return c;const u=[],f=c[1],l=c[0];let a=f+l;const p=l-(a-f);0!==p&&u.push(p),i=0;for(let t=2;t<s;t++){const n=c[t],e=a+n,r=e-a,o=a-(e-r)+(n-r);0!==o&&u.push(o),a=e}return 0===a&&0!==u.length||u.push(a),u}function F(t){const n=t.length,e=new Array(n);for(let r=0;r<n;r++)e[r]=-t[r];return e}const z=F,Y=B;function V(t,n){const e=z(n);return Y(t,e)}const L=134217729;function k(t,n){const e=t.length;let r;const o=t[0];let i=o*n;const c=L*o,s=c-(c-o),u=o-s,f=L*n,l=f-(f-n),a=n-l,p=[],h=u*a-(i-s*l-u*l-s*a);0!==h&&p.push(h);for(let o=1;o<e;o++){const e=t[o],c=e*n,s=L*e,u=s-(s-e),f=e-u,l=L*n,a=l-(l-n),h=n-a,d=f*h-(c-u*a-f*a-u*h),v=i+d,g=v-i,m=i-(v-g)+(d-g);0!==m&&p.push(m),r=v;const x=c+r,b=r-(x-c);0!==b&&p.push(b),i=x}return 0===i&&0!==p.length||p.push(i),p}function $(t,n){const e=n.length;let r;const o=n[0];let i=o*t;const c=L*o,s=c-(c-o),u=o-s,f=L*t,l=f-(f-t),a=t-l,p=[],h=u*a-(i-s*l-u*l-s*a);0!==h&&p.push(h);for(let o=1;o<e;o++){const e=n[o],c=e*t,s=L*e,u=s-(s-e),f=e-u,l=L*t,a=l-(l-t),h=t-a,d=f*h-(c-u*a-f*a-u*h),v=i+d,g=v-i,m=i-(v-g)+(d-g);0!==m&&p.push(m),r=v;const x=c+r,b=r-(x-c);0!==b&&p.push(b),i=x}return 0===i&&0!==p.length||p.push(i),p}const X=k,q=B;function H(t,n){let e=[0];for(let r=0;r<t.length;r++)e=q(e,X(n,t[r]));return e}function D(t,n){const e=t.length;let r=n;const o=[];for(let n=0;n<e;n++){const e=t[n],i=r+e,c=i-r,s=r-(i-c)+(e-c);0!==s&&o.push(s),r=i}return 0===r&&0!==o.length||o.push(r),o}function Q(t){return t[t.length-1]}function R(t,n){return Q(V(t,n))}const G=Number.EPSILON/2,U=G*G;function j(t){const n=t*G;return n/(1-n)}function Z(t){const n=t*U;return n/(1-n)}function W(t){const n=t[0][0],e=t[0][1];for(let r=1;r<t.length;r++)if(n!==t[r][0]||e!==t[r][1])return!1;return!0}function J(t,n){const e=t+n,r=e-t;return[t-(e-r)+(n-r),e]}j(1),Z(3);const K=V,tt=Q,nt=J,{abs:et}=Math;function rt(t){const[[n,e],[r,o],[i,c]]=t,s=n+i,u=s-2*r,f=et(s)+et(u);if(et(u)-f>0)return!1;const l=e+c,a=l-2*o,p=et(l)+et(a);return!(et(a)-p>0)&&0===tt(K(nt(n,i),[2*r]))&&0===tt(K(nt(e,c),[2*o]))}const ot=134217729;function it(t,n){const e=t*n,r=ot*t,o=r-(r-t),i=t-o,c=ot*n,s=c-(c-n),u=n-s;return[i*u-(e-o*s-i*s-o*u),e]}const ct=it,st=B,ut=Q,ft=V,lt=Number.EPSILON/2,at=Math.abs;function pt(t){const[[n,e],[r,o],[i,c],[s,u]]=t,f=s+3*r,l=n+3*i,a=f-l,p=at(3*r)+at(f)+(at(3*i)+at(l))+at(a);if(at(a)-lt*p>0)return!1;const h=u+3*o,d=e+3*c,v=h-d,g=at(3*o)+at(h)+(at(3*c)+at(d))+at(v);return!(at(v)-lt*g>0)&&0===ut(ft(st([s],ct(3,r)),st([n],ct(3,i))))&&0===ut(ft(st([u],ct(3,o)),st([e],ct(3,c))))}function ht(t){let n=t[0];for(let e=1;e<t.length;e++)n+=t[e];return n}function dt(t,n){const e=t-n,r=t-e;return[t-(e+r)+(r-n),e]}function vt(t){const n=t.slice(),e=n.length;if(1===e)return n;let r=n[e-1],o=e;for(let t=e-2;t>=0;--t){const e=r,i=n[t];r=e+i;const c=i-(r-e);c&&(n[--o]=r,r=c)}let i=0;for(let t=o;t<e;++t){const e=n[t],o=r;r=e+o;const c=o-(r-e);c&&(n[i++]=c)}return n[i++]=r,n.length=i,n}function gt(t,n,e){const r=(t[0]-e[0])*(n[1]-e[1]),o=(t[1]-e[1])*(n[0]-e[0]),i=r-o;let c;if(r>0){if(o<=0)return i;c=r+o}else{if(!(r<0))return i;if(o>=0)return i;c=-r-o}return Math.abs(i)>=3330669073875472e-31*c?i:function(t,n,e,r){const o=t[0]-e[0],i=n[0]-e[0],c=t[1]-e[1],s=n[1]-e[1],u=V(it(o,s),it(c,i));let f=ht(u);if(Math.abs(f)>=2220446049250315e-31*r)return f;const l=dt(t[0],e[0])[0],a=dt(n[0],e[0])[0],p=dt(t[1],e[1])[0],h=dt(n[1],e[1])[0];if(0===l&&0===p&&0===a&&0===h)return f;const d=1109335647967049e-46*r+3330669073875471e-31*Math.abs(f);if(f+=o*h+s*l-(c*a+i*p),Math.abs(f)>=d)return f;const v=B(u,V(it(l,s),it(p,i))),g=B(v,V(it(o,h),it(c,a)));let m=B(g,V(it(l,h),it(p,a)));return m=vt(m),m[m.length-1]}(t,n,e,c)}const mt=gt;function xt(t){if(4===t.length)return 0===mt(t[0],t[1],t[2])&&0===mt(t[1],t[2],t[3])&&0===mt(t[0],t[2],t[3]);if(3===t.length)return 0===mt(t[0],t[1],t[2]);if(t.length<=2)return!0;throw new Error("The given bezier curve must be of order <= 3.")}const bt=k,_t=V,It=J,Nt=Q,St=Math.abs;const Et=Math.abs,wt=j(1);function Ot(t){const{coeffs:[[n,e,r],[o,i,c]],errorBound:[[s,u],[f,l]]}=function(t){const[[n,e],[r,o],[i,c],[s,u]]=t,f=s-n,l=r-i,a=f+3*l,p=i+n,h=p-2*r,d=r-n,v=u-e,g=o-c,m=v+3*g,x=c+e,b=x-2*o,_=o-e;return{coeffs:[[a,3*h,3*d,n],[m,3*b,3*_,e]],errorBound:[[St(f)+6*St(l)+St(a),6*(St(p)+St(h)),6*St(d),0],[St(v)+6*St(g)+St(m),6*(St(x)+St(b)),6*St(_),0]]}}(t),a=Et(n),p=Et(e),h=Et(r),d=Et(o),v=Et(i),g=Et(c),m=e*o,x=n*i,b=n*c,_=r*o,I=e*c,N=r*i,S=u*d+p*f+Et(m),E=s*v+a*l+Et(x),w=s*g+Et(b),O=h*f+Et(_),M=u*g+Et(I),T=h*l+Et(N),C=m-x,y=Et(C),P=S+E+y,A=_-b,B=Et(A),F=O+w+B,z=I-N,Y=Et(z),V=M+T+Y,L=C*C,k=C*A,$=z*C,X=A*A,q=$+X;return{coeffs:[L,k,q],errBound:[2*P*y+Et(L),P*B+y*F+Et(k),V*y+Y*P+Et($)+(2*B*F+Et(X))+Et(q)].map(t=>wt*t)}}const Mt=dt,Tt=J,Ct=$,yt=D,Pt=B;function At(t){if(4===t.length)return Bt(t);if(3===t.length)return Ft(t);if(2===t.length)return zt(t);if(1===t.length)return function(t){const[[n,e]]=t;return[[[n]],[[e]]]}(t);throw new Error("The given bezier curve must be of order <= cubic.")}function Bt(t){const[[n,e],[r,o],[i,c],[s,u]]=t;return[[Pt(Mt(s,n),Ct(3,Mt(r,i))),Ct(3,yt(Tt(i,n),-2*r)),Ct(3,Mt(r,n)),[n]],[Pt(Mt(u,e),Ct(3,Mt(o,c))),Ct(3,yt(Tt(c,e),-2*o)),Ct(3,Mt(o,e)),[e]]]}function Ft(t){const[[n,e],[r,o],[i,c]]=t;return[[yt(Tt(i,n),-2*r),Mt(2*r,2*n),[n]],[yt(Tt(c,e),-2*o),Mt(2*o,2*e),[e]]]}function zt(t){const[[n,e],[r,o]]=t;return[[Mt(r,n),[n]],[Mt(o,e),[e]]]}const Yt=H,Vt=B,Lt=V;function kt(t){const[[n,e,r],[o,i,c]]=Bt(t),s=Yt(e,o),u=Yt(n,i),f=Yt(n,c),l=Yt(r,o),a=Yt(e,c),p=Yt(r,i),h=Lt(s,u),d=Lt(l,f),v=Lt(a,p),g=Yt(h,h),m=Yt(h,d),x=Yt(h,v),b=Yt(d,d);return[g,m,Vt(x,b)]}const $t=Q,Xt=R,qt=V,Ht=H,Dt=$,Qt=P,Rt=A,Gt=B,Ut=D,jt=Math.abs,Zt=j(1),Wt={order:0,realOrder:0,collinear:!0,nodeType:"n/a"},Jt={order:1,realOrder:1,collinear:!0,nodeType:"n/a"},Kt={order:1,realOrder:0,collinear:!0,nodeType:"n/a"},tn={order:2,realOrder:2,collinear:!1,nodeType:"n/a"},nn={order:2,realOrder:2,collinear:!0,nodeType:"n/a"},en={order:2,realOrder:1,collinear:!0,nodeType:"n/a"},rn={order:2,realOrder:0,collinear:!0,nodeType:"n/a"},on={order:3,realOrder:3,collinear:!1,nodeType:"crunode"},cn={order:3,realOrder:3,collinear:!1,nodeType:"acnode"},sn={order:3,realOrder:3,collinear:!1,nodeType:"cusp"},un={order:3,realOrder:3,collinear:!1,nodeType:"explicit"},fn={order:3,realOrder:3,collinear:!0,nodeType:"n/a"},ln={order:3,realOrder:2,collinear:!1,nodeType:"n/a"},an={order:3,realOrder:2,collinear:!0,nodeType:"n/a"},pn={order:3,realOrder:1,collinear:!0,nodeType:"n/a"},hn={order:3,realOrder:0,collinear:!0,nodeType:"n/a"};function dn(t){const n=[],e=t.length-1;for(let r=0;r<e;r++)n.push((e-r)*t[r]);return n}function vn(t,n){let e=0;for(let r=0;r<t.length;r++)e=e*n+t[r];return e}const gn=vn,mn=Number.EPSILON/2,xn=Math.abs,bn=Math.max;function _n(t){const n=[];for(let e=0;e<t.length;e++)n.push(-t[e]);return n}const In=_n,Nn=function(t){return n=>1/t(function(t){return t.slice().reverse()}(n))};function Sn(t){const n=t.length-1;if(n<1)return 0;t[0]<0&&(t=In(t));const e=[];for(let t=0;t<n;t++)e.push(1);let r=0;for(let o=0;o<=n;o++){if(t[o]>=0)continue;let n=Number.POSITIVE_INFINITY,i=!1;for(let r=0;r<o;r++){if(t[r]<=0)continue;const c=(-t[o]/(t[r]/2**e[r]))**(1/(o-r));e[r]++,n>c&&(n=c),i=!0}i&&r<n&&(r=n)}return r}Nn(Sn);const En=(wn=Sn,t=>-wn(function(t){const n=t.length-1;if(n<0)return[];const e=t.slice();for(let t=0;t<n+1;t++)t%2==(n-1)%2&&(e[t]=-e[t]);return e}(t)));var wn;function On(t){let n=0;for(let e=0;e<=t.length-1&&0===t[e];e++)n++;return 0!==n&&(t=t.slice(n)),t}Nn(En);const Mn=dn,Tn=vn,Cn=function(t,n,e,r=gn(t,n),o=gn(t,e)){let i=n,c=e,s=i,u=r,f=c-i,l=f;for(;;){xn(u)<xn(o)&&(i=c,c=s,s=i,r=o,o=u,u=r);const n=2*mn*bn(1,xn(i),xn(c)),e=.5*(s-c);if(xn(e)<=n)return c;if(xn(f)<n||xn(r)<=xn(o))f=e,l=f;else{let t,a,p=o/r;if(i===s)t=2*e*p,a=1-p;else{a=r/u;const n=o/u;t=p*(2*e*a*(a-n)-(c-i)*(n-1)),a=(a-1)*(n-1)*(p-1)}0<t?a=-a:t=-t,p=f,f=l,2*t<3*e*a-xn(n*a)&&t<xn(.5*p*a)?l=t/a:(f=e,l=f)}if(i=c,r=o,n<xn(l)?c+=l:0<e?c+=n:c-=n,0===(o=gn(t,c)))return c;o*u>0&&(s=i,u=r,f=c-i,l=f)}},yn=En,Pn=Sn,An=On;function Bn(t,n=Number.NEGATIVE_INFINITY,e=Number.POSITIVE_INFINITY){t=An(t);let r=0;for(;0===t[t.length-1];)t=t.slice(0,-1),r++;if(t.length<=1){const t=[];for(let n=0;n<r;n++)t.push(0);return t}n===Number.NEGATIVE_INFINITY&&(n=yn(t)),e===Number.POSITIVE_INFINITY&&(e=Pn(t));const o=[t];for(let n=1;n<=t.length-1;n++)o.push(Mn(o[n-1]));let i=[];for(let r=t.length-2;r>=0;r--){const t=o[r],c=[];let s=n,u=Tn(t,s);0===u&&0===r&&c.push(n);for(let n=0;n<i.length;n++){const e=i[n],r=Tn(t,e);0===r?c.push(e):u*r<0&&c.push(Cn(t,s,e,u,r)),s=e,u=r}const f=Tn(t,e);u*f<0&&c.push(Cn(t,s,e,u,f)),0===f&&0===r&&c.push(e),i=c}if(r>0&&n<=0&&e>=0){const t=[];let n=!1;for(let e=0;e<i.length;e++){if(!n&&i[e]>=0){for(let n=0;n<r;n++)t.push(0);n=!0}t.push(i[e])}if(!n)for(let n=0;n<r;n++)t.push(0);return t}return i}function Fn(t){if(t.length<4)return[];const[[n,e],[r,o],[i,c],[s,u]]=t,f=r-n,l=o-e,a=i-r-f,p=c-o-l,h=s-i-f-2*a,d=u-c-l-2*p;return Bn([a*d-p*h,f*d-l*h,f*p-l*a],0,1)}const{abs:zn,PI:Yn}=Math;function Vn(t,n=[0,1]){if(t.length<=2)return 0;const[e,r]=n;if(e===r)return 0;if(3===t.length){const n=M(t,e,r).ps,[[o,i],[c,s],[u,f]]=n;return E([c-o,s-i],[u-c,f-s])}if(4===t.length){const n=y(t,e,r).ps,o=function(t){if(4===t.length)return pt(t)?function(t){if(!xt(t))return!1;const[n,e,r,o]=t,[i,c]=n,[s,u]=e,[f,l]=r,[a,p]=o,h=_t(bt(It(s/4,f/4),3),It(i/4,a/4)),d=_t(bt(It(u/4,l/4),3),It(c/4,p/4));return 0===Nt(_t(It(i/2,a/2),h))&&0===Nt(_t(It(c/2,p/2),d))}(t)?W(t)?hn:pn:xt(t)?an:ln:xt(t)?fn:function(t){const{coeffs:[n,e,r],errBound:[o,i,c]}=Ot(t);if(jt(n)<=o){const[[n,e],[r,o],[i,c],[s,u]]=t,f=Gt(Qt(s,n),Dt(3,Qt(r,i))),l=Ut(Rt(i,n),-2*r),a=Gt(Qt(u,e),Dt(3,Qt(o,c))),p=Ut(Rt(c,e),-2*o),h=Ht(l,a),d=Ht(f,p);if(0===Xt(h,d))return un}const s=e*e,u=4*n*r,f=s-u,l=2*i*jt(e)+Zt*s+(4*(o*jt(r)+jt(n)*c)+Zt*jt(u))+Zt*jt(f);if(f<-l)return cn;if(f>l)return on;const[a,p,h]=kt(t),d=qt(Ht(p,p),Dt(4,Ht(a,h))),v=$t(d);return v<0?cn:v>0?on:sn}(t);if(3===t.length)return xt(t)?rt(t)?W(t)?rn:en:nn:tn;if(2===t.length)return W(t)?Kt:Jt;if(1===t.length)return Wt;throw new Error("The given bezier curve must be of order <= 3")}(n),[[i,c],[s,u],[f,l],[a,p]]=n,h=[s-i,u-c],d=[f-s,l-u],v=[a-f,p-l];if(0===d[0]&&0===d[1]||o.realOrder<=2)return E(h,v);const g=E(h,d)+E(d,v);return"acnode"===o.nodeType||"cusp"===o.nodeType?g<=-Yn?g+2*Yn:g>=+Yn?g-2*Yn:g:g}throw new Error("The given bezier curve must be of order <= 3.")}function Ln(t,n){const e=n[0]-t[0],r=n[1]-t[1];return Math.sqrt(e*e+r*r)}function kn(t,n){const[e,r]=t,[[o,i],[c,s]]=n;return Ln([o+e*(c-o),i+e*(s-i)],[o+r*(c-o),i+r*(s-i)])}function $n(t,n,e=16){if(n[0]===n[1])return 0;const{weights:r,abscissas:o}=Xn[e],[i,c]=n;let s=0;const u=(c-i)/2,f=(c+i)/2;for(let n=0;n<=e-1;n++)s+=r[n]*t(u*o[n]+f);return u*s}const Xn={2:{weights:[1,1],abscissas:[-.5773502691896257,.5773502691896257]},4:{weights:[.6521451548625461,.6521451548625461,.3478548451374538,.3478548451374538],abscissas:[-.3399810435848563,.3399810435848563,-.8611363115940526,.8611363115940526]},8:{weights:[.362683783378362,.362683783378362,.3137066458778873,.3137066458778873,.2223810344533745,.2223810344533745,.1012285362903763,.1012285362903763],abscissas:[-.1834346424956498,.1834346424956498,-.525532409916329,.525532409916329,-.7966664774136267,.7966664774136267,-.9602898564975363,.9602898564975363]},16:{weights:[.027152459411754096,.062253523938647894,.09515851168249279,.12462897125553388,.14959598881657674,.16915651939500254,.18260341504492358,.1894506104550685,.1894506104550685,.18260341504492358,.16915651939500254,.14959598881657674,.12462897125553388,.09515851168249279,.062253523938647894,.027152459411754096],abscissas:[-.9894009349916499,-.9445750230732326,-.8656312023878318,-.755404408355003,-.6178762444026438,-.45801677765722737,-.2816035507792589,-.09501250983763744,.09501250983763744,.2816035507792589,.45801677765722737,.6178762444026438,.755404408355003,.8656312023878318,.9445750230732326,.9894009349916499]},64:{weights:[.048690957009139724,.048690957009139724,.04857546744150343,.04857546744150343,.048344762234802954,.048344762234802954,.04799938859645831,.04799938859645831,.04754016571483031,.04754016571483031,.04696818281621002,.04696818281621002,.046284796581314416,.046284796581314416,.04549162792741814,.04549162792741814,.044590558163756566,.044590558163756566,.04358372452932345,.04358372452932345,.04247351512365359,.04247351512365359,.04126256324262353,.04126256324262353,.03995374113272034,.03995374113272034,.038550153178615626,.038550153178615626,.03705512854024005,.03705512854024005,.035472213256882386,.035472213256882386,.033805161837141606,.033805161837141606,.03205792835485155,.03205792835485155,.030234657072402478,.030234657072402478,.028339672614259483,.028339672614259483,.02637746971505466,.02637746971505466,.024352702568710874,.024352702568710874,.022270173808383253,.022270173808383253,.02013482315353021,.02013482315353021,.017951715775697343,.017951715775697343,.015726030476024718,.015726030476024718,.013463047896718643,.013463047896718643,.011168139460131128,.011168139460131128,.008846759826363947,.008846759826363947,.006504457968978363,.006504457968978363,.004147033260562468,.004147033260562468,.001783280721696433,.001783280721696433],abscissas:[-.024350292663424433,.024350292663424433,-.07299312178779904,.07299312178779904,-.12146281929612056,.12146281929612056,-.16964442042399283,.16964442042399283,-.21742364374000708,.21742364374000708,-.2646871622087674,.2646871622087674,-.31132287199021097,.31132287199021097,-.3572201583376681,.3572201583376681,-.4022701579639916,.4022701579639916,-.4463660172534641,.4463660172534641,-.48940314570705296,.48940314570705296,-.5312794640198946,.5312794640198946,-.571895646202634,.571895646202634,-.6111553551723933,.6111553551723933,-.6489654712546573,.6489654712546573,-.6852363130542333,.6852363130542333,-.7198818501716109,.7198818501716109,-.7528199072605319,.7528199072605319,-.7839723589433414,.7839723589433414,-.8132653151227975,.8132653151227975,-.8406292962525803,.8406292962525803,-.8659993981540928,.8659993981540928,-.8893154459951141,.8893154459951141,-.9105221370785028,.9105221370785028,-.9295691721319396,.9295691721319396,-.9464113748584028,.9464113748584028,-.9610087996520538,.9610087996520538,-.973326827789911,.973326827789911,-.983336253884626,.983336253884626,-.9910133714767443,.9910133714767443,-.9963401167719553,.9963401167719553,-.9993050417357722,.9993050417357722]}};function qn(t){if(4===t.length)return function(t){const[[n,e],[r,o],[i,c],[s,u]]=t;return[[3*(s-n+3*(r-i)),6*(i+n-2*r),3*(r-n)],[3*(u-e+3*(o-c)),6*(c+e-2*o),3*(o-e)]]}(t);if(3===t.length)return function(t){const[[n,e],[r,o],[i,c]]=t;return[[2*(i+n-2*r),2*(r-n)],[2*(c+e-2*o),2*(o-e)]]}(t);if(2===t.length)return function(t){const[[n,e],[r,o]]=t;return[[r-n],[o-e]]}(t);if(1===t.length)return[[0],[0]];throw new Error("The bezier curve must be of order <= 3.")}function Hn(t){const[n,e]=qn(t);return function(t){const r=vn(n,t),o=vn(e,t);return Math.sqrt(r*r+o*o)}}const{abs:Dn}=Math;function Qn(t){const n=[];for(let e=0;e<t.length-1;e++){const r=[t[e+1][0]-t[e][0],t[e+1][1]-t[e][1]];0!==(0!==r[0]||r[1])&&n.push(r)}const e=n.length;let r=0;for(let t=0;t<e-1;t++)r+=Dn(E(n[t],n[t+1]));return r}function Rn(t,n,e){if(4===t.length)return function(t,n,e){return 0===n?1===e?t:function(t,n){const e=t[0],r=t[1],o=t[2],i=t[3],c=e[0],s=e[1],u=r[0],f=r[1],l=o[0],a=o[1],p=c-n*(c-u),h=u-n*(u-l),d=p-n*(p-h),v=s-n*(s-f),g=f-n*(f-a),m=v-n*(v-g);return[e,[p,v],[d,m],[d-n*(d-(h-n*(h-(l-n*(l-i[0]))))),m-n*(m-(g-n*(g-(a-n*(a-i[1])))))]]}(t,e):1===e?function(t,n){const e=t[0],r=t[1],o=t[2],i=t[3],c=e[0],s=e[1],u=r[0],f=r[1],l=o[0],a=o[1],p=c-n*(c-u),h=u-n*(u-l),d=l-n*(l-i[0]),v=p-n*(p-h),g=h-n*(h-d),m=s-n*(s-f),x=f-n*(f-a),b=a-n*(a-i[1]),_=m-n*(m-x),I=x-n*(x-b);return[[v-n*(v-g),_-n*(_-I)],[g,I],[d,b],i]}(t,n):function(t,n,e){const r=t[0],o=t[1],i=t[2],c=t[3],s=r[0],u=r[1],f=o[0],l=o[1],a=i[0],p=i[1],h=n*n,d=n*h,v=e*e,g=e*v,m=n*e,x=s-f,b=a-f,_=x+b,I=n*x,N=e*x,S=c[0]-s-3*b,E=u-l,w=p-l,O=E+w,M=n*E,T=e*E,C=c[1]-u-3*w;return[[d*S+(3*n*(n*_-x)+s),d*C+(3*n*(n*O-E)+u)],[m*(n*S+2*_)+(h*_+s-(N+2*I)),m*(n*C+2*O)+(h*O+u-(T+2*M))],[m*(e*S+2*_)+(v*_+s-(2*N+I)),m*(e*C+2*O)+(v*O+u-(2*T+M))],[g*S+(3*e*(e*_-x)+s),g*C+(3*e*(e*O-E)+u)]]}(t,n,e)}(t,n,e);if(3===t.length)return function(t,n,e){return 0===n?1===e?t:function(t,n){const e=t[0],r=t[1],o=t[2],i=e[0],c=e[1],s=r[0],u=r[1],f=n*n,l=i-s,a=c-u;return[e,[-n*l+i,-n*a+c],[f*(l+(o[0]-s))-(2*n*l-i),f*(a+(o[1]-u))-(2*n*a-c)]]}(t,e):1===e?function(t,n){const e=t[0],r=t[1],o=t[2],i=e[0],c=e[1],s=r[0],u=r[1],f=n*n,l=i-s,a=o[0]-s,p=c-u,h=o[1]-u;return[[f*(l+a)-(2*n*l-i),f*(p+h)-(2*n*p-c)],[n*a+s,n*h+u],o]}(t,n):function(t,n,e){const r=t[0],o=t[1],i=t[2],c=r[0],s=r[1],u=o[0],f=o[1],l=n*n,a=e*e,p=n*e,h=c-u,d=h+(i[0]-u),v=s-f,g=v+(i[1]-f);return[[l*d-(2*n*h-c),l*g-(2*n*v-s)],[p*d-(h*(e+n)-c),p*g-(v*(e+n)-s)],[a*d-(2*e*h-c),a*g-(2*e*v-s)]]}(t,n,e)}(t,n,e);if(2===t.length)return function(t,n,e){return 0===n?1===e?t:function(t,n){const e=t[0],r=t[1],o=e[0],i=e[1];return[e,[n*(r[0]-o)+o,n*(r[1]-i)+i]]}(t,e):1===e?function(t,n){const e=t[0],r=t[1],o=e[0],i=e[1];return[[n*(r[0]-o)+o,n*(r[1]-i)+i],r]}(t,n):function(t,n,e){const r=t[0],o=t[1],i=r[0],c=r[1],s=o[0],u=o[1];return[[n*(s-i)+i,n*(u-c)+c],[e*(s-i)+i,e*(u-c)+c]]}(t,n,e)}(t,n,e);if(1===t.length)return t;throw new Error("The given bezier curve must be of order <= 3.")}function Gn(t,n=.4,e=2**-16){const r=[0],o=[1];for(;;){const i=r[r.length-1],c=o[o.length-1];if(Qn(Rn(t,i,c))<=n||c-i<=e){if(r.push(o.pop()),1===c)return r;continue}const s=(i+c)/2;o.push(s)}}function Un(t,n,e=.4,r=16){const o=t[0],i=t[1];if(o===i)return 0;const[[c,s],[u,f],[l,a]]=n;if(c===u&&u===l&&s===f&&f===a)return 0;const p=M(n,o,i).ps,h=Gn(p,e);let d=0;for(let t=0;t<h.length-1;t++){const n=h[t],e=h[t+1];d+=$n(Hn(p),[n,e],r)}return d}function jn(t,n,e=.4,r=16){const o=t[0],i=t[1];if(o===i)return 0;const[[c,s],[u,f],[l,a],[p,h]]=n;if(c===u&&u===l&&l===p&&s===f&&f===a&&a===h)return 0;const d=y(n,o,i).ps,v=Gn(d,e);let g=0;for(let t=0;t<v.length-1;t++){const n=v[t],e=v[t+1];g+=$n(Hn(d),[n,e],r)}return g}function Zn(t,n=.4,e=16){if(4===t.length)return jn([0,1],t,n,e);if(3===t.length)return Un([0,1],t,n,e);if(2===t.length)return kn([0,1],t);if(1===t.length)return 0;throw new Error("The given bezier curve must be of order <= 3.")}function Wn(t){const n=new WeakMap;return function(e){let r=n.get(e);return void 0!==r||(r=t(e),n.set(e,r)),r}}function Jn(t,n){const[[e,r],[o,i]]=t,[[c,s],[u,f]]=n,l=o-e,a=i-r,p=u-c,h=f-s,d=p*a-h*l;if(0===d)return;const v=((s-r)*l-(c-e)*a)/d;return[c+v*p,s+v*h]}function Kn(t,n){return[n[0]-t[0],n[1]-t[1]]}function te(t,n){return t[0]*n[0]+t[1]*n[1]}function ne(t){return[-t[1],t[0]]}function ee(t,n){return t[0]*n[1]-t[1]*n[0]}function re(t,n,e){return[t[0]+(n[0]-t[0])*e,t[1]+(n[1]-t[1])*e]}function oe(t,n){function e(n){return[t[0]+n[0],t[1]+n[1]]}return void 0===n?e:e(n)}function ie(t){const n=1/Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]*n,t[1]*n]}function ce(t,n,e){function r(e){return[e[0]*n-e[1]*t,e[0]*t+e[1]*n]}return void 0===e?r:r(e)}function se(t,n){const[e,r]=qn(t);return[vn(e,n),vn(r,n)]}const ue=dt,fe=$;function le(t){if(4===t.length){const[[n,e],[r,o]]=t;return[fe(3,ue(r,n)),fe(3,ue(o,e))]}if(3===t.length){const[[n,e],[r,o]]=t;return[ue(2*r,2*n),ue(2*o,2*e)]}if(2===t.length){const[[n,e],[r,o]]=t;return[ue(r,n),ue(o,e)]}if(1===t.length)return[[0],[0]];throw new Error("The given bezier curve must be of order <= 3.")}const ae=J,pe=$,he=D;function de(t){if(4===t.length){const[[n,e],[r,o],[i,c]]=t;return[pe(6,he(ae(i,n),-2*r)),pe(6,he(ae(c,e),-2*o))]}if(3===t.length){const[[n,e],[r,o],[i,c]]=t;return[he(ae(2*i,2*n),-4*r),he(ae(2*c,2*e),-4*o)]}if(t.length<=2)return[[0],[0]];throw new Error("The given bezier curve must be of order <= 3")}const ve=dt,ge=$,me=B;function xe(t){if(4===t.length){const[[n,e],[r,o],[i,c],[s,u]]=t;return[[ge(6,me(ve(s,n),ge(3,ve(r,i))))],[ge(6,me(ve(u,e),ge(3,ve(o,c))))]]}if(t.length<=3)return[[[0]],[[0]]];throw new Error("The given bezier curve must be of order <= 3.")}const{sign:be}=Math;function _e(t,n){const[e,r]=le(t),[o,i]=de(t),[c,s]=le(n),[u,f]=de(n),l=V(H(e,i),H(r,o)),a=V(H(c,f),H(s,u)),p=Q(l),h=Q(a);if(be(p)!==be(h))return p-h;const d=B(H(c,c),H(s,s)),v=B(H(e,e),H(r,r)),g=H(d,d),m=H(g,d),x=H(v,v),b=H(x,v);if(0!==p||0!==h){const t=H(l,l),n=H(a,a),e=Q(V(H(t,m),H(n,b)));if(0!==e)return p>0?e:-e}const[[_],[I]]=xe(t),[[N],[S]]=xe(n),E=V(H(e,I),H(r,_)),w=B(H(e,o),H(r,i)),O=V(H(c,S),H(s,N)),M=B(H(c,u),H(s,f)),T=V(H(v,E),k(H(l,w),3)),C=V(H(d,O),k(H(a,M),3)),y=Q(T),P=Q(C);if(y!==P)return y-P;if(0===y&&0===P)return 0;const A=H(T,T),F=H(g,m),z=H(C,C),Y=H(x,b),L=Q(V(H(A,F),H(z,Y)));return y>0?L:-L}function Ie(t,n){return t[0]===n[0]&&t[1]===n[1]}function Ne(t,n){const{ccw:e,tangentI:r,tangentO:o,dotTangents:i}=function(t,n){const e=t.length;let r=t[e-2],o=n[0],i=n[1];Ie(r,o)&&(r=t[e-3]),Ie(o,i)&&(i=n[2]);const c=function(t,n,e){const r=dt(t[0],e[0]),o=dt(n[1],e[1]),i=dt(t[1],e[1]),c=dt(n[0],e[0]);return ht(B(H(r,o),F(H(i,c))))}(r,o,i),s=[dt(o[0],r[0]),dt(o[1],r[1])],u=[dt(i[0],o[0]),dt(i[1],o[1])],f=function(t,n){return ht(B(H(t[0],n[0]),H(t[1],n[1])))}(s,u);return 0!==c||f>0?{ccw:c,tangentI:s,tangentO:u,dotTangents:f}:{ccw:_e(t.slice().reverse(),n),tangentI:s,tangentO:u,dotTangents:f}}(t,n),c=e<0,s=e>0,u=[ie(r.map(t=>t[1])),ie(o.map(t=>t[1]))],f=ee(u[0],u[1]);let l,a;return i>0?(l=f<-.0698,a=f>.0698):(l=c,a=s),{tangents:u,isSharp:c,isDull:s,isQuiteSharp:l,isQuiteDull:a}}function Se(t){return Ne(1===t.t?t.curve.ps:t.curve.prev.ps,1===t.t?t.curve.next.ps:t.curve.ps)}function Ee(t){return 0===t.t||1===t.t}const we=Wn(t=>!!Ee(t)&&Se(t).isSharp);function Oe(t){const n=t.cp.circle.center,e=t,r=t.nextOnCircle,o=e.cp.pointOnShape,i=r.cp.pointOnShape,c=o.p,s=i.p;let u;if(we(o)){let t,n;0===o.t?(t=o.curve,n=o.curve.prev):1===o.t&&(t=o.curve.next,n=o.curve);const e=ie(se(t.ps,0)),r=[-(f=ie(se(n.ps,1)))[0],-f[1]],i=te(e,r),c=Math.sqrt((1+i)/2);u=ce(Math.sqrt((1-i)/2),c,r)}else u=c[0]===s[0]&&c[1]===s[1]?Kn(c,n):ne(Kn(c,s));var f;return[n,oe(ie(u),n)]}const Me=1e-4;function Te(t,n){const e=t.cp.circle.center,r=Oe(t),o=n.cp.circle.center,i=Oe(n.prevOnCircle),c=Jn(r,i),s=Kn(e,o);let u;if(c){const t=Kn(e,c),n=Kn(o,c);u=te(t,s)<0||te(n,s)>0}else u=!0;if(!u)return[e,c,o];const f=ne(s),l=Kn(r[0],r[1]),a=Kn(i[0],i[1]),p=Math.abs(ee(s,l))/9,h=Math.abs(ee(s,a))/9;if(p>.01||h>.01)return[e,o];if(p>Me||h>Me){const t=re(e,o,1/3),n=re(e,o,2/3),c=oe(f,t),s=[n,oe(f,n)];return[e,Jn(r,[t,c]),Jn(i,s),o]}return[e,o]}function Ce(t){return Te(t,t.next)}const ye=Wn(Ce);function Pe(t,n=!1){const e=t;let r=e;const o=[];do{n&&r===e||o.push(r),r=r.nextOnCircle}while(r!==e);return o}function Ae(t){return t===t.next.prevOnCircle}function Be(t){return Pe(t).filter(t=>!Ae(t)).length}const{min:Fe,abs:ze}=Math;function Ye(t){if(2!==Be(t))return 0;const{radius:n}=t.cp.circle,e=Ce(t),r=function(t,n=[0,1]){if(t.length<=3)return zn(Vn(t,n));if(4===t.length){const[e,r]=n;if(e===r)return 0;const o=y(t,e,r).ps,i=[0,...Fn(o),1];let c=0;for(let t=0;t<i.length-1;t++)c+=zn(Vn(o,[i[t],i[t+1]]));return c}throw new Error("The given bezier curve must be of order <= 3.")}(e,[0,1]);return 0!==Zn(e)?r*n:void 0}Wn(Ye);const Ve=Wn(Vn),Le=Wn(Zn);function ke(t){return Pe(t.prevOnCircle,!0).every(Ae)}const $e=function(){const t=new Map;return function(n){let e=t.get(n);return void 0!==e||(r=n,e=Wn(function(t){let n=t,e=0,o=0,i=n.prev,c=n,s=0,u=0,f=0,l=0;for(;l<r/2/40&&c!==n.prev&&!ke(c)&&Be(c)<=2;){const{radius:t}=c.cp.circle,n=ye(c),e=Ve(n);let r=0;const i=Le(ye(c));u+=t*(e+r),o+=i,l+=i/t,c=c.next}for(;f<r/2/40&&i!==n&&!ke(i)&&Be(i)<=2;){const{radius:t}=i.cp.circle,n=ye(i),r=Ve(n);let o=0;const c=Le(ye(i));s+=t*(r+o),e+=c,f+=c/t,i=i.prev}const a=e+o;if(0!==a)return-(s+u)/a}),t.set(n,e)),e;var r}}();function Xe(t){const n=t.cp,e=n.pointOnShape;return{idx:e.curve.idx,t:e.t,order:n.order,order2:n.order2}}function qe(t){const n=t;let e=n,r=0;do{r++,e=e.nextOnCircle}while(e!==n);return r}function He(t){return 0===t.cp.circle.radius}function De(t){let n=t;if(Ae(n))return[n];const e=[];do{e.push(n);const t=n.next.prevOnCircle;n=n=n===t?n.next.next:t}while(n!==t);return e}function Qe(t,n){const e=v(t),r=new Set;for(t of e)Ae(t)||r.has(t.next.prevOnCircle)||n(t),r.add(t)}function Re(t){const n=[],e=t;let r=e;for(;r!==e.prevOnCircle;)Ae(r)||n.push(r.next),r=r.nextOnCircle;return n}function Ge(t,n){n(t);const e=Pe(t).filter(t=>!Ae(t)).map(t=>t.next);for(const t of e){const e=[t];for(;e.length;){const t=e.pop();n(t),e.push(...Re(t))}}}const Ue=["prev","next","prevOnCircle","nextOnCircle"];function je(t){const n=new Map,e=Ze(t);n.set(t,e);const r=[{cpNode:t,newCpNode:e}];for(;r.length;){const{cpNode:t,newCpNode:e}=r.pop();for(const o of Ue){const i=t[o];let c=n.get(i);c||(c=Ze(i),n.set(i,c),r.push({cpNode:i,newCpNode:c})),e[o]=c}}return e}function Ze(t){return{...t,prev:void 0,next:void 0,prevOnCircle:void 0,nextOnCircle:void 0}}function We(t){const n=t,e=t.next,r=n.cp.pointOnShape,o=e.cp.pointOnShape,i=r.curve,c=o.curve;if(i.loop!==c.loop)return[];const s=[];return c===i?s.push(Rn(r.curve.ps,r.t,o.t)):(s.push(Rn(r.curve.ps,r.t,1)),function(t,n,e,r){let o=n;do{o=o.next;const n=o===e?r:1;t.push(Rn(o.ps,0,n))}while(o!==e)}(s,r.curve,o.curve,o.t)),s}function Je(t,n){const e=t.prev,r=t.next;e.next=r,r.prev=e,n.get(t.cp.pointOnShape.curve.loop).remove(t,!1)}function Ke(t,n){const e=qe(t);if(2!==e)throw new Error(`Cannot delete \`CpNode\` on ${e}-prong`);Pe(t).forEach(t=>Je(t,n))}function tr(t,n){return Pe(t).indexOf(n)>=0}function nr(t){if(function(t){return Pe(t).every(Ae)}(t))return[];for(;Ae(t);)t=t.nextOnCircle;for(t=t.next;2===Be(t);)t=t.next;t=t.prevOnCircle;const n=[];do{n.push(t),t=t.next}while(!ke(t)&&2===Be(t));return n}function er(t,n,e=!0){const r=function(t,n,e=!0){if(!e&&t===n)return{cpNodes:[],hasHoleCloser:!1};const r=t,o=[r];let i=t.next,c=r.isHoleClosing;for(;i!==n&&i!==r;)i.isHoleClosing&&(c=!0),o.push(i),i=i.next;return{cpNodes:o,hasHoleCloser:c}}(t,n,e);return{pss:(o=r.cpNodes,o.flatMap(We)),hasHoleCloser:r.hasHoleCloser};var o}const rr={getChildren:function(t){const n=[],e=t.next;let r=e;do{n.push(r),r=r.nextOnCircle}while(r.nextOnCircle!==e);return n},getVertexForwardChildren:Re,getAllOnLoop:v,getAllOnCircle:Pe,isOnSameCircle:tr,isTerminating:Ae,isFullyTerminating:ke,getFirstExit:function(t){const n=t;let e=n;for(;e.next===e.prevOnCircle;)if(e=e.next,e===n)return;return e},isSharp:He,isOneProng:function(t){const n=t;if(0===n.cp.circle.radius)return!0;const e=n.nextOnCircle,r=n.cp.pointOnShape.p,o=e.cp.pointOnShape.p;return r[0]===o[0]&&r[1]===o[1]},getProngCount:qe,getRealProngCount:Be,cpNodeComparator:(t,n)=>d(t.cp,n.cp),enhanceCpNode:function(t){const n=t.cp.pointOnShape.curve;return{...t,pos:t.cp.pointOnShape,p:t.cp.pointOnShape.p,t:t.cp.pointOnShape.t,isTerminating:Ae(t),isFullyTerminating:ke(t),isSharp:He(t),prongCount:qe(t),getRealProngCount:Be(t),ordering:Xe(t),curve:n,loop:n.loop}},traverseCp:De,traverseEdges:Qe,traverseVertices:Ge,clone:je,getBoundaryBezierPartsToNext:function(t){const n=t,e=t.next,r=n.cp.pointOnShape,o=e.cp.pointOnShape,i=r.curve,c=o.curve;if(i.loop!==c.loop)return;const s=[];return c===i?s.push({ps:r.curve.ps,ts:[r.t,o.t]}):(s.push({ps:r.curve.ps,ts:[r.t,1]}),function(t,n,e,r){let o=n;do{o=o.next;const n=o===e?{ps:o.ps,ts:[0,r]}:{ps:o.ps,ts:[0,1]};t.push(n)}while(o!==e)}(s,r.curve,o.curve,o.t)),s},getBoundaryBeziersToNext:We,removeVertex:Ke,getMatCurveToNext:Ce,isTwoProng:function(t){return 2===Be(t)},getBranch:nr,getBranchBeziers:function(t){return nr(t).map(t=>Ce(t))},getSalience:function(t){const n=t,e=t.nextOnCircle,r=Ln(n.cp.pointOnShape.p,e.cp.pointOnShape.p),{pss:o,hasHoleCloser:i}=er(n,e),c=function(t){let n=0;for(let e of t)n+=e;return n}(o.map(t=>Zn(t)));return i?Number.POSITIVE_INFINITY:c/r},getMatCurveBetween:Te,getEdgeDirection:Oe,getBoundaryBeziersBetween:er,getMatCurvesBetween:function(t,n){let e=t;const r=[];for(;e!==n;){const t=Te(e,e.next);r.push(t),e=e.next}return r},getHoleClosers:function(t){return v(t).filter(t=>t.isHoleClosing)},getSpeed:Ye,getSmoothedSpeed$:$e,getInitialDegAngleBetweenMatCurves:function(t,n){const e=ee(ie(se(Ce(t),0)),ie(se(Ce(n),0)));return Math.abs(Math.asin(e)*(180/Math.PI))},getAllVertices:function(t){const n=[];return Ge(t,t=>{n.push(t)}),n}};function or(t){return n=>Pe(n).some(t)}const ir=or(function(t){return 2!==Be(t)&&!t.isHoleClosing}),cr=2**27+1;function sr(t,n){const e=t[1],r=n[1],o=e*r,i=cr*e,c=i-(i-e),s=e-c,u=cr*r,f=u-(u-r),l=r-f,a=s*l-(o-c*f-s*f-c*l)+(e*n[0]+t[0]*r),p=o+a;return[a-(p-o),p]}function ur(t,n){const e=t[0],r=t[1],o=r+n,i=o-r,c=e+(r-(o-i)+(n-i)),s=o+c;return[c-(s-o),s]}const fr=sr,lr=x,ar=b,pr=P,hr=ur;function dr(t,n){if(0===n[0]&&0===n[1])return t[0].map(t=>[0,t]);if(0===n[0]&&1===n[1])return t[t.length-1].map(t=>[0,t]);if(4===t.length){const[[e,r],[o,i],[c,s],[u,f]]=t,l=hr(fr(pr(o,e),n),e),a=hr(fr(pr(c,o),n),o),p=hr(fr(pr(u,c),n),c),h=lr(l,fr(ar(a,l),n)),d=lr(a,fr(ar(p,a),n)),v=lr(h,fr(ar(d,h),n)),g=hr(fr(pr(i,r),n),r),m=hr(fr(pr(s,i),n),i),x=hr(fr(pr(f,s),n),s),b=lr(g,fr(ar(m,g),n)),_=lr(m,fr(ar(x,m),n));return[v,lr(b,fr(ar(_,b),n))]}if(3===t.length){const[[e,r],[o,i],[c,s]]=t,u=lr([0,e],fr(pr(o,e),n)),f=lr([0,o],fr(pr(c,o),n)),l=lr(u,fr(ar(f,u),n)),a=lr([0,r],fr(pr(i,r),n)),p=lr([0,i],fr(pr(s,i),n));return[l,lr(a,fr(ar(p,a),n))]}if(2===t.length){const[[e,r],[o,i]]=t;return[hr(fr(pr(o,e),n),e),hr(fr(pr(i,r),n),r)]}if(1===t.length){const[n,e]=t[0];return[[0,n],[0,e]]}throw new Error("The given bezier curve must be of order <= 3.")}function vr(t,n,e){return{curve:t,t:n,p:dr(t.ps,[0,n]).map(t=>t[1]),isSource:void 0!==e&&e}}const gr=Number.EPSILON/2,mr=gr*gr,xr=134217729;function br(t,n){const e=n[0],r=n[1],o=r*t,i=xr*r,c=i-(i-r),s=r-c,u=xr*t,f=u-(u-t),l=t-f,a=e*t,p=o+a,h=a-(p-o)+(s*l-(o-c*f-s*f-c*l)),d=p+h;return[h-(d-p),d]}function _r(t,n){const e=n[0],r=n[1],o=r*t,i=xr*r,c=i-(i-r),s=r-c,u=xr*t,f=u-(u-t),l=t-f,a=s*l-(o-c*f-s*f-c*l)+e*t,p=o+a;return[a-(p-o),p]}const Ir=_r,Nr=ht,Sr=function(){const t=3*mr;return t/(1-t)}(),Er=k,wr=J,Or=it,Mr=Math.abs,Tr=Number.EPSILON/2;function Cr(t,n){let e=t[0],r=.5*Mr(e);for(let o=1;o<t.length;o++)e=e*n+t[o],r=r*Mr(n)+Mr(e);return r=Tr*(2*r-Mr(e)),[e,r]}const yr=Math.abs,Pr=function(t){const n=t*gr;return n/(1-n)},Ar=Cr,Br=vn,Fr=Pr(1),zr=Pr(2);function Yr(t,n,e=void 0,r=1){const o=Math.abs(n),i=t[0],[c,s]=Ar(i,n),u=zr*function(t,n){let e=0;for(let r=0;r<t.length;r++)e=e*n+yr(t[r]);return e}(i,o),f=void 0!==e?Br(e,o):0;if((s+u+f)*r<Math.abs(c))return c;const l=function(t,n){const e=[],r=[];let o,i=t[0];for(let c=1;c<t.length;c++){const[s,u]=Or(i,n);[o,i]=wr(u,t[c]),e.push(s),r.push(o)}return{r̂:i,pπ:e,pσ:r}}(i,n),{pπ:a,pσ:p}=l;let{r̂:h}=l;const[d,v]=Ar(a,n),[g,m]=Ar(p,n),[x,b]=Ar(t[1],n);let _=v+m+b+f;return h=d+g+x+h,_+=Fr*h,_*r<Math.abs(h)?h:0}const Vr=B,Lr=k;function kr(t,n){let e=[0];for(let r=0;r<t.length;r++)e=Vr(t[r],Lr(e,n));return e}const $r=Yr,Xr=kr,qr=ht,Hr=Yr,Dr=kr,Qr=ht,Rr=Number.EPSILON,Gr=Math.abs,Ur=Math.max,jr=function(t){const{p:n,pE:e}=t,r=[],o=[],i=n.length-1;for(let t=0;t<i;t++){const c=i-t,s=Ir(c,n[t]);r.push(s);const u=c&c-1?Sr:0,f=Nr(s);o.push(c*e[t]+Math.abs(f)*u)}return{p:r,pE:o}},Zr=Yr,Wr=kr,Jr=function(t){const n=t[0].length,e=[];for(let r=0;r<n;r++){const o=[];for(let e=0;e<t.length;e++)o.push(t[e][n-(r+1)]);e.push(o)}return e},Kr=function(t,n,e,r){const o=$r(t,e,n,4);return 0!==o?o:qr(Xr(r(),e))},to=function(t,n,e,r,o,i,c,s){let u=e,f=r,l=u,a=o,p=f-u,h=p;for(;;){let d;Gr(a)<Gr(i)&&(u=f,f=l,l=u,o=i,i=a,a=o);const v=Ur(Gr(u),Gr(f));d=v<=1?Rr:Rr*2**Math.ceil(Math.log2(v));const g=.5*(l-f);if(Gr(g)<=d)return f<l?[f,l]:[l,f];if(Gr(p)<d||Gr(o)<=Gr(i))p=g,h=p;else{let t,n,e=i/o;if(u===l)t=2*g*e,n=1-e;else{n=o/a;const r=i/a;t=e*(2*g*n*(n-r)-(f-u)*(r-1)),n=(n-1)*(r-1)*(e-1)}0<t?n=-n:t=-t,e=p,p=h,2*t<3*g*n-Gr(d*n)&&t<Gr(.5*e*n)?h=t/n:(p=g,h=p)}if(u=f,o=i,d<Gr(h)?f+=h:0<g?f+=d:f-=d,0===(i=s?Qr(Dr(c(),f)):Hr(t,f,n))){if(s)return[f,f];const o=Math.max(e,f-d),u=Math.min(r,f+d);if(Hr(t,o,n)*Hr(t,u,n)!==0)return[o,u];if(s=!0,0===(i=Qr(Dr(c(),f))))return[f,f]}(0<i&&0<a||i<=0&&a<=0)&&(l=u,a=o,p=f-u,h=p)}},no=En,eo=Sn,ro=function(t){const n=[],e=t.length-1;for(let r=0;r<e;r++)n.push(Er(t[r],e-r));return n},oo=ht,io=Cr,co=Q,so=Math.max,uo=Math.min,fo=Math.abs,lo=1+Number.EPSILON;function ao(t,n=0,e=1,r,o,i){o||(o=()=>t),r=r||new Array(t.length).fill(0);let c,s,u=0;for(;t.length>0&&fo(t[0][1])<=r[0]&&(s=s||o(),0===co(s[0]));)(t=t.slice()).shift(),(r=r.slice()).shift(),s.shift();if(0===t.length)return i?void 0:[];if(1===t.length)return[];if(n===Number.NEGATIVE_INFINITY||e===Number.POSITIVE_INFINITY){const r=t.map(t=>t[1]);n===Number.NEGATIVE_INFINITY&&(n=no(r)),e===Number.POSITIVE_INFINITY&&(e=eo(r))}const f=Jr(t);let l,a;const p=t.length-1;let h,d;l=0,a=!1;do{if(h=a?oo(Wr(_(),n)):Zr(f,n,r),0===h){if(l++,l>=3&&!a){a=!0;continue}n-=2*Number.EPSILON*so(1,fo(n))}}while(0===h);l=0,a=!1;do{if(d=a?oo(Wr(_(),e)):Zr(f,e,r),0===d){if(l++,l>=3&&!a){a=!0;continue}e+=2*Number.EPSILON*so(1,fo(e))}}while(0===d);const v=[{p:t,pE:r}],g=[Jr(t)];for(let t=1;t<=p;t++){const n=jr(v[t-1]);v.push(n),g.push(Jr(n.p))}let m,x,b=[];for(u=p-1;u>=0;u--)m=v[u].pE,x=g[u],b=I();function _(){if(void 0!==c)return c[u];let t=s||o();for(c=[t];t.length>1;)t=ro(t),c.push(t);return c[u]}return b;function I(){const t=[],r=Kr(x,m,n,_);if(!b.length){const t=Kr(x,m,e,_);if(r*t>=0)return[];const[o,i]=to(x,m,n,e,r,t,_);return[{tS:o,tE:i,multiplicity:1}]}let o=b[0].tS,i=Kr(x,m,o,_);if(r*i>0);else if(r*i<0){const[e,c]=to(x,m,n,o,r,i,_);t.push({tS:e,tE:c,multiplicity:1})}let c,s=n,f=r,l=o,a=i;for(let n=0;n<b.length;n++){const r=b[n+1];c=b[n],o=l,s=b[n].tE,l=r?r.tS:e;const u=f;if(i=a,f=Kr(x,m,s,_),a=Kr(x,m,l,_),i*f>0)if(f*a>0)s!==o&&c.multiplicity%2==1&&h();else if(f*a<0){s!==o&&c.multiplicity%2==1&&h();const[n,e]=to(x,m,s,l,f,a,_);t.push({tS:n,tE:e,multiplicity:1})}else s!==o&&c.multiplicity%2==1&&h();else if(i*f<0){if(t.push({tS:c.tS,tE:c.tE,multiplicity:3}),f*a<0){const[n,e]=to(x,m,s,l,f,a,_);t.push({tS:n,tE:e,multiplicity:1})}}else if(0===f)0===i?t.push({tS:c.tS,tE:c.tE,multiplicity:c.multiplicity+1}):i*a>0?t.push({tS:c.tS,tE:c.tE,multiplicity:2}):t.push({tS:c.tS,tE:c.tE,multiplicity:3});else{if(f*a<0){const[n,e]=to(x,m,s,l,f,a,_);t.push({tS:n,tE:e,multiplicity:1})}u*f>0?t.push({tS:c.tS,tE:c.tE,multiplicity:2}):t.push({tS:c.tS,tE:c.tE,multiplicity:3})}}for(let n=0;n<t.length-1;n++){const e=t[n],r=t[n+1];if(e.tE>=r.tS)return po(t)}return t;function h(){const n=(s-o)*lo;let e=1,r=0;for(let t=u+2;t<=p;t++){const i=g[t][0],c=io(i,o);r+=(fo(c[0])+c[1])*e,e*=n*lo}const l=f>0?uo(i,f):so(i,f),a=2*Number.EPSILON*so(1,fo(s)),h=r*(2*a);(l+(f>0?2*-h*a:2*h*a))*f<0&&t.push({tS:c.tS,tE:c.tE,multiplicity:2})}}}function po(t){const n=[],e=t[0];let r={tS:e.tS,tE:e.tE,multiplicity:e.multiplicity};for(let e=0;e<t.length-1;e++){const o=t[e],i=t[e+1];o.tE<i.tS?(n.push(r),r={tS:i.tS,tE:i.tE,multiplicity:i.multiplicity}):(r.tE=i.tE,r.multiplicity=o.multiplicity+i.multiplicity)}return n.push(r),n}function ho(t){return(t.tS+t.tE)/2}function vo(t,n){if(0===n)return t[0];if(1===n)return t[t.length-1];if(4===t.length){const[[e,r],[o,i],[c,s],[u,f]]=t,l=e+(o-e)*n,a=o+(c-o)*n,p=l+(a-l)*n,h=r+(i-r)*n,d=i+(s-i)*n,v=h+(d-h)*n;return[p+(a+(c+(u-c)*n-a)*n-p)*n,v+(d+(s+(f-s)*n-d)*n-v)*n]}if(3===t.length){const[[e,r],[o,i],[c,s]]=t,u=e+(o-e)*n,f=r+(i-r)*n;return[u+(o+(c-o)*n-u)*n,f+(i+(s-i)*n-f)*n]}if(2===t.length){const[[e,r],[o,i]]=t;return[e+(o-e)*n,r+(i-r)*n]}if(1===t.length)return t[0];throw new Error("The given bezier curve must be of order <= 3.")}const go=Math.abs;function mo(t,n){if(0===n[0]&&0===n[1])return[0,0];if(0===n[0]&&1===n[1])return[0,0];const e=go(n[1]);if(4===t.length){const[[n,r],[o,i],[c,s],[u,f]]=t,l=go(n),a=go(r),p=go(o),h=go(i),d=go(c),v=go(s),g=l+(p+l)*e,m=p+(d+p)*e,x=g+(m+g)*e,b=a+(h+a)*e,_=h+(v+h)*e,I=b+(_+b)*e;return[x+(m+(d+(go(u)+d)*e+m)*e+x)*e,I+(_+(v+(go(f)+v)*e+_)*e+I)*e]}if(3===t.length){const[[n,r],[o,i],[c,s]]=t,u=go(n),f=go(r),l=go(o),a=go(i),p=u+(l+u)*e,h=f+(a+f)*e;return[p+(l+(go(c)+l)*e+p)*e,h+(a+(go(s)+a)*e+h)*e]}if(2===t.length){const[[n,r],[o,i]]=t,c=go(n),s=go(r);return[c+(go(o)+c)*e,s+(go(i)+s)*e]}if(1===t.length)return[0,0];throw new Error("The given bezier curve must be of order <= 3.")}const xo=Math.abs,bo=[[0,0],[0,0]];const _o=Number.EPSILON/2,Io=j(1);function No(t,n){return n[0]!==n[1]?4===t.length?function(t,n){const{ps:e,_ps:r}=y(t,n[0],n[1]),o=e[0][0],i=e[1][0],c=e[2][0],s=e[3][0],u=9*_o*r[0][0],f=9*_o*r[1][0],l=9*_o*r[2][0],a=9*_o*r[3][0],p=e[0][1],h=e[1][1],d=e[2][1],v=e[3][1],g=9*_o*r[0][1],m=9*_o*r[1][1],x=9*_o*r[2][1],b=9*_o*r[3][1],_=Math.min(o-u,i-f,c-l,s-a),I=Math.max(o+u,i+f,c+l,s+a);return[[_,Math.min(p-g,h-m,d-x,v-b)],[I,Math.max(p+g,h+m,d+x,v+b)]]}(t,n):3===t.length?function(t,n){const{ps:e,_ps:r}=M(t,n[0],n[1]),o=e[0][0],i=e[1][0],c=e[2][0],s=5*_o*r[0][0],u=5*_o*r[1][0],f=5*_o*r[2][0],l=e[0][1],a=e[1][1],p=e[2][1],h=5*_o*r[0][1],d=5*_o*r[1][1],v=5*_o*r[2][1],g=Math.min(o-s,i-u,c-f),m=Math.max(o+s,i+u,c+f);return[[g,Math.min(l-h,a-d,p-v)],[m,Math.max(l+h,a+d,p+v)]]}(t,n):function(t,n){const{ps:e,_ps:r}=function(t,n,e){return 0===n?1===e?{ps:t,_ps:bo}:function(t,n){const e=t[0],r=t[1],o=e[0],i=e[1],c=r[0],s=r[1],u=[[o,i],[n*(c-o)+o,n*(s-i)+i]],f=xo(n),l=xo(o),a=xo(c),p=xo(i);return{ps:u,_ps:[[0,0],[f*(a+l)+l,f*(xo(s)+p)+p]]}}(t,e):1===e?function(t,n){const e=t[0],r=t[1],o=e[0],i=e[1],c=r[0],s=r[1],u=[[n*(c-o)+o,n*(s-i)+i],[c,s]],f=xo(n),l=xo(o),a=xo(c),p=xo(i);return{ps:u,_ps:[[f*(a+l)+l,f*(xo(s)+p)+p],[0,0]]}}(t,n):function(t,n,e){const r=t[0],o=t[1],i=r[0],c=r[1],s=o[0],u=o[1],f=[[n*(s-i)+i,n*(u-c)+c],[e*(s-i)+i,e*(u-c)+c]],l=xo(n),a=xo(e),p=xo(i),h=xo(s),d=xo(c),v=xo(u);return{ps:f,_ps:[[l*(h+p)+p,l*(v+d)+d],[a*(h+p)+p,a*(v+d)+d]]}}(t,n,e)}(t,n[0],n[1]),o=e[0][0],i=e[1][0],c=3*_o*r[0][0],s=3*_o*r[1][0],u=e[0][1],f=e[1][1],l=3*_o*r[0][1],a=3*_o*r[1][1],p=Math.min(o-c,i-s),h=Math.max(o+c,i+s);return[[p,Math.min(u-l,f-a)],[h,Math.max(u+l,f+a)]]}(t,n):function(t,n){const e=t[0],r=t[t.length-1];if(0===n)return[e,e];if(1===n)return[r,r];const o=vo(t,n);let i;if(4===t.length)i=mo(t,[0,n]).map(t=>8*Io*t);else if(3===t.length)i=mo(t,[0,n]).map(t=>5*Io*t);else if(2===t.length)i=mo(t,[0,n]).map(t=>2*Io*t);else if(1===t.length)return[o,o];return[[o[0]-i[0],o[1]-i[1]],[o[0]+i[0],o[1]+i[1]]]}(t,n[0])}function So(t){const n=t[0],e=t[1];return[(n[0]+e[0])/2,(n[1]+e[1])/2]}const Eo=ht,wo=dt,Oo=H,Mo=B,To=Number.EPSILON;function Co(t){return[2*t[0],2*t[1]]}function yo(t){return[4*t[0],4*t[1]]}const Po=P,Ao=x,Bo=_r,Fo=sr,zo=Co,Yo=yo,Vo=b;function Lo(t,n){const e=t[0],r=t[1],o=t[2],i=t[3],c=e[0],s=e[1],u=r[0],f=r[1],l=o[0],a=o[1],p=i[0],h=i[1],[d,v]=n,g=Po(c,d),m=Po(u,d),x=Po(l,d),b=Po(p,d),_=Po(s,v),I=Po(f,v),N=Po(a,v),S=Po(h,v),E=Fo(g,g),w=Bo(6,Fo(g,m)),O=Bo(6,Fo(g,x)),M=zo(Fo(g,b)),T=Bo(9,Fo(m,m)),C=Bo(18,Fo(m,x)),y=Bo(6,Fo(m,b)),P=Bo(9,Fo(x,x)),A=Bo(6,Fo(x,b)),B=Fo(b,b),F=Fo(_,_),z=Bo(6,Fo(_,I)),Y=Bo(6,Fo(_,N)),V=zo(Fo(_,S)),L=Bo(9,Fo(I,I)),k=Bo(18,Fo(I,N)),$=Bo(6,Fo(I,S)),X=Bo(9,Fo(N,N)),q=Bo(6,Fo(N,S)),H=Fo(S,S),D=Ao(y,P),Q=Ao(M,C),R=Ao(O,T),G=Ao($,X),U=Ao(V,k),j=Ao(Y,L);return[Bo(6,Ao(Ao(Ao(Ao(Vo(B,A),Vo(E,w)),D),Vo(R,Q)),Ao(Ao(Ao(Vo(H,q),Vo(F,z)),G),Vo(j,U)))),Bo(5,Ao(Vo(Ao(Ao(A,Bo(5,w)),Bo(3,Q)),zo(Ao(Ao(D,zo(R)),Bo(3,E)))),Vo(Ao(Ao(q,Bo(5,z)),Bo(3,U)),zo(Ao(Ao(G,zo(j)),Bo(3,F)))))),Yo(Ao(Vo(Vo(D,Bo(3,Vo(Q,zo(R)))),Bo(5,Vo(zo(w),Bo(3,E)))),Vo(Vo(G,Bo(3,Vo(U,zo(j)))),Bo(5,Vo(zo(z),Bo(3,F)))))),Bo(3,Ao(Vo(Q,zo(Vo(zo(R),Bo(5,Vo(w,zo(E)))))),Vo(U,zo(Vo(zo(j),Bo(5,Vo(z,zo(F)))))))),zo(Ao(Vo(R,Bo(5,Vo(w,Bo(3,E)))),Vo(j,Bo(5,Vo(z,Bo(3,F)))))),Ao(Vo(w,Bo(6,E)),Vo(z,Bo(6,F)))]}const ko=P,$o=x,Xo=_r,qo=sr,Ho=Co,Do=b,Qo=yo;function Ro(t,n){const[[e,r],[o,i],[c,s]]=t,[u,f]=n,l=ko(e,u),a=ko(o,u),p=ko(c,u),h=ko(r,f),d=ko(i,f),v=ko(s,f),g=qo(l,l),m=qo(l,a),x=qo(l,p),b=qo(a,a),_=qo(a,p),I=qo(p,p),N=qo(h,h),S=qo(h,d),E=qo(h,v),w=qo(d,d),O=qo(d,v),M=qo(v,v),T=$o(E,Ho(w)),C=$o(x,Ho(b));return[$o(Do($o($o(M,N),Ho(T)),Qo($o(O,S))),Do($o($o(I,g),Ho(C)),Qo($o(_,m)))),Xo(3,$o($o(Do(O,T),Do(Xo(3,S),N)),$o(Do(_,C),Do(Xo(3,m),g)))),$o(Do(T,Xo(3,Do(Ho(S),N))),Do(C,Xo(3,Do(Ho(m),g)))),$o(Do(S,N),Do(m,g))]}const Go=m,Uo=x,jo=function(t){return[-2*t[0],-2*t[1]]},Zo=b;function Wo(t,n){const[[e,r],[o,i]]=t,[c,s]=n,u=e-c,f=o-c,l=r-s,a=i-s,p=Go(u,u),h=Go(u,f),d=Go(f,f),v=Go(l,l),g=Go(l,a),m=Go(a,a),x=Uo(h,g),b=Uo(v,p);return[Uo(Uo(d,m),Uo(b,jo(x))),Zo(x,b)]}function Jo(t){const n=[];for(let e=0;e<t.length;e++)n.push(2*t[e]);return n}function Ko(t){const n=[];for(let e=0;e<t.length;e++)n.push(-2*t[e]);return n}const ti=dt,ni=H,ei=$,ri=Jo,oi=Ko,ii=B,ci=V,si=dt,ui=H,fi=$,li=Jo,ai=B,pi=V;function hi(t){const n=[];for(let e=0;e<t.length;e++)n.push(4*t[e]);return n}const di=dt,vi=H,gi=Ko,mi=B,xi=V,bi=Math.abs;function _i(t,n){const e=t[0],r=t[1],o=t[2],i=t[3],c=bi(e[0]),s=bi(e[1]),u=bi(r[0]),f=bi(r[1]),l=bi(o[0]),a=bi(o[1]),p=bi(i[0]),h=bi(i[1]),d=bi(n[0]),v=bi(n[1]),g=c+d,m=u+d,x=l+d,b=p+d,_=s+v,I=f+v,N=a+v,S=h+v,E=g*g,w=6*g*m,O=6*x*b,M=_*_,T=6*_*I,C=6*N*S,y=6*m*b+9*x*x,P=2*g*b+18*m*x,A=6*g*x+9*m*m,B=6*I*S+9*N*N,F=2*_*S+18*I*N,z=6*_*N+9*I*I;return[6*(b*b+O+(E+w)+y+(A+P)+(S*S+C+(M+T)+B+(z+F))),5*(O+5*w+3*P+2*(y+2*A+3*E)+(C+5*T+3*F+2*(B+2*z+3*M))),4*(y+3*(P+2*A)+5*(2*w+3*E)+(B+3*(F+2*z)+5*(2*T+3*M))),3*(P+2*(2*A+5*(w+2*E))+(F+2*(2*z+5*(T+2*M)))),2*(A+5*(w+3*E)+(z+5*(T+3*M))),w+6*E+(T+6*M)]}function Ii(t,n){const e=t[0],r=t[1],o=t[2],i=bi(e[0]),c=bi(e[1]),s=bi(r[0]),u=bi(r[1]),f=bi(o[0]),l=bi(o[1]),a=bi(n[0]),p=bi(n[1]),h=i+a,d=s+a,v=f+a,g=c+p,m=u+p,x=l+p,b=h*h,_=h*d,I=d*v,N=g*g,S=g*m,E=m*x,w=g*x+m*m*2,O=h*v+d*d*2;return[x*x+N+2*w+4*(E+S)+(v*v+b+2*O+4*(I+_)),3*(E+w+(3*S+N)+(I+O+(3*_+b))),w+3*(2*S+N)+(O+3*(2*_+b)),S+N+(_+b)]}function Ni(t,n){const e=t[0],r=t[1],o=bi(e[0]),i=bi(e[1]),c=bi(r[0]),s=bi(r[1]),u=bi(n[0]),f=bi(n[1]),l=o+u,a=c+u,p=i+f,h=s+f,d=l*a+p*h,v=p*p+l*l;return[a*a+h*h+2*d+v,d+v]}const Si=Z(6);function Ei(t,n){const e=t.length-1;if(3===e)return{polyDd:Lo(t,n),polyE:_i(t,n).map(t=>10*Si*t),getPolyExact:()=>function(t,n){const e=t[0],r=t[1],o=t[2],i=t[3],c=e[0],s=e[1],u=r[0],f=r[1],l=o[0],a=o[1],p=i[0],h=i[1],[d,v]=n,g=ti(c,d),m=ti(u,d),x=ti(l,d),b=ti(p,d),_=ti(s,v),I=ti(f,v),N=ti(a,v),S=ti(h,v),E=ni(g,g),w=ei(6,ni(g,m)),O=ei(6,ni(g,x)),M=ri(ni(g,b)),T=ei(9,ni(m,m)),C=ei(18,ni(m,x)),y=ei(6,ni(m,b)),P=ei(9,ni(x,x)),A=ei(6,ni(x,b)),B=ni(b,b),F=ni(_,_),z=ei(6,ni(_,I)),Y=ei(6,ni(_,N)),V=ri(ni(_,S)),L=ei(9,ni(I,I)),k=ei(18,ni(I,N)),$=ei(6,ni(I,S)),X=ei(9,ni(N,N)),q=ei(6,ni(N,S)),H=ni(S,S),D=ii(y,P),Q=ii(M,C),R=ii(O,T),G=ii($,X),U=ii(V,k),j=ii(Y,L),Z=ci(ii(ii(B,E),ii(D,R)),ii(ii(Q,A),w)),W=ci(ii(ii(H,F),ii(G,j)),ii(ii(U,q),z)),J=ei(6,ii(Z,W)),K=ii(oi(ii(ii(D,ri(R)),ei(3,E))),ii(ii(A,ei(3,Q)),ei(5,w))),tt=ii(oi(ii(ii(G,ri(j)),ei(3,F))),ii(ii(q,ei(3,U)),ei(5,z))),nt=ei(5,ii(K,tt)),et=ii(ii(D,ei(3,ci(ri(R),Q))),ei(5,ci(ei(3,E),ri(w)))),rt=ii(ii(G,ei(3,ci(ri(j),U))),ei(5,ci(ei(3,F),ri(z)))),ot=ei(4,ii(et,rt)),it=ci(Q,ri(ci(ri(R),ei(5,ci(w,ri(E)))))),ct=ci(U,ri(ci(ri(j),ei(5,ci(z,ri(F)))))),st=ei(3,ii(it,ct)),ut=ci(R,ei(5,ci(w,ei(3,E)))),ft=ci(j,ei(5,ci(z,ei(3,F)))),lt=ri(ii(ut,ft)),at=ci(w,ei(6,E)),pt=ci(z,ei(6,F));return[J,nt,ot,st,lt,ii(at,pt)]}(t,n)};if(2===e)return{polyDd:Ro(t,n),polyE:Ii(t,n).map(t=>8*Si*t),getPolyExact:()=>function(t,n){const[[e,r],[o,i],[c,s]]=t,[u,f]=n,l=si(e,u),a=si(o,u),p=si(c,u),h=si(r,f),d=si(i,f),v=si(s,f),g=ui(l,l),m=ui(l,a),x=ui(l,p),b=ui(a,a),_=ui(a,p),I=ui(p,p),N=ui(h,h),S=ui(h,d),E=ui(h,v),w=ui(d,d),O=ui(d,v),M=ui(v,v),T=ai(E,li(w)),C=ai(x,li(b)),y=ai(pi(ai(I,li(C)),hi(ai(_,m))),g),P=ai(pi(ai(M,li(T)),hi(ai(O,S))),N),A=ai(y,P),B=ai(pi(_,C),pi(fi(3,m),g)),F=ai(pi(O,T),pi(fi(3,S),N)),z=fi(3,ai(B,F)),Y=pi(T,fi(3,pi(li(S),N))),V=pi(C,fi(3,pi(li(m),g))),L=ai(Y,V),k=pi(S,N),$=pi(m,g);return[A,z,L,ai(k,$)]}(t,n)};if(1===e)return{polyDd:Wo(t,n),polyE:Ni(t,n).map(t=>6*Si*t),getPolyExact:()=>function(t,n){const[[e,r],[o,i]]=t,[c,s]=n,u=di(e,c),f=di(o,c),l=di(r,s),a=di(i,s),p=vi(u,u),h=vi(u,f),d=vi(f,f),v=vi(l,l),g=vi(l,a),m=vi(a,a),x=mi(h,g),b=mi(v,p);return[mi(mi(d,m),mi(gi(x),b)),xi(x,b)]}(t,n)};if(0===e)return{polyDd:[[0,1]],polyE:[0],getPolyExact:()=>[[1]]};throw new Error("The given bezier curve must be of order <= 3")}const{sqrt:wi}=Math;function Oi(t,n,e=0,r=1){const{polyDd:o,polyE:i,getPolyExact:c}=Ei(t,n),s=ao(o,e,r,i,c);s.push({tS:e,tE:e,multiplicity:1}),s.push({tS:r,tE:r,multiplicity:1});const u=s.map(e=>{const r=No(t,[e.tS,e.tE]),o=function(t,n){const e=t[0],r=t[1],o=e[0],i=e[1],c=r[0],s=r[1],u=n[0],f=n[1];let l=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY;for(const[t,n]of[[o,i],[o,s],[c,i],[c,s]]){const e=wo(t,u),r=wo(n,f),o=Mo(Oo(e,e),Oo(r,r)),i=Eo(o),c=i*(1-To),s=i*(1+To);c<=l&&(l=c),s>=a&&(a=s)}return[l,a]}(r,n);return{p:So(r),t:ho(e),d:(wi(o[0])+wi(o[1]))/2,dSquaredI:o,box:r,ri:e}});let f=Number.POSITIVE_INFINITY;for(let t=0;t<u.length;t++){const n=u[t].dSquaredI[1];n<f&&(f=n)}const l=[];for(let t=0;t<u.length;t++){const n=u[t];n.dSquaredI[0]<=f&&l.push(n)}return l}function Mi(t){const n=t.xs;if(4===n.length){let t=0,e=0;for(let r=0;r<n.length;r++)0===n[r].x.kind&&t++,4===n[r].x.kind&&e++;if(2===t&&2===e)return!0}return n.length<=2&&7!==n[0].x.kind}const Ti=vt;function Ci(t){const n=(t=Ti(t)).length;return 2===n?t:1===n?[0,t[0]]:[t[n-2],t[n-1]]}const yi=H,Pi=B,Ai=$,Bi=ao,Fi=Ci,zi=J,Yi=Number.EPSILON;function Vi(t,n){const e=t.tS,r=t.tE-e;if(0===r)return[{tS:[0,e],tE:[0,e],multiplicity:t.multiplicity}];const o=function(t,n,e){const r=t.length-1;if(r<0)return[];const o=[];for(let t=0;t<r+1;t++)o.push(new Array(r+1).fill([0]));o[0][0]=[1];for(let t=1;t<=r;t++){o[0][t]=Ai(e,o[0][t-1]);for(let r=1;r<=t;r++)o[r][t]=Pi(Ai(e,o[r][t-1]),Ai(n,o[r-1][t-1]))}const i=new Array(r+1).fill([0]);for(let n=0;n<=r;n++){i[r-n]=[0];for(let e=n;e<=r;e++){const c=yi(o[n][e],t[r-e]);i[r-n]=Pi(i[r-n],c)}}return i}(n,r,e),i=o.map(Fi),c=i.map(t=>Yi*Yi*t[1]),s=Bi(i,0,1,c,()=>o),u=[];for(const t of s)u.push({tS:zi(e,t.tS*r),tE:zi(e,t.tE*r),multiplicity:t.multiplicity});return u}const{abs:Li}=Math;function ki(t,n){const e=t.inOuts;e.sort(function(t){return(n,e)=>{let r=n.side-e.side;if(0!==r)return r;const o=n.sideX,i=e.sideX;r=o.ri.tS-i.ri.tS;const c=8*Number.EPSILON;return Li(r)>=c?r:(o.compensated||(o.compensated=1,o.riExp=Vi(o.ri,o.getPExact())[0]),i.compensated||(i.compensated=1,i.riExp=Vi(i.ri,i.getPExact())[0]),r=R(o.riExp.tS,i.riExp.tS),0!==r?r:(r=n.dir-e.dir,0!==r?t*r:1===n.dir?n.idx-e.idx:e.idx-n.idx))}}(n));let r=e[e.length-1];for(let t=0;t<e.length;t++){const n=e[t];n.prevAround=r,r.nextAround=n,r=n}}function $i(t,n,e,r){const o=function(t,n){return(e,r,o)=>{t.has(e)||(e.orientation=r,e.parent=o,e.windingNum=o.windingNum+e.orientation,n.push(e))}}(r,e);ki(t.container,n.orientation);let i,c,s=1,u=t,f=n.orientation;for(;u=1===n.orientation?u.nextAround:u.prevAround,u!==t;){const t=s;s-=u.dir,1===s&&(f*=-1),-1!==u.dir&&(i?1===t&&0===s?o(u,n.orientation,n.parent):0===t&&-1===s&&o(u,-n.orientation,n.parent):0===s?i=u:1===s&&o(u,n.orientation,n))}return Mi(t.container)||(c=[t.p,i.p]),{inOutToUse:i,additionalBezier:c}}function Xi(t,n){const e=t._x_,r=n._x_,o=e.curve,i=e.x.ri.tS,c=r.curve,s=r.x.ri.tS;let u=o,f=i;Mi(t.container)||(f=ho(Oi(o.ps,t.p)[0].ri));const l=[];for(;;){if(u===c&&(f<s||f===s&&0!==l.length)){const t=u.ps,n=[f,s];return l.push({ps:t,ts:n}),l}{const t=u.ps,n=[f,1];l.push({ps:t,ts:n})}f=0,u=u.next}}function qi(t,n){const e=n._x_,r=t._x_,o=r.curve,i=r.x.ri.tS,c=e.curve,s=e.x.ri.tS;let u=o,f=i;Mi(t.container)||(f=ho(Oi(u.ps,t.p)[0].ri));const l=[];for(;;){const t=u.ps;if(u===c&&(f>s||f===s&&0!==l.length)){const n=[f,s];return l.push({ps:t,ts:n}),l}{const n=[f,0];l.push({ps:t,ts:n})}f=1,u=u.prev}}function Hi(t,n,e,r){const o=function(t,n,e){return(r,o,i,c)=>{n.has(r)||1!==r.dir||(r.loopsIdxs=new Set(c),r.orientation=o*t.orientation,r.parent=i.parent,r.windingNum=i.windingNum+r.orientation,e.unshift(r))}}(n,r,e);ki(t.container,1);let i=t.nextAround,c=t;const s=[],u=new Set(n.loopsIdxs);for(;c=c.nextAround,c!==t;)o(c,n.dir,n,u),s.push(c.idx),-1===c.dir?u?.add(c._x_?.curve.loop.idx):u.delete(c._x_?.curve.loop.idx);let f;return Mi(t.container)||(f=[t.p,i.p]),{inOutToUse:i,additionalBezier:f}}function Di(t){const{ps:n,ts:e}=t;return Rn(n,e[0],e[1])}function Qi(t,n,e){const r=[],o=[];let i,c=n;const s=e?Hi:$i,u=[];do{t.add(c),u.push(c);const e=c.nextOrPrev;t.add(e);const f=1===c.dir?Xi(c,e):qi(c,e);o.push(...f);const l=s(e,n,r,t);if(({inOutToUse:c,additionalBezier:i}=l),void 0!==i){const t=Di(o[o.length-1]),n={ps:t,ts:[0,ho(Oi(t,i[0])[0].ri)]};o.pop(),o.push(n),o.push({ps:i,ts:[0,1]})}}while(c!==n);return"undefined"!=typeof _debug_&&_debug_.verbose&&function(t){const n=[],e=[];for(let r of t)e.push(1===r.dir?"color: blue;":"color: red"),n.push(`%c${r.idx}`);console.log("Taken ios: "+n.join(" "),...e)}(u),{bezierPieces:o,additionalOutsToCheck:r}}function Ri(t,n,e,r){const o=[t];for(;o.length;){const t=o.pop();if(n.add(t._x_.curve.loop),e.has(t))continue;t.children=new Set;const{bezierPieces:i,additionalOutsToCheck:c}=Qi(e,t,r);t.bezierPieces=i,t.parent.children=t.parent.children||new Set,t.parent.children.add(t);for(let t=0;t<c.length;t++)o.push(c[t])}}function Gi(t){if(4===t.length)return Ui(t);if(3===t.length)return ji(t);if(2===t.length)return function(t){const[[n,e],[r,o]]=t;return[[r-n,n],[o-e,e]]}(t);if(1===t.length)return function(t){const[[n,e]]=t;return[[n],[e]]}(t);throw new Error("The given bezier curve must be of order <= 3.")}function Ui(t){const[[n,e],[r,o],[i,c],[s,u]]=t;return[[s-n+3*(r-i),3*(i+n-2*r),3*(r-n),n],[u-e+3*(o-c),3*(c+e-2*o),3*(o-e),e]]}function ji(t){const[[n,e],[r,o],[i,c]]=t;return[[i+n-2*r,2*(r-n),n],[c+e-2*o,2*(o-e),e]]}function Zi(t,n=Number.NEGATIVE_INFINITY,e=Number.POSITIVE_INFINITY,r){return ao(t.map(t=>[0,t]),n,e,void 0,void 0,r)}function Wi(t){const n=t[0],e=t[t.length-1];let r,o;if(n[1]<e[1]?(r={ts:[0,0],box:[n,n]},o={ts:[1,1],box:[e,e]}):(r={ts:[1,1],box:[e,e]},o={ts:[0,0],box:[n,n]}),2===t.length)return{minY:r,maxY:o};const[,i]=qn(t),c=Zi(i,0,1);for(let n=0;n<c.length;n++){const e=c[n],i=[e.tS,e.tE],s=No(t,i);s[0][1]<r.box[0][1]&&(r={ts:i,box:s}),s[1][1]>o.box[0][1]&&(o={ts:i,box:s})}return{minY:r,maxY:o}}function Ji(t){const n=function(t){const n=t[0],e=t[t.length-1];let r,o;if(n[0]<e[0]?(r={ts:[0,0],box:[n,n]},o={ts:[1,1],box:[e,e]}):(r={ts:[1,1],box:[e,e]},o={ts:[0,0],box:[n,n]}),2===t.length)return{minX:r,maxX:o};const[i]=qn(t),c=Zi(i,0,1);for(let n=0;n<c.length;n++){const e=c[n],i=[e.tS,e.tE],s=No(t,i);s[0][0]<r.box[0][0]&&(r={ts:i,box:s}),s[1][0]>o.box[0][0]&&(o={ts:i,box:s})}return{minX:r,maxX:o}}(t),e=Wi(t);return[[n.minX.box[0][0],e.minY.box[0][1]],[n.maxX.box[1][0],e.maxY.box[1][1]]]}const Ki=Wn(Ji);function tc(t){const n=qn(t),e=Bn(n[0],0,1),r=Bn(n[1],0,1);e.push(0,1),r.push(0,1);let o,i,c,s,u=Number.POSITIVE_INFINITY,f=Number.NEGATIVE_INFINITY,l=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY;for(let n=0;n<e.length;n++){const r=e[n],[c]=vo(t,r);c<u&&(u=c,o=r),c>f&&(f=c,i=r)}for(let n=0;n<r.length;n++){const e=r[n],[,o]=vo(t,e);o<l&&(l=o,c=e),o>a&&(a=o,s=e)}return{ts:[[o,c],[i,s]],box:[[u,l],[f,a]]}}const nc=Wn(tc),{min:ec,max:rc}=Math;function oc(t){const n=t.map(nc);return{minX:ec(...n.map(t=>t.box[0][0])),maxX:rc(...n.map(t=>t.box[1][0])),minY:ec(...n.map(t=>t.box[0][1])),maxY:rc(...n.map(t=>t.box[1][1]))}}const ic=new Function("try {return this===window;}catch(e){ return false;}")()?function(t){const n=window.atob(t),e=n.length,r=new Uint8Array(e);for(let t=0;t<e;t++)r[t]=n.charCodeAt(t);return r.buffer}:function(t){return function(t){const n=new ArrayBuffer(t.length),e=new Uint8Array(n);for(let n=0;n<t.length;++n)e[n]=t[n];return n}(Buffer.from(t,"base64"))},cc=ic("AGFzbQEAAAABBgFgAX8BfAMDAgAABQMBAAAHHwMGbWVtb3J5AgAHc3F1YXJlcwAACHNxdWFyZXM0AAEKjgECPwECfiAArULHuuXf9tjQm2p+IgEgASABfnxCIIoiAiACfiABQse65d/22NCbanx8QiCKIgIgAn4gAXxCIIi6C0wBAn4gAK1Cx7rl3/bY0JtqfiIBQse65d/22NCbanwiAiABIAIgASABIAF+fEIgiiIBIAF+fEIgiiIBIAF+fEIgiiIBIAF+fEIgiLoL"),sc=new WebAssembly.Module(cc),uc=new WebAssembly.Instance(sc),fc=uc.exports.squares;uc.exports.squares4;const lc=1e-6;function ac(t,n){let e;const r=[t];for(;r.length;)o(r.pop());return e;function o(o){if(o===t||function(t,n){let e=0;do{e++;const o=fc(e)/4294967296,i=r(t,n,vo(t[fc(e+1e3)%t.length],o));if(void 0!==i)return i}while(e<100);return;function r(t,n,e){if(function(t,n){const e=oc(t),r=oc(n);return e.minX<r.minX||e.maxX>r.maxX||e.minY<r.minY||e.maxY>r.maxY}(t,n))return!1;const r=function(t,n){const[e,r]=n;let o=0;for(let i=0;i<t.length;i++){const c=t[i],[[s,u],[f,l]]=Ki(c);let a=u>r||l<r||!1;if(a=a||s>e||!1,a)continue;const p=[];let h,d,v;const g=!0;h=t=>Gi(t)[1],d=[0,-r],v=0;const m=c.map(oe(d)),x=Bn(h(m),0-lc,1+lc);for(let t=0;t<x.length;t++){const e=x[t];if(Math.abs(e)<lc||Math.abs(e-1)<lc)return;const r=vo(m,e);(g&&n[v]>=r[v]||!g&&n[v]<=r[v])&&p.push(e)}if(1===p.length||3===p.length)for(const t of p){const n=ie(se(c,t));if(Math.abs(n[1])<lc)return}o+=p.length}return o}(n,e);return void 0!==r?r%2!=0:void 0}}(n.beziers,o.bezierPieces.map(Di))){e=o;for(const t of o.children)r.push(t)}}}function pc(t,n){return hc(t)-hc(n)}function hc(t){let n=Number.POSITIVE_INFINITY;for(const e of t){const t=nc(e).box[0][1];t<n&&(n=t)}return n}const{abs:dc,sign:vc}=Math;function gc(t){let n=t.parent;for(;;){if(void 0===n)return!1;if(n.used)return!0;n=n.parent}}function mc(t,n,e){let[[r,o],[i,c]]=n,[[s,u],[f,l]]=e;o>c&&([o,c]=[c,o]),u>l&&([u,l]=[l,u]),r>i&&([r,i]=[i,r]),s>f&&([s,f]=[f,s]);const a=t||r===i&&s===f,p=t||o===c&&u===l;return(a?r<=f:r<f)&&(a?i>=s:i>s)&&(p?u<=c:u<c)&&(p?l>=o:l>o)}function xc(t,n){return mc(!0,t.box,n.box)}function bc(t,n){for(let e=0;e<n.length;e++){const r=n[e];_c(t,[r.a,r.b])}}function _c(t,n){const[e,r]=n;let o=t.get(e);o||(o=[],t.set(e,o));let i=t.get(r);i||(i=[],t.set(r,i)),o.push(r),i.push(e)}function Ic(t,n,e,r){e.add(n),r.push(n);const o=t.get(n);for(let n=0;n<o.length;n++){const i=o[n];e.has(i)||Ic(t,i,e,r)}}function Nc(t){const n=[],e=new Set;for(const r of t){const o=r[0];e.has(o)||(n.push([]),Ic(t,o,e,n[n.length-1]))}return n}function Sc(t,n){const e=new Set;for(const t of n)for(const n of t)e.add(n);const r=[];for(let n=0;n<t.length;n++){const o=t[n];e.has(o)||r.push(o)}return r}function Ec(t){const n=[];for(const e of t){let t=Number.POSITIVE_INFINITY,r=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,i=Number.NEGATIVE_INFINITY;const c=[];for(const n of e){const[[e,s],[u,f]]=n.box;e<t&&(t=e),s<r&&(r=s),u>o&&(o=u),f>i&&(i=f),c.push(...n.xs)}const s={box:[[t,r],[o,i]],xs:c,inOuts:void 0};n.push(s)}return n}function wc(t){return{tS:[0,t.tS],tE:[0,t.tE],multiplicity:t.multiplicity}}const Oc=P,Mc=_r,Tc=x,Cc=ur,yc=Math.abs;function Pc(t){const[[n,e],[r,o],[i,c],[s,u]]=t,f=Oc(s,n),l=Oc(r,i),a=3*(r-i),p=Mc(3,l),h=yc(a),d=Tc(f,p),v=h+yc(s-n+a),g=Oc(i,2*r),m=Cc(g,n),x=yc(i-2*r+n),b=Mc(3,m),_=6*x,I=Oc(r,n),N=Mc(3,I),S=yc(3*(r-n)),E=Oc(u,e),w=Oc(o,c),O=3*(o-c),M=Mc(3,w),T=yc(O),C=Tc(E,M),y=T+yc(u-e+O),P=Oc(c,2*o),A=Cc(P,e),B=yc(c-2*o+e),F=Mc(3,A),z=6*B,Y=Oc(o,e);return{coeffs:[[d,b,N,[0,n]],[C,F,Mc(3,Y),[0,e]]],errorBound:[[v,_,S,0],[y,z,yc(3*(o-e)),0]]}}function Ac(t){const[[n,e],[r,o],[i,c]]=t,s=i-2*r,u=Oc(i,2*r),f=Cc(u,n),l=yc(s+n),a=Oc(2*r,2*n),p=c-2*o,h=Oc(c,2*o),d=Cc(h,e),v=yc(p+e);return{coeffs:[[f,a,[0,n]],[d,Oc(2*o,2*e),[0,e]]],errorBound:[[l,0,0],[v,0,0]]}}function Bc(t){const[[n,e],[r,o]]=t;return[[Oc(r,n),[0,n]],[Oc(o,e),[0,e]]]}const Fc=b,zc=_r,Yc=F,Vc=Math.abs;function Lc(t){const[[n,[,e]],[r,[,o]]]=Bc(t),i=Yc(r),c=n,s=zc(o,n),u=Vc(s[1]),f=zc(e,r),l=Vc(f[1]),a=Fc(f,s);return{coeffs:{vₓ:i,vᵧ:c,v:a},errorBound:{v_:u+l+Vc(a[1])}}}const kc=x,$c=_r,Xc=sr,qc=Math.abs,Hc=Z(3);function Dc(t){return[-t[0],-t[1]]}const Qc=Dc,Rc=Co,Gc=_r,Uc=sr,jc=b,Zc=Math.abs;function Wc(t){const{coeffs:[[n,e,[,r]],[o,i,[,c]]],errorBound:[[s],[u]]}=Ac(t),f=n[1],l=e[1],a=o[1],p=i[1],h=Zc(r),d=Zc(l),v=Zc(f),g=Zc(c),m=Zc(p),x=Zc(a),b=Uc(n,i),_=s*m+2*Zc(f*p),I=Uc(e,o),N=d*u+2*Zc(l*a),S=Gc(c,n),E=g*s+Zc(c*f),w=Gc(r,o),O=h*u+Zc(r*a),M=Gc(c,e),T=Zc(c*l),C=Gc(r,i),y=Zc(r*p),P=Uc(n,n),A=2*(s*v+Zc(f*f)),B=Uc(n,o),F=s*x+v*u+2*Zc(f*a),z=Uc(o,o),Y=2*(u*x+Zc(a*a)),V=f*p-l*a,L=f*c-r*a,k=l*c-r*p,$=jc(b,I),X=Zc(V),q=_+N+Zc(V),H=jc(S,w),D=Zc(L),Q=E+O+Zc(L),R=jc(M,C),G=Zc(k),U=T+y+Zc(k),j=Qc(z),Z=Y,W=Rc(B),J=F,K=Qc(P),tt=A,nt=p*V,et=Uc(i,$),rt=m*q+2*Zc(nt),ot=2*L*a,it=Rc(Uc(o,H)),ct=2*(u*D+x*Q+2*Zc(ot)),st=nt-ot,ut=jc(et,it),ft=rt+ct+Zc(st),lt=2*f*L,at=Rc(Uc(n,H)),pt=2*(s*D+v*Q+2*Zc(lt)),ht=l*V,dt=Uc(e,$),vt=d*q+2*Zc(ht),gt=lt-ht,mt=jc(at,dt),xt=pt+vt+Zc(gt),bt=V*k,_t=Uc($,R),It=q*G+X*U+2*Zc(bt),Nt=L*L,St=Uc(H,H),Et=2*(Q*D+Zc(Nt)),wt=bt-Nt;return{coeffs:{vₓₓ:j,vₓᵧ:W,vᵧᵧ:K,vₓ:ut,vᵧ:mt,v:jc(_t,St)},errorBound:{vₓₓ_:Z,vₓᵧ_:J,vᵧᵧ_:tt,vₓ_:ft,vᵧ_:xt,v_:It+Et+Zc(wt)}}}const Jc=m,Kc=Co,ts=_r,ns=sr,es=x,rs=Math.abs,os=Z(3),is=Math.abs,cs=Dc,ss=Co,us=_r,fs=sr,ls=b,as=x;function ps(t){const{coeffs:[[n,e,r,[,o]],[i,c,s,[,u]]],errorBound:[[f,l,a],[p,h,d]]}=Pc(t),v=r[1],g=e[1],m=n[1],x=s[1],b=c[1],_=i[1],I=is(o),N=is(v),S=is(g),E=is(m),w=is(u),O=is(x),M=is(b),T=is(_),C=fs(n,s),y=m*x,P=f*O+E*d+2*is(y),A=fs(r,i),B=v*_,F=a*T+N*p+2*is(B),z=fs(n,c),Y=m*b,V=f*M+E*h+2*is(Y),L=fs(e,c),k=g*b,$=l*M+S*h+2*is(k),X=fs(e,i),q=g*_,H=l*T+S*p+2*is(q),D=fs(n,n),Q=m*m,R=is(Q),G=f*E+E*f+2*is(Q),U=fs(c,c),j=b*b,Z=h*M+M*h+2*is(j),W=fs(i,i),J=_*_,K=is(J),tt=p*T+T*p+2*is(J),nt=fs(r,n),et=v*m,rt=a*E+N*f+2*is(et),ot=fs(e,e),it=g*g,ct=l*S+S*l+2*is(it),st=fs(s,i),ut=x*_,ft=d*T+O*p+2*is(ut),lt=fs(c,i),at=is(b*_),pt=h*T+M*p+2*at,ht=fs(e,n),dt=is(g*m),vt=l*E+S*f+2*dt,gt=fs(n,i),mt=is(m*_),xt=f*T+E*p+2*mt,bt=us(u,n),_t=m*u,It=f*w+is(_t),Nt=us(o,i),St=o*_,Et=I*p+is(St),wt=us(u,e),Ot=g*u,Mt=l*w+is(Ot),Tt=us(o,c),Ct=o*b,yt=I*h+is(Ct),Pt=fs(e,s),At=g*x,Bt=l*O+S*d+2*is(At),Ft=fs(r,c),zt=v*b,Yt=a*M+N*h+2*is(zt),Vt=us(u,r),Lt=v*u,kt=a*w+is(Lt),$t=us(o,s),Xt=o*x,qt=I*d+is(Xt),Ht=ls(bt,Nt),Dt=It+Et+is(_t-St),Qt=ls(C,A),Rt=P+F+is(y-B),Gt=ls(z,X),Ut=V+H+is(Y-q),jt=ls(wt,Tt),Zt=Mt+yt+is(Ot-Ct),Wt=ls(Pt,Ft),Jt=Bt+Yt+is(At-zt),Kt=ls(Vt,$t),tn=kt+qt+is(Lt-Xt),nn=is(ut-j),en=ls(st,U),rn=ft+Z+nn,on=is(et-it),cn=ls(nt,ot),sn=rt+ct+is(et-it),un=is(q+Y),fn=as(X,z),ln=H+V+is(q+Y),an=B+y,pn=is(an),hn=as(A,C),dn=F+P+pn,vn=ss(Qt),gn=2*Rt,mn=_t-St,xn=y-B,bn=Y-q,_n=Ot-Ct,In=At-zt,Nn=Lt-Xt,Sn=is(mn),En=is(xn),wn=is(bn),On=is(_n),Mn=is(In),Tn=is(Nn),Cn=2*En,yn=fs(Ht,Ht),Pn=fs(Ht,Qt),An=fs(Ht,Gt),Bn=fs(Ht,Wt),Fn=fs(Qt,Qt),zn=fs(vn,jt),Yn=fs(Gt,jt),Vn=fs(Gt,Wt),Ln=fs(Gt,Kt),kn=Dt*Sn+Sn*Dt+2*is(yn[1]),$n=Dt*En+Sn*Rt+2*is(Pn[1]),Xn=Dt*wn+Sn*Ut+2*is(An[1]),qn=Dt*Mn+Sn*Jt+2*is(Bn[1]),Hn=Rt*En+En*Rt+2*is(Fn[1]),Dn=gn*On+Cn*Zt+2*is(zn[1]),Qn=Ut*On+wn*Zt+2*is(Yn[1]),Rn=Ut*Mn+wn*Jt+2*is(Vn[1]),Gn=Ut*Tn+wn*tn+2*is(Yn[1]),Un=fs(cs(i),W),jn=p*K+T*tt+2*is(Un[1]),Zn=3*E,Wn=us(3,n),Jn=3*f+Zn,Kn=fs(Wn,W),te=Jn*K+Zn*tt+2*is(Kn[1]),ne=3*T,ee=us(-3,i),re=3*p+ne,oe=fs(ee,D),ie=re*R+ne*G+2*is(oe[1]),ce=fs(n,D),se=f*R+E*G+2*is(ce[1]),ue=-3*mn,fe=3*Sn,le=us(-3,Ht),ae=3*Dt+fe,pe=ls(le,Wt),he=is(ue-In),de=ae+Jt+he,ve=fs(pe,W),ge=de*K+he*tt+2*is(ve[1]),me=fs(Gt,en),xe=Ut*nn+wn*rn+2*is(me[1]),be=as(ve,me),_e=ge+xe+is(be[1]),Ie=fs(vn,lt),Ne=gn*at+Cn*pt+2*is(Ie[1]),Se=as(be,Ie),Ee=_e+Ne+is(Se[1]),we=fs(pe,D),Oe=de*R+he*G+2*is(we[1]),Me=fs(Gt,cn),Te=Ut*on+wn*sn+2*is(Me[1]),Ce=as(we,Me),ye=Oe+Te+is(Ce[1]),Pe=fs(vn,ht),Ae=gn*dt+Cn*vt+2*is(Pe[1]),Be=as(Ce,Pe),Fe=ye+Ae+is(Be[1]),ze=is(k-an/2),Ye=ls(L,function(t){return[t[0]/2,t[1]/2]}(hn)),Ve=$+dn/2+is(Ye[1]),Le=fs(pe,gt),ke=de*mt+he*xt+2*is(Le[1]),$e=fs(Qt,fn),Xe=Rt*un+En*ln+2*is($e[1]),qe=as(Le,$e),He=ke+Xe+is(qe[1]),De=fs(Gt,Ye),Qe=Ut*ze+wn*Ve+2*is(De[1]),Re=ss(ls(De,qe)),Ge=2*(Qe+He)+is(Re[1]),Ue=us(-3,yn),je=3*kn+is(Ue[1]),Ze=ls(Ue,ss(Bn)),We=je+2*qn+is(Ze[1]),Je=as(zn,Ln),Ke=Dn+Gn+is(Je[1]),tr=as(Ze,Je),nr=is(tr[1]),er=We+Ke+nr,rr=ss(ls(Pn,Yn)),or=is(rr[1]),ir=2*($n+Qn)+or,cr=ls(An,Fn),sr=Xn+Hn+is(cr[1]),ur=as(cr,Vn),fr=is(ur[1]),lr=sr+Rn+fr,ar=fs(i,tr),pr=p*nr+T*er+2*is(ar[1]),hr=fs(c,rr),dr=h*or+M*ir+2*is(hr[1]),vr=fs(s,ur),gr=d*fr+O*lr+2*is(vr[1]),mr=as(hr,vr),xr=dr+gr+is(mr[1]),br=as(ar,mr),_r=pr+xr+is(br[1]),Ir=fs(n,tr),Nr=f*nr+E*er+2*is(Ir[1]),Sr=fs(e,rr),Er=l*or+S*ir+2*is(Sr[1]),wr=fs(r,ur),Or=a*fr+N*lr+2*is(wr[1]),Mr=as(Sr,wr),Tr=Er+Or+is(Mr[1]),Cr=cs(as(Ir,Mr)),yr=Nr+Tr+is(Cr[1]),Pr=ls(zn,yn),Ar=ls(Pr,Bn),Br=is(Ar[1]),Fr=fs(ur,Kt),zr=fs(Yn,jt),Yr=ls(Fr,zr),Vr=lr*is(Kt[1])+2*is(Fr[1])+Qn*is(jt[1])+2*is(zr[1])+is(Yr[1]),Lr=fs(Ht,Ar),kr=Dt*Br+Sn*Dn+kn+is(Pr[1])+qn+Br+2*is(Lr[1]),$r=as(Lr,Yr);return{coeffs:{vₓₓₓ:Un,vₓₓᵧ:Kn,vₓᵧᵧ:oe,vᵧᵧᵧ:ce,vₓₓ:Se,vₓᵧ:Re,vᵧᵧ:Be,vₓ:br,vᵧ:Cr,v:$r},errorBound:{vₓₓₓ_:jn,vₓₓᵧ_:te,vₓᵧᵧ_:ie,vᵧᵧᵧ_:se,vₓₓ_:Ee,vₓᵧ_:Ge,vᵧᵧ_:Fe,vₓ_:_r,vᵧ_:yr,v_:kr+Vr+is($r[1])}}}const hs=m,ds=Co,vs=_r,gs=sr,ms=x,xs=Math.abs,bs=Z(3),_s=x,Is=_r,Ns=sr,Ss=Math.abs,Es=Z(3),ws=m,Os=Co,Ms=_r,Ts=sr,Cs=x,ys=Math.abs,Ps=Z(3),As=m,Bs=Co,Fs=_r,zs=sr,Ys=x,Vs=Math.abs,Ls=Z(3),ks=x,$s=_r,Xs=sr,qs=Math.abs,Hs=Z(3),Ds=m,Qs=Co,Rs=_r,Gs=sr,Us=x,js=Math.abs,Zs=Z(3),Ws=m,Js=Co,Ks=_r,tu=sr,nu=x,eu=Math.abs,ru=Z(3),ou=$,iu=V,cu=F,su=Q;function uu(t){const[[n,[e]],[r,[o]]]=t;if(0!==su(n)||0!==su(r))return{vₓ:cu(r),vᵧ:n,v:iu(ou(e,r),ou(o,n))}}const fu=$,lu=H,au=B;function pu(t,n){const e=zt(t),[[r,[o]],[i,[c]]]=zt(n),{vₓ:s,vᵧ:u,v:f}=uu(e),l=lu(r,s),a=lu(i,u),p=au(l,a),h=fu(o,s),d=fu(c,u),v=au(h,d);return[p,au(v,f)]}const hu=$,du=Jo,vu=V,gu=H,mu=F;function xu(t){const[[n,e,[r]],[o,i,[c]]]=t;if(0===Q(n)&&0===Q(o))return uu([[e,[r]],[i,[c]]]);const s=gu(n,i),u=gu(e,o),f=hu(c,n),l=hu(r,o),a=hu(c,e),p=hu(r,i),h=gu(n,n),d=gu(n,o),v=gu(o,o),g=vu(s,u),m=vu(f,l),x=vu(a,p),b=mu(v),_=du(d),I=mu(h),N=gu(i,g),S=du(gu(o,m)),E=vu(N,S),w=du(gu(n,m)),O=gu(e,g),M=vu(w,O),T=gu(g,x),C=gu(m,m);return{vₓₓ:b,vₓᵧ:_,vᵧᵧ:I,vₓ:E,vᵧ:M,v:vu(T,C)}}const bu=it,_u=$,Iu=H,Nu=B,Su=Jo,Eu=Q;function wu(t,n){const e=Ft(t);if(0===Eu(e[0][0])&&0===Eu(e[1][0]))return pu([t[0],t[2]],n);const[[r,[o]],[i,[c]]]=zt(n),{vₓₓ:s,vₓᵧ:u,vᵧᵧ:f,vₓ:l,vᵧ:a,v:p}=xu(e),h=bu(o,o),d=_u(o,r),v=bu(o,c),g=_u(o,i),m=Iu(r,r),x=_u(c,r),b=Iu(r,i),_=bu(c,c),I=_u(c,i),N=Iu(i,i),S=Iu(m,s),E=Iu(N,f),w=Iu(b,u),O=Nu(S,E),M=Nu(O,w),T=Iu(d,s),C=Iu(I,f),y=Nu(g,x),P=Iu(y,u),A=Su(Nu(T,C)),B=Nu(A,P),F=Iu(r,l),z=Iu(i,a),Y=Nu(F,z),V=Nu(B,Y),L=Iu(h,s),k=Iu(v,u),$=Iu(_,f),X=Nu(L,k),q=Nu(X,$),H=_u(o,l),D=_u(c,a),Q=Nu(H,D),R=Nu(q,Q);return[M,V,Nu(R,p)]}const Ou=H,Mu=dt,Tu=V,Cu=Q,yu=ht,Pu=k,Au=J;function Bu(t,n=!1){const[e,r,o,i]=t;if(!n){const[t,n]=e,[c,s]=r,[u,f]=o,[l,a]=i;return[e,[yu(Tu(Pu(Au(c/4,u/4),3),Au(t/4,l/4))),yu(Tu(Pu(Au(s/4,f/4),3),Au(n/4,a/4)))],i]}const c=function(t,n){const[[e,r],[o,i]]=t,[[c,s],[u,f]]=n,l=Mu(o,e),a=Mu(i,r),p=Mu(u,c),h=Mu(f,s),d=Tu(Ou(p,a),Ou(h,l));if(0===Cu(d))return;const v=Mu(c,e),g=Mu(s,r),m=Tu(Ou(g,l),Ou(v,a)),x=yu(m)/yu(d);return[c+x*yu(p),s+x*yu(h)]}([e,r],[i,o]);if(void 0!==c)return[e,c,i]}const Fu=$,zu=H,Yu=B,Vu=V,Lu=F,ku=Jo,$u=Q;function Xu(t){const[[n,e,r,[o]],[i,c,s,[u]]]=t;if(0===$u(n)&&0===$u(i))return xu([[e,r,[o]],[c,s,[u]]]);const f=zu(n,s),l=zu(r,i),a=zu(n,c),p=zu(e,c),h=zu(e,i),d=zu(n,n),v=zu(c,c),g=zu(i,i),m=zu(r,n),x=zu(e,e),b=zu(s,i),_=zu(c,i),I=zu(e,n),N=zu(n,i),S=Fu(u,n),E=Fu(o,i),w=Fu(u,e),O=Fu(o,c),M=zu(e,s),T=zu(r,c),C=Fu(u,r),y=Fu(o,s),P=Vu(S,E),A=Vu(f,l),B=Vu(a,h),F=Vu(w,O),z=Vu(M,T),Y=Vu(C,y),V=Vu(b,v),L=Vu(m,x),k=Yu(h,a),$=Yu(l,f),X=ku(A),q=zu(P,P),H=zu(P,A),D=zu(P,B),Q=zu(P,z),R=zu(A,A),G=zu(X,F),U=zu(B,F),j=zu(B,z),Z=zu(B,Y),W=zu(Lu(i),g),J=zu(Fu(3,n),g),K=zu(Fu(-3,i),d),tt=zu(n,d),nt=Vu(Fu(-3,P),z),et=zu(nt,g),rt=zu(B,V),ot=Yu(et,rt),it=zu(X,_),ct=Yu(ot,it),st=zu(nt,d),ut=zu(B,L),ft=Yu(st,ut),lt=zu(X,I),at=Yu(ft,lt),pt=Vu(p,function(t){const n=[];for(let e=0;e<t.length;e++)n.push(.5*t[e]);return n}($)),ht=zu(nt,N),dt=zu(A,k),vt=Yu(ht,dt),gt=zu(B,pt),mt=ku(Vu(gt,vt)),xt=Fu(-3,q),bt=Vu(xt,ku(Q)),_t=Yu(G,Z),It=Yu(bt,_t),Nt=ku(Vu(H,U)),St=Vu(D,R),Et=Yu(St,j),wt=zu(i,It),Ot=zu(c,Nt),Mt=zu(s,Et),Tt=Yu(Ot,Mt),Ct=Yu(wt,Tt),yt=zu(n,It),Pt=zu(e,Nt),At=zu(r,Et),Bt=Yu(Pt,At),Ft=Lu(Yu(yt,Bt)),zt=Vu(G,q),Yt=Vu(zt,Q),Vt=zu(Et,Y),Lt=zu(U,F),kt=Vu(Vt,Lt),$t=zu(P,Yt);return{vₓₓₓ:W,vₓₓᵧ:J,vₓᵧᵧ:K,vᵧᵧᵧ:tt,vₓₓ:ct,vₓᵧ:mt,vᵧᵧ:at,vₓ:Ct,vᵧ:Ft,v:Yu($t,kt)}}const qu=it,Hu=$,Du=H,Qu=B,Ru=Jo,Gu=Q;function Uu(t,n){const e=Bt(t);if(0===Gu(e[0][0])&&0===Gu(e[1][0]))return wu(Bu(t),n);const[[r,[o]],[i,[c]]]=zt(n),{vₓₓₓ:s,vₓₓᵧ:u,vₓᵧᵧ:f,vᵧᵧᵧ:l,vₓₓ:a,vₓᵧ:p,vᵧᵧ:h,vₓ:d,vᵧ:v,v:g}=Xu(e),m=qu(o,o),x=Hu(o,r),b=qu(o,c),_=Hu(o,i),I=Du(r,r),N=Hu(c,r),S=Du(r,i),E=qu(c,c),w=Hu(c,i),O=Du(i,i),M=Hu(o,s),T=Du(qu(3,o),s),C=Hu(o,u),y=Hu(c,u),P=Hu(o,f),A=Hu(c,f),B=Hu(c,l),F=Du(qu(3,c),l),z=Du(r,s),Y=Du(r,f),V=Du(i,u),L=Du(i,l),k=Qu(z,V),$=Qu(Y,L),X=Du(I,k),q=Du(O,$),H=Qu(X,q),D=Qu(T,y),Q=Ru(Qu(C,A)),R=Qu(P,F),G=Qu(D,a),U=Qu(Q,p),j=Qu(R,h),Z=Du(I,G),W=Du(S,U),J=Du(O,j),K=Qu(Z,W),tt=Qu(K,J),nt=Ru(Qu(y,a)),et=Ru(Qu(P,h)),rt=Qu(T,nt),ot=Qu(F,et),it=Qu(C,p),ct=Qu(A,p),st=Du(x,rt),ut=Du(w,ot),ft=Du(_,it),lt=Du(N,ct),at=Du(r,d),pt=Du(i,v),ht=Qu(st,ut),dt=Qu(ft,lt),vt=Qu(ht,dt),gt=Qu(at,pt),mt=Qu(vt,gt),xt=Qu(M,y),bt=Qu(B,P),_t=Qu(xt,a),It=Qu(bt,h),Nt=Du(m,_t),St=Du(E,It),Et=Du(b,p),wt=Qu(Nt,St),Ot=Qu(wt,Et),Mt=Hu(o,d),Tt=Hu(c,v),Ct=Qu(Mt,Tt),yt=Qu(Ot,Ct);return[H,tt,mt,Qu(yt,g)]}const ju=$,Zu=H,Wu=B,Ju=Q;function Ku(t,n){const e=zt(t),[[r,o,[i]],[c,s,[u]]]=Ft(n);if(0===Ju(r)&&0===Ju(c))return pu(t,[n[0],n[2]]);const{vₓ:f,vᵧ:l,v:a}=uu(e),p=Zu(r,f),h=Zu(c,l),d=Wu(p,h),v=Zu(o,f),g=Zu(s,l),m=Wu(v,g),x=ju(i,f),b=ju(u,l),_=Wu(x,b);return[d,m,Wu(_,a)]}const tf=it,nf=$,ef=H,rf=B,of=Jo,cf=Q;function sf(t,n){const e=Ft(t);if(0===cf(e[0][0])&&0===cf(e[1][0]))return Ku([t[0],t[2]],n);const[[r,o,[i]],[c,s,[u]]]=Ft(n);if(0===cf(r)&&0===cf(c))return wu(t,[n[0],n[2]]);const{vₓₓ:f,vₓᵧ:l,vᵧᵧ:a,vₓ:p,vᵧ:h,v:d}=xu(e),v=tf(i,i),g=nf(i,o),m=nf(i,r),x=tf(i,u),b=nf(i,s),_=nf(i,c),I=ef(o,o),N=ef(o,r),S=nf(u,o),E=ef(o,s),w=ef(o,c),O=ef(r,s),M=ef(r,r),T=nf(u,r),C=ef(r,c),y=tf(u,u),P=nf(u,s),A=nf(u,c),B=ef(s,s),F=ef(s,c),z=ef(c,c),Y=ef(M,f),V=ef(C,l),L=ef(z,a),k=rf(Y,V),$=rf(k,L),X=ef(N,f),q=ef(F,a),H=rf(w,O),D=ef(H,l),Q=of(rf(X,q)),R=rf(Q,D),G=rf(of(m),I),U=rf(of(A),B),j=rf(_,E),Z=rf(j,T),W=ef(G,f),J=ef(U,a),K=ef(Z,l),tt=ef(r,p),nt=ef(c,h),et=rf(W,J),rt=rf(et,K),ot=rf(tt,nt),it=rf(rt,ot),ct=ef(g,f),st=ef(P,a),ut=rf(b,S),ft=ef(ut,l),lt=of(rf(ct,st)),at=ef(o,p),pt=ef(s,h),ht=rf(lt,ft),dt=rf(at,pt),vt=rf(ht,dt),gt=ef(v,f),mt=ef(x,l),xt=ef(y,a),bt=nf(i,p),_t=nf(u,h),It=rf(gt,mt),Nt=rf(It,xt),St=rf(bt,_t),Et=rf(Nt,St);return[$,R,it,vt,rf(Et,d)]}const uf=it,ff=$,lf=H,af=B,pf=Jo,hf=Q;function df(t,n){const e=Bt(t);if(0===hf(e[0][0])&&0===hf(e[1][0]))return sf(Bu(t),n);const[[r,o,[i]],[c,s,[u]]]=Ft(n);if(0===hf(r)&&0===hf(c))return Uu(t,[n[0],n[2]]);const{vₓₓₓ:f,vₓₓᵧ:l,vₓᵧᵧ:a,vᵧᵧᵧ:p,vₓₓ:h,vₓᵧ:d,vᵧᵧ:v,vₓ:g,vᵧ:m,v:x}=Xu(e),b=uf(i,i),_=ff(i,o),I=ff(i,r),N=uf(i,u),S=ff(i,s),E=ff(i,c),w=lf(o,o),O=lf(o,r),M=ff(u,o),T=lf(o,s),C=lf(o,c),y=lf(r,s),P=lf(r,r),A=ff(u,r),B=lf(r,c),F=uf(u,u),z=ff(u,s),Y=ff(u,c),V=lf(s,s),L=lf(s,c),k=lf(c,c),$=lf(r,f),X=lf(r,a),q=lf(c,l),H=lf(c,p),D=af($,q),Q=af(X,H),R=lf(P,D),G=lf(k,Q),U=af(R,G),j=af(I,w),Z=af(Y,V),W=af(pf(I),w),J=af(pf(Y),V),K=af(pf(T),A),tt=af(pf(T),E),nt=af(pf(A),T),et=af(ff(6,I),w),rt=af(ff(6,Y),V),ot=af(C,y),it=af(E,A),ct=af(pf(M),S),st=af(pf(S),M),ut=af(E,T),ft=af(ut,A),lt=ff(3,P),at=ff(3,k),pt=lf(lt,f),ht=lf(P,l),dt=pf(lf(B,l)),vt=pf(lf(B,a)),gt=lf(k,a),mt=lf(at,p),xt=af(pt,dt),bt=af(ht,vt),_t=af(xt,gt),It=af(bt,mt),Nt=lf(o,_t),St=lf(s,It),Et=af(Nt,St),wt=lf(c,W),Ot=lf(c,tt),Mt=lf(r,K),Tt=lf(r,J),Ct=lf(ff(3,r),j),yt=lf(ff(3,c),Z),Pt=af(wt,Mt),At=af(Ot,Tt),zt=lf(Ct,f),Yt=lf(yt,p),Vt=lf(Pt,l),Lt=lf(At,a),kt=af(zt,Yt),$t=af(Vt,Lt),Xt=lf(P,h),qt=lf(k,v),Ht=lf(B,d),Dt=af(Xt,qt),Qt=af(kt,$t),Rt=af(Dt,Ht),Gt=af(Qt,Rt),Ut=lf(o,et),jt=lf(s,rt),Zt=ff(2*i,ot),Wt=lf(pf(s),it),Jt=lf(o,nt),Kt=lf(o,J),tn=af(Zt,Jt),nn=af(Wt,Kt),en=lf(L,v),rn=lf(O,h),on=lf(ot,d),cn=af(en,rn),sn=lf(Ut,f),un=lf(tn,l),fn=lf(jt,p),ln=lf(nn,a),an=af(sn,fn),pn=af(un,ln),hn=af(an,pn),dn=af(pf(cn),on),vn=af(hn,dn),gn=lf(uf(3,i),j),mn=lf(uf(3,u),Z),xn=ff(i,tt),bn=ff(i,J),_n=ff(u,W),In=ff(u,K),Nn=af(xn,_n),Sn=af(bn,In),En=lf(gn,f),wn=lf(mn,p),On=lf(Nn,l),Mn=lf(Sn,a),Tn=lf(W,h),Cn=lf(J,v),yn=lf(ft,d),Pn=lf(r,g),An=lf(c,m),Bn=af(En,wn),Fn=af(On,Mn),zn=af(Tn,Cn),Yn=af(Bn,Fn),Vn=af(zn,yn),Ln=af(Pn,An),kn=af(Yn,Vn),$n=af(kn,Ln),Xn=lf(uf(3,i),_),qn=lf(uf(3,u),z),Hn=ff(i,ct),Dn=ff(u,st),Qn=lf(_,h),Rn=lf(z,v),Gn=lf(S,d),Un=lf(M,d),jn=pf(af(Qn,Rn)),Zn=af(Gn,Un),Wn=lf(o,g),Jn=lf(s,m),Kn=lf(Xn,f),te=lf(qn,p),ne=lf(Hn,l),ee=lf(Dn,a),re=af(Kn,te),oe=af(ne,ee),ie=af(re,oe),ce=af(jn,Zn),se=af(Wn,Jn),ue=af(ie,ce),fe=af(ue,se),le=ff(i,f),ae=ff(i,a),pe=ff(u,l),he=ff(u,p),de=af(le,pe),ve=af(ae,he),ge=af(de,h),me=af(ve,v),xe=lf(b,ge),be=lf(F,me),_e=lf(N,d),Ie=ff(i,g),Ne=ff(u,m),Se=af(xe,be),Ee=af(Se,_e),we=af(Ie,Ne),Oe=af(Ee,we);return[U,Et,Gt,vn,$n,fe,af(Oe,x)]}const vf=$,gf=H,mf=B,xf=Q;function bf(t,n){const e=zt(t),[[r,o,i,[c]],[s,u,f,[l]]]=Bt(n);if(0===xf(r)&&0===xf(s))return Ku(t,Bu(n));const{vₓ:a,vᵧ:p,v:h}=uu(e),d=gf(r,a),v=gf(s,p),g=mf(d,v),m=gf(o,a),x=gf(u,p),b=mf(m,x),_=gf(i,a),I=gf(f,p),N=mf(_,I),S=vf(c,a),E=vf(l,p),w=mf(S,E);return[g,b,N,mf(w,h)]}const _f=it,If=$,Nf=H,Sf=B,Ef=Jo,wf=Q;function Of(t,n){const e=Ft(t);if(0===wf(e[0][0])&&0===wf(e[1][0]))return bf([t[0],t[2]],n);const[[r,o,i,[c]],[s,u,f,[l]]]=Bt(n);if(0===wf(r)&&0===wf(s))return sf(t,Bu(n));const{vₓₓ:a,vₓᵧ:p,vᵧᵧ:h,vₓ:d,vᵧ:v,v:g}=xu(e),m=_f(c,c),x=If(c,i),b=If(c,o),_=If(c,r),I=_f(c,l),N=If(c,f),S=If(c,u),E=If(c,s),w=Nf(i,i),O=Nf(i,o),M=Nf(i,r),T=If(l,i),C=Nf(i,f),y=Nf(i,u),P=Nf(i,s),A=Nf(o,f),B=Nf(o,o),F=Nf(o,r),z=If(l,o),Y=Nf(o,u),V=Nf(o,s),L=Nf(r,r),k=If(l,r),$=Nf(r,f),X=Nf(r,u),q=Nf(r,s),H=_f(l,l),D=If(l,f),Q=If(l,u),R=If(l,s),G=Nf(f,f),U=Nf(f,u),j=Nf(s,s),Z=Nf(u,u),W=Nf(u,s),J=Nf(f,s),K=Nf(L,a),tt=Nf(q,p),nt=Nf(j,h),et=Sf(K,tt),rt=Sf(et,nt),ot=Nf(F,a),it=Nf(W,h),ct=Sf(ot,it),st=Sf(V,X),ut=Nf(st,p),ft=Sf(Ef(ct),ut),lt=Sf(Ef(M),B),at=Sf(Ef(J),Z),pt=Sf(P,Y),ht=Sf(pt,$),dt=Nf(lt,a),vt=Nf(at,h),gt=Sf(dt,vt),mt=Nf(ht,p),xt=Sf(gt,mt),bt=Sf(_,O),_t=Sf(R,U),It=Sf(E,y),Nt=Sf(A,k),St=Sf(It,Nt),Et=Nf(bt,a),wt=Nf(_t,h),Ot=Ef(Sf(Et,wt)),Mt=Nf(St,p),Tt=Nf(r,d),Ct=Nf(s,v),yt=Sf(Tt,Ct),Pt=Sf(Ot,Mt),At=Sf(Pt,yt),zt=Sf(Ef(b),w),Yt=Sf(Ef(Q),G),Vt=Sf(S,C),Lt=Sf(Vt,z),kt=Nf(zt,a),$t=Nf(Yt,h),Xt=Nf(Lt,p),qt=Sf(kt,$t),Ht=Sf(qt,Xt),Dt=Nf(o,d),Qt=Nf(u,v),Rt=Sf(Dt,Qt),Gt=Sf(Ht,Rt),Ut=Nf(x,a),jt=Nf(D,h),Zt=Sf(N,T),Wt=Nf(Zt,p),Jt=Ef(Sf(Ut,jt)),Kt=Sf(Jt,Wt),tn=Nf(i,d),nn=Nf(f,v),en=Sf(tn,nn),rn=Sf(Kt,en),on=Nf(m,a),cn=Nf(I,p),sn=Nf(H,h),un=If(c,d),fn=If(l,v),ln=Sf(on,cn),an=Sf(ln,sn),pn=Sf(un,fn),hn=Sf(an,pn);return[rt,ft,xt,At,Gt,rn,Sf(hn,g)]}const Mf=it,Tf=$,Cf=H,yf=B,Pf=Jo,Af=Q,Bf=[[function(t,n){const{coeffs:{vₓ:e,vᵧ:r,v:o},errorBound:{v_:i}}=Lc(t),[[c,[,s]],[u,[,f]]]=Bc(n),l=c[1],a=u[1],p=e[1],h=r[1],d=o[1],v=l*p,g=2*qc(v),m=Xc(c,e),x=a*h,b=2*qc(x),_=Xc(u,r),I=v+x,N=kc(m,_),S=g+b+qc(I),E=s*p,w=$c(s,e),O=qc(E),M=f*h,T=$c(f,r),C=qc(M),y=E+M,P=kc(w,T),A=O+C+qc(y),B=kc(P,o),F=A+i+qc(y+d);return{coeffs:[N,B],errBound:[Hc*S,Hc*F]}},function(t,n){const{coeffs:{vₓ:e,vᵧ:r,v:o},errorBound:{v_:i}}=Lc(t),{coeffs:[[c,s,[,u]],[f,l,[,a]]],errorBound:[[p],[h]]}=Ac(n),d=e[1],v=r[1],g=o[1],m=Ss(d),x=Ss(v),b=(Ss(g),s[1]),_=c[1],I=l[1],N=f[1],S=_*d,E=Ns(c,e),w=p*m+2*Ss(S),O=N*v,M=Ns(f,r),T=h*x+2*Ss(O),C=S+O,y=_s(E,M),P=w+T+Ss(C),A=b*d,B=Ns(s,e),F=2*Ss(A),z=I*v,Y=Ns(l,r),V=2*Ss(z),L=A+z,k=_s(B,Y),$=F+V+Ss(L),X=Is(u,e),q=u*d,H=Ss(q),D=Is(a,r),Q=a*v,R=Ss(Q),G=q+Q,U=_s(X,D),j=H+R+Ss(G),Z=G+g,W=_s(U,o),J=j+i+Ss(Z);return{coeffs:[y,k,W],errBound:[Es*P,Es*$,Es*J]}},function(t,n){const{coeffs:{vₓ:e,vᵧ:r,v:o},errorBound:{v_:i}}=Lc(t),{coeffs:[[c,s,u,[,f]],[l,a,p,[,h]]],errorBound:[[d,v,g],[m,x,b]]}=Pc(n),_=qs(e[1]),I=qs(r[1]),N=Xs(c,e),S=d*_+2*qs(N[1]),E=Xs(l,r),w=m*I+2*qs(E[1]),O=ks(N,E),M=S+w+qs(O[1]),T=Xs(s,e),C=v*_+2*qs(T[1]),y=Xs(a,r),P=x*I+2*qs(y[1]),A=ks(T,y),B=C+P+qs(A[1]),F=Xs(u,e),z=g*_+2*qs(F[1]),Y=Xs(p,r),V=b*I+2*qs(Y[1]),L=ks(F,Y),k=z+V+qs(L[1]),$=$s(f,e),X=qs($[1]),q=$s(h,r),H=qs(q[1]),D=ks($,q),Q=X+H+qs(D[1]),R=ks(D,o),G=Q+i+qs(R[1]);return{coeffs:[O,A,L,R],errBound:[Hs*M,Hs*B,Hs*k,Hs*G]}}],[function(t,n){const{coeffs:{vₓₓ:e,vₓᵧ:r,vᵧᵧ:o,vₓ:i,vᵧ:c,v:s},errorBound:{vₓₓ_:u,vₓᵧ_:f,vᵧᵧ_:l,vₓ_:a,vᵧ_:p,v_:h}}=Wc(t),[[d,[,v]],[g,[,m]]]=Bc(n),x=e[1],b=r[1],_=o[1],I=i[1],N=c[1],S=s[1],E=rs(x),w=rs(b),O=rs(_),M=d[1],T=g[1],C=rs(v),y=rs(M),P=rs(m),A=rs(T),B=v*v,F=v*M,z=v*m,Y=v*T,V=M*M,L=M*m,k=M*T,$=m*m,X=m*T,q=T*T,H=Jc(v,v),D=ts(v,d),Q=rs(F),R=Jc(v,m),G=ts(v,g),U=rs(Y),j=rs(V),Z=ns(d,d),W=2*j,J=ts(m,d),K=rs(L),tt=rs(k),nt=ns(d,g),et=2*tt,rt=Jc(m,m),ot=ts(m,g),it=rs(X),ct=rs(q),st=ns(g,g),ut=2*ct,ft=V*x,lt=ns(Z,e),at=W*E*j*u+2*rs(ft),pt=q*_,ht=ns(st,o),dt=ut*O*ct*l+2*rs(pt),vt=k*b,gt=ns(nt,r),mt=et*w*tt*f+2*rs(vt),xt=ft+pt,bt=es(lt,ht),_t=at+dt+rs(xt),It=xt+vt,Nt=es(bt,gt),St=_t+mt+rs(It),Et=F*x,wt=ns(D,e),Ot=Q*(E+u)+2*rs(Et),Mt=X*_,Tt=ns(ot,o),Ct=it*(O+l)+2*rs(Mt),yt=Y+L,Pt=es(G,J),At=U+K+rs(yt),Bt=yt*b,Ft=ns(Pt,r),zt=At*w+rs(yt)*f+2*rs(Bt),Yt=2*(Et+Mt),Vt=Kc(es(wt,Tt)),Lt=2*(Ot+Ct)+rs(Yt),kt=Yt+Bt,$t=es(Vt,Ft),Xt=Lt+zt+rs(kt),qt=M*I,Ht=ns(d,i),Dt=y*a+2*rs(qt),Qt=T*N,Rt=ns(g,c),Gt=A*p+2*rs(Qt),Ut=qt+Qt,jt=es(Ht,Rt),Zt=Dt+Gt+rs(Ut),Wt=kt+Ut,Jt=es($t,jt),Kt=Xt+Zt+rs(Wt),tn=B*x,nn=ns(H,e),en=2*rs(tn),rn=z*b,on=ns(R,r),cn=2*rs(rn),sn=$*_,un=ns(rt,o),fn=2*rs(sn),ln=tn+rn,an=es(nn,on),pn=en+cn+rs(ln),hn=ln+sn,dn=es(an,un),vn=pn+fn+rs(hn),gn=v*I,mn=ts(v,i),xn=C*a+rs(gn),bn=m*N,_n=ts(m,c),In=P*p+rs(bn),Nn=gn+bn,Sn=es(mn,_n),En=xn+In+rs(Nn),wn=hn+Nn,On=es(dn,Sn),Mn=vn+En+rs(wn),Tn=wn+S,Cn=es(On,s),yn=Mn+h+rs(Tn);return{coeffs:[Nt,Jt,Cn],errBound:[os*St,os*Kt,os*yn]}},function(t,n){const{coeffs:{vₓₓ:e,vₓᵧ:r,vᵧᵧ:o,vₓ:i,vᵧ:c,v:s},errorBound:{vₓₓ_:u,vₓᵧ_:f,vᵧᵧ_:l,vₓ_:a,vᵧ_:p,v_:h}}=Wc(t),{coeffs:[[d,v,[,g]],[m,x,[,b]]],errorBound:[[_],[I]]}=Ac(n),N=e[1],S=r[1],E=o[1],w=i[1],O=c[1],M=s[1],T=ys(N),C=ys(S),y=ys(E),P=ys(w),A=ys(O),B=v[1],F=d[1],z=x[1],Y=m[1],V=ys(g),L=ys(B),k=ys(F),$=ys(b),X=ys(z),q=ys(Y),H=g*g,D=g*B,Q=g*F,R=g*b,G=g*z,U=g*Y,j=B*B,Z=B*F,W=B*b,J=B*z,K=B*Y,tt=F*z,nt=F*F,et=F*b,rt=F*Y,ot=b*b,it=b*z,ct=b*Y,st=z*z,ut=z*Y,ft=Y*Y,lt=ys(H),at=ys(R),pt=ys(ot),ht=ws(g,g),dt=Ms(g,v),vt=ys(D),gt=Ms(g,d),mt=ys(Q),xt=ws(g,b),bt=Ms(g,x),_t=ys(G),It=Ms(g,m),Nt=ys(U),St=Ts(v,v),Et=2*ys(j),wt=Ts(v,d),Ot=ys(Z),Mt=L*_+2*Ot,Tt=Ms(b,v),Ct=ys(W),yt=Ts(v,x),Pt=2*ys(J),At=Ts(v,m),Bt=L*I+2*ys(K),Ft=Ts(d,x),zt=_*X+2*ys(tt),Yt=Ts(d,d),Vt=ys(nt),Lt=2*(_*k+Vt),kt=Ms(b,d),$t=ys(et),Xt=Ts(d,m),qt=ys(rt),Ht=_*q+k*I+2*qt,Dt=ws(b,b),Qt=Ms(b,x),Rt=ys(it),Gt=Ms(b,m),Ut=ys(ct),jt=Ts(x,x),Zt=2*ys(st),Wt=Ts(x,m),Jt=ys(ut),Kt=X*I+2*Jt,tn=Ts(m,m),nn=ys(ft),en=2*(I*q+nn),rn=nt*N,on=Ts(Yt,e),cn=Lt*T+Vt*u+2*ys(rn),sn=rt*S,un=Ts(Xt,r),fn=Ht*C+qt*f+2*ys(sn),ln=ft*E,an=Ts(tn,o),pn=en*y+nn*l+2*ys(ln),hn=rn+sn,dn=Cs(on,un),vn=cn+fn+ys(hn),gn=hn+ln,mn=Cs(dn,an),xn=vn+pn+ys(gn),bn=Z*N,_n=Ts(wt,e),In=Mt*T+Ot*u+2*ys(bn),Nn=ut*E,Sn=Ts(Wt,o),En=Kt*y+Jt*l+2*ys(Nn),wn=K+tt,On=Cs(At,Ft),Mn=ys(wn),Tn=Bt+zt+Mn,Cn=wn*S,yn=Ts(On,r),Pn=Tn*C+Mn*f+2*ys(Cn),An=2*(bn+Nn),Bn=Os(Cs(_n,Sn)),Fn=2*(In+En)+ys(An),zn=An+Cn,Yn=Cs(Bn,yn),Vn=Fn+Pn+ys(zn),Ln=2*Q+j,kn=ys(Ln),$n=Cs(Os(gt),St),Xn=2*mt+Et+ys(Ln),qn=2*ct+st,Hn=ys(qn),Dn=Cs(Os(Gt),jt),Qn=2*Ut+Zt+ys(qn),Rn=U+J,Gn=(ys(Rn),Cs(It,yt)),Un=Nt+Pt+ys(Rn),jn=Rn+et,Zn=Cs(Gn,kt),Wn=ys(jn),Jn=Un+$t+Wn,Kn=Ln*N,te=Ts($n,e),ne=Xn*T+kn*u+2*ys(Kn),ee=qn*E,re=Ts(Dn,o),oe=Qn*y+Hn*l+2*ys(ee),ie=jn*S,ce=Ts(Zn,r),se=Jn*C+Wn*f+2*ys(ie),ue=F*w,fe=Ts(d,i),le=_*P+k*a+ys(ue),ae=Y*O,pe=Ts(m,c),he=I*A+q*p+ys(ae),de=Kn+ee,ve=Cs(te,re),ge=ne+oe+ys(de),me=de+ie,xe=Cs(ve,ce),be=ge+se+ys(me),_e=ue+ae,Ie=Cs(fe,pe),Ne=le+he+ys(_e),Se=me+_e,Ee=Cs(xe,Ie),we=be+Ne+ys(Se),Oe=D*N,Me=Ts(dt,e),Te=vt*(T+u)+2*ys(Oe),Ce=it*E,ye=Ts(Qt,o),Pe=Rt*(y+l)+2*ys(Ce),Ae=G+W,Be=Cs(bt,Tt),Fe=ys(Ae),ze=_t+Ct+Fe,Ye=Ae*S,Ve=Ts(Be,r),Le=ze*C+Fe*f+2*ys(Ye),ke=2*(Oe+Ce),$e=Os(Cs(Me,ye)),Xe=2*(Te+Pe)+ys(ke),qe=B*w,He=Ts(v,i),De=L*a+2*ys(qe),Qe=z*O,Re=Ts(x,c),Ge=X*p+2*ys(Qe),Ue=ke+Ye,je=Cs($e,Ve),Ze=Xe+Le+ys(Ue),We=qe+Qe,Je=Cs(He,Re),Ke=De+Ge+ys(We),tr=Ue+We,nr=Cs(je,Je),er=Ze+Ke+ys(tr),rr=H*N,or=Ts(ht,e),ir=lt*u+2*ys(rr),cr=R*S,sr=Ts(xt,r),ur=at*f+2*ys(cr),fr=ot*E,lr=Ts(Dt,o),ar=pt*l+2*ys(fr),pr=g*w,hr=Ms(g,i),dr=V*a+ys(pr),vr=b*O,gr=Ms(b,c),mr=$*p+ys(vr),xr=rr+cr,br=Cs(or,sr),_r=ir+ur+ys(xr),Ir=xr+fr,Nr=Cs(br,lr),Sr=_r+ar+ys(Ir),Er=pr+vr,wr=Cs(hr,gr),Or=dr+mr+ys(Er),Mr=Ir+Er,Tr=Cs(Nr,wr),Cr=Sr+Or+ys(Mr),yr=Mr+M,Pr=Cs(Tr,s),Ar=Cr+h+ys(yr);return{coeffs:[mn,Yn,Ee,nr,Pr],errBound:[Ps*xn,Ps*Vn,Ps*we,Ps*er,Ps*Ar]}},function(t,n){const{coeffs:{vₓₓ:e,vₓᵧ:r,vᵧᵧ:o,vₓ:i,vᵧ:c,v:s},errorBound:{vₓₓ_:u,vₓᵧ_:f,vᵧᵧ_:l,vₓ_:a,vᵧ_:p,v_:h}}=Wc(t),{coeffs:[[d,v,g,[,m]],[x,b,_,[,I]]],errorBound:[[N,S,E],[w,O,M]]}=Pc(n),T=e[1],C=r[1],y=o[1],P=i[1],A=c[1],B=s[1],F=js(T),z=js(C),Y=js(y),V=js(P),L=js(A),k=g[1],$=v[1],X=d[1],q=_[1],H=b[1],D=x[1],Q=js(m),R=js(k),G=js($),U=js(X),j=js(I),Z=js(q),W=js(H),J=js(D),K=m*m,tt=m*k,nt=m*$,et=m*X,rt=m*I,ot=m*q,it=m*H,ct=m*D,st=k*k,ut=k*$,ft=k*X,lt=k*I,at=k*q,pt=k*H,ht=k*D,dt=$*q,vt=$*$,gt=$*X,mt=$*I,xt=$*H,bt=$*D,_t=X*X,It=X*I,Nt=X*q,St=X*H,Et=X*D,wt=I*I,Ot=I*q,Mt=I*H,Tt=I*D,Ct=q*q,yt=q*H,Pt=D*D,At=H*H,Bt=H*D,Ft=q*D,zt=Ds(m,m),Yt=js(K),Vt=Rs(m,g),Lt=js(tt),kt=Q*E+Lt,$t=Rs(m,v),Xt=Q*S+js(nt),qt=Rs(m,d),Ht=Q*N+js(et),Dt=Ds(m,I),Qt=js(rt),Rt=Rs(m,_),Gt=Q*M+js(ot),Ut=Rs(m,b),jt=Q*O+js(it),Zt=Rs(m,x),Wt=Q*w+js(ct),Jt=Gs(g,g),Kt=E*R+R*E+2*js(st),tn=Gs(g,v),nn=E*G+R*S+2*js(ut),en=Gs(g,d),rn=E*U+R*N+2*js(ft),on=Rs(I,g),cn=j*E+js(lt),sn=Gs(g,_),un=E*Z+R*M+2*js(at),fn=Gs(g,b),ln=E*W+R*O+2*js(pt),an=Gs(g,x),pn=E*J+R*w+2*js(ht),hn=Gs(v,_),dn=S*Z+G*M+2*js(dt),vn=Gs(v,v),gn=S*G+G*S+2*js(vt),mn=Gs(v,d),xn=js(gt),bn=S*U+G*N+2*xn,_n=Rs(I,v),In=j*S+js(mt),Nn=Gs(v,b),Sn=S*W+G*O+2*js(xt),En=Gs(v,x),wn=S*J+G*w+2*js(bt),On=Gs(d,d),Mn=js(_t),Tn=N*U+U*N+2*Mn,Cn=Rs(I,d),yn=j*N+js(It),Pn=Gs(d,_),An=N*Z+U*M+2*js(Nt),Bn=Gs(d,b),Fn=N*W+U*O+2*js(St),zn=Gs(d,x),Yn=js(Et),Vn=N*J+U*w+2*Yn,Ln=Ds(I,I),kn=js(wt),$n=Rs(I,_),Xn=js(Ot),qn=j*M+Xn,Hn=Rs(I,b),Dn=j*O+js(Mt),Qn=Rs(I,x),Rn=j*w+js(Tt),Gn=Gs(_,_),Un=M*Z+Z*M+2*js(Ct),jn=Gs(_,b),Zn=M*W+Z*O+2*js(yt),Wn=Gs(x,x),Jn=js(Pt),Kn=w*J+J*w+2*Jn,te=Gs(b,b),ne=O*W+W*O+2*js(At),ee=Gs(b,x),re=js(Bt),oe=O*J+W*w+2*re,ie=Gs(_,x),ce=M*J+Z*w+2*js(Ft),se=_t*T,ue=Gs(On,e),fe=Tn*F+Mn*u+2*js(se),le=Et*C,ae=Gs(zn,r),pe=Vn*z+Yn*f+2*js(le),he=Pt*y,de=Gs(Wn,o),ve=Kn*Y+Jn*l+2*js(he),ge=se+le,me=Us(ue,ae),xe=fe+pe+js(ge),be=ge+he,_e=Us(me,de),Ie=xe+ve+js(be),Ne=gt*T,Se=Gs(mn,e),Ee=bn*F+xn*u+2*js(Ne),we=Bt*y,Oe=Gs(ee,o),Me=oe*Y+re*l+2*js(we),Te=Ne+we,Ce=Us(Se,Oe),ye=Ee+Me+js(Te),Pe=bt+St,Ae=Us(En,Bn),Be=js(Pe),Fe=wn+Fn+Be,ze=Pe*C,Ye=Gs(Ae,r),Ve=Fe*z+Be*f+2*js(ze),Le=2*Te+ze,ke=Us(Qs(Ce),Ye),$e=2*ye+Ve+js(Le),Xe=2*ft+vt,qe=Us(Qs(en),vn),He=js(Xe),De=2*rn+gn+js(Xe),Qe=2*Ft+At,Re=Us(Qs(ie),te),Ge=js(Qe),Ue=2*ce+ne+js(Qe),je=ht+xt,Ze=Us(an,Nn),We=pn+Sn+js(je),Je=je+Nt,Ke=Us(Ze,Pn),tr=js(Je),nr=We+An+tr,er=Xe*T,rr=Gs(qe,e),or=De*F+He*u+2*js(er),ir=Qe*y,cr=Gs(Re,o),sr=Ue*Y+Ge*l+2*js(ir),ur=er+ir,fr=Us(rr,cr),lr=or+sr+js(ur),ar=Je*C,pr=Gs(Ke,r),hr=nr*z+tr*f+2*js(ar),dr=ur+ar,vr=Us(fr,pr),gr=lr+hr+js(dr),mr=et+ut,xr=Us(qt,tn),br=js(mr),_r=Ht+nn+br,Ir=Tt+yt,Nr=Us(Qn,jn),Sr=js(Ir),Er=Rn+Zn+Sr,wr=ct+pt,Or=Us(Zt,fn),Mr=Wt+ln+js(wr),Tr=dt+It,Cr=Us(hn,Cn),yr=dn+yn+js(Tr),Pr=wr+Tr,Ar=Us(Or,Cr),Br=js(Pr),Fr=Mr+yr+Br,zr=mr*T,Yr=Gs(xr,e),Vr=_r*F+br*u+2*js(zr),Lr=Ir*y,kr=Gs(Nr,o),$r=Er*Y+Sr*l+2*js(Lr),Xr=2*(zr+Lr),qr=Qs(Us(Yr,kr)),Hr=2*(Vr+$r)+js(Xr),Dr=Pr*C,Qr=Gs(Ar,r),Rr=Fr*z+Br*f+2*js(Dr),Gr=X*P,Ur=Gs(d,i),jr=N*V+U*a+2*js(Gr),Zr=D*A,Wr=Gs(x,c),Jr=w*L+J*p+2*js(Zr),Kr=Gr+Zr,to=Us(Ur,Wr),no=jr+Jr+js(Kr),eo=Xr+Dr,ro=Us(qr,Qr),oo=Hr+Rr+js(eo),io=eo+Kr,co=Us(ro,to),so=oo+no+js(io),uo=2*nt+st,fo=Us(Qs($t),Jt),lo=js(uo),ao=2*Xt+Kt+lo,po=2*Mt+Ct,ho=Us(Qs(Hn),Gn),vo=js(po),go=2*Dn+Un+vo,mo=it+at,xo=Us(Ut,sn),bo=jt+un+js(mo),_o=mo+mt,Io=Us(xo,_n),No=js(_o),So=bo+In+No,Eo=uo*T,wo=Gs(fo,e),Oo=ao*F+lo*u+2*js(Eo),Mo=po*y,To=Gs(ho,o),Co=go*Y+vo*l+2*js(Mo),yo=_o*C,Po=Gs(Io,r),Ao=So*z+No*f+2*js(yo),Bo=Eo+Mo,Fo=Us(wo,To),zo=Oo+Co+js(Bo),Yo=Bo+yo,Vo=Us(Fo,Po),Lo=zo+Ao+js(Yo),ko=$*P,$o=Gs(v,i),Xo=S*V+G*a+2*js(ko),qo=H*A,Ho=Gs(b,c),Do=O*L+W*p+2*js(qo),Qo=ko+qo,Ro=Us($o,Ho),Go=Xo+Do+js(Qo),Uo=Yo+Qo,jo=Us(Vo,Ro),Zo=Lo+Go+js(Uo),Wo=tt*T,Jo=Gs(Vt,e),Ko=kt*F+Lt*u+2*js(Wo),ti=Ot*y,ni=Gs($n,o),ei=qn*Y+Xn*l+2*js(ti),ri=ot+lt,oi=Us(Rt,on),ii=js(ri),ci=Gt+cn+ii,si=ri*C,ui=Gs(oi,r),fi=ci*z+ii*f+2*js(si),li=2*(Wo+ti),ai=Qs(Us(Jo,ni)),pi=2*(Ko+ei)+js(li),hi=li+si,di=Us(ai,ui),vi=pi+fi+js(hi),gi=k*P,mi=Gs(g,i),xi=E*V+R*a+2*js(gi),bi=q*A,_i=Gs(_,c),Ii=M*L+Z*p+2*js(bi),Ni=gi+bi,Si=Us(mi,_i),Ei=xi+Ii+js(Ni),wi=hi+Ni,Oi=Us(di,Si),Mi=vi+Ei+js(wi),Ti=K*T,Ci=Gs(zt,e),yi=Yt*u+2*js(Ti),Pi=rt*C,Ai=Gs(Dt,r),Bi=Qt*f+2*js(Pi),Fi=wt*y,zi=Gs(Ln,o),Yi=kn*l+2*js(Fi),Vi=m*P,Li=Rs(m,i),ki=Q*a+js(Vi),$i=I*A,Xi=Rs(I,c),qi=j*p+js($i),Hi=Ti+Pi,Di=Us(Ci,Ai),Qi=yi+Bi+js(Hi),Ri=Hi+Fi,Gi=Us(Di,zi),Ui=Qi+Yi+js(Ri),ji=Vi+$i,Zi=Us(Li,Xi),Wi=ki+qi+js(ji),Ji=Ri+ji,Ki=Us(Gi,Zi),tc=Ui+Wi+js(Ji),nc=Ji+B,ec=Us(Ki,s),rc=tc+h+js(nc);return{coeffs:[_e,ke,vr,co,jo,Oi,ec],errBound:[Zs*Ie,Zs*$e,Zs*gr,Zs*so,Zs*Zo,Zs*Mi,Zs*rc]}}],[function(t,n){const{coeffs:{vₓₓₓ:e,vₓₓᵧ:r,vₓᵧᵧ:o,vᵧᵧᵧ:i,vₓₓ:c,vₓᵧ:s,vᵧᵧ:u,vₓ:f,vᵧ:l,v:a},errorBound:{vₓₓₓ_:p,vₓₓᵧ_:h,vₓᵧᵧ_:d,vᵧᵧᵧ_:v,vₓₓ_:g,vₓᵧ_:m,vᵧᵧ_:x,vₓ_:b,vᵧ_:_,v_:I}}=ps(t),[[N,[,S]],[E,[,w]]]=Bc(n),O=e[1],M=r[1],T=o[1],C=i[1],y=c[1],P=s[1],A=u[1],B=f[1],F=l[1],z=a[1],Y=N[1],V=E[1],L=xs(S),k=xs(Y),$=xs(w),X=xs(V),q=S*S,H=S*Y,D=S*w,Q=S*V,R=Y*Y,G=Y*w,U=Y*V,j=w*w,Z=w*V,W=V*V,J=hs(S,S),K=vs(S,N),tt=xs(H),nt=hs(S,w),et=vs(S,E),rt=xs(Q),ot=gs(N,N),it=2*xs(R),ct=vs(w,N),st=xs(G),ut=gs(N,E),ft=2*xs(U),lt=hs(w,w),at=vs(w,E),pt=xs(Z),ht=gs(E,E),dt=2*xs(W),vt=xs(q),gt=xs(H),mt=xs(D),xt=xs(Q),bt=xs(R),_t=xs(G),It=xs(U),Nt=xs(j),St=xs(Z),Et=xs(W),wt=S*O,Ot=vs(S,e),Mt=L*p+xs(wt),Tt=3*S,Ct=hs(3,S),yt=xs(Tt),Pt=Tt*O,At=gs(Ct,e),Bt=yt*p+2*xs(Pt),Ft=S*M,zt=vs(S,r),Yt=L*h+xs(Ft),Vt=w*M,Lt=vs(w,r),kt=$*h+xs(Vt),$t=S*T,Xt=vs(S,o),qt=L*d+xs($t),Ht=w*T,Dt=vs(w,o),Qt=$*d+xs(Ht),Rt=w*C,Gt=vs(w,i),Ut=$*v+xs(Rt),jt=3*w,Zt=hs(3,w),Wt=xs(jt),Jt=jt*C,Kt=gs(Zt,i),tn=Wt*v+2*xs(Jt),nn=Y*O,en=gs(N,e),rn=k*p+2*xs(nn),on=Y*T,cn=gs(N,o),sn=k*d+2*xs(on),un=V*M,fn=gs(E,r),ln=X*h+2*xs(un),an=V*C,pn=gs(E,i),hn=X*v+2*xs(an),dn=nn+un,vn=ms(en,fn),gn=xs(dn),mn=rn+ln+gn,xn=on+an,bn=ms(cn,pn),_n=xs(xn),In=sn+hn+_n,Nn=R*dn,Sn=gs(ot,vn),En=it*gn+bt*mn+2*xs(Nn),wn=W*xn,On=gs(ht,bn),Mn=dt*_n+Et*In+2*xs(wn),Tn=Nn+wn,Cn=ms(Sn,On),yn=En+Mn+xs(Tn),Pn=Pt+Vt,An=ms(At,Lt),Bn=Bt+kt+xs(Pn),Fn=2*(Ft+Ht),zn=ds(ms(zt,Dt)),Yn=2*(Yt+Qt)+xs(Fn),Vn=$t+Jt,Ln=ms(Xt,Kt),kn=qt+tn+xs(Vn),$n=Pn+y,Xn=ms(An,c),qn=xs($n),Hn=Bn+g+qn,Dn=Fn+P,Qn=ms(zn,s),Rn=xs(Dn),Gn=Yn+m+Rn,Un=Vn+A,jn=ms(Ln,u),Zn=xs(Un),Wn=kn+x+Zn,Jn=R*$n,Kn=gs(ot,Xn),te=it*qn+bt*Hn+2*xs(Jn),ne=U*Dn,ee=gs(ut,Qn),re=ft*Rn+It*Gn+2*xs(ne),oe=W*Un,ie=gs(ht,jn),ce=dt*Zn+Et*Wn+2*xs(oe),se=Jn+ne,ue=ms(Kn,ee),fe=te+re+xs(se),le=se+oe,ae=ms(ue,ie),pe=fe+ce+xs(le),he=2*(Vt+y),de=ds(ms(Lt,c)),ve=2*(kt+g)+xs(he),ge=2*($t+A),me=ds(ms(Xt,u)),xe=2*(qt+x)+xs(ge),be=Pt+he,_e=ms(At,de),Ie=xs(be),Ne=Bt+ve+Ie,Se=Jt+ge,Ee=ms(Kt,me),we=xs(Se),Oe=tn+xe+we,Me=Ft+P,Te=ms(zt,s),Ce=xs(Me),ye=Yt+m+Ce,Pe=Ht+P,Ae=ms(Dt,s),Be=xs(Pe),Fe=Qt+m+Be,ze=H*be,Ye=gs(K,_e),Ve=tt*Ie+gt*Ne+2*xs(ze),Le=Z*Se,ke=gs(at,Ee),$e=pt*we+St*Oe+2*xs(Le),Xe=Q*Me,qe=gs(et,Te),He=rt*Ce+xt*ye+2*xs(Xe),De=G*Pe,Qe=gs(ct,Ae),Re=st*Be+_t*Fe+2*xs(De),Ge=Y*B,Ue=gs(N,f),je=k*b+2*xs(Ge),Ze=V*F,We=gs(E,l),Je=X*_+2*xs(Ze),Ke=ze+Le,tr=ms(Ye,ke),nr=Ve+$e+xs(Ke),er=Xe+De,rr=ms(qe,Qe),or=He+Re+xs(er),ir=Ke+er,cr=ms(tr,rr),sr=nr+or+xs(ir),ur=Ge+Ze,fr=ms(Ue,We),lr=je+Je+xs(ur),ar=ir+ur,pr=ms(cr,fr),hr=sr+lr+xs(ar),dr=wt+Vt,vr=ms(Ot,Lt),gr=Mt+kt+xs(dr),mr=Rt+$t,xr=ms(Gt,Xt),br=Ut+qt+xs(mr),_r=dr+y,Ir=ms(vr,c),Nr=gr+g+xs(_r),Sr=mr+A,Er=ms(xr,u),wr=br+x+xs(Sr),Or=q*_r,Mr=gs(J,Ir),Tr=vt*Nr+2*xs(Or),Cr=j*Sr,yr=gs(lt,Er),Pr=Nt*wr+2*xs(Cr),Ar=D*P,Br=gs(nt,s),Fr=mt*m+2*xs(Ar),zr=Or+Cr,Yr=ms(Mr,yr),Vr=Tr+Pr+xs(zr),Lr=zr+Ar,kr=ms(Yr,Br),$r=Vr+Fr+xs(Lr),Xr=S*B,qr=vs(S,f),Hr=L*b+xs(Xr),Dr=w*F,Qr=vs(w,l),Rr=$*_+xs(Dr),Gr=Xr+Dr,Ur=ms(qr,Qr),jr=Hr+Rr+xs(Gr),Zr=Lr+Gr,Wr=ms(kr,Ur),Jr=$r+jr+xs(Zr),Kr=Zr+z,to=ms(Wr,a),no=Jr+I+xs(Kr);return{coeffs:[Cn,ae,pr,to],errBound:[bs*yn,bs*pe,bs*hr,bs*no]}},function(t,n){const{coeffs:{vₓₓₓ:e,vₓₓᵧ:r,vₓᵧᵧ:o,vᵧᵧᵧ:i,vₓₓ:c,vₓᵧ:s,vᵧᵧ:u,vₓ:f,vᵧ:l,v:a},errorBound:{vₓₓₓ_:p,vₓₓᵧ_:h,vₓᵧᵧ_:d,vᵧᵧᵧ_:v,vₓₓ_:g,vₓᵧ_:m,vᵧᵧ_:x,vₓ_:b,vᵧ_:_,v_:I}}=ps(t),{coeffs:[[N,S,[,E]],[w,O,[,M]]],errorBound:[[T],[C]]}=Ac(n),y=e[1],P=r[1],A=o[1],B=i[1],F=c[1],z=s[1],Y=u[1],V=f[1],L=l[1],k=a[1],$=Vs(y),X=Vs(P),q=Vs(A),H=Vs(B),D=Vs(F),Q=Vs(Y),R=Vs(z),G=Vs(V),U=Vs(L),j=S[1],Z=N[1],W=O[1],J=w[1],K=Vs(E),tt=Vs(j),nt=Vs(Z),et=Vs(M),rt=Vs(W),ot=Vs(J),it=E*E,ct=E*j,st=E*Z,ut=E*M,ft=E*W,lt=E*J,at=j*j,pt=j*Z,ht=j*M,dt=j*W,vt=j*J,gt=Z*W,mt=Z*Z,xt=Z*M,bt=Z*J,_t=M*M,It=M*W,Nt=M*J,St=W*W,Et=W*J,wt=J*J,Ot=As(E,E),Mt=Fs(E,S),Tt=Vs(ct),Ct=Fs(E,N),yt=K*T+Vs(st),Pt=As(E,M),At=Fs(E,O),Bt=Vs(ft),Ft=Fs(E,w),zt=K*C+Vs(lt),Yt=zs(S,S),Vt=2*Vs(at),Lt=zs(S,N),kt=tt*T+2*Vs(pt),$t=Fs(M,S),Xt=Vs(ht),qt=zs(S,O),Ht=2*Vs(dt),Dt=zs(S,w),Qt=tt*C+2*Vs(vt),Rt=zs(N,O),Gt=T*rt+2*Vs(gt),Ut=zs(N,N),jt=2*(T*nt+Vs(mt)),Zt=Fs(M,N),Wt=et*T+Vs(xt),Jt=zs(N,w),Kt=T*ot+nt*C+2*Vs(bt),tn=As(M,M),nn=Fs(M,O),en=Vs(It),rn=Fs(M,w),on=et*C+Vs(Nt),cn=zs(O,O),sn=2*Vs(St),un=zs(O,w),fn=rt*C+2*Vs(Et),ln=zs(w,w),an=2*(C*ot+Vs(wt)),pn=Vs(it),hn=Vs(ct),dn=Vs(ut),vn=Vs(ft),gn=Vs(pt),mn=Vs(mt),xn=Vs(bt),bn=Vs(ht),_n=Vs(_t),In=Vs(It),Nn=Vs(Et),Sn=Vs(wt),En=zs(N,e),wn=Z*y,On=T*$+nt*p+2*Vs(wn),Mn=zs(N,o),Tn=Z*A,Cn=T*q+nt*d+2*Vs(Tn),yn=zs(w,r),Pn=J*P,An=C*X+ot*h+2*Vs(Pn),Bn=zs(w,i),Fn=J*B,zn=C*H+ot*v+2*Vs(Fn),Yn=wn+Pn,Vn=Ys(En,yn),Ln=Vs(Yn),kn=On+An+Ln,$n=Tn+Fn,Xn=Ys(Mn,Bn),qn=Vs($n),Hn=Cn+zn+qn,Dn=mt*Yn,Qn=zs(Ut,Vn),Rn=jt*Ln+mn*kn+2*Vs(Dn),Gn=wt*$n,Un=zs(ln,Xn),jn=an*qn+Sn*Hn+2*Vs(Gn),Zn=Dn+Gn,Wn=Ys(Qn,Un),Jn=Rn+jn+Vs(Zn),Kn=st+at,te=Ys(Ct,Yt),ne=Vs(Kn),ee=yt+Vt+ne,re=Nt+St,oe=Ys(rn,cn),ie=Vs(re),ce=on+sn+ie,se=2*st+at,ue=Vs(se),fe=Ys(Bs(Ct),Yt),le=2*yt+Vt+ue,ae=2*Nt+St,pe=Ys(Bs(rn),cn),he=Vs(ae),de=2*on+sn+he,ve=2*dt+xt,ge=Ys(Bs(qt),Zt),me=Vs(ve),xe=2*Ht+Wt+me,be=2*dt+lt,_e=Ys(Bs(qt),Ft),Ie=Vs(be),Ne=2*Ht+zt+Ie,Se=2*xt+dt,Ee=Ys(Bs(Zt),qt),we=2*Wt+Ht+Vs(Se),Oe=6*st+at,Me=6*st,Te=Fs(6,Ct),Ce=6*yt+Vs(Me),ye=Ys(Te,Yt),Pe=Ce+Vt+Vs(Me+at),Ae=6*Nt+St,Be=6*Nt,Fe=Fs(6,rn),ze=6*on+Vs(Be),Ye=Ys(Fe,cn),Ve=ze+sn+Vs(Be+St),Le=vt+gt,ke=Ys(Dt,Rt),$e=Vs(Le),Xe=Qt+Gt+$e,qe=lt+xt,He=Ys(Ft,Zt),De=zt+Wt+Vs(qe),Qe=2*ht+ft,Re=Ys(Bs($t),At),Ge=2*Xt+Bt+Vs(Qe),Ue=2*ft+ht,je=Ys(Bs(At),$t),Ze=2*Bt+Xt+Vs(Ue),We=lt+dt,Je=Ys(Ft,qt),Ke=zt+Ht+Vs(We),tr=We+xt,nr=Ys(Je,Zt),er=Vs(tr),rr=Ke+Wt+er,or=3*mt,ir=Fs(3,Ut),cr=3*jt+Vs(or),sr=Vs(or),ur=3*wt,fr=Fs(3,ln),lr=3*an+Vs(ur),ar=Vs(ur),pr=or*y,hr=zs(ir,e),dr=cr*$+sr*p+2*Vs(pr),vr=mt*P,gr=zs(Ut,r),mr=jt*X+mn*h+2*Vs(vr),xr=2*bt*P,br=Bs(zs(Jt,r)),_r=2*(Kt*X+xn*h+Vs(xr)),Ir=2*bt*A,Nr=Bs(zs(Jt,o)),Sr=2*(Kt*q+xn*d+Vs(Ir)),Er=wt*A,wr=zs(ln,o),Or=an*q+Sn*d+2*Vs(Er),Mr=ur*B,Tr=zs(fr,i),Cr=lr*H+ar*v+2*Vs(Mr),yr=pr+xr,Pr=Ys(hr,br),Ar=dr+_r+Vs(yr),Br=vr+Ir,Fr=Ys(gr,Nr),zr=mr+Sr+Vs(Br),Yr=yr+Er,Vr=Ys(Pr,wr),Lr=Ar+Or+Vs(Yr),kr=Br+Mr,$r=Ys(Fr,Tr),Xr=zr+Cr+Vs(kr),qr=j*Yr,Hr=zs(S,Vr),Dr=tt*Lr+Vs(qr),Qr=W*kr,Rr=zs(O,$r),Gr=rt*Xr+Vs(Qr),Ur=qr+Qr,jr=Ys(Hr,Rr),Zr=Dr+Gr+Vs(Ur),Wr=J*se,Jr=zs(w,fe),Kr=C*ue+ot*le+2*Vs(Wr),to=J*be,no=zs(w,_e),eo=C*Ie+ot*Ne+2*Vs(to),ro=Z*ve,oo=zs(N,ge),io=T*me+nt*xe+2*Vs(ro),co=Z*ae,so=zs(N,pe),uo=T*he+nt*de+2*Vs(co),fo=3*Z,lo=Fs(3,N),ao=Vs(fo),po=3*T+ao,ho=fo*Kn,vo=zs(lo,te),go=Vs(ho),mo=po*ne+ao*ee+go,xo=3*J,bo=Fs(3,w),_o=Vs(xo),Io=3*C+_o,No=xo*re,So=zs(bo,oe),Eo=Vs(No),wo=Io*ie+_o*ce+Eo,Oo=Wr+ro,Mo=Ys(Jr,oo),To=Vs(Oo),Co=Kr+io+To,yo=to+co,Po=Ys(no,so),Ao=Vs(yo),Bo=eo+uo+Ao,Fo=ho*y,zo=zs(vo,e),Yo=mo*$+go*p+2*Vs(Fo),Vo=No*B,Lo=zs(So,i),ko=wo*H+Eo*v+2*Vs(Vo),$o=Oo*P,Xo=zs(Mo,r),qo=Co*X+To*h+2*Vs($o),Ho=yo*A,Do=zs(Po,o),Qo=Bo*q+Ao*d+2*Vs(Ho),Ro=Fo+Vo,Go=Ys(zo,Lo),Uo=Yo+ko+Vs(Ro),jo=$o+Ho,Zo=Ys(Xo,Do),Wo=qo+Qo+Vs(jo),Jo=mt*F,Ko=zs(Ut,c),ti=jt*D+mn*g+2*Vs(Jo),ni=wt*Y,ei=zs(ln,u),ri=an*Q+Sn*x+2*Vs(ni),oi=bt*z,ii=zs(Jt,s),ci=Kt*R+xn*m+2*Vs(oi),si=Jo+ni,ui=Ys(Ko,ei),fi=ti+ri+Vs(si),li=Ro+jo,ai=Ys(Go,Zo),pi=Uo+Wo+Vs(li),hi=si+oi,di=Ys(ui,ii),vi=fi+ci+Vs(hi),gi=li+hi,mi=Ys(ai,di),xi=pi+vi+Vs(gi),bi=j*Oe,_i=zs(S,ye),Ii=tt*Pe+2*Vs(bi),Ni=2*Ii,Si=W*Ae,Ei=zs(O,Ye),wi=rt*Ve+2*Vs(Si),Oi=2*wi,Mi=2*E*Le,Ti=Fs(2*E,ke),Ci=2*K*Xe+Vs(Mi),yi=2*W*qe,Pi=zs(Bs(O),He),Ai=2*rt*De+2*Vs(yi),Bi=j*Se,Fi=zs(S,Ee),zi=tt*we+2*Vs(Bi),Yi=j*ae,Vi=zs(S,pe),Li=tt*de+2*Vs(Yi),ki=Mi+Bi,$i=Ys(Ti,Fi),Xi=Ci+zi+Vs(ki),qi=Ci+zi+Xi,Hi=yi+Yi,Di=Ys(Pi,Vi),Qi=Ai+Li+Vs(Hi),Ri=Ai+Li+Qi,Gi=Et*Y,Ui=zs(un,u),ji=fn*Q+Nn*x+2*Vs(Gi),Zi=pt*F,Wi=zs(Lt,c),Ji=kt*D+gn*g+2*Vs(Zi),Ki=Le*z,tc=zs(ke,s),nc=Xe*R+$e*m+2*Vs(Ki),ec=Gi+Zi,rc=Ys(Ui,Wi),oc=ji+Ji+Vs(ec),ic=bi*y,cc=zs(_i,e),sc=Ni*$+Ii*p+2*Vs(ic),uc=ki*P,fc=zs($i,r),lc=qi*X+Xi*h+2*Vs(uc),ac=Si*B,pc=zs(Ei,i),hc=Oi*H+wi*v+2*Vs(ac),dc=Hi*A,vc=zs(Di,o),gc=Ri*q+Qi*d+2*Vs(dc),mc=ic+ac,xc=Ys(cc,pc),bc=sc+hc+Vs(mc),_c=uc+dc,Ic=Ys(fc,vc),Nc=lc+gc+Vs(_c),Sc=mc+_c,Ec=Ys(xc,Ic),wc=bc+Nc+Vs(Sc),Oc=2*ec+Ki,Mc=Ys(Bs(rc),tc),Tc=2*oc+nc+Vs(Oc),Cc=Sc+Oc,yc=Ys(Ec,Mc),Pc=wc+Tc+Vs(Cc),Bc=3*E,Fc=Vs(Bc),zc=As(3,E),Yc=Bc*Kn,Vc=zs(zc,te),Lc=Vs(Yc),kc=Fc*ee+2*Vs(Yc),$c=3*M,Xc=Vs($c),qc=As(3,M),Hc=$c*re,Dc=zs(qc,oe),Qc=Vs(Hc),Rc=Xc*ce+2*Vs(Hc),Gc=E*be,Uc=Fs(E,_e),jc=K*Ne+Vs(Gc),Zc=E*ae,Wc=Fs(E,pe),Jc=K*de+Vs(Zc),Kc=M*se,ts=Fs(M,fe),ns=et*le+Vs(Kc),es=M*ve,rs=Fs(M,ge),os=et*xe+Vs(es),is=Gc+Kc,cs=Ys(Uc,ts),ss=Vs(is),us=jc+ns+ss,fs=Zc+es,ls=Ys(Wc,rs),as=Vs(fs),hs=Jc+os+as,ds=Yc*y,vs=zs(Vc,e),gs=kc*$+Lc*p+2*Vs(ds),ms=Hc*B,xs=zs(Dc,i),bs=Rc*H+Qc*v+2*Vs(ms),_s=is*P,Is=zs(cs,r),Ns=us*X+ss*h+2*Vs(_s),Ss=fs*A,Es=zs(ls,o),ws=hs*q+as*d+2*Vs(Ss),Os=se*F,Ms=zs(fe,c),Ts=le*D+ue*g+2*Vs(Os),Cs=ae*Y,ys=zs(pe,u),Ps=de*Q+he*x+2*Vs(Cs),ks=tr*z,$s=zs(nr,s),Xs=rr*R+er*m+2*Vs(ks),qs=Z*V,Hs=zs(N,f),Ds=T*G+nt*b+2*Vs(qs),Qs=J*L,Rs=zs(w,l),Gs=C*U+ot*_+2*Vs(Qs),Us=ds+ms,js=Ys(vs,xs),Zs=gs+bs+Vs(Us),Ws=_s+Ss,Js=Ys(Is,Es),Ks=Ns+ws+Vs(Ws),tu=Os+Cs,nu=Ys(Ms,ys),eu=Ts+Ps+Vs(tu),ru=Us+Ws,ou=Ys(js,Js),iu=Zs+Ks+Vs(ru),cu=tu+ks,su=Ys(nu,$s),uu=eu+Xs+Vs(cu),fu=qs+Qs,lu=Ys(Hs,Rs),au=Ds+Gs+Vs(fu),pu=ru+cu,hu=Ys(ou,su),du=iu+uu+Vs(pu),vu=pu+fu,gu=Ys(hu,lu),mu=du+au+Vs(vu),xu=Bc*ct,bu=zs(zc,Mt),_u=Vs(xu),Iu=Fc*Tt+2*_u,Nu=$c*It,Su=zs(qc,nn),Eu=Vs(Nu),wu=Xc*en+2*Eu,Ou=E*Qe,Mu=Fs(E,Re),Tu=Vs(Ou),Cu=K*Ge+Vs(Ou),yu=M*Ue,Pu=Fs(M,je),Au=Vs(yu),Bu=et*Ze+Vs(yu),Fu=ct*F,zu=zs(Mt,c),Yu=Tt*D+hn*g+2*Vs(Fu),Vu=It*Y,Lu=zs(nn,u),ku=en*Q+In*x+2*Vs(Vu),$u=ft*z,Xu=zs(At,s),qu=Bt*R+vn*m+2*Vs($u),Hu=ht*z,Du=zs($t,s),Qu=Xt*R+bn*m+2*Vs(Hu),Ru=2*(Fu+Vu),Gu=Bs(Ys(zu,Lu)),Uu=2*(Yu+ku)+Vs(Ru),ju=$u+Hu,Zu=Ys(Xu,Du),Wu=qu+Qu+Vs(ju),Ju=j*V,Ku=zs(S,f),tf=tt*b+2*Vs(Ju),nf=W*L,ef=zs(O,l),rf=rt*_+2*Vs(nf),of=xu*y,cf=zs(bu,e),sf=Iu*$+_u*p+2*Vs(of),uf=Nu*B,ff=zs(Su,i),lf=wu*H+Eu*v+2*Vs(uf),af=Ou*P,pf=zs(Mu,r),hf=Cu*X+Tu*h+2*Vs(af),df=yu*A,vf=zs(Pu,o),gf=Bu*q+Au*d+2*Vs(df),mf=of+uf,xf=Ys(cf,ff),bf=sf+lf+Vs(mf),_f=af+df,If=Ys(pf,vf),Nf=hf+gf+Vs(_f),Sf=mf+_f,Ef=Ys(xf,If),wf=bf+Nf+Vs(Sf),Of=Ru+ju,Mf=Ys(Gu,Zu),Tf=Uu+Wu+Vs(Of),Cf=Ju+nf,yf=Ys(Ku,ef),Pf=tf+rf+Vs(Cf),Af=Sf+Of,Bf=Ys(Ef,Mf),Ff=wf+Tf+Vs(Af),zf=Af+Cf,Yf=Ys(Bf,yf),Vf=Ff+Pf+Vs(zf),Lf=E*y,kf=Fs(E,e),$f=K*p+Vs(Lf),Xf=E*A,qf=Fs(E,o),Hf=K*d+Vs(Xf),Df=M*P,Qf=Fs(M,r),Rf=et*h+Vs(Df),Gf=M*B,Uf=Fs(M,i),jf=et*v+Vs(Gf),Zf=Lf+Df,Wf=Ys(kf,Qf),Jf=$f+Rf+Vs(Zf),Kf=Xf+Gf,tl=Ys(qf,Uf),nl=Hf+jf+Vs(Kf),el=Zf+F,rl=Ys(Wf,c),ol=Jf+g+Vs(el),il=Kf+Y,cl=Ys(tl,u),sl=nl+x+Vs(il),ul=it*el,fl=zs(Ot,rl),ll=pn*ol+2*Vs(ul),al=_t*il,pl=zs(tn,cl),hl=_n*sl+2*Vs(al),dl=ut*z,vl=zs(Pt,s),gl=dn*m+2*Vs(dl),ml=E*V,xl=Fs(E,f),bl=K*b+Vs(ml),_l=M*L,Il=Fs(M,l),Nl=et*_+Vs(_l),Sl=ul+al,El=Ys(fl,pl),wl=ll+hl+Vs(Sl),Ol=Sl+dl,Ml=Ys(El,vl),Tl=wl+gl+Vs(Ol),Cl=ml+_l,yl=Ys(xl,Il),Pl=bl+Nl+Vs(Cl),Al=Ol+Cl,Bl=Ys(Ml,yl),Fl=Tl+Pl+Vs(Al),zl=Al+k,Yl=Ys(Bl,a),Vl=Fl+I+Vs(zl);return{coeffs:[Wn,jr,mi,yc,gu,Yf,Yl],errBound:[Ls*Jn,Ls*Zr,Ls*xi,Ls*Pc,Ls*mu,Ls*Vf,Ls*Vl]}},function(t,n){const{coeffs:{vₓₓₓ:e,vₓₓᵧ:r,vₓᵧᵧ:o,vᵧᵧᵧ:i,vₓₓ:c,vₓᵧ:s,vᵧᵧ:u,vₓ:f,vᵧ:l,v:a},errorBound:{vₓₓₓ_:p,vₓₓᵧ_:h,vₓᵧᵧ_:d,vᵧᵧᵧ_:v,vₓₓ_:g,vₓᵧ_:m,vᵧᵧ_:x,vₓ_:b,vᵧ_:_,v_:I}}=ps(t),{coeffs:[[N,S,E,[,w]],[O,M,T,[,C]]],errorBound:[[y,P,A],[B,F,z]]}=Pc(n),Y=e[1],V=r[1],L=o[1],k=i[1],$=c[1],X=s[1],q=u[1],H=f[1],D=l[1],Q=a[1],R=eu(Y),G=eu(V),U=eu(L),j=eu(k),Z=eu($),W=eu(X),J=eu(q),K=eu(H),tt=eu(D),nt=(eu(Q),E[1]),et=S[1],rt=N[1],ot=T[1],it=M[1],ct=O[1],st=eu(w),ut=eu(nt),ft=eu(et),lt=eu(rt),at=eu(C),pt=eu(ot),ht=eu(it),dt=eu(ct),vt=w*w,gt=w*nt,mt=w*et,xt=w*rt,bt=w*C,_t=w*ot,It=w*it,Nt=w*ct,St=nt*nt,Et=nt*et,wt=nt*rt,Ot=nt*C,Mt=nt*ot,Tt=nt*it,Ct=nt*ct,yt=et*ot,Pt=et*et,At=et*rt,Bt=et*C,Ft=et*it,zt=et*ct,Yt=rt*rt,Vt=rt*C,Lt=rt*ot,kt=rt*it,$t=rt*ct,Xt=C*C,qt=C*ot,Ht=C*it,Dt=C*ct,Qt=ot*ot,Rt=ot*it,Gt=ct*ct,Ut=it*it,jt=it*ct,Zt=ot*ct,Wt=Ws(w,w),Jt=Ks(w,E),Kt=st*A+eu(gt),tn=Ks(w,S),nn=st*P+eu(mt),en=Ks(w,N),rn=st*y+eu(xt),on=Ws(w,C),cn=Ks(w,T),sn=st*z+eu(_t),un=Ks(w,M),fn=st*F+eu(It),ln=Ks(w,O),an=st*B+eu(Nt),pn=tu(E,E),hn=eu(St),dn=2*(A*ut+hn),vn=tu(E,S),gn=A*ft+ut*P+2*eu(Et),mn=tu(E,N),xn=A*lt+ut*y+2*eu(wt),bn=Ks(C,E),_n=at*A+eu(Ot),In=tu(E,T),Nn=A*pt+ut*z+2*eu(Mt),Sn=tu(E,M),En=A*ht+ut*F+2*eu(Tt),wn=tu(E,O),On=A*dt+ut*B+2*eu(Ct),Mn=tu(S,T),Tn=P*pt+ft*z+2*eu(yt),Cn=tu(S,S),yn=eu(Pt),Pn=2*(P*ft+yn),An=tu(S,N),Bn=P*lt+ft*y+2*eu(At),Fn=Ks(C,S),zn=at*P+eu(Bt),Yn=tu(S,M),Vn=P*ht+ft*F+2*eu(Ft),Ln=tu(S,O),kn=P*dt+ft*B+2*eu(zt),$n=tu(N,N),Xn=2*(y*lt+eu(Yt)),qn=Ks(C,N),Hn=at*y+eu(Vt),Dn=tu(N,T),Qn=y*pt+lt*z+2*eu(Lt),Rn=tu(N,M),Gn=eu(kt),Un=y*ht+lt*F+2*Gn,jn=tu(N,O),Zn=y*dt+lt*B+2*eu($t),Wn=Ws(C,C),Jn=Ks(C,T),Kn=at*z+eu(qt),te=Ks(C,M),ne=at*F+eu(Ht),ee=Ks(C,O),re=at*B+eu(Dt),oe=tu(T,T),ie=eu(Qt),ce=2*(z*pt+ie),se=tu(T,M),ue=z*ht+pt*F+2*eu(Rt),fe=tu(O,O),le=2*(B*dt+eu(Gt)),ae=tu(M,M),pe=eu(Ut),he=2*(F*ht+pe),de=tu(M,O),ve=F*dt+ht*B+2*eu(jt),ge=tu(T,O),me=eu(Zt),xe=z*dt+pt*B+2*me,be=eu(vt),_e=eu(gt),Ie=eu(At),Ne=eu(Yt),Se=eu($t),Ee=eu(bt),we=eu(Xt),Oe=eu(qt),Me=eu(jt),Te=eu(Gt),Ce=rt*Yt,ye=tu(N,$n),Pe=lt*Ne,Ae=y*Ne+lt*Xn+2*Pe,Be=rt*Gt,Fe=tu(N,fe),ze=lt*Te,Ye=y*Te+lt*le+2*ze,Ve=ct*Yt,Le=tu(O,$n),ke=dt*Ne,$e=B*Ne+dt*Xn+2*ke,Xe=ct*Gt,qe=tu(O,fe),He=dt*Te,De=B*Te+dt*le+2*He,Qe=Ce*Y,Re=tu(ye,e),Ge=Ae*R+Pe*p+2*eu(Qe),Ue=Be*L,je=tu(Fe,o),Ze=Ye*U+ze*d+2*eu(Ue),We=Ve*V,Je=tu(Le,r),Ke=$e*G+ke*h+2*eu(We),tr=Xe*k,nr=tu(qe,i),er=De*j+He*v+2*eu(tr),rr=Qe+Ue,or=nu(Re,je),ir=Ge+Ze+eu(rr),cr=We+tr,sr=nu(Je,nr),ur=Ke+er+eu(cr),fr=rr+cr,lr=nu(or,sr),ar=ir+ur+eu(fr),pr=2*zt+kt,hr=eu(pr),dr=nu(Js(Ln),Rn),vr=2*kn+Un+hr,gr=2*kt+zt,mr=eu(gr),xr=nu(Js(Rn),Ln),br=2*Un+kn+eu(gr),_r=rt*pr,Ir=eu(_r),Nr=tu(N,dr),Sr=y*hr+lt*vr+2*Ir,Er=ct*gr,wr=eu(Er),Or=tu(O,xr),Mr=B*mr+dt*br+2*wr,Tr=et*Yt,Cr=eu(Tr),yr=tu(S,$n),Pr=P*Ne+ft*Xn+2*Cr,Ar=it*Gt,Br=eu(Ar),Fr=tu(M,fe),zr=F*Te+ht*le+2*Br,Yr=Y*Tr,Vr=tu(e,yr),Lr=Pr*R+R*Pr+2*eu(Yr),kr=k*Ar,$r=tu(i,Fr),Xr=zr*j+j*zr+2*eu(kr),qr=V*_r,Hr=tu(r,Nr),Dr=Sr*G+G*Sr+2*eu(qr),Qr=L*Er,Rr=tu(o,Or),Gr=Mr*U+U*Mr+2*eu(Qr),Ur=qr+Qr,jr=nu(Hr,Rr),Zr=Dr+Gr+eu(Ur),Wr=3*(Yr+kr),Jr=Ks(3,nu(Vr,$r)),Kr=3*(Lr+Xr)+2*eu(Wr),to=Ur+Wr,no=nu(jr,Jr),eo=Zr+Kr+eu(to),ro=nt*$t,oo=tu(E,jn),io=A*Se+ut*Zn+2*eu(ro),co=ot*Yt,so=tu(T,$n),uo=z*Ne+pt*Xn+2*eu(co),fo=et*jt,lo=tu(S,de),ao=P*Me+ft*ve+2*eu(fo),po=nt*Gt,ho=tu(E,fe),vo=A*Te+ut*le+2*eu(po),go=et*kt,mo=tu(S,Rn),xo=P*Gn+ft*Un+2*eu(go),bo=ct*Pt,_o=tu(O,Cn),Io=B*yn+dt*Pn+2*eu(bo),No=rt*Zt,So=tu(N,ge),Eo=y*me+lt*xe+2*eu(No),wo=it*kt,Oo=tu(M,Rn),Mo=F*Gn+ht*Un+2*eu(wo),To=ro+go,Co=nu(oo,mo),yo=io+xo+eu(To),Po=co+bo,Ao=nu(so,_o),Bo=uo+Io+eu(Po),Fo=fo+No,zo=nu(lo,So),Yo=ao+Eo+eu(Fo),Vo=po+wo,Lo=nu(ho,Oo),ko=vo+Mo+eu(Vo),$o=wt+Pt,Xo=nu(mn,Cn),qo=eu($o),Ho=xn+Pn+qo,Do=Zt+Ut,Qo=eu(Do),Ro=nu(ge,ae),Go=xe+he+Qo,Uo=2*To+Po,jo=nu(Js(Co),Ao),Zo=eu(Uo),Wo=2*yo+Bo+Zo,Jo=2*Fo+Vo,Ko=nu(Js(zo),Lo),ti=eu(Jo),ni=2*Yo+ko+ti,ei=V*Uo,ri=tu(r,jo),oi=h*Zo+G*Wo+2*eu(ei),ii=L*Jo,ci=tu(o,Ko),si=d*ti+U*ni+2*eu(ii),ui=rt*$o,fi=tu(N,Xo),li=eu(ui),ai=y*qo+lt*Ho+2*li,pi=ct*Do,hi=tu(O,Ro),di=eu(pi),vi=B*Qo+dt*Go+2*di,gi=Y*ui,mi=tu(e,fi),xi=p*li+R*ai+2*eu(gi),bi=k*pi,_i=tu(i,hi),Ii=v*di+j*vi+2*eu(bi),Ni=ei+ii,Si=nu(ri,ci),Ei=oi+si+eu(Ni),wi=3*(gi+bi),Oi=Ks(3,nu(mi,_i)),Mi=3*(xi+Ii)+2*eu(wi),Ti=Ni+wi,Ci=nu(Si,Oi),yi=Ei+Mi+eu(Ti),Pi=zt+kt,Ai=nu(Ln,Rn),Bi=eu(Pi),Fi=kn+Un+Bi,zi=it*Pt,Yi=tu(M,Cn),Vi=F*yn+ht*Pn+2*eu(zi),Li=2*nt*Pi,ki=Js(tu(E,Ai)),$i=2*(A*Bi+ut*Fi+2*eu(Li)),Xi=zi+Li,qi=nu(Yi,ki),Hi=Vi+$i+eu(Xi),Di=2*(Nt+yt),Qi=Js(nu(ln,Mn)),Ri=2*(an+Tn)+eu(Di),Gi=Di+Vt,Ui=eu(Gi),ji=nu(Qi,qn),Zi=Ri+Hn+Ui,Wi=rt*Gi,Ji=tu(N,ji),Ki=y*Ui+lt*Zi+2*eu(Wi),tc=Xi+Wi,nc=nu(qi,Ji),ec=eu(tc),rc=Hi+Ki+ec,oc=et*Ut,ic=tu(S,ae),cc=P*pe+ft*he+2*eu(oc),sc=2*ot*Pi,uc=Js(tu(T,Ai)),fc=2*(z*Bi+pt*Fi+eu(sc)),lc=oc+sc,ac=nu(ic,uc),pc=cc+fc+eu(lc),hc=2*(Tt+Vt),dc=Js(nu(Sn,qn)),vc=2*(En+Hn)+eu(hc),gc=hc+Nt,mc=nu(dc,ln),xc=eu(gc),bc=vc+an+xc,_c=ct*gc,Ic=tu(O,mc),Nc=B*xc+dt*bc+2*eu(_c),Sc=lc+_c,Ec=nu(ac,Ic),wc=eu(Sc),Oc=pc+Nc+wc,Mc=et*Pt,Tc=tu(S,Cn),Cc=P*yn+ft*Pn+2*eu(Mc),yc=2*Et+xt,Ac=nu(Js(vn),en),Bc=eu(yc),Fc=2*gn+rn+Bc,zc=3*rt,Yc=Ks(3,N),Vc=eu(zc),Lc=3*y+Vc,kc=zc*yc,$c=tu(Yc,Ac),Xc=Lc*Bc+Vc*Fc+2*eu(kc),qc=Mc+kc,Hc=nu(Tc,$c),Dc=eu(qc),Qc=Cc+Xc+Dc,Rc=it*Ut,Gc=tu(M,ae),Uc=F*pe+ht*he+2*eu(Rc),jc=2*Rt+Dt,Zc=nu(Js(se),ee),Wc=eu(jc),Jc=2*ue+re+Wc,Kc=3*ct,ts=Ks(3,O),ns=eu(Kc),es=3*B+ns,rs=Kc*jc,os=tu(ts,Zc),is=es*Wc+ns*Jc+2*eu(rs),cs=Rc+rs,ss=nu(Gc,os),us=eu(cs),fs=Uc+is+us,ls=V*tc,as=tu(r,nc),hs=h*ec+G*rc+2*eu(ls),ds=L*Sc,vs=tu(o,Ec),gs=d*wc+U*Oc+2*eu(ds),ms=ls+ds,xs=nu(as,vs),bs=hs+gs+eu(ms),_s=Y*qc,Is=tu(e,Hc),Ns=p*Dc+R*Qc+2*eu(_s),Ss=k*cs,Es=tu(i,ss),ws=v*us+j*fs+2*eu(Ss),Os=_s+Ss,Ms=nu(Is,Es),Ts=Ns+ws+eu(Os),Cs=$*Yt,ys=tu($n,c),Ps=Xn*Z+Ne*g+2*eu(Cs),As=q*Gt,Bs=tu(fe,u),Fs=le*J+Te*x+2*eu(As),zs=Cs+As,Ys=nu(ys,Bs),Vs=Ps+Fs+eu(zs),Ls=X*$t,ks=tu(jn,s),$s=Zn*W+Se*m+2*eu(Ls),Xs=ms+Os,qs=nu(xs,Ms),Hs=bs+Ts+eu(Xs),Ds=zs+Ls,Qs=nu(Ys,ks),Rs=Vs+$s+eu(Ds),Gs=Xs+Ds,Us=nu(qs,Qs),js=Hs+Rs+eu(Gs),Zs=Ft+Lt,ou=nu(Yn,Dn),iu=eu(Zs),cu=Vn+Qn+iu,su=Ct+Ft,uu=nu(wn,Yn),fu=eu(su),lu=On+Vn+fu,au=w*Pi,pu=Ks(w,Ai),hu=st*Fi+eu(au),du=C*Pi,vu=Ks(C,Ai),gu=at*Fi+eu(du),mu=nt*Zs,xu=tu(E,ou),bu=A*iu+ut*cu+2*eu(mu),_u=ot*su,Iu=tu(T,uu),Nu=z*fu+pt*lu+2*eu(_u),Su=2*Vt+yt,Eu=nu(Js(qn),Mn),wu=eu(Su),Ou=2*Hn+Tn+wu,Mu=2*Nt+Tt,Tu=nu(Js(ln),Sn),Cu=eu(Mu),yu=2*an+En+Cu,Pu=ct*St,Au=tu(O,pn),Bu=B*hn+dt*dn+2*eu(Pu),Fu=rt*Qt,zu=tu(N,oe),Yu=y*ie+lt*ce+2*eu(Fu),Vu=et*Su,Lu=tu(S,Eu),ku=P*wu+ft*Ou+2*eu(Vu),$u=it*Mu,Xu=tu(M,Tu),qu=F*Cu+ht*yu+2*eu($u),Hu=2*(au+mu),Du=Js(nu(pu,xu)),Qu=2*(hu+bu)+eu(Hu),Ru=2*(du+_u),Gu=Js(nu(vu,Iu)),Uu=2*(gu+Nu)+eu(Ru),ju=2*w*At,Zu=Js(Ks(w,An)),Wu=2*st*Bn+eu(ju),Ju=2*C*jt,Ku=Js(Ks(C,de)),tf=2*at*ve+eu(Ju),nf=nt*$o,ef=tu(E,Xo),rf=A*qo+ut*Ho+2*eu(nf),of=ot*Do,cf=tu(T,Ro),sf=z*Qo+pt*Go+2*eu(of),uf=$*At,ff=tu(An,c),lf=Bn*Z+Ie*g+2*eu(uf),af=q*jt,pf=tu(de,u),hf=ve*J+Me*x+2*eu(af),df=Hu+Pu,vf=nu(Du,Au),gf=eu(df),mf=Qu+Bu+gf,xf=Ru+Fu,bf=nu(Gu,zu),_f=eu(xf),If=Uu+Yu+_f,Nf=df+Vu,Sf=nu(vf,Lu),Ef=eu(Nf),wf=mf+ku+Ef,Of=xf+$u,Mf=nu(bf,Xu),Tf=eu(Of),Cf=If+qu+Tf,yf=ju+nf,Pf=nu(Zu,ef),Af=eu(yf),Bf=Wu+rf+Af,Ff=Ju+of,zf=nu(Ku,cf),Yf=eu(Ff),Vf=tf+sf+Yf,Lf=2*(uf+af),kf=Js(nu(ff,pf)),$f=2*(lf+hf)+eu(Lf),Xf=V*Nf,qf=tu(r,Sf),Hf=h*Ef+G*wf+2*eu(Xf),Df=L*Of,Qf=tu(o,Mf),Rf=d*Tf+U*Cf+2*eu(Df),Gf=Y*yf,Uf=tu(e,Pf),jf=p*Af+R*Bf+2*eu(Gf),Zf=k*Ff,Wf=tu(i,zf),Jf=v*Yf+j*Vf+2*eu(Zf),Kf=Xf+Df,tl=nu(qf,Qf),nl=Hf+Rf+eu(Kf),el=3*(Gf+Zf),rl=Ks(3,nu(Uf,Wf)),ol=3*(jf+Jf)+2*eu(el),il=X*Pi,cl=tu(s,Ai),sl=m*Bi+W*Fi+2*eu(il),ul=Kf+el,fl=nu(tl,rl),ll=nl+ol+eu(ul),al=il+Lf,pl=nu(cl,kf),hl=sl+$f+eu(al),dl=ul+al,vl=nu(fl,pl),gl=ll+hl+eu(dl),ml=Ct+Zs,xl=nu(wn,ou),bl=eu(ml),_l=On+cu+bl,Il=2*wt+Pt,Nl=nu(Js(mn),Cn),Sl=eu(Il),El=2*xn+Pn+Sl,wl=2*Zt+Ut,Ol=nu(Js(ge),ae),Ml=eu(wl),Tl=2*xe+he+Ml,Cl=2*w*ml,yl=Ks(2*w,xl),Pl=2*st*_l+eu(Cl),Al=2*C*ml,Bl=Ks(2*C,xl),Fl=2*at*_l+eu(Al),zl=Tt+2*yt,Yl=nu(Sn,Js(Mn)),Vl=eu(zl),Ll=En+2*Tn+Vl,kl=yt+2*Tt,$l=nu(Mn,Js(Sn)),Xl=eu(kl),ql=Tn+2*En+Xl,Hl=C*Il,Dl=Ks(C,Nl),Ql=at*El+eu(Hl),Rl=w*wl,Gl=Ks(w,Ol),Ul=st*Tl+eu(Rl),jl=nt*zl,Zl=tu(E,Yl),Wl=A*Vl+ut*Ll+2*eu(jl),Jl=ot*kl,Kl=tu(T,$l),ta=z*Xl+pt*ql+2*eu(Jl),na=w*Il,ea=Ks(w,Nl),ra=st*El+eu(na),oa=C*wl,ia=Ks(C,Ol),ca=at*Tl+eu(oa),sa=et*St,ua=tu(S,pn),fa=P*hn+ft*dn+2*eu(sa),la=it*Qt,aa=tu(M,oe),pa=F*ie+ht*ce+2*eu(la),ha=Cl+Hl,da=nu(yl,Dl),va=Pl+Ql+eu(ha),ga=Al+Rl,ma=nu(Bl,Gl),xa=Fl+Ul+eu(ga),ba=ha+jl,_a=nu(da,Zl),Ia=eu(ba),Na=va+Wl+Ia,Sa=ga+Jl,Ea=nu(ma,Kl),wa=eu(Sa),Oa=xa+ta+wa,Ma=na+sa,Ta=nu(ea,ua),Ca=eu(Ma),ya=ra+fa+Ca,Pa=oa+la,Aa=nu(ia,aa),Ba=eu(Pa),Fa=ca+pa+Ba,za=V*ba,Ya=tu(r,_a),Va=h*Ia+G*Na+2*eu(za),La=L*Sa,ka=tu(o,Ea),$a=d*wa+U*Oa+2*eu(La),Xa=Y*Ma,qa=tu(e,Ta),Ha=p*Ca+R*ya+2*eu(Xa),Da=k*Pa,Qa=tu(i,Aa),Ra=v*Ba+j*Fa+2*eu(Da),Ga=Xa+Da,Ua=eu(Ga),ja=nu(qa,Qa),Za=Ha+Ra+Ua,Wa=za+La,Ja=nu(Ya,ka),Ka=Va+$a+eu(Wa),tp=Wa+3*Ga,np=nu(Ja,Ks(3,ja)),ep=Ka+3*(Za+Ua)+eu(tp),rp=X*ml,op=tu(s,xl),ip=m*bl+W*_l+2*eu(rp),cp=$*Il,sp=tu(c,Nl),up=g*Sl+Z*El+2*eu(cp),fp=rp+cp,lp=nu(op,sp),ap=ip+up+eu(fp),pp=q*wl,hp=tu(u,Ol),dp=x*Ml+J*Tl+2*eu(pp),vp=fp+pp,gp=nu(lp,hp),mp=ap+dp+eu(vp),xp=tp+vp,bp=nu(np,gp),_p=ep+mp+eu(xp),Ip=Tt+yt,Np=nu(Sn,Mn),Sp=En+Tn+eu(Ip),Ep=Vt+Nt,wp=nu(qn,ln),Op=Hn+an+eu(Ep),Mp=Et+xt,Tp=nu(vn,en),Cp=gn+rn+eu(Mp),yp=eu(Mp),Pp=Rt+Dt,Ap=nu(se,ee),Bp=ue+re+eu(Pp),Fp=eu(Pp),zp=2*Ip+Vt,Yp=nu(Js(Np),qn),Vp=2*Sp+Hn+eu(zp),Lp=2*Ip+Nt,kp=nu(Js(Np),ln),$p=2*Sp+an+eu(Lp),Xp=2*Bt+Mt,qp=nu(Js(Fn),In),Hp=eu(Xp),Dp=2*zn+Nn+Hp,Qp=2*It+Mt,Rp=nu(Js(un),In),Gp=eu(Qp),Up=2*fn+Nn+Gp,jp=Mp+Et,Zp=nu(Tp,vn),Wp=Cp+gn+eu(jp),Jp=Pp+Rt,Kp=nu(Ap,se),th=Bp+ue+eu(Jp),nh=3*w,eh=Ws(3,w),rh=nh*jp,oh=tu(eh,Zp),ih=eu(nh)*Wp+2*eu(rh),ch=3*C,sh=Ws(3,C),uh=ch*Jp,fh=tu(sh,Kp),lh=eu(ch)*th+2*eu(uh),ah=nt*St,ph=tu(E,pn),hh=A*hn+ut*dn+2*eu(ah),dh=ot*Qt,vh=tu(T,oe),gh=z*ie+pt*ce+2*eu(dh),mh=$*Mp,xh=tu(c,Tp),bh=g*yp+Z*Cp+eu(mh),_h=q*Pp,Ih=tu(u,Ap),Nh=x*Fp+J*Bp+eu(_h),Sh=zp+Ep,Eh=nu(Yp,wp),wh=Vp+Op+eu(Sh),Oh=Lp+Ep,Mh=nu(kp,wp),Th=$p+Op+eu(Oh),Ch=w*Sh,yh=Ks(w,Eh),Ph=st*wh+eu(Ch),Ah=C*Oh,Bh=Ks(C,Mh),Fh=at*Th+eu(Ah),zh=nt*Xp,Yh=tu(E,qp),Vh=A*Hp+ut*Dp+2*eu(zh),Lh=ot*Qp,kh=tu(T,Rp),$h=z*Gp+pt*Up+2*eu(Lh),Xh=rt*H,qh=tu(N,f),Hh=y*K+lt*b+2*eu(Xh),Dh=ct*D,Qh=tu(O,l),Rh=B*tt+dt*_+2*eu(Dh),Gh=Ch+zh,Uh=nu(yh,Yh),jh=eu(Gh),Zh=Ph+Vh+jh,Wh=Ah+Lh,Jh=nu(Bh,kh),Kh=eu(Wh),td=Fh+$h+Kh,nd=rh+ah,ed=nu(oh,ph),rd=eu(nd),od=ih+hh+rd,id=uh+dh,cd=nu(fh,vh),sd=eu(id),ud=lh+gh+sd,fd=Ep+Ip,ld=nu(wp,Np),ad=eu(fd),pd=Op+Sp+ad,hd=2*(mh+_h),dd=Js(nu(xh,Ih)),vd=2*(bh+Nh)+eu(hd),gd=V*Gh,md=tu(r,Uh),xd=h*jh+G*Zh+2*eu(gd),bd=L*Wh,_d=tu(o,Jh),Id=d*Kh+U*td+2*eu(bd),Nd=Y*nd,Sd=tu(e,ed),Ed=p*rd+R*od+2*eu(Nd),wd=k*id,Od=tu(i,cd),Md=v*sd+j*ud+2*eu(wd),Td=X*fd,Cd=tu(s,ld),yd=m*ad+W*pd+2*eu(Td),Pd=gd+bd,Ad=nu(md,_d),Bd=xd+Id+eu(Pd),Fd=Nd+wd,zd=nu(Sd,Od),Yd=Ed+Md+eu(Fd),Vd=Td+hd,Ld=nu(Cd,dd),kd=yd+vd+eu(Vd),$d=Xh+Dh,Xd=nu(qh,Qh),qd=Hh+Rh+eu($d),Hd=Pd+Fd,Dd=nu(Ad,zd),Qd=Bd+Yd+eu(Hd),Rd=Vd+$d,Gd=nu(Ld,Xd),Ud=kd+qd+eu(Rd),jd=Hd+Rd,Zd=nu(Dd,Gd),Wd=Qd+Ud+eu(jd),Jd=Mt+Bt,Kd=nu(In,Fn),tv=Nn+zn+eu(Jd),nv=Mt+It,ev=nu(In,un),rv=Nn+fn+eu(nv),ov=2*Jd+It,iv=nu(Js(Kd),un),cv=2*tv+fn+eu(ov),sv=2*nv+Bt,uv=nu(Js(ev),Fn),fv=2*rv+zn+eu(sv),lv=w*ov,av=Ks(w,iv),pv=st*cv+eu(lv),hv=C*St,dv=Ks(C,pn),vv=at*dn+eu(hv),gv=C*sv,mv=Ks(C,uv),xv=at*fv+eu(gv),bv=w*Qt,_v=Ks(w,oe),Iv=st*ce+eu(bv),Nv=w*St,Sv=Ks(w,pn),Ev=st*dn+eu(Nv),wv=et*vt,Ov=tu(S,Wt),Mv=P*be+2*eu(wv),Tv=C*Qt,Cv=Ks(C,oe),yv=at*ce+eu(Tv),Pv=it*Xt,Av=tu(M,Wn),Bv=F*we+2*eu(Pv),Fv=lv+hv,zv=nu(av,dv),Yv=pv+vv+eu(Fv),Vv=pv+vv+Yv,Lv=gv+bv,kv=nu(mv,_v),$v=xv+Iv+eu(Lv),Xv=xv+Iv+$v,qv=Nv+wv,Hv=nu(Sv,Ov),Dv=eu(qv),Qv=Ev+Mv+Dv,Rv=Tv+Pv,Gv=nu(Cv,Av),Uv=eu(Rv),jv=yv+Bv+Uv,Zv=Y*qv,Wv=tu(e,Hv),Jv=p*Dv+R*Qv+2*eu(Zv),Kv=k*Rv,tg=tu(i,Gv),ng=v*Uv+j*jv+2*eu(Kv),eg=3*(Zv+Kv),rg=Ks(3,nu(Wv,tg)),og=3*(Jv+ng)+2*eu(eg),ig=Jd+It,cg=nu(Kd,un),sg=eu(ig),ug=tv+fn+sg,fg=2*mt+St,lg=nu(Js(tn),pn),ag=eu(fg),pg=2*nn+dn+ag,hg=2*Ht+Qt,dg=nu(Js(te),oe),vg=eu(hg),gg=2*ne+ce+vg,mg=V*Fv,xg=tu(r,zv),bg=h*Yv+G*Vv+2*eu(mg),_g=L*Lv,Ig=tu(o,kv),Ng=d*$v+U*Xv+2*eu(_g),Sg=X*ig,Eg=tu(s,cg),wg=m*sg+W*ug+2*eu(Sg),Og=$*fg,Mg=tu(c,lg),Tg=g*ag+Z*pg+2*eu(Og),Cg=q*hg,yg=tu(u,dg),Pg=x*vg+J*gg+2*eu(Cg),Ag=et*H,Bg=tu(S,f),Fg=P*K+ft*b+eu(Ag),zg=it*D,Yg=tu(M,l),Vg=F*tt+ht*_+eu(zg),Lg=Ag+zg,kg=nu(Bg,Yg),$g=Fg+Vg+eu(Lg),Xg=mg+_g,qg=nu(xg,Ig),Hg=bg+Ng+eu(Xg),Dg=eg+Sg,Qg=nu(rg,Eg),Rg=og+wg+eu(Dg),Gg=Og+Cg,Ug=nu(Mg,yg),jg=Tg+Pg+eu(Gg),Zg=Xg+Dg,Wg=nu(qg,Qg),Jg=Hg+Rg+eu(Zg),Kg=Gg+Lg,tm=nu(Ug,kg),nm=jg+$g+eu(Kg),em=Zg+Kg,rm=nu(Wg,tm),om=Jg+nm+eu(em),im=Ot+_t,cm=nu(bn,cn),sm=eu(im),um=_n+sn+sm,fm=w*V,lm=Ks(w,r),am=eu(fm),pm=st*h+am,hm=C*L,dm=Ks(C,o),vm=eu(hm),gm=at*d+vm,mm=im+Ot,xm=nu(cm,bn),bm=eu(mm),_m=um+_n+bm,Im=im+_t,Nm=nu(cm,cn),Sm=eu(Im),Em=um+sn+Sm,wm=nt*vt,Om=tu(E,Wt),Mm=eu(wm),Tm=A*be+2*Mm,Cm=wm*Y,ym=tu(Om,e),Pm=Tm*R+Mm*p+2*eu(Cm),Am=ot*Xt,Bm=tu(T,Wn),Fm=eu(Am),zm=z*we+2*Fm,Ym=Am*k,Vm=tu(Bm,i),Lm=zm*j+Fm*v+2*eu(Ym),km=X*im,$m=tu(s,cm),Xm=m*sm+W*um+2*eu(km),qm=gt*$,Hm=tu(Jt,c),Dm=Kt*Z+_e*g+2*eu(qm),Qm=qt*q,Rm=tu(Jn,u),Gm=Kn*J+Oe*x+2*eu(Qm),Um=qm+Qm,jm=nu(Hm,Rm),Zm=Dm+Gm+eu(Um),Wm=nt*H,Jm=tu(E,f),Km=A*K+ut*b+eu(Wm),tx=ot*D,nx=tu(T,l),ex=z*tt+pt*_+eu(tx),rx=Wm+tx,ox=nu(Jm,nx),ix=Km+ex+eu(rx),cx=fm*mm,sx=tu(lm,xm),ux=pm*bm+am*_m+2*eu(cx),fx=hm*Im,lx=tu(dm,Nm),ax=gm*Sm+vm*Em+2*eu(fx),px=cx+fx,hx=nu(sx,lx),dx=ux+ax+eu(px),vx=3*(Cm+Ym),gx=Ks(3,nu(ym,Vm)),mx=3*(Pm+Lm)+2*eu(vx),xx=km+2*Um,bx=nu($m,Js(jm)),_x=Xm+2*Zm+eu(xx),Ix=px+vx,Nx=nu(hx,gx),Sx=dx+mx+eu(Ix),Ex=xx+rx,wx=nu(bx,ox),Ox=_x+ix+eu(Ex),Mx=Ix+Ex,Tx=nu(Nx,wx),Cx=Sx+Ox+eu(Mx),yx=w*Y,Px=Ks(w,e),Ax=st*p+eu(yx),Bx=C*V,Fx=Ks(C,r),zx=at*h+eu(Bx),Yx=yx+Bx,Vx=nu(Px,Fx),Lx=Ax+zx+eu(Yx),kx=w*L,$x=Ks(w,o),Xx=st*d+eu(kx),qx=C*k,Hx=Ks(C,i),Dx=at*v+eu(qx),Qx=kx+qx,Rx=nu($x,Hx),Gx=Xx+Dx+eu(Qx),Ux=Yx+$,jx=nu(Vx,c),Zx=Lx+g+eu(Ux),Wx=Qx+q,Jx=nu(Rx,u),Kx=Gx+x+eu(Wx),tb=vt*Ux,nb=tu(Wt,jx),eb=be*Zx+2*eu(tb),rb=Xt*Wx,ob=tu(Wn,Jx),ib=we*Kx+2*eu(rb),cb=tb+rb,sb=nu(nb,ob),ub=eb+ib+eu(cb),fb=bt*X,lb=tu(on,s),ab=Ee*m+eu(fb),pb=cb+fb,hb=nu(sb,lb),db=ub+ab+eu(pb),vb=w*H,gb=Ks(w,f),mb=st*b+eu(vb),xb=C*D,bb=Ks(C,l),_b=at*_+eu(xb),Ib=vb+xb,Nb=nu(gb,bb),Sb=mb+_b+eu(Ib),Eb=pb+Ib,wb=nu(hb,Nb),Ob=db+Sb+eu(Eb),Mb=Eb+Q,Tb=nu(wb,a),Cb=Ob+I+eu(Mb);return{coeffs:[lr,no,Ci,Us,vl,bp,Zd,rm,Tx,Tb],errBound:[ru*ar,ru*eo,ru*yi,ru*js,ru*gl,ru*_p,ru*Wd,ru*om,ru*Cx,ru*Cb]}}]],Ff=[[pu,Ku,bf],[wu,sf,Of],[Uu,df,function(t,n){const e=Bt(t);if(0===Af(e[0][0])&&0===Af(e[1][0]))return Of(Bu(t),n);const[[r,o,i,[c]],[s,u,f,[l]]]=Bt(n);if(0===Af(r)&&0===Af(s))return df(t,Bu(n));const{vₓₓₓ:a,vₓₓᵧ:p,vₓᵧᵧ:h,vᵧᵧᵧ:d,vₓₓ:v,vₓᵧ:g,vᵧᵧ:m,vₓ:x,vᵧ:b,v:_}=Xu(e),I=Mf(c,c),N=Tf(c,i),S=Tf(c,o),E=Tf(c,r),w=Mf(c,l),O=Tf(c,f),M=Tf(c,u),T=Tf(c,s),C=Cf(i,i),y=Cf(i,o),P=Cf(i,r),A=Tf(l,i),B=Cf(i,f),F=Cf(i,u),z=Cf(i,s),Y=Cf(o,f),V=Cf(o,o),L=Cf(o,r),k=Tf(l,o),$=Cf(o,u),X=Cf(o,s),q=Cf(r,r),H=Tf(l,r),D=Cf(r,f),Q=Cf(r,u),R=Cf(r,s),G=Mf(l,l),U=Tf(l,f),j=Tf(l,u),Z=Tf(l,s),W=Cf(f,f),J=Cf(f,u),K=Cf(s,s),tt=Cf(u,u),nt=Cf(u,s),et=Cf(f,s),rt=Cf(r,q),ot=Cf(r,K),it=Cf(s,q),ct=Cf(s,K),st=Cf(rt,a),ut=Cf(ot,h),ft=Cf(it,p),lt=Cf(ct,d),at=yf(st,ut),pt=yf(ft,lt),ht=yf(at,pt),dt=yf(Pf(X),Q),vt=yf(Pf(Q),X),gt=Cf(r,dt),mt=Cf(s,vt),xt=Cf(o,q),bt=Cf(u,K),_t=Cf(a,xt),It=Cf(d,bt),Nt=Cf(p,gt),St=Cf(h,mt),Et=yf(Nt,St),wt=Tf(3,yf(_t,It)),Ot=yf(Et,wt),Mt=Cf(i,R),Tt=Cf(f,q),Ct=Cf(o,nt),yt=Cf(i,K),Pt=Cf(o,Q),At=Cf(s,V),Ft=Cf(r,et),zt=Cf(u,Q),Yt=yf(Mt,Pt),Vt=yf(Tt,At),Lt=yf(Ct,Ft),kt=yf(yt,zt),$t=yf(P,V),Xt=yf(et,tt),qt=yf(Pf(Yt),Vt),Ht=yf(Pf(Lt),kt),Dt=Cf(p,qt),Qt=Cf(h,Ht),Rt=Cf(r,$t),Gt=Cf(s,Xt),Ut=Cf(a,Rt),jt=Cf(d,Gt),Zt=yf(Dt,Qt),Wt=Tf(3,yf(Ut,jt)),Jt=yf(Zt,Wt),Kt=yf(X,Q),tn=Cf(u,V),nn=Pf(Cf(i,Kt)),en=yf(tn,nn),rn=Pf(yf(T,Y)),on=yf(rn,H),cn=Cf(r,on),sn=yf(en,cn),un=Cf(o,tt),fn=Pf(Cf(f,Kt)),ln=yf(un,fn),an=Pf(yf(F,H)),pn=yf(an,T),hn=Cf(s,pn),dn=yf(ln,hn),vn=Cf(o,V),gn=yf(Pf(y),E),mn=Cf(Tf(3,r),gn),xn=yf(vn,mn),bn=Cf(u,tt),_n=yf(Pf(J),Z),In=Cf(Tf(3,s),_n),Nn=yf(bn,In),Sn=Cf(p,sn),En=Cf(h,dn),wn=yf(Sn,En),On=Cf(a,xn),Mn=Cf(d,Nn),Tn=yf(On,Mn),Cn=Cf(q,v),yn=Cf(K,m),Pn=yf(Cn,yn),An=Cf(R,g),Bn=yf(wn,Tn),Fn=yf(Pn,An),zn=yf(Bn,Fn),Yn=yf($,D),Vn=yf(z,$),Ln=Tf(c,Kt),kn=Tf(l,Kt),$n=Cf(i,Yn),Xn=Cf(f,Vn),qn=yf(Pf(H),Y),Hn=yf(Pf(T),F),Dn=Cf(s,C),Qn=Cf(r,W),Rn=Cf(o,qn),Gn=Cf(u,Hn),Un=Pf(yf(Ln,$n)),jn=Pf(yf(kn,Xn)),Zn=Pf(Tf(c,L)),Wn=Pf(Tf(l,nt)),Jn=Cf(i,$t),Kn=Cf(f,Xt),te=Cf(L,v),ne=Cf(nt,m),ee=yf(Un,Dn),re=yf(jn,Qn),oe=yf(ee,Rn),ie=yf(re,Gn),ce=yf(Zn,Jn),se=yf(Wn,Kn),ue=Pf(yf(te,ne)),fe=Cf(p,oe),le=Cf(h,ie),ae=Cf(a,ce),pe=Cf(d,se),he=yf(fe,le),de=Tf(3,yf(ae,pe)),ve=Cf(g,Kt),ge=yf(he,de),me=yf(ve,ue),xe=yf(ge,me),be=yf(z,Yn),_e=yf(Pf(P),V),Ie=yf(Pf(et),tt),Ne=Tf(2*c,be),Se=Tf(2*l,be),Ee=yf(F,Pf(Y)),we=yf(Y,Pf(F)),Oe=Tf(l,_e),Me=Tf(c,Ie),Te=Cf(i,Ee),Ce=Cf(f,we),ye=Tf(c,_e),Pe=Tf(l,Ie),Ae=Cf(o,C),Be=Cf(u,W),Fe=yf(Ne,Oe),ze=yf(Se,Me),Ye=yf(Fe,Te),Ve=yf(ze,Ce),Le=yf(ye,Ae),ke=yf(Pe,Be),$e=Cf(p,Ye),Xe=Cf(h,Ve),qe=Cf(a,Le),He=Cf(d,ke),De=yf(qe,He),Qe=yf($e,Xe),Re=yf(Qe,Tf(3,De)),Ge=Cf(g,be),Ue=Cf(v,_e),je=yf(Ge,Ue),Ze=Cf(m,Ie),We=yf(je,Ze),Je=yf(Re,We),Ke=yf(F,Y),tr=yf(H,T),nr=yf(y,E),er=yf(J,Z),rr=yf(Pf(Ke),H),or=yf(Pf(Ke),T),ir=yf(Pf(k),B),cr=yf(Pf(M),B),sr=yf(nr,y),ur=yf(er,J),fr=Cf(Mf(3,c),sr),lr=Cf(Mf(3,l),ur),ar=Cf(i,C),pr=Cf(f,W),hr=Cf(v,nr),dr=Cf(m,er),vr=yf(rr,tr),gr=yf(or,tr),mr=Tf(c,vr),xr=Tf(l,gr),br=Cf(i,ir),_r=Cf(f,cr),Ir=Cf(r,x),Nr=Cf(s,b),Sr=yf(mr,br),Er=yf(xr,_r),wr=yf(fr,ar),Or=yf(lr,pr),Mr=yf(tr,Ke),Tr=Pf(yf(hr,dr)),Cr=Cf(p,Sr),yr=Cf(h,Er),Pr=Cf(a,wr),Ar=Cf(d,Or),Br=Cf(g,Mr),Fr=yf(Cr,yr),zr=yf(Pr,Ar),Yr=yf(Br,Tr),Vr=yf(Ir,Nr),Lr=yf(Fr,zr),kr=yf(Yr,Vr),$r=yf(Lr,kr),Xr=yf(B,k),qr=yf(B,M),Hr=yf(Pf(Xr),M),Dr=yf(Pf(qr),k),Qr=Tf(c,Hr),Rr=Tf(l,C),Gr=Tf(l,Dr),Ur=Tf(c,W),jr=Tf(c,C),Zr=Cf(o,I),Wr=Tf(l,W),Jr=Cf(u,G),Kr=yf(Qr,Rr),to=yf(Gr,Ur),no=yf(jr,Zr),eo=yf(Wr,Jr),ro=Cf(a,no),oo=Cf(d,eo),io=Tf(3,yf(ro,oo)),co=yf(Xr,M),so=yf(Pf(S),C),uo=yf(Pf(j),W),fo=Cf(p,Kr),lo=Cf(h,to),ao=Cf(g,co),po=Cf(v,so),ho=Cf(m,uo),vo=Cf(o,x),go=Cf(u,b),mo=yf(vo,go),xo=yf(fo,lo),bo=yf(io,ao),_o=yf(po,ho),Io=yf(xo,bo),No=yf(_o,mo),So=yf(Io,No),Eo=yf(A,O),wo=Tf(c,p),Oo=Tf(l,h),Mo=yf(Eo,A),To=yf(Eo,O),Co=Cf(i,I),yo=Cf(Co,a),Po=Cf(f,G),Ao=Cf(Po,d),Bo=Cf(g,Eo),Fo=Cf(N,v),zo=Cf(U,m),Yo=yf(Fo,zo),Vo=Cf(i,x),Lo=Cf(f,b),ko=yf(Vo,Lo),$o=Cf(wo,Mo),Xo=Cf(Oo,To),qo=yf($o,Xo),Ho=Tf(3,yf(yo,Ao)),Do=yf(Bo,Pf(Yo)),Qo=yf(qo,Ho),Ro=yf(Do,ko),Go=yf(Qo,Ro),Uo=Tf(c,a),jo=Tf(l,p),Zo=yf(Uo,jo),Wo=Tf(c,h),Jo=Tf(l,d),Ko=yf(Wo,Jo),ti=yf(Zo,v),ni=yf(Ko,m),ei=Cf(I,ti),ri=Cf(G,ni),oi=yf(ei,ri),ii=Cf(w,g),ci=yf(oi,ii),si=Tf(c,x),ui=Tf(l,b),fi=yf(si,ui),li=yf(ci,fi);return[ht,Ot,Jt,zn,xe,Je,$r,So,Go,yf(li,_)]}]];function zf(t,n){const{coeffs:e,errBound:r}=Bf[t.length-2][n.length-2](t,n);return{coeffs:e,errBound:r,getPExact:()=>Ff[t.length-2][n.length-2](t,n)}}const Yf=134217729;function Vf(t,n){const e=t[0],r=t[1],o=n[0],i=n[1],c=r/i,s=i*c,u=Yf*i,f=u-(u-i),l=i-f,a=Yf*c,p=a-(a-c),h=c-p,d=o*c,v=s+d,g=d-(v-s)+(l*h-(s-f*p-l*p-f*h)),m=v+g,x=(r-m+(e-(g-(m-v))))/i,b=c+x;return[x-(b-c),b]}const Lf=Vf,kf=Number.EPSILON/2,$f=kf*kf,Xf=b,qf=b,Hf=b,Df=ur,Qf=sr,Rf=_r,Gf=x,Uf=Co,jf=Number.EPSILON/2,Zf=jf*jf,Wf=Math.abs,Jf=Hf,Kf=[0,1],tl=Df,nl=Gf,el=Qf,rl=Rf,ol=Uf,il=function(t,n,e,r){const o=t[0],i=t[1],c=n[0],s=n[1],u=Lf(t,n),f=Math.abs(o+i),l=Math.abs(c+s),a=l-kf*l-r;return a<=0?{est:u,err:Number.POSITIVE_INFINITY}:{est:u,err:(l*e+f*r)/a**2+9*$f*Math.abs(f/l)}},cl=function(t,n){return Xf(t,n)[1]>0?n:t},sl=function(t,n){return qf(t,n)[1]>0?t:n},ul=Z(3);function fl(t,n){return n[0][0]!==n[1][0]||n[0][1]!==n[1][1]?4===t.length?function([[t,n],[e,r],[o,i],[c,s]],[u,f]){const l=Jf(f,u),a=3*Zf*Wf(l[1]),p=Jf(Kf,u),h=3*Zf*Wf(p[1]),d=il(l,p,a,h);f=tl(d.est,d.err);const v=Jf(Kf,u),g=el(u,u),m=el(u,v),x=el(v,v),b=el(g,u),_=el(g,v),I=el(x,u),N=el(x,v),S=Jf(Kf,f),E=el(f,f),w=el(f,S),O=el(S,S),M=el(E,f),T=el(E,S),C=el(O,f),y=el(O,S),P=Wf(u[1]),A=Wf(v[1]),B=Wf(g[1]),F=Wf(m[1]),z=Wf(x[1]),Y=Wf(b[1]),V=Wf(_[1]),L=Wf(I[1]),k=Wf(N[1]),$=Wf(f[1]),X=Wf(S[1]),q=Wf(E[1]),H=Wf(w[1]),D=Wf(O[1]),Q=Wf(M[1]),R=Wf(T[1]),G=Wf(C[1]),U=Wf(y[1]);let j=Wf(t),Z=Wf(n),W=Wf(e),J=Wf(r),K=Wf(o),tt=Wf(i),nt=Wf(c),et=Wf(s);const rt=nl(rl(c,u),rl(o,v)),ot=nl(nl(rl(c,g),rl(2*o,m)),rl(e,x)),it=nl(nl(rl(c,b),rl(t,N)),rl(3,nl(rl(o,_),rl(e,I)))),ct=nl(el(ot,f),el(it,S)),st=nl(nl(el(rt,E),el(it,O)),el(ol(ot),w)),ut=nl(nl(rl(c,M),el(it,y)),rl(3,nl(el(rt,T),el(ot,C)))),ft=Wf(it[1]),lt=nt*P+K*A,at=nt*B+2*K*F+W*z;j=nt*Y+j*k+3*(K*V+W*L),W=at*$+ft*X,K=lt*q+ft*D+2*at*H,nt=nt*Q+ft*U+3*(lt*R+at*G),j*=11*Zf,W*=15*Zf,K*=20*Zf,nt*=22*Zf;const pt=nl(rl(s,u),rl(i,v)),ht=nl(nl(rl(s,g),rl(2*i,m)),rl(r,x)),dt=nl(nl(rl(s,b),rl(n,N)),rl(3,nl(rl(i,_),rl(r,I)))),vt=nl(el(ht,f),el(dt,S)),gt=nl(nl(el(pt,E),el(dt,O)),el(ol(ht),w)),mt=nl(nl(rl(s,M),el(dt,y)),rl(3,nl(el(pt,T),el(ht,C)))),xt=Wf(dt[1]),bt=et*P+tt*A,_t=et*B+2*tt*F+J*z;Z=et*Y+Z*k+3*(tt*V+J*L),J=_t*$+xt*X,tt=bt*q+xt*D+2*_t*H,et=et*Q+xt*U+3*(bt*R+_t*G),Z*=11*Zf,J*=15*Zf,tt*=20*Zf,et*=22*Zf;const It=cl(cl(tl(it,-j),tl(ct,-W)),cl(tl(st,-K),tl(ut,-nt))),Nt=sl(sl(tl(it,+j),tl(ct,+W)),sl(tl(st,+K),tl(ut,+nt)));return[[It,cl(cl(tl(dt,-Z),tl(vt,-J)),cl(tl(gt,-tt),tl(mt,-et)))],[Nt,sl(sl(tl(dt,+Z),tl(vt,+J)),sl(tl(gt,+tt),tl(mt,+et)))]]}(t,n):3===t.length?function([[t,n],[e,r],[o,i]],[c,s]){const u=Jf(s,c),f=3*Zf*Wf(u[1]),l=Jf(Kf,c),a=3*Zf*Wf(l[1]),p=il(u,l,f,a);s=tl(p.est,p.err);const h=Jf(Kf,c),d=el(c,c),v=el(c,h),g=el(h,h),m=Jf(Kf,s),x=el(s,s),b=el(s,m),_=el(m,m),I=Wf(c[1]),N=Wf(h[1]),S=Wf(d[1]),E=Wf(v[1]),w=Wf(g[1]),O=Wf(s[1]),M=Wf(m[1]),T=Wf(x[1]),C=Wf(b[1]),y=Wf(_[1]);let P=Wf(t),A=Wf(n),B=Wf(e),F=Wf(r),z=Wf(o),Y=Wf(i);const V=nl(nl(rl(o,d),rl(2*e,v)),rl(t,g)),L=nl(rl(o,c),rl(e,h)),k=V,$=nl(el(s,L),el(m,V)),X=nl(nl(rl(o,x),el(ol(b),L)),el(_,V)),q=z*S+2*B*E+P*w,H=z*I+B*N;P=q,B=O*H+M*q,z=T*o+2*C*H+y*q,P*=7*Zf,B*=11*Zf,z*=14*Zf;const D=nl(nl(rl(i,d),rl(2*r,v)),rl(n,g)),Q=nl(rl(i,c),rl(r,h)),R=D,G=nl(el(s,Q),el(m,D)),U=nl(nl(rl(i,x),el(ol(b),Q)),el(_,D)),j=Y*S+2*F*E+A*w,Z=Y*I+F*N;A=j,F=O*Z+M*j,Y=T*i+2*C*Z+y*j,A*=7*Zf,F*=11*Zf,Y*=14*Zf;const W=cl(cl(tl(k,-P),tl($,-B)),tl(X,-z)),J=sl(sl(tl(k,+P),tl($,+B)),tl(X,+z));return[[W,cl(cl(tl(R,-A),tl(G,-F)),tl(U,-Y))],[J,sl(sl(tl(R,+A),tl(G,+F)),tl(U,+Y))]]}(t,n):function([[t,n],[e,r]],[o,i]){const c=Jf(i,o),s=3*Zf*Wf(c[1]),u=Jf(Kf,o),f=3*Zf*Wf(u[1]),l=il(c,u,s,f);i=tl(l.est,l.err);const a=Jf(Kf,o),p=Jf(Kf,i),h=Wf(o[1]),d=Wf(a[1]),v=Wf(i[1]),g=Wf(p[1]);let m=Wf(t),x=Wf(n),b=Wf(e),_=Wf(r);const I=nl(rl(e,o),rl(t,a)),N=nl(rl(e,i),el(I,p));m=b*h+m*d,b=b*v+m*g,m*=3*jf,b*=7*jf;const S=nl(rl(r,o),rl(n,a)),E=nl(rl(r,i),el(S,p));x=_*h+x*d,_=_*v+x*g,x*=3*jf,_*=7*jf;const w=cl(tl(I,-m),tl(N,-b)),O=sl(tl(I,+m),tl(N,+b));return[[w,cl(tl(S,-x),tl(E,-_))],[O,sl(tl(S,+x),tl(E,+_))]]}(t,n):function(t,n){const e=t[0],r=t[t.length-1];if(0===n[0]&&0===n[1]){const t=[0,e[0]],n=[0,e[1]];return[[t,n],[t,n]]}if(0===n[0]&&1===n[1]){const t=[0,r[0]],n=[0,r[1]];return[[t,n],[t,n]]}const o=dr(t,n);let i;if(4===t.length)i=mo(t,n).map(t=>16*ul*t);else if(3===t.length)i=mo(t,n).map(t=>10*ul*t);else if(2===t.length)i=mo(t,n).map(t=>4*ul*t);else if(1===t.length)return[o,o];return[[tl(o[0],-i[0]),tl(o[1],-i[1])],[tl(o[0],+i[0]),tl(o[1],+i[1])]]}(t,n[0])}function ll(t){return(n,e)=>{let[[r,o],[i,c]]=n,[[s,u],[f,l]]=e;return(o[1]>c[1]||o[1]===c[1]&&o[0]>c[0])&&([o,c]=[c,o]),(u[1]>l[1]||u[1]===l[1]&&u[0]>l[0])&&([u,l]=[l,u]),(r[1]>i[1]||r[1]===i[1]&&r[0]>i[0])&&([r,i]=[i,r]),(s[1]>f[1]||s[1]===f[1]&&s[0]>f[0])&&([s,f]=[f,s]),t?(r[1]<f[1]||r[1]===f[1]&&r[0]<=f[0])&&(i[1]>s[1]||i[1]===s[1]&&i[0]>=s[0])&&(u[1]<c[1]||u[1]===c[1]&&u[0]<=c[0])&&(l[1]>o[1]||l[1]===o[1]&&l[0]>=o[0]):(r[1]<f[1]||r[1]===f[1]&&r[0]<f[0])&&(i[1]>s[1]||i[1]===s[1]&&i[0]>s[0])&&(u[1]<c[1]||u[1]===c[1]&&u[0]<c[0])&&(l[1]>o[1]||l[1]===o[1]&&l[0]>o[0])}}function al(t){return[((n=t.x.box)[0][0]+n[1][0])/2,(n[0][1]+n[1][1])/2];var n}function pl(t,n){const e=zf(t,n);if(void 0===e)return;const{coeffs:r,errBound:o,getPExact:i}=e,c=ao(r,0,1,o,i);return 0!==c.length?{ris:c.map(wc),getPExact:i}:void 0}function hl(t){return{tS:ht(t.tS),tE:ht(t.tE),multiplicity:t.multiplicity}}function dl(t,n){const e=pl(t,n);if(void 0===e)return[];const{getPExact:r}=e;let o,{ris:i}=e;const c=()=>(o=o||r(),o),s=pl(n,t);if(void 0===s)return[];let{ris:u}=s;const{getPExact:f}=s;let l;const a=()=>(l=l||f(),l);let p;p=1;let h,d=0;t:for(;d<p;){h=u.map(n=>fl(t,[n.tS,n.tE]));for(let t=0;t<u.length;t++){const n=h[t];for(let e=t+1;e<u.length;e++){const t=h[e];if(ll(!0)(n,t)){const t=[];for(const n of u)t.push(...Vi({tS:n.tS[1],tE:n.tE[1],multiplicity:n.multiplicity},a()));u=t,d++;continue t}}}break t}p=1;let v,g=0;t:for(;g<p;){v=i.map(t=>fl(n,[t.tS,t.tE]));for(let t=0;t<i.length;t++){const n=v[t];for(let e=t+1;e<i.length;e++){const t=v[e];if(ll(!0)(n,t)){const t=[];for(const n of i)t.push(...Vi({tS:n.tS[1],tE:n.tE[1],multiplicity:n.multiplicity},c()));i=t,g++;continue t}}}break t}const m=[];for(let t=0;t<u.length;t++){const n=h[t];for(let e=0;e<i.length;e++){const o=v[e];if(ll(!0)(n,o)){const c={compensated:d,ri:hl(u[t]),riExp:d?u[t]:void 0,getPExact:d?void 0:f,kind:1,box:vl(n)},s={compensated:g,ri:hl(i[e]),riExp:g?i[e]:void 0,getPExact:g?void 0:r,kind:1,box:vl(o)};m.push({psX:c,sideX:s})}}}return m}function vl(t){return t.map(t=>t.map(ht))}function gl(t,n){return function(t,n){const e=t.xs,r=[],o=new Map;for(const t of e){const n=t.curve,e=o.get(n);e?e.push(t):o.set(n,[t])}const i=function(t){const[[n,e],[r,o]]=t.box,i=[[[r,e],[n,e]],[[n,e],[n,o]],[[n,o],[r,o]],[[r,o],[r,e]]];return(n,e,r)=>{const o=n.ps,c=e.slice();for(let t=0;t<i.length;t++){const n=dl(o,i[t]);for(const{psX:e,sideX:r}of n)c.push({x:e,side:t,sideX:r,curve:void 0})}c.sort((t,n)=>t.x.ri.tS-n.x.ri.tS);const s=[],u=[];let f,l;for(const n of c)void 0!==n.side?(!0===l&&(u.push({idx:++r,dir:1,p:al(n),_x_:f,container:t,side:n.side,sideX:n.sideX,loopsIdxs:new Set,children:new Set,windingNum:0,orientation:0}),f.out=u[u.length-1]),l=!1):(!1===l&&(s.push({idx:++r,dir:-1,p:al(f),_x_:n,container:t,side:f.side,sideX:f.sideX,loopsIdxs:new Set,children:new Set,windingNum:0,orientation:0}),n.in_=s[s.length-1]),l=!0),f=n;return{ins:s,outs:u,ioIdx:r}}}(t);for(const t of o){const[e,o]=t;let c,s;({ins:c,outs:s,ioIdx:n}=i(e,o,n)),r.push(...c),r.push(...s)}return{inOuts:r,ioIdx:n}}(t,n)}function ml(t,n,e,r){const o=[];for(const r of t)o.push({type:-1,item:r,x:n(r)}),o.push({type:1,item:r,x:e(r)});o.sort(xl);const i=new Set,c=[];for(const t of o){const{item:n,type:e}=t;if(-1===e){for(const t of i){const e=r(n,t);e&&c.push({a:n,b:t,u:e})}i.add(n)}else 1===e&&i.delete(n)}return c}function xl(t,n){const e=t.x-n.x;return 0!==e?e:t.type}function bl(t,n){const e=n[0]-t[0],r=n[1]-t[1];return e*e+r*r}function _l(t,n,e){const r=n[0]-t[0],o=n[1]-t[1];return r*(e[0]-n[0])+o*(e[1]-n[1])}const Il=function(t,n){if(0===t.length)return;const e=t.slice(),r=function(t){let n,e=[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY];for(let r=0;r<t.length;r++){const o=t[r][1];(o<e[1]||o===e[1]&&t[r][0]<e[0])&&(n=r,e=t[r])}return n}(e),[o]=e.splice(r,1);e.sort((t,n)=>{let e=-gt(o,t,n);return 0!==e?e:(e=t[1]-n[1],0!==e?e:t[0]-n[0])}),e.unshift(o);const i=function(t){const n=[t[0]],e=t.length;for(let r=1;r<t.length;r++){const o=t[(r+e-1)%e],i=t[r];o[0]===i[0]&&o[1]===i[1]||n.push(i)}return n}(e),c=[];for(const t of i){for(;c.length>=2&>(c[c.length-2],c[c.length-1],t)<0;)c.pop();c.push(t)}if(n||c.length<3)return c;const s=[];{const t=c.length;for(let n=0;n<t;n++){const e=(n+1)%t,r=c[(n+t-1)%t],o=c[n],i=c[e];(0!==gt(r,o,i)||_l(r,o,i)<0)&&s.push(o)}}return s},Nl=x,Sl=H,El=B,wl=Q,Ol=ht,Ml=sr,Tl=Ci,Cl=Math.abs,yl=Z(3);const Pl=Math.abs;const Al=Math.abs,Bl=sr,Fl=x,zl=H,Yl=B,Vl=Q,Ll=ht,kl=Ci,$l=Math.abs,Xl=j(1),ql=Z(3);function Hl(t,n){const[e,r]=n,o=e.length,i=r.length,c=e[o-1],s=r[i-1],u=1===o&&1===i;{const{vₓₓ:n,vₓᵧ:e,vᵧᵧ:r,vₓ:o,vᵧ:i,v:f}=function(t){const[[n,e,r],[o,i,c]]=ji(t),s=n*i-e*o,u=n*c-r*o;return{vₓₓ:-o*o,vₓᵧ:2*n*o,vᵧᵧ:-n*n,vₓ:i*s-2*o*u,vᵧ:2*n*u-e*s,v:s*(e*c-r*i)-u*u}}(t),{vₓₓ_:l,vₓᵧ_:a,vᵧᵧ_:p,vₓ_:h,vᵧ_:d,v_:v}=function(t){const[n,e]=t[0],[[r,o],[i,c]]=function(t){const[[n,e],[r,o],[i,c]]=t,s=Pl(n),u=Pl(r),f=Pl(i),l=Pl(e),a=Pl(o);return[[f+s+2*u,2*(u+s),0],[Pl(c)+l+2*a,2*(a+l),0]]}(t),s=Al(n),u=Al(e),f=r*c+o*i,l=r*u+s*i;return{vₓₓ_:i*i,vₓᵧ_:2*r*i,vᵧᵧ_:r*r,vₓ_:c*f+2*i*l,vᵧ_:2*r*l+o*f,v_:f*(o*u+s*c)+l*l}}(t),g=u?0:1,m=$l(c),x=$l(s);if((g+12)*Xl*(l*(m*m)+a*(m*x)+p*(x*x)+(h*m+d*x)+v)<$l(n*c*c+e*c*s+r*s*s+(o*c+i*s)+f))return!1}{const{coeffs:{vₓₓ:n,vₓᵧ:o,vᵧᵧ:i,vₓ:u,vᵧ:f,v:l},errorBound:{vₓₓ_:a,vₓᵧ_:p,vᵧᵧ_:h,vₓ_:d,vᵧ_:v,v_:g}}=Wc(t),m=kl(e),x=kl(r),b=$l(c),_=$l(s),I=b/3,N=_/3,S=Bl(m,m),E=S[1],w=2*(b*I+E),O=Bl(x,x),M=O[1],T=2*(_*N+M),C=Bl(m,x),y=$l(C[1]),P=b*N+I*_+2*y,A=Bl(n,S),B=$l(n[1])*w+a*E+2*$l(A[1]),F=Bl(o,C),z=$l(o[1])*P+p*y+2*$l(F[1]),Y=Bl(i,O),V=$l(i[1])*T+h*M+2*$l(Y[1]),L=Bl(m,u),k=$l(u[1])*I+d*b+2*$l(L[1]),$=Bl(x,f),X=$l(f[1])*N+v*_+2*$l($[1]),q=Fl(A,F),H=B+z+$l(q[1]),D=Fl(q,Y),Q=H+V+$l(D[1]),R=Fl(L,$),G=k+X+$l(R[1]),U=Fl(D,R),j=Q+G+$l(U[1]),Z=Fl(U,l),W=j+g+$l(Z[1]);if(ql*W<$l(Ll(Z)))return!1}{const n=function(t){return xu(Ft(t))}(t);if(void 0===n)return u&&c===t[0][0]&&s===t[0][1];n.hasOwnProperty("vₓₓ")||(n.vₓₓ=[0],n.vₓᵧ=[0],n.vᵧᵧ=[0]);const{vₓₓ:o,vₓᵧ:i,vᵧᵧ:f,vₓ:l,vᵧ:a,v:p}=n,h=Yl(Yl(Yl(zl(o,zl(e,e)),zl(i,zl(e,r))),zl(f,zl(r,r))),Yl(Yl(zl(e,l),zl(r,a)),p));return 0===Vl(h)}}const Dl=Math.abs,Ql=sr,Rl=x,Gl=H,Ul=B,jl=Q,Zl=ht,Wl=Ci,Jl=Math.abs,Kl=j(1),ta=Z(3);function na(t,n){const[e,r]=n,o=e.length,i=r.length,c=e[o-1],s=r[i-1],u=1===o&&1===i;{const{vₓₓₓ:n,vₓₓᵧ:e,vₓᵧᵧ:r,vᵧᵧᵧ:o,vₓₓ:i,vₓᵧ:f,vᵧᵧ:l,vₓ:a,vᵧ:p,v:h}=function(t){const[[n,e,r,o],[i,c,s,u]]=Ui(t),f=n*s,l=r*i,a=n*c,p=e*i,h=n*n,d=i*i,v=n*u-o*i,g=f-l,m=a-p,x=e*u-o*c,b=e*s-r*c,_=r*u-o*s,I=2*g,N=v*v,S=v*b,E=I*x,w=m*x,O=-3*v-b,M=-3*N-2*S+(E+m*_),T=2*(v*g-w),C=v*m-g*g+m*b;return{vₓₓₓ:-i*d,vₓₓᵧ:3*n*d,vₓᵧᵧ:-3*i*h,vᵧᵧᵧ:n*h,vₓₓ:O*d+m*(s*i-c*c)+I*c*i,vₓᵧ:2*(m*(e*c-(l+f)/2)-(O*n*i+g*(p+a))),vᵧᵧ:O*h+m*(r*n-e*e)+I*e*n,vₓ:i*M+(c*T+s*C),vᵧ:-n*M-(e*T+r*C),v:v*(E-N-S)+(C*_-w*x)}}(t),{vₓₓₓ_:d,vₓₓᵧ_:v,vₓᵧᵧ_:g,vᵧᵧᵧ_:m,vₓₓ_:x,vₓᵧ_:b,vᵧᵧ_:_,vₓ_:I,vᵧ_:N,v_:S}=function(t){const[n,e]=t[0],[[r,o,i],[c,s,u]]=function(t){const[[n,e],[r,o],[i,c],[s,u]]=t,f=Pl(n),l=Pl(r),a=Pl(i),p=Pl(s),h=Pl(e),d=Pl(o),v=Pl(c);return[[p+f+3*(l+a),3*(a+f+2*l),3*(l+f),0],[Pl(u)+h+3*(d+v),3*(v+h+2*d),3*(d+h),0]]}(t),f=Dl(n),l=Dl(e),a=r*u,p=i*c,h=r*s,d=o*c,v=r*r,g=c*c,m=r*l+f*c,x=a+p,b=h+d,_=o*l+f*s,I=o*u+i*s,N=i*l+f*u,S=2*x,E=m*m,w=m*I,O=S*_,M=b*_,T=3*m+I,C=3*E+2*w+(O+b*N),y=2*(m*x+M),P=m*b+x*x+b*I;return{vₓₓₓ_:c*g,vₓₓᵧ_:3*r*g,vₓᵧᵧ_:3*c*v,vᵧᵧᵧ_:r*v,vₓₓ_:T*g+b*(u*c+s*s)+S*s*c,vₓᵧ_:2*(b*(o*s+(p+a)/2)+(T*r*c+x*(d+h))),vᵧᵧ_:T*v+b*(i*r+o*o)+S*o*r,vₓ_:c*C+(s*y+u*P),vᵧ_:r*C+(o*y+i*P),v_:m*(O+E+w)+(P*N+M*_)}}(t),E=c*c,w=s*s,O=n*(E*c)+e*(E*s)+(r*(c*w)+o*(w*s))+(i*E+f*(c*s)+l*w)+(a*c+p*s+h),M=u?0:1,T=Jl(c),C=Jl(s),y=T*T,P=C*C;if((M+26)*Kl*(d*(y*T)+v*(y*C)+(g*(T*P)+m*(P*C))+(x*y+b*(T*C)+_*P)+(I*T+N*C+S))<Jl(O))return!1}{const{coeffs:{vₓₓₓ:n,vₓₓᵧ:o,vₓᵧᵧ:i,vᵧᵧᵧ:u,vₓₓ:f,vₓᵧ:l,vᵧᵧ:a,vₓ:p,vᵧ:h,v:d},errorBound:{vₓₓₓ_:v,vₓₓᵧ_:g,vₓᵧᵧ_:m,vᵧᵧᵧ_:x,vₓₓ_:b,vₓᵧ_:_,vᵧᵧ_:I,vₓ_:N,vᵧ_:S,v_:E}}=ps(t),w=Jl(n[1]),O=Jl(o[1]),M=Jl(i[1]),T=Jl(u[1]),C=Wl(e),y=Wl(r),P=Jl(c),A=Jl(s),B=P/3,F=A/3,z=Ql(C,C),Y=z[1],V=2*(P*B+Y),L=Ql(C,z),k=Jl(L[1]),$=P*V+B*Y+2*k,X=Ql(y,y),q=X[1],H=2*(A*F+q),D=Ql(y,X),Q=Jl(D[1]),R=A*H+F*q+2*Q,G=Ql(y,z),U=Jl(G[1]),j=A*V+F*Y+2*U,Z=Ql(C,X),W=Jl(Z[1]),J=P*H+B*q+2*W,K=Ql(C,y),tt=Jl(K[1]),nt=P*F+B*A+2*tt,et=Ql(n,L),rt=w*$+v*k+2*Jl(et[1]),ot=Ql(o,G),it=O*j+g*U+2*Jl(ot[1]),ct=Ql(i,Z),st=M*J+m*W+2*Jl(ct[1]),ut=Ql(u,D),ft=T*R+x*Q+2*Jl(ut[1]),lt=Ql(f,z),at=Jl(f[1])*V+b*Y+2*Jl(lt[1]),pt=Ql(l,K),ht=Jl(l[1])*nt+_*tt+2*Jl(pt[1]),dt=Ql(a,X),vt=Jl(a[1])*H+I*q+2*Jl(dt[1]),gt=Ql(C,p),mt=Jl(p[1])*B+N*P+2*Jl(gt[1]),xt=Ql(y,h),bt=Jl(h[1])*F+S*A+2*Jl(xt[1]),_t=Rl(et,ot),It=rt+it+Jl(_t[1]),Nt=Rl(ct,ut),St=st+ft+Jl(Nt[1]),Et=Rl(_t,Nt),wt=It+St+Jl(Et[1]),Ot=Rl(lt,pt),Mt=at+ht+Jl(Ot[1]),Tt=Rl(Ot,dt),Ct=Mt+vt+Jl(Tt[1]),yt=Rl(Et,Tt),Pt=wt+Ct+Jl(yt[1]),At=Rl(gt,xt),Bt=mt+bt+Jl(At[1]),Ft=Rl(At,d),zt=Bt+E+Jl(Ft[1]),Yt=Rl(yt,Ft),Vt=Pt+zt+Jl(Yt[1]);if(ta*Vt<Jl(Zl(Yt)))return!1}{const n=function(t){return Xu(Bt(t))}(t);if(void 0===n)return u&&c===t[0][0]&&s===t[0][1];n.hasOwnProperty("vₓₓₓ")||(n.vₓₓₓ=[0],n.vₓₓᵧ=[0],n.vₓᵧᵧ=[0],n.vᵧᵧᵧ=[0]),n.hasOwnProperty("vₓₓ")||(n.vₓₓ=[0],n.vₓᵧ=[0],n.vᵧᵧ=[0]);const{vₓₓₓ:o,vₓₓᵧ:i,vₓᵧᵧ:f,vᵧᵧᵧ:l,vₓₓ:a,vₓᵧ:p,vᵧᵧ:h,vₓ:d,vᵧ:v,v:g}=n,m=Gl(e,e),x=Gl(e,m),b=Gl(r,r),_=Gl(r,b),I=Gl(r,m),N=Gl(e,b),S=Gl(e,r),E=Gl(o,x),w=Gl(i,I),O=Gl(f,N),M=Gl(l,_),T=Gl(a,m),C=Gl(p,S),y=Gl(h,b),P=Gl(e,d),A=Gl(r,v),B=Ul(E,w),F=Ul(O,M),z=Ul(B,F),Y=Ul(T,C),V=Ul(Y,y),L=Ul(z,V),k=Ul(P,A),$=Ul(k,g),X=Ul(L,$);return 0===jl(X)}}function ea(t,n){const{coeffs:e,errBound:r,getPExact:o}=zf(t,n);return ao(e,0,1,r,o,!0)}const ra=Math.min,oa=Math.max;function ia(t,n){let[[e,r],[o,i]]=t,[[c,s],[u,f]]=n;if(e>o&&([e,o]=[o,e]),c>u&&([c,u]=[u,c]),r>i&&([r,i]=[i,r]),s>f&&([s,f]=[f,s]),e<=u&&o>=c&&s<=i&&f>=r)return[[oa(e,c),oa(r,s)],[ra(o,u),ra(i,f)]]}function ca(t,n,e){if(void 0===e)return;if(0===e.length)return[];const r=ea(n,t);if(void 0===r)return;if(0===r.length)return[];const o=r.map(n=>No(t,[n.tS,n.tE])),i=e.map(t=>No(n,[t.tS,t.tE])),c=[];for(let t=0;t<r.length;t++){const n=o[t];for(let o=0;o<e.length;o++){const s=ia(n,i[o]);if(void 0!==s){const n={ri:r[t],box:s,kind:1},i={ri:e[o],box:s,kind:1};c.push([n,i])}}}return c}function sa(t,n,e){for(const r of[t,n]){const o=r.length;for(let i=1;i<o+1;i++){const c=r[i-1],s=r[i%o],u=[s[1]-c[1],c[0]-s[0]];let f=Number.POSITIVE_INFINITY,l=Number.NEGATIVE_INFINITY;for(let n=0;n<t.length;n++){const e=u[0]*t[n][0]+u[1]*t[n][1];e<f&&(f=e),e>l&&(l=e)}let a=Number.POSITIVE_INFINITY,p=Number.NEGATIVE_INFINITY;for(let t=0;t<n.length;t++){const e=u[0]*n[t][0]+u[1]*n[t][1];e<a&&(a=e),e>p&&(p=e)}if(e&&(l<a||p<f))return!1;if(!e&&(l<=a||p<=f))return!1}}return!0}function ua(t){return 4===t.length&&pt(t)&&(t=Bu(t)),3===t.length&&rt(t)&&(t=[t[0],t[2]]),2===t.length&&W(t)&&(t=[t[0]]),t}const fa=Number.EPSILON,la=fa/2;function aa(t,n){return n<0?t<1?t:1-la:0===n?1:t>1?t:1+fa}function pa(t){const n=function(t){const n=new ArrayBuffer(8);return new DataView(n).setFloat64(0,t,!1),Array.from(new Uint8Array(n))}(t),e=n[0],r=n[1],o=e>>7,i=((127&e)<<4)+((240&r)>>4),c=0===i?0:16,s=0===i?i-1022:i-1023,u=n.slice(1);return u[0]=(15&r)+c,{sign:o,exponent:s,significand:u}}function ha(t){return pa(t).significand}function da(t){return Math.log2(t&-t)}function va(t){if(0===t||!Number.isFinite(t))return NaN;const n=ha(t),e=n.length;for(let t=e-1;t>=0;t--){if(0===n[t])continue;const r=da(n[t]);if(Number.isFinite(r))return 8*(e-t-1)+r}return NaN}function ga(t){return t>=128?7:t>=64?6:t>=32?5:t>=16?4:t>=8?3:t>=4?2:t>=2?1:t>=1?0:NaN}function ma(t){if(0===t||!Number.isFinite(t))return NaN;const n=ha(t),e=n.length;for(let t=0;t<e;t++){const r=ga(n[t]);if(Number.isFinite(r))return 8*(e-t-1)+r}return NaN}function xa(t){return pa(t).exponent}function ba(t){if(0===t||!Number.isFinite(t))return NaN;const n=xa(t);return ma(t)-52+n}function _a(t,n){const e=(2**(53-n)+1)*t;return e-(e-t)}const Ia=Q,Na=vt;function Sa(t){return 0===t?0:ma(t)-va(t)+1}const Ea=H,wa=function(t,n){if(t=Na(t),0===Ia(t))return[0];const e=ba(t[t.length-1]);let r=e,o=t.length-1;for(;o>0;){const i=ba(t[o-1]);if(e-i>n)break;r=i,o--}const i=Math.min(n-(e-r),53);let c=t[o];c=_a(c,i);const s=t.slice(o);return s[0]=c,s},Oa=function(t){const n=vt(t);if(0===Q(n))return 0;const e=n[n.length-1],r=n[0];return xa(e)-xa(r)+(53-va(r))},Ma=V,Ta=ht;function Ca(t){return ht(function(t,n,e){let r=n,o=t,i=!1,c=0;e||(c=Oa(o)-Oa(r)+1,e=c/53+1,i=!0);let s=[1/Ta(r)],u=1;for(;;){if(o=Ea(o,s),u>e)return i?(o=wa(o,c),o):o.slice(o.length-e,o.length);r=Ea(r,s),s=Ma([2],r),u*=2}}(t[0],t[1],2))}function ya(t){return Q(t[0])*Q(t[1])}function Pa(t){return(n,e)=>{const r=At(n),o=At(e),i=At(n.slice().reverse()),c=At(e.slice().reverse()),s=t(r,o),u=t(i,o),f=t(r,c),l=t(i,c),a=-ya(u),p=-ya(l),h=Ca(s),d=Ca(f);return[aa(h,a),aa(d,p)]}}const Aa=Pa(function(t,n){const e=0===Q(t[0][0])?1:0;return function(t,n){const[e,r]=t,[,o]=n;return[V(o,r),e]}(t[e],n[e])});function Ba(t,n){return R(H(t[0],n[1]),H(t[1],n[0]))*Q(t[1])*Q(n[1])}const Fa=xa,za=Sa;function Ya(t){let n=-1024;for(let e=0;e<t.length;e++){const r=t[e];for(let t=0;t<r.length;t++){const e=r[t];if(0===e)continue;const o=-Fa(e)+za(e)-1;o>n&&(n=o)}}return 0===n?t.map(t=>t.map(t=>BigInt(t))):n>0?t.map(t=>t.map(t=>{if(0===t)return 0n;const e=-Fa(t)+za(t)-1;return BigInt(t*2**e)*2n**BigInt(n-e)})):t.map(t=>t.map(t=>BigInt(t*2**n)))}function Va(t,n){if(n=n<0n?-n:n,0n===(t=t<0n?-t:t))return n;if(0n===n)return t;for(;0n!==n;){const e=n;n=t%n,t=e}return t}const La=BigInt(2**53);function ka(t){if(0n===t)return[0];const n=[];let e=0,r=t;for(;0n!==r;){r=t/La;const o=t%La;n.push(Number(o)*2**(53*e)),t=r,e++}return vt(n)}const{round:$a,sqrt:Xa}=Math;function qa(t){if(t<=1n){if(t<0n)throw new Error("square root of negative numbers are not allowed");return t}let n=BigInt($a(Xa(Number(t))));for(;;){const e=n+t/n>>1n;if(e===n)return n;n=e}}function Ha(t){return t<0n?-t:t}function Da(t){let n=0n;for(let e=0;e<t.length;e++)n+=t[e];return n}function Qa(t,n){const[e,r]=Ra(t[0],n[0]),[o,i]=Ra(t[1],n[1]);if(0===Ba(e,o)||0===Ba(e,i))return e;if(0===Ba(r,o)||0===Ba(r,i))return r;throw new Error("An unexpected error occured.")}function Ra(t,n){const[e,r]=t,[o,i]=n,[c,s]=function(t){const[n,e]=Ya(t).map(Da),r=Va(n,e);return[ka(qa(Ha(n/r))),ka(qa(Ha(e/r)))]}([o,e]);return[[V(H(i,s),H(r,c)),H(c,Jo(e))],[V(H(i,F(s)),H(r,c)),H(c,Jo(e))]].sort(Ba)}function Ga(t,n){const e=At(t),r=0===Q(e[0][0])?0:0===Q(e[1][0])?1:-1;if(-1!==r){const e=t[0][r],o=t[2][r],i=n[0][r],c=n[2][r];return Aa([[e,e],[o,o]],[[i,i],[c,c]])}return Pa(Qa)(t,n)}const{round:Ua,cbrt:ja}=Math;function Za(t){const n=(e=t)>0n?1n:e<0n?-1n:0n;var e;if((t=Ha(t))<=1n)return n*t;let r=BigInt(Ua(ja(Number(t))));for(;;){const e=(2n*r+t/(r*r))/3n;if(e===r)return n*r;r=e}}function Wa(t){return H(t,t)}const Ja=Pa(function(t,n){const e=0===Q(t[0][0])?1:0;return function(t,n){const[e,r]=t,[o,i]=n,c=function(t){const[n,e]=Ya(t).map(Da),r=Va(n,e);return[ka(Za(n/r)),ka(Za(e/r))]}([o,e]),s=Wa(c[0]);return[V(H(i,Wa(c[1])),H(r,s)),H($(3,e),s)]}(t[e],n[e])}),{EPSILON:Ka}=Number,tp=Ka/2+Ka**2/2;function np(t){return t>0?t-t*tp:t+t*tp}const{EPSILON:ep}=Number,rp=ep/2+ep**2/2;function op(t){return t>0?t+t*rp:t-t*rp}function ip(t){if(0===t||1===t)return[t,t];const n=np(np(t)),e=function(t){return op(op(t))}(t);return[n,e]}function cp(t,n,e,r){const o=t.ps,i=n.ps,c=[];let s=ea(o,i);if(void 0===s){const r=2**(e-47),s=function(t,n,e=!1){e||(t=ua(t),n=ua(n));const r=[,,Aa,Ga,Ja],[o,i]=r[t.length](t,n),[c,s]=r[t.length](n,t),u=[{tA:o,tB:0,bez:"B",start:!0},{tA:i,tB:1,bez:"B",start:!1},{tA:0,tB:c,bez:"A",start:!0},{tA:1,tB:s,bez:"A",start:!1}].sort((t,n)=>t.tA-n.tA);if(u[1].tA===u[2].tA){const n=u[1],e=n.tA,r=n.tB,o=No(t,[e,e]);return[{p:o[0],kind:4,box:o,t1:e,ri1:{tS:e,tE:e,multiplicity:1},t2:r,ri2:{tS:r,tE:r,multiplicity:1}}]}if(u[0].bez===u[1].bez)return[];const f=u[1],l=u[2],[a,p]=ip(f.tA),[h,d]=ip(f.tB),[v,g]=ip(l.tA),[m,x]=ip(l.tB),b=No(t,[a,p]),_=No(n,[h,d]),I=No(t,[v,g]),N=No(n,[m,x]),S=ia(b,_),E=ia(I,N),w={tS:a,tE:p,multiplicity:1},O={tS:h,tE:d,multiplicity:1},M={tS:v,tE:g,multiplicity:1},T={tS:m,tE:x,multiplicity:1};return[{p:So(S),kind:5,box:S,t1:ho(w),ri1:w,t2:ho(O),ri2:O},{p:So(E),kind:5,box:E,t1:ho(M),ri1:M,t2:ho(T),ri2:T}]}(o,i);for(const e of s){const i=vo(o,e.ri1.tS),s=[[i[0]-r,i[1]-r],[i[0]+r,i[1]+r]],u={x:{ri:e.ri1,kind:5,box:s},curve:t},f={x:{ri:e.ri2,kind:5,box:s},curve:n};c.push([u,f])}return c}if(r&&(s=s.filter(t=>t.tS>0)),0===s.length)return[];const u=ca(o,i,s);if(void 0===u||0===u.length)return[];for(const e of u){const r={x:e[0],curve:t},o={x:e[1],curve:n};c.push([r,o])}return c}const sp=vo,up=mo,fp=j(1);function lp(t,n,e){const r=n.ps;if(0===t)return r[0],{x:{ri:{tS:t,tE:t,multiplicity:1},box:[r[0],r[0]],kind:e},curve:n};if(1===t){const o=r[r.length-1];return{x:{ri:{tS:t,tE:t,multiplicity:1},box:[o,o],kind:e},curve:n}}const{p:o,pE:i}=function(t,n){const e=sp(t,n),r=up(t,[0,n]);if(4===t.length)return{p:e,pE:r.map(t=>9*fp*t)};if(3===t.length)return{p:e,pE:r.map(t=>6*fp*t)};if(2===t.length)return{p:e,pE:r.map(t=>3*fp*t)};if(1===t.length)return{p:t[0],pE:[0,0]};throw new Error("The given bezier curve must be of order <= 3.")}(r,t);return{x:{ri:{tS:t,tE:t,multiplicity:1},box:[[o[0]-i[0],o[1]-i[1]],[o[0]+i[0],o[1]+i[1]]],kind:e},curve:n}}function ap(t,n){if(n.next===t){if(t.next===n)return;[t,n]=[n,t]}const e=t.ps,r=n.ps;if(function(t,n){if(4===t.length)return na(t,n);if(3===t.length)return Hl(t,n);if(2===t.length)return function(t,n){const[e,r]=n,o=e.length,i=r.length,c=e[o-1],s=r[i-1],u=1===o&&1===i;{const{coeffs:{vₓ:n,vᵧ:o,v:i},errorBound:{v_:u}}=Lc(t),f=Tl(e),l=Tl(r),a=Cl(c),p=Cl(s),h=Cl(n[1]),d=Cl(o[1]),v=a/3,g=p/3,m=n[1]*c,x=Ml(f,n),b=h*v+2*Cl(m),_=o[1]*s,I=Ml(l,o),N=d*g+2*Cl(_),S=Nl(x,I),E=b+N+Cl(S[1]),w=Nl(S,i),O=E+u+Cl(w[1]);if(yl*O<Cl(Ol(w)))return!1}{const n=function(t){return uu(zt(t))}(t);if(void 0===n)return u&&c===t[0][0]&&s===t[0][1];const{vₓ:o,vᵧ:i,v:f}=n,l=Sl(e,o),a=Sl(r,i),p=El(El(l,a),f);return 0===wl(p)}}(t,n);if(1===t.length){const e=vt(n[0]),r=vt(n[1]);return 1===e.length&&1===r.length&&e[0]===t[0][0]&&r[0]===t[0][1]}throw new Error("The given bezier curve must be of order <= 3")}(e,r[r.length-1].map(t=>[t]))){const i=ca(e,r,[(o=1,{tS:o,tE:o,multiplicity:1})]);if(void 0===i||0===i.length)return;return[[{x:i[0][0],curve:t},lp(1,n,1)]]}var o}const pp=F;function hp(t){return t[t.length-1]<0?pp(t):t}Number.EPSILON;const dp=Number.EPSILON/2;function vp(t,n,e,r){const o=t/n,i=Math.abs(t),c=Math.abs(n),s=c-r;return s<=0?{est:o,err:Number.POSITIVE_INFINITY}:{est:o,err:(c*e+i*r)/s**2+dp*Math.abs(i/c)}}const gp=V,mp=H,xp=$,bp=P,_p=A,Ip=Dc,Np=x,Sp=Co,Ep=Vf,wp=B,Op=D,Mp=2*Number.EPSILON,Tp=Math.abs,Cp=j(1);function yp(t,n=!0){if(t.length<4)return[];const{coeffs:[e,r,o],errBound:[i,c,s]}=Ot(t);if(Tp(e)<=i){const[[n,e],[r,o],[i,c],[s,u]]=t,f=wp(bp(s,n),xp(3,bp(r,i))),l=Op(_p(i,n),-2*r),a=wp(bp(u,e),xp(3,bp(o,c))),p=Op(_p(c,e),-2*o);if(0===R(mp(l,a),mp(f,p)))return[]}const u=r*r,f=4*e*o,l=u-f,a=2*c*Tp(r)+Cp*u+(4*(i*Tp(o)+Tp(e)*s)+Cp*Tp(f))+Cp*Tp(l);if(l<-a)return[];if(l>a){const{est:t,err:u}=function(t,n){if(t-n<=0){const e=t>0?Math.sqrt(t):0;return{est:e,err:Math.max(Math.sqrt(t+n)-e,e)}}const e=Math.sqrt(t),r=Math.sqrt(t-n),o=Math.sqrt(t+n);return{est:e,err:Math.max(Math.abs(r-e),Math.abs(o-e))}}(l,a);let f;f=r>=0?-r-t:-r+t;const p=c+u+Cp*Tp(f),{est:h,err:d}=vp(f,2*e,p,2*i),{est:v,err:g}=vp(2*o,f,2*s,p);if(n){if(h+d<0||h-d>1||v+g<0||v-g>1)return[]}else if((h+d<0||h-d>1)&&(v+g<0||v-g>1))return[]}let[p,h,d]=kt(t);const v=gp(mp(h,h),xp(4,mp(p,d))),g=Q(v);if(g<0)return[];if(g>0){const t=function(t){const n=t[0],e=t[1];if(0===e)return[0,0];const r=Math.sqrt(e),o=r*r,i=134217729*r,c=i-(i-r),s=r-c,u=.5*(e-o-(s*s-(o-c*c-c*s*2))+n)/r;return[u-(r+u-r),r+u]}(Ci(v));let e;p=Ci(p),h=Ci(h),d=Ci(d),e=Q(h)>=0?Ip(Np(h,t)):Np(Ip(h),t);let r=ht(Ep(e,Sp(p))),o=ht(Ep(Sp(d),e));if(n){if(r<-Mp||r>1+Mp||o<-Mp||o>1+Mp)return[]}else if((r<-Mp||r>1+Mp)&&(o<-Mp||o>1+Mp))return[];return[r,o]=r<o?[r,o]:[o,r],r>=0-Mp&&r<=1+Mp?o>=0-Mp&&o<=1+Mp?[r,o]:[r]:o>=0-Mp&&o<=1+Mp?[o]:[]}const m=Ko(p);if(Q(h)*Q(m)<0)return[];if(R(hp(h),hp(m))>0)return[];const x=Ci(h),b=Ci(m),_=Ep(x,b),I=_[1]+_[0];return[I,I]}const Pp=Number.EPSILON;function Ap(t){if(4===t.length){const[[n,e],[r,o],[i,c],[s,u]]=t;return[[6*(s-n+3*(r-i)),6*(i+n-2*r)],[6*(u-e+3*(o-c)),6*(c+e-2*o)]]}if(3===t.length){const[[n,e],[r,o],[i,c]]=t;return[[2*(i-2*r+n)],[2*(c-2*o+e)]]}if(t.length<=2)return[[0],[0]];throw new Error("The given bezier curve must be of order <= 3.")}function Bp(t){if(xt(t))return{minima:[],maxima:[],inflections:[]};if(4===t.length&&pt(t)&&(t=Bu(t)),3===t.length){const n=function(t){const[[n,e],[r,o],[i,c]]=t,s=i-r,u=s-(r-n),f=c-o,l=f-(o-e);return[u*u+l*l,-(n*(u-r)-r*(s-r)+e*(l-o)-o*(f-o))]}(t);return{minima:[],maxima:Bn(n,0,1),inflections:[]}}const n=function(t){const[[n,e,r],[o,i,c]]=qn(t),[[s,u],[f,l]]=Ap(t),[[a],[p]]=function(t){if(4===t.length){const[[n,e],[r,o],[i,c],[s,u]]=t;return[[6*(s-n+3*(r-i))],[6*(u-e+3*(o-c))]]}if(t.length<=3)return[[0],[0]];throw new Error("The given bezier curve must be of order <= 3.")}(t),h=a*i,d=p*e,v=u*c,g=u*i,m=f*f,x=s*c,b=l*r,_=l*e,I=f*r,N=r*e,S=r*n,E=r*o,w=e*e,O=e*n,M=e*i,T=n*c,C=n*o,y=n*n,P=c*i,A=c*o,B=i*i,F=i*o,z=o*o,Y=a*c-p*r,V=u*r+l*c,L=v-b,k=r*r+c*c,$=M+T,X=A+B,q=S+w,H=e*o+n*i,D=y-z,Q=O-F,R=N-P,G=r*i+e*c,U=A+X,j=S+q,Z=E+$,W=M+$,J=j-U,K=$+T,tt=E+M+T,nt=2*_+I;return{inflectionPoly:[s*o-f*n,u*o+s*i-l*n-f*e,g+x-_-I,v-b],otherExtremaPoly:[y*(h-3*d)+z*(3*h-d)+2*(C*(a*e-p*i+3*(l*f-u*s))+3*s*f*Q)+3*(H*(m-s*s)+D*(u*f+l*s)),a*(o*(j+3*X)+n*W)-p*(r*(3*y+z)+e*(3*O+2*F)+n*U)+3*(u*(l*D-u*C+2*(f*Q-s*H))+s*(2*l*Q+f*(2*(S-A)+(w-B))-s*tt)+l*(l*C+2*f*H)+m*Z),a*(2*r*H+e*K+i*(4*A+U))-p*(2*r*(3*O+F)+e*(w+2*A)+i*K)+3*(u*(2*(l*Q-s*tt)+f*J-u*H)+s*(2*f*R-s*G)+l*(l*H+2*f*Z+s*J)+m*G),a*(r*(E+2*$)+c*(w+3*X))-p*(r*(3*q+U)+c*W)+3*(u*(l*J-u*Z+2*(f*R-s*G))+s*(r*(nt-s*c)-c*(2*l*i+f*c))+l*(l*$+r*(2*f*i+l*o))+f*c*nt),k*(h-d)+2*(N+P)*Y-3*(V*(g+x-_-I)+(u*e+s*r+l*i+f*c)*L),Y*k-3*V*L]}}(t),e=n.inflectionPoly,r=n.otherExtremaPoly,o=Bn(r,0,1),i=dn(r),c=[],s=[];for(let t=0;t<o.length;t++){const n=o[t],r=vn(i,n);vn(e,n)*r>=0?c.push(n):s.push(n)}return{minima:c,maxima:s,inflections:Bn(e,0,1)}}function Fp(t,n){const[e,r]=qn(t),[o,i]=Ap(t),c=vn(e,n),s=vn(r,n),u=vn(o,n);return(c*vn(i,n)-s*u)/Math.sqrt((c*c+s*s)**3)}const{abs:zp}=Math,Yp=Wn(function(t){const{curves:n}=t;let e=Wi(n[0].ps).minY,r=n[0];for(let t=1;t<n.length;t++){const o=Wi(n[t].ps).minY,i=o.box[0][1],c=e.box[0][1];(i<c||i===c&&o.ts[0]>e.ts[0])&&(e=o,r=n[t])}return{curve:r,y:e}});function Vp(t){const{curve:n,y:e}=Yp(t),r=e.ts;return r[0]<=0?[lp(0,n,0),lp(1,n.prev,0)]:r[1]>=1?[lp(1,n,0),lp(0,n.next,0)]:[{x:{ri:{tS:r[0],tE:r[1],multiplicity:1},kind:0,box:e.box},curve:n},{x:{ri:{tS:r[0],tE:r[1],multiplicity:1},kind:0,box:e.box},curve:n}]}function Lp(t,n,e){const r=e-(n-Math.floor(Math.log2(Math.abs(t))))+1;return r<=0?0:e>=53?t:_a(t,r)}function kp(t,n,e){const r=function(t,n){const e=[];for(const n of t)for(const t of n.curves)e.push(t);const r=ml(e,t=>Ki(t.ps)[0][0],t=>Ki(t.ps)[1][0],function(t){return(n,e)=>{const r=n.ps,o=e.ps;if(2===r.length&&2===o.length)return function(t,n,e){let r=t.ps,o=n.ps;const i=Ki(r),c=Ki(o);if(t.next!==n&&n.next!==t){if(mc(!0,i,c)){const r=cp(t,n,e,!1);return r.length?r:void 0}return}if(n.next===t&&([t,n]=[n,t],[r,o]=[o,r]),0!==gt(r[0],r[1],o[1]))return;if(!mc(!1,i,c))return;let s;return s=bl(r[0],r[1])>bl(o[0],o[1])?[ho(Oi(r,o[1])[0].ri),1]:[0,ho(Oi(o,r[0])[0].ri)],[[lp(1,t,5),lp(0,n,5)],[lp(s[0],t,5),lp(s[1],n,5)]]}(n,e,t);if(n.next===e||e.next===n)return mc(!1,Ki(r),Ki(o))&&sa(Il(r,!1),Il(o,!1),!1)?e.next===n?cp(e,n,t,!0):cp(n,e,t,!0):ap(n,e);let i=mc(!0,Ki(r),Ki(o));return i?(i=sa(Il(r,!1),Il(o,!1),!0),i?cp(n,e,t,!1):void 0):void 0}}(n)),o=[];for(const t of r)for(const n of t.u)o.push(n);return o}(t,e),o=function(t){const n=[];for(const e of t)for(const t of e.curves){const e=t.ps,r=yp(e);if(0===r.length)continue;const o=r[0]===r[1]?3:2,i=r[0]-Pp,c=r[0]+Pp,s=r[1]-Pp,u=r[1]+Pp,f=No(e,[i,c]),l=No(e,[s,u]);n.push([{x:{ri:{tS:i,tE:c,multiplicity:1},box:f,kind:o},curve:t},{x:{ri:{tS:s,tE:u,multiplicity:1},box:l,kind:o},curve:t}])}return n}(t),i=function(t){const n=[];for(const e of t)for(const t of e.curves)n.push([lp(1,t,4),lp(0,t.next,4)]);return n}(t),{extremes:c,xs:s}=function(t){const n=new Map,e=[];for(const r of t){const t=Vp(r);e.push(t),n.set(r,t)}return{extremes:n,xs:e}}(t),u=function(t,n){const e=[];for(const r of n)for(const n of r.curves){const r=n.ps,o=Bp(r),{minima:i,maxima:c}=o,s=[0,1,...i,...c];for(let o of s)zp(Fp(r,o))>1e7*2**-t&&e.push([lp(o,n,7),lp(o,n,7)])}return e}(e,t);let f=[...r,...o,...i,...s,...u];if("undefined"!=typeof _debug_){for(const t of r)_debug_.generated.elems.intersection.push(...t);for(const t of o)_debug_.generated.elems.intersection.push(...t);for(const t of i)_debug_.generated.elems.intersection.push(...t);for(const t of s)_debug_.generated.elems.intersection.push(...t);for(const t of u)_debug_.generated.elems.intersection.push(...t)}let l=f.map(t=>({xs:t,box:[[t[0].x.box[0][0]-n,t[0].x.box[0][1]-n],[t[0].x.box[1][0]+n,t[0].x.box[1][1]+n]],inOuts:void 0}));for(;;){const t=ml(l,$p,Xp,xc);if(!t.length)break;const n=new Map;bc(n,t);const e=Nc(n),r=Sc(l,e);l=[...Ec(e),...r]}l=function(t){return t.filter(t=>{const n=t.xs;if(2===t.xs.length){const t=n[0];if(1===t.x.kind&&t.x.ri.multiplicity%2==0)return!1}for(const n of t.xs)if(4!==n.x.kind)return!0;return!1})}(l),l=function(t,n,e){const r=Math.log2(e)-3;return t.map(t=>{const e=t.box.map(t=>t.map(t=>Lp(t,n,n-r)));return{...t,box:e}})}(l,e,n),"undefined"!=typeof _debug_&&(_debug_.generated.elems.container=l);let a=0;for(const t of l){for(const n of t.xs)n.container=t;let n;({inOuts:n,ioIdx:a}=gl(t,a)),t.inOuts=n}f=f.filter(t=>void 0!==t[0].container),function(t){const n=new Map;for(const e of t)for(const t of e){const e=t.curve.loop,r=n.get(e)||[];r.length||n.set(e,r),r.push(t)}for(const t of n){const n=t[1];if(!n||!n.length)continue;n.sort((t,n)=>{let e=t.curve.idx-n.curve.idx;return 0!==e?e:(e=t.x.ri.tS-n.x.ri.tS,0!==e?e:void 0!==t.in_?-1:1)});const e=n.length;for(let t=0;t<e;t++)n[t].next=n[(t+1)%e],n[t].prev=n[(t-1+e)%e]}}(f);for(const t of l)for(const n of t.inOuts){if(-1===n.dir)continue;const t=n;let e=t._x_;for(;e=e.next,void 0===e.in_;);t.nextOrPrev=e.in_,t.idx=t.nextOrPrev.idx}for(const t of l)for(const n of t.inOuts){if(1===n.dir)continue;const t=n;let e=t._x_;for(;e=e.prev,void 0===e.out;);t.nextOrPrev=e.out,t.idx=t.nextOrPrev.idx}return{extremes:c,containers:l}}function $p(t){return t.box[0][0]}function Xp(t){return t.box[1][0]}function qp(t,n,e){ki(t,1);const r=t.inOuts,o=r[0],i=r[r.length-1],c=1===o.dir?o:i,s=i.dir,u=0===n.idx?new Set:1===n.orientation?n.loopsIdxs:new Set;return o.orientation=s,o.parent=n,o.windingNum=n.windingNum+s,o.loopsIdxs=new Set(u),o.children=new Set,1===s&&o.loopsIdxs?.add(e.idx),i.orientation=s,i.parent=n,i.windingNum=n.windingNum+s,i.loopsIdxs=new Set(u),i.children=new Set,1===s&&i.loopsIdxs?.add(e.idx),c}function Hp(t){if(!xt(t))return!1;const n=t.map(t=>t[0]),e=t.map(t=>t[1]);return!(Dp(n)&&Dp(e))}function Dp(t){return function(t){for(let n=1;n<t.length;n++)if(t[n-1]>t[n])return!1;return!0}(t)||function(t){for(let n=1;n<t.length;n++)if(t[n-1]<t[n])return!1;return!0}(t)}function Qp(t,n){const e=n/Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[e*t[0],e*t[1]]}function Rp(t){for(let n=0;n<t.length-1;n++)for(let e=n+1;e<t.length;e++)if(t[n][0]===t[e][0]&&t[n][1]===t[e][1])return!1;return!0}const{abs:Gp}=Math;function Up(t,n,e){if(void 0!==t&&!W(t)){if(2===t.length)return t;if(3===t.length){if(Rp(t))return xt(t)?[t[0],t[2]]:t;if(Zp(t[0],t[2]))return;return[t[0],t[2]]}if(Rp(t)){const r=jp(t);if(void 0===r)return;return function(t,n){if(t===n)return!0;if(t.length!==n.length)return!1;for(let e=0;e<t.length;e++)if(t[e][0]!==n[e][0]||t[e][1]!==n[e][1])return!1;return!0}(r,t)?t:Up(r,n,e)}if(Zp(t[0],t[3])){if(xt(t))return;return t}if(xt(t))return[t[0],t[3]];if(Zp(t[0],t[1])&&Zp(t[1],t[2])||Zp(t[1],t[2])&&Zp(t[2],t[3])||Zp(t[0],t[1])&&Zp(t[2],t[3]))return Up([t[0],t[t.length-1]],n,e);if(Zp(t[0],t[2])||Zp(t[1],t[3])||Zp(t[1],t[2]))return t;if(Zp(t[0],t[1])){if(bl(t[1],t[2])<4*n)return[t[0],t[2],t[2],t[3]];{const r=Qp(Kn(t[1],t[2]),2*n),o=oe(t[1],r);return jp([t[0],e(o),t[2],t[3]])}}if(Zp(t[2],t[3])){if(bl(t[2],t[1])<4*n)return[t[0],t[1],t[1],t[3]];{const r=Qp(Kn(t[2],t[1]),2*n),o=oe(t[2],r);return jp([t[0],t[1],e(o),t[3]])}}}}function jp(t){return xt(t)?[t[0],t[3]]:pt(t)?Bu(t):t}function Zp(t,n){return t[0]===n[0]&&t[1]===n[1]}function Wp(t){return t}function Jp(t,n,e,r=!1,o=!0){const i=function(t,n,e=!0){const r=2**t*2**-n,o=e?function(t,n){return e=>{const r=Lp(e[0],t,n),o=Lp(e[1],t,n);return r===e[0]&&o===e[1]?e:[r,o]}}(t,n):Wp;return t=>{const n=[];for(let e=0;e<t.length;e++){let i=t[e].slice();const c=n[n.length-1],s=c?c[c.length-1]:o(t[0][0]);i[0]=s,i=i.map(t=>o(t)),Hp(i)&&(i=[i[0],i[i.length-1]]),i=Up(i,r,o),void 0!==i&&n.push(i)}const e=n.length;if(!e)return[];const i=n[e-1];return i[i.length-1]=n[0][0],n}}(e,n,o);let c=t.slice();return c=r?function(t,n,e,r=.02){const o=[];for(const i of t){const t=[];for(const o of i){const i=o.map(t=>t.map(t=>{let o,i=0,c=0,s=0;for(;!(++c>10);){i=(t+Math.random())*(1+(Math.random()-.7)*r),i=Lp(i,e,n);const c=Sa(i);c>s&&(s=c,o=i)}return o}));t.push(i)}o.push(t)}return o}(c,n,e,1):c,c=c.map(i),c=c.filter(t=>t.length>0),c}const Kp=Wn(t=>{let n=0;for(const e of t)for(const t of e)for(const e of t)for(const t of e){const e=Math.abs(t);e>n&&(n=e)}return n}),th=On;function nh(t,n){const e=t.length-1,r=n.length-1;if(e<0||r<0)return[];const o=e+r,i=new Array(o+1).fill(0);for(let c=0;c<e+1;c++)for(let s=0;s<r+1;s++)i[o-(c+s)]+=t[e-c]*n[r-s];return th(i)}function eh(t,n){const e=[],r=t.length-1;for(let n=0;n<r+1;n++)e.push(t[n]/(r+1-n));return e.push(n),e}const rh=On;function oh(t,n){const e=t.length-1,r=n.length-1,o=e-r,i=o<0?+o:0,c=o>0?-o:0,s=Math.max(e,r),u=[];for(let e=0;e<s+1;e++){const r=t[e+i]||0,o=n[e+c]||0;u.push(r+o)}return rh(u)}function ih(t){let n=0;for(const e of t){const[t,r]=Gi(e),[o,i]=qn(e);n+=vn(eh(oh(nh(t,i),_n(nh(r,o))),0),1)}return n/2}function ch(t){let n=0;for(let e=0;e<t.length-1;e++)n+=Ln(t[e],t[e+1]);return n}function sh(t){const[n,e]=t[0],[r,o]=t[t.length-1];let i,c;const s=ch(t);if(256*bl(t[0],t[t.length-1])<s*s){const[r,o]=vo(t,.5),s=Math.sqrt((r-n)*(r-n)+(o-e)*(o-e));i=(o-e)/s,c=(r-n)/s}else{const t=Math.sqrt((r-n)*(r-n)+(o-e)*(o-e));i=(o-e)/t,c=(r-n)/t}const u=function(t,n,e){const r=oe(t[0].map(t=>-t));return Ji(t.map(t=>ce(-n,e,r(t))))}(t,i,c),[[f,l],[a,p]]=u,h=[u[0],[a,l],u[1],[f,p]],d=ce(i,c);return h.map(n=>oe(t[0],d(n)))}function uh(t){return{ps:t,ts:[0,1]}}const{round:fh,PI:lh}=Math;const{abs:ah,max:ph}=Math;function hh(t,e,r={}){let o;"undefined"!=typeof _debug_&&(o=performance.now()),e=e||Kp(t);const i=Math.ceil(Math.log2(e)),{inclMicroCorners:c=!0,minLoopArea:s=(2**i*2**-12)**2,booleanOp:u="OR",containerSizeMultiplier:f=16}=r,l=2**i*2**-46*f;(function(t){if("undefined"!=typeof _debug_)for(const n of t){_debug_.generated.elems.loopPre.push(...t),_debug_.generated.elems.loopsPre.push(t);for(const t of n){const n=Ki(t),e=sh(t),r=Il(t,!1);_debug_.generated.elems.bezier_.push(t),_debug_.generated.elems.looseBoundingBox_.push(n),_debug_.generated.elems.tightBoundingBox_.push(e),_debug_.generated.elems.boundingHull_.push(r)}}})(t=Jp(t,46,i,!1,!0)),t.sort(pc);const a=t.map((t,e)=>n(t,e)),{extremes:p,containers:h}=kp(a,l,i),d={dir:void 0,idx:0,parent:void 0,children:new Set,windingNum:0,p:void 0,_x_:void 0,container:void 0,loopsIdxs:new Set,orientation:-1},v=new Set,g=new Set;for(const t of a){if(v.has(t))continue;v.add(t);const n=ac(d,t),e=p.get(t)[0].container;if(0===e.inOuts.length)continue;const r=qp(e,n,t),o=2===e.inOuts.length&&2===e.xs.length;if(o&&e.inOuts[0].nextOrPrev===e.inOuts[1])r.bezierPieces=t.beziers.map(uh),r.parent.children=r.parent.children||new Set,r.parent.children.add(r);else if(Ri(r,v,g,!1),o&&void 0!==r.bezierPieces){const{bezierPieces:t}=r,n=t[t.length-1],e=t[0];if(n.ps===e.ps){const r={ps:n.ps,ts:[n.ts[0],e.ts[1]]};t.shift(),t.pop(),t.unshift(r)}}}"undefined"!=typeof _debug_&&_debug_.verbose;const m=function(t){const n=[],e=[t];for(;e.length;){const t=e.pop();0===t.windingNum&&n.push(...t.children),e.push(...t.children),0===t.windingNum&&(t.children=new Set)}return n}(d);"undefined"!=typeof _debug_&&_debug_.verbose;const x=function(t){return n=>{const e="OR"===t||"XOR"===t?[n]:[];n.used="OR"===t||"XOR"===t;const r=Array.from(n.children);for(;r.length;){const n=r.pop();if("OR"===t&&0===n.windingNum&&e.push(n),"AND"===t){const t=gc(n);(0===n.windingNum&&t||dc(n.windingNum)>=2&&!t)&&(e.push(n),n.used=!0)}if("XOR"===t){const t=gc(n);(0===n.windingNum&&t||dc(n.windingNum)>=2&&t)&&(e.push(n),n.used=!0)}for(const t of n.children)r.push(t)}return e}}(u),b=m.map(x).filter(t=>0!==t.length).map(t=>{const e=t[0].orientation;return t.map((t,r)=>function(t,e,r){const o=t.bezierPieces?.map(Di);if(void 0===o)return n([],r);const i=t.orientation;return n(0===r||e*i<0?o:o.map(t=>t.toReversed()).toReversed(),r)}(t,e,r))}),_=[];for(let t=0;t<b.length;t++){const n=b[t].filter(t=>Math.abs(ih(t.beziers))>s);n.length&&(n.sort((t,n)=>pc(t.beziers,n.beziers)),_.push(n))}"undefined"!=typeof _debug_&&(_debug_.generated.timing.simplifyPaths=performance.now()-o);const I=c?_:_.map(t=>t.map(t=>{const{beziers:e}=t,r=function(t,n){!function(t){fh(function(t){const n=t.length;let e=0;for(let r=0;r<n;r++){const o=t[(r-1+n)%n],i=t[r];e+=Vn(i,[0,1])+E(se(o,1),se(i,0))}return e}(t)/(2*lh))}(t);const e=t.map(t=>t.map(t=>[t[0],t[1]])).filter(t=>ch(t)>n),r=e.length;for(let t=0;t<r;t++){const n=e[t],o=e[(t+1)%r],i=n[n.length-1],c=o[0];c[0]===i[0]&&c[1]===i[1]||(i[0]=c[0],i[1]=c[1])}return e}(e,ph(...h.map(t=>ah(t.box[0][0]-t.box[1][0])),...h.map(t=>ah(t.box[0][1]-t.box[1][1]))));return n(r,t.idx)}));return function(t){if("undefined"!=typeof _debug_)for(const n of t)_debug_.generated.elems.loop.push(...n),_debug_.generated.elems.loops.push(n)}(I),I}const dh=Math.max,vh=Math.abs;function gh(t,n){const e=t[0],r=t[1],o=t[2],i=t[3],c=e[0],s=e[1],u=r[0],f=r[1],l=o[0],a=o[1],p=i[0],h=i[1],d=n[0],v=n[1],g=c-d,m=u-d,x=l-d,b=p-d,_=s-v,I=f-v,N=a-v,S=h-v,E=g*g,w=6*g*m,O=6*x*b,M=_*_,T=6*_*I,C=6*N*S,y=6*m*b+9*x*x,P=2*g*b+18*m*x,A=6*g*x+9*m*m,B=6*I*S+9*N*N,F=2*_*S+18*I*N,z=6*_*N+9*I*I;return[6*(b*b-O+(E-w)+y+(A-P)+(S*S-C+(M-T)+B+(z-F))),5*(O+5*w+3*P-2*(y+2*A+3*E)+(C+5*T+3*F-2*(B+2*z+3*M))),4*(y-3*(P-2*A)-5*(2*w-3*E)+(B-3*(F-2*z)-5*(2*T-3*M))),3*(P-2*(2*A-5*(w-2*E))+(F-2*(2*z-5*(T-2*M)))),2*(A-5*(w-3*E)+(z-5*(T-3*M))),w-6*E+(T-6*M)]}function mh(t,n){const e=t[0],r=t[1],o=t[2],i=e[0],c=e[1],s=r[0],u=r[1],f=o[0],l=o[1],a=n[0],p=n[1],h=i-a,d=s-a,v=f-a,g=c-p,m=u-p,x=l-p,b=h*h,_=h*d,I=d*v,N=g*g,S=g*m,E=m*x,w=g*x+m*m*2,O=h*v+d*d*2;return[x*x+N+2*w-4*(E+S)+(v*v+b+2*O-4*(I+_)),3*(E-w+(3*S-N)+(I-O+(3*_-b))),w-3*(2*S-N)+(O-3*(2*_-b)),S-N+(_-b)]}function xh(t,n){const[[e,r],[o,i]]=t,[c,s]=n,u=e-c,f=o-c,l=r-s,a=i-s,p=u*f+l*a,h=l*l+u*u;return[f*f+a*a+(h-2*p),p-h]}const bh=Math.sqrt;function _h(t,n,e=!0){let r;if(4===t.length)r=gh(t,n);else if(3===t.length)r=mh(t,n);else{if(2!==t.length){if(1===t.length)return{p:t[0],t:0,d:Ln(t[0],n)};throw new Error("The given bezier curve must be of order <= 3.")}r=xh(t,n)}const o=Bn(r,0,1);e&&(o.push(0),o.push(1));let i,c=Number.POSITIVE_INFINITY;for(const e of o){const r=vo(t,e),o=bl(r,n);o<c&&(c=o,i={p:r,t:e,d:bh(o)})}return i}const Ih=Math.sqrt;function Nh(t){let n=Number.NEGATIVE_INFINITY;for(let e=0;e<t.length;e++){const r=t[e],o=Math.abs(r[0]),i=Math.abs(r[1]);o>n&&(n=o),i>n&&(n=i)}return n}function Sh(t){return Math.max(t.hL+t.hEL,t.hR+t.hER)}function Eh(t,n){const e=Sh(t)-Sh(n);return 0!==e?e:t.tS-n.tS}class wh{compare;heap=[];constructor(t){this.compare=t}insert(t){const n=this.heap;n.push(t);let e=n.length-1;for(;;){const r=(e-1-(e+1)%2)/2;if(-1===r)return;const o=n[r];if(this.compare(t,o)<0)break;n[r]=t,n[e]=o,e=r}}popMax(){const t=this.heap,n=t[0];return t[0]=t[t.length-1],t.length--,this.swimDown(),n}swimDown(){const t=this.heap,n=t.length;let e=0;for(;;){const r=2*e+1;if(r>=n)break;const o=2*e+2,i=o>=n||this.compare(t[r],t[o])>0?r:o,c=t[i],s=t[e];if(this.compare(s,c)>0)break;t[i]=s,t[e]=c,e=i}}swapMinOrMax(t){this.heap[0]=t,this.swimDown()}static getParentIdx(t){return(t-1-(t+1)%2)/2}static getLeftChild(t){return 2*t+1}static getRightChild(t){return 2*t+2}}const Oh=Math.max;function Mh(t,n,e,r=50){if(1===t.length)return _h(n,t[0]).d;if(1===n.length)return function(t,n){let e;if(4===t.length)e=gh(t,n);else if(3===t.length)e=mh(t,n);else{if(2!==t.length){if(1===t.length)return{p:t[0],t:0,d:Ln(t[0],n)};throw new Error("The given bezier curve must be of order <= 3.")}e=xh(t,n)}const r=Bn(e,0,1);r.push(0),r.push(1);let o,i=Number.NEGATIVE_INFINITY;for(const e of r){const r=vo(t,e),c=bl(r,n);c>i&&(i=c,o={p:r,t:e,d:Ih(c)})}return o}(t,n[0]).d;if(2===t.length&&2===n.length){const e=_h(n,t[0]).d,r=_h(n,t[t.length-1]).d;return e>r?e:r}const o=Oh(Nh(t),Nh(n));e=e||o/1e6;const[i,c]=Th(t,0,1),s={tS:0,tE:1,hL:_h(n,t[0]).d,hR:_h(n,t[t.length-1]).d,hEL:i,hER:c},u=new wh(Eh);u.insert(s);let f=0,l=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY;for(;;){const o=u.heap[0],{tS:i,tE:c,hL:s,hR:p}=o,h=(i+c)/2,[d,v]=Th(t,i,h),[g,m]=Th(t,h,c),x=vo(t,h),b=Ln(x,_h(n,x).p),_=Oh(s,b,p);if(_>a&&(a=_),l=Sh(o),l-a<e)return a;if(f++>r)return a;const I={tS:i,tE:h,hL:s,hR:b,hEL:d,hER:v},N={tS:h,tE:c,hL:b,hR:p,hEL:g,hER:m};u.swapMinOrMax(I),u.insert(N)}}function Th(t,n,e){const r=(e+n)/2,o=Rn(t,n,r),i=Rn(t,r,e);return[ch(o),ch(i)]}function Ch(t,n=!1){const e=t;let r=e;const o=[];do{n&&r===e||Ae(r)||o.push(r),r=r.nextOnCircle}while(r!==e);return o}function yh(t){const n=[],e=[t],r=new Set;for(;e.length>0;){const t=nr(e.pop());if(0===t.length)continue;n.push(t);const o=t[0],i=t[t.length-1].next.prevOnCircle;r.add(o),r.add(i);const c=Ch(o,!0),s=Ch(i,!0),u=c.filter(t=>!r.has(t)),f=s.filter(t=>!r.has(t));for(const t of u)r.add(t);for(const t of f)r.add(t);e.push(...u,...f)}return n}const Ph=-1;class Ah{datum;color=0;parent;extras;"-1";1;constructor(t){this.datum=t}}function Bh(t){return!!t&&0===t.color}class Fh{compare;duplicatesAllowed;root;nodeCount;valueCount;constructor(t,n=!0,e){if(this.compare=t,this.duplicatesAllowed=n,this.root=void 0,this.nodeCount=0,this.valueCount=0,e)for(const t of e)this.insert(t)}isEmpty(){return!this.root}find(t){const n=this;let e=this.root;for(;e;){const r=n.compare(t,e.datum);if(0===r)return e;e=e[r>0?1:Ph]}}toArrayInOrder(){const t=[];return function n(e){e&&(n(e[-1]),t.push(e.datum),void 0!==e.extras&&t.push(...e.extras),n(e[1]))}(this.root),t}insertMulti(t){const n=this;for(const e of t)n.insert(e)}insert(t){const n=this;n.root=function t(e,r){if(void 0===e)return n.valueCount++,n.nodeCount++,new Ah(r);const o=n.compare(r,e.datum);if(0===o&&(n.duplicatesAllowed?(n.valueCount++,void 0===e.extras?e.extras=[r]:e.extras.push(r)):e.datum=r),0!==o){const n=o>0?1:Ph;e[n]=t(e[n],r),e[n].parent=e}return Bh(e[1])&&!Bh(e[-1])&&(e=zh(Ph,e)),Bh(e[-1])&&Bh(e[-1][-1])&&(e=zh(1,e)),Bh(e[-1])&&Bh(e[1])&&Vh(e),e}(n.root,t),n.root.color=1,n.root.parent=void 0}remove(t,n=!1,e){const r=this;if(void 0===r.root)return;let o;const i=function t(i,c){const s=r.duplicatesAllowed&&void 0!==i.extras;let u=r.compare(c,i.datum);if(u<0&&!i[-1]||u>0&&!i[1])return i;if(u<0){Bh(i[-1])||Bh(i[-1][-1])||(i=Lh(i));const n=t(i[-1],c);return null===n?null:(i[-1]=n,i[-1]&&(i[-1].parent=i),kh(i))}if(Bh(i[-1])&&(i=zh(1,i),u=r.compare(c,i.datum)),0===u&&!i[1]){if(s&&!n){if(void 0===e||!0===e(c,i.datum))return o=i.datum,i.datum=i.extras.pop(),r.valueCount--,0===i.extras.length&&(i.extras=void 0),i;{const t=i.extras;for(let n=0;n<t.length;n++)if(!0===e(c,t[n]))return o=t.splice(n,1)[0],r.valueCount--,0===t.length&&(i.extras=void 0),i;return null}}return void 0===e||!0===e(c,i.datum)?(o=i.datum,r.valueCount-=1+(s?i.extras.length:0),void r.nodeCount--):null}if(Bh(i[1])||Bh(i[1][-1])||(i=function(t){return Vh(t),Bh(t[-1][-1])&&Vh(t=zh(1,t)),t}(i),u=r.compare(c,i.datum)),0===u)if(s&&!n)if(void 0===e||!0===e(c,i.datum))o=i.datum,i.datum=i.extras.pop(),r.valueCount--,0===i.extras.length&&(i.extras=void 0);else{const t=i.extras;let n=!1;for(let s=0;s<t.length;s++)if(!0===e(c,t[s])){o=t.splice(s,1)[0],r.valueCount--,0===t.length&&(i.extras=void 0),n=!0;break}if(!n)return null}else{if(void 0!==e&&!0!==e(c,i.datum))return null;{r.valueCount-=1+(s?i.extras.length:0),o=i.datum;const t=r.getMinNode(i[1]);i.datum=t?.datum,r.duplicatesAllowed&&(i.extras=t?.extras),i[1]=Yh(i[1]),r.nodeCount--}}else{const n=t(i[1],c);if(null===n)return null;i[1]=n}return i[1]&&(i[1].parent=i),kh(i)}(r.root,t);return null!==i?(r.root=i,void 0!==r.root&&(r.root.color=1,r.root.parent=void 0),o):void 0}findBounds(t){const n=this;let e=n.root;const r=[void 0,void 0];if(void 0===e)return r;for(;e;){const o=n.compare(t,e.datum);o>=0?r[0]=e:r[1]=e,e=e[o>=0?1:Ph]}return r}findBoundsExcl(t){const n=this,e=n.root,r=[void 0,void 0];return void 0===e||function e(o){for(;o;){const i=n.compare(t,o.datum);if(0===i)return e(o[-1]),void e(o[1]);i>0?r[0]=o:i<0&&(r[1]=o),o=o[i>0?1:Ph]}}(e),r}findAll(t){const n=this;let e=this.root;for(;e;){const r=n.compare(t,e.datum);if(0===r)return[e.datum,...e.extras?e.extras:[]];e=e[r>0?1:Ph]}return[]}getMinOrMaxNode(t){return n=>{if(void 0===n&&(n=this.root),n){for(;n[t];)n=n[t];return n}}}getMinNode=this.getMinOrMaxNode(Ph);getMaxNode=this.getMinOrMaxNode(1);min(t){void 0===t&&(t=this.root);const n=this.getMinNode(t);if(void 0!==n)return n.datum}max(t){void 0===t&&(t=this.root);const n=this.getMaxNode(t);if(void 0!==n)return n.datum}}function zh(t,n){const e=n[-t];return n[-t]=e[t],e[t]&&(e[t].parent=n),e[t]=n,n.parent=e,e.color=n.color,n.color=0,e}function Yh(t){if(t[-1])return Bh(t[-1])||Bh(t[-1][-1])||(t=Lh(t)),t[-1]=Yh(t[-1]),t[-1]&&(t[-1].parent=t),kh(t)}function Vh(t){t.color=(t.color+1)%2,t[-1].color=(t[-1].color+1)%2,t[1].color=(t[1].color+1)%2}function Lh(t){if(Vh(t),Bh(t[1][-1])){const n=zh(1,t[1]);t[1]=n,n.parent=t,Vh(t=zh(Ph,t))}return t}function kh(t){return Bh(t[1])&&(t=zh(Ph,t)),Bh(t[-1])&&Bh(t[-1][-1])&&(t=zh(1,t)),Bh(t[-1])&&Bh(t[1])&&Vh(t),t}const{cpNodeComparator:$h,getAllOnLoop:Xh}=rr;function qh(t){const n=new Map;return Xh(t).forEach(function(t){const e=t.cp.pointOnShape.curve.loop;let r=n.get(e);r||(r=new Fh($h,!1),n.set(e,r)),r.insert(t)}),n}function Hh(t,n=.125,e=50){let r=je(t.cpNode);for(;!Ae(r);)r=r.next;const o=yh(r),i=new Set;for(let t=0;t<o.length;t++){const r=o[t];let c=0;for(;c<r.length;){const t=c;for(;(c++,c!==r.length)&&!(Dh(t,c,r,e)>n);)i.add(r[c])}}r=function(t,n){const e=n;if(t(e))return e;let r=n.next;for(;r!==e;){if(t(r))return r;r=r.next}}(t=>Ae(t)?t:void 0,r);for(const n of i)or(t=>2!==qe(t)&&!t.isHoleClosing)(n)||Ke(n,t.meta.cpTrees);return{cpNode:r,meta:{...t.meta,cpTrees:qh(r)}}}function Dh(t,n,e,r){const o=[],i=Te(e[t],e[n].next);for(;t<n+1;t++)o.push(Mh(Ce(e[t]),i,r));return Math.max(...o)}const{getAllOnLoop:Qh}=rr;function Rh(t){const n=[],e=Qh(t);for(const t of e)ke(t)&&!t.isHoleClosing&&n.push(t);return n}const Gh=function(t,n,e){const r=t.get(n);return void 0!==r&&r.has(e)},Uh=function(t,n,e){let r=t.get(n);void 0===r&&(r=new Set,t.set(n,r)),r.add(e)},{isOnSameCircle:jh}=rr;function Zh(t){let n=t,e=t.prevOnCircle;for(;Ae(e);)e=e.prevOnCircle;const r=[];do{Ae(n)||r.push(n),n=n.nextOnCircle}while(n!==e);return r}function Wh(t,n){const e=new Map,r=new Map;return Qe(t,function(t){const o=r.get(t)||n*t.cp.circle.radius,i=t.next,c=function(t,n,e=.4,r=16){if(4===n.length)return jn(t,n,e,r);if(3===n.length)return Un(t,n,e,r);if(2===n.length)return kn(t,n);if(1===n.length)return 0;throw new Error("The given bezier curve must be of order <= 3.")}([0,1],Ce(t)),s=i.cp.circle.radius;if(o-c>n*s)for(const t of Pe(i))if(r.set(t,o-c),!i.isHoleClosing){const{center:t}=i.cp.circle;Uh(e,t[0],t[1])}}),e}function Jh(t,n){let e=0;"undefined"!=typeof _debug_&&(e=performance.now());const r=function(t){const n=v(t);return n.reduce(function(t,n){return t.cp.circle.radius>=n.cp.circle.radius?t:n},n[0])}(je(t.cpNode));!function(t,n){const e=Rh(n);for(;e.length;){const r=e.pop(),{center:o}=r.cp.circle;if(!Gh(t,o[0],o[1])||r.isIntersection)continue;let i=r.prevOnCircle,c=!1;for(;!c;){i=i.next;const{center:e}=i.cp.circle;if(Gh(t,e[0],e[1]))if(jh(i,n))c=!0;else{if(1===Zh(i).length)continue;c=!0}else{for(;Ae(i.prevOnCircle);)i=i.prevOnCircle;c=!0}}if(c){const t=i.prevOnCircle;t.next=i,i.prev=t,t.nextOnCircle=i,i.prevOnCircle=t}}}(Wh(r,n),r);const o={cpNode:r,meta:{...t.meta,cpTrees:qh(r)}};return function(t){"undefined"!=typeof _debug_&&(_debug_.generated.timing.sats=performance.now()-t)}(e),o}const Kh={maxCurviness:.05,maxLength:40,applySat:!0,satScale:2,simplify:!0,simplifyTolerance:2**-4,minBezLength:2**-6,angleIncrement:15},td={maxCurviness:{range:[.01,3]},maxLength:{range:[1,1024],scaleByMaxRadius:!0},angleIncrement:{range:[.1,360]},satScale:{range:[1,Number.POSITIVE_INFINITY]},simplifyTolerance:{range:[2**-10,1024],scaleByMaxCoordinate:!0},minBezLength:{range:[2**-20,2],scaleByMaxCoordinate:!0}};function nd(t){return[t[1],-t[0]]}function ed(t,n){return Ee(n)&&Se(n).isDull?-te(nd(Se(n).tangents[0]),ie(Kn(n.p,t.center))):0}function rd(t){return t[0]*t[0]+t[1]*t[1]}function od(t,n,e){return t[0]*(n[1]*e[2]-n[2]*e[1])-t[1]*(n[0]*e[2]-n[2]*e[0])+t[2]*(n[0]*e[1]-n[1]*e[0])}function id(t){const n=t[0],e=t[1],r=t[2],o=rd,i=.5*od([o(n),n[1],1],[o(e),e[1],1],[o(r),r[1],1]),c=.5*od([n[0],o(n),1],[e[0],o(e),1],[r[0],o(r),1]),s=od([n[0],n[1],1],[e[0],e[1],1],[r[0],r[1],1]);return[i/s,c/s]}function cd(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}const sd=Number.EPSILON/2,ud=sd*sd;function fd(t){const n=t*ud;return n/(1-n)}const ld=_r,ad=x,{abs:pd}=Math,hd=fd(3);function dd(t,n,e){const r=t.length-1,o=[t[0]];let i=n[0];const c=[i];for(let s=1;s<r;s++){const r=o[s-1],u=e*r[1],f=pd(e)*i+pd(u),l=t[s];i=n[s]+f+pd(l[1]+u);const a=ad(l,ld(e,r));o.push(a),c.push(i)}return{coeffs:o,errBound:c.map(t=>hd*t)}}const vd=$,gd=B;function md(t,n){const e=t.length-1,r=[t[0]];for(let o=1;o<e;o++)r.push(gd(t[o],vd(n,r[o-1])));return r}const xd=dt,bd=sr,_d=x,Id=Number.EPSILON,Nd=fd(3),{sqrt:Sd}=Math;function Ed(t,n,e,r=[0,1],o=void 0,i=void 0,c=!1,s=0){const[u,f]=r,l=n.ps,a=0===s&&n===o;let{polyDd:p,polyE:h,getPolyExact:d}=Ei(l,e);const v=a?dd(p,h.map(t=>t/Nd),i):void 0,g=c&&a?dd(v.coeffs,v.errBound.map(t=>t/Nd),i):void 0,m=c&&a?dd(g.coeffs,g.errBound.map(t=>t/Nd),i):void 0,{polyDd:x,polyE:b,getPolyExact:_}=void 0!==m?{polyDd:m.coeffs,polyE:m.errBound,getPolyExact:()=>md(md(md(d(),i),i),i)}:void 0!==v?{polyDd:v.coeffs,polyE:v.errBound,getPolyExact:()=>md(d(),i)}:{polyDd:p,polyE:h,getPolyExact:d},I=ao(x,u,f,b,_),N=1===i&&n===o.next||0===i&&n===o,S=0===i&&n===o.prev||1===i&&n===o;0===u?N||I.push({tS:0,tE:0,multiplicity:1}):1===u?S||I.push({tS:1,tE:1,multiplicity:1}):I.push({tS:u,tE:u,multiplicity:1}),0===f?N||I.push({tS:0,tE:0,multiplicity:1}):1===f?S||I.push({tS:1,tE:1,multiplicity:1}):I.push({tS:f,tE:f,multiplicity:1});const E=I.map(r=>{const{tS:o,tE:i}=r;if(i<u||o>f)return;const c=(o+i)/2,s=c<0?0:c>1?1:c,a=No(l,[o,i]),p=function(t){const n=t[0],e=t[1];return[(n[0]+e[0])/2,(n[1]+e[1])/2]}(a),h=function(t,n,e){const r=n[0],o=n[1],i=r[0],c=r[1],s=o[0],u=o[1],f=e[0],l=e[1];let a=Number.POSITIVE_INFINITY,p=Number.NEGATIVE_INFINITY;for(const[n,e]of[[i,c],[i,u],[s,c],[s,u]]){const r=xd(n,f),o=xd(e,l),i=_d(bd(r,r),bd(o,o))[1],c=i*(1-2**t*Id),s=i*(1+2**t*Id);c<=a&&(a=c),s>=p&&(p=s)}return[a,p]}(t,a,e),d=0===s?1:s;return{curve:0===s?n.prev:n,p,t:d,d:(Sd(h[0])+Sd(h[1]))/2,dSquaredI:h,box:a}});return E.filter(t=>void 0!==t)}const wd=bl;function Od(t,n){const e=t[0],r=t[1],o=e[0],i=e[1],c=r[0],s=r[1],u=n[0],f=n[1];return u<o?f<i?wd(t[0],n):f>s?wd([o,s],n):(o-u)**2:u>c?f<i?wd([c,i],n):f>s?wd(t[1],n):(u-c)**2:f<i?(i-f)**2:f>s?(f-s)**2:0}const Md=Wn(Ji);function Td(t,n){const e=[0,1,2,3].map(e=>function(t,n){const e=bl,r=n[0],o=n[1],i=e(r,o);if(0==i)return e(t,r);let c=((t[0]-r[0])*(o[0]-r[0])+(t[1]-r[1])*(o[1]-r[1]))/i;return c=Math.max(0,Math.min(1,c)),e(t,[r[0]+c*(o[0]-r[0]),r[1]+c*(o[1]-r[1])])}(n,[t[e],t[(e+1)%4]])),r=bl(t[0],t[1]),o=bl(t[0],t[3]);return e[0]<=o&&e[2]<=o&&e[1]<=r&&e[3]<=r?0:Math.min(...e)}const Cd=Wn(sh);function yd(t,n,e,r=void 0,o=void 0,i=!1,c=0){n=function(t,n){const e=function(t,n){let e=Number.POSITIVE_INFINITY;for(let r=0;r<t.length;r++){const o=t[r],i=o.curve.ps,c=vo(i,o.ts[0]),s=vo(i,o.ts[1]),u=Math.min(bl(n,c),bl(n,s));u<e&&(e=u)}return(1+2**-10)*e}(t,n);return t=function(t,n,e){const r=[];for(let o=0;o<t.length;o++){const i=t[o],c=i.curve.ps;Od(Md(c),n)<=e&&r.push(i)}return r}(t,n,e),t=function(t,n,e){const r=[];for(let o=0;o<t.length;o++){const i=t[o],c=i.curve.ps;Td(Cd(c),n)<=e&&r.push(i)}return r}(t,n,e),t}(n,e);const s=[];for(let u=0;u<n.length;u++){const f=n[u],l=Ed(t,f.curve,e,f.ts,r,o,i,c);s.push(...l)}let u=Number.POSITIVE_INFINITY;for(let t=0;t<s.length;t++){const n=s[t].dSquaredI[1];n<u&&(u=n)}const f=[];for(let t=0;t<s.length;t++){const n=s[t];n.dSquaredI[0]<=u&&f.push(n)}return f.map(t=>vr(t.curve,t.t,!1))}const{max:Pd,ceil:Ad,log2:Bd}=Math;function Fd(t,n){return n.map(n=>yd(5,n,t)[0])}function zd(t,n){return[n*t[0],n*t[1]]}function Yd(t,n,e){const r=cd(e);let o,i,c,s,u=1,f=0;do{i=oe(zd(e,u),n),c=Fd(i,t),s=cd(Kn(i,id(c.map(t=>t.p)))),o=s<r,u/=2,f++}while(!o&&f<3);return{newX:i,newV:s,newPoss:c}}const{isSharp:Vd}=rr,Ld=Kn;function kd(t,n,e,r,o){const i=2**-32*o,c=[t[0],t[n],t[t.length-1]],s=[r[0],r[n],r[t.length-1]],u=[[c[0],c[1],c[2]],[c[1],c[2],c[0]],[c[2],c[0],c[1]]][e],f=[[s[0],s[1],s[2]],[s[1],s[2],s[0]],[s[2],s[0],s[1]]][e];if(Vd(u[0][0]))return;let l,a,p=0,h=function(t,n,e){const r=n[0][0].cp.circle,o=r.center,i=yd(Pd(0,Ad(Bd(t/r.radius)))+1,e[1],o)[0];return id([n[0][0].cp.pointOnShape.p,i.p,n[2][1].cp.pointOnShape.p])}(o,u,f),d=Number.POSITIVE_INFINITY;for(;d>i&&p<10;){if(p++,l=Fd(h,f),!Number.isFinite(h[0])||!Number.isFinite(h[1]))return;a=id(l.map(t=>t.p));const t=Ld(h,a);if(!Number.isFinite(t[0])||!Number.isFinite(t[1]))return;const n=Yd(f,h,t);h=n.newX,l=n.newPoss;const e=cd(t);d=Math.abs(e-n.newV)}const v=(Ln(h,l[0].p)+Ln(h,l[1].p)+Ln(h,l[2].p))/3,g={center:h,radius:v};let m=0;for(let t=0;t<3;t++){const n=l[t],e=ie(Kn(n.p,h)),r=ne(e);if(Ee(n)&&Se(n).isDull){const t=Ne(n.curve.ps,n.curve.next.ps).tangents.map(ne),r=Math.asin(ee(t[0],e)),o=Math.asin(ee(e,t[1]));let i=0;r>0&&(i+=r),o>0&&(i+=o),m+=i}else{const t=ie(se(n.curve.ps,n.t));m+=Math.abs(Math.asin(ee(r,t)))}}const x=[];for(let t=0;t<r.length;t++){const n=yd(5,r[t],h)[0];x.push(Ln(n.p,h))}const b=Math.min(...x);return{poss:l,circle:g,error:1*Math.abs(v-b)+1*m,δ3s:u}}const $d=Wn(t=>!!Ee(t)&&Se(t).isQuiteSharp);function Xd(t){let n=t[0];const e=t[1],r=[];let o=!0;do{if(!o){o=!0,n=n.prevOnCircle;continue}o=!1;const t=n.cp.pointOnShape,e=n.next.cp.pointOnShape;e.curve===t.curve&&$d(t)&&$d(e)||(e.curve===t.curve&&d(n.next.cp,n.cp)>0?r.push({curve:t.curve,ts:[t.t,e.t]}):(r.push({curve:t.curve,ts:[t.t,1]}),t.curve.loop===e.curve.loop&&qd(r,t.curve,e.curve,e.t))),n=n.next}while(n!==e);return r}function qd(t,n,e,r){let o=n;do{o=o.next;const n=o===e?r:1;t.push({curve:o,ts:[0,n]})}while(o!==e)}function Hd(t,n,e,r){const o={pointOnShape:n,order:e,order2:r},i=t.findBounds({cp:o});if(void 0!==i[0]||void 0!==i[1])return void 0===i[0]||void 0===i[1]?t.max(t.root):i[0].datum}function Dd(t,n,e,r,o,i){if(void 0!==i&&!function(t,n,e){const r=d(n,e.cp);if(r<0)return!0;if(0===r)return!0;const o=t.getMinNode();if(void 0===o)return!0;const i=o.datum;return d(t.getMaxNode().datum.cp,n)<0&&i===e}(r,o,i.next)&&!t)return;const c={cp:o,isHoleClosing:n,isIntersection:e},s=void 0===i?c:i,u=void 0===i?c:s.next;return u.prev=c,s.next=c,c.prev=s,c.next=u,r.insert(c),c}function Qd(t,n,e,r,o,i,c){let s=!1;const u=i.map((i,u)=>{const f=r[u],l=o.get(i.curve.loop),a={pointOnShape:i,circle:e,order:f,order2:0},p=void 0===c?Hd(l,i,f,0):c[u],h=Dd(t,n,!1,l,a,p);return void 0===h&&(s=!0),h});return s||function(t,n){n=n.slice().sort(function(t){const n=t.center;return function(t,e){let r=t.cp.pointOnShape.p,o=e.cp.pointOnShape.p;r=[r[0]-n[0],r[1]-n[1]],o=[o[0]-n[0],o[1]-n[1]];const i=Math.atan2(r[1],r[0]);return Math.atan2(o[1],o[0])-i}}(t));const e=n.length;for(let t=0;t<e;t++)n[t].nextOnCircle=n[(t+1)%e],n[t].prevOnCircle=n[(t-1+e)%e]}(e,u),{anyFailed:s,cpNodes:u}}const Rd=Math.cos(Math.PI/180*1);function Gd(t,n,e,r,o,i){const{cpTrees:c,maxCoordinate:s}=t,u=2e-14*s,f=.02*u,l=Hd(c.get(n.curve.loop),n,r,o);if(!l)return;const a=[l,l.next],{p,t:h}=n;for(const t of a){const n=t.cp.pointOnShape.p,r=Ln(p,n);if(!(r>u)&&(te(ie(Kn(n,t.cp.circle.center)),ie(Kn(p,e.center)))>Rd||r<f&&0!==h&&1!==h))return t}}function Ud(t,n){const e=[];for(const t of n)e.push([t,t.next]);const r=function(t,n){const e=t.map(Xd);let r,o=Number.POSITIVE_INFINITY;for(let i=1;i<t.length-1;i++)for(let c=0;c<3;c++){const s=kd(t,i,c,e,n);if(!s)continue;const{circle:u,poss:f,error:l,δ3s:a}=s;l<o&&(o=l,r={circle:u,poss:f,δ3s:a})}return r}(e,t.maxCoordinate),{circle:o,poss:i,δ3s:c}=r,s=[];for(let t=0;t<3;t++)s.push(ed(o,i[t]));const u=[];for(let n=0;n<i.length;n++){const e=Gd(t,i[n],o,s[n],0);void 0!==e&&qe(e)<=2&&!e.isHoleClosing&&u.push(e)}return{closeBysFor3Prong:u,cpNodes:0===u.length?Qd(!0,!1,o,s,t.cpTrees,i,c.map(t=>t[0])).cpNodes:[]}}let jd=0;function Zd(t,n){if(we(n.cp.pointOnShape))return{closeBysFor3Prong:void 0,addedCpNodes:[]};const e=[];for(;;){if(void 0===n)continue;const r=De(n);if(r.length<=2)break;const{closeBysFor3Prong:o,cpNodes:i}=Ud(t,r);if(e.push(i),o.length>0)return{closeBysFor3Prong:o,addedCpNodes:e};if("undefined"!=typeof _debug_&&++jd===_debug_.directives.stopAfterThreeProngsNum)return}return{closeBysFor3Prong:void 0,addedCpNodes:e}}function Wd(t){for(const n of t)return n}function Jd(t,n,e,r){for(const o of[n[0]])Pe(o).forEach(t=>{e.delete(t),r.delete(t)}),Ke(o,t)}const{cpNodeComparator:Kd}=rr;function tv(t,n,e){let r;for(let o=0;o<e.length;o++){const i=e[o],c=new Fh(Kd,!1);let s,u;for(const t of i){const n={center:t.p,radius:0},e={pointOnShape:t,circle:n,order:1,order2:0};s=Dd(!0,!1,!1,c,{pointOnShape:t,circle:n,order:-1,order2:0},u),u=Dd(!0,!1,!1,c,e,s),s.prevOnCircle=u,u.prevOnCircle=s,s.nextOnCircle=u,u.nextOnCircle=s}r||(r=s);const f=t[o];n.set(f,c)}return r}const nv=function(t,n,e,r,o){let i=t.get(n);void 0===i&&(i=new Map,t.set(n,i));let c=i.get(e);void 0===c&&(c=new Map,i.set(e,c)),c.set(r,o)};let ev;function rv(t,n,e,r){ev=performance.now();const o=new Map,i=[],c=[],s=[],u=[],f=[];for(const t of e){const n=r.get(t).toArrayInOrder();for(const e of n){const{p:n,t:r}=e.cp.pointOnShape;nv(o,t,n[0],n[1],e)}for(let n of t.curves){const t=n.ps,e=Il(t,!0);s.push(e);const r=Md(t);i.push(r);const o=sh(t);c.push(o);const l=Ne(n.ps,n.next.ps);l.isQuiteSharp?u.push(n):l.isQuiteDull&&f.push(n)}}return{maxCoordinate:t,squaredDiagonalLength:n,looseBoundingBoxes:i,tightBoundingBoxes:c,boundingHulls:s,sharpCorners:u,dullCorners:f,loops:e,cpTrees:r,pointToCpNode:o}}function ov(t){return n=>{const e=[];for(let r=0;r<n.curves.length;r++){const o=n.curves[r];ch(o.ps)<t||Ne(o.ps,o.next.ps).isQuiteSharp&&e.push(vr(o,1,!0))}return e}}const iv=x,cv=_r;function sv(t,n){let e=[0,0];for(let r=0;r<t.length;r++)e=iv(t[r],cv(n,e));return e}const uv=A,fv=P,lv=_r,av=x,pv=ur;function hv(t){if(4===t.length)return function(t){const[[n,e],[r,o],[i,c],[s,u]]=t;return[[lv(3,av(fv(s,n),lv(3,fv(r,i)))),lv(6,pv(uv(i,n),-2*r)),lv(3,fv(r,n))],[lv(3,av(fv(u,e),lv(3,fv(o,c)))),lv(6,pv(uv(c,e),-2*o)),lv(3,fv(o,e))]]}(t);if(3===t.length)return function(t){const[[n,e],[r,o],[i,c]]=t;return[[pv(uv(2*i,2*n),-4*r),fv(2*r,2*n)],[pv(uv(2*c,2*e),-4*o),fv(2*o,2*e)]]}(t);if(2===t.length)return function(t){const[[n,e],[r,o]]=t;return[[fv(r,n)],[fv(o,e)]]}(t);if(1===t.length)return[[[0,0]],[[0,0]]];throw new Error("The given bezier curve must be of order <= 3.")}const dv=P,vv=x,gv=_r,mv=ur;function xv(t){if(4===t.length){const[[n,e],[r,o],[i,c],[s,u]]=t;return[[gv(6,vv(dv(s,n),gv(3,dv(r,i)))),gv(6,mv(dv(i,2*r),n))],[gv(6,vv(dv(u,e),gv(3,dv(o,c)))),gv(6,mv(dv(c,2*o),e))]]}if(3===t.length){const[[n,e],[r,o],[i,c]]=t;return[[mv(dv(2*i,4*r),2*n)],[mv(dv(2*c,4*o),2*e)]]}if(t.length<=2)return[[[0,0]],[[0,0]]];throw new Error("The given bezier curve must be of order <= 3.")}const bv=sr,_v=x,Iv=b,Nv=dt,Sv=J,Ev=$,wv=B,Ov=D;function Mv(t,n,e=!1){const r=n.curve.ps,{p:o,t:i}=n;let c=-function(t,n){const[e,r]=hv(t),[o,i]=xv(t),c=sv(e,n),s=sv(r,n),u=sv(o,n),f=sv(i,n),l=Iv(bv(c,f),bv(s,u)),a=_v(bv(c,c),bv(s,s)),p=bv(a,bv(a,a)),h=Math.sqrt(p[1]);return l[1]/h}(r,i);(c<t||e)&&(c=t);const s=function(t,n){const[e,r]=function(t){if(4===t.length)return function(t){const[[n,e],[r,o],[i,c],[s,u]]=t;return[[Ev(3,wv(Nv(s,n),Ev(3,Nv(r,i)))),Ev(6,Ov(Sv(i,n),-2*r)),Ev(3,Nv(r,n))],[Ev(3,wv(Nv(u,e),Ev(3,Nv(o,c)))),Ev(6,Ov(Sv(c,e),-2*o)),Ev(3,Nv(o,e))]]}(t);if(3===t.length)return function(t){const[[n,e],[r,o],[i,c]]=t;return[[Ov(Sv(2*i,2*n),-4*r),Nv(2*r,2*n)],[Ov(Sv(2*c,2*e),-4*o),Nv(2*o,2*e)]]}(t);if(2===t.length)return function(t){const[[n,e],[r,o]]=t;return[[Nv(r,n)],[Nv(o,e)]]}(t);if(1===t.length)return[[[0]],[[0]]];throw new Error("The given bezier curve must be of order <= 3.")}(t);return[kr(e,n),kr(r,n)]}(r,i).map(t=>t[t.length-1]),u=[-s[1],s[0]],f=Math.sqrt(u[0]**2+u[1]**2);return{center:[o[0]-u[0]/(c*f),o[1]-u[1]/(c*f)],radius:1/c}}const{abs:Tv}=Math,Cv=P,yv=m;function Pv(t,n,e){const r=Tv(t[1]-n[1])>Tv(t[0]-n[0]);let o,i,c,s,u,f;r?(o=t[1],i=t[0],c=n[1],s=n[0],u=e[1],f=e[0]):(o=t[0],i=t[1],c=n[0],s=n[1],u=e[0],f=e[1]);const l=Vf(Cv(i,s),Cv(o,c)),a=b([0,s],br(c,l)),p=Vf(x(b(x(yv(c,c),yv(s,s)),x(yv(u,u),yv(f,f))),Co(sr(a,Cv(f,s)))),Co(x(Cv(c,u),sr(l,Cv(s,f))))),h=x(sr(l,p),a);return r?[h[1],p[1]]:[p[1],h[1]]}function Av(t,n,e,r){const o=(2**-14*t)**2;if(bl(n,r)<o)return;const i=[(n[0]+r[0])/2,(n[1]+r[1])/2],c=[r[0]-n[0],r[1]-n[1]],s=[-c[1],c[0]],u=Jn([n,e],[i,[i[0]+s[0],i[1]+s[1]]]);return u?te([u[0]-n[0],u[1]-n[1]],[e[0]-n[0],e[1]-n[1]])<0?void 0:u:void 0}function Bv(t,n){const[e,r]=t,[o,i]=n,c=P(e,o),s=P(r,i);return x(sr(c,c),sr(s,s))[1]}function Fv(t,n,e){if(t.length<=1)return t;const r=[];for(const o of t){const t=o.curve.ps;Od(Md(t),n)<=1.0009765625*e&&r.push(o)}return r}function zv(t,n,e,r){if(Ee(r)&&Se(r).isDull)return;const o={radius:n,center:e};if(Gd(t,r,o,ed(o,r),0))return;const{anyFailed:i,cpNodes:c}=Qd(!1,!1,o,[-.5,.5],t.cpTrees,[r,r])}const Yv=m,Vv=x,Lv=b,kv=br,{asin:$v,acos:Xv,cos:qv,sqrt:Hv,PI:Dv}=Math,Qv=1e3*2**-46;function Rv(t,n,e){if(n+e>=t)return Number.POSITIVE_INFINITY;const r=P(t,n),o=kv(n,r),i=t-n,c=n*i,s=(c-n*e-e*e/2)/(c+i*e),u=Vf(Lv(Lv(o,Yv(n,e)),Yv(e,e/2)),Vv(o,kv(e,r)))[1];return Xv(s),n*Xv(u)}Rv(699,698,Qv),function(t,n,e){const r=698+e;const o=t*t-r*r-1,i=2*r*1,c=Vf(Lv(Lv(Yv(t,t),Yv(r,r)),Yv(1,1)),Yv(-2*r,1))[1];Xv(-o/i),Xv(c)}(699,0,Qv),function(t,n,e){const r=698+e,o=699,i=Hv((1-(r*r+o*o-2*r*o))/(4*r*o));$v(i)}(0,0,Qv);const{ceil:Gv,log2:Uv,max:jv,sqrt:Zv,abs:Wv,sin:Jv,cos:Kv}=Math;function tg(t,n,e,r,o){const{loops:i,maxCoordinate:c,squaredDiagonalLength:s,cpTrees:u}=t,f=o.curve.loop,l=(2**-21*c)**2,a=2**-46*c,p=Zv(s),h=1/p,d=2**-16*c,[v,g]=function(t,n,e,r,o){let i;const c=o.p;let s;if(n)i=[c[0],c[1]-e],s=e;else if(0===t)({center:i,radius:s}=Mv(r,o));else{({center:i,radius:s}=Mv(r,o,!0));const n=Kn(o.p,i),e=ce(Jv(t),Kv(t))(n);i=oe(o.p)(e)}return[i,s]}(r,n,p,h,o),m=o.p;let x=function(t,n,e,r,o,i,c){if(n)return r.filter(t=>t!==e).flatMap(t=>t.curves.map(t=>({curve:t,ts:[0,1]})));const s=Ee(i)&&Se(i).isDull?1===i.t&&0===t?-1:0===i.t?1:ed(c,i):0,u=Hd(o.get(e),i,s,0);return u&&u!==u.next.next?Xd([u,u]):e.curves.map(t=>({curve:t,ts:[0,1]}))}(r,n,f,i,u,o,{center:v,radius:g}),b=v;const _=Zv(function(t,n,e,r){let o=Number.POSITIVE_INFINITY;for(let i=0;i<n.length;i++){const c=n[i],s=c.curve.ps,u=2;for(let n=0;n<u+1;n++){const i=Av(t,e,r,vo(s,c.ts[n/u]));if(i){let t=bl(e,i);t<o&&(o=t)}}}return(1+2**-10)*o}(c,x,m,v));let I,N;g>_&&(b=re(m,v,_/g));let S=0;for(;S<25;){const i=Bv(b,o.p);S<2&&(x=Fv(x,b,i));const s=yd(jv(0,Gv(Uv(c/i)))+1,x,b,o.curve,o.t,e&&0==S&&g!==1/h,r).map(t=>vr(t.curve,t.t,!1));let u,f=Number.NEGATIVE_INFINITY;I=[];for(const t of s){if(void 0===t)continue;const n=Bv(o.p,t.p);n>f&&(f=n,u=t),0!==n&&I.push(t)}const p=f;if(N=u,void 0===N||0===p)return;const m=Bv(b,N.p);if(0===S&&g<(1-d)*Zv(m))return void zv(t,g,v,o);if(!n&&p<=jv(Rv(g,Zv(m),4*a),l))return;if(b=Pv(b,o.p,N.p),Wv(Zv(i)-Zv(m))<a)break;if(S++,25===S)return}return{circle:{center:b,radius:Ln(b,N.p)},zs:[N]}}function ng(t,n,e,r){const{cpTrees:o}=t;e[0]=0===e[0].t?vr(e[0].curve.prev,1,!0):e[0];const i=e.map(t=>ed(n,t));for(let r=0;r<e.length;r++)if(Gd(t,e[r],n,i[r],0))return;const{anyFailed:c,cpNodes:s}=Qd(r,r,n,i,o,e);if(!c)return r&&function(t,n){const[e,r]=n,o=r.cp,i=Dd(!0,!0,!1,t.get(o.pointOnShape.curve.loop),{...o,order2:1},r),c=Dd(!0,!0,!1,t.get(e.cp.pointOnShape.curve.loop),{...e.cp,order2:-1},e.prev);c.prevOnCircle=i,c.nextOnCircle=i,i.prevOnCircle=c,i.nextOnCircle=c,r.next=e,e.prev=r,c.next=i,i.prev=c}(o,s),s[0];s.forEach(t=>{void 0!==t&&Je(t,o)})}const{PI:eg,atan2:rg}=Math;function og(t,n,e,r){let o;const i=n*eg/180;for(let n=0;n<e.length;n++){const c=[0],s=e[n];if(1===s.t){const{curve:t}=s,n=Ne(t.ps,t.next.ps);if(n.isQuiteDull){const t=nd(n.tangents[0]),e=nd(n.tangents[1]),r=(rg(t[1],t[0])+2*eg)%(2*eg),o=((rg(e[1],e[0])+2*eg)%(2*eg)-r+2*eg)%(2*eg);let s=i;for(;s<=o-i/2;)c.push(s),s+=i}}for(let e of c){const i=tg(t,!1,r,e,s);if(i){const{circle:n,zs:e}=i,r=ng(t,n,[s,...e],!1);o=o||r}if("undefined"!=typeof _debug_&&n+1===_debug_.directives.stopAfterTwoProngsNum)return}}return o}function ig(t,n,e,r){let o;for(let i=0;i<e.length;i++){const c=og(t,n,e[i],r);o=void 0===o?c:o}return o}function cg(t,n=.4,e=10,r=2**-16){const o=[0],i=[1];for(;;){const c=o[o.length-1],s=i[i.length-1],u=Rn(t,c,s),f=ch(u),l=Qn(u);if(f<=e&&l<=n||s-c<=r){if(o.push(i.pop()),1===s)return o;continue}const a=(c+s)/2;i.push(a)}}function sg(t,n,e){return function(r){const o=[],i=r.curves;for(let r=0;r<i.length;r++){const c=i[r],s=c.ps;if(ch(s)<t)continue;let u=cg(s,n,e);u=2===u.length?[.5]:u,u.push(...Fn(s)),u=u.filter(t=>0!==t&&1!==t);const f=u.map(t=>vr(c,t,!0));o.push(...f)}return o}}const ug=_r,fg=P,lg=x,ag=_r,pg=Co,hg=yo,dg=_r,vg=sr,gg=x,mg=b;const xg=P,bg=_r,_g=sr,Ig=x,Ng=b;function Sg(t){if(xt(t))return{minima:[],maxima:[],inflections:[]};if(4===t.length&&pt(t)&&(t=Bu(t)),3===t.length){const n=function(t){const[[n,e],[r,o],[i,c]]=t,s=xg(r,n),u=xg(i,r),f=Ng(u,s),l=xg(o,e),a=xg(c,o),p=Ng(a,l),h=Ig(Ng(bg(n,Ng(f,[0,r])),bg(r,Ng(u,[0,r]))),Ng(bg(e,Ng(p,[0,o])),bg(o,Ng(a,[0,o]))));return[Ig(_g(f,f),_g(p,p)),Dc(h)]}(t);return{minima:[],maxima:ao(n,0,1).map(t=>(t.tS+t.tE)/2),inflections:[]}}const n=function(t){const[[n,e,r],[o,i,c]]=hv(t),[[s,u],[f,l]]=xv(t),[[a],[p]]=function(t){if(4===t.length){const[[n,e],[r,o],[i,c],[s,u]]=t;return[[ag(6,lg(fg(s,n),ag(3,fg(r,i))))],[ag(6,lg(fg(u,e),ag(3,fg(o,c))))]]}if(t.length<=3)return[[[0,0]],[[0,0]]];throw new Error("The given bezier curve must be of order <= 3.")}(t),h=vg(a,i),d=vg(p,e),v=vg(u,c),g=vg(u,i),m=vg(f,f),x=vg(s,c),b=vg(l,r),_=vg(l,e),I=vg(f,r),N=vg(r,e),S=vg(r,n),E=vg(r,o),w=vg(e,e),O=vg(e,n),M=vg(e,i),T=vg(n,c),C=vg(n,o),y=vg(n,n),P=vg(c,i),A=vg(c,o),B=vg(i,i),F=vg(i,o),z=vg(o,o),Y=mg(vg(a,c),vg(p,r)),V=mg(h,d),L=gg(vg(u,r),vg(l,c)),k=gg(gg(vg(u,e),vg(s,r)),gg(vg(l,i),vg(f,c))),$=mg(v,b),X=mg(gg(g,x),gg(_,I)),q=gg(vg(r,r),vg(c,c)),H=gg(N,P),D=gg(M,T),Q=gg(A,B),R=gg(S,w),G=gg(vg(e,o),vg(n,i)),U=mg(y,z),j=mg(O,F),Z=gg(E,M),W=mg(N,P),J=gg(vg(r,i),vg(e,c)),K=gg(A,Q),tt=gg(S,R),nt=gg(E,D),et=gg(M,D),rt=mg(tt,K),ot=gg(D,T),it=gg(Z,T),ct=gg(Co(_),I),st=vg(y,mg(h,dg(3,d))),ut=vg(z,mg(dg(3,h),d)),ft=Co(gg(vg(C,gg(mg(vg(a,e),vg(p,i)),dg(3,mg(vg(l,f),vg(u,s))))),dg(3,vg(vg(s,f),j)))),lt=dg(3,gg(vg(G,mg(m,vg(s,s))),vg(U,gg(vg(u,f),vg(l,s))))),at=gg(gg(st,ut),gg(ft,lt)),pt=vg(a,gg(vg(o,gg(tt,dg(3,Q))),vg(n,et))),ht=vg(p,gg(gg(vg(r,gg(dg(3,y),z)),vg(e,gg(dg(3,O),pg(F)))),vg(n,K))),dt=dg(3,gg(gg(vg(u,gg(mg(vg(l,U),vg(u,C)),pg(mg(vg(f,j),vg(s,G))))),vg(s,mg(gg(pg(vg(l,j)),vg(f,gg(pg(mg(S,A)),mg(w,B)))),vg(s,it)))),gg(vg(l,gg(vg(l,C),pg(vg(f,G)))),vg(m,nt)))),vt=gg(mg(pt,ht),dt),gt=vg(a,gg(gg(pg(vg(r,G)),vg(e,ot)),vg(i,gg(hg(A),K)))),mt=vg(p,gg(gg(pg(vg(r,gg(dg(3,O),F))),vg(e,gg(w,pg(A)))),vg(i,ot))),xt=dg(3,gg(gg(vg(u,mg(gg(pg(mg(vg(l,j),vg(s,it))),vg(f,rt)),vg(u,G))),vg(s,mg(pg(vg(f,W)),vg(s,J)))),gg(vg(l,gg(gg(vg(l,G),pg(vg(f,nt))),vg(s,rt))),vg(m,J)))),bt=gg(mg(gt,mt),xt),_t=vg(a,gg(vg(r,gg(E,pg(D))),vg(c,gg(w,dg(3,Q))))),It=vg(p,gg(vg(r,gg(dg(3,R),K)),vg(c,et))),Nt=dg(3,gg(gg(vg(u,gg(mg(vg(l,rt),vg(u,nt)),pg(mg(vg(f,W),vg(s,J))))),vg(s,mg(vg(r,mg(ct,vg(s,c))),vg(c,gg(pg(vg(l,i)),vg(f,c)))))),gg(vg(l,gg(vg(l,D),vg(r,gg(pg(vg(f,i)),vg(l,o))))),vg(f,vg(c,ct))))),St=gg(mg(_t,It),Nt),Et=mg(gg(vg(q,V),pg(vg(H,Y))),dg(3,gg(vg(L,X),vg(k,$)))),wt=mg(vg(Y,q),dg(3,vg(L,$)));return{inflectionPoly:[mg(vg(s,o),vg(f,n)),mg(gg(vg(u,o),vg(s,i)),gg(vg(l,n),vg(f,e))),mg(gg(g,x),gg(_,I)),mg(v,b)],otherExtremaPoly:[at,vt,bt,St,Et,wt]}}(t),e=n.inflectionPoly,r=n.otherExtremaPoly,o=ao(r,0,1),i=function(t){const n=[],e=t.length-1;for(let r=0;r<e;r++)n.push(ug(e-r,t[r]));return n}(r),c=[],s=[];for(let t=0;t<o.length;t++){const n=(o[t].tS+o[t].tE)/2,r=kr(i,n);Q(H(kr(e,n),r))>=0?c.push(n):s.push(n)}return{minima:c,maxima:s,inflections:ao(e,0,1).map(t=>(t.tS+t.tE)/2)}}const Eg=Number.POSITIVE_INFINITY,wg=Wn(function(t){const n=[[{bezier:void 0,t:void 0,val:Eg},{bezier:void 0,t:void 0,val:Eg}],[{bezier:void 0,t:void 0,val:-Eg},{bezier:void 0,t:void 0,val:-Eg}]];return t.curves.forEach(function(t){const e=tc(t.ps);{const r=e.box[0][0],o=n[0][0].val;(r<o||r===o&&e.ts[0][0]>n[0][0].t)&&(n[0][0]={bezier:t,t:e.ts[0][0],val:r})}{const r=e.box[0][1],o=n[0][1].val;(r<o||r===o&&e.ts[0][1]>n[0][1].t)&&(n[0][1]={bezier:t,t:e.ts[0][1],val:r})}{const r=e.box[1][0],o=n[1][0].val;(r>o||r===o&&e.ts[1][0]>n[1][0].t)&&(n[1][0]={bezier:t,t:e.ts[1][0],val:r})}{const r=e.box[1][1],o=n[1][1].val;(r>o||r===o&&e.ts[1][1]>n[1][1].t)&&(n[1][1]={bezier:t,t:e.ts[1][1],val:r})}}),{minY:vr(n[0][1].bezier,n[0][1].t,!0),minX:vr(n[0][0].bezier,n[0][0].t,!0),maxX:vr(n[1][0].bezier,n[1][0].t,!0),maxY:vr(n[1][1].bezier,n[1][1].t,!0)}});function Og(t){return wg(t).minY}function Mg(t){const{loops:n}=t,e=n.map(Og);let r;for(let n=1;n<e.length;n++){const o=e[n],i=tg(t,!0,!1,0,o);if(!i)throw new Error("Unable to find hole-closing 2-prong");const{circle:c,zs:s}=i,u=ng(t,c,[o,s[0]],!0);r=void 0===r?u:r}return r}const Tg=Wn(function(t){let n,e,r,o,i=Number.POSITIVE_INFINITY,c=Number.NEGATIVE_INFINITY,s=Number.POSITIVE_INFINITY,u=Number.NEGATIVE_INFINITY;for(const f of t){const t=wg(f);t.minX.p[0]<i&&(n=t.minX,i=t.minX.p[0]),t.maxX.p[0]>c&&(e=t.maxX,c=t.maxX.p[0]),t.minY.p[1]<s&&(r=t.minY,s=t.minY.p[1]),t.maxY.p[1]>u&&(o=t.maxY,u=t.maxY.p[1])}return{minX:n,minY:r,maxX:e,maxY:o}});function Cg(t,n,e){const{minBezLength:r,maxCurviness:o,maxLength:i,angleIncrement:c}=e,s=ov(r),u=function(t){return n=>{const e=[];for(let r=0;r<n.curves.length;r++){const o=n.curves[r];ch(o.ps)<t||Ne(o.ps,o.next.ps).isQuiteDull&&(e.push(vr(o,1,!0)),e.push(vr(o.next,0,!0)))}return e}}(r),f=sg(r,o,i),l=function(t){return function(n){const e=[],r=function(t){return function(n){const e={minima:[],maxima:[]};for(let r=0;r<n.curves.length;r++){const o=n.curves[r];if(ch(o.ps)<t)continue;const{minima:i,maxima:c}=Sg(o.ps);e.minima.push(...i.map(t=>vr(o,t,!0))),e.maxima.push(...c.map(t=>vr(o,t,!0)))}return e}}(t)(n);return e.push(...r.minima,...r.maxima),e}}(r),a=t.map(s),p=new Map;tv(t,p,a);const h=Tg(t),d=rv(n,(h.maxX.p[0]-h.minX.p[0])**2+(h.maxY.p[1]-h.minY.p[1])**2,t,p);let g;if(g=Mg(d),"undefined"!=typeof _debug_&&_debug_.directives.stopAfterHoleClosers)return{cpNode:g,meta:d};if(function(){if("undefined"==typeof _debug_)return;const t=_debug_.generated.timing,n=performance.now();t.holeClosers+=n-ev,ev=n}(),g=ig(d,c,t.map(u),!1)||g,g=ig(d,c,t.map(l),!0)||g,g=ig(d,c,t.map(f),!1)||g,function(){if("undefined"==typeof _debug_)return;const t=_debug_.generated.timing,n=performance.now();t.oneAnd2Prongs+=n-ev,ev=n}(),"undefined"!=typeof _debug_&&_debug_.directives.stopAfterTwoProngs)return{cpNode:g,meta:d};if(g=function(t,n){if(void 0===n)return;const e=new Set;let r=!0;for(;r;){r=!1;const o=new Set(v(n));for(const n of o){const{closeBysFor3Prong:i,addedCpNodes:c}=Zd(t,n);c.length>0&&(r=!0),void 0===i?e.add(n):(r=!0,Jd(t.cpTrees,i,o,e)),c.forEach(t=>t.forEach(t=>e.add(t)))}n=Wd(e)}return Wd(e)}(d,g),void 0===g)return;if("undefined"!=typeof _debug_&&_debug_.directives.stopAfterThreeProngs)return{cpNode:g,meta:d};const m={cpNode:g,meta:d};return"undefined"!=typeof _debug_&&(_debug_.generated.timing.threeProngs+=performance.now()-ev),m}function yg(t,n){const{maxCoordinate:e,maxRadius:r}=function(t){let n=0,e=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,o=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY;for(const c of t)for(const t of c)for(const c of t){const t=c[0],s=c[1],u=dh(vh(t),vh(s));u>n&&(n=u),t<e&&(e=t),t>r&&(r=t),s<o&&(o=s),s>i&&(i=s)}return{maxCoordinate:n,maxRadius:dh(r-e,i-o)}}(t),o=function(t,n,e){const r=Math.ceil(Math.log2(t)),o=Math.ceil(Math.log2(n)),i={...e};for(const t in td){let n=i[t];const e=td[t],{range:c,scaleByMaxCoordinate:s,scaleByMaxRadius:u}=e;n<c[0]&&(n=c[0]),n>c[1]&&(n=c[1]),s?n*=2**r*2**-10:u&&(n*=2**o*2**-10),i[t]=n}return i}(e,r,{...Kh,...n||{}}),{applySat:i,simplify:c,satScale:s,simplifyTolerance:u}=o,f=hh(t),l=[];for(const t of f){let n=Cg(t,e,o);void 0!==n&&(i&&(n=Jh(n,s)),c&&(n=Hh(n,u,50)),l.push(n))}return l}const{getProngCount:Pg,isOnSameCircle:Ag,isTerminating:Bg}=rr;function Fg(t){const n=function(t){let n=t;const e=Rh(t);for(;e.length;){const r=e.pop();if(r.isHoleClosing||r.isIntersection)continue;let o=r.next;for(;;){o=o.next;let e=!1;const r=o.prevOnCircle;if(Pg(o)>2){const n=o.nextOnCircle;Ag(o,t)?e=!0:o.next===n?o=n:n.next!==r&&(e=!0)}else if(Bg(o)&&!o.isIntersection)return void(n=o);if(e){r.next=o,o.prev=r,n=o;break}}}return n}(je(t.cpNode));if(n)return{cpNode:n,meta:{...t.meta,cpTrees:qh(n)}}}let zg=0;function Yg(t){return t.map(t=>{return(n=t.cp.pointOnShape).p[0]+", "+n.p[1]+" | bz: "+n.curve.idx+" | t: "+n.t;var n})}function Vg(t,n=3){return t[0].toFixed(n)+", "+t[1].toFixed(n)}const Lg={δToString:Yg,δsToString:function(t){return t.map(Yg)},pointToStr:Vg,pointsToStr:function(t,n=3){return t.map(t=>Vg(t,n))},nameObj:function(t,n=""){t.name=""+n+zg++}},kg="red thin10 nofill ",$g="http://www.w3.org/2000/svg";function Xg(t,n,e=kg,r){const o=n.center,i=n.radius,c=document.createElementNS($g,"circle");return c.setAttributeNS(null,"cx",o[0].toString()),c.setAttributeNS(null,"cy",o[1].toString()),c.setAttributeNS(null,"r",i.toString()),c.setAttributeNS(null,"class",e),t.appendChild(c),r&&setTimeout(()=>c.remove(),r),[c]}function qg(t,n,e=3,r="red",o){const[i]=Xg(t,{center:n,radius:e},"dot "+r,o);return o&&setTimeout(()=>i.remove(),o),[i]}function Hg(t,n,e=kg,r=0,o=void 0,i=0){const c=document.createElementNS($g,"line");c.setAttributeNS(null,"x1",n[0][0].toString()),c.setAttributeNS(null,"y1",n[0][1].toString()),c.setAttributeNS(null,"x2",n[1][0].toString()),c.setAttributeNS(null,"y2",n[1][1].toString()),c.setAttributeNS(null,"class",e),t.appendChild(c);let s=[];if(void 0!==o)for(const e of n)s.push(...qg(t,e,i,o,r));for(const n of s)t.appendChild(n);const u=[c,...s];return r&&setTimeout(()=>{for(const t of u)t.remove()},r),u}function Dg(t,n,e=kg,r=3,o){const i=Xg(t,{center:n,radius:r},e),c=[[n[0]-r,n[1]],[n[0]+r,n[1]]],s=[[n[0],n[1]-r],[n[0],n[1]+r]],u=Hg(t,c,e),f=Hg(t,s,e);return o&&setTimeout(()=>{i.forEach(t=>t.remove()),u.forEach(t=>t.remove()),f.forEach(t=>t.remove())},o),[...i,...u,...f]}function Qg(t){return 2===t?"L":3===t?"Q":4===t?"C":void 0}function Rg(t,n,e=kg,r=0,o=void 0,i=0,c=void 0){const[[s,u],[f,l],[a,p]]=n,h=document.createElementNS($g,"path");h.setAttributeNS(null,"d",`M${s} ${u} Q${f} ${l} ${a} ${p}`),e&&h.setAttributeNS(null,"class",e);let d=[];if(void 0!==o)for(const e of n)d.push(...qg(t,e,i,o,r));let v=[];if(void 0!==c)for(let e=0;e<n.length-1;e++)v.push(...Hg(t,[n[e],n[e+1]],c,r));const g=[h,...d,...v];for(const n of g)t.appendChild(n);return r&&setTimeout(()=>{for(const t of g)t.remove()},r),g}function Gg(t,n,e=kg,r=0,o=void 0,i=0,c=void 0){const[[s,u],[f,l],[a,p],[h,d]]=n;if(s===h&&f===h&&a===h&&u===d&&l===d&&p===d)return Dg(t,[s,u],e,.2,r);const v=document.createElementNS($g,"path");v.setAttributeNS(null,"d",`M${s} ${u} C${f} ${l} ${a} ${p} ${h} ${d}`),v.setAttributeNS(null,"class",e);let g=[];if(void 0!==o)for(const e of n)g.push(...qg(t,e,i,o,r));let m=[];if(void 0!==c)for(let e=0;e<n.length-1;e++)m.push(...Hg(t,[n[e],n[e+1]],c,r));const x=[v,...g,...m];for(const n of x)t.appendChild(n);return r&&setTimeout(()=>{for(const t of x)t.remove()},r),x}function Ug(t,n,e=kg,r=0,o=void 0,i=0,c=void 0){return 2===n.length?Hg(t,n,e,r,o,i):3===n.length?Rg(t,n,e,r,o,i,c):4===n.length?Gg(t,n,e,r,o,i,c):[]}const jg=["red","green","cyan","blue"];function Zg(t,n){const e=1-n;if(4===t.length){const[[r,o],[i,c],[s,u],[f,l]]=t;return[r*e**3+3*i*e**2*n+3*s*e*n**2+f*n**3,o*e**3+3*c*e**2*n+3*u*e*n**2+l*n**3]}if(3===t.length){const[[r,o],[i,c],[s,u]]=t;return[r*e**2+2*i*e*n+s*n**2,o*e**2+2*c*e*n+u*n**2]}if(2===t.length){const[[r,o],[i,c]]=t;return[r*e+i*n,o*e+c*n]}return[NaN,NaN]}function Wg(t,n){return 2===t.length?function(t,n){const[[e,r],[o,i]]=t,c=1-n,s=[c*e+n*o,c*r+n*i];return[[[e,r],s],[s,[o,i]]]}(t,n):3===t.length?function(t,n){const[[e,r],[o,i],[c,s]]=t,u=1-n,f=[u*u*e+2*u*n*o+n*n*c,u*u*r+2*u*n*i+n*n*s];return[[[e,r],[u*e+n*o,u*r+n*i],f],[f,[u*o+n*c,u*i+n*s],[c,s]]]}(t,n):4===t.length?function(t,n){const[[e,r],[o,i],[c,s],[u,f]]=t,l=1-n,a=n*n,p=a*n,h=l*l,d=h*l,v=[p*u+3*l*a*c+3*h*n*o+d*e,p*f+3*l*a*s+3*h*n*i+d*r];return[[[e,r],[n*o+l*e,n*i+l*r],[a*c+2*l*n*o+h*e,a*s+2*l*n*i+h*r],v],[v,[a*u+2*n*l*c+h*o,a*f+2*n*l*s+h*i],[n*u+l*c,n*f+l*s],[u,f]]]}(t,n):[]}const Jg={circle:Xg,crossHair:Dg,dot:qg,line:Hg,rect:function(t,n,e=kg,r){const[[o,i],[c,s]]=n,u=o<c?o:c,f=i<s?i:s,l=Math.abs(o-c),a=Math.abs(i-s),p=document.createElementNS($g,"rect");return p.setAttributeNS(null,"x",u.toString()),p.setAttributeNS(null,"y",f.toString()),p.setAttributeNS(null,"width",l.toString()),p.setAttributeNS(null,"height",a.toString()),e&&p.setAttributeNS(null,"class",e),t.appendChild(p),r&&setTimeout(()=>p.remove(),r),[p]},beziers:function(t,n,e,r){const o=void 0===e,i=[];for(let r=0;r<n.length;r++){const c=n[r],s=o?"thin5 nofill "+jg[r%jg.length]:e;i.push(...Ug(t,c,s))}return r&&setTimeout(()=>i.forEach(t=>t.remove()),r),i},bezier:Ug,bezierPiece:function(t,n,e,r=kg,o){const i=e[0]===e[1]?Dg(t,Zg(n,e[0]),r,1.5):Ug(t,function(t,n){if(0===n[0]&&1===n[1])return t;if(n[0]===n[1]){const e=Zg(t,n[0]);return[e,e,e,e]}return 0===n[0]?Wg(t,n[1])[0]:1===n[1]?Wg(t,n[0])[1]:Wg(Wg(t,n[0])[1],(n[1]-n[0])/(1-n[0]))[0]}(n,e),r);return o&&setTimeout(()=>i.forEach(t=>t.remove()),o),i},quadBezier:Rg,cubicBezier:Gg,polygon:function(t,n,e=kg,r){const o=document.createElementNS($g,"path");let i=`M${n[0][0]} ${n[0][1]} L`;for(let t=0;t<n.length;t++)i+=`${n[t][0]} ${n[t][1]} `;return i+=" z",o.setAttributeNS(null,"d",i),e&&o.setAttributeNS(null,"class",e),t.appendChild(o),r&&setTimeout(()=>o.remove(),r),[o]},loop:function(t,n,e=kg,r){if(!n.length)return[];const o=document.createElementNS($g,"path");let i=`M${n[0][0][0]} ${n[0][0][1]} `;for(let t=0;t<n.length;t++){const e=n[t];i+=`${Qg(e.length)} `;for(let t=1;t<e.length;t++)i+=`${e[t][0]} ${e[t][1]} `}return i+=" z",o.setAttributeNS(null,"d",i),e&&o.setAttributeNS(null,"class",e),t.appendChild(o),r&&setTimeout(()=>o.remove(),r),[o]},polyline:function(t,n,e=kg,r){if(n.length<2)return[];const o=document.createElementNS($g,"path");let i=`M${n[0][0]} ${n[0][1]} L`;for(let t=0;t<n.length;t++)i+=`${n[t][0]} ${n[t][1]} `;return o.setAttributeNS(null,"d",i),e&&o.setAttributeNS(null,"class",e),t.appendChild(o),r&&setTimeout(()=>o.remove(),r),[o]},text:function(t,n,e,r,o=kg,i){const c=document.createElementNS($g,"text");return c.setAttributeNS(null,"x",n[0].toString()),c.setAttributeNS(null,"y",n[1].toString()),c.setAttributeNS(null,"font-size",r.toString()),c.setAttributeNS(null,"class",o),c.textContent=e,t.appendChild(c),i&&setTimeout(()=>c.remove(),i),[c]}};function Kg(t,n){return(n,e,r,o=0,i=1)=>{let c,s;switch(e.isHoleClosing){case!1:c="red ",s="2";break;case!0:c="cyan ",s="10"}const u=e.cp,{circle:f,pointOnShape:l}=u,{center:a,radius:p}=f,{isSource:h,p:d}=l,v=e.nextOnCircle.cp.pointOnShape.p,g=h?d:v,m=h?v:d,{line:x,dot:b,circle:_,crossHair:I}=Jg,N=b(n,f.center,.02*i,"yellow",o);return[..._(n,f,c+"thin"+s+" nofill",o),...b(n,g,.005*i,c,o),...b(n,m,.01*i,c,o),...t?I(n,f.center,"red thin2 nofill",.002*i,o):[],...N]}}function tm(t,n){return{center:t.center,radius:n*t.radius}}const{getAllOnCircle:nm}=rr,{isTerminating:em}=rr,rm=["thin10 blue nofill","thin10 red nofill"];function om(t,n,e,r=0,o=1){let i=n.cpNode;if(!i)return[];for(;!em(i);)i=i.next;const c=[];let s=0;return Qe(i,n=>{if(em(n))return;const e=Ce(n);e&&(c.push(...Jg.bezier(t,e,rm[s%2],r)),s++)}),c}function im(t,n,e,r){const o=document.createElementNS("http://www.w3.org/2000/svg","circle");return o.setAttributeNS(null,"cx",n[0].toString()),o.setAttributeNS(null,"cy",n[1].toString()),o.setAttributeNS(null,"r",e.toString()+"%"),o.setAttributeNS(null,"class",r),t.appendChild(o),o}function cm(t,n,e="thin5 purple nofill",r=0,o=1){const i=[],c=[];for(const t of n){if(Ae(t))continue;const n=Ce(t);n&&c.push(n)}return i.push(...p(t,c,e,r)),i}const sm={oneProng:function(t,n,e,r=0,o=1){const i=n[0].cp,{circle:c,pointOnShape:s}=i;return[...Jg.dot(t,s.p,.02*o,"deeppink",r),...Jg.dot(t,c.center,.05*o,"deeppink",r),...Jg.circle(t,c,"deeppink thin5 nofill",r)]},twoProng:Kg(!1),threeProng:function(t,n,e,r=0,o=1){const i=tm(n.cp.circle,1),{center:c,radius:s}=i,u=rr.getAllOnCircle(n).map(t=>t.cp.pointOnShape),{dot:f,circle:l,crossHair:a}=Jg,p=l(t,i,"blue thin2 nofill",r),h=[],d=[];for(let n=0;n<u.length;n++){const e=u[n].p;h.push(...f(t,e,.01*(n+1)*o,"blue",r)),d.push(...Jg.line(t,[e,c],"thin5 red",r))}const v=a(t,i.center,"red thin2 nofill",.02*o,r);return[...h,...d,...p,...v]},boundingHull:function(t,n,e="thin5 black nofill",r=0,o=1){return Jg.polygon(t,n,e,r)},looseBoundingBox:function(t,n,e="thin5 brown nofill",r=0,o=1){const[[i,c],[s,u]]=n;return n=[[i,c],[s,c],[s,u],[i,u]],Jg.polygon(t,n,e,r)},tightBoundingBox:function(t,n,e="thin5 pinker nofill",r=0,o=1){return Jg.polygon(t,n,"thin5 pinker nofill",r)},vertex:function(t,n,e,r=0,o=1){const i=n.cp.circle;let c=[];return c=[...Jg.dot(t,i.center,.01*o,"darkgreen",r)],c},mat:om,maxVertex:function(t,n){const e=n.cp.circle;return Jg.circle(t,e,"brown thin10 nofill")},leaves:function(t,n,e="thin10 deeppink nofill",r=0,o=1){const i=[],{line:c,dot:s,circle:u}=Jg;for(const f of n){const n=f.cp,{circle:l}=n,{center:a,radius:p}=l,h=[im(t,a,.5,"pinker thin5 nofill")],d=rr.getAllOnCircle(f).map(t=>t.cp.pointOnShape),v=[],g=[];for(let n=0;n<d.length;n++){const e=d[n].p;g.push(...s(t,e,.01*(n+1)*o,"pinker",r)),v.push(...c(t,[e,a],"thin5 red",r))}const m=u(t,l,e,r);i.push(...m,...g,...v,...h)}return i},cull:function(t,n,e="thin10 cyan nofill",r=0,o=1){const i=[];return i.push(...Jg.crossHair(t,n,e,.1*o,r)),i},cpNode:function(t,n,e="blue thin2 nofill",r=0,o=1){const i=tm(n.cp.circle,1),{center:c,radius:s}=i,u=rr.getAllOnCircle(n).map(t=>t.cp.pointOnShape),{dot:f,circle:l,crossHair:a}=Jg,p=l(t,i,e,r),h=[],d=[];for(let n=0;n<u.length;n++){const e=u[n].p;h.push(...f(t,e,.01*(n+1)*o,"blue",r)),d.push(...Jg.line(t,[e,c],"thin5 red",r))}const v=a(t,c,"orange thin10 nofill",2*o,r);return[...h,...d,...p,...v]},branch:cm,holeCloser:Kg(!1),speed:function(t,n,e,r=0,o=1){const i=[],c=$e(0)(n);if(void 0===c)return[];const s=n.cp.pointOnShape,{p:u,t:f}=s,l=c*o/8,a=Qp(function(t,n){const[e,r]=qn(t);return[-vn(r,n),vn(e,n)]}(s.curve.ps,f),l);return i.push(...Jg.line(t,[u,oe(u,a)],"red thin5",r)),i}},um={...sm,twoProng:Kg(!0)};function fm(t){if(!t)return void(window._debug_=void 0);let n=window._debug_;n={...n,generated:{...n&&n.generated?n.generated:{},elems:{...n&&n.generated&&n.generated.elems?n.generated.elems:{},oneProng:[],twoProng:[],looseBoundingBox:[],tightBoundingBox:[],vertex:[],threeProng:[],boundingHull:[],mat:[],cpNode:[],maxVertex:[],leaves:[]},timing:{...n&&n.generated&&n.generated.timing?n.generated.timing:{},holeClosers:0,oneAnd2Prongs:0,threeProngs:0,sats:0,simplifyMat:0}},fs:{...n&&n.fs?n.fs:{},drawElem:{...n&&n.fs&&n.fs.drawElem?n.fs.drawElem:{},...sm},...Lg},directives:{...n&&n.directives?n.directives:{},stopAfterHoleClosers:!1,stopAfterHoleClosersNum:void 0,stopAfterTwoProngs:!1,stopAfterTwoProngsNum:void 0,stopAfterThreeProngs:!1,stopAfterThreeProngsNum:void 0}},window._debug_=n}const lm={oneProng:[],twoProng:[],threeProng:[],looseBoundingBox:[],tightBoundingBox:[],boundingHull:[],vertex:[],mat:[],maxVertex:[],leaves:[],cull:[],cpNode:[],branch:[],holeCloser:[],speed:[]},am=Object.keys(lm);function pm(t,n,e,r){const o=[];for(const r of t)o.push({type:0,item:r,x:n(r)}),o.push({type:1,item:r,x:e(r)});o.sort(hm);const i=new Set,c=[];for(const t of o){const{item:n}=t;if(0===t.type){for(const t of i.values())r(n,t)&&c.push([n,t]);i.add(n)}else 1===t.type&&i.delete(t.item)}return c}function hm(t,n){const e=t.x-n.x;return 0!==e?e:0===t.type?-1:1}function dm(t){return t}function vm(t,n){const e=tg(t,!1,!1,0,n);if(void 0===e)return;const{circle:r,zs:o}=e;return ng(t,r,[n,...o],!1)}const gm=1e-4;function mm(t,n){const e=t.cp.pointOnShape,r=n.cp.pointOnShape;let{curve:o,p:i,t:c}=e,{curve:s,p:u,t:f}=r;if(i[0]===u[0]&&i[1]===u[1])return[i];1===c&&(c=0,o=o.next),0===f&&(f=1,s=s.prev);const{ps:l}=o,{ps:a}=s,p=[i,oe(i)(ie(se(l,c)))],h=[u,oe(u)(ie(se(a,f)))],d=Jn(p,h),v=Kn(i,u);let g;if(d){const t=Kn(i,d),n=Kn(u,d);g=te(t,v)<0||te(n,v)>0}else g=!0;if(!g)return[i,d,u];const m=Kn(p[0],p[1]),x=Kn(h[0],h[1]),b=Math.abs(ee(v,m))/9,_=Math.abs(ee(v,x))/9;return b>.01||_>.01||b>gm||_>gm?void 0:[i,u]}const xm=Wn(function(t){return Zn(Ce(t))});function bm(t,n){const e=function(t){const n=new Map;for(let e of t)for(let r of t){const t=e.cp.circle.center,o=r.cp.circle.center,i=e.cp.pointOnShape.p,c=r.cp.pointOnShape.p;r!==e&&t[0]===o[0]&&t[1]===o[1]&&i[0]===c[0]&&i[1]===c[1]&&n.set(e,r)}return n}(n),r=t.length,o=[];for(let n=0;n<r;n++){const i=t[n],c=[];for(let o=0;o<r;o++){const r=t[o];if(n===o){c.push(0);continue}let s=Number.POSITIVE_INFINITY;for(const t of Pe(i)){let n=xm(t),o=t.next;for(;!tr(o,r);)if(o.isHoleClosing)o=_m(e,o);else{if(ir(o)){n=Number.POSITIVE_INFINITY;break}n+=xm(o),o=o.next}n<s&&(s=n)}c.push(s)}o.push(c)}return o}function _m(t,n){return t.get(n).next}export{rr as CpNodeFs,r as beziersToSvgPathStr,dm as connectHoleClosers,tv as createInitialCpTree,vr as createPos,am as debugElemNames,p as drawBeziersAsSinglePath,cm as drawBranch,sm as drawElemFs,um as drawElemFsDetailed,om as drawMat,lm as emptyDebugElems,fm as enableDebugForMat,tg as find2Prong,vm as findAndAdd2Prong,Mg as findAndAddHoleClosing2Prongs,yg as findMats,h as floydWarshall,We as getBoundaryBeziersToNext,Xd as getBoundaryPieceBeziers,yh as getBranches,yd as getCloseBoundaryPointsCertified,Od as getClosestSquareDistanceToRect,sg as getFor2ProngsOnLoop,bm as getGraph,mm as getImpliedBoundaryBezierBetween,rv as getMeta,a as getPathsFromStr,Ed as getPotentialClosestPointsOnCurveCertified,Wh as getSatCulls,Tg as getShapeBounds,ov as getSharpCornersOnLoop,ir as isVertexSpecial,n as loopFromBeziers,Hh as simplifyMat,pm as sweepLine,Jh as toScaleAxis,Fg as trimMat};
|