=x&&(x=b+1);!(y=g[x])&&++x=0;)(r=i[o])&&(a&&4^r.compareDocumentPosition(a)&&a.parentNode.insertBefore(r,a),a=r);return this},sort:function(e){function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}e||(e=_e);for(var n=this._groups,r=n.length,i=new Array(r),o=0;o1?this.each((null==t?Ze:"function"===typeof t?De:Ie)(e,t,null==n?"":n)):Le(this.node(),e)},property:function(e,t){return arguments.length>1?this.each((null==t?Pe:"function"===typeof t?$e:Ne)(e,t)):this.node()[e]},classed:function(e,t){var n=Fe(e+"");if(arguments.length<2){for(var r=ze(this.node()),i=-1,o=n.length;++i>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?Kt(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?Kt(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=Nt.exec(e))?new Xt(t[1],t[2],t[3],1):(t=$t.exec(e))?new Xt(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=Ft.exec(e))?Kt(t[1],t[2],t[3],t[4]):(t=zt.exec(e))?Kt(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=Bt.exec(e))?nn(t[1],t[2]/100,t[3]/100,1):(t=Wt.exec(e))?nn(t[1],t[2]/100,t[3]/100,t[4]):Ht.hasOwnProperty(e)?Gt(Ht[e]):"transparent"===e?new Xt(NaN,NaN,NaN,0):null}function Gt(e){return new Xt(e>>16&255,e>>8&255,255&e,1)}function Kt(e,t,n,r){return r<=0&&(e=t=n=NaN),new Xt(e,t,n,r)}function Qt(e){return e instanceof Rt||(e=qt(e)),e?new Xt((e=e.rgb()).r,e.g,e.b,e.opacity):new Xt}function Yt(e,t,n,r){return 1===arguments.length?Qt(e):new Xt(e,t,n,null==r?1:r)}function Xt(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}function Jt(){return"#"+tn(this.r)+tn(this.g)+tn(this.b)}function en(){var e=this.opacity;return(1===(e=isNaN(e)?1:Math.max(0,Math.min(1,e)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===e?")":", "+e+")")}function tn(e){return((e=Math.max(0,Math.min(255,Math.round(e)||0)))<16?"0":"")+e.toString(16)}function nn(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new an(e,t,n,r)}function rn(e){if(e instanceof an)return new an(e.h,e.s,e.l,e.opacity);if(e instanceof Rt||(e=qt(e)),!e)return new an;if(e instanceof an)return e;var t=(e=e.rgb()).r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),o=Math.max(t,n,r),a=NaN,s=o-i,l=(o+i)/2;return s?(a=t===o?(n-r)/s+6*(n0&&l<1?0:a,new an(a,s,l,e.opacity)}function on(e,t,n,r){return 1===arguments.length?rn(e):new an(e,t,n,null==r?1:r)}function an(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}function sn(e,t,n){return 255*(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)}function ln(e,t,n,r,i){var o=e*e,a=o*e;return((1-3*e+3*o-a)*t+(4-6*o+3*a)*n+(1+3*e+3*o-3*a)*r+a*i)/6}function cn(e){var t=e.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),i=e[r],o=e[r+1],a=r>0?e[r-1]:2*i-o,s=r180||n<-180?n-360*Math.round(n/360):n):dn(isNaN(e)?t:e)}function pn(e){return 1===(e=+e)?mn:function(t,n){return n-t?function(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}(t,n,e):dn(isNaN(t)?n:t)}}function mn(e,t){var n=t-e;return n?fn(e,n):dn(isNaN(e)?t:e)}Mt(Rt,qt,{copy:function(e){return Object.assign(new this.constructor,this,e)},displayable:function(){return this.rgb().displayable()},hex:Vt,formatHex:Vt,formatHsl:function(){return rn(this).formatHsl()},formatRgb:Ut,toString:Ut}),Mt(Xt,Yt,At(Rt,{brighter:function(e){return e=null==e?Zt:Math.pow(Zt,e),new Xt(this.r*e,this.g*e,this.b*e,this.opacity)},darker:function(e){return e=null==e?Ot:Math.pow(Ot,e),new Xt(this.r*e,this.g*e,this.b*e,this.opacity)},rgb:function(){return this},displayable:function(){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:Jt,formatHex:Jt,formatRgb:en,toString:en})),Mt(an,on,At(Rt,{brighter:function(e){return e=null==e?Zt:Math.pow(Zt,e),new an(this.h,this.s,this.l*e,this.opacity)},darker:function(e){return e=null==e?Ot:Math.pow(Ot,e),new an(this.h,this.s,this.l*e,this.opacity)},rgb:function(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new Xt(sn(e>=240?e-240:e+120,i,r),sn(e,i,r),sn(e<120?e+240:e-120,i,r),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var e=this.opacity;return(1===(e=isNaN(e)?1:Math.max(0,Math.min(1,e)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===e?")":", "+e+")")}}));var gn=function e(t){var n=pn(t);function r(e,t){var r=n((e=Yt(e)).r,(t=Yt(t)).r),i=n(e.g,t.g),o=n(e.b,t.b),a=mn(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=o(t),e.opacity=a(t),e+""}}return r.gamma=e,r}(1);function vn(e){return function(t){var n,r,i=t.length,o=new Array(i),a=new Array(i),s=new Array(i);for(n=0;no&&(i=t.slice(o,i),s[a]?s[a]+=i:s[++a]=i),(n=n[0])===(r=r[0])?s[a]?s[a]+=r:s[++a]=r:(s[++a]=null,l.push({i:a,x:Cn(n,r)})),o=Tn.lastIndex;return o=0&&t._call.call(null,e),t=t._next;--Pn}function Qn(){zn=(Fn=Wn.now())+Bn,Pn=Nn=0;try{Kn()}finally{Pn=0,function(){var e,t,n=Dn,r=1/0;for(;n;)n._call?(r>n._time&&(r=n._time),e=n,n=n._next):(t=n._next,n._next=null,n=e?e._next=t:Dn=t);Ln=e,Xn(r)}(),zn=0}}function Yn(){var e=Wn.now(),t=e-Fn;t>1e3&&(Bn-=t,Fn=e)}function Xn(e){Pn||(Nn&&(Nn=clearTimeout(Nn)),e-zn>24?(e<1/0&&(Nn=setTimeout(Qn,e-Wn.now()-Bn)),$n&&($n=clearInterval($n))):($n||(Fn=Wn.now(),$n=setInterval(Yn,1e3)),Pn=1,Hn(Qn)))}function Jn(e,t,n){var r=new qn;return t=null==t?0:+t,r.restart((function(n){r.stop(),e(n+t)}),t,n),r}qn.prototype=Gn.prototype={constructor:qn,restart:function(e,t,n){if("function"!==typeof e)throw new TypeError("callback is not a function");n=(null==n?Vn():+n)+(null==t?0:+t),this._next||Ln===this||(Ln?Ln._next=this:Dn=this,Ln=this),this._call=e,this._time=n,Xn()},stop:function(){this._call&&(this._call=null,this._time=1/0,Xn())}};var er=fe("start","end","cancel","interrupt"),tr=[];function nr(e,t,n,r,i,o){var a=e.__transition;if(a){if(n in a)return}else e.__transition={};!function(e,t,n){var r,i=e.__transition;function o(e){n.state=1,n.timer.restart(a,n.delay,n.time),n.delay<=e&&a(e-n.delay)}function a(o){var c,u,d,f;if(1!==n.state)return l();for(c in i)if((f=i[c]).name===n.name){if(3===f.state)return Jn(a);4===f.state?(f.state=6,f.timer.stop(),f.on.call("interrupt",e,e.__data__,f.index,f.group),delete i[c]):+c0)throw new Error("too late; already scheduled");return n}function ir(e,t){var n=or(e,t);if(n.state>3)throw new Error("too late; already running");return n}function or(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function ar(e,t){var n,r,i,o=e.__transition,a=!0;if(o){for(i in t=null==t?null:t+"",o)(n=o[i]).name===t?(r=n.state>2&&n.state<5,n.state=6,n.timer.stop(),n.on.call(r?"interrupt":"cancel",e,e.__data__,n.index,n.group),delete o[i]):a=!1;a&&delete e.__transition}}var sr,lr,cr,ur,dr=180/Math.PI,fr={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function hr(e,t,n,r,i,o){var a,s,l;return(a=Math.sqrt(e*e+t*t))&&(e/=a,t/=a),(l=e*n+t*r)&&(n-=e*l,r-=t*l),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,l/=s),e*r180?t+=360:t-e>180&&(e+=360),o.push({i:n.push(i(n)+"rotate(",null,r)-2,x:Cn(e,t)})):t&&n.push(i(n)+"rotate("+t+r)}(o.rotate,a.rotate,s,l),function(e,t,n,o){e!==t?o.push({i:n.push(i(n)+"skewX(",null,r)-2,x:Cn(e,t)}):t&&n.push(i(n)+"skewX("+t+r)}(o.skewX,a.skewX,s,l),function(e,t,n,r,o,a){if(e!==n||t!==r){var s=o.push(i(o)+"scale(",null,",",null,")");a.push({i:s-4,x:Cn(e,n)},{i:s-2,x:Cn(t,r)})}else 1===n&&1===r||o.push(i(o)+"scale("+n+","+r+")")}(o.scaleX,o.scaleY,a.scaleX,a.scaleY,s,l),o=a=null,function(e){for(var t,n=-1,r=l.length;++n=0&&(e=e.slice(0,t)),!e||"start"===e}))}(t)?rr:ir;return function(){var a=o(this,e),s=a.on;s!==r&&(i=(r=s).copy()).on(t,n),a.on=i}}var Pr=kt.prototype.constructor;function Nr(e){return function(){this.style.removeProperty(e)}}function $r(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function Fr(e,t,n){var r,i;function o(){var o=t.apply(this,arguments);return o!==i&&(r=(i=o)&&$r(e,o,n)),r}return o._value=t,o}function zr(e){return function(t){this.textContent=e.call(this,t)}}function Br(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&zr(r)),t}return r._value=e,r}var Wr=0;function Hr(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function Vr(e){return kt().transition(e)}function Ur(){return++Wr}var qr=kt.prototype;function Gr(e){return e*e*e}function Kr(e){return--e*e*e+1}function Qr(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}Hr.prototype=Vr.prototype={constructor:Hr,select:function(e){var t=this._name,n=this._id;"function"!==typeof e&&(e=pe(e));for(var r=this._groups,i=r.length,o=new Array(i),a=0;a1&&n.name===t)return new Hr([[e]],Jr,t,+r);return null}function ti(e){return function(){return e}}function ni(e,t,n){this.target=e,this.type=t,this.selection=n}function ri(){ut.stopImmediatePropagation()}function ii(){ut.preventDefault(),ut.stopImmediatePropagation()}var oi={name:"drag"},ai={name:"space"},si={name:"handle"},li={name:"center"};function ci(e){return[+e[0],+e[1]]}function ui(e){return[ci(e[0]),ci(e[1])]}function di(e){return function(t){return Zn(t,ut.touches,e)}}var fi={name:"x",handles:["w","e"].map(xi),input:function(e,t){return null==e?null:[[+e[0],t[0][1]],[+e[1],t[1][1]]]},output:function(e){return e&&[e[0][0],e[1][0]]}},hi={name:"y",handles:["n","s"].map(xi),input:function(e,t){return null==e?null:[[t[0][0],+e[0]],[t[1][0],+e[1]]]},output:function(e){return e&&[e[0][1],e[1][1]]}},pi={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(xi),input:function(e){return null==e?null:ui(e)},output:function(e){return e}},mi={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"},gi={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},vi={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},yi={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},bi={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function xi(e){return{type:e}}function wi(){return!ut.ctrlKey&&!ut.button}function _i(){var e=this.ownerSVGElement||this;return e.hasAttribute("viewBox")?[[(e=e.viewBox.baseVal).x,e.y],[e.x+e.width,e.y+e.height]]:[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]}function ki(){return navigator.maxTouchPoints||"ontouchstart"in this}function Si(e){for(;!e.__brush;)if(!(e=e.parentNode))return;return e.__brush}function Ci(e){return e[0][0]===e[1][0]||e[0][1]===e[1][1]}function ji(e){var t=e.__brush;return t?t.dim.output(t.selection):null}function Ei(){return Ai(fi)}function Ti(){return Ai(hi)}function Mi(){return Ai(pi)}function Ai(e){var t,n=_i,r=wi,i=ki,o=!0,a=fe("start","brush","end"),s=6;function l(t){var n=t.property("__brush",m).selectAll(".overlay").data([xi("overlay")]);n.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",mi.overlay).merge(n).each((function(){var e=Si(this).extent;St(this).attr("x",e[0][0]).attr("y",e[0][1]).attr("width",e[1][0]-e[0][0]).attr("height",e[1][1]-e[0][1])})),t.selectAll(".selection").data([xi("selection")]).enter().append("rect").attr("class","selection").attr("cursor",mi.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var r=t.selectAll(".handle").data(e.handles,(function(e){return e.type}));r.exit().remove(),r.enter().append("rect").attr("class",(function(e){return"handle handle--"+e.type})).attr("cursor",(function(e){return mi[e.type]})),t.each(c).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",f).filter(i).on("touchstart.brush",f).on("touchmove.brush",h).on("touchend.brush touchcancel.brush",p).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function c(){var e=St(this),t=Si(this).selection;t?(e.selectAll(".selection").style("display",null).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]),e.selectAll(".handle").style("display",null).attr("x",(function(e){return"e"===e.type[e.type.length-1]?t[1][0]-s/2:t[0][0]-s/2})).attr("y",(function(e){return"s"===e.type[0]?t[1][1]-s/2:t[0][1]-s/2})).attr("width",(function(e){return"n"===e.type||"s"===e.type?t[1][0]-t[0][0]+s:s})).attr("height",(function(e){return"e"===e.type||"w"===e.type?t[1][1]-t[0][1]+s:s}))):e.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function u(e,t,n){var r=e.__brush.emitter;return!r||n&&r.clean?new d(e,t,n):r}function d(e,t,n){this.that=e,this.args=t,this.state=e.__brush,this.active=0,this.clean=n}function f(){if((!t||ut.touches)&&r.apply(this,arguments)){var n,i,a,s,l,d,f,h,p,m,g,v=this,y=ut.target.__data__.type,b="selection"===(o&&ut.metaKey?y="overlay":y)?oi:o&&ut.altKey?li:si,x=e===hi?null:yi[y],w=e===fi?null:bi[y],_=Si(v),k=_.extent,S=_.selection,C=k[0][0],j=k[0][1],E=k[1][0],T=k[1][1],M=0,A=0,R=x&&w&&o&&ut.shiftKey,O=ut.touches?di(ut.changedTouches[0].identifier):In,Z=O(v),I=Z,D=u(v,arguments,!0).beforestart();"overlay"===y?(S&&(p=!0),_.selection=S=[[n=e===hi?C:Z[0],a=e===fi?j:Z[1]],[l=e===hi?E:n,f=e===fi?T:a]]):(n=S[0][0],a=S[0][1],l=S[1][0],f=S[1][1]),i=n,s=a,d=l,h=f;var L=St(v).attr("pointer-events","none"),P=L.selectAll(".overlay").attr("cursor",mi[y]);if(ut.touches)D.moved=$,D.ended=z;else{var N=St(ut.view).on("mousemove.brush",$,!0).on("mouseup.brush",z,!0);o&&N.on("keydown.brush",B,!0).on("keyup.brush",W,!0),Et(ut.view)}ri(),ar(v),c.call(v),D.start()}function $(){var e=O(v);!R||m||g||(Math.abs(e[0]-I[0])>Math.abs(e[1]-I[1])?g=!0:m=!0),I=e,p=!0,ii(),F()}function F(){var e;switch(M=I[0]-Z[0],A=I[1]-Z[1],b){case ai:case oi:x&&(M=Math.max(C-n,Math.min(E-l,M)),i=n+M,d=l+M),w&&(A=Math.max(j-a,Math.min(T-f,A)),s=a+A,h=f+A);break;case si:x<0?(M=Math.max(C-n,Math.min(E-n,M)),i=n+M,d=l):x>0&&(M=Math.max(C-l,Math.min(E-l,M)),i=n,d=l+M),w<0?(A=Math.max(j-a,Math.min(T-a,A)),s=a+A,h=f):w>0&&(A=Math.max(j-f,Math.min(T-f,A)),s=a,h=f+A);break;case li:x&&(i=Math.max(C,Math.min(E,n-M*x)),d=Math.max(C,Math.min(E,l+M*x))),w&&(s=Math.max(j,Math.min(T,a-A*w)),h=Math.max(j,Math.min(T,f+A*w)))}d0&&(n=i-M),w<0?f=h-A:w>0&&(a=s-A),b=ai,P.attr("cursor",mi.selection),F());break;default:return}ii()}function W(){switch(ut.keyCode){case 16:R&&(m=g=R=!1,F());break;case 18:b===li&&(x<0?l=d:x>0&&(n=i),w<0?f=h:w>0&&(a=s),b=si,F());break;case 32:b===ai&&(ut.altKey?(x&&(l=d-M*x,n=i+M*x),w&&(f=h-A*w,a=s+A*w),b=li):(x<0?l=d:x>0&&(n=i),w<0?f=h:w>0&&(a=s),b=si),P.attr("cursor",mi[y]),F());break;default:return}ii()}}function h(){u(this,arguments).moved()}function p(){u(this,arguments).ended()}function m(){var t=this.__brush||{selection:null};return t.extent=ui(n.apply(this,arguments)),t.dim=e,t}return l.move=function(t,n){t.selection?t.on("start.brush",(function(){u(this,arguments).beforestart().start()})).on("interrupt.brush end.brush",(function(){u(this,arguments).end()})).tween("brush",(function(){var t=this,r=t.__brush,i=u(t,arguments),o=r.selection,a=e.input("function"===typeof n?n.apply(this,arguments):n,r.extent),s=An(o,a);function l(e){r.selection=1===e&&null===a?null:s(e),c.call(t),i.brush()}return null!==o&&null!==a?l:l(1)})):t.each((function(){var t=this,r=arguments,i=t.__brush,o=e.input("function"===typeof n?n.apply(t,r):n,i.extent),a=u(t,r).beforestart();ar(t),i.selection=null===o?null:o,c.call(t),a.start().brush().end()}))},l.clear=function(e){l.move(e,null)},d.prototype={beforestart:function(){return 1===++this.active&&(this.state.emitter=this,this.starting=!0),this},start:function(){return this.starting?(this.starting=!1,this.emit("start")):this.emit("brush"),this},brush:function(){return this.emit("brush"),this},end:function(){return 0===--this.active&&(delete this.state.emitter,this.emit("end")),this},emit:function(t){gt(new ni(l,t,e.output(this.state.selection)),a.apply,a,[t,this.that,this.args])}},l.extent=function(e){return arguments.length?(n="function"===typeof e?e:ti(ui(e)),l):n},l.filter=function(e){return arguments.length?(r="function"===typeof e?e:ti(!!e),l):r},l.touchable=function(e){return arguments.length?(i="function"===typeof e?e:ti(!!e),l):i},l.handleSize=function(e){return arguments.length?(s=+e,l):s},l.keyModifiers=function(e){return arguments.length?(o=!!e,l):o},l.on=function(){var e=a.on.apply(a,arguments);return e===a?l:e},l}var Ri=Math.cos,Oi=Math.sin,Zi=Math.PI,Ii=Zi/2,Di=2*Zi,Li=Math.max;function Pi(e){return function(t,n){return e(t.source.value+t.target.value,n.source.value+n.target.value)}}function Ni(){var e=0,t=null,n=null,r=null;function i(i){var o,a,s,l,c,u,d=i.length,f=[],h=k(d),p=[],m=[],g=m.groups=new Array(d),v=new Array(d*d);for(o=0,c=-1;++cWi)if(Math.abs(u*s-l*c)>Wi&&i){var f=n-o,h=r-a,p=s*s+l*l,m=f*f+h*h,g=Math.sqrt(p),v=Math.sqrt(d),y=i*Math.tan((zi-Math.acos((p+d-m)/(2*g*v)))/2),b=y/v,x=y/g;Math.abs(b-1)>Wi&&(this._+="L"+(e+b*c)+","+(t+b*u)),this._+="A"+i+","+i+",0,0,"+ +(u*f>c*h)+","+(this._x1=e+x*s)+","+(this._y1=t+x*l)}else this._+="L"+(this._x1=e)+","+(this._y1=t);else;},arc:function(e,t,n,r,i,o){e=+e,t=+t,o=!!o;var a=(n=+n)*Math.cos(r),s=n*Math.sin(r),l=e+a,c=t+s,u=1^o,d=o?r-i:i-r;if(n<0)throw new Error("negative radius: "+n);null===this._x1?this._+="M"+l+","+c:(Math.abs(this._x1-l)>Wi||Math.abs(this._y1-c)>Wi)&&(this._+="L"+l+","+c),n&&(d<0&&(d=d%Bi+Bi),d>Hi?this._+="A"+n+","+n+",0,1,"+u+","+(e-a)+","+(t-s)+"A"+n+","+n+",0,1,"+u+","+(this._x1=l)+","+(this._y1=c):d>Wi&&(this._+="A"+n+","+n+",0,"+ +(d>=zi)+","+u+","+(this._x1=e+n*Math.cos(i))+","+(this._y1=t+n*Math.sin(i))))},rect:function(e,t,n,r){this._+="M"+(this._x0=this._x1=+e)+","+(this._y0=this._y1=+t)+"h"+ +n+"v"+ +r+"h"+-n+"Z"},toString:function(){return this._}};var qi=Ui;function Gi(e){return e.source}function Ki(e){return e.target}function Qi(e){return e.radius}function Yi(e){return e.startAngle}function Xi(e){return e.endAngle}function Ji(){var e=Gi,t=Ki,n=Qi,r=Yi,i=Xi,o=null;function a(){var a,s=$i.call(arguments),l=e.apply(this,s),c=t.apply(this,s),u=+n.apply(this,(s[0]=l,s)),d=r.apply(this,s)-Ii,f=i.apply(this,s)-Ii,h=u*Ri(d),p=u*Oi(d),m=+n.apply(this,(s[0]=c,s)),g=r.apply(this,s)-Ii,v=i.apply(this,s)-Ii;if(o||(o=a=qi()),o.moveTo(h,p),o.arc(0,0,u,d,f),d===g&&f===v||(o.quadraticCurveTo(0,0,m*Ri(g),m*Oi(g)),o.arc(0,0,m,g,v)),o.quadraticCurveTo(0,0,h,p),o.closePath(),a)return o=null,a+""||null}return a.radius=function(e){return arguments.length?(n="function"===typeof e?e:Fi(+e),a):n},a.startAngle=function(e){return arguments.length?(r="function"===typeof e?e:Fi(+e),a):r},a.endAngle=function(e){return arguments.length?(i="function"===typeof e?e:Fi(+e),a):i},a.source=function(t){return arguments.length?(e=t,a):e},a.target=function(e){return arguments.length?(t=e,a):t},a.context=function(e){return arguments.length?(o=null==e?null:e,a):o},a}var eo="$";function to(){}function no(e,t){var n=new to;if(e instanceof to)e.each((function(e,t){n.set(t,e)}));else if(Array.isArray(e)){var r,i=-1,o=e.length;if(null==t)for(;++i=r.length)return null!=e&&n.sort(e),null!=t?t(n):n;for(var l,c,u,d=-1,f=n.length,h=r[i++],p=ro(),m=a();++dr.length)return e;var o,s=i[n-1];return null!=t&&n>=r.length?o=e.entries():(o=[],e.each((function(e,t){o.push({key:t,values:a(e,n)})}))),null!=s?o.sort((function(e,t){return s(e.key,t.key)})):o}return n={object:function(e){return o(e,0,oo,ao)},map:function(e){return o(e,0,so,lo)},entries:function(e){return a(o(e,0,so,lo),0)},key:function(e){return r.push(e),n},sortKeys:function(e){return i[r.length-1]=e,n},sortValues:function(t){return e=t,n},rollup:function(e){return t=e,n}}}function oo(){return{}}function ao(e,t,n){e[t]=n}function so(){return ro()}function lo(e,t,n){e.set(t,n)}function co(){}var uo=ro.prototype;function fo(e,t){var n=new co;if(e instanceof co)e.each((function(e){n.add(e)}));else if(e){var r=-1,i=e.length;if(null==t)for(;++r.008856451679035631?Math.pow(e,1/3):e/ko+wo}function Mo(e){return e>_o?e*e*e:ko*(e-wo)}function Ao(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function Ro(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function Oo(e){if(e instanceof Do)return new Do(e.h,e.c,e.l,e.opacity);if(e instanceof Eo||(e=So(e)),0===e.a&&0===e.b)return new Do(NaN,0r!==h>r&&n<(f-c)*(r-u)/(h-u)+c&&(i=-i)}return i}function Jo(e,t,n){var r;return function(e,t,n){return(t[0]-e[0])*(n[1]-e[1])===(n[0]-e[0])*(t[1]-e[1])}(e,t,n)&&function(e,t,n){return e<=t&&t<=n||n<=t&&t<=e}(e[r=+(e[0]===t[0])],n[r],t[r])}function ea(){}var ta=[[],[[[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 na(){var e=1,t=1,n=A,r=s;function i(e){var t=n(e);if(Array.isArray(t))t=t.slice().sort(Ko);else{var r=v(e),i=r[0],a=r[1];t=M(i,a,t),t=k(Math.floor(i/t)*t,Math.floor(a/t)*t,t)}return t.map((function(t){return o(e,t)}))}function o(n,i){var o=[],s=[];return function(n,r,i){var o,s,l,c,u,d,f=new Array,h=new Array;o=s=-1,c=n[0]>=r,ta[c<<1].forEach(p);for(;++o=r,ta[l|c<<1].forEach(p);ta[c<<0].forEach(p);for(;++s=r,u=n[s*e]>=r,ta[c<<1|u<<2].forEach(p);++o=r,d=u,u=n[s*e+o+1]>=r,ta[l|c<<1|u<<2|d<<3].forEach(p);ta[c|u<<3].forEach(p)}o=-1,u=n[s*e]>=r,ta[u<<2].forEach(p);for(;++o=r,ta[u<<2|d<<3].forEach(p);function p(e){var t,n,r=[e[0][0]+o,e[0][1]+s],l=[e[1][0]+o,e[1][1]+s],c=a(r),u=a(l);(t=h[c])?(n=f[u])?(delete h[t.end],delete f[n.start],t===n?(t.ring.push(l),i(t.ring)):f[t.start]=h[n.end]={start:t.start,end:n.end,ring:t.ring.concat(n.ring)}):(delete h[t.end],t.ring.push(l),h[t.end=u]=t):(t=f[u])?(n=h[c])?(delete f[t.start],delete h[n.end],t===n?(t.ring.push(l),i(t.ring)):f[n.start]=h[t.end]={start:n.start,end:t.end,ring:n.ring.concat(t.ring)}):(delete f[t.start],t.ring.unshift(r),f[t.start=c]=t):f[c]=h[u]={start:c,end:u,ring:[r,l]}}ta[u<<3].forEach(p)}(n,i,(function(e){r(e,n,i),function(e){for(var t=0,n=e.length,r=e[n-1][1]*e[0][0]-e[n-1][0]*e[0][1];++t0?o.push([e]):s.push(e)})),s.forEach((function(e){for(var t,n=0,r=o.length;n0&&a0&&s0)||!(o>0))throw new Error("invalid size");return e=r,t=o,i},i.thresholds=function(e){return arguments.length?(n="function"===typeof e?e:Array.isArray(e)?Qo(Go.call(e)):Qo(e),i):n},i.smooth=function(e){return arguments.length?(r=e?s:ea,i):r===s},i}function ra(e,t,n){for(var r=e.width,i=e.height,o=1+(n<<1),a=0;a=n&&(s>=o&&(l-=e.data[s-o+a*r]),t.data[s-n+a*r]=l/Math.min(s+1,r-1+o-s,o))}function ia(e,t,n){for(var r=e.width,i=e.height,o=1+(n<<1),a=0;a=n&&(s>=o&&(l-=e.data[a+(s-o)*r]),t.data[a+(s-n)*r]=l/Math.min(s+1,i-1+o-s,o))}function oa(e){return e[0]}function aa(e){return e[1]}function sa(){return 1}function la(){var e=oa,t=aa,n=sa,r=960,i=500,o=20,a=2,s=3*o,l=r+2*s>>a,c=i+2*s>>a,u=Qo(20);function d(r){var i=new Float32Array(l*c),d=new Float32Array(l*c);r.forEach((function(r,o,u){var d=+e(r,o,u)+s>>a,f=+t(r,o,u)+s>>a,h=+n(r,o,u);d>=0&&d=0&&f>a),ia({width:l,height:c,data:d},{width:l,height:c,data:i},o>>a),ra({width:l,height:c,data:i},{width:l,height:c,data:d},o>>a),ia({width:l,height:c,data:d},{width:l,height:c,data:i},o>>a),ra({width:l,height:c,data:i},{width:l,height:c,data:d},o>>a),ia({width:l,height:c,data:d},{width:l,height:c,data:i},o>>a);var h=u(i);if(!Array.isArray(h)){var p=D(i);h=M(0,p,h),(h=k(0,Math.floor(p/h)*h,h)).shift()}return na().thresholds(h).size([l,c])(i).map(f)}function f(e){return e.value*=Math.pow(2,-2*a),e.coordinates.forEach(h),e}function h(e){e.forEach(p)}function p(e){e.forEach(m)}function m(e){e[0]=e[0]*Math.pow(2,a)-s,e[1]=e[1]*Math.pow(2,a)-s}function g(){return l=r+2*(s=3*o)>>a,c=i+2*s>>a,d}return d.x=function(t){return arguments.length?(e="function"===typeof t?t:Qo(+t),d):e},d.y=function(e){return arguments.length?(t="function"===typeof e?e:Qo(+e),d):t},d.weight=function(e){return arguments.length?(n="function"===typeof e?e:Qo(+e),d):n},d.size=function(e){if(!arguments.length)return[r,i];var t=Math.ceil(e[0]),n=Math.ceil(e[1]);if(!(t>=0)&&!(t>=0))throw new Error("invalid size");return r=t,i=n,g()},d.cellSize=function(e){if(!arguments.length)return 1<=1))throw new Error("invalid cell size");return a=Math.floor(Math.log(e)/Math.LN2),g()},d.thresholds=function(e){return arguments.length?(u="function"===typeof e?e:Array.isArray(e)?Qo(Go.call(e)):Qo(e),d):u},d.bandwidth=function(e){if(!arguments.length)return Math.sqrt(o*(o+1));if(!((e=+e)>=0))throw new Error("invalid bandwidth");return o=Math.round((Math.sqrt(4*e*e+1)-1)/2),g()},d}function ca(e){return function(){return e}}function ua(e,t,n,r,i,o,a,s,l,c){this.target=e,this.type=t,this.subject=n,this.identifier=r,this.active=i,this.x=o,this.y=a,this.dx=s,this.dy=l,this._=c}function da(){return!ut.ctrlKey&&!ut.button}function fa(){return this.parentNode}function ha(e){return null==e?{x:ut.x,y:ut.y}:e}function pa(){return navigator.maxTouchPoints||"ontouchstart"in this}function ma(){var e,t,n,r,i=da,o=fa,a=ha,s=pa,l={},c=fe("start","drag","end"),u=0,d=0;function f(e){e.on("mousedown.drag",h).filter(s).on("touchstart.drag",g).on("touchmove.drag",v).on("touchend.drag touchcancel.drag",y).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(){if(!r&&i.apply(this,arguments)){var a=b("mouse",o.apply(this,arguments),In,this,arguments);a&&(St(ut.view).on("mousemove.drag",p,!0).on("mouseup.drag",m,!0),Et(ut.view),Ct(),n=!1,e=ut.clientX,t=ut.clientY,a("start"))}}function p(){if(jt(),!n){var r=ut.clientX-e,i=ut.clientY-t;n=r*r+i*i>d}l.mouse("drag")}function m(){St(ut.view).on("mousemove.drag mouseup.drag",null),Tt(ut.view,n),jt(),l.mouse("end")}function g(){if(i.apply(this,arguments)){var e,t,n=ut.changedTouches,r=o.apply(this,arguments),a=n.length;for(e=0;e9999?"+"+xa(e,6):xa(e,4)}(e.getUTCFullYear())+"-"+xa(e.getUTCMonth()+1,2)+"-"+xa(e.getUTCDate(),2)+(i?"T"+xa(t,2)+":"+xa(n,2)+":"+xa(r,2)+"."+xa(i,3)+"Z":r?"T"+xa(t,2)+":"+xa(n,2)+":"+xa(r,2)+"Z":n||t?"T"+xa(t,2)+":"+xa(n,2)+"Z":"")}function _a(e){var t=new RegExp('["'+e+"\n\r]"),n=e.charCodeAt(0);function r(e,t){var r,i=[],o=e.length,a=0,s=0,l=o<=0,c=!1;function u(){if(l)return va;if(c)return c=!1,ga;var t,r,i=a;if(34===e.charCodeAt(i)){for(;a++=o?l=!0:10===(r=e.charCodeAt(a++))?c=!0:13===r&&(c=!0,10===e.charCodeAt(a)&&++a),e.slice(i+1,t-1).replace(/""/g,'"')}for(;a=(o=(m+v)/2))?m=o:v=o,(u=n>=(a=(g+y)/2))?g=a:y=a,i=h,!(h=h[d=u<<1|c]))return i[d]=p,e;if(s=+e._x.call(null,h.data),l=+e._y.call(null,h.data),t===s&&n===l)return p.next=h,i?i[d]=p:e._root=p,e;do{i=i?i[d]=new Array(4):e._root=new Array(4),(c=t>=(o=(m+v)/2))?m=o:v=o,(u=n>=(a=(g+y)/2))?g=a:y=a}while((d=u<<1|c)===(f=(l>=a)<<1|s>=o));return i[f]=h,i[d]=p,e}function Fs(e,t,n,r,i){this.node=e,this.x0=t,this.y0=n,this.x1=r,this.y1=i}function zs(e){return e[0]}function Bs(e){return e[1]}function Ws(e,t,n){var r=new Hs(null==t?zs:t,null==n?Bs:n,NaN,NaN,NaN,NaN);return null==e?r:r.addAll(e)}function Hs(e,t,n,r,i,o){this._x=e,this._y=t,this._x0=n,this._y0=r,this._x1=i,this._y1=o,this._root=void 0}function Vs(e){for(var t={data:e.data},n=t;e=e.next;)n=n.next={data:e.data};return t}var Us=Ws.prototype=Hs.prototype;function qs(e){return e.x+e.vx}function Gs(e){return e.y+e.vy}function Ks(e){var t,n,r=1,i=1;function o(){for(var e,o,s,l,c,u,d,f=t.length,h=0;hl+h||ic+h||os.index){var p=l-a.x-a.vx,m=c-a.y-a.vy,g=p*p+m*m;ge.r&&(e.r=e[t].r)}function s(){if(t){var r,i,o=t.length;for(n=new Array(o),r=0;ru&&(u=r),id&&(d=i));if(l>u||c>d)return this;for(this.cover(l,c).cover(u,d),n=0;ne||e>=i||r>t||t>=o;)switch(s=(tf||(o=l.y0)>h||(a=l.x1)=v)<<1|e>=g)&&(l=p[p.length-1],p[p.length-1]=p[p.length-1-c],p[p.length-1-c]=l)}else{var y=e-+this._x.call(null,m.data),b=t-+this._y.call(null,m.data),x=y*y+b*b;if(x=(s=(p+g)/2))?p=s:g=s,(u=a>=(l=(m+v)/2))?m=l:v=l,t=h,!(h=h[d=u<<1|c]))return this;if(!h.length)break;(t[d+1&3]||t[d+2&3]||t[d+3&3])&&(n=t,f=d)}for(;h.data!==e;)if(r=h,!(h=h.next))return this;return(i=h.next)&&delete h.next,r?(i?r.next=i:delete r.next,this):t?(i?t[d]=i:delete t[d],(h=t[0]||t[1]||t[2]||t[3])&&h===(t[3]||t[2]||t[1]||t[0])&&!h.length&&(n?n[f]=h:this._root=h),this):(this._root=i,this)},Us.removeAll=function(e){for(var t=0,n=e.length;t1?(null==n?s.remove(e):s.set(e,h(n)),t):s.get(e)},find:function(t,n,r){var i,o,a,s,l,c=0,u=e.length;for(null==r?r=1/0:r*=r,c=0;c1?(c.on(e,n),t):c.on(e)}}}function rl(){var e,t,n,r,i=Ps(-30),o=1,a=1/0,s=.81;function l(r){var i,o=e.length,a=Ws(e,Js,el).visitAfter(u);for(n=r,i=0;i=a)){(e.data!==t||e.next)&&(0===u&&(h+=(u=Ns())*u),0===d&&(h+=(d=Ns())*d),h1?r[0]+r.slice(2):r,+e.slice(n+1)]}function ll(e){return(e=sl(Math.abs(e)))?e[1]:NaN}var cl,ul=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function dl(e){if(!(t=ul.exec(e)))throw new Error("invalid format: "+e);var t;return new fl({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]})}function fl(e){this.fill=void 0===e.fill?" ":e.fill+"",this.align=void 0===e.align?">":e.align+"",this.sign=void 0===e.sign?"-":e.sign+"",this.symbol=void 0===e.symbol?"":e.symbol+"",this.zero=!!e.zero,this.width=void 0===e.width?void 0:+e.width,this.comma=!!e.comma,this.precision=void 0===e.precision?void 0:+e.precision,this.trim=!!e.trim,this.type=void 0===e.type?"":e.type+""}function hl(e,t){var n=sl(e,t);if(!n)return e+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}dl.prototype=fl.prototype,fl.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var pl={"%":function(e,t){return(100*e).toFixed(t)},b:function(e){return Math.round(e).toString(2)},c:function(e){return e+""},d:function(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)},e:function(e,t){return e.toExponential(t)},f:function(e,t){return e.toFixed(t)},g:function(e,t){return e.toPrecision(t)},o:function(e){return Math.round(e).toString(8)},p:function(e,t){return hl(100*e,t)},r:hl,s:function(e,t){var n=sl(e,t);if(!n)return e+"";var r=n[0],i=n[1],o=i-(cl=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,a=r.length;return o===a?r:o>a?r+new Array(o-a+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+sl(e,Math.max(0,t+o-1))[0]},X:function(e){return Math.round(e).toString(16).toUpperCase()},x:function(e){return Math.round(e).toString(16)}};function ml(e){return e}var gl,vl,yl,bl=Array.prototype.map,xl=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];function wl(e){var t,n,r=void 0===e.grouping||void 0===e.thousands?ml:(t=bl.call(e.grouping,Number),n=e.thousands+"",function(e,r){for(var i=e.length,o=[],a=0,s=t[0],l=0;i>0&&s>0&&(l+s+1>r&&(s=Math.max(1,r-l)),o.push(e.substring(i-=s,i+s)),!((l+=s+1)>r));)s=t[a=(a+1)%t.length];return o.reverse().join(n)}),i=void 0===e.currency?"":e.currency[0]+"",o=void 0===e.currency?"":e.currency[1]+"",a=void 0===e.decimal?".":e.decimal+"",s=void 0===e.numerals?ml:function(e){return function(t){return t.replace(/[0-9]/g,(function(t){return e[+t]}))}}(bl.call(e.numerals,String)),l=void 0===e.percent?"%":e.percent+"",c=void 0===e.minus?"-":e.minus+"",u=void 0===e.nan?"NaN":e.nan+"";function d(e){var t=(e=dl(e)).fill,n=e.align,d=e.sign,f=e.symbol,h=e.zero,p=e.width,m=e.comma,g=e.precision,v=e.trim,y=e.type;"n"===y?(m=!0,y="g"):pl[y]||(void 0===g&&(g=12),v=!0,y="g"),(h||"0"===t&&"="===n)&&(h=!0,t="0",n="=");var b="$"===f?i:"#"===f&&/[boxX]/.test(y)?"0"+y.toLowerCase():"",x="$"===f?o:/[%p]/.test(y)?l:"",w=pl[y],_=/[defgprs%]/.test(y);function k(e){var i,o,l,f=b,k=x;if("c"===y)k=w(e)+k,e="";else{var S=(e=+e)<0||1/e<0;if(e=isNaN(e)?u:w(Math.abs(e),g),v&&(e=function(e){e:for(var t,n=e.length,r=1,i=-1;r0&&(i=0)}return i>0?e.slice(0,i)+e.slice(t+1):e}(e)),S&&0===+e&&"+"!==d&&(S=!1),f=(S?"("===d?d:c:"-"===d||"("===d?"":d)+f,k=("s"===y?xl[8+cl/3]:"")+k+(S&&"("===d?")":""),_)for(i=-1,o=e.length;++i(l=e.charCodeAt(i))||l>57){k=(46===l?a+e.slice(i+1):e.slice(i))+k,e=e.slice(0,i);break}}m&&!h&&(e=r(e,1/0));var C=f.length+e.length+k.length,j=C>1)+f+e+k+j.slice(C);break;default:e=j+f+e+k}return s(e)}return g=void 0===g?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,g)):Math.max(0,Math.min(20,g)),k.toString=function(){return e+""},k}return{format:d,formatPrefix:function(e,t){var n=d(((e=dl(e)).type="f",e)),r=3*Math.max(-8,Math.min(8,Math.floor(ll(t)/3))),i=Math.pow(10,-r),o=xl[8+r/3];return function(e){return n(i*e)+o}}}}function _l(e){return gl=wl(e),vl=gl.format,yl=gl.formatPrefix,gl}function kl(e){return Math.max(0,-ll(Math.abs(e)))}function Sl(e,t){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(ll(t)/3)))-ll(Math.abs(e)))}function Cl(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,ll(t)-ll(e))+1}function jl(){return new El}function El(){this.reset()}_l({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"}),El.prototype={constructor:El,reset:function(){this.s=this.t=0},add:function(e){Ml(Tl,e,this.t),Ml(this,Tl.s,this.s),this.s?this.t+=Tl.t:this.s=Tl.t},valueOf:function(){return this.s}};var Tl=new El;function Ml(e,t,n){var r=e.s=t+n,i=r-t,o=r-i;e.t=t-o+(n-i)}var Al=1e-6,Rl=1e-12,Ol=Math.PI,Zl=Ol/2,Il=Ol/4,Dl=2*Ol,Ll=180/Ol,Pl=Ol/180,Nl=Math.abs,$l=Math.atan,Fl=Math.atan2,zl=Math.cos,Bl=Math.ceil,Wl=Math.exp,Hl=(Math.floor,Math.log),Vl=Math.pow,Ul=Math.sin,ql=Math.sign||function(e){return e>0?1:e<0?-1:0},Gl=Math.sqrt,Kl=Math.tan;function Ql(e){return e>1?0:e<-1?Ol:Math.acos(e)}function Yl(e){return e>1?Zl:e<-1?-Zl:Math.asin(e)}function Xl(e){return(e=Ul(e/2))*e}function Jl(){}function ec(e,t){e&&nc.hasOwnProperty(e.type)&&nc[e.type](e,t)}var tc={Feature:function(e,t){ec(e.geometry,t)},FeatureCollection:function(e,t){for(var n=e.features,r=-1,i=n.length;++r=0?1:-1,i=r*n,o=zl(t=(t*=Pl)/2+Il),a=Ul(t),s=uc*a,l=cc*o+s*zl(i),c=s*r*Ul(i);dc.add(Fl(c,l)),lc=e,cc=o,uc=a}function yc(e){return fc.reset(),oc(e,hc),2*fc}function bc(e){return[Fl(e[1],e[0]),Yl(e[2])]}function xc(e){var t=e[0],n=e[1],r=zl(n);return[r*zl(t),r*Ul(t),Ul(n)]}function wc(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function _c(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function kc(e,t){e[0]+=t[0],e[1]+=t[1],e[2]+=t[2]}function Sc(e,t){return[e[0]*t,e[1]*t,e[2]*t]}function Cc(e){var t=Gl(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=t,e[1]/=t,e[2]/=t}var jc,Ec,Tc,Mc,Ac,Rc,Oc,Zc,Ic,Dc,Lc,Pc,Nc,$c,Fc,zc,Bc,Wc,Hc,Vc,Uc,qc,Gc,Kc,Qc,Yc,Xc=jl(),Jc={point:eu,lineStart:nu,lineEnd:ru,polygonStart:function(){Jc.point=iu,Jc.lineStart=ou,Jc.lineEnd=au,Xc.reset(),hc.polygonStart()},polygonEnd:function(){hc.polygonEnd(),Jc.point=eu,Jc.lineStart=nu,Jc.lineEnd=ru,dc<0?(jc=-(Tc=180),Ec=-(Mc=90)):Xc>Al?Mc=90:Xc<-1e-6&&(Ec=-90),Dc[0]=jc,Dc[1]=Tc},sphere:function(){jc=-(Tc=180),Ec=-(Mc=90)}};function eu(e,t){Ic.push(Dc=[jc=e,Tc=e]),tMc&&(Mc=t)}function tu(e,t){var n=xc([e*Pl,t*Pl]);if(Zc){var r=_c(Zc,n),i=_c([r[1],-r[0],0],r);Cc(i),i=bc(i);var o,a=e-Ac,s=a>0?1:-1,l=i[0]*Ll*s,c=Nl(a)>180;c^(s*AcMc&&(Mc=o):c^(s*Ac<(l=(l+360)%360-180)&&lMc&&(Mc=t)),c?esu(jc,Tc)&&(Tc=e):su(e,Tc)>su(jc,Tc)&&(jc=e):Tc>=jc?(eTc&&(Tc=e)):e>Ac?su(jc,e)>su(jc,Tc)&&(Tc=e):su(e,Tc)>su(jc,Tc)&&(jc=e)}else Ic.push(Dc=[jc=e,Tc=e]);tMc&&(Mc=t),Zc=n,Ac=e}function nu(){Jc.point=tu}function ru(){Dc[0]=jc,Dc[1]=Tc,Jc.point=eu,Zc=null}function iu(e,t){if(Zc){var n=e-Ac;Xc.add(Nl(n)>180?n+(n>0?360:-360):n)}else Rc=e,Oc=t;hc.point(e,t),tu(e,t)}function ou(){hc.lineStart()}function au(){iu(Rc,Oc),hc.lineEnd(),Nl(Xc)>Al&&(jc=-(Tc=180)),Dc[0]=jc,Dc[1]=Tc,Zc=null}function su(e,t){return(t-=e)<0?t+360:t}function lu(e,t){return e[0]-t[0]}function cu(e,t){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:tsu(r[0],r[1])&&(r[1]=i[1]),su(i[0],r[1])>su(r[0],r[1])&&(r[0]=i[0])):o.push(r=i);for(a=-1/0,t=0,r=o[n=o.length-1];t<=n;r=i,++t)i=o[t],(s=su(r[1],i[0]))>a&&(a=s,jc=i[0],Tc=r[1])}return Ic=Dc=null,jc===1/0||Ec===1/0?[[NaN,NaN],[NaN,NaN]]:[[jc,Ec],[Tc,Mc]]}var du={sphere:Jl,point:fu,lineStart:pu,lineEnd:vu,polygonStart:function(){du.lineStart=yu,du.lineEnd=bu},polygonEnd:function(){du.lineStart=pu,du.lineEnd=vu}};function fu(e,t){e*=Pl;var n=zl(t*=Pl);hu(n*zl(e),n*Ul(e),Ul(t))}function hu(e,t,n){++Lc,Nc+=(e-Nc)/Lc,$c+=(t-$c)/Lc,Fc+=(n-Fc)/Lc}function pu(){du.point=mu}function mu(e,t){e*=Pl;var n=zl(t*=Pl);Kc=n*zl(e),Qc=n*Ul(e),Yc=Ul(t),du.point=gu,hu(Kc,Qc,Yc)}function gu(e,t){e*=Pl;var n=zl(t*=Pl),r=n*zl(e),i=n*Ul(e),o=Ul(t),a=Fl(Gl((a=Qc*o-Yc*i)*a+(a=Yc*r-Kc*o)*a+(a=Kc*i-Qc*r)*a),Kc*r+Qc*i+Yc*o);Pc+=a,zc+=a*(Kc+(Kc=r)),Bc+=a*(Qc+(Qc=i)),Wc+=a*(Yc+(Yc=o)),hu(Kc,Qc,Yc)}function vu(){du.point=fu}function yu(){du.point=xu}function bu(){wu(qc,Gc),du.point=fu}function xu(e,t){qc=e,Gc=t,e*=Pl,t*=Pl,du.point=wu;var n=zl(t);Kc=n*zl(e),Qc=n*Ul(e),Yc=Ul(t),hu(Kc,Qc,Yc)}function wu(e,t){e*=Pl;var n=zl(t*=Pl),r=n*zl(e),i=n*Ul(e),o=Ul(t),a=Qc*o-Yc*i,s=Yc*r-Kc*o,l=Kc*i-Qc*r,c=Gl(a*a+s*s+l*l),u=Yl(c),d=c&&-u/c;Hc+=d*a,Vc+=d*s,Uc+=d*l,Pc+=u,zc+=u*(Kc+(Kc=r)),Bc+=u*(Qc+(Qc=i)),Wc+=u*(Yc+(Yc=o)),hu(Kc,Qc,Yc)}function _u(e){Lc=Pc=Nc=$c=Fc=zc=Bc=Wc=Hc=Vc=Uc=0,oc(e,du);var t=Hc,n=Vc,r=Uc,i=t*t+n*n+r*r;return iOl?e+Math.round(-e/Dl)*Dl:e,t]}function ju(e,t,n){return(e%=Dl)?t||n?Su(Tu(e),Mu(t,n)):Tu(e):t||n?Mu(t,n):Cu}function Eu(e){return function(t,n){return[(t+=e)>Ol?t-Dl:t<-Ol?t+Dl:t,n]}}function Tu(e){var t=Eu(e);return t.invert=Eu(-e),t}function Mu(e,t){var n=zl(e),r=Ul(e),i=zl(t),o=Ul(t);function a(e,t){var a=zl(t),s=zl(e)*a,l=Ul(e)*a,c=Ul(t),u=c*n+s*r;return[Fl(l*i-u*o,s*n-c*r),Yl(u*i+l*o)]}return a.invert=function(e,t){var a=zl(t),s=zl(e)*a,l=Ul(e)*a,c=Ul(t),u=c*i-l*o;return[Fl(l*i+c*o,s*n+u*r),Yl(u*n-s*r)]},a}function Au(e){function t(t){return(t=e(t[0]*Pl,t[1]*Pl))[0]*=Ll,t[1]*=Ll,t}return e=ju(e[0]*Pl,e[1]*Pl,e.length>2?e[2]*Pl:0),t.invert=function(t){return(t=e.invert(t[0]*Pl,t[1]*Pl))[0]*=Ll,t[1]*=Ll,t},t}function Ru(e,t,n,r,i,o){if(n){var a=zl(t),s=Ul(t),l=r*n;null==i?(i=t+r*Dl,o=t-l/2):(i=Ou(a,i),o=Ou(a,o),(r>0?io)&&(i+=r*Dl));for(var c,u=i;r>0?u>o:u1&&t.push(t.pop().concat(t.shift()))},result:function(){var n=t;return t=[],e=null,n}}}function Du(e,t){return Nl(e[0]-t[0])=0;--o)i.point((u=c[o])[0],u[1]);else r(f.x,f.p.x,-1,i);f=f.p}c=(f=f.o).z,h=!h}while(!f.v);i.lineEnd()}}}function Nu(e){if(t=e.length){for(var t,n,r=0,i=e[0];++r=0?1:-1,C=S*k,j=C>Ol,E=m*w;if($u.add(Fl(E*S*Ul(C),g*_+E*zl(C))),a+=j?k+S*Dl:k,j^h>=n^b>=n){var T=_c(xc(f),xc(y));Cc(T);var M=_c(o,T);Cc(M);var A=(j^k>=0?-1:1)*Yl(M[2]);(r>A||r===A&&(T[0]||T[1]))&&(s+=j^k>=0?1:-1)}}return(a<-1e-6||a0){for(d||(i.polygonStart(),d=!0),i.lineStart(),e=0;e1&&2&l&&f.push(f.pop().concat(f.shift())),a.push(f.filter(Wu))}return f}}function Wu(e){return e.length>1}function Hu(e,t){return((e=e.x)[0]<0?e[1]-Zl-Al:Zl-e[1])-((t=t.x)[0]<0?t[1]-Zl-Al:Zl-t[1])}var Vu=Bu((function(){return!0}),(function(e){var t,n=NaN,r=NaN,i=NaN;return{lineStart:function(){e.lineStart(),t=1},point:function(o,a){var s=o>0?Ol:-Ol,l=Nl(o-n);Nl(l-Ol)0?Zl:-Zl),e.point(i,r),e.lineEnd(),e.lineStart(),e.point(s,r),e.point(o,r),t=0):i!==s&&l>=Ol&&(Nl(n-i)