0?(t=Math.floor(t/i)*i,n=Math.ceil(n/i)*i):i<0&&(t=Math.ceil(t*i)/i,n=Math.floor(n*i)/i),r=i}}function K(t){return Math.ceil(Math.log(_(t))/Math.LN2)+1}function Q(){var t=C,n=T,e=K;function r(r){Array.isArray(r)||(r=Array.from(r));var i,o,a,u=r.length,c=new Array(u);for(i=0;i=h)if(t>=h&&n===T){const t=V(s,h,e);isFinite(t)&&(t>0?h=(Math.floor(h/t)+1)*t:t<0&&(h=(Math.ceil(h*-t)+1)/-t))}else d.pop()}for(var p=d.length,g=0,y=p;d[g]<=s;)++g;for(;d[y-1]>h;)--y;(g||y0?d[i-1]:s,v.x1=i
0)for(i=0;i=n)&&(e=n);else{let r=-1;for(let i of t)null!=(i=n(i,++r,t))&&(e=i)&&(e=i)}return e}function tt(t,n){let e,r=-1,i=-1;if(void 0===n)for(const n of t)++i,null!=n&&(e=n)&&(e=n,r=i);else for(let o of t)null!=(o=n(o,++i,t))&&(e=o)&&(e=o,r=i);return r}function nt(t,n){let e;if(void 0===n)for(const n of t)null!=n&&(e>n||void 0===e&&n>=n)&&(e=n);else{let r=-1;for(let i of t)null!=(i=n(i,++r,t))&&(e>i||void 0===e&&i>=i)&&(e=i)}return e}function et(t,n){let e,r=-1,i=-1;if(void 0===n)for(const n of t)++i,null!=n&&(e>n||void 0===e&&n>=n)&&(e=n,r=i);else for(let o of t)null!=(o=n(o,++i,t))&&(e>o||void 0===e&&o>=o)&&(e=o,r=i);return r}function rt(t,n,e=0,r=1/0,i){if(n=Math.floor(n),e=Math.floor(Math.max(0,e)),r=Math.floor(Math.min(t.length-1,r)),!(e<=n&&n<=r))return t;for(i=void 0===i?B:O(i);r>e;){if(r-e>600){const o=r-e+1,a=n-e+1,u=Math.log(o),c=.5*Math.exp(2*u/3),f=.5*Math.sqrt(u*c*(o-c)/o)*(a-o/2<0?-1:1);rt(t,n,Math.max(e,Math.floor(n-a*c/o+f)),Math.min(r,Math.floor(n+(o-a)*c/o+f)),i)}const o=t[n];let a=e,u=r;for(it(t,e,n),i(t[r],o)>0&&it(t,e,r);a0;)--u}0===i(t[e],o)?it(t,e,u):(++u,it(t,u,r)),u<=n&&(e=u+1),n<=u&&(r=u-1)}return t}function it(t,n,e){const r=t[n];t[n]=t[e],t[e]=r}function ot(t,e=n){let r,i=!1;if(1===e.length){let o;for(const a of t){const t=e(a);(i?n(t,o)>0:0===n(t,t))&&(r=a,o=t,i=!0)}}else for(const n of t)(i?e(n,r)>0:0===e(n,n))&&(r=n,i=!0);return r}function at(t,n,e){if((r=(t=Float64Array.from(a(t,e))).length)&&!isNaN(n=+n)){if(n<=0||r<2)return nt(t);if(n>=1)return J(t);var r,i=(r-1)*n,o=Math.floor(i),u=J(rt(t,o).subarray(0,o+1));return u+(nt(t.subarray(o+1))-u)*(i-o)}}function ut(t,n,e=o){if((r=t.length)&&!isNaN(n=+n)){if(n<=0||r<2)return+e(t[0],0,t);if(n>=1)return+e(t[r-1],r-1,t);var r,i=(r-1)*n,a=Math.floor(i),u=+e(t[a],a,t);return u+(+e(t[a+1],a+1,t)-u)*(i-a)}}function ct(t,n,e){if((r=(t=Float64Array.from(a(t,e))).length)&&!isNaN(n=+n)){if(n<=0||r<2)return et(t);if(n>=1)return tt(t);var r,i=Math.floor((r-1)*n),o=rt(Uint32Array.from(t,((t,n)=>n)),i,0,r-1,((n,e)=>B(t[n],t[e])));return ot(o.subarray(0,i+1),(n=>t[n]))}}function ft(t){return Array.from(function*(t){for(const n of t)yield*n}(t))}function st(t,n){return[t,n]}function lt(t,n,e){t=+t,n=+n,e=(i=arguments.length)<2?(n=t,t=0,1):i<3?1:+e;for(var r=-1,i=0|Math.max(0,Math.ceil((n-t)/e)),o=new Array(i);++r+t(n)}function At(t,n){return n=Math.max(0,t.bandwidth()-2*n)/2,t.round()&&(n=Math.round(n)),e=>+t(e)+n}function St(){return!this.__axis}function Et(t,n){var e=[],r=null,i=null,o=6,a=6,u=3,c="undefined"!=typeof window&&window.devicePixelRatio>1?0:.5,f=1===t||4===t?-1:1,s=4===t||2===t?"x":"y",l=1===t||3===t?wt:Mt;function h(h){var d=null==r?n.ticks?n.ticks.apply(n,e):n.domain():r,p=null==i?n.tickFormat?n.tickFormat.apply(n,e):mt:i,g=Math.max(o,0)+u,y=n.range(),v=+y[0]+c,_=+y[y.length-1]+c,b=(n.bandwidth?At:Tt)(n.copy(),c),m=h.selection?h.selection():h,x=m.selectAll(".domain").data([null]),w=m.selectAll(".tick").data(d,n).order(),M=w.exit(),T=w.enter().append("g").attr("class","tick"),A=w.select("line"),S=w.select("text");x=x.merge(x.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),w=w.merge(T),A=A.merge(T.append("line").attr("stroke","currentColor").attr(s+"2",f*o)),S=S.merge(T.append("text").attr("fill","currentColor").attr(s,f*g).attr("dy",1===t?"0em":3===t?"0.71em":"0.32em")),h!==m&&(x=x.transition(h),w=w.transition(h),A=A.transition(h),S=S.transition(h),M=M.transition(h).attr("opacity",xt).attr("transform",(function(t){return isFinite(t=b(t))?l(t+c):this.getAttribute("transform")})),T.attr("opacity",xt).attr("transform",(function(t){var n=this.parentNode.__axis;return l((n&&isFinite(n=n(t))?n:b(t))+c)}))),M.remove(),x.attr("d",4===t||2===t?a?"M"+f*a+","+v+"H"+c+"V"+_+"H"+f*a:"M"+c+","+v+"V"+_:a?"M"+v+","+f*a+"V"+c+"H"+_+"V"+f*a:"M"+v+","+c+"H"+_),w.attr("opacity",1).attr("transform",(function(t){return l(b(t)+c)})),A.attr(s+"2",f*o),S.attr(s,f*g).text(p),m.filter(St).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",2===t?"start":4===t?"end":"middle"),m.each((function(){this.__axis=b}))}return h.scale=function(t){return arguments.length?(n=t,h):n},h.ticks=function(){return e=Array.from(arguments),h},h.tickArguments=function(t){return arguments.length?(e=null==t?[]:Array.from(t),h):e.slice()},h.tickValues=function(t){return arguments.length?(r=null==t?null:Array.from(t),h):r&&r.slice()},h.tickFormat=function(t){return arguments.length?(i=t,h):i},h.tickSize=function(t){return arguments.length?(o=a=+t,h):o},h.tickSizeInner=function(t){return arguments.length?(o=+t,h):o},h.tickSizeOuter=function(t){return arguments.length?(a=+t,h):a},h.tickPadding=function(t){return arguments.length?(u=+t,h):u},h.offset=function(t){return arguments.length?(c=+t,h):c},h}var kt={value:()=>{}};function Nt(){for(var t,n=0,e=arguments.length,r={};n=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}}))}function zt(t,n){for(var e,r=0,i=t.length;r0)for(var e,r,i=new Array(e),o=0;o=0&&"xmlns"!==(n=t.slice(0,e))&&(t=t.slice(e+1)),Rt.hasOwnProperty(n)?{space:Rt[n],local:t}:t}function qt(t){return function(){var n=this.ownerDocument,e=this.namespaceURI;return e===Dt&&n.documentElement.namespaceURI===Dt?n.createElement(t):n.createElementNS(e,t)}}function Ut(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function It(t){var n=Ft(t);return(n.local?Ut:qt)(n)}function Ot(){}function Bt(t){return null==t?Ot:function(){return this.querySelector(t)}}function Yt(t){return null==t?[]:Array.isArray(t)?t:Array.from(t)}function Lt(){return[]}function jt(t){return null==t?Lt:function(){return this.querySelectorAll(t)}}function Ht(t){return function(){return this.matches(t)}}function Xt(t){return function(n){return n.matches(t)}}var Gt=Array.prototype.find;function Vt(){return this.firstElementChild}var Wt=Array.prototype.filter;function Zt(){return Array.from(this.children)}function Kt(t){return new Array(t.length)}function Qt(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}function Jt(t){return function(){return t}}function tn(t,n,e,r,i,o){for(var a,u=0,c=n.length,f=o.length;un?1:t>=n?0:NaN}function an(t){return function(){this.removeAttribute(t)}}function un(t){return function(){this.removeAttributeNS(t.space,t.local)}}function cn(t,n){return function(){this.setAttribute(t,n)}}function fn(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}function sn(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttribute(t):this.setAttribute(t,e)}}function ln(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}}function hn(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function dn(t){return function(){this.style.removeProperty(t)}}function pn(t,n,e){return function(){this.style.setProperty(t,n,e)}}function gn(t,n,e){return function(){var r=n.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}function yn(t,n){return t.style.getPropertyValue(n)||hn(t).getComputedStyle(t,null).getPropertyValue(n)}function vn(t){return function(){delete this[t]}}function _n(t,n){return function(){this[t]=n}}function bn(t,n){return function(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}}function mn(t){return t.trim().split(/^|\s+/)}function xn(t){return t.classList||new wn(t)}function wn(t){this._node=t,this._names=mn(t.getAttribute("class")||"")}function Mn(t,n){for(var e=xn(t),r=-1,i=n.length;++r=0&&(n=t.slice(e+1),t=t.slice(0,e)),{type:t,name:n}}))}function Bn(t){return function(){var n=this.__on;if(n){for(var e,r=0,i=-1,o=n.length;r=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var Xn=[null];function Gn(t,n){this._groups=t,this._parents=n}function Vn(){return new Gn([[document.documentElement]],Xn)}function Wn(t){return"string"==typeof t?new Gn([[document.querySelector(t)]],[document.documentElement]):new Gn([[t]],Xn)}Gn.prototype=Vn.prototype={constructor:Gn,select:function(t){"function"!=typeof t&&(t=Bt(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i=x&&(x=m+1);!(b=y[x])&&++x=0;)(r=i[o])&&(a&&4^r.compareDocumentPosition(a)&&a.parentNode.insertBefore(r,a),a=r);return this},sort:function(t){function n(n,e){return n&&e?t(n.__data__,e.__data__):!n-!e}t||(t=on);for(var e=this._groups,r=e.length,i=new Array(r),o=0;o1?this.each((null==n?dn:"function"==typeof n?gn:pn)(t,n,null==e?"":e)):yn(this.node(),t)},property:function(t,n){return arguments.length>1?this.each((null==n?vn:"function"==typeof n?bn:_n)(t,n)):this.node()[t]},classed:function(t,n){var e=mn(t+"");if(arguments.length<2){for(var r=xn(this.node()),i=-1,o=e.length;++i()=>t;function ce(t,{sourceEvent:n,subject:e,target:r,identifier:i,active:o,x:a,y:u,dx:c,dy:f,dispatch:s}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:e,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:u,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:f,enumerable:!0,configurable:!0},_:{value:s}})}function fe(t){return!t.ctrlKey&&!t.button}function se(){return this.parentNode}function le(t,n){return null==n?{x:t.x,y:t.y}:n}function he(){return navigator.maxTouchPoints||"ontouchstart"in this}function de(t,n,e){t.prototype=n.prototype=e,e.constructor=t}function pe(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function ge(){}ce.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};var ye=.7,ve=1/ye,_e="\\s*([+-]?\\d+)\\s*",be="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",me="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",xe=/^#([0-9a-f]{3,8})$/,we=new RegExp(`^rgb\\(${_e},${_e},${_e}\\)$`),Me=new RegExp(`^rgb\\(${me},${me},${me}\\)$`),Te=new RegExp(`^rgba\\(${_e},${_e},${_e},${be}\\)$`),Ae=new RegExp(`^rgba\\(${me},${me},${me},${be}\\)$`),Se=new RegExp(`^hsl\\(${be},${me},${me}\\)$`),Ee=new RegExp(`^hsla\\(${be},${me},${me},${be}\\)$`),ke={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};function Ne(){return this.rgb().formatHex()}function Ce(){return this.rgb().formatRgb()}function Pe(t){var n,e;return t=(t+"").trim().toLowerCase(),(n=xe.exec(t))?(e=n[1].length,n=parseInt(n[1],16),6===e?ze(n):3===e?new Fe(n>>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1):8===e?$e(n>>24&255,n>>16&255,n>>8&255,(255&n)/255):4===e?$e(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|240&n,((15&n)<<4|15&n)/255):null):(n=we.exec(t))?new Fe(n[1],n[2],n[3],1):(n=Me.exec(t))?new Fe(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=Te.exec(t))?$e(n[1],n[2],n[3],n[4]):(n=Ae.exec(t))?$e(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=Se.exec(t))?Ye(n[1],n[2]/100,n[3]/100,1):(n=Ee.exec(t))?Ye(n[1],n[2]/100,n[3]/100,n[4]):ke.hasOwnProperty(t)?ze(ke[t]):"transparent"===t?new Fe(NaN,NaN,NaN,0):null}function ze(t){return new Fe(t>>16&255,t>>8&255,255&t,1)}function $e(t,n,e,r){return r<=0&&(t=n=e=NaN),new Fe(t,n,e,r)}function De(t){return t instanceof ge||(t=Pe(t)),t?new Fe((t=t.rgb()).r,t.g,t.b,t.opacity):new Fe}function Re(t,n,e,r){return 1===arguments.length?De(t):new Fe(t,n,e,null==r?1:r)}function Fe(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}function qe(){return`#${Be(this.r)}${Be(this.g)}${Be(this.b)}`}function Ue(){const t=Ie(this.opacity);return`${1===t?"rgb(":"rgba("}${Oe(this.r)}, ${Oe(this.g)}, ${Oe(this.b)}${1===t?")":`, ${t})`}`}function Ie(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Oe(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Be(t){return((t=Oe(t))<16?"0":"")+t.toString(16)}function Ye(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new He(t,n,e,r)}function Le(t){if(t instanceof He)return new He(t.h,t.s,t.l,t.opacity);if(t instanceof ge||(t=Pe(t)),!t)return new He;if(t instanceof He)return t;var n=(t=t.rgb()).r/255,e=t.g/255,r=t.b/255,i=Math.min(n,e,r),o=Math.max(n,e,r),a=NaN,u=o-i,c=(o+i)/2;return u?(a=n===o?(e-r)/u+6*(e0&&c<1?0:a,new He(a,u,c,t.opacity)}function je(t,n,e,r){return 1===arguments.length?Le(t):new He(t,n,e,null==r?1:r)}function He(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function Xe(t){return(t=(t||0)%360)<0?t+360:t}function Ge(t){return Math.max(0,Math.min(1,t||0))}function Ve(t,n,e){return 255*(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)}de(ge,Pe,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:Ne,formatHex:Ne,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return Le(this).formatHsl()},formatRgb:Ce,toString:Ce}),de(Fe,Re,pe(ge,{brighter(t){return t=null==t?ve:Math.pow(ve,t),new Fe(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?ye:Math.pow(ye,t),new Fe(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Fe(Oe(this.r),Oe(this.g),Oe(this.b),Ie(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:qe,formatHex:qe,formatHex8:function(){return`#${Be(this.r)}${Be(this.g)}${Be(this.b)}${Be(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:Ue,toString:Ue})),de(He,je,pe(ge,{brighter(t){return t=null==t?ve:Math.pow(ve,t),new He(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?ye:Math.pow(ye,t),new He(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+360*(this.h<0),n=isNaN(t)||isNaN(this.s)?0:this.s,e=this.l,r=e+(e<.5?e:1-e)*n,i=2*e-r;return new Fe(Ve(t>=240?t-240:t+120,i,r),Ve(t,i,r),Ve(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new He(Xe(this.h),Ge(this.s),Ge(this.l),Ie(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 t=Ie(this.opacity);return`${1===t?"hsl(":"hsla("}${Xe(this.h)}, ${100*Ge(this.s)}%, ${100*Ge(this.l)}%${1===t?")":`, ${t})`}`}}));const We=Math.PI/180,Ze=180/Math.PI,Ke=.96422,Qe=.82521,Je=4/29,tr=6/29,nr=3*tr*tr;function er(t){if(t instanceof ir)return new ir(t.l,t.a,t.b,t.opacity);if(t instanceof lr)return hr(t);t instanceof Fe||(t=De(t));var n,e,r=cr(t.r),i=cr(t.g),o=cr(t.b),a=or((.2225045*r+.7168786*i+.0606169*o)/1);return r===i&&i===o?n=e=a:(n=or((.4360747*r+.3850649*i+.1430804*o)/Ke),e=or((.0139322*r+.0971045*i+.7141733*o)/Qe)),new ir(116*a-16,500*(n-a),200*(a-e),t.opacity)}function rr(t,n,e,r){return 1===arguments.length?er(t):new ir(t,n,e,null==r?1:r)}function ir(t,n,e,r){this.l=+t,this.a=+n,this.b=+e,this.opacity=+r}function or(t){return t>.008856451679035631?Math.pow(t,1/3):t/nr+Je}function ar(t){return t>tr?t*t*t:nr*(t-Je)}function ur(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function cr(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function fr(t){if(t instanceof lr)return new lr(t.h,t.c,t.l,t.opacity);if(t instanceof ir||(t=er(t)),0===t.a&&0===t.b)return new lr(NaN,0=1?(e=1,n-1):Math.floor(e*n),i=t[r],o=t[r+1],a=r>0?t[r-1]:2*i-o,u=r()=>t;function kr(t,n){return function(e){return t+e*n}}function Nr(t,n){var e=n-t;return e?kr(t,e>180||e<-180?e-360*Math.round(e/360):e):Er(isNaN(t)?n:t)}function Cr(t){return 1==(t=+t)?Pr:function(n,e){return e-n?function(t,n,e){return t=Math.pow(t,e),n=Math.pow(n,e)-t,e=1/e,function(r){return Math.pow(t+r*n,e)}}(n,e,t):Er(isNaN(n)?e:n)}}function Pr(t,n){var e=n-t;return e?kr(t,e):Er(isNaN(t)?n:t)}var zr=function t(n){var e=Cr(n);function r(t,n){var r=e((t=Re(t)).r,(n=Re(n)).r),i=e(t.g,n.g),o=e(t.b,n.b),a=Pr(t.opacity,n.opacity);return function(n){return t.r=r(n),t.g=i(n),t.b=o(n),t.opacity=a(n),t+""}}return r.gamma=t,r}(1);function $r(t){return function(n){var e,r,i=n.length,o=new Array(i),a=new Array(i),u=new Array(i);for(e=0;eo&&(i=n.slice(o,i),u[a]?u[a]+=i:u[++a]=i),(e=e[0])===(r=r[0])?u[a]?u[a]+=r:u[++a]=r:(u[++a]=null,c.push({i:a,x:Or(e,r)})),o=Lr.lastIndex;return o180?n+=360:n-t>180&&(t+=360),o.push({i:e.push(i(e)+"rotate(",null,r)-2,x:Or(t,n)})):n&&e.push(i(e)+"rotate("+n+r)}(o.rotate,a.rotate,u,c),function(t,n,e,o){t!==n?o.push({i:e.push(i(e)+"skewX(",null,r)-2,x:Or(t,n)}):n&&e.push(i(e)+"skewX("+n+r)}(o.skewX,a.skewX,u,c),function(t,n,e,r,o,a){if(t!==e||n!==r){var u=o.push(i(o)+"scale(",null,",",null,")");a.push({i:u-4,x:Or(t,e)},{i:u-2,x:Or(n,r)})}else 1===e&&1===r||o.push(i(o)+"scale("+e+","+r+")")}(o.scaleX,o.scaleY,a.scaleX,a.scaleY,u,c),o=a=null,function(t){for(var n,e=-1,r=c.length;++e=0&&n._call.call(void 0,t),n=n._next;--pi}function Ei(){_i=(vi=mi.now())+bi,pi=gi=0;try{Si()}finally{pi=0,function(){var t,n,e=hi,r=1/0;for(;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:hi=n);di=t,Ni(r)}(),_i=0}}function ki(){var t=mi.now(),n=t-vi;n>1e3&&(bi-=n,vi=t)}function Ni(t){pi||(gi&&(gi=clearTimeout(gi)),t-_i>24?(t<1/0&&(gi=setTimeout(Ei,t-mi.now()-bi)),yi&&(yi=clearInterval(yi))):(yi||(vi=mi.now(),yi=setInterval(ki,1e3)),pi=1,xi(Ei)))}function Ci(t,n,e){var r=new Ti;return n=null==n?0:+n,r.restart((e=>{r.stop(),t(e+n)}),n,e),r}Ti.prototype=Ai.prototype={constructor:Ti,restart:function(t,n,e){if("function"!=typeof t)throw new TypeError("callback is not a function");e=(null==e?wi():+e)+(null==n?0:+n),this._next||di===this||(di?di._next=this:hi=this,di=this),this._call=t,this._time=e,Ni()},stop:function(){this._call&&(this._call=null,this._time=1/0,Ni())}};var Pi=Nt("start","end","cancel","interrupt"),zi=[];function $i(t,n,e,r,i,o){var a=t.__transition;if(a){if(e in a)return}else t.__transition={};!function(t,n,e){var r,i=t.__transition;function o(t){e.state=1,e.timer.restart(a,e.delay,e.time),e.delay<=t&&a(t-e.delay)}function a(o){var f,s,l,h;if(1!==e.state)return c();for(f in i)if((h=i[f]).name===e.name){if(3===h.state)return Ci(a);4===h.state?(h.state=6,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete i[f]):+f0)throw new Error("too late; already scheduled");return e}function Ri(t,n){var e=Fi(t,n);if(e.state>3)throw new Error("too late; already running");return e}function Fi(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw new Error("transition not found");return e}function qi(t,n){var e,r,i,o=t.__transition,a=!0;if(o){for(i in n=null==n?null:n+"",o)(e=o[i]).name===n?(r=e.state>2&&e.state<5,e.state=6,e.timer.stop(),e.on.call(r?"interrupt":"cancel",t,t.__data__,e.index,e.group),delete o[i]):a=!1;a&&delete t.__transition}}function Ui(t,n){var e,r;return function(){var i=Ri(this,t),o=i.tween;if(o!==e)for(var a=0,u=(r=e=o).length;a=0&&(t=t.slice(0,n)),!t||"start"===t}))}(n)?Di:Ri;return function(){var a=o(this,t),u=a.on;u!==r&&(i=(r=u).copy()).on(n,e),a.on=i}}var io=Vn.prototype.constructor;function oo(t){return function(){this.style.removeProperty(t)}}function ao(t,n,e){return function(r){this.style.setProperty(t,n.call(this,r),e)}}function uo(t,n,e){var r,i;function o(){var o=n.apply(this,arguments);return o!==i&&(r=(i=o)&&ao(t,o,e)),r}return o._value=n,o}function co(t){return function(n){this.textContent=t.call(this,n)}}function fo(t){var n,e;function r(){var r=t.apply(this,arguments);return r!==e&&(n=(e=r)&&co(r)),n}return r._value=t,r}var so=0;function lo(t,n,e,r){this._groups=t,this._parents=n,this._name=e,this._id=r}function ho(t){return Vn().transition(t)}function po(){return++so}var go=Vn.prototype;lo.prototype=ho.prototype={constructor:lo,select:function(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=Bt(t));for(var r=this._groups,i=r.length,o=new Array(i),a=0;a()=>t;function Yo(t,{sourceEvent:n,target:e,selection:r,mode:i,dispatch:o}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:e,enumerable:!0,configurable:!0},selection:{value:r,enumerable:!0,configurable:!0},mode:{value:i,enumerable:!0,configurable:!0},_:{value:o}})}function Lo(t){t.stopImmediatePropagation()}function jo(t){t.preventDefault(),t.stopImmediatePropagation()}var Ho={name:"drag"},Xo={name:"space"},Go={name:"handle"},Vo={name:"center"};const{abs:Wo,max:Zo,min:Ko}=Math;function Qo(t){return[+t[0],+t[1]]}function Jo(t){return[Qo(t[0]),Qo(t[1])]}var ta={name:"x",handles:["w","e"].map(ca),input:function(t,n){return null==t?null:[[+t[0],n[0][1]],[+t[1],n[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}},na={name:"y",handles:["n","s"].map(ca),input:function(t,n){return null==t?null:[[n[0][0],+t[0]],[n[1][0],+t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}},ea={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(ca),input:function(t){return null==t?null:Jo(t)},output:function(t){return t}},ra={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},ia={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},oa={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},aa={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},ua={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function ca(t){return{type:t}}function fa(t){return!t.ctrlKey&&!t.button}function sa(){var t=this.ownerSVGElement||this;return t.hasAttribute("viewBox")?[[(t=t.viewBox.baseVal).x,t.y],[t.x+t.width,t.y+t.height]]:[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]}function la(){return navigator.maxTouchPoints||"ontouchstart"in this}function ha(t){for(;!t.__brush;)if(!(t=t.parentNode))return;return t.__brush}function da(t){return t[0][0]===t[1][0]||t[0][1]===t[1][1]}function pa(t){var n,e=sa,r=fa,i=la,o=!0,a=Nt("start","brush","end"),u=6;function c(n){var e=n.property("__brush",g).selectAll(".overlay").data([ca("overlay")]);e.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",ra.overlay).merge(e).each((function(){var t=ha(this).extent;Wn(this).attr("x",t[0][0]).attr("y",t[0][1]).attr("width",t[1][0]-t[0][0]).attr("height",t[1][1]-t[0][1])})),n.selectAll(".selection").data([ca("selection")]).enter().append("rect").attr("class","selection").attr("cursor",ra.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var r=n.selectAll(".handle").data(t.handles,(function(t){return t.type}));r.exit().remove(),r.enter().append("rect").attr("class",(function(t){return"handle handle--"+t.type})).attr("cursor",(function(t){return ra[t.type]})),n.each(f).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",h).filter(i).on("touchstart.brush",h).on("touchmove.brush",d).on("touchend.brush touchcancel.brush",p).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function f(){var t=Wn(this),n=ha(this).selection;n?(t.selectAll(".selection").style("display",null).attr("x",n[0][0]).attr("y",n[0][1]).attr("width",n[1][0]-n[0][0]).attr("height",n[1][1]-n[0][1]),t.selectAll(".handle").style("display",null).attr("x",(function(t){return"e"===t.type[t.type.length-1]?n[1][0]-u/2:n[0][0]-u/2})).attr("y",(function(t){return"s"===t.type[0]?n[1][1]-u/2:n[0][1]-u/2})).attr("width",(function(t){return"n"===t.type||"s"===t.type?n[1][0]-n[0][0]+u:u})).attr("height",(function(t){return"e"===t.type||"w"===t.type?n[1][1]-n[0][1]+u:u}))):t.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function s(t,n,e){var r=t.__brush.emitter;return!r||e&&r.clean?new l(t,n,e):r}function l(t,n,e){this.that=t,this.args=n,this.state=t.__brush,this.active=0,this.clean=e}function h(e){if((!n||e.touches)&&r.apply(this,arguments)){var i,a,u,c,l,h,d,p,g,y,v,_=this,b=e.target.__data__.type,m="selection"===(o&&e.metaKey?b="overlay":b)?Ho:o&&e.altKey?Vo:Go,x=t===na?null:aa[b],w=t===ta?null:ua[b],M=ha(_),T=M.extent,A=M.selection,S=T[0][0],E=T[0][1],k=T[1][0],N=T[1][1],C=0,P=0,z=x&&w&&o&&e.shiftKey,$=Array.from(e.touches||[e],(t=>{const n=t.identifier;return(t=te(t,_)).point0=t.slice(),t.identifier=n,t}));qi(_);var D=s(_,arguments,!0).beforestart();if("overlay"===b){A&&(g=!0);const n=[$[0],$[1]||$[0]];M.selection=A=[[i=t===na?S:Ko(n[0][0],n[1][0]),u=t===ta?E:Ko(n[0][1],n[1][1])],[l=t===na?k:Zo(n[0][0],n[1][0]),d=t===ta?N:Zo(n[0][1],n[1][1])]],$.length>1&&I(e)}else i=A[0][0],u=A[0][1],l=A[1][0],d=A[1][1];a=i,c=u,h=l,p=d;var R=Wn(_).attr("pointer-events","none"),F=R.selectAll(".overlay").attr("cursor",ra[b]);if(e.touches)D.moved=U,D.ended=O;else{var q=Wn(e.view).on("mousemove.brush",U,!0).on("mouseup.brush",O,!0);o&&q.on("keydown.brush",B,!0).on("keyup.brush",Y,!0),oe(e.view)}f.call(_),D.start(e,m.name)}function U(t){for(const n of t.changedTouches||[t])for(const t of $)t.identifier===n.identifier&&(t.cur=te(n,_));if(z&&!y&&!v&&1===$.length){const t=$[0];Wo(t.cur[0]-t[0])>Wo(t.cur[1]-t[1])?v=!0:y=!0}for(const t of $)t.cur&&(t[0]=t.cur[0],t[1]=t.cur[1]);g=!0,jo(t),I(t)}function I(t){const n=$[0],e=n.point0;var r;switch(C=n[0]-e[0],P=n[1]-e[1],m){case Xo:case Ho:x&&(C=Zo(S-i,Ko(k-l,C)),a=i+C,h=l+C),w&&(P=Zo(E-u,Ko(N-d,P)),c=u+P,p=d+P);break;case Go:$[1]?(x&&(a=Zo(S,Ko(k,$[0][0])),h=Zo(S,Ko(k,$[1][0])),x=1),w&&(c=Zo(E,Ko(N,$[0][1])),p=Zo(E,Ko(N,$[1][1])),w=1)):(x<0?(C=Zo(S-i,Ko(k-i,C)),a=i+C,h=l):x>0&&(C=Zo(S-l,Ko(k-l,C)),a=i,h=l+C),w<0?(P=Zo(E-u,Ko(N-u,P)),c=u+P,p=d):w>0&&(P=Zo(E-d,Ko(N-d,P)),c=u,p=d+P));break;case Vo:x&&(a=Zo(S,Ko(k,i-C*x)),h=Zo(S,Ko(k,l+C*x))),w&&(c=Zo(E,Ko(N,u-P*w)),p=Zo(E,Ko(N,d+P*w)))}h0&&(i=a-C),w<0?d=p-P:w>0&&(u=c-P),m=Xo,F.attr("cursor",ra.selection),I(t));break;default:return}jo(t)}function Y(t){switch(t.keyCode){case 16:z&&(y=v=z=!1,I(t));break;case 18:m===Vo&&(x<0?l=h:x>0&&(i=a),w<0?d=p:w>0&&(u=c),m=Go,I(t));break;case 32:m===Xo&&(t.altKey?(x&&(l=h-C*x,i=a+C*x),w&&(d=p-P*w,u=c+P*w),m=Vo):(x<0?l=h:x>0&&(i=a),w<0?d=p:w>0&&(u=c),m=Go),F.attr("cursor",ra[b]),I(t));break;default:return}jo(t)}}function d(t){s(this,arguments).moved(t)}function p(t){s(this,arguments).ended(t)}function g(){var n=this.__brush||{selection:null};return n.extent=Jo(e.apply(this,arguments)),n.dim=t,n}return c.move=function(n,e,r){n.tween?n.on("start.brush",(function(t){s(this,arguments).beforestart().start(t)})).on("interrupt.brush end.brush",(function(t){s(this,arguments).end(t)})).tween("brush",(function(){var n=this,r=n.__brush,i=s(n,arguments),o=r.selection,a=t.input("function"==typeof e?e.apply(this,arguments):e,r.extent),u=Hr(o,a);function c(t){r.selection=1===t&&null===a?null:u(t),f.call(n),i.brush()}return null!==o&&null!==a?c:c(1)})):n.each((function(){var n=this,i=arguments,o=n.__brush,a=t.input("function"==typeof e?e.apply(n,i):e,o.extent),u=s(n,i).beforestart();qi(n),o.selection=null===a?null:a,f.call(n),u.start(r).brush(r).end(r)}))},c.clear=function(t,n){c.move(t,null,n)},l.prototype={beforestart:function(){return 1==++this.active&&(this.state.emitter=this,this.starting=!0),this},start:function(t,n){return this.starting?(this.starting=!1,this.emit("start",t,n)):this.emit("brush",t),this},brush:function(t,n){return this.emit("brush",t,n),this},end:function(t,n){return 0==--this.active&&(delete this.state.emitter,this.emit("end",t,n)),this},emit:function(n,e,r){var i=Wn(this.that).datum();a.call(n,this.that,new Yo(n,{sourceEvent:e,target:c,selection:t.output(this.state.selection),mode:r,dispatch:a}),i)}},c.extent=function(t){return arguments.length?(e="function"==typeof t?t:Bo(Jo(t)),c):e},c.filter=function(t){return arguments.length?(r="function"==typeof t?t:Bo(!!t),c):r},c.touchable=function(t){return arguments.length?(i="function"==typeof t?t:Bo(!!t),c):i},c.handleSize=function(t){return arguments.length?(u=+t,c):u},c.keyModifiers=function(t){return arguments.length?(o=!!t,c):o},c.on=function(){var t=a.on.apply(a,arguments);return t===a?c:t},c}var ga=Math.abs,ya=Math.cos,va=Math.sin,_a=Math.PI,ba=_a/2,ma=2*_a,xa=Math.max,wa=1e-12;function Ma(t,n){return Array.from({length:n-t},((n,e)=>t+e))}function Ta(t){return function(n,e){return t(n.source.value+n.target.value,e.source.value+e.target.value)}}function Aa(t,n){var e=0,r=null,i=null,o=null;function a(a){var u,c=a.length,f=new Array(c),s=Ma(0,c),l=new Array(c*c),h=new Array(c),d=0;a=Float64Array.from({length:c*c},n?(t,n)=>a[n%c][n/c|0]:(t,n)=>a[n/c|0][n%c]);for(let n=0;nr(f[t],f[n])));for(const e of s){const r=n;if(t){const t=Ma(1+~c,c).filter((t=>t<0?a[~t*c+e]:a[e*c+t]));i&&t.sort(((t,n)=>i(t<0?-a[~t*c+e]:a[e*c+t],n<0?-a[~n*c+e]:a[e*c+n])));for(const r of t)if(r<0){(l[~r*c+e]||(l[~r*c+e]={source:null,target:null})).target={index:e,startAngle:n,endAngle:n+=a[~r*c+e]*d,value:a[~r*c+e]}}else{(l[e*c+r]||(l[e*c+r]={source:null,target:null})).source={index:e,startAngle:n,endAngle:n+=a[e*c+r]*d,value:a[e*c+r]}}h[e]={index:e,startAngle:r,endAngle:n,value:f[e]}}else{const t=Ma(0,c).filter((t=>a[e*c+t]||a[t*c+e]));i&&t.sort(((t,n)=>i(a[e*c+t],a[e*c+n])));for(const r of t){let t;if(e=0))throw new Error(`invalid digits: ${t}`);if(n>15)return Ca;const e=10**n;return function(t){this._+=t[0];for(let n=1,r=t.length;nka)if(Math.abs(s*u-c*f)>ka&&i){let h=e-o,d=r-a,p=u*u+c*c,g=h*h+d*d,y=Math.sqrt(p),v=Math.sqrt(l),_=i*Math.tan((Sa-Math.acos((p+l-g)/(2*y*v)))/2),b=_/v,m=_/y;Math.abs(b-1)>ka&&this._append`L${t+b*f},${n+b*s}`,this._append`A${i},${i},0,0,${+(s*h>f*d)},${this._x1=t+m*u},${this._y1=n+m*c}`}else this._append`L${this._x1=t},${this._y1=n}`;else;}arc(t,n,e,r,i,o){if(t=+t,n=+n,o=!!o,(e=+e)<0)throw new Error(`negative radius: ${e}`);let a=e*Math.cos(r),u=e*Math.sin(r),c=t+a,f=n+u,s=1^o,l=o?r-i:i-r;null===this._x1?this._append`M${c},${f}`:(Math.abs(this._x1-c)>ka||Math.abs(this._y1-f)>ka)&&this._append`L${c},${f}`,e&&(l<0&&(l=l%Ea+Ea),l>Na?this._append`A${e},${e},0,1,${s},${t-a},${n-u}A${e},${e},0,1,${s},${this._x1=c},${this._y1=f}`:l>ka&&this._append`A${e},${e},0,${+(l>=Sa)},${s},${this._x1=t+e*Math.cos(i)},${this._y1=n+e*Math.sin(i)}`)}rect(t,n,e,r){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${e=+e}v${+r}h${-e}Z`}toString(){return this._}};function za(){return new Pa}za.prototype=Pa.prototype;var $a=Array.prototype.slice;function Da(t){return function(){return t}}function Ra(t){return t.source}function Fa(t){return t.target}function qa(t){return t.radius}function Ua(t){return t.startAngle}function Ia(t){return t.endAngle}function Oa(){return 0}function Ba(){return 10}function Ya(t){var n=Ra,e=Fa,r=qa,i=qa,o=Ua,a=Ia,u=Oa,c=null;function f(){var f,s=n.apply(this,arguments),l=e.apply(this,arguments),h=u.apply(this,arguments)/2,d=$a.call(arguments),p=+r.apply(this,(d[0]=s,d)),g=o.apply(this,d)-ba,y=a.apply(this,d)-ba,v=+i.apply(this,(d[0]=l,d)),_=o.apply(this,d)-ba,b=a.apply(this,d)-ba;if(c||(c=f=za()),h>wa&&(ga(y-g)>2*h+wa?y>g?(g+=h,y-=h):(g-=h,y+=h):g=y=(g+y)/2,ga(b-_)>2*h+wa?b>_?(_+=h,b-=h):(_-=h,b+=h):_=b=(_+b)/2),c.moveTo(p*ya(g),p*va(g)),c.arc(0,0,p,g,y),g!==_||y!==b)if(t){var m=+t.apply(this,arguments),x=v-m,w=(_+b)/2;c.quadraticCurveTo(0,0,x*ya(_),x*va(_)),c.lineTo(v*ya(w),v*va(w)),c.lineTo(x*ya(b),x*va(b))}else c.quadraticCurveTo(0,0,v*ya(_),v*va(_)),c.arc(0,0,v,_,b);if(c.quadraticCurveTo(0,0,p*ya(g),p*va(g)),c.closePath(),f)return c=null,f+""||null}return t&&(f.headRadius=function(n){return arguments.length?(t="function"==typeof n?n:Da(+n),f):t}),f.radius=function(t){return arguments.length?(r=i="function"==typeof t?t:Da(+t),f):r},f.sourceRadius=function(t){return arguments.length?(r="function"==typeof t?t:Da(+t),f):r},f.targetRadius=function(t){return arguments.length?(i="function"==typeof t?t:Da(+t),f):i},f.startAngle=function(t){return arguments.length?(o="function"==typeof t?t:Da(+t),f):o},f.endAngle=function(t){return arguments.length?(a="function"==typeof t?t:Da(+t),f):a},f.padAngle=function(t){return arguments.length?(u="function"==typeof t?t:Da(+t),f):u},f.source=function(t){return arguments.length?(n=t,f):n},f.target=function(t){return arguments.length?(e=t,f):e},f.context=function(t){return arguments.length?(c=null==t?null:t,f):c},f}var La=Array.prototype.slice;function ja(t,n){return t-n}var Ha=t=>()=>t;function Xa(t,n){for(var e,r=-1,i=n.length;++rr!=d>r&&e<(h-f)*(r-s)/(d-s)+f&&(i=-i)}return i}function Va(t,n,e){var r,i,o,a;return function(t,n,e){return(n[0]-t[0])*(e[1]-t[1])==(e[0]-t[0])*(n[1]-t[1])}(t,n,e)&&(i=t[r=+(t[0]===n[0])],o=e[r],a=n[r],i<=o&&o<=a||a<=o&&o<=i)}function Wa(){}var Za=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]];function Ka(){var t=1,n=1,e=K,r=u;function i(t){var n=e(t);if(Array.isArray(n))n=n.slice().sort(ja);else{const e=T(t),r=W(e[0],e[1],n);n=G(Math.floor(e[0]/r)*r,Math.floor(e[1]/r-1)*r,n)}return n.map((n=>o(t,n)))}function o(e,i){var o=[],u=[];return function(e,r,i){var o,u,c,f,s,l,h=new Array,d=new Array;o=u=-1,f=e[0]>=r,Za[f<<1].forEach(p);for(;++o=r,Za[c|f<<1].forEach(p);Za[f<<0].forEach(p);for(;++u=r,s=e[u*t]>=r,Za[f<<1|s<<2].forEach(p);++o=r,l=s,s=e[u*t+o+1]>=r,Za[c|f<<1|s<<2|l<<3].forEach(p);Za[f|s<<3].forEach(p)}o=-1,s=e[u*t]>=r,Za[s<<2].forEach(p);for(;++o=r,Za[s<<2|l<<3].forEach(p);function p(t){var n,e,r=[t[0][0]+o,t[0][1]+u],c=[t[1][0]+o,t[1][1]+u],f=a(r),s=a(c);(n=d[f])?(e=h[s])?(delete d[n.end],delete h[e.start],n===e?(n.ring.push(c),i(n.ring)):h[n.start]=d[e.end]={start:n.start,end:e.end,ring:n.ring.concat(e.ring)}):(delete d[n.end],n.ring.push(c),d[n.end=s]=n):(n=h[s])?(e=d[f])?(delete h[n.start],delete d[e.end],n===e?(n.ring.push(c),i(n.ring)):h[e.start]=d[n.end]={start:e.start,end:n.end,ring:e.ring.concat(n.ring)}):(delete h[n.start],n.ring.unshift(r),h[n.start=f]=n):h[f]=d[s]={start:f,end:s,ring:[r,c]}}Za[s<<3].forEach(p)}(e,i,(function(t){r(t,e,i),function(t){for(var n=0,e=t.length,r=t[e-1][1]*t[0][0]-t[e-1][0]*t[0][1];++n0?o.push([t]):u.push(t)})),u.forEach((function(t){for(var n,e=0,r=o.length;e0&&a