UNPKG

@equinor/esv-intersection

Version:

Intersection component package with testing and automatic documentation.

14 lines (12 loc) 225 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const R=require("pixi.js");function Ss(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,i.get?i:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const ot=Ss(R);function Ms(e){return e}var Xe=1,he=2,tn=3,ne=4,qn=1e-6;function Ps(e){return"translate("+e+",0)"}function As(e){return"translate(0,"+e+")"}function Cs(e){return t=>+e(t)}function Ls(e,t){return t=Math.max(0,e.bandwidth()-t*2)/2,e.round()&&(t=Math.round(t)),n=>+e(n)+t}function ks(){return!this.__axis}function Hi(e,t){var n=[],i=null,r=null,s=6,o=6,a=3,c=typeof window<"u"&&window.devicePixelRatio>1?0:.5,h=e===Xe||e===ne?-1:1,l=e===ne||e===he?"x":"y",u=e===Xe||e===tn?Ps:As;function f(d){var p=i??(t.ticks?t.ticks.apply(t,n):t.domain()),g=r??(t.tickFormat?t.tickFormat.apply(t,n):Ms),y=Math.max(s,0)+a,m=t.range(),x=+m[0]+c,v=+m[m.length-1]+c,M=(t.bandwidth?Ls:Cs)(t.copy(),c),b=d.selection?d.selection():d,S=b.selectAll(".domain").data([null]),T=b.selectAll(".tick").data(p,t).order(),C=T.exit(),k=T.enter().append("g").attr("class","tick"),I=T.select("line"),A=T.select("text");S=S.merge(S.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),T=T.merge(k),I=I.merge(k.append("line").attr("stroke","currentColor").attr(l+"2",h*s)),A=A.merge(k.append("text").attr("fill","currentColor").attr(l,h*y).attr("dy",e===Xe?"0em":e===tn?"0.71em":"0.32em")),d!==b&&(S=S.transition(d),T=T.transition(d),I=I.transition(d),A=A.transition(d),C=C.transition(d).attr("opacity",qn).attr("transform",function(O){return isFinite(O=M(O))?u(O+c):this.getAttribute("transform")}),k.attr("opacity",qn).attr("transform",function(O){var $=this.parentNode.__axis;return u(($&&isFinite($=$(O))?$:M(O))+c)})),C.remove(),S.attr("d",e===ne||e===he?o?"M"+h*o+","+x+"H"+c+"V"+v+"H"+h*o:"M"+c+","+x+"V"+v:o?"M"+x+","+h*o+"V"+c+"H"+v+"V"+h*o:"M"+x+","+c+"H"+v),T.attr("opacity",1).attr("transform",function(O){return u(M(O)+c)}),I.attr(l+"2",h*s),A.attr(l,h*y).text(g),b.filter(ks).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",e===he?"start":e===ne?"end":"middle"),b.each(function(){this.__axis=M})}return f.scale=function(d){return arguments.length?(t=d,f):t},f.ticks=function(){return n=Array.from(arguments),f},f.tickArguments=function(d){return arguments.length?(n=d==null?[]:Array.from(d),f):n.slice()},f.tickValues=function(d){return arguments.length?(i=d==null?null:Array.from(d),f):i&&i.slice()},f.tickFormat=function(d){return arguments.length?(r=d,f):r},f.tickSize=function(d){return arguments.length?(s=o=+d,f):s},f.tickSizeInner=function(d){return arguments.length?(s=+d,f):s},f.tickSizeOuter=function(d){return arguments.length?(o=+d,f):o},f.tickPadding=function(d){return arguments.length?(a=+d,f):a},f.offset=function(d){return arguments.length?(c=+d,f):c},f}function Es(e){return Hi(he,e)}function Fs(e){return Hi(tn,e)}function le(e,t){return e==null||t==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function Rs(e,t){return e==null||t==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function Xi(e){let t,n,i;e.length!==2?(t=le,n=(a,c)=>le(e(a),c),i=(a,c)=>e(a)-c):(t=e===le||e===Rs?e:Is,n=e,i=e);function r(a,c,h=0,l=a.length){if(h<l){if(t(c,c)!==0)return l;do{const u=h+l>>>1;n(a[u],c)<0?h=u+1:l=u}while(h<l)}return h}function s(a,c,h=0,l=a.length){if(h<l){if(t(c,c)!==0)return l;do{const u=h+l>>>1;n(a[u],c)<=0?h=u+1:l=u}while(h<l)}return h}function o(a,c,h=0,l=a.length){const u=r(a,c,h,l-1);return u>h&&i(a[u-1],c)>-i(a[u],c)?u-1:u}return{left:r,center:o,right:s}}function Is(){return 0}function Os(e){return e===null?NaN:+e}const Ds=Xi(le),zs=Ds.right;Xi(Os).center;const Ns=zs;class jn extends Map{constructor(t,n=Hs){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),t!=null)for(const[i,r]of t)this.set(i,r)}get(t){return super.get(Zn(this,t))}has(t){return super.has(Zn(this,t))}set(t,n){return super.set($s(this,t),n)}delete(t){return super.delete(Bs(this,t))}}function Zn({_intern:e,_key:t},n){const i=t(n);return e.has(i)?e.get(i):n}function $s({_intern:e,_key:t},n){const i=t(n);return e.has(i)?e.get(i):(e.set(i,n),n)}function Bs({_intern:e,_key:t},n){const i=t(n);return e.has(i)&&(n=e.get(n),e.delete(i)),n}function Hs(e){return e!==null&&typeof e=="object"?e.valueOf():e}const Xs=Math.sqrt(50),Vs=Math.sqrt(10),Us=Math.sqrt(2);function ye(e,t,n){const i=(t-e)/Math.max(0,n),r=Math.floor(Math.log10(i)),s=i/Math.pow(10,r),o=s>=Xs?10:s>=Vs?5:s>=Us?2:1;let a,c,h;return r<0?(h=Math.pow(10,-r)/o,a=Math.round(e*h),c=Math.round(t*h),a/h<e&&++a,c/h>t&&--c,h=-h):(h=Math.pow(10,r)*o,a=Math.round(e/h),c=Math.round(t/h),a*h<e&&++a,c*h>t&&--c),c<a&&.5<=n&&n<2?ye(e,t,n*2):[a,c,h]}function Ws(e,t,n){if(t=+t,e=+e,n=+n,!(n>0))return[];if(e===t)return[e];const i=t<e,[r,s,o]=i?ye(t,e,n):ye(e,t,n);if(!(s>=r))return[];const a=s-r+1,c=new Array(a);if(i)if(o<0)for(let h=0;h<a;++h)c[h]=(s-h)/-o;else for(let h=0;h<a;++h)c[h]=(s-h)*o;else if(o<0)for(let h=0;h<a;++h)c[h]=(r+h)/-o;else for(let h=0;h<a;++h)c[h]=(r+h)*o;return c}function en(e,t,n){return t=+t,e=+e,n=+n,ye(e,t,n)[2]}function Ys(e,t,n){t=+t,e=+e,n=+n;const i=t<e,r=i?en(t,e,n):en(e,t,n);return(i?-1:1)*(r<0?1/-r:r)}function nn(e,t){let n;if(t===void 0)for(const i of e)i!=null&&(n<i||n===void 0&&i>=i)&&(n=i);else{let i=-1;for(let r of e)(r=t(r,++i,e))!=null&&(n<r||n===void 0&&r>=r)&&(n=r)}return n}function Ve(e,t){let n=0;if(t===void 0)for(let i of e)(i=+i)&&(n+=i);else{let i=-1;for(let r of e)(r=+t(r,++i,e))&&(n+=r)}return n}function Vi(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e);break}return this}const Kn=Symbol("implicit");function Ui(){var e=new jn,t=[],n=[],i=Kn;function r(s){let o=e.get(s);if(o===void 0){if(i!==Kn)return i;e.set(s,o=t.push(s)-1)}return n[o%n.length]}return r.domain=function(s){if(!arguments.length)return t.slice();t=[],e=new jn;for(const o of s)e.has(o)||e.set(o,t.push(o)-1);return r},r.range=function(s){return arguments.length?(n=Array.from(s),r):n.slice()},r.unknown=function(s){return arguments.length?(i=s,r):i},r.copy=function(){return Ui(t,n).unknown(i)},Vi.apply(r,arguments),r}function Mn(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function Wi(e,t){var n=Object.create(e.prototype);for(var i in t)n[i]=t[i];return n}function Qt(){}var qt=.7,_e=1/qt,Ot="\\s*([+-]?\\d+)\\s*",jt="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",at="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Gs=/^#([0-9a-f]{3,8})$/,qs=new RegExp(`^rgb\\(${Ot},${Ot},${Ot}\\)$`),js=new RegExp(`^rgb\\(${at},${at},${at}\\)$`),Zs=new RegExp(`^rgba\\(${Ot},${Ot},${Ot},${jt}\\)$`),Ks=new RegExp(`^rgba\\(${at},${at},${at},${jt}\\)$`),Qs=new RegExp(`^hsl\\(${jt},${at},${at}\\)$`),Js=new RegExp(`^hsla\\(${jt},${at},${at},${jt}\\)$`),Qn={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Mn(Qt,dt,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Jn,formatHex:Jn,formatHex8:to,formatHsl:eo,formatRgb:ti,toString:ti});function Jn(){return this.rgb().formatHex()}function to(){return this.rgb().formatHex8()}function eo(){return Yi(this).formatHsl()}function ti(){return this.rgb().formatRgb()}function dt(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=Gs.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?ei(t):n===3?new G(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?ie(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?ie(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=qs.exec(e))?new G(t[1],t[2],t[3],1):(t=js.exec(e))?new G(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Zs.exec(e))?ie(t[1],t[2],t[3],t[4]):(t=Ks.exec(e))?ie(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Qs.exec(e))?ri(t[1],t[2]/100,t[3]/100,1):(t=Js.exec(e))?ri(t[1],t[2]/100,t[3]/100,t[4]):Qn.hasOwnProperty(e)?ei(Qn[e]):e==="transparent"?new G(NaN,NaN,NaN,0):null}function ei(e){return new G(e>>16&255,e>>8&255,e&255,1)}function ie(e,t,n,i){return i<=0&&(e=t=n=NaN),new G(e,t,n,i)}function no(e){return e instanceof Qt||(e=dt(e)),e?(e=e.rgb(),new G(e.r,e.g,e.b,e.opacity)):new G}function rn(e,t,n,i){return arguments.length===1?no(e):new G(e,t,n,i??1)}function G(e,t,n,i){this.r=+e,this.g=+t,this.b=+n,this.opacity=+i}Mn(G,rn,Wi(Qt,{brighter(e){return e=e==null?_e:Math.pow(_e,e),new G(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?qt:Math.pow(qt,e),new G(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new G(At(this.r),At(this.g),At(this.b),xe(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:ni,formatHex:ni,formatHex8:io,formatRgb:ii,toString:ii}));function ni(){return`#${Pt(this.r)}${Pt(this.g)}${Pt(this.b)}`}function io(){return`#${Pt(this.r)}${Pt(this.g)}${Pt(this.b)}${Pt((isNaN(this.opacity)?1:this.opacity)*255)}`}function ii(){const e=xe(this.opacity);return`${e===1?"rgb(":"rgba("}${At(this.r)}, ${At(this.g)}, ${At(this.b)}${e===1?")":`, ${e})`}`}function xe(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function At(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Pt(e){return e=At(e),(e<16?"0":"")+e.toString(16)}function ri(e,t,n,i){return i<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new nt(e,t,n,i)}function Yi(e){if(e instanceof nt)return new nt(e.h,e.s,e.l,e.opacity);if(e instanceof Qt||(e=dt(e)),!e)return new nt;if(e instanceof nt)return e;e=e.rgb();var t=e.r/255,n=e.g/255,i=e.b/255,r=Math.min(t,n,i),s=Math.max(t,n,i),o=NaN,a=s-r,c=(s+r)/2;return a?(t===s?o=(n-i)/a+(n<i)*6:n===s?o=(i-t)/a+2:o=(t-n)/a+4,a/=c<.5?s+r:2-s-r,o*=60):a=c>0&&c<1?0:o,new nt(o,a,c,e.opacity)}function ro(e,t,n,i){return arguments.length===1?Yi(e):new nt(e,t,n,i??1)}function nt(e,t,n,i){this.h=+e,this.s=+t,this.l=+n,this.opacity=+i}Mn(nt,ro,Wi(Qt,{brighter(e){return e=e==null?_e:Math.pow(_e,e),new nt(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?qt:Math.pow(qt,e),new nt(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,i=n+(n<.5?n:1-n)*t,r=2*n-i;return new G(Ue(e>=240?e-240:e+120,r,i),Ue(e,r,i),Ue(e<120?e+240:e-120,r,i),this.opacity)},clamp(){return new nt(si(this.h),re(this.s),re(this.l),xe(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=xe(this.opacity);return`${e===1?"hsl(":"hsla("}${si(this.h)}, ${re(this.s)*100}%, ${re(this.l)*100}%${e===1?")":`, ${e})`}`}}));function si(e){return e=(e||0)%360,e<0?e+360:e}function re(e){return Math.max(0,Math.min(1,e||0))}function Ue(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const Pn=e=>()=>e;function so(e,t){return function(n){return e+n*t}}function oo(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(i){return Math.pow(e+i*t,n)}}function ao(e){return(e=+e)==1?Gi:function(t,n){return n-t?oo(t,n,e):Pn(isNaN(t)?n:t)}}function Gi(e,t){var n=t-e;return n?so(e,n):Pn(isNaN(e)?t:e)}const Zt=function e(t){var n=ao(t);function i(r,s){var o=n((r=rn(r)).r,(s=rn(s)).r),a=n(r.g,s.g),c=n(r.b,s.b),h=Gi(r.opacity,s.opacity);return function(l){return r.r=o(l),r.g=a(l),r.b=c(l),r.opacity=h(l),r+""}}return i.gamma=e,i}(1);function co(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,i=t.slice(),r;return function(s){for(r=0;r<n;++r)i[r]=e[r]*(1-s)+t[r]*s;return i}}function ho(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function lo(e,t){var n=t?t.length:0,i=e?Math.min(n,e.length):0,r=new Array(i),s=new Array(n),o;for(o=0;o<i;++o)r[o]=An(e[o],t[o]);for(;o<n;++o)s[o]=t[o];return function(a){for(o=0;o<i;++o)s[o]=r[o](a);return s}}function uo(e,t){var n=new Date;return e=+e,t=+t,function(i){return n.setTime(e*(1-i)+t*i),n}}function et(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function fo(e,t){var n={},i={},r;(e===null||typeof e!="object")&&(e={}),(t===null||typeof t!="object")&&(t={});for(r in t)r in e?n[r]=An(e[r],t[r]):i[r]=t[r];return function(s){for(r in n)i[r]=n[r](s);return i}}var sn=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,We=new RegExp(sn.source,"g");function po(e){return function(){return e}}function go(e){return function(t){return e(t)+""}}function qi(e,t){var n=sn.lastIndex=We.lastIndex=0,i,r,s,o=-1,a=[],c=[];for(e=e+"",t=t+"";(i=sn.exec(e))&&(r=We.exec(t));)(s=r.index)>n&&(s=t.slice(n,s),a[o]?a[o]+=s:a[++o]=s),(i=i[0])===(r=r[0])?a[o]?a[o]+=r:a[++o]=r:(a[++o]=null,c.push({i:o,x:et(i,r)})),n=We.lastIndex;return n<t.length&&(s=t.slice(n),a[o]?a[o]+=s:a[++o]=s),a.length<2?c[0]?go(c[0].x):po(t):(t=c.length,function(h){for(var l=0,u;l<t;++l)a[(u=c[l]).i]=u.x(h);return a.join("")})}function An(e,t){var n=typeof t,i;return t==null||n==="boolean"?Pn(t):(n==="number"?et:n==="string"?(i=dt(t))?(t=i,Zt):qi:t instanceof dt?Zt:t instanceof Date?uo:ho(t)?co:Array.isArray(t)?lo:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?fo:et)(e,t)}function mo(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var oi=180/Math.PI,on={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function ji(e,t,n,i,r,s){var o,a,c;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(c=e*n+t*i)&&(n-=e*c,i-=t*c),(a=Math.sqrt(n*n+i*i))&&(n/=a,i/=a,c/=a),e*i<t*n&&(e=-e,t=-t,c=-c,o=-o),{translateX:r,translateY:s,rotate:Math.atan2(t,e)*oi,skewX:Math.atan(c)*oi,scaleX:o,scaleY:a}}var se;function yo(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?on:ji(t.a,t.b,t.c,t.d,t.e,t.f)}function _o(e){return e==null||(se||(se=document.createElementNS("http://www.w3.org/2000/svg","g")),se.setAttribute("transform",e),!(e=se.transform.baseVal.consolidate()))?on:(e=e.matrix,ji(e.a,e.b,e.c,e.d,e.e,e.f))}function Zi(e,t,n,i){function r(h){return h.length?h.pop()+" ":""}function s(h,l,u,f,d,p){if(h!==u||l!==f){var g=d.push("translate(",null,t,null,n);p.push({i:g-4,x:et(h,u)},{i:g-2,x:et(l,f)})}else(u||f)&&d.push("translate("+u+t+f+n)}function o(h,l,u,f){h!==l?(h-l>180?l+=360:l-h>180&&(h+=360),f.push({i:u.push(r(u)+"rotate(",null,i)-2,x:et(h,l)})):l&&u.push(r(u)+"rotate("+l+i)}function a(h,l,u,f){h!==l?f.push({i:u.push(r(u)+"skewX(",null,i)-2,x:et(h,l)}):l&&u.push(r(u)+"skewX("+l+i)}function c(h,l,u,f,d,p){if(h!==u||l!==f){var g=d.push(r(d)+"scale(",null,",",null,")");p.push({i:g-4,x:et(h,u)},{i:g-2,x:et(l,f)})}else(u!==1||f!==1)&&d.push(r(d)+"scale("+u+","+f+")")}return function(h,l){var u=[],f=[];return h=e(h),l=e(l),s(h.translateX,h.translateY,l.translateX,l.translateY,u,f),o(h.rotate,l.rotate,u,f),a(h.skewX,l.skewX,u,f),c(h.scaleX,h.scaleY,l.scaleX,l.scaleY,u,f),h=l=null,function(d){for(var p=-1,g=f.length,y;++p<g;)u[(y=f[p]).i]=y.x(d);return u.join("")}}}var xo=Zi(yo,"px, ","px)","deg)"),vo=Zi(_o,", ",")",")"),wo=1e-12;function ai(e){return((e=Math.exp(e))+1/e)/2}function bo(e){return((e=Math.exp(e))-1/e)/2}function To(e){return((e=Math.exp(2*e))-1)/(e+1)}const So=function e(t,n,i){function r(s,o){var a=s[0],c=s[1],h=s[2],l=o[0],u=o[1],f=o[2],d=l-a,p=u-c,g=d*d+p*p,y,m;if(g<wo)m=Math.log(f/h)/t,y=function(T){return[a+T*d,c+T*p,h*Math.exp(t*T*m)]};else{var x=Math.sqrt(g),v=(f*f-h*h+i*g)/(2*h*n*x),M=(f*f-h*h-i*g)/(2*f*n*x),b=Math.log(Math.sqrt(v*v+1)-v),S=Math.log(Math.sqrt(M*M+1)-M);m=(S-b)/t,y=function(T){var C=T*m,k=ai(b),I=h/(n*x)*(k*To(t*C+b)-bo(b));return[a+I*d,c+I*p,h*k/ai(t*C+b)]}}return y.duration=m*1e3*t/Math.SQRT2,y}return r.rho=function(s){var o=Math.max(.001,+s),a=o*o,c=a*a;return e(o,a,c)},r}(Math.SQRT2,2,4);function Mo(e,t){for(var n=new Array(t),i=0;i<t;++i)n[i]=e(i/(t-1));return n}function Po(e){return function(){return e}}function Ao(e){return+e}var ci=[0,1];function Et(e){return e}function an(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:Po(isNaN(t)?NaN:.5)}function Co(e,t){var n;return e>t&&(n=e,e=t,t=n),function(i){return Math.max(e,Math.min(t,i))}}function Lo(e,t,n){var i=e[0],r=e[1],s=t[0],o=t[1];return r<i?(i=an(r,i),s=n(o,s)):(i=an(i,r),s=n(s,o)),function(a){return s(i(a))}}function ko(e,t,n){var i=Math.min(e.length,t.length)-1,r=new Array(i),s=new Array(i),o=-1;for(e[i]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++o<i;)r[o]=an(e[o],e[o+1]),s[o]=n(t[o],t[o+1]);return function(a){var c=Ns(e,a,1,i)-1;return s[c](r[c](a))}}function Eo(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function Fo(){var e=ci,t=ci,n=An,i,r,s,o=Et,a,c,h;function l(){var f=Math.min(e.length,t.length);return o!==Et&&(o=Co(e[0],e[f-1])),a=f>2?ko:Lo,c=h=null,u}function u(f){return f==null||isNaN(f=+f)?s:(c||(c=a(e.map(i),t,n)))(i(o(f)))}return u.invert=function(f){return o(r((h||(h=a(t,e.map(i),et)))(f)))},u.domain=function(f){return arguments.length?(e=Array.from(f,Ao),l()):e.slice()},u.range=function(f){return arguments.length?(t=Array.from(f),l()):t.slice()},u.rangeRound=function(f){return t=Array.from(f),n=mo,l()},u.clamp=function(f){return arguments.length?(o=f?!0:Et,l()):o!==Et},u.interpolate=function(f){return arguments.length?(n=f,l()):n},u.unknown=function(f){return arguments.length?(s=f,u):s},function(f,d){return i=f,r=d,l()}}function Ro(){return Fo()(Et,Et)}function Io(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function ve(e,t){if((n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var n,i=e.slice(0,n);return[i.length>1?i[0]+i.slice(2):i,+e.slice(n+1)]}function Dt(e){return e=ve(Math.abs(e)),e?e[1]:NaN}function Oo(e,t){return function(n,i){for(var r=n.length,s=[],o=0,a=e[0],c=0;r>0&&a>0&&(c+a+1>i&&(a=Math.max(1,i-c)),s.push(n.substring(r-=a,r+a)),!((c+=a+1)>i));)a=e[o=(o+1)%e.length];return s.reverse().join(t)}}function Do(e){return function(t){return t.replace(/[0-9]/g,function(n){return e[+n]})}}var zo=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function we(e){if(!(t=zo.exec(e)))throw new Error("invalid format: "+e);var t;return new Cn({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}we.prototype=Cn.prototype;function Cn(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}Cn.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function No(e){t:for(var t=e.length,n=1,i=-1,r;n<t;++n)switch(e[n]){case".":i=r=n;break;case"0":i===0&&(i=n),r=n;break;default:if(!+e[n])break t;i>0&&(i=0);break}return i>0?e.slice(0,i)+e.slice(r+1):e}var Ki;function $o(e,t){var n=ve(e,t);if(!n)return e+"";var i=n[0],r=n[1],s=r-(Ki=Math.max(-8,Math.min(8,Math.floor(r/3)))*3)+1,o=i.length;return s===o?i:s>o?i+new Array(s-o+1).join("0"):s>0?i.slice(0,s)+"."+i.slice(s):"0."+new Array(1-s).join("0")+ve(e,Math.max(0,t+s-1))[0]}function hi(e,t){var n=ve(e,t);if(!n)return e+"";var i=n[0],r=n[1];return r<0?"0."+new Array(-r).join("0")+i:i.length>r+1?i.slice(0,r+1)+"."+i.slice(r+1):i+new Array(r-i.length+2).join("0")}const li={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:Io,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>hi(e*100,t),r:hi,s:$o,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function ui(e){return e}var fi=Array.prototype.map,di=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Bo(e){var t=e.grouping===void 0||e.thousands===void 0?ui:Oo(fi.call(e.grouping,Number),e.thousands+""),n=e.currency===void 0?"":e.currency[0]+"",i=e.currency===void 0?"":e.currency[1]+"",r=e.decimal===void 0?".":e.decimal+"",s=e.numerals===void 0?ui:Do(fi.call(e.numerals,String)),o=e.percent===void 0?"%":e.percent+"",a=e.minus===void 0?"−":e.minus+"",c=e.nan===void 0?"NaN":e.nan+"";function h(u){u=we(u);var f=u.fill,d=u.align,p=u.sign,g=u.symbol,y=u.zero,m=u.width,x=u.comma,v=u.precision,M=u.trim,b=u.type;b==="n"?(x=!0,b="g"):li[b]||(v===void 0&&(v=12),M=!0,b="g"),(y||f==="0"&&d==="=")&&(y=!0,f="0",d="=");var S=g==="$"?n:g==="#"&&/[boxX]/.test(b)?"0"+b.toLowerCase():"",T=g==="$"?i:/[%p]/.test(b)?o:"",C=li[b],k=/[defgprs%]/.test(b);v=v===void 0?6:/[gprs]/.test(b)?Math.max(1,Math.min(21,v)):Math.max(0,Math.min(20,v));function I(A){var O=S,$=T,_,P,w;if(b==="c")$=C(A)+$,A="";else{A=+A;var L=A<0||1/A<0;if(A=isNaN(A)?c:C(Math.abs(A),v),M&&(A=No(A)),L&&+A==0&&p!=="+"&&(L=!1),O=(L?p==="("?p:a:p==="-"||p==="("?"":p)+O,$=(b==="s"?di[8+Ki/3]:"")+$+(L&&p==="("?")":""),k){for(_=-1,P=A.length;++_<P;)if(w=A.charCodeAt(_),48>w||w>57){$=(w===46?r+A.slice(_+1):A.slice(_))+$,A=A.slice(0,_);break}}}x&&!y&&(A=t(A,1/0));var E=O.length+A.length+$.length,F=E<m?new Array(m-E+1).join(f):"";switch(x&&y&&(A=t(F+A,F.length?m-$.length:1/0),F=""),d){case"<":A=O+A+$+F;break;case"=":A=O+F+A+$;break;case"^":A=F.slice(0,E=F.length>>1)+O+A+$+F.slice(E);break;default:A=F+O+A+$;break}return s(A)}return I.toString=function(){return u+""},I}function l(u,f){var d=h((u=we(u),u.type="f",u)),p=Math.max(-8,Math.min(8,Math.floor(Dt(f)/3)))*3,g=Math.pow(10,-p),y=di[8+p/3];return function(m){return d(g*m)+y}}return{format:h,formatPrefix:l}}var oe,Qi,Ji;Ho({thousands:",",grouping:[3],currency:["$",""]});function Ho(e){return oe=Bo(e),Qi=oe.format,Ji=oe.formatPrefix,oe}function Xo(e){return Math.max(0,-Dt(Math.abs(e)))}function Vo(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Dt(t)/3)))*3-Dt(Math.abs(e)))}function Uo(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Dt(t)-Dt(e))+1}function Wo(e,t,n,i){var r=Ys(e,t,n),s;switch(i=we(i??",f"),i.type){case"s":{var o=Math.max(Math.abs(e),Math.abs(t));return i.precision==null&&!isNaN(s=Vo(r,o))&&(i.precision=s),Ji(i,o)}case"":case"e":case"g":case"p":case"r":{i.precision==null&&!isNaN(s=Uo(r,Math.max(Math.abs(e),Math.abs(t))))&&(i.precision=s-(i.type==="e"));break}case"f":case"%":{i.precision==null&&!isNaN(s=Xo(r))&&(i.precision=s-(i.type==="%")*2);break}}return Qi(i)}function Yo(e){var t=e.domain;return e.ticks=function(n){var i=t();return Ws(i[0],i[i.length-1],n??10)},e.tickFormat=function(n,i){var r=t();return Wo(r[0],r[r.length-1],n??10,i)},e.nice=function(n){n==null&&(n=10);var i=t(),r=0,s=i.length-1,o=i[r],a=i[s],c,h,l=10;for(a<o&&(h=o,o=a,a=h,h=r,r=s,s=h);l-- >0;){if(h=en(o,a,n),h===c)return i[r]=o,i[s]=a,t(i);if(h>0)o=Math.floor(o/h)*h,a=Math.ceil(a/h)*h;else if(h<0)o=Math.ceil(o*h)/h,a=Math.floor(a*h)/h;else break;c=h}return e},e}function Ct(){var e=Ro();return e.copy=function(){return Eo(e,Ct())},Vi.apply(e,arguments),Yo(e)}class tr{constructor(t,n=!0,i,r,s,o){this._showLabels=!0,this._offsetX=0,this._offsetY=0,this._flipX=!1,this._flipY=!1,this.visible=!0,this.createOrGet=a=>{const{mainGroup:c}=this;let h=c.select(`g.${a}`);return h.empty()&&(h=c.append("g").attr("class",a)),h},this.mainGroup=t,this._showLabels=n,this._labelXDesc=i,this._labelYDesc=r,this._unitOfMeasure=s,o&&o.offsetX&&(this._offsetX=o.offsetX),o&&o.offsetX&&(this._offsetY=o.offsetY),o&&o.visible&&(this.visible=o.visible),this.mainGroup.style("pointer-events","none"),this._scaleX=Ct().domain([0,1]).range([0,1]),this._scaleY=Ct().domain([0,1]).range([0,1])}renderLabelx(){const{_labelXDesc:t,_unitOfMeasure:n,_showLabels:i,_scaleX:r}=this,[,s]=r.range(),o=this.renderGx();let a=o.select("text.axis-labelx");return i?a.empty()&&(a=o.append("text").attr("class","axis-labelx").attr("fill","rgba(0,0,0,0.3)").style("text-anchor","middle").style("font-weight","800").style("font-size","10px").text(`${t} (${n})`)):a.remove(),a.attr("transform",`translate(${s/2},-4)`),a}renderLabely(){const{_labelYDesc:t,_unitOfMeasure:n,_showLabels:i,_scaleY:r}=this,[,s]=r.range(),o=this.renderGy();let a=o.select("text.axis-labely");return i?(a.empty()&&(a=o.append("text").attr("class","axis-labely").attr("fill","rgba(0,0,0,0.3)").style("text-anchor","middle").style("font-weight","800").style("font-size","10px").text(`${t} (${n})`)),a.attr("transform",`translate(-10,${s/2})rotate(90)`)):a.remove(),a}renderGy(){const{_scaleX:t,_scaleY:n}=this,i=Es(n),[,r]=t.range(),s=this.createOrGet("y-axis");return s.call(i),s.attr("transform",`translate(${r},0)`),s}renderGx(){const{_scaleX:t,_scaleY:n}=this,i=Fs(t),[,r]=n.range(),s=this.createOrGet("x-axis");return s.attr("transform",`translate(0 ${r})`),s.call(i),s}render(){this.renderLabelx(),this.renderLabely()}onResize(t){this.mainGroup.attr("height",`${t.height}px`).attr("width",`${t.width}px`)}onRescale(t){const{_scaleX:n,_scaleY:i,offsetX:r,offsetY:s}=this,{xScale:o,yScale:a}=t,c=o.domain(),h=a.domain(),l=o.range(),u=a.range();n.domain([c[0]-r,c[1]-r]).range(l),i.domain([h[0]-s,h[1]-s]).range(u),this.flipX(this._flipX),this.flipY(this._flipY),this.visible&&this.render()}show(){return this.visible=!0,this.mainGroup.attr("visibility","visible"),this.render(),this}hide(){return this.visible=!1,this.mainGroup.attr("visibility","hidden"),this}flipX(t){this._flipX=t;const n=this._scaleX.domain(),i=t?-1:1;return this._scaleX.domain([i*n[0],i*n[1]]),this}flipY(t){this._flipY=t;const n=this._scaleY.domain(),i=t?-1:1;return this._scaleY.domain([i*n[0],i*n[1]]),this}showLabels(){return this._showLabels=!0,this.render(),this}hideLabels(){return this._showLabels=!1,this.render(),this}setLabelX(t){return this._labelXDesc=t,this}setLabelY(t){return this._labelYDesc=t,this}setUnitOfMeasure(t){return this._unitOfMeasure=t,this}setLabels(t,n,i){return this._labelXDesc=t,this._labelYDesc=n,this._unitOfMeasure=i,this}get offsetX(){return this._offsetX}set offsetX(t){this._offsetX=t}get offsetY(){return this._offsetY}set offsetY(t){this._offsetY=t}get scaleX(){return this._scaleX.copy()}get scaleY(){return this._scaleY.copy()}}var Go=Math.PI/180;function xt(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=1),e<t?t:e>n?n:e}function qo(e){return e*Go}function pi(e){var t=new Array(e),n=1/(e-1);t[0]=0;for(var i=1;i<e-1;i++)t[i]=i*n;return t[e-1]=1,t}function Bt(e,t,n){n===void 0&&(n=e);for(var i=0;i<e.length;i++)n[i]=e[i]+t[i];return n}function Ht(e,t,n){n===void 0&&(n=e);for(var i=0;i<e.length;i++)n[i]=e[i]-t[i];return n}function St(e,t,n){n===void 0&&(n=e);for(var i=0;i<e.length;i++)n[i]=e[i]*t;return n}function jo(e){for(var t=0,n=0;n<e.length;n++)t+=Math.pow(e[n],2);return t}function Wt(e){var t=jo(e);return t===0?t:Math.sqrt(t)}function gi(e,t){t===void 0&&(t=e);var n=Wt(e);return n===0?Zo(0,t):St(e,1/n,t)}function Zo(e,t){for(var n=0;n<t.length;n++)t[n]=e;return t}function Ko(e,t){for(var n=0,i=0;i<e.length;i++)n+=Math.pow(t[i]-e[i],2);return n===0?n:Math.sqrt(n)}function Qo(e,t){for(var n=0,i=0;i<e.length;i++)n+=e[i]*t[i];return n}function Jo(e,t,n,i){i===void 0&&(i=e);for(var r=xt(n,0,1),s=1-r,o=0;o<e.length;o++)i[o]=e[o]*s+t[o]*r;return i}function ta(e,t,n){n===void 0&&(n=e);for(var i=0;i<e.length;i++)n[i]=t(e[i],i);return n}function mi(e,t){t===void 0&&(t=0),t===void 0&&(t=0);for(var n=0;n<e.length;n++)if(Math.abs(e[n])>t)return!1;return!0}var Ye=180/Math.PI,ea=Math.PI/180;function Ge(e,t,n){var i=Math.cos(t),r=Math.sin(t),s=e[0];return n[0]=i*s-r*e[1],n[1]=r*s+i*e[1],n}function yi(e){return Math.atan2(e[1],e[0])}function Xt(e,t){var n=Math.atan2(t[1],t[0])-Math.atan2(e[1],e[0]);return n>Math.PI?n-=2*Math.PI:n<=-Math.PI&&(n+=2*Math.PI),n}var z=function(){function e(t){for(var n=[],i=1;i<arguments.length;i++)n[i-1]=arguments[i];this.isMutating=!1,this.length=2,typeof t=="number"?typeof n[0]=="number"?(this[0]=t,this[1]=n[0]):(this[0]=t,this[1]=t):"x"in t&&"y"in t?(this[0]=t.x,this[1]=t.y):(this[0]=t[0],this[1]=t[1])}return Object.defineProperty(e.prototype,"x",{get:function(){return this[0]},set:function(t){this[0]=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"y",{get:function(){return this[1]},set:function(t){this[1]=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"magnitude",{get:function(){return Wt(this)},set:function(t){var n=Wt(this);St(this,t/n,this)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"mutable",{get:function(){return this.isMutating=!0,this},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"immutable",{get:function(){return this.isMutating=!1,this},enumerable:!0,configurable:!0}),e.prototype.set=function(t,n){return typeof t=="number"?typeof n=="number"?(this[0]=t,this[1]=n):(this[0]=t,this[1]=t):(this[0]=t[0],this[1]=t[1]),this},e.prototype.add=function(t,n){return n===void 0&&(n=0),typeof t=="number"?this.isMutating?Bt(this,[t,n]):Bt(this.clone(),[t,n]):this.isMutating?Bt(this,t):Bt(this.clone(),t)},e.add=function(t,n){var i=new e(t);return Bt(i,n)},e.prototype.sub=function(t,n){return n===void 0&&(n=0),typeof t=="number"?this.isMutating?Ht(this,[t,n]):Ht(this.clone(),[t,n]):this.isMutating?Ht(this,t):Ht(this.clone(),t)},e.sub=function(t,n){var i=new e(t);return Ht(i,n)},e.prototype.subFrom=function(t,n){return n===void 0&&(n=0),typeof t=="number"?this.isMutating?(this[0]=t-this[0],this[1]=n-this[1],this):new e(t-this[0],n-this[1]):this.isMutating?(this[0]=t[0]-this[0],this[1]=t[1]-this[1],this):new e(t[0]-this[0],t[1]-this[1])},e.divide=function(t,n){var i=new e(t);return St(i,1/n)},e.multiply=function(t,n){var i=new e(t);return St(i,n)},e.prototype.scale=function(t){return St(this,t,this.isMutating?this:e.zero)},e.prototype.rescale=function(t){var n=Wt(this);return n<=0?this.isMutating?this:e.zero:St(this,t/n,this.isMutating?this:e.zero)},e.prototype.clampMagnitude=function(t){var n=Wt(this);return n>t?St(this,t/n,this.isMutating?this:e.zero):this.isMutating?this:this.clone()},e.prototype.rotate=function(t){return Ge(this,t,this.isMutating?this:e.zero)},e.prototype.rotateDeg=function(t){return Ge(this,t*ea,this.isMutating?this:e.zero)},e.prototype.rotate90=function(){return t=this,n=this.isMutating?this:e.zero,i=t[0],n[0]=-t[1],n[1]=i,n;var t,n,i},e.prototype.rotate180=function(){return t=this,(n=this.isMutating?this:e.zero)[0]=-t[0],n[1]=-t[1],n;var t,n},e.prototype.rotate270=function(){return t=this,n=this.isMutating?this:e.zero,i=t[0],n[0]=t[1],n[1]=-i,n;var t,n,i},e.prototype.normalize=function(){return gi(this)},e.prototype.normalized=function(){return gi(this,e.zero)},e.distance=function(t,n){return Ko(t,n)},e.dot=function(t,n){return Qo(t,n)},e.cross=function(t,n){return function(i,r){return i[0]*r[1]-i[1]*r[0]}(t,n)},e.angleRight=function(t){return yi(t)},e.angleRightDeg=function(t){return yi(t)*Ye},e.angle=function(t,n){return Math.abs(Xt(t,n))},e.angleDeg=function(t,n){return Math.abs(Xt(t,n))*Ye},e.signedAngle=function(t,n){return Xt(t,n)},e.signedAngleDeg=function(t,n){return Xt(t,n)*Ye},e.lerp=function(t,n,i){var r=new e(t);return Jo(r,n,i)},e.lerpRot=function(t,n,i){return function(r,s,o,a){return a===void 0&&(a=r),Ge(r,o*Xt(r,s),a)}(t,n,i,e.zero)},e.prototype.clone=function(){return new e(this[0],this[1])},e.equals=function(t,n,i){return i===void 0&&(i=0),!(Math.abs(t[0]-n[0])>i)&&!(Math.abs(t[1]-n[1])>i)},e.prototype.equals=function(t,n){return n===void 0&&(n=0),e.equals(this,t,n)},e.isZeroVector=function(t,n){return n===void 0&&(n=0),mi(t,n)},e.prototype.isZeroVector=function(t){return t===void 0&&(t=0),mi(this,t)},e.prototype.toArray=function(){return[this[0],this[1]]},e.prototype.modify=function(t){return ta(this,t)},e.prototype[Symbol.iterator]=function(){var t=this,n=0;return{next:function(){switch(n++){case 0:return{value:t[0],done:!1};case 1:return{value:t[1],done:!1};default:return{value:-1,done:!0}}}}},Object.defineProperty(e,"zero",{get:function(){return new e(0,0)},enumerable:!0,configurable:!0}),Object.defineProperty(e,"one",{get:function(){return new e(1,1)},enumerable:!0,configurable:!0}),Object.defineProperty(e,"positiveInfinity",{get:function(){return new e(1/0,1/0)},enumerable:!0,configurable:!0}),Object.defineProperty(e,"negativeInfinity",{get:function(){return new e(-1/0,-1/0)},enumerable:!0,configurable:!0}),Object.defineProperty(e,"up",{get:function(){return new e(0,1)},enumerable:!0,configurable:!0}),Object.defineProperty(e,"right",{get:function(){return new e(1,0)},enumerable:!0,configurable:!0}),Object.defineProperty(e,"down",{get:function(){return new e(0,-1)},enumerable:!0,configurable:!0}),Object.defineProperty(e,"left",{get:function(){return new e(-1,0)},enumerable:!0,configurable:!0}),e}();/*! ***************************************************************************** Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABLITY OR NON-INFRINGEMENT. See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. ***************************************************************************** */var cn=function(e,t){return cn=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var r in i)i.hasOwnProperty(r)&&(n[r]=i[r])},cn(e,t)};function Ln(e,t){function n(){this.constructor=e}cn(e,t),e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var hn=function(){return hn=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},hn.apply(this,arguments)};function _i(e,t){for(var n=new Array(e.length),i=0;i<e.length;i++)n[i]=2*e[i]-t[i];return n}function ln(e,t,n){var i,r,s,o,a=t.length-1;if(n)i=t[e-1<0?a:e-1],r=t[e%t.length],s=t[(e+1)%t.length],o=t[(e+2)%t.length];else{if(e===a)throw Error("There is no spline segment at this index for a closed curve!");r=t[e],s=t[e+1],i=e>0?t[e-1]:_i(r,s),o=e<a-1?t[e+2]:_i(s,r)}return[i,r,s,o]}function na(e,t,n){n===void 0&&(n=!1);var i=n?t.length:t.length-1;if(e===1)return{index:i-1,weight:1};var r=i*e,s=Math.floor(r);return{index:s,weight:r-s}}function ia(e,t){for(var n=0;n<e.length;n++)e[n]=t;return e}function ra(e,t){for(var n=0;n<e.length;n++)e[n]=t(e[n],n);return e}function sa(e,t,n){n===void 0&&(n=0);for(var i=0;i<e.length;i++)n=t(n,e[i],i);return n}function be(e,t){t=t||new Array(e.length);for(var n=0;n<e.length;n++)t[n]=e[n];return t}function J(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=1),e<t?t:e>n?n:e}function un(e,t){var n=t[0];if(e>=t[t.length-1])return t.length-1;if(e<=n)return 0;for(var i=0,r=t.length-1;i<=r;){var s=Math.floor((i+r)/2),o=t[s];if(o<e)i=s+1;else{if(!(o>e))return s;r=s-1}}return Math.max(0,r)}var it=Math.pow(2,-42);function xi(e){var t=Math.pow(Math.abs(e),.3333333333333333);return e<0?-t:t}function er(e,t,n){if(Math.abs(e)<it)return Math.abs(t)<it?[]:[-n/t];var i=t*t-4*e*n;return Math.abs(i)<it?[-t/(2*e)]:i>0?[(-t+Math.sqrt(i))/(2*e),(-t-Math.sqrt(i))/(2*e)]:[]}function oa(e,t,n,i){if(Math.abs(e)<it)return er(t,n,i);var r,s=(3*e*n-t*t)/(3*e*e),o=(2*t*t*t-9*e*t*n+27*e*e*i)/(27*e*e*e);if(Math.abs(s)<it)r=[xi(-o)];else if(Math.abs(o)<it)r=[0].concat(s<0?[Math.sqrt(-s),-Math.sqrt(-s)]:[]);else{var a=o*o/4+s*s*s/27;if(Math.abs(a)<it)r=[-1.5*o/s,3*o/s];else if(a>0)r=[(c=xi(-o/2-Math.sqrt(a)))-s/(3*c)];else{var c=2*Math.sqrt(-s/3),h=Math.acos(3*o/s/c)/3,l=2*Math.PI/3;r=[c*Math.cos(h),c*Math.cos(h-l),c*Math.cos(h-2*l)]}}for(var u=0;u<r.length;u++)r[u]-=t/(3*e);return r}function aa(e,t){if(e.length!==t.length)throw Error("Vectors must be of equal length!");for(var n=0,i=0;i<e.length;i++)n+=e[i]*t[i];return n}function ae(e,t,n){if(!(e.length>3)){n=n||new Array(3);var i=e[0],r=e[1],s=e[2]||0,o=t[0],a=t[1],c=t[2]||0;return n[0]=r*c-s*a,n[1]=s*o-i*c,n[2]=i*a-r*o,n}}function nr(e,t){for(var n=0,i=0;i<e.length;i++)n+=(e[i]-t[i])*(e[i]-t[i]);return n}function Ft(e){for(var t=0,n=0;n<e.length;n++)t+=e[n]*e[n];return Math.sqrt(t)}function Te(e,t){var n=nr(e,t);return n===0?0:Math.sqrt(n)}function _t(e,t){var n=t?be(e,t):e,i=sa(n,function(s,o){return s+Math.pow(o,2)}),r=Math.sqrt(i);return r===0?ia(n,0):ra(n,function(s){return s/r})}function ca(e,t){if(e.length>2)throw Error("Only supported for 2d vectors");var n=t?be(e,t):e,i=-n[1];return n[1]=n[0],n[0]=i,n}function ha(e,t,n,i,r){if(r===void 0&&(r=0),r===0)return[0,1,2,3];var s=function(c,h){return Math.pow(nr(c,h),.5*r)},o=s(t,e),a=s(n,t)+o;return[0,o,a,s(i,n)+a]}function la(e,t,n,i,r){for(var s=Number.isFinite(r.tension)?r.tension:.5,o=Number.isFinite(r.alpha)?r.alpha:null,a=o>0?ha(e,t,n,i,o):null,c=new Array(e.length),h=0;h<e.length;h++){var l=0,u=0,f=e[h],d=t[h],p=n[h],g=i[h];if(a){var y=a[0],m=a[1],x=a[2],v=a[3];m-x!=0&&(y-m!=0&&y-x!=0&&(l=(1-s)*(x-m)*((f-d)/(y-m)-(f-p)/(y-x)+(d-p)/(m-x))),m-v!=0&&x-v!=0&&(u=(1-s)*(x-m)*((d-p)/(m-x)-(d-g)/(m-v)+(p-g)/(x-v))))}else l=(1-s)*(p-f)*.5,u=(1-s)*(g-d)*.5;var M=2*d-2*p+l+u,b=-3*d+3*p-2*l-u,S=l,T=d;c[h]=[M,b,S,T]}return c}function Rt(e,t){var n=e*e,i=e*n;return t[0]*i+t[1]*n+t[2]*e+t[3]}function It(e,t){var n=e*e;return 3*t[0]*n+2*t[1]*e+t[2]}function qe(e,t){return 6*t[0]*e+2*t[1]}function ua(e,t){var n=t[0],i=t[1],r=t[2],s=t[3]-e;return n===0&&i===0&&r===0&&s===0?[0]:oa(n,i,r,s).filter(function(o){return o>-it&&o<=1+it}).map(function(o){return J(o,0,1)})}function fn(e,t,n,i){i===void 0&&(i=null),i=i||new Array(n.length);for(var r=0;r<n.length;r++)i[r]=e(t,n[r]);return i}var ir=function(){function e(t){t===void 0&&(t=null),this._alpha=0,this._tension=.5,this._closed=!1,this._onInvalidateCache=null,this._onInvalidateCache=t,this._cache={arcLengths:null,coefficients:null}}return e.prototype._invalidateCache=function(){this.points&&(this._cache={arcLengths:null,coefficients:null},this._onInvalidateCache&&this._onInvalidateCache())},Object.defineProperty(e.prototype,"alpha",{get:function(){return this._alpha},set:function(t){Number.isFinite(t)&&t!==this._alpha&&(this._invalidateCache(),this._alpha=t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tension",{get:function(){return this._tension},set:function(t){Number.isFinite(t)&&t!==this._tension&&(this._invalidateCache(),this._tension=t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"points",{get:function(){return this._points},set:function(t){if(!t||t.length<2)throw Error("At least 2 control points are required!");this._points=t,this._invalidateCache()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"closed",{get:function(){return this._closed},set:function(t){t=!!t,this._closed!==t&&(this._invalidateCache(),this._closed=t)},enumerable:!1,configurable:!0}),e.prototype.reset=function(){this._invalidateCache()},e.prototype.evaluateForT=function(t,n,i){var r=na(n,this.points,this.closed),s=r.index;return fn(t,r.weight,this.getCoefficients(s),i)},e.prototype.getCoefficients=function(t){if(this.points){if(this._cache.coefficients||(this._cache.coefficients=new Map),!this._cache.coefficients.has(t)){var n=ln(t,this.points,this.closed),i=la(n[0],n[1],n[2],n[3],{tension:this.tension,alpha:this.alpha});this._cache.coefficients.set(t,i)}return this._cache.coefficients.get(t)}},e}(),fa=function(e){function t(n,i){n===void 0&&(n=300),i===void 0&&(i=null);var r=e.call(this,i)||this;return r._subDivisions=n,r}return Ln(t,e),Object.defineProperty(t.prototype,"arcLengths",{get:function(){return this._cache.arcLengths||(this._cache.arcLengths=this.computeArcLengths()),this._cache.arcLengths},enumerable:!1,configurable:!0}),t.prototype._invalidateCache=function(){e.prototype._invalidateCache.call(this),this._cache.arcLengths=null},t.prototype.computeArcLengths=function(){var n,i=[],r=this.evaluateForT(Rt,0),s=0;i.push(0);for(var o=1;o<=this._subDivisions;o++)s+=Te(n=this.evaluateForT(Rt,o/this._subDivisions),r),i.push(s),r=n;return i},t.prototype.lengthAt=function(n){var i=this.arcLengths;return n*i[i.length-1]},t.prototype.getT=function(n){var i=this.arcLengths,r=i.length,s=n*i[r-1],o=un(s,i);if(i[o]===s)return o/(r-1);var a=i[o];return(o+(s-a)/(i[o+1]-a))/(r-1)},t.prototype.getU=function(n){if(n===0)return 0;if(n===1)return 1;var i=this.arcLengths,r=i.length-1,s=i[r],o=n*r,a=Math.floor(o),c=i[a];if(o===a)return c/s;var h=a/r;return(c+Te(this.evaluateForT(Rt,h),this.evaluateForT(Rt,n)))/s},t}(ir),rr=[[[-.906179845938664,.23692688505618908],[-.5384693101056831,.47862867049936647],[0,.5688888888888889],[.5384693101056831,.47862867049936647],[.906179845938664,.23692688505618908]],[[-.932469514203152,.17132449237917036],[-.6612093864662645,.3607615730481386],[-.2386191860831969,.46791393457269104],[.2386191860831969,.46791393457269104],[.6612093864662645,.3607615730481386],[.932469514203152,.17132449237917036]],[[-.9491079123427585,.1294849661688697],[-.7415311855993945,.27970539148927664],[-.4058451513773972,.3818300505051189],[0,.4179591836734694],[.4058451513773972,.3818300505051189],[.7415311855993945,.27970539148927664],[.9491079123427585,.1294849661688697]],[[-.9602898564975363,.10122853629037626],[-.7966664774136267,.22238103445337448],[-.525532409916329,.31370664587788727],[-.1834346424956498,.362683783378362],[.1834346424956498,.362683783378362],[.525532409916329,.31370664587788727],[.7966664774136267,.22238103445337448],[.9602898564975363,.10122853629037626]],[[-.9681602395076261,.08127438836157441],[-.8360311073266358,.1806481606948574],[-.6133714327005904,.26061069640293544],[-.3242534234038089,.31234707704000286],[0,.3302393550012598],[.3242534234038089,.31234707704000286],[.6133714327005904,.26061069640293544],[.8360311073266358,.1806481606948574],[.9681602395076261,.08127438836157441]],[[-.9739065285171717,.06667134430868814],[-.8650633666889845,.1494513491505806],[-.6794095682990244,.21908636251598204],[-.4333953941292472,.26926671930999635],[-.14887433898163122,.29552422471475287],[.14887433898163122,.29552422471475287],[.4333953941292472,.26926671930999635],[.6794095682990244,.21908636251598204],[.8650633666889845,.1494513491505806],[.9739065285171717,.06667134430868814]],[[-.978228658146056,.0556685671161736],[-.887062599768095,.125580369464904],[-.730152005574049,.186290210927734],[-.519096129206811,.23319376459199],[-.269543155952344,.262804544510246],[0,.2729250867779],[.269543155952344,.262804544510246],[.519096129206811,.23319376459199],[.730152005574049,.186290210927734],[.887062599768095,.125580369464904],[.978228658146056,.0556685671161736]],[[-.981560634246719,.0471753363865118],[-.904117256370474,.106939325995318],[-.769902674194304,.160078328543346],[-.587317954286617,.203167426723065],[-.36783149899818,.233492536538354],[-.125233408511468,.249147045813402],[.125233408511468,.249147045813402],[.36783149899818,.233492536538354],[.587317954286617,.203167426723065],[.769902674194304,.160078328543346],[.904117256370474,.106939325995318],[.981560634246719,.0471753363865118]],[[-.984183054718588,.0404840047653158],[-.917598399222977,.0921214998377284],[-.801578090733309,.138873510219787],[-.64234933944034,.178145980761945],[-.448492751036446,.207816047536888],[-.230458315955134,.226283180262897],[0,.232551553230873],[.230458315955134,.226283180262897],[.448492751036446,.207816047536888],[.64234933944034,.178145980761945],[.801578090733309,.138873510219787],[.917598399222977,.0921214998377284],[.984183054718588,.0404840047653158]],[[-.986283808696812,.0351194603317518],[-.928434883663573,.0801580871597602],[-.827201315069764,.121518570687903],[-.687292904811685,.157203167158193],[-.515248636358154,.185538397477937],[-.319112368927889,.205198463721295],[-.108054948707343,.215263853463157],[.108054948707343,.215263853463157],[.319112368927889,.205198463721295],[.515248636358154,.185538397477937],[.687292904811685,.157203167158193],[.827201315069764,.121518570687903],[.928434883663573,.0801580871597602],[.986283808696812,.0351194603317518]],[[-.987992518020485,.0307532419961172],[-.937273392400705,.0703660474881081],[-.848206583410427,.107159220467171],[-.72441773136017,.139570677926154],[-.570972172608538,.166269205816993],[-.394151347077563,.186161000015562],[-.201194093997434,.198431485327111],[0,.202578241925561],[.201194093997434,.198431485327111],[.394151347077563,.186161000015562],[.570972172608538,.166269205816993],[.72441773136017,.139570677926154],[.848206583410427,.107159220467171],[.937273392400705,.0703660474881081],[.987992518020485,.0307532419961172]],[[-.989400934991649,.027152459411754],[-.944575023073232,.0622535239386478],[-.865631202387831,.0951585116824927],[-.755404408355003,.124628971255533],[-.617876244402643,.149595988816576],[-.458016777657227,.169156519395002],[-.281603550779258,.182603415044923],[-.0950125098376374,.189450610455068],[.0950125098376374,.189450610455068],[.281603550779258,.182603415044923],[.458016777657227,.169156519395002],[.617876244402643,.149595988816576],[.755404408355003,.124628971255533],[.865631202387831,.0951585116824927],[.944575023073232,.0622535239386478],[.989400934991649,.027152459411754]],[[-.990575475314417,.0241483028685479],[-.950675521768767,.0554595293739872],[-.880239153726985,.0850361483171791],[-.781514003896801,.111883847193403],[-.65767115921669,.135136368468525],[-.512690537086476,.15404576107681],[-.351231763453876,.16800410215645],[-.178484181495847,.176562705366992],[0,.179446470356206],[.178484181495847,.176562705366992],[.351231763453876,.16800410215645],[.512690537086476,.15404576107681],[.65767115921669,.135136368468525],[.781514003896801,.111883847193403],[.880239153726985,.0850361483171791],[.950675521768767,.0554595293739872],[.990575475314417,.0241483028685479]],[[-.99156516842093,.0216160135264833],[-.955823949571397,.0497145488949698],[-.892602466497555,.076425730254889],[-.803704958972523,.100942044106287],[-.691687043060353,.122555206711478],[-.559770831073947,.14064291467065],[-.411751161462842,.154684675126265],[-.251886225691505,.164276483745832],[-.0847750130417353,.169142382963143],[.0847750130417353,.169142382963143],[.251886225691505,.164276483745832],[.411751161462842,.154684675126265],[.559770831073947,.14064291467065],[.691687043060353,.122555206711478],[.803704958972523,.100942044106287],[.892602466497555,.076425730254889],[.955823949571397,.0497145488949697],[.99156516842093,.0216160135264833]],[[-.992406843843584,.0194617882297264],[-.96020815213483,.0448142267656996],[-.903155903614817,.0690445427376412],[-.822714656537142,.0914900216224499],[-.720966177335229,.111566645547333],[-.600545304661681,.128753962539336],[-.46457074137596,.142606702173606],[-.316564099963629,.152766042065859],[-.160358645640225,.158968843393954],[0,.161054449848783],[.160358645640225,.158968843393954],[.316564099963629,.152766042065859],[.46457074137596,.142606702173606],[.600545304661681,.128753962539336],[.720966177335229,.111566645547333],[.82271465