UNPKG

plotly.js

Version:

The open source javascript graphing library that powers plotly

18 lines 1.41 MB
/** * plotly.js (cartesian - minified) v3.2.0 * Copyright 2012-2025, Plotly, Inc. * All rights reserved. * Licensed under the MIT license */ ( function(root, factory) { if (typeof module === "object" && module.exports) { module.exports = factory(); } else { root.moduleName = factory(); } } (typeof self !== "undefined" ? self : this, () => { "use strict";var Plotly=(()=>{var Qie=Object.defineProperty,eoe=Object.defineProperties;var roe=Object.getOwnPropertyDescriptors;var UA=Object.getOwnPropertySymbols;var toe=Object.prototype.hasOwnProperty,aoe=Object.prototype.propertyIsEnumerable;var GA=(e,r,t)=>r in e?Qie(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,Vs=(e,r)=>{for(var t in r||(r={}))toe.call(r,t)&&GA(e,t,r[t]);if(UA)for(var t of UA(r))aoe.call(r,t)&&GA(e,t,r[t]);return e},lp=(e,r)=>eoe(e,roe(r));var N=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var sp=N(VA=>{"use strict";VA.version="3.2.0"});var jA=N((YA,up)=>{(function(r,t,a){t[r]=t[r]||a(),typeof up!="undefined"&&up.exports&&(up.exports=t[r])})("Promise",typeof window!="undefined"?window:YA,function(){"use strict";var r,t,a,n=Object.prototype.toString,i=typeof setImmediate!="undefined"?function(w){return setImmediate(w)}:setTimeout;try{Object.defineProperty({},"x",{}),r=function(w,_,b,T){return Object.defineProperty(w,_,{value:b,writable:!0,configurable:T!==!1})}}catch(x){r=function(_,b,T){return _[b]=T,_}}a=function(){var w,_,b;function T(k,M){this.fn=k,this.self=M,this.next=void 0}return{add:function(M,q){b=new T(M,q),_?_.next=b:w=b,_=b,b=void 0},drain:function(){var M=w;for(w=_=t=void 0;M;)M.fn.call(M.self),M=M.next}}}();function o(x,w){a.add(x,w),t||(t=i(a.drain))}function l(x){var w,_=typeof x;return x!=null&&(_=="object"||_=="function")&&(w=x.then),typeof w=="function"?w:!1}function s(){for(var x=0;x<this.chain.length;x++)u(this,this.state===1?this.chain[x].success:this.chain[x].failure,this.chain[x]);this.chain.length=0}function u(x,w,_){var b,T;try{w===!1?_.reject(x.msg):(w===!0?b=x.msg:b=w.call(void 0,x.msg),b===_.promise?_.reject(TypeError("Promise-chain cycle")):(T=l(b))?T.call(b,_.resolve,_.reject):_.resolve(b))}catch(k){_.reject(k)}}function f(x){var w,_=this;if(!_.triggered){_.triggered=!0,_.def&&(_=_.def);try{(w=l(x))?o(function(){var b=new d(_);try{w.call(x,function(){f.apply(b,arguments)},function(){c.apply(b,arguments)})}catch(T){c.call(b,T)}}):(_.msg=x,_.state=1,_.chain.length>0&&o(s,_))}catch(b){c.call(new d(_),b)}}}function c(x){var w=this;w.triggered||(w.triggered=!0,w.def&&(w=w.def),w.msg=x,w.state=2,w.chain.length>0&&o(s,w))}function v(x,w,_,b){for(var T=0;T<w.length;T++)(function(M){x.resolve(w[M]).then(function(E){_(M,E)},b)})(T)}function d(x){this.def=x,this.triggered=!1}function p(x){this.promise=x,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function y(x){if(typeof x!="function")throw TypeError("Not a function");if(this.__NPO__!==0)throw TypeError("Not a promise");this.__NPO__=1;var w=new p(this);this.then=function(b,T){var k={success:typeof b=="function"?b:!0,failure:typeof T=="function"?T:!1};return k.promise=new this.constructor(function(q,E){if(typeof q!="function"||typeof E!="function")throw TypeError("Not a function");k.resolve=q,k.reject=E}),w.chain.push(k),w.state!==0&&o(s,w),k.promise},this.catch=function(b){return this.then(void 0,b)};try{x.call(void 0,function(b){f.call(w,b)},function(b){c.call(w,b)})}catch(_){c.call(w,_)}}var m=r({},"constructor",y,!1);return y.prototype=m,r(m,"__NPO__",0,!1),r(y,"resolve",function(w){var _=this;return w&&typeof w=="object"&&w.__NPO__===1?w:new _(function(T,k){if(typeof T!="function"||typeof k!="function")throw TypeError("Not a function");T(w)})}),r(y,"reject",function(w){return new this(function(b,T){if(typeof b!="function"||typeof T!="function")throw TypeError("Not a function");T(w)})}),r(y,"all",function(w){var _=this;return n.call(w)!="[object Array]"?_.reject(TypeError("Not an array")):w.length===0?_.resolve([]):new _(function(T,k){if(typeof T!="function"||typeof k!="function")throw TypeError("Not a function");var M=w.length,q=Array(M),E=0;v(_,w,function(P,R){q[P]=R,++E===M&&T(q)},k)})}),r(y,"race",function(w){var _=this;return n.call(w)!="[object Array]"?_.reject(TypeError("Not an array")):new _(function(T,k){if(typeof T!="function"||typeof k!="function")throw TypeError("Not a function");v(_,w,function(q,E){T(E)},k)})}),y})});var Sr=N((xCe,fp)=>{(function(){var e={version:"3.8.2"},r=[].slice,t=function(h){return r.call(h)},a=self.document;function n(h){return h&&(h.ownerDocument||h.document||h).documentElement}function i(h){return h&&(h.ownerDocument&&h.ownerDocument.defaultView||h.document&&h||h.defaultView)}if(a)try{t(a.documentElement.childNodes)[0].nodeType}catch(h){t=function(g){for(var A=g.length,S=new Array(A);A--;)S[A]=g[A];return S}}if(Date.now||(Date.now=function(){return+new Date}),a)try{a.createElement("DIV").style.setProperty("opacity",0,"")}catch(h){var o=this.Element.prototype,l=o.setAttribute,s=o.setAttributeNS,u=this.CSSStyleDeclaration.prototype,f=u.setProperty;o.setAttribute=function(g,A){l.call(this,g,A+"")},o.setAttributeNS=function(g,A,S){s.call(this,g,A,S+"")},u.setProperty=function(g,A,S){f.call(this,g,A+"",S)}}e.ascending=c;function c(h,g){return h<g?-1:h>g?1:h>=g?0:NaN}e.descending=function(h,g){return g<h?-1:g>h?1:g>=h?0:NaN},e.min=function(h,g){var A=-1,S=h.length,L,C;if(arguments.length===1){for(;++A<S;)if((C=h[A])!=null&&C>=C){L=C;break}for(;++A<S;)(C=h[A])!=null&&L>C&&(L=C)}else{for(;++A<S;)if((C=g.call(h,h[A],A))!=null&&C>=C){L=C;break}for(;++A<S;)(C=g.call(h,h[A],A))!=null&&L>C&&(L=C)}return L},e.max=function(h,g){var A=-1,S=h.length,L,C;if(arguments.length===1){for(;++A<S;)if((C=h[A])!=null&&C>=C){L=C;break}for(;++A<S;)(C=h[A])!=null&&C>L&&(L=C)}else{for(;++A<S;)if((C=g.call(h,h[A],A))!=null&&C>=C){L=C;break}for(;++A<S;)(C=g.call(h,h[A],A))!=null&&C>L&&(L=C)}return L},e.extent=function(h,g){var A=-1,S=h.length,L,C,I;if(arguments.length===1){for(;++A<S;)if((C=h[A])!=null&&C>=C){L=I=C;break}for(;++A<S;)(C=h[A])!=null&&(L>C&&(L=C),I<C&&(I=C))}else{for(;++A<S;)if((C=g.call(h,h[A],A))!=null&&C>=C){L=I=C;break}for(;++A<S;)(C=g.call(h,h[A],A))!=null&&(L>C&&(L=C),I<C&&(I=C))}return[L,I]};function v(h){return h===null?NaN:+h}function d(h){return!isNaN(h)}e.sum=function(h,g){var A=0,S=h.length,L,C=-1;if(arguments.length===1)for(;++C<S;)d(L=+h[C])&&(A+=L);else for(;++C<S;)d(L=+g.call(h,h[C],C))&&(A+=L);return A},e.mean=function(h,g){var A=0,S=h.length,L,C=-1,I=S;if(arguments.length===1)for(;++C<S;)d(L=v(h[C]))?A+=L:--I;else for(;++C<S;)d(L=v(g.call(h,h[C],C)))?A+=L:--I;if(I)return A/I},e.quantile=function(h,g){var A=(h.length-1)*g+1,S=Math.floor(A),L=+h[S-1],C=A-S;return C?L+C*(h[S]-L):L},e.median=function(h,g){var A=[],S=h.length,L,C=-1;if(arguments.length===1)for(;++C<S;)d(L=v(h[C]))&&A.push(L);else for(;++C<S;)d(L=v(g.call(h,h[C],C)))&&A.push(L);if(A.length)return e.quantile(A.sort(c),.5)},e.variance=function(h,g){var A=h.length,S=0,L,C,I=0,F=-1,H=0;if(arguments.length===1)for(;++F<A;)d(L=v(h[F]))&&(C=L-S,S+=C/++H,I+=C*(L-S));else for(;++F<A;)d(L=v(g.call(h,h[F],F)))&&(C=L-S,S+=C/++H,I+=C*(L-S));if(H>1)return I/(H-1)},e.deviation=function(){var h=e.variance.apply(this,arguments);return h&&Math.sqrt(h)};function p(h){return{left:function(g,A,S,L){for(arguments.length<3&&(S=0),arguments.length<4&&(L=g.length);S<L;){var C=S+L>>>1;h(g[C],A)<0?S=C+1:L=C}return S},right:function(g,A,S,L){for(arguments.length<3&&(S=0),arguments.length<4&&(L=g.length);S<L;){var C=S+L>>>1;h(g[C],A)>0?L=C:S=C+1}return S}}}var y=p(c);e.bisectLeft=y.left,e.bisect=e.bisectRight=y.right,e.bisector=function(h){return p(h.length===1?function(g,A){return c(h(g),A)}:h)},e.shuffle=function(h,g,A){(S=arguments.length)<3&&(A=h.length,S<2&&(g=0));for(var S=A-g,L,C;S;)C=Math.random()*S--|0,L=h[S+g],h[S+g]=h[C+g],h[C+g]=L;return h},e.permute=function(h,g){for(var A=g.length,S=new Array(A);A--;)S[A]=h[g[A]];return S},e.pairs=function(h){for(var g=0,A=h.length-1,S,L=h[0],C=new Array(A<0?0:A);g<A;)C[g]=[S=L,L=h[++g]];return C},e.transpose=function(h){if(!(C=h.length))return[];for(var g=-1,A=e.min(h,m),S=new Array(A);++g<A;)for(var L=-1,C,I=S[g]=new Array(C);++L<C;)I[L]=h[L][g];return S};function m(h){return h.length}e.zip=function(){return e.transpose(arguments)},e.keys=function(h){var g=[];for(var A in h)g.push(A);return g},e.values=function(h){var g=[];for(var A in h)g.push(h[A]);return g},e.entries=function(h){var g=[];for(var A in h)g.push({key:A,value:h[A]});return g},e.merge=function(h){for(var g=h.length,A,S=-1,L=0,C,I;++S<g;)L+=h[S].length;for(C=new Array(L);--g>=0;)for(I=h[g],A=I.length;--A>=0;)C[--L]=I[A];return C};var x=Math.abs;e.range=function(h,g,A){if(arguments.length<3&&(A=1,arguments.length<2&&(g=h,h=0)),(g-h)/A===1/0)throw new Error("infinite range");var S=[],L=w(x(A)),C=-1,I;if(h*=L,g*=L,A*=L,A<0)for(;(I=h+A*++C)>g;)S.push(I/L);else for(;(I=h+A*++C)<g;)S.push(I/L);return S};function w(h){for(var g=1;h*g%1;)g*=10;return g}function _(h,g){for(var A in g)Object.defineProperty(h.prototype,A,{value:g[A],enumerable:!1})}e.map=function(h,g){var A=new b;if(h instanceof b)h.forEach(function(F,H){A.set(F,H)});else if(Array.isArray(h)){var S=-1,L=h.length,C;if(arguments.length===1)for(;++S<L;)A.set(S,h[S]);else for(;++S<L;)A.set(g.call(h,C=h[S],S),C)}else for(var I in h)A.set(I,h[I]);return A};function b(){this._=Object.create(null)}var T="__proto__",k="\0";_(b,{has:E,get:function(h){return this._[M(h)]},set:function(h,g){return this._[M(h)]=g},remove:D,keys:P,values:function(){var h=[];for(var g in this._)h.push(this._[g]);return h},entries:function(){var h=[];for(var g in this._)h.push({key:q(g),value:this._[g]});return h},size:R,empty:z,forEach:function(h){for(var g in this._)h.call(this,q(g),this._[g])}});function M(h){return(h+="")===T||h[0]===k?k+h:h}function q(h){return(h+="")[0]===k?h.slice(1):h}function E(h){return M(h)in this._}function D(h){return(h=M(h))in this._&&delete this._[h]}function P(){var h=[];for(var g in this._)h.push(q(g));return h}function R(){var h=0;for(var g in this._)++h;return h}function z(){for(var h in this._)return!1;return!0}e.nest=function(){var h={},g=[],A=[],S,L;function C(F,H,X){if(X>=g.length)return L?L.call(h,H):S?H.sort(S):H;for(var $=-1,re=H.length,te=g[X++],we,ke,ae,de=new b,ge;++$<re;)(ge=de.get(we=te(ke=H[$])))?ge.push(ke):de.set(we,[ke]);return F?(ke=F(),ae=function(Me,Se){ke.set(Me,C(F,Se,X))}):(ke={},ae=function(Me,Se){ke[Me]=C(F,Se,X)}),de.forEach(ae),ke}function I(F,H){if(H>=g.length)return F;var X=[],$=A[H++];return F.forEach(function(re,te){X.push({key:re,values:I(te,H)})}),$?X.sort(function(re,te){return $(re.key,te.key)}):X}return h.map=function(F,H){return C(H,F,0)},h.entries=function(F){return I(C(e.map,F,0),0)},h.key=function(F){return g.push(F),h},h.sortKeys=function(F){return A[g.length-1]=F,h},h.sortValues=function(F){return S=F,h},h.rollup=function(F){return L=F,h},h},e.set=function(h){var g=new O;if(h)for(var A=0,S=h.length;A<S;++A)g.add(h[A]);return g};function O(){this._=Object.create(null)}_(O,{has:E,add:function(h){return this._[M(h+="")]=!0,h},remove:D,values:P,size:R,empty:z,forEach:function(h){for(var g in this._)h.call(this,q(g))}}),e.behavior={};function B(h){return h}e.rebind=function(h,g){for(var A=1,S=arguments.length,L;++A<S;)h[L=arguments[A]]=Y(h,g,g[L]);return h};function Y(h,g,A){return function(){var S=A.apply(g,arguments);return S===g?h:S}}function G(h,g){if(g in h)return g;g=g.charAt(0).toUpperCase()+g.slice(1);for(var A=0,S=U.length;A<S;++A){var L=U[A]+g;if(L in h)return L}}var U=["webkit","ms","moz","Moz","o","O"];function V(){}e.dispatch=function(){for(var h=new J,g=-1,A=arguments.length;++g<A;)h[arguments[g]]=Z(h);return h};function J(){}J.prototype.on=function(h,g){var A=h.indexOf("."),S="";if(A>=0&&(S=h.slice(A+1),h=h.slice(0,A)),h)return arguments.length<2?this[h].on(S):this[h].on(S,g);if(arguments.length===2){if(g==null)for(h in this)this.hasOwnProperty(h)&&this[h].on(S,null);return this}};function Z(h){var g=[],A=new b;function S(){for(var L=g,C=-1,I=L.length,F;++C<I;)(F=L[C].on)&&F.apply(this,arguments);return h}return S.on=function(L,C){var I=A.get(L),F;return arguments.length<2?I&&I.on:(I&&(I.on=null,g=g.slice(0,F=g.indexOf(I)).concat(g.slice(F+1)),A.remove(L)),C&&g.push(A.set(L,{on:C})),h)},S}e.event=null;function ee(){e.event.preventDefault()}function fe(){for(var h=e.event,g;g=h.sourceEvent;)h=g;return h}function ie(h){for(var g=new J,A=0,S=arguments.length;++A<S;)g[arguments[A]]=Z(g);return g.of=function(L,C){return function(I){try{var F=I.sourceEvent=e.event;I.target=h,e.event=I,g[I.type].apply(L,C)}finally{e.event=F}}},g}e.requote=function(h){return h.replace(ue,"\\$&")};var ue=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,K={}.__proto__?function(h,g){h.__proto__=g}:function(h,g){for(var A in g)h[A]=g[A]};function _e(h){return K(h,ce),h}var le=function(h,g){return g.querySelector(h)},he=function(h,g){return g.querySelectorAll(h)},oe=function(h,g){var A=h.matches||h[G(h,"matchesSelector")];return oe=function(S,L){return A.call(S,L)},oe(h,g)};typeof Sizzle=="function"&&(le=function(h,g){return Sizzle(h,g)[0]||null},he=Sizzle,oe=Sizzle.matchesSelector),e.selection=function(){return e.select(a.documentElement)};var ce=e.selection.prototype=[];ce.select=function(h){var g=[],A,S,L,C;h=j(h);for(var I=-1,F=this.length;++I<F;){g.push(A=[]),A.parentNode=(L=this[I]).parentNode;for(var H=-1,X=L.length;++H<X;)(C=L[H])?(A.push(S=h.call(C,C.__data__,H,I)),S&&"__data__"in C&&(S.__data__=C.__data__)):A.push(null)}return _e(g)};function j(h){return typeof h=="function"?h:function(){return le(h,this)}}ce.selectAll=function(h){var g=[],A,S;h=Q(h);for(var L=-1,C=this.length;++L<C;)for(var I=this[L],F=-1,H=I.length;++F<H;)(S=I[F])&&(g.push(A=t(h.call(S,S.__data__,F,L))),A.parentNode=S);return _e(g)};function Q(h){return typeof h=="function"?h:function(){return he(h,this)}}var W="http://www.w3.org/1999/xhtml",pe={svg:"http://www.w3.org/2000/svg",xhtml:W,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};e.ns={prefix:pe,qualify:function(h){var g=h.indexOf(":"),A=h;return g>=0&&(A=h.slice(0,g))!=="xmlns"&&(h=h.slice(g+1)),pe.hasOwnProperty(A)?{space:pe[A],local:h}:h}},ce.attr=function(h,g){if(arguments.length<2){if(typeof h=="string"){var A=this.node();return h=e.ns.qualify(h),h.local?A.getAttributeNS(h.space,h.local):A.getAttribute(h)}for(g in h)this.each(me(g,h[g]));return this}return this.each(me(h,g))};function me(h,g){h=e.ns.qualify(h);function A(){this.removeAttribute(h)}function S(){this.removeAttributeNS(h.space,h.local)}function L(){this.setAttribute(h,g)}function C(){this.setAttributeNS(h.space,h.local,g)}function I(){var H=g.apply(this,arguments);H==null?this.removeAttribute(h):this.setAttribute(h,H)}function F(){var H=g.apply(this,arguments);H==null?this.removeAttributeNS(h.space,h.local):this.setAttributeNS(h.space,h.local,H)}return g==null?h.local?S:A:typeof g=="function"?h.local?F:I:h.local?C:L}function ye(h){return h.trim().replace(/\s+/g," ")}ce.classed=function(h,g){if(arguments.length<2){if(typeof h=="string"){var A=this.node(),S=(h=Ne(h)).length,L=-1;if(g=A.classList){for(;++L<S;)if(!g.contains(h[L]))return!1}else for(g=A.getAttribute("class");++L<S;)if(!Pe(h[L]).test(g))return!1;return!0}for(g in h)this.each(Ee(g,h[g]));return this}return this.each(Ee(h,g))};function Pe(h){return new RegExp("(?:^|\\s+)"+e.requote(h)+"(?:\\s+|$)","g")}function Ne(h){return(h+"").trim().split(/^|\s+/)}function Ee(h,g){h=Ne(h).map(Ie);var A=h.length;function S(){for(var C=-1;++C<A;)h[C](this,g)}function L(){for(var C=-1,I=g.apply(this,arguments);++C<A;)h[C](this,I)}return typeof g=="function"?L:S}function Ie(h){var g=Pe(h);return function(A,S){if(L=A.classList)return S?L.add(h):L.remove(h);var L=A.getAttribute("class")||"";S?(g.lastIndex=0,g.test(L)||A.setAttribute("class",ye(L+" "+h))):A.setAttribute("class",ye(L.replace(g," ")))}}ce.style=function(h,g,A){var S=arguments.length;if(S<3){if(typeof h!="string"){S<2&&(g="");for(A in h)this.each(Ue(A,h[A],g));return this}if(S<2){var L=this.node();return i(L).getComputedStyle(L,null).getPropertyValue(h)}A=""}return this.each(Ue(h,g,A))};function Ue(h,g,A){function S(){this.style.removeProperty(h)}function L(){this.style.setProperty(h,g,A)}function C(){var I=g.apply(this,arguments);I==null?this.style.removeProperty(h):this.style.setProperty(h,I,A)}return g==null?S:typeof g=="function"?C:L}ce.property=function(h,g){if(arguments.length<2){if(typeof h=="string")return this.node()[h];for(g in h)this.each(Be(g,h[g]));return this}return this.each(Be(h,g))};function Be(h,g){function A(){delete this[h]}function S(){this[h]=g}function L(){var C=g.apply(this,arguments);C==null?delete this[h]:this[h]=C}return g==null?A:typeof g=="function"?L:S}ce.text=function(h){return arguments.length?this.each(typeof h=="function"?function(){var g=h.apply(this,arguments);this.textContent=g==null?"":g}:h==null?function(){this.textContent=""}:function(){this.textContent=h}):this.node().textContent},ce.html=function(h){return arguments.length?this.each(typeof h=="function"?function(){var g=h.apply(this,arguments);this.innerHTML=g==null?"":g}:h==null?function(){this.innerHTML=""}:function(){this.innerHTML=h}):this.node().innerHTML},ce.append=function(h){return h=Ce(h),this.select(function(){return this.appendChild(h.apply(this,arguments))})};function Ce(h){function g(){var S=this.ownerDocument,L=this.namespaceURI;return L===W&&S.documentElement.namespaceURI===W?S.createElement(h):S.createElementNS(L,h)}function A(){return this.ownerDocument.createElementNS(h.space,h.local)}return typeof h=="function"?h:(h=e.ns.qualify(h)).local?A:g}ce.insert=function(h,g){return h=Ce(h),g=j(g),this.select(function(){return this.insertBefore(h.apply(this,arguments),g.apply(this,arguments)||null)})},ce.remove=function(){return this.each(Oe)};function Oe(){var h=this.parentNode;h&&h.removeChild(this)}ce.data=function(h,g){var A=-1,S=this.length,L,C;if(!arguments.length){for(h=new Array(S=(L=this[0]).length);++A<S;)(C=L[A])&&(h[A]=C.__data__);return h}function I($,re){var te,we=$.length,ke=re.length,ae=Math.min(we,ke),de=new Array(ke),ge=new Array(ke),Me=new Array(we),Se,xe;if(g){var Ye=new b,ir=new Array(we),cr;for(te=-1;++te<we;)(Se=$[te])&&(Ye.has(cr=g.call(Se,Se.__data__,te))?Me[te]=Se:Ye.set(cr,Se),ir[te]=cr);for(te=-1;++te<ke;)(Se=Ye.get(cr=g.call(re,xe=re[te],te)))?Se!==!0&&(de[te]=Se,Se.__data__=xe):ge[te]=He(xe),Ye.set(cr,!0);for(te=-1;++te<we;)te in ir&&Ye.get(ir[te])!==!0&&(Me[te]=$[te])}else{for(te=-1;++te<ae;)Se=$[te],xe=re[te],Se?(Se.__data__=xe,de[te]=Se):ge[te]=He(xe);for(;te<ke;++te)ge[te]=He(re[te]);for(;te<we;++te)Me[te]=$[te]}ge.update=de,ge.parentNode=de.parentNode=Me.parentNode=$.parentNode,F.push(ge),H.push(de),X.push(Me)}var F=vr([]),H=_e([]),X=_e([]);if(typeof h=="function")for(;++A<S;)I(L=this[A],h.call(L,L.parentNode.__data__,A));else for(;++A<S;)I(L=this[A],h);return H.enter=function(){return F},H.exit=function(){return X},H};function He(h){return{__data__:h}}ce.datum=function(h){return arguments.length?this.property("__data__",h):this.property("__data__")},ce.filter=function(h){var g=[],A,S,L;typeof h!="function"&&(h=se(h));for(var C=0,I=this.length;C<I;C++){g.push(A=[]),A.parentNode=(S=this[C]).parentNode;for(var F=0,H=S.length;F<H;F++)(L=S[F])&&h.call(L,L.__data__,F,C)&&A.push(L)}return _e(g)};function se(h){return function(){return oe(this,h)}}ce.order=function(){for(var h=-1,g=this.length;++h<g;)for(var A=this[h],S=A.length-1,L=A[S],C;--S>=0;)(C=A[S])&&(L&&L!==C.nextSibling&&L.parentNode.insertBefore(C,L),L=C);return this},ce.sort=function(h){h=Ae.apply(this,arguments);for(var g=-1,A=this.length;++g<A;)this[g].sort(h);return this.order()};function Ae(h){return arguments.length||(h=c),function(g,A){return g&&A?h(g.__data__,A.__data__):!g-!A}}ce.each=function(h){return Xe(this,function(g,A,S){h.call(g,g.__data__,A,S)})};function Xe(h,g){for(var A=0,S=h.length;A<S;A++)for(var L=h[A],C=0,I=L.length,F;C<I;C++)(F=L[C])&&g(F,C,A);return h}ce.call=function(h){var g=t(arguments);return h.apply(g[0]=this,g),this},ce.empty=function(){return!this.node()},ce.node=function(){for(var h=0,g=this.length;h<g;h++)for(var A=this[h],S=0,L=A.length;S<L;S++){var C=A[S];if(C)return C}return null},ce.size=function(){var h=0;return Xe(this,function(){++h}),h};function vr(h){return K(h,Fe),h}var Fe=[];e.selection.enter=vr,e.selection.enter.prototype=Fe,Fe.append=ce.append,Fe.empty=ce.empty,Fe.node=ce.node,Fe.call=ce.call,Fe.size=ce.size,Fe.select=function(h){for(var g=[],A,S,L,C,I,F=-1,H=this.length;++F<H;){L=(C=this[F]).update,g.push(A=[]),A.parentNode=C.parentNode;for(var X=-1,$=C.length;++X<$;)(I=C[X])?(A.push(L[X]=S=h.call(C.parentNode,I.__data__,X,F)),S.__data__=I.__data__):A.push(null)}return _e(g)},Fe.insert=function(h,g){return arguments.length<2&&(g=Te(this)),ce.insert.call(this,h,g)};function Te(h){var g,A;return function(S,L,C){var I=h[C].update,F=I.length,H;for(C!=A&&(A=C,g=0),L>=g&&(g=L+1);!(H=I[g])&&++g<F;);return H}}e.select=function(h){var g;return typeof h=="string"?(g=[le(h,a)],g.parentNode=a.documentElement):(g=[h],g.parentNode=n(h)),_e([g])},e.selectAll=function(h){var g;return typeof h=="string"?(g=t(he(h,a)),g.parentNode=a.documentElement):(g=t(h),g.parentNode=null),_e([g])},ce.on=function(h,g,A){var S=arguments.length;if(S<3){if(typeof h!="string"){S<2&&(g=!1);for(A in h)this.each(qe(A,h[A],g));return this}if(S<2)return(S=this.node()["__on"+h])&&S._;A=!1}return this.each(qe(h,g,A))};function qe(h,g,A){var S="__on"+h,L=h.indexOf("."),C=Je;L>0&&(h=h.slice(0,L));var I=Ge.get(h);I&&(h=I,C=Ve);function F(){var $=this[S];$&&(this.removeEventListener(h,$,$.$),delete this[S])}function H(){var $=C(g,t(arguments));F.call(this),this.addEventListener(h,this[S]=$,$.$=A),$._=g}function X(){var $=new RegExp("^__on([^.]+)"+e.requote(h)+"$"),re;for(var te in this)if(re=te.match($)){var we=this[te];this.removeEventListener(re[1],we,we.$),delete this[te]}}return L?g?H:F:g?V:X}var Ge=e.map({mouseenter:"mouseover",mouseleave:"mouseout"});a&&Ge.forEach(function(h){"on"+h in a&&Ge.remove(h)});function Je(h,g){return function(A){var S=e.event;e.event=A,g[0]=this.__data__;try{h.apply(this,g)}finally{e.event=S}}}function Ve(h,g){var A=Je(h,g);return function(S){var L=this,C=S.relatedTarget;(!C||C!==L&&!(C.compareDocumentPosition(L)&8))&&A.call(L,S)}}var Ze,or=0;function rr(h){var g=".dragsuppress-"+ ++or,A="click"+g,S=e.select(i(h)).on("touchmove"+g,ee).on("dragstart"+g,ee).on("selectstart"+g,ee);if(Ze==null&&(Ze="onselectstart"in h?!1:G(h.style,"userSelect")),Ze){var L=n(h).style,C=L[Ze];L[Ze]="none"}return function(I){if(S.on(g,null),Ze&&(L[Ze]=C),I){var F=function(){S.on(A,null)};S.on(A,function(){ee(),F()},!0),setTimeout(F,0)}}}e.mouse=function(h){return ze(h,fe())};var Ke=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function ze(h,g){g.changedTouches&&(g=g.changedTouches[0]);var A=h.ownerSVGElement||h;if(A.createSVGPoint){var S=A.createSVGPoint();if(Ke<0){var L=i(h);if(L.scrollX||L.scrollY){A=e.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var C=A[0][0].getScreenCTM();Ke=!(C.f||C.e),A.remove()}}return Ke?(S.x=g.pageX,S.y=g.pageY):(S.x=g.clientX,S.y=g.clientY),S=S.matrixTransform(h.getScreenCTM().inverse()),[S.x,S.y]}var I=h.getBoundingClientRect();return[g.clientX-I.left-h.clientLeft,g.clientY-I.top-h.clientTop]}e.touch=function(h,g,A){if(arguments.length<3&&(A=g,g=fe().changedTouches),g){for(var S=0,L=g.length,C;S<L;++S)if((C=g[S]).identifier===A)return ze(h,C)}},e.behavior.drag=function(){var h=ie(L,"drag","dragstart","dragend"),g=null,A=C(V,e.mouse,i,"mousemove","mouseup"),S=C(ne,e.touch,B,"touchmove","touchend");function L(){this.on("mousedown.drag",A).on("touchstart.drag",S)}function C(I,F,H,X,$){return function(){var re=this,te=e.event.target.correspondingElement||e.event.target,we=re.parentNode,ke=h.of(re,arguments),ae=0,de=I(),ge=".drag"+(de==null?"":"-"+de),Me,Se=e.select(H(te)).on(X+ge,ir).on($+ge,cr),xe=rr(te),Ye=F(we,de);g?(Me=g.apply(re,arguments),Me=[Me.x-Ye[0],Me.y-Ye[1]]):Me=[0,0],ke({type:"dragstart"});function ir(){var lr=F(we,de),pr,yr;lr&&(pr=lr[0]-Ye[0],yr=lr[1]-Ye[1],ae|=pr|yr,Ye=lr,ke({type:"drag",x:lr[0]+Me[0],y:lr[1]+Me[1],dx:pr,dy:yr}))}function cr(){F(we,de)&&(Se.on(X+ge,null).on($+ge,null),xe(ae),ke({type:"dragend"}))}}}return L.origin=function(I){return arguments.length?(g=I,L):g},e.rebind(L,h,"on")};function ne(){return e.event.changedTouches[0].identifier}e.touches=function(h,g){return arguments.length<2&&(g=fe().touches),g?t(g).map(function(A){var S=ze(h,A);return S.identifier=A.identifier,S}):[]};var ve=1e-6,De=ve*ve,Re=Math.PI,Qe=2*Re,fr=Qe-ve,sr=Re/2,kr=Re/180,Ir=180/Re;function Yr(h){return h>0?1:h<0?-1:0}function et(h,g,A){return(g[0]-h[0])*(A[1]-h[1])-(g[1]-h[1])*(A[0]-h[0])}function qt(h){return h>1?0:h<-1?Re:Math.acos(h)}function ft(h){return h>1?sr:h<-1?-sr:Math.asin(h)}function Ft(h){return((h=Math.exp(h))-1/h)/2}function Tt(h){return((h=Math.exp(h))+1/h)/2}function da(h){return((h=Math.exp(2*h))-1)/(h+1)}function $t(h){return(h=Math.sin(h/2))*h}var oa=Math.SQRT2,dr=2,yt=4;e.interpolateZoom=function(h,g){var A=h[0],S=h[1],L=h[2],C=g[0],I=g[1],F=g[2],H=C-A,X=I-S,$=H*H+X*X,re,te;if($<De)te=Math.log(F/L)/oa,re=function(Me){return[A+Me*H,S+Me*X,L*Math.exp(oa*Me*te)]};else{var we=Math.sqrt($),ke=(F*F-L*L+yt*$)/(2*L*dr*we),ae=(F*F-L*L-yt*$)/(2*F*dr*we),de=Math.log(Math.sqrt(ke*ke+1)-ke),ge=Math.log(Math.sqrt(ae*ae+1)-ae);te=(ge-de)/oa,re=function(Me){var Se=Me*te,xe=Tt(de),Ye=L/(dr*we)*(xe*da(oa*Se+de)-Ft(de));return[A+Ye*H,S+Ye*X,L*xe/Tt(oa*Se+de)]}}return re.duration=te*1e3,re},e.behavior.zoom=function(){var h={x:0,y:0,k:1},g,A,S,L=[960,500],C=Zr,I=250,F=0,H="mousedown.zoom",X="mousemove.zoom",$="mouseup.zoom",re,te="touchstart.zoom",we,ke=ie(Se,"zoomstart","zoom","zoomend"),ae,de,ge,Me;mt||(mt="onwheel"in a?($r=function(){return-e.event.deltaY*(e.event.deltaMode?120:1)},"wheel"):"onmousewheel"in a?($r=function(){return e.event.wheelDelta},"mousewheel"):($r=function(){return-e.event.detail},"MozMousePixelScroll"));function Se(tr){tr.on(H,Mr).on(mt+".zoom",Kt).on("dblclick.zoom",dt).on(te,at)}Se.event=function(tr){tr.each(function(){var Dr=ke.of(this,arguments),Pr=h;Hs?e.select(this).transition().each("start.zoom",function(){h=this.__chart__||{x:0,y:0,k:1},yr(Dr)}).tween("zoom:zoom",function(){var nt=L[0],Gt=L[1],ya=A?A[0]:nt/2,Ia=A?A[1]:Gt/2,tn=e.interpolateZoom([(ya-h.x)/h.k,(Ia-h.y)/h.k,nt/h.k],[(ya-Pr.x)/Pr.k,(Ia-Pr.y)/Pr.k,nt/Pr.k]);return function(mn){var an=tn(mn),An=nt/an[2];this.__chart__=h={x:ya-an[0]*An,y:Ia-an[1]*An,k:An},Er(Dr)}}).each("interrupt.zoom",function(){gr(Dr)}).each("end.zoom",function(){gr(Dr)}):(this.__chart__=h,yr(Dr),Er(Dr),gr(Dr))})},Se.translate=function(tr){return arguments.length?(h={x:+tr[0],y:+tr[1],k:h.k},pr(),Se):[h.x,h.y]},Se.scale=function(tr){return arguments.length?(h={x:h.x,y:h.y,k:null},ir(+tr),pr(),Se):h.k},Se.scaleExtent=function(tr){return arguments.length?(C=tr==null?Zr:[+tr[0],+tr[1]],Se):C},Se.center=function(tr){return arguments.length?(S=tr&&[+tr[0],+tr[1]],Se):S},Se.size=function(tr){return arguments.length?(L=tr&&[+tr[0],+tr[1]],Se):L},Se.duration=function(tr){return arguments.length?(I=+tr,Se):I},Se.x=function(tr){return arguments.length?(de=tr,ae=tr.copy(),h={x:0,y:0,k:1},Se):de},Se.y=function(tr){return arguments.length?(Me=tr,ge=tr.copy(),h={x:0,y:0,k:1},Se):Me};function xe(tr){return[(tr[0]-h.x)/h.k,(tr[1]-h.y)/h.k]}function Ye(tr){return[tr[0]*h.k+h.x,tr[1]*h.k+h.y]}function ir(tr){h.k=Math.max(C[0],Math.min(C[1],tr))}function cr(tr,Dr){Dr=Ye(Dr),h.x+=tr[0]-Dr[0],h.y+=tr[1]-Dr[1]}function lr(tr,Dr,Pr,nt){tr.__chart__={x:h.x,y:h.y,k:h.k},ir(Math.pow(2,nt)),cr(A=Dr,Pr),tr=e.select(tr),I>0&&(tr=tr.transition().duration(I)),tr.call(Se.event)}function pr(){de&&de.domain(ae.range().map(function(tr){return(tr-h.x)/h.k}).map(ae.invert)),Me&&Me.domain(ge.range().map(function(tr){return(tr-h.y)/h.k}).map(ge.invert))}function yr(tr){F++||tr({type:"zoomstart"})}function Er(tr){pr(),tr({type:"zoom",scale:h.k,translate:[h.x,h.y]})}function gr(tr){--F||(tr({type:"zoomend"}),A=null)}function Mr(){var tr=this,Dr=ke.of(tr,arguments),Pr=0,nt=e.select(i(tr)).on(X,Ia).on($,tn),Gt=xe(e.mouse(tr)),ya=rr(tr);ap.call(tr),yr(Dr);function Ia(){Pr=1,cr(e.mouse(tr),Gt),Er(Dr)}function tn(){nt.on(X,null).on($,null),ya(Pr),gr(Dr)}}function at(){var tr=this,Dr=ke.of(tr,arguments),Pr={},nt=0,Gt,ya=".zoom-"+e.event.changedTouches[0].identifier,Ia="touchmove"+ya,tn="touchend"+ya,mn=[],an=e.select(tr),An=rr(tr);Mn(),yr(Dr),an.on(H,null).on(te,Mn);function ja(){var Zi=e.touches(tr);return Gt=h.k,Zi.forEach(function(Oa){Oa.identifier in Pr&&(Pr[Oa.identifier]=xe(Oa))}),Zi}function Mn(){var Zi=e.event.target;e.select(Zi).on(Ia,Us).on(tn,Kie),mn.push(Zi);for(var Oa=e.event.changedTouches,oi=0,wo=Oa.length;oi<wo;++oi)Pr[Oa[oi].identifier]=null;var li=ja(),xf=Date.now();if(li.length===1){if(xf-we<500){var Gs=li[0];lr(tr,Gs,Pr[Gs.identifier],Math.floor(Math.log(h.k)/Math.LN2)+1),ee()}we=xf}else if(li.length>1){var Gs=li[0],Nl=li[1],op=Gs[0]-Nl[0],HA=Gs[1]-Nl[1];nt=op*op+HA*HA}}function Us(){var Zi=e.touches(tr),Oa,oi,wo,li;ap.call(tr);for(var xf=0,Gs=Zi.length;xf<Gs;++xf,li=null)if(wo=Zi[xf],li=Pr[wo.identifier]){if(oi)break;Oa=wo,oi=li}if(li){var Nl=(Nl=wo[0]-Oa[0])*Nl+(Nl=wo[1]-Oa[1])*Nl,op=nt&&Math.sqrt(Nl/nt);Oa=[(Oa[0]+wo[0])/2,(Oa[1]+wo[1])/2],oi=[(oi[0]+li[0])/2,(oi[1]+li[1])/2],ir(op*Gt)}we=null,cr(Oa,oi),Er(Dr)}function Kie(){if(e.event.touches.length){for(var Zi=e.event.changedTouches,Oa=0,oi=Zi.length;Oa<oi;++Oa)delete Pr[Zi[Oa].identifier];for(var wo in Pr)return void ja()}e.selectAll(mn).on(ya,null),an.on(H,Mr).on(te,at),An(),gr(Dr)}}function Kt(){var tr=ke.of(this,arguments);re?clearTimeout(re):(ap.call(this),g=xe(A=S||e.mouse(this)),yr(tr)),re=setTimeout(function(){re=null,gr(tr)},50),ee(),ir(Math.pow(2,$r()*.002)*h.k),cr(A,g),Er(tr)}function dt(){var tr=e.mouse(this),Dr=Math.log(h.k)/Math.LN2;lr(this,tr,xe(tr),e.event.shiftKey?Math.ceil(Dr)-1:Math.floor(Dr)+1)}return e.rebind(Se,ke,"on")};var Zr=[0,1/0],$r,mt;e.color=Lt;function Lt(){}Lt.prototype.toString=function(){return this.rgb()+""},e.hsl=Gr;function Gr(h,g,A){return this instanceof Gr?(this.h=+h,this.s=+g,void(this.l=+A)):arguments.length<2?h instanceof Gr?new Gr(h.h,h.s,h.l):Kr(""+h,vt,Gr):new Gr(h,g,A)}var Bt=Gr.prototype=new Lt;Bt.brighter=function(h){return h=Math.pow(.7,arguments.length?h:1),new Gr(this.h,this.s,this.l/h)},Bt.darker=function(h){return h=Math.pow(.7,arguments.length?h:1),new Gr(this.h,this.s,h*this.l)},Bt.rgb=function(){return rn(this.h,this.s,this.l)};function rn(h,g,A){var S,L;h=isNaN(h)?0:(h%=360)<0?h+360:h,g=isNaN(g)||g<0?0:g>1?1:g,A=A<0?0:A>1?1:A,L=A<=.5?A*(1+g):A+g-A*g,S=2*A-L;function C(F){return F>360?F-=360:F<0&&(F+=360),F<60?S+(L-S)*F/60:F<180?L:F<240?S+(L-S)*(240-F)/60:S}function I(F){return Math.round(C(F)*255)}return new Wt(I(h+120),I(h),I(h-120))}e.hcl=jt;function jt(h,g,A){return this instanceof jt?(this.h=+h,this.c=+g,void(this.l=+A)):arguments.length<2?h instanceof jt?new jt(h.h,h.c,h.l):h instanceof Nt?zt(h.l,h.a,h.b):zt((h=ur((h=e.rgb(h)).r,h.g,h.b)).l,h.a,h.b):new jt(h,g,A)}var dn=jt.prototype=new Lt;dn.brighter=function(h){return new jt(this.h,this.c,Math.min(100,this.l+Ct*(arguments.length?h:1)))},dn.darker=function(h){return new jt(this.h,this.c,Math.max(0,this.l-Ct*(arguments.length?h:1)))},dn.rgb=function(){return pn(this.h,this.c,this.l).rgb()};function pn(h,g,A){return isNaN(h)&&(h=0),isNaN(g)&&(g=0),new Nt(A,Math.cos(h*=kr)*g,Math.sin(h)*g)}e.lab=Nt;function Nt(h,g,A){return this instanceof Nt?(this.l=+h,this.a=+g,void(this.b=+A)):arguments.length<2?h instanceof Nt?new Nt(h.l,h.a,h.b):h instanceof jt?pn(h.h,h.c,h.l):ur((h=Wt(h)).r,h.g,h.b):new Nt(h,g,A)}var Ct=18,_a=.95047,Qo=1,el=1.08883,ct=Nt.prototype=new Lt;ct.brighter=function(h){return new Nt(Math.min(100,this.l+Ct*(arguments.length?h:1)),this.a,this.b)},ct.darker=function(h){return new Nt(Math.max(0,this.l-Ct*(arguments.length?h:1)),this.a,this.b)},ct.rgb=function(){return Tn(this.l,this.a,this.b)};function Tn(h,g,A){var S=(h+16)/116,L=S+g/500,C=S-A/200;return L=zs(L)*_a,S=zs(S)*Qo,C=zs(C)*el,new Wt(Vi(3.2404542*L-1.5371385*S-.4985314*C),Vi(-.969266*L+1.8760108*S+.041556*C),Vi(.0556434*L-.2040259*S+1.0572252*C))}function zt(h,g,A){return h>0?new jt(Math.atan2(A,g)*Ir,Math.sqrt(g*g+A*A),h):new jt(NaN,NaN,h)}function zs(h){return h>.206893034?h*h*h:(h-4/29)/7.787037}function yn(h){return h>.008856?Math.pow(h,1/3):7.787037*h+4/29}function Vi(h){return Math.round(255*(h<=.00304?12.92*h:1.055*Math.pow(h,1/2.4)-.055))}e.rgb=Wt;function Wt(h,g,A){return this instanceof Wt?(this.r=~~h,this.g=~~g,void(this.b=~~A)):arguments.length<2?h instanceof Wt?new Wt(h.r,h.g,h.b):Kr(""+h,Wt,rn):new Wt(h,g,A)}function Yi(h){return new Wt(h>>16,h>>8&255,h&255)}function Rl(h){return Yi(h)+""}var Pl=Wt.prototype=new Lt;Pl.brighter=function(h){h=Math.pow(.7,arguments.length?h:1);var g=this.r,A=this.g,S=this.b,L=30;return!g&&!A&&!S?new Wt(L,L,L):(g&&g<L&&(g=L),A&&A<L&&(A=L),S&&S<L&&(S=L),new Wt(Math.min(255,g/h),Math.min(255,A/h),Math.min(255,S/h)))},Pl.darker=function(h){return h=Math.pow(.7,arguments.length?h:1),new Wt(h*this.r,h*this.g,h*this.b)},Pl.hsl=function(){return vt(this.r,this.g,this.b)},Pl.toString=function(){return"#"+mr(this.r)+mr(this.g)+mr(this.b)};function mr(h){return h<16?"0"+Math.max(0,h).toString(16):Math.min(255,h).toString(16)}function Kr(h,g,A){var S=0,L=0,C=0,I,F,H;if(I=/([a-z]+)\((.*)\)/.exec(h=h.toLowerCase()),I)switch(F=I[2].split(","),I[1]){case"hsl":return A(parseFloat(F[0]),parseFloat(F[1])/100,parseFloat(F[2])/100);case"rgb":return g(At(F[0]),At(F[1]),At(F[2]))}return(H=za.get(h))?g(H.r,H.g,H.b):(h!=null&&h.charAt(0)==="#"&&!isNaN(H=parseInt(h.slice(1),16))&&(h.length===4?(S=(H&3840)>>4,S=S>>4|S,L=H&240,L=L>>4|L,C=H&15,C=C<<4|C):h.length===7&&(S=(H&16711680)>>16,L=(H&65280)>>8,C=H&255)),g(S,L,C))}function vt(h,g,A){var S=Math.min(h/=255,g/=255,A/=255),L=Math.max(h,g,A),C=L-S,I,F,H=(L+S)/2;return C?(F=H<.5?C/(L+S):C/(2-L-S),h==L?I=(g-A)/C+(g<A?6:0):g==L?I=(A-h)/C+2:I=(h-g)/C+4,I*=60):(I=NaN,F=H>0&&H<1?0:I),new Gr(I,F,H)}function ur(h,g,A){h=Na(h),g=Na(g),A=Na(A);var S=yn((.4124564*h+.3575761*g+.1804375*A)/_a),L=yn((.2126729*h+.7151522*g+.072175*A)/Qo),C=yn((.0193339*h+.119192*g+.9503041*A)/el);return Nt(116*L-16,500*(S-L),200*(L-C))}function Na(h){return(h/=255)<=.04045?h/12.92:Math.pow((h+.055)/1.055,2.4)}function At(h){var g=parseFloat(h);return h.charAt(h.length-1)==="%"?Math.round(g*2.55):g}var za=e.map({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});za.forEach(function(h,g){za.set(h,Yi(g))});function Or(h){return typeof h=="function"?h:function(){return h}}e.functor=Or,e.xhr=ji(B);function ji(h){return function(g,A,S){return arguments.length===2&&typeof A=="function"&&(S=A,A=null),Is(g,A,h,S)}}function Is(h,g,A,S){var L={},C=e.dispatch("beforesend","progress","load","error"),I={},F=new XMLHttpRequest,H=null;self.XDomainRequest&&!("withCredentials"in F)&&/^(http(s)?:)?\/\//.test(h)&&(F=new XDomainRequest),"onload"in F?F.onload=F.onerror=X:F.onreadystatechange=function(){F.readyState>3&&X()};function X(){var $=F.status,re;if(!$&&ene(F)||$>=200&&$<300||$===304){try{re=A.call(L,F)}catch(te){C.error.call(L,te);return}C.load.call(L,re)}else C.error.call(L,F)}return F.onprogress=function($){var re=e.event;e.event=$;try{C.progress.call(L,F)}finally{e.event=re}},L.header=function($,re){return $=($+"").toLowerCase(),arguments.length<2?I[$]:(re==null?delete I[$]:I[$]=re+"",L)},L.mimeType=function($){return arguments.length?(g=$==null?null:$+"",L):g},L.responseType=function($){return arguments.length?(H=$,L):H},L.response=function($){return A=$,L},["get","post"].forEach(function($){L[$]=function(){return L.send.apply(L,[$].concat(t(arguments)))}}),L.send=function($,re,te){if(arguments.length===2&&typeof re=="function"&&(te=re,re=null),F.open($,h,!0),g!=null&&!("accept"in I)&&(I.accept=g+",*/*"),F.setRequestHeader)for(var we in I)F.setRequestHeader(we,I[we]);return g!=null&&F.overrideMimeType&&F.overrideMimeType(g),H!=null&&(F.responseType=H),te!=null&&L.on("error",te).on("load",function(ke){te(null,ke)}),C.beforesend.call(L,F),F.send(re==null?null:re),L},L.abort=function(){return F.abort(),L},e.rebind(L,C,"on"),S==null?L:L.get(Qae(S))}function Qae(h){return h.length===1?function(g,A){h(g==null?A:null)}:h}function ene(h){var g=h.responseType;return g&&g!=="text"?h.response:h.responseText}e.dsv=function(h,g){var A=new RegExp('["'+h+` ]`),S=h.charCodeAt(0);function L(X,$,re){arguments.length<3&&(re=$,$=null);var te=Is(X,g,$==null?C:I($),re);return te.row=function(we){return arguments.length?te.response(($=we)==null?C:I(we)):$},te}function C(X){return L.parse(X.responseText)}function I(X){return function($){return L.parse($.responseText,X)}}L.parse=function(X,$){var re;return L.parseRows(X,function(te,we){if(re)return re(te,we-1);var ke=function(ae){for(var de={},ge=te.length,Me=0;Me<ge;++Me)de[te[Me]]=ae[Me];return de};re=$?function(ae,de){return $(ke(ae),de)}:ke})},L.parseRows=function(X,$){var re={},te={},we=[],ke=X.length,ae=0,de=0,ge,Me;function Se(){if(ae>=ke)return te;if(Me)return Me=!1,re;var Ye=ae;if(X.charCodeAt(Ye)===34){for(var ir=Ye;ir++<ke;)if(X.charCodeAt(ir)===34){if(X.charCodeAt(ir+1)!==34)break;++ir}ae=ir+2;var cr=X.charCodeAt(ir+1);return cr===13?(Me=!0,X.charCodeAt(ir+2)===10&&++ae):cr===10&&(Me=!0),X.slice(Ye+1,ir).replace(/""/g,'"')}for(;ae<ke;){var cr=X.charCodeAt(ae++),lr=1;if(cr===10)Me=!0;else if(cr===13)Me=!0,X.charCodeAt(ae)===10&&(++ae,++lr);else if(cr!==S)continue;return X.slice(Ye,ae-lr)}return X.slice(Ye)}for(;(ge=Se())!==te;){for(var xe=[];ge!==re&&ge!==te;)xe.push(ge),ge=Se();$&&(xe=$(xe,de++))==null||we.push(xe)}return we},L.format=function(X){if(Array.isArray(X[0]))return L.formatRows(X);var $=new O,re=[];return X.forEach(function(te){for(var we in te)$.has(we)||re.push($.add(we))}),[re.map(H).join(h)].concat(X.map(function(te){return re.map(function(we){return H(te[we])}).join(h)})).join(` `)},L.formatRows=function(X){return X.map(F).join(` `)};function F(X){return X.map(H).join(h)}function H(X){return A.test(X)?'"'+X.replace(/\"/g,'""')+'"':X}return L},e.csv=e.dsv(",","text/csv"),e.tsv=e.dsv(" ","text/tab-separated-values");var Id,Od,Bd,Hd,S8=this[G(this,"requestAnimationFrame")]||function(h){setTimeout(h,17)};e.timer=function(){Ud.apply(this,arguments)};function Ud(h,g,A){var S=arguments.length;S<2&&(g=0),S<3&&(A=Date.now());var L=A+g,C={c:h,t:L,n:null};return Od?Od.n=C:Id=C,Od=C,Bd||(Hd=clearTimeout(Hd),Bd=1,S8(S3)),C}function S3(){var h=q8(),g=L8()-h;g>24?(isFinite(g)&&(clearTimeout(Hd),Hd=setTimeout(S3,g)),Bd=0):(Bd=1,S8(S3))}e.timer.flush=function(){q8(),L8()};function q8(){for(var h=Date.now(),g=Id;g;)h>=g.t&&g.c(h-g.t)&&(g.c=null),g=g.n;return h}function L8(){for(var h,g=Id,A=1/0;g;)g.c?(g.t<A&&(A=g.t),g=(h=g).n):g=h?h.n=g.n:Id=g.n;return Od=h,A}e.round=function(h,g){return g?Math.round(h*(g=Math.pow(10,g)))/g:Math.round(h)},e.geom={};function df(h){return h[0]}function Nv(h){return h[1]}e.geom.hull=function(h){var g=df,A=Nv;if(arguments.length)return S(h);function S(L){if(L.length<3)return[];var C=Or(g),I=Or(A),F,H=L.length,X=[],$=[];for(F=0;F<H;F++)X.push([+C.call(this,L[F],F),+I.call(this,L[F],F),F]);for(X.sort(rne),F=0;F<H;F++)$.push([X[F][0],-X[F][1]]);var re=C8(X),te=C8($),we=te[0]===re[0],ke=te[te.length-1]===re[re.length-1],ae=[];for(F=re.length-1;F>=0;--F)ae.push(L[X[re[F]][2]]);for(F=+we;F<te.length-ke;++F)ae.push(L[X[te[F]][2]]);return ae}return S.x=function(L){return arguments.length?(g=L,S):g},S.y=function(L){return arguments.length?(A=L,S):A},S};function C8(h){for(var g=h.length,A=[0,1],S=2,L=2;L<g;L++){for(;S>1&&et(h[A[S-2]],h[A[S-1]],h[L])<=0;)--S;A[S++]=L}return A.slice(0,S)}function rne(h,g){return h[0]-g[0]||h[1]-g[1]}e.geom.polygon=function(h){return K(h,Gd),h};var Gd=e.geom.polygon.prototype=[];Gd.area=function(){for(var h=-1,g=this.length,A,S=this[g-1],L=0;++h<g;)A=S,S=this[h],L+=A[1]*S[0]-A[0]*S[1];return L*.5},Gd.centroid=function(h){var g=-1,A=this.length,S=0,L=0,C,I=this[A-1],F;for(arguments.length||(h=-1/(6*this.area()));++g<A;)C=I,I=this[g],F=C[0]*I[1]-I[0]*C[1],S+=(C[0]+I[0])*F,L+=(C[1]+I[1])*F;return[S*h,L*h]},Gd.clip=function(h){for(var g,A=E8(h),S=-1,L=this.length-E8(this),C,I,F=this[L-1],H,X,$;++S<L;){for(g=h.slice(),h.length=0,H=this[S],X=g[(I=g.length-A)-1],C=-1;++C<I;)$=g[C],q3($,F,H)?(q3(X,F,H)||h.push(L3(X,$,F,H)),h.push($)):q3(X,F,H)&&h.push(L3(X,$,F,H)),X=$;A&&h.push(h[0]),F=H}return h};function q3(h,g,A){return(A[0]-g[0])*(h[1]-g[1])<(A[1]-g[1])*(h[0]-g[0])}function L3(h,g,A,S){var L=h[0],C=A[0],I=g[0]-L,F=S[0]-C,H=h[1],X=A[1],$=g[1]-H,re=S[1]-X,te=(F*(H-X)-re*(L-C))/(re*I-F*$);return[L+te*I,H+te*$]}function E8(h){var g=h[0],A=h[h.length-1];return!(g[0]-A[0]||g[1]-A[1])}var pf,Os,yf,D8=[],C3,zv,R8=[];function tne(){jd(this),this.edge=this.site=this.circle=null}function P8(h){var g=D8.pop()||new tne;return g.site=h,g}function E3(h){gf(h),yf.remove(h),D8.push(h),jd(h)}function ane(h){var g=h.circle,A=g.x,S=g.cy,L={x:A,y:S},C=h.P,I=h.N,F=[h];E3(h);for(var H=C;H.circle&&x(A-H.circle.x)<ve&&x(S-H.circle.cy)<ve;)C=H.P,F.unshift(H),E3(H),H=C;F.unshift(H),gf(H);for(var X=I;X.circle&&x(A-X.circle.x)<ve&&x(S-X.circle.cy)<ve;)I=X.N,F.push(X),E3(X),X=I;F.push(X),gf(X);var $=F.length,re;for(re=1;re<$;++re)X=F[re],H=F[re-1],Vd(X.edge,H.site,X.site,L);H=F[0],X=F[$-1],X.edge=Iv(H.site,X.site,null,L),mf(H),mf(X)}function nne(h){for(var g=h.x,A=h.y,S,L,C,I,F=yf._;F;)if(C=F8(F,A)-g,C>ve)F=F.L;else if(I=g-ine(F,A),I>ve){if(!F.R){S=F;break}F=F.R}else{C>-ve?(S=F.P,L=F):I>-ve?(S=F,L=F.N):S=L=F;break}var H=P8(h);if(yf.insert(S,H),!(!S&&!L)){if(S===L){gf(S),L=P8(S.site),yf.insert(H,L),H.edge=L.edge=Iv(S.site,H.site),mf(S),mf(L);return}if(!L){H.edge=Iv(S.site,H.site);return}gf(S),gf(L);var X=S.site,$=X.x,re=X.y,te=h.x-$,we=h.y-re,ke=L.site,ae=ke.x-$,de=ke.y-re,ge=2*(te*de-we*ae),Me=te*te+we*we,Se=ae*ae+de*de,xe={x:(de*Me-we*Se)/ge+$,y:(te*Se-ae*Me)/ge+re};Vd(L.edge,X,ke,xe),H.edge=Iv(X,h,null,xe),L.edge=Iv(h,ke,null,xe),mf(S),mf(L)}}function F8(h,g){var A=h.site,S=A.x,L=A.y,C=L-g;if(!C)return S;var I=h.P;if(!I)return-1/0;A=I.site;var F=A.x,H=A.y,X=H-g;if(!X)return F;var $=F-S,re=1/C-1/X,te=$/X;return re?(-te+Math.sqrt(te*te-2*re*($*$/(-2*X)-H+X/2+L-C/2)))/re+S:(S+F)/2}function ine(h,g){var A=h.N;if(A)return F8(A,g);var S=h.site;return S.y===g?S.x:1/0}function N8(h){this.site=h,this.edges=[]}N8.prototype.prepare=function(){for(var h=this.edges,g=h.length,A;g--;)A=h[g].edge,(!A.b||!A.a)&&h.splice(g,1);return h.sort(z8),h.length};function one(h){for(var g=h[0][0],A=h[1][0],S=h[0][1],L=h[1][1],C,I,F,H,X=Os,$=X.length,re,te,we,ke,ae,de;$--;)if(re=X[$],!(!re||!re.prepare()))for(we=re.edges,ke=we.length,te=0;te<ke;)de=we[te].end(),F=de.x,H=de.y,ae=we[++te%ke].start(),C=ae.x,I=ae.y,(x(F-C)>ve||x(H-I)>ve)&&(we.splice(te,0,new Yd(cne(re.site,de,x(F-g)<ve&&L-H>ve?{x:g,y:x(C-g)<ve?I:L}:x(H-L)<ve&&A-F>ve?{x:x(I-L)<ve?C:A,y:L}:x(F-A)<ve&&H-S>ve?{x:A,y:x(C-A)<ve?I:S}:x(H-S)<ve&&F-g>ve?{x:x(I-S)<ve?C:g,y:S}:null),re.site,null)),++ke)}function z8(h,g){return g.angle-h.angle}function lne(){jd(this),this.x=this.y=this.arc=this.site=this.cy=null}function mf(h){var g=h.P,A=h.N;if(!(!g||!A)){var S=g.site,L=h.site,C=A.site;if(S!==C){var I=L.x,F=L.y,H=S.x-I,X=S.y-F,$=C.x-I,de=C.y-F,re=2*(H*de-X*$);if(!(re>=-De)){var te=H*H+X*X,we=$*$+de*de,ke=(de*te-X*we)/re,ae=(H*we-$*te)/re,de=ae+F,ge=R8.pop()||new lne;ge.arc=h,ge.site=L,ge.x=ke+I,ge.y=de+Math.sqrt(ke*ke+ae*ae),ge.cy=de,h.circle=ge;for(var Me=null,Se=zv._;Se;)if(ge.y<Se.y||ge.y===Se.y&&ge.x<=Se.x)if(Se.L)Se=Se.L;else{Me=Se.P;break}else if(Se.R)Se=Se.R;else{Me=Se;break}zv.insert(Me,ge),Me||(C3=ge)}}}}function gf(h){var g=h.circle;g&&(g.P||(C3=g.N),zv.remove(g),R8.push(g),jd(g),h.circle=null)}function sne(h,g,A,S){return function(L){var C=L.a,I=L.b,F=C.x,H=C.y,X=I.x,$=I.y,re=0,te=1,we=X-F,ke=$-H,ae;if(ae=h-F,!(!we&&ae>0)){if(ae/=we,we<0){if(ae<re)return;ae<te&&(te=ae)}else if(we>0){if(ae>te)return;ae>re&&(re=ae)}if(ae=A-F,!(!we&&ae<0)){if(ae/=we,we<0){if(ae>te)return;ae>re&&(re=ae)}else if(we>0){if(ae<re)return;ae<te&&(te=ae)}if(ae=g-H,!(!ke&&ae>0)){if(ae/=ke,ke<0){if(ae<re)return;ae<te&&(te=ae)}else if(ke>0){if(ae>te)return;ae>re&&(re=ae)}if(ae=S-H,!(!ke&&ae<0)){if(ae/=ke,ke<0){if(ae>te)return;ae>re&&(re=ae)}else if(ke>0){if(ae<re)return;ae<te&&(te=ae)}return re>0&&(L.a={x:F+re*we,y:H+re*ke}),te<1&&(L.b={x:F+te*we,y:H+te*ke}),L}}}}}}function une(h){for(var g=pf,A=sne(h[0][0],h[0][1],h[1][0],h[1][1]),S=g.length,L;S--;)L=g[S],(!fne(L,h)||!A(L)||x(L.a.x-L.b.x)<ve&&x(L.a.y-L.b.y)<ve)&&(L.a=L.b=null,g.splice(S,1))}function fne(h,g){var A=h.b;if(A)return!0;var S=h.a,L=g[0][0],C=g[1][0],I=g[0][1],F=g[1][1],H=h.l,X=h.r,$=H.x,re=H.y,te=X.x,we=X.y,ke=($+te)/2,ae=(re+we)/2,de,ge;if(we===re){if(ke<L||ke>=C)return;if($>te){if(!S)S={x:ke,y:I};else if(S.y>=F)return;A={x:ke,y:F}}else{if(!S)S={x:ke,y:F};else if(S.y<I)return;A={x:ke,y:I}}}else if(de=($-te)/(we-re),ge=ae-de*ke,de<-1||de>1)if($>te){if(!S)S={x:(I-ge)/de,y:I};else if(S.y>=F)return;A={x:(F-ge)/de,y:F}}else{if(!S)S={x:(F-ge)/de,y:F};else if(S.y<I)return;A={x:(I-ge)/de,y:I}}else if(re<we){if(!S)S={x:L,y:de*L+ge};else if(S.x>=C)return;A={x:C,y:de*C+ge}}else{if(!S)S={x:C,y:de*C+ge};else if(S.x<L)return;A={x:L,y:de*L+ge}}return h.a=S,h.b=A,!0}function I8(h,g){this.l=h,this.r=g,this.a=this.b=null}function Iv(h,g,A,S){var L=new I8(h,g);return pf.push(L),A&&Vd(L,h,g,A),S&&Vd(L,g,h,S),Os[h.i].edges.push(new Yd(L,h,g)),Os[g.i].edges.push(new Yd(L,g,h)),L}function cne(h,g,A){var S=new I8(h,null);return S.a=g,S.b=A,pf.push(S),S}function Vd(h,g,A,S){!h.a&&!h.b?(h.a=S,h.l=g,h.r=A):h.l===A?h.b=S:h.a=S}function Yd(h,g,A){var S=h.a,L=h.b;this.edge=h,this.site=g,this.angle=A?Math.atan2(A.y-g.y,A.x-g.x):h.l===g?Math.atan2(L.x-S.x,S.y-L.y):Math.atan2(S.x-L.x,L.y-S.y)}Yd.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}};function D3(){this._=null}function jd(h){h.U=h.C=h.L=h.R=h.P=h.N=null}D3.prototype={insert:function(h,g){var A,S,L;if(h){if(g.P=h,g.N=h.N,h.N&&(h.N.P=g),h.N=g,h.R){for(h=h.R;h.L;)h=h.L;h.L=g}else h.R=g;A=h}else this._?(h=O8(this._),g.P=null,g.N=h,h.P=h.L=g,A=h):(g.P=g.N=null,this._=g,A=null);for(g.L=g.R=null,g.U=A,g.C=!0,h=g;A&&A.C;)S=A.U,A===S.L?(L=S.R,L&&L.C?(A.C=L.C=!1,S.C=!0,h=S):(h===A.R&&(Ov(this,A),h=A,A=h.U),A.C=!1,S.C=!0,Bv(this,S))):(L=S.L,L&&L.C?(A.C=L.C=!1,S.C=!0,h=S):(h===A.L&&(Bv(this,A),h=A,A=h.U),A.C=!1,S.C=!0,Ov(this,S))),A=h.U;this._.C=!1},remove:function(h){h.N&&(h.N.P=h.P),h.P&&(h.P.N=h.N),h.N=h.P=null;var g=h.U,A,S=h.L,L=h.R,C,I;if(S?L?C=O8(L):C=S:C=L,g?g.L===h?g.L=C:g.R=C:this._=C,S&&L?(I=C.C,C.C=h.C,C.L=S,S.U=C,C!==L?(g=C.U,C.U=h.U,h=C.R,g.L=h,C.R=L,L.U=C):(C.U=g,g=C,h=C.R)):(I=h.C,h=C),h&&(h.U=g),!I){if(h&&h.C){h.C=!1;return}do{if(h===this._)break;if(h===g.L){if(A=g.R,A.C&&(A.C=!1,g.C=!0,Ov(this,g),A=g.R),A.L&&A.L.C||A.R&&A.R.C){(!A.R||!A.R.C)&&(A.L.C=!1,A.C=!0,Bv(this,A),A=g.R),A.C=g.C,g.C=A.R.C=!1,Ov(this,g),h=this._;break}}else if(A=g.L,A.C&&(A.C=!1,g.C=!0,Bv(this,g),A=g.L),A.L&&A.L.C||A.R&&A.R.C){(!A.L||!A.L.C)&&(A.R.C=!1,A.C=!0,Ov(this,A),A=g.L),A.C=g.C,g.C=A.L.C=!1,Bv(this,g),h=this._;break}A.C=!0,h=g,g=g.U}while(!h.C);h&&(h.C=!1)}}};function Ov(