UNPKG

plotly.js

Version:

The open source javascript graphing library that powers plotly

18 lines 1.42 MB
/** * plotly.js (cartesian - minified) v3.7.0 * Copyright 2012-2026, 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 foe=Object.defineProperty,coe=Object.defineProperties;var voe=Object.getOwnPropertyDescriptors;var K8=Object.getOwnPropertySymbols;var hoe=Object.prototype.hasOwnProperty,doe=Object.prototype.propertyIsEnumerable;var Q8=(e,r,t)=>r in e?foe(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,Qs=(e,r)=>{for(var t in r||(r={}))hoe.call(r,t)&&Q8(e,t,r[t]);if(K8)for(var t of K8(r))doe.call(r,t)&&Q8(e,t,r[t]);return e},gp=(e,r)=>coe(e,voe(r));var N=(e,r)=>()=>{try{return r||e((r={exports:{}}).exports,r),r.exports}catch(t){throw r=0,t}};var Kv=N(eM=>{"use strict";eM.version="3.7.0"});var tM=N((rM,bp)=>{(function(r,t,a){t[r]=t[r]||a(),typeof bp!="undefined"&&bp.exports&&(bp.exports=t[r])})("Promise",typeof window!="undefined"?window:rM,function(){"use strict";var r,t,a,n=Object.prototype.toString,i=typeof setImmediate!="undefined"?function(T){return setImmediate(T)}:setTimeout;try{Object.defineProperty({},"x",{}),r=function(T,_,b,w){return Object.defineProperty(T,_,{value:b,writable:!0,configurable:w!==!1})}}catch(x){r=function(_,b,w){return _[b]=w,_}}a=(function(){var T,_,b;function w(k,M){this.fn=k,this.self=M,this.next=void 0}return{add:function(M,S){b=new w(M,S),_?_.next=b:T=b,_=b,b=void 0},drain:function(){var M=T;for(T=_=t=void 0;M;)M.fn.call(M.self),M=M.next}}})();function o(x,T){a.add(x,T),t||(t=i(a.drain))}function l(x){var T,_=typeof x;return x!=null&&(_=="object"||_=="function")&&(T=x.then),typeof T=="function"?T:!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,T,_){var b,w;try{T===!1?_.reject(x.msg):(T===!0?b=x.msg:b=T.call(void 0,x.msg),b===_.promise?_.reject(TypeError("Promise-chain cycle")):(w=l(b))?w.call(b,_.resolve,_.reject):_.resolve(b))}catch(k){_.reject(k)}}function f(x){var T,_=this;if(!_.triggered){_.triggered=!0,_.def&&(_=_.def);try{(T=l(x))?o(function(){var b=new d(_);try{T.call(x,function(){f.apply(b,arguments)},function(){c.apply(b,arguments)})}catch(w){c.call(b,w)}}):(_.msg=x,_.state=1,_.chain.length>0&&o(s,_))}catch(b){c.call(new d(_),b)}}}function c(x){var T=this;T.triggered||(T.triggered=!0,T.def&&(T=T.def),T.msg=x,T.state=2,T.chain.length>0&&o(s,T))}function v(x,T,_,b){for(var w=0;w<T.length;w++)(function(M){x.resolve(T[M]).then(function(E){_(M,E)},b)})(w)}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 T=new p(this);this.then=function(b,w){var k={success:typeof b=="function"?b:!0,failure:typeof w=="function"?w:!1};return k.promise=new this.constructor(function(S,E){if(typeof S!="function"||typeof E!="function")throw TypeError("Not a function");k.resolve=S,k.reject=E}),T.chain.push(k),T.state!==0&&o(s,T),k.promise},this.catch=function(b){return this.then(void 0,b)};try{x.call(void 0,function(b){f.call(T,b)},function(b){c.call(T,b)})}catch(_){c.call(T,_)}}var m=r({},"constructor",y,!1);return y.prototype=m,r(m,"__NPO__",0,!1),r(y,"resolve",function(T){var _=this;return T&&typeof T=="object"&&T.__NPO__===1?T:new _(function(w,k){if(typeof w!="function"||typeof k!="function")throw TypeError("Not a function");w(T)})}),r(y,"reject",function(T){return new this(function(b,w){if(typeof b!="function"||typeof w!="function")throw TypeError("Not a function");w(T)})}),r(y,"all",function(T){var _=this;return n.call(T)!="[object Array]"?_.reject(TypeError("Not an array")):T.length===0?_.resolve([]):new _(function(w,k){if(typeof w!="function"||typeof k!="function")throw TypeError("Not a function");var M=T.length,S=Array(M),E=0;v(_,T,function(P,R){S[P]=R,++E===M&&w(S)},k)})}),r(y,"race",function(T){var _=this;return n.call(T)!="[object Array]"?_.reject(TypeError("Not an array")):new _(function(w,k){if(typeof w!="function"||typeof k!="function")throw TypeError("Not a function");v(_,T,function(S,E){w(E)},k)})}),y})});var Sr=N((ULe,xp)=>{(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,q=new Array(A);A--;)q[A]=g[A];return q}}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,q){s.call(this,g,A,q+"")},u.setProperty=function(g,A,q){f.call(this,g,A+"",q)}}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,q=h.length,C,L;if(arguments.length===1){for(;++A<q;)if((L=h[A])!=null&&L>=L){C=L;break}for(;++A<q;)(L=h[A])!=null&&C>L&&(C=L)}else{for(;++A<q;)if((L=g.call(h,h[A],A))!=null&&L>=L){C=L;break}for(;++A<q;)(L=g.call(h,h[A],A))!=null&&C>L&&(C=L)}return C},e.max=function(h,g){var A=-1,q=h.length,C,L;if(arguments.length===1){for(;++A<q;)if((L=h[A])!=null&&L>=L){C=L;break}for(;++A<q;)(L=h[A])!=null&&L>C&&(C=L)}else{for(;++A<q;)if((L=g.call(h,h[A],A))!=null&&L>=L){C=L;break}for(;++A<q;)(L=g.call(h,h[A],A))!=null&&L>C&&(C=L)}return C},e.extent=function(h,g){var A=-1,q=h.length,C,L,O;if(arguments.length===1){for(;++A<q;)if((L=h[A])!=null&&L>=L){C=O=L;break}for(;++A<q;)(L=h[A])!=null&&(C>L&&(C=L),O<L&&(O=L))}else{for(;++A<q;)if((L=g.call(h,h[A],A))!=null&&L>=L){C=O=L;break}for(;++A<q;)(L=g.call(h,h[A],A))!=null&&(C>L&&(C=L),O<L&&(O=L))}return[C,O]};function v(h){return h===null?NaN:+h}function d(h){return!isNaN(h)}e.sum=function(h,g){var A=0,q=h.length,C,L=-1;if(arguments.length===1)for(;++L<q;)d(C=+h[L])&&(A+=C);else for(;++L<q;)d(C=+g.call(h,h[L],L))&&(A+=C);return A},e.mean=function(h,g){var A=0,q=h.length,C,L=-1,O=q;if(arguments.length===1)for(;++L<q;)d(C=v(h[L]))?A+=C:--O;else for(;++L<q;)d(C=v(g.call(h,h[L],L)))?A+=C:--O;if(O)return A/O},e.quantile=function(h,g){var A=(h.length-1)*g+1,q=Math.floor(A),C=+h[q-1],L=A-q;return L?C+L*(h[q]-C):C},e.median=function(h,g){var A=[],q=h.length,C,L=-1;if(arguments.length===1)for(;++L<q;)d(C=v(h[L]))&&A.push(C);else for(;++L<q;)d(C=v(g.call(h,h[L],L)))&&A.push(C);if(A.length)return e.quantile(A.sort(c),.5)},e.variance=function(h,g){var A=h.length,q=0,C,L,O=0,F=-1,U=0;if(arguments.length===1)for(;++F<A;)d(C=v(h[F]))&&(L=C-q,q+=L/++U,O+=L*(C-q));else for(;++F<A;)d(C=v(g.call(h,h[F],F)))&&(L=C-q,q+=L/++U,O+=L*(C-q));if(U>1)return O/(U-1)},e.deviation=function(){var h=e.variance.apply(this,arguments);return h&&Math.sqrt(h)};function p(h){return{left:function(g,A,q,C){for(arguments.length<3&&(q=0),arguments.length<4&&(C=g.length);q<C;){var L=q+C>>>1;h(g[L],A)<0?q=L+1:C=L}return q},right:function(g,A,q,C){for(arguments.length<3&&(q=0),arguments.length<4&&(C=g.length);q<C;){var L=q+C>>>1;h(g[L],A)>0?C=L:q=L+1}return q}}}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){(q=arguments.length)<3&&(A=h.length,q<2&&(g=0));for(var q=A-g,C,L;q;)L=Math.random()*q--|0,C=h[q+g],h[q+g]=h[L+g],h[L+g]=C;return h},e.permute=function(h,g){for(var A=g.length,q=new Array(A);A--;)q[A]=h[g[A]];return q},e.pairs=function(h){for(var g=0,A=h.length-1,q,C=h[0],L=new Array(A<0?0:A);g<A;)L[g]=[q=C,C=h[++g]];return L},e.transpose=function(h){if(!(L=h.length))return[];for(var g=-1,A=e.min(h,m),q=new Array(A);++g<A;)for(var C=-1,L,O=q[g]=new Array(L);++C<L;)O[C]=h[C][g];return q};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,q=-1,C=0,L,O;++q<g;)C+=h[q].length;for(L=new Array(C);--g>=0;)for(O=h[g],A=O.length;--A>=0;)L[--C]=O[A];return L};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 q=[],C=T(x(A)),L=-1,O;if(h*=C,g*=C,A*=C,A<0)for(;(O=h+A*++L)>g;)q.push(O/C);else for(;(O=h+A*++L)<g;)q.push(O/C);return q};function T(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,U){A.set(F,U)});else if(Array.isArray(h)){var q=-1,C=h.length,L;if(arguments.length===1)for(;++q<C;)A.set(q,h[q]);else for(;++q<C;)A.set(g.call(h,L=h[q],q),L)}else for(var O in h)A.set(O,h[O]);return A};function b(){this._=Object.create(null)}var w="__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:S(g),value:this._[g]});return h},size:R,empty:I,forEach:function(h){for(var g in this._)h.call(this,S(g),this._[g])}});function M(h){return(h+="")===w||h[0]===k?k+h:h}function S(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(S(g));return h}function R(){var h=0;for(var g in this._)++h;return h}function I(){for(var h in this._)return!1;return!0}e.nest=function(){var h={},g=[],A=[],q,C;function L(F,U,J){if(J>=g.length)return C?C.call(h,U):q?U.sort(q):U;for(var $=-1,re=U.length,te=g[J++],we,ke,ae,pe=new b,ge;++$<re;)(ge=pe.get(we=te(ke=U[$])))?ge.push(ke):pe.set(we,[ke]);return F?(ke=F(),ae=function(Me,Se){ke.set(Me,L(F,Se,J))}):(ke={},ae=function(Me,Se){ke[Me]=L(F,Se,J)}),pe.forEach(ae),ke}function O(F,U){if(U>=g.length)return F;var J=[],$=A[U++];return F.forEach(function(re,te){J.push({key:re,values:O(te,U)})}),$?J.sort(function(re,te){return $(re.key,te.key)}):J}return h.map=function(F,U){return L(U,F,0)},h.entries=function(F){return O(L(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 q=F,h},h.rollup=function(F){return C=F,h},h},e.set=function(h){var g=new z;if(h)for(var A=0,q=h.length;A<q;++A)g.add(h[A]);return g};function z(){this._=Object.create(null)}_(z,{has:E,add:function(h){return this._[M(h+="")]=!0,h},remove:D,values:P,size:R,empty:I,forEach:function(h){for(var g in this._)h.call(this,S(g))}}),e.behavior={};function B(h){return h}e.rebind=function(h,g){for(var A=1,q=arguments.length,C;++A<q;)h[C=arguments[A]]=G(h,g,g[C]);return h};function G(h,g,A){return function(){var q=A.apply(g,arguments);return q===g?h:q}}function Y(h,g){if(g in h)return g;g=g.charAt(0).toUpperCase()+g.slice(1);for(var A=0,q=V.length;A<q;++A){var C=V[A]+g;if(C in h)return C}}var V=["webkit","ms","moz","Moz","o","O"];function H(){}e.dispatch=function(){for(var h=new Z,g=-1,A=arguments.length;++g<A;)h[arguments[g]]=W(h);return h};function Z(){}Z.prototype.on=function(h,g){var A=h.indexOf("."),q="";if(A>=0&&(q=h.slice(A+1),h=h.slice(0,A)),h)return arguments.length<2?this[h].on(q):this[h].on(q,g);if(arguments.length===2){if(g==null)for(h in this)this.hasOwnProperty(h)&&this[h].on(q,null);return this}};function W(h){var g=[],A=new b;function q(){for(var C=g,L=-1,O=C.length,F;++L<O;)(F=C[L].on)&&F.apply(this,arguments);return h}return q.on=function(C,L){var O=A.get(C),F;return arguments.length<2?O&&O.on:(O&&(O.on=null,g=g.slice(0,F=g.indexOf(O)).concat(g.slice(F+1)),A.remove(C)),L&&g.push(A.set(C,{on:L})),h)},q}e.event=null;function ee(){e.event.preventDefault()}function oe(){for(var h=e.event,g;g=h.sourceEvent;)h=g;return h}function le(h){for(var g=new Z,A=0,q=arguments.length;++A<q;)g[arguments[A]]=W(g);return g.of=function(C,L){return function(O){try{var F=O.sourceEvent=e.event;O.target=h,e.event=O,g[O.type].apply(C,L)}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 fe=function(h,g){return g.querySelector(h)},ve=function(h,g){return g.querySelectorAll(h)},ye=function(h,g){var A=h.matches||h[Y(h,"matchesSelector")];return ye=function(q,C){return A.call(q,C)},ye(h,g)};typeof Sizzle=="function"&&(fe=function(h,g){return Sizzle(h,g)[0]||null},ve=Sizzle,ye=Sizzle.matchesSelector),e.selection=function(){return e.select(a.documentElement)};var ce=e.selection.prototype=[];ce.select=function(h){var g=[],A,q,C,L;h=j(h);for(var O=-1,F=this.length;++O<F;){g.push(A=[]),A.parentNode=(C=this[O]).parentNode;for(var U=-1,J=C.length;++U<J;)(L=C[U])?(A.push(q=h.call(L,L.__data__,U,O)),q&&"__data__"in L&&(q.__data__=L.__data__)):A.push(null)}return _e(g)};function j(h){return typeof h=="function"?h:function(){return fe(h,this)}}ce.selectAll=function(h){var g=[],A,q;h=Q(h);for(var C=-1,L=this.length;++C<L;)for(var O=this[C],F=-1,U=O.length;++F<U;)(q=O[F])&&(g.push(A=t(h.call(q,q.__data__,F,C))),A.parentNode=q);return _e(g)};function Q(h){return typeof h=="function"?h:function(){return ve(h,this)}}var X="http://www.w3.org/1999/xhtml",ie={svg:"http://www.w3.org/2000/svg",xhtml:X,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:ie,qualify:function(h){var g=h.indexOf(":"),A=h;return g>=0&&(A=h.slice(0,g))!=="xmlns"&&(h=h.slice(g+1)),ie.hasOwnProperty(A)?{space:ie[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(he(g,h[g]));return this}return this.each(he(h,g))};function he(h,g){h=e.ns.qualify(h);function A(){this.removeAttribute(h)}function q(){this.removeAttributeNS(h.space,h.local)}function C(){this.setAttribute(h,g)}function L(){this.setAttributeNS(h.space,h.local,g)}function O(){var U=g.apply(this,arguments);U==null?this.removeAttribute(h):this.setAttribute(h,U)}function F(){var U=g.apply(this,arguments);U==null?this.removeAttributeNS(h.space,h.local):this.setAttributeNS(h.space,h.local,U)}return g==null?h.local?q:A:typeof g=="function"?h.local?F:O:h.local?L:C}function me(h){return h.trim().replace(/\s+/g," ")}ce.classed=function(h,g){if(arguments.length<2){if(typeof h=="string"){var A=this.node(),q=(h=De(h)).length,C=-1;if(g=A.classList){for(;++C<q;)if(!g.contains(h[C]))return!1}else for(g=A.getAttribute("class");++C<q;)if(!Re(h[C]).test(g))return!1;return!0}for(g in h)this.each(Ce(g,h[g]));return this}return this.each(Ce(h,g))};function Re(h){return new RegExp("(?:^|\\s+)"+e.requote(h)+"(?:\\s+|$)","g")}function De(h){return(h+"").trim().split(/^|\s+/)}function Ce(h,g){h=De(h).map(He);var A=h.length;function q(){for(var L=-1;++L<A;)h[L](this,g)}function C(){for(var L=-1,O=g.apply(this,arguments);++L<A;)h[L](this,O)}return typeof g=="function"?C:q}function He(h){var g=Re(h);return function(A,q){if(C=A.classList)return q?C.add(h):C.remove(h);var C=A.getAttribute("class")||"";q?(g.lastIndex=0,g.test(C)||A.setAttribute("class",me(C+" "+h))):A.setAttribute("class",me(C.replace(g," ")))}}ce.style=function(h,g,A){var q=arguments.length;if(q<3){if(typeof h!="string"){q<2&&(g="");for(A in h)this.each(Oe(A,h[A],g));return this}if(q<2){var C=this.node();return i(C).getComputedStyle(C,null).getPropertyValue(h)}A=""}return this.each(Oe(h,g,A))};function Oe(h,g,A){function q(){this.style.removeProperty(h)}function C(){this.style.setProperty(h,g,A)}function L(){var O=g.apply(this,arguments);O==null?this.style.removeProperty(h):this.style.setProperty(h,O,A)}return g==null?q:typeof g=="function"?L:C}ce.property=function(h,g){if(arguments.length<2){if(typeof h=="string")return this.node()[h];for(g in h)this.each(Ue(g,h[g]));return this}return this.each(Ue(h,g))};function Ue(h,g){function A(){delete this[h]}function q(){this[h]=g}function C(){var L=g.apply(this,arguments);L==null?delete this[h]:this[h]=L}return g==null?A:typeof g=="function"?C:q}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=Ee(h),this.select(function(){return this.appendChild(h.apply(this,arguments))})};function Ee(h){function g(){var q=this.ownerDocument,C=this.namespaceURI;return C===X&&q.documentElement.namespaceURI===X?q.createElement(h):q.createElementNS(C,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=Ee(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(ze)};function ze(){var h=this.parentNode;h&&h.removeChild(this)}ce.data=function(h,g){var A=-1,q=this.length,C,L;if(!arguments.length){for(h=new Array(q=(C=this[0]).length);++A<q;)(L=C[A])&&(h[A]=L.__data__);return h}function O($,re){var te,we=$.length,ke=re.length,ae=Math.min(we,ke),pe=new Array(ke),ge=new Array(ke),Me=new Array(we),Se,xe;if(g){var je=new b,or=new Array(we),hr;for(te=-1;++te<we;)(Se=$[te])&&(je.has(hr=g.call(Se,Se.__data__,te))?Me[te]=Se:je.set(hr,Se),or[te]=hr);for(te=-1;++te<ke;)(Se=je.get(hr=g.call(re,xe=re[te],te)))?Se!==!0&&(pe[te]=Se,Se.__data__=xe):ge[te]=Ge(xe),je.set(hr,!0);for(te=-1;++te<we;)te in or&&je.get(or[te])!==!0&&(Me[te]=$[te])}else{for(te=-1;++te<ae;)Se=$[te],xe=re[te],Se?(Se.__data__=xe,pe[te]=Se):ge[te]=Ge(xe);for(;te<ke;++te)ge[te]=Ge(re[te]);for(;te<we;++te)Me[te]=$[te]}ge.update=pe,ge.parentNode=pe.parentNode=Me.parentNode=$.parentNode,F.push(ge),U.push(pe),J.push(Me)}var F=dr([]),U=_e([]),J=_e([]);if(typeof h=="function")for(;++A<q;)O(C=this[A],h.call(C,C.parentNode.__data__,A));else for(;++A<q;)O(C=this[A],h);return U.enter=function(){return F},U.exit=function(){return J},U};function Ge(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,q,C;typeof h!="function"&&(h=se(h));for(var L=0,O=this.length;L<O;L++){g.push(A=[]),A.parentNode=(q=this[L]).parentNode;for(var F=0,U=q.length;F<U;F++)(C=q[F])&&h.call(C,C.__data__,F,L)&&A.push(C)}return _e(g)};function se(h){return function(){return ye(this,h)}}ce.order=function(){for(var h=-1,g=this.length;++h<g;)for(var A=this[h],q=A.length-1,C=A[q],L;--q>=0;)(L=A[q])&&(C&&C!==L.nextSibling&&C.parentNode.insertBefore(L,C),C=L);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 Je(this,function(g,A,q){h.call(g,g.__data__,A,q)})};function Je(h,g){for(var A=0,q=h.length;A<q;A++)for(var C=h[A],L=0,O=C.length,F;L<O;L++)(F=C[L])&&g(F,L,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],q=0,C=A.length;q<C;q++){var L=A[q];if(L)return L}return null},ce.size=function(){var h=0;return Je(this,function(){++h}),h};function dr(h){return K(h,Ne),h}var Ne=[];e.selection.enter=dr,e.selection.enter.prototype=Ne,Ne.append=ce.append,Ne.empty=ce.empty,Ne.node=ce.node,Ne.call=ce.call,Ne.size=ce.size,Ne.select=function(h){for(var g=[],A,q,C,L,O,F=-1,U=this.length;++F<U;){C=(L=this[F]).update,g.push(A=[]),A.parentNode=L.parentNode;for(var J=-1,$=L.length;++J<$;)(O=L[J])?(A.push(C[J]=q=h.call(L.parentNode,O.__data__,J,F)),q.__data__=O.__data__):A.push(null)}return _e(g)},Ne.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(q,C,L){var O=h[L].update,F=O.length,U;for(L!=A&&(A=L,g=0),C>=g&&(g=C+1);!(U=O[g])&&++g<F;);return U}}e.select=function(h){var g;return typeof h=="string"?(g=[fe(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(ve(h,a)),g.parentNode=a.documentElement):(g=t(h),g.parentNode=null),_e([g])},ce.on=function(h,g,A){var q=arguments.length;if(q<3){if(typeof h!="string"){q<2&&(g=!1);for(A in h)this.each(qe(A,h[A],g));return this}if(q<2)return(q=this.node()["__on"+h])&&q._;A=!1}return this.each(qe(h,g,A))};function qe(h,g,A){var q="__on"+h,C=h.indexOf("."),L=Ze;C>0&&(h=h.slice(0,C));var O=Be.get(h);O&&(h=O,L=Ve);function F(){var $=this[q];$&&(this.removeEventListener(h,$,$.$),delete this[q])}function U(){var $=L(g,t(arguments));F.call(this),this.addEventListener(h,this[q]=$,$.$=A),$._=g}function J(){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 C?g?U:F:g?H:J}var Be=e.map({mouseenter:"mouseover",mouseleave:"mouseout"});a&&Be.forEach(function(h){"on"+h in a&&Be.remove(h)});function Ze(h,g){return function(A){var q=e.event;e.event=A,g[0]=this.__data__;try{h.apply(this,g)}finally{e.event=q}}}function Ve(h,g){var A=Ze(h,g);return function(q){var C=this,L=q.relatedTarget;(!L||L!==C&&!(L.compareDocumentPosition(C)&8))&&A.call(C,q)}}var We,lr=0;function rr(h){var g=".dragsuppress-"+ ++lr,A="click"+g,q=e.select(i(h)).on("touchmove"+g,ee).on("dragstart"+g,ee).on("selectstart"+g,ee);if(We==null&&(We="onselectstart"in h?!1:Y(h.style,"userSelect")),We){var C=n(h).style,L=C[We];C[We]="none"}return function(O){if(q.on(g,null),We&&(C[We]=L),O){var F=function(){q.on(A,null)};q.on(A,function(){ee(),F()},!0),setTimeout(F,0)}}}e.mouse=function(h){return Ie(h,oe())};var er=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function Ie(h,g){g.changedTouches&&(g=g.changedTouches[0]);var A=h.ownerSVGElement||h;if(A.createSVGPoint){var q=A.createSVGPoint();if(er<0){var C=i(h);if(C.scrollX||C.scrollY){A=e.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var L=A[0][0].getScreenCTM();er=!(L.f||L.e),A.remove()}}return er?(q.x=g.pageX,q.y=g.pageY):(q.x=g.clientX,q.y=g.clientY),q=q.matrixTransform(h.getScreenCTM().inverse()),[q.x,q.y]}var O=h.getBoundingClientRect();return[g.clientX-O.left-h.clientLeft,g.clientY-O.top-h.clientTop]}e.touch=function(h,g,A){if(arguments.length<3&&(A=g,g=oe().changedTouches),g){for(var q=0,C=g.length,L;q<C;++q)if((L=g[q]).identifier===A)return Ie(h,L)}},e.behavior.drag=function(){var h=le(C,"drag","dragstart","dragend"),g=null,A=L(H,e.mouse,i,"mousemove","mouseup"),q=L(ne,e.touch,B,"touchmove","touchend");function C(){this.on("mousedown.drag",A).on("touchstart.drag",q)}function L(O,F,U,J,$){return function(){var re=this,te=e.event.target.correspondingElement||e.event.target,we=re.parentNode,ke=h.of(re,arguments),ae=0,pe=O(),ge=".drag"+(pe==null?"":"-"+pe),Me,Se=e.select(U(te)).on(J+ge,or).on($+ge,hr),xe=rr(te),je=F(we,pe);g?(Me=g.apply(re,arguments),Me=[Me.x-je[0],Me.y-je[1]]):Me=[0,0],ke({type:"dragstart"});function or(){var sr=F(we,pe),pr,yr;sr&&(pr=sr[0]-je[0],yr=sr[1]-je[1],ae|=pr|yr,je=sr,ke({type:"drag",x:sr[0]+Me[0],y:sr[1]+Me[1],dx:pr,dy:yr}))}function hr(){F(we,pe)&&(Se.on(J+ge,null).on($+ge,null),xe(ae),ke({type:"dragend"}))}}}return C.origin=function(O){return arguments.length?(g=O,C):g},e.rebind(C,h,"on")};function ne(){return e.event.changedTouches[0].identifier}e.touches=function(h,g){return arguments.length<2&&(g=oe().touches),g?t(g).map(function(A){var q=Ie(h,A);return q.identifier=A.identifier,q}):[]};var de=1e-6,Pe=de*de,Fe=Math.PI,Ke=2*Fe,cr=Ke-de,ur=Fe/2,Mr=Fe/180,Ir=180/Fe;function Ur(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?Fe:Math.acos(h)}function ct(h){return h>1?ur:h<-1?-ur:Math.asin(h)}function Ot(h){return((h=Math.exp(h))-1/h)/2}function gt(h){return((h=Math.exp(h))+1/h)/2}function Ta(h){return((h=Math.exp(2*h))-1)/(h+1)}function Zt(h){return(h=Math.sin(h/2))*h}var Jt=Math.SQRT2,za=2,fa=4;e.interpolateZoom=function(h,g){var A=h[0],q=h[1],C=h[2],L=g[0],O=g[1],F=g[2],U=L-A,J=O-q,$=U*U+J*J,re,te;if($<Pe)te=Math.log(F/C)/Jt,re=function(Me){return[A+Me*U,q+Me*J,C*Math.exp(Jt*Me*te)]};else{var we=Math.sqrt($),ke=(F*F-C*C+fa*$)/(2*C*za*we),ae=(F*F-C*C-fa*$)/(2*F*za*we),pe=Math.log(Math.sqrt(ke*ke+1)-ke),ge=Math.log(Math.sqrt(ae*ae+1)-ae);te=(ge-pe)/Jt,re=function(Me){var Se=Me*te,xe=gt(pe),je=C/(za*we)*(xe*Ta(Jt*Se+pe)-Ot(pe));return[A+je*U,q+je*J,C*xe/gt(Jt*Se+pe)]}}return re.duration=te*1e3,re},e.behavior.zoom=function(){var h={x:0,y:0,k:1},g,A,q,C=[960,500],L=$t,O=250,F=0,U="mousedown.zoom",J="mousemove.zoom",$="mouseup.zoom",re,te="touchstart.zoom",we,ke=le(Se,"zoomstart","zoom","zoomend"),ae,pe,ge,Me;Jr||(Jr="onwheel"in a?(ar=function(){return-e.event.deltaY*(e.event.deltaMode?120:1)},"wheel"):"onmousewheel"in a?(ar=function(){return e.event.wheelDelta},"mousewheel"):(ar=function(){return-e.event.detail},"MozMousePixelScroll"));function Se(nr){nr.on(U,kr).on(Jr+".zoom",ea).on("dblclick.zoom",pt).on(te,at)}Se.event=function(nr){nr.each(function(){var Dr=ke.of(this,arguments),Pr=h;Js?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=C[0],Bt=C[1],ga=A?A[0]:nt/2,Ha=A?A[1]:Bt/2,nn=e.interpolateZoom([(ga-h.x)/h.k,(Ha-h.y)/h.k,nt/h.k],[(ga-Pr.x)/Pr.k,(Ha-Pr.y)/Pr.k,nt/Pr.k]);return function(mn){var on=nn(mn),Sn=nt/on[2];this.__chart__=h={x:ga-on[0]*Sn,y:Ha-on[1]*Sn,k:Sn},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(nr){return arguments.length?(h={x:+nr[0],y:+nr[1],k:h.k},pr(),Se):[h.x,h.y]},Se.scale=function(nr){return arguments.length?(h={x:h.x,y:h.y,k:null},or(+nr),pr(),Se):h.k},Se.scaleExtent=function(nr){return arguments.length?(L=nr==null?$t:[+nr[0],+nr[1]],Se):L},Se.center=function(nr){return arguments.length?(q=nr&&[+nr[0],+nr[1]],Se):q},Se.size=function(nr){return arguments.length?(C=nr&&[+nr[0],+nr[1]],Se):C},Se.duration=function(nr){return arguments.length?(O=+nr,Se):O},Se.x=function(nr){return arguments.length?(pe=nr,ae=nr.copy(),h={x:0,y:0,k:1},Se):pe},Se.y=function(nr){return arguments.length?(Me=nr,ge=nr.copy(),h={x:0,y:0,k:1},Se):Me};function xe(nr){return[(nr[0]-h.x)/h.k,(nr[1]-h.y)/h.k]}function je(nr){return[nr[0]*h.k+h.x,nr[1]*h.k+h.y]}function or(nr){h.k=Math.max(L[0],Math.min(L[1],nr))}function hr(nr,Dr){Dr=je(Dr),h.x+=nr[0]-Dr[0],h.y+=nr[1]-Dr[1]}function sr(nr,Dr,Pr,nt){nr.__chart__={x:h.x,y:h.y,k:h.k},or(Math.pow(2,nt)),hr(A=Dr,Pr),nr=e.select(nr),O>0&&(nr=nr.transition().duration(O)),nr.call(Se.event)}function pr(){pe&&pe.domain(ae.range().map(function(nr){return(nr-h.x)/h.k}).map(ae.invert)),Me&&Me.domain(ge.range().map(function(nr){return(nr-h.y)/h.k}).map(ge.invert))}function yr(nr){F++||nr({type:"zoomstart"})}function Er(nr){pr(),nr({type:"zoom",scale:h.k,translate:[h.x,h.y]})}function gr(nr){--F||(nr({type:"zoomend"}),A=null)}function kr(){var nr=this,Dr=ke.of(nr,arguments),Pr=0,nt=e.select(i(nr)).on(J,Ha).on($,nn),Bt=xe(e.mouse(nr)),ga=rr(nr);dp.call(nr),yr(Dr);function Ha(){Pr=1,hr(e.mouse(nr),Bt),Er(Dr)}function nn(){nt.on(J,null).on($,null),ga(Pr),gr(Dr)}}function at(){var nr=this,Dr=ke.of(nr,arguments),Pr={},nt=0,Bt,ga=".zoom-"+e.event.changedTouches[0].identifier,Ha="touchmove"+ga,nn="touchend"+ga,mn=[],on=e.select(nr),Sn=rr(nr);qn(),yr(Dr),on.on(U,null).on(te,qn);function Ja(){var $i=e.touches(nr);return Bt=h.k,$i.forEach(function(Ua){Ua.identifier in Pr&&(Pr[Ua.identifier]=xe(Ua))}),$i}function qn(){var $i=e.event.target;e.select($i).on(Ha,$s).on(nn,uoe),mn.push($i);for(var Ua=e.event.changedTouches,si=0,ko=Ua.length;si<ko;++si)Pr[Ua[si].identifier]=null;var ui=Ja(),Df=Date.now();if(ui.length===1){if(Df-we<500){var Ks=ui[0];sr(nr,Ks,Pr[Ks.identifier],Math.floor(Math.log(h.k)/Math.LN2)+1),ee()}we=Df}else if(ui.length>1){var Ks=ui[0],Gl=ui[1],mp=Ks[0]-Gl[0],$8=Ks[1]-Gl[1];nt=mp*mp+$8*$8}}function $s(){var $i=e.touches(nr),Ua,si,ko,ui;dp.call(nr);for(var Df=0,Ks=$i.length;Df<Ks;++Df,ui=null)if(ko=$i[Df],ui=Pr[ko.identifier]){if(si)break;Ua=ko,si=ui}if(ui){var Gl=(Gl=ko[0]-Ua[0])*Gl+(Gl=ko[1]-Ua[1])*Gl,mp=nt&&Math.sqrt(Gl/nt);Ua=[(Ua[0]+ko[0])/2,(Ua[1]+ko[1])/2],si=[(si[0]+ui[0])/2,(si[1]+ui[1])/2],or(mp*Bt)}we=null,hr(Ua,si),Er(Dr)}function uoe(){if(e.event.touches.length){for(var $i=e.event.changedTouches,Ua=0,si=$i.length;Ua<si;++Ua)delete Pr[$i[Ua].identifier];for(var ko in Pr)return void Ja()}e.selectAll(mn).on(ga,null),on.on(U,kr).on(te,at),Sn(),gr(Dr)}}function ea(){var nr=ke.of(this,arguments);re?clearTimeout(re):(dp.call(this),g=xe(A=q||e.mouse(this)),yr(nr)),re=setTimeout(function(){re=null,gr(nr)},50),ee(),or(Math.pow(2,ar()*.002)*h.k),hr(A,g),Er(nr)}function pt(){var nr=e.mouse(this),Dr=Math.log(h.k)/Math.LN2;sr(this,nr,xe(nr),e.event.shiftKey?Math.ceil(Dr)-1:Math.floor(Dr)+1)}return e.rebind(Se,ke,"on")};var $t=[0,1/0],ar,Jr;e.color=Xr;function Xr(){}Xr.prototype.toString=function(){return this.rgb()+""},e.hsl=$r;function $r(h,g,A){return this instanceof $r?(this.h=+h,this.s=+g,void(this.l=+A)):arguments.length<2?h instanceof $r?new $r(h.h,h.s,h.l):Kr(""+h,ht,$r):new $r(h,g,A)}var Rt=$r.prototype=new Xr;Rt.brighter=function(h){return h=Math.pow(.7,arguments.length?h:1),new $r(this.h,this.s,this.l/h)},Rt.darker=function(h){return h=Math.pow(.7,arguments.length?h:1),new $r(this.h,this.s,h*this.l)},Rt.rgb=function(){return Kt(this.h,this.s,this.l)};function Kt(h,g,A){var q,C;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,C=A<=.5?A*(1+g):A+g-A*g,q=2*A-C;function L(F){return F>360?F-=360:F<0&&(F+=360),F<60?q+(C-q)*F/60:F<180?C:F<240?q+(C-q)*(240-F)/60:q}function O(F){return Math.round(L(F)*255)}return new Wt(O(h+120),O(h),O(h-120))}e.hcl=ft;function ft(h,g,A){return this instanceof ft?(this.h=+h,this.c=+g,void(this.l=+A)):arguments.length<2?h instanceof ft?new ft(h.h,h.c,h.l):h instanceof Qt?Pt(h.l,h.a,h.b):Pt((h=fr((h=e.rgb(h)).r,h.g,h.b)).l,h.a,h.b):new ft(h,g,A)}var Da=ft.prototype=new Xr;Da.brighter=function(h){return new ft(this.h,this.c,Math.min(100,this.l+_t*(arguments.length?h:1)))},Da.darker=function(h){return new ft(this.h,this.c,Math.max(0,this.l-_t*(arguments.length?h:1)))},Da.rgb=function(){return Mn(this.h,this.c,this.l).rgb()};function Mn(h,g,A){return isNaN(h)&&(h=0),isNaN(g)&&(g=0),new Qt(A,Math.cos(h*=Mr)*g,Math.sin(h)*g)}e.lab=Qt;function Qt(h,g,A){return this instanceof Qt?(this.l=+h,this.a=+g,void(this.b=+A)):arguments.length<2?h instanceof Qt?new Qt(h.l,h.a,h.b):h instanceof ft?Mn(h.h,h.c,h.l):fr((h=Wt(h)).r,h.g,h.b):new Qt(h,g,A)}var _t=18,Vt=.95047,Yt=1,ll=1.08883,vt=Qt.prototype=new Xr;vt.brighter=function(h){return new Qt(Math.min(100,this.l+_t*(arguments.length?h:1)),this.a,this.b)},vt.darker=function(h){return new Qt(Math.max(0,this.l-_t*(arguments.length?h:1)),this.a,this.b)},vt.rgb=function(){return kn(this.l,this.a,this.b)};function kn(h,g,A){var q=(h+16)/116,C=q+g/500,L=q-A/200;return C=Ws(C)*Vt,q=Ws(q)*Yt,L=Ws(L)*ll,new Wt(ji(3.2404542*C-1.5371385*q-.4985314*L),ji(-.969266*C+1.8760108*q+.041556*L),ji(.0556434*C-.2040259*q+1.0572252*L))}function Pt(h,g,A){return h>0?new ft(Math.atan2(A,g)*Ir,Math.sqrt(g*g+A*A),h):new ft(NaN,NaN,h)}function Ws(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 ji(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,Kt):new Wt(h,g,A)}function Xi(h){return new Wt(h>>16,h>>8&255,h&255)}function Bl(h){return Xi(h)+""}var Hl=Wt.prototype=new Xr;Hl.brighter=function(h){h=Math.pow(.7,arguments.length?h:1);var g=this.r,A=this.g,q=this.b,C=30;return!g&&!A&&!q?new Wt(C,C,C):(g&&g<C&&(g=C),A&&A<C&&(A=C),q&&q<C&&(q=C),new Wt(Math.min(255,g/h),Math.min(255,A/h),Math.min(255,q/h)))},Hl.darker=function(h){return h=Math.pow(.7,arguments.length?h:1),new Wt(h*this.r,h*this.g,h*this.b)},Hl.hsl=function(){return ht(this.r,this.g,this.b)},Hl.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 q=0,C=0,L=0,O,F,U;if(O=/([a-z]+)\((.*)\)/.exec(h=h.toLowerCase()),O)switch(F=O[2].split(","),O[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(U=Ba.get(h))?g(U.r,U.g,U.b):(h!=null&&h.charAt(0)==="#"&&!isNaN(U=parseInt(h.slice(1),16))&&(h.length===4?(q=(U&3840)>>4,q=q>>4|q,C=U&240,C=C>>4|C,L=U&15,L=L<<4|L):h.length===7&&(q=(U&16711680)>>16,C=(U&65280)>>8,L=U&255)),g(q,C,L))}function ht(h,g,A){var q=Math.min(h/=255,g/=255,A/=255),C=Math.max(h,g,A),L=C-q,O,F,U=(C+q)/2;return L?(F=U<.5?L/(C+q):L/(2-C-q),h==C?O=(g-A)/L+(g<A?6:0):g==C?O=(A-h)/L+2:O=(h-g)/L+4,O*=60):(O=NaN,F=U>0&&U<1?0:O),new $r(O,F,U)}function fr(h,g,A){h=Oa(h),g=Oa(g),A=Oa(A);var q=yn((.4124564*h+.3575761*g+.1804375*A)/Vt),C=yn((.2126729*h+.7151522*g+.072175*A)/Yt),L=yn((.0193339*h+.119192*g+.9503041*A)/ll);return Qt(116*C-16,500*(q-C),200*(C-L))}function Oa(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 Ba=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});Ba.forEach(function(h,g){Ba.set(h,Xi(g))});function Or(h){return typeof h=="function"?h:function(){return h}}e.functor=Or,e.xhr=Zi(B);function Zi(h){return function(g,A,q){return arguments.length===2&&typeof A=="function"&&(q=A,A=null),js(g,A,h,q)}}function js(h,g,A,q){var C={},L=e.dispatch("beforesend","progress","load","error"),O={},F=new XMLHttpRequest,U=null;self.XDomainRequest&&!("withCredentials"in F)&&/^(http(s)?:)?\/\//.test(h)&&(F=new XDomainRequest),"onload"in F?F.onload=F.onerror=J:F.onreadystatechange=function(){F.readyState>3&&J()};function J(){var $=F.status,re;if(!$&&cne(F)||$>=200&&$<300||$===304){try{re=A.call(C,F)}catch(te){L.error.call(C,te);return}L.load.call(C,re)}else L.error.call(C,F)}return F.onprogress=function($){var re=e.event;e.event=$;try{L.progress.call(C,F)}finally{e.event=re}},C.header=function($,re){return $=($+"").toLowerCase(),arguments.length<2?O[$]:(re==null?delete O[$]:O[$]=re+"",C)},C.mimeType=function($){return arguments.length?(g=$==null?null:$+"",C):g},C.responseType=function($){return arguments.length?(U=$,C):U},C.response=function($){return A=$,C},["get","post"].forEach(function($){C[$]=function(){return C.send.apply(C,[$].concat(t(arguments)))}}),C.send=function($,re,te){if(arguments.length===2&&typeof re=="function"&&(te=re,re=null),F.open($,h,!0),g!=null&&!("accept"in O)&&(O.accept=g+",*/*"),F.setRequestHeader)for(var we in O)F.setRequestHeader(we,O[we]);return g!=null&&F.overrideMimeType&&F.overrideMimeType(g),U!=null&&(F.responseType=U),te!=null&&C.on("error",te).on("load",function(ke){te(null,ke)}),L.beforesend.call(C,F),F.send(re==null?null:re),C},C.abort=function(){return F.abort(),C},e.rebind(C,L,"on"),q==null?C:C.get(fne(q))}function fne(h){return h.length===1?function(g,A){h(g==null?A:null)}:h}function cne(h){var g=h.responseType;return g&&g!=="text"?h.response:h.responseText}e.dsv=function(h,g){var A=new RegExp('["'+h+` ]`),q=h.charCodeAt(0);function C(J,$,re){arguments.length<3&&(re=$,$=null);var te=js(J,g,$==null?L:O($),re);return te.row=function(we){return arguments.length?te.response(($=we)==null?L:O(we)):$},te}function L(J){return C.parse(J.responseText)}function O(J){return function($){return C.parse($.responseText,J)}}C.parse=function(J,$){var re;return C.parseRows(J,function(te,we){if(re)return re(te,we-1);var ke=function(ae){for(var pe={},ge=te.length,Me=0;Me<ge;++Me)pe[te[Me]]=ae[Me];return pe};re=$?function(ae,pe){return $(ke(ae),pe)}:ke})},C.parseRows=function(J,$){var re={},te={},we=[],ke=J.length,ae=0,pe=0,ge,Me;function Se(){if(ae>=ke)return te;if(Me)return Me=!1,re;var je=ae;if(J.charCodeAt(je)===34){for(var or=je;or++<ke;)if(J.charCodeAt(or)===34){if(J.charCodeAt(or+1)!==34)break;++or}ae=or+2;var hr=J.charCodeAt(or+1);return hr===13?(Me=!0,J.charCodeAt(or+2)===10&&++ae):hr===10&&(Me=!0),J.slice(je+1,or).replace(/""/g,'"')}for(;ae<ke;){var hr=J.charCodeAt(ae++),sr=1;if(hr===10)Me=!0;else if(hr===13)Me=!0,J.charCodeAt(ae)===10&&(++ae,++sr);else if(hr!==q)continue;return J.slice(je,ae-sr)}return J.slice(je)}for(;(ge=Se())!==te;){for(var xe=[];ge!==re&&ge!==te;)xe.push(ge),ge=Se();$&&(xe=$(xe,pe++))==null||we.push(xe)}return we},C.format=function(J){if(Array.isArray(J[0]))return C.formatRows(J);var $=new z,re=[];return J.forEach(function(te){for(var we in te)$.has(we)||re.push($.add(we))}),[re.map(U).join(h)].concat(J.map(function(te){return re.map(function(we){return U(te[we])}).join(h)})).join(` `)},C.formatRows=function(J){return J.map(F).join(` `)};function F(J){return J.map(U).join(h)}function U(J){return A.test(J)?'"'+J.replace(/\"/g,'""')+'"':J}return C},e.csv=e.dsv(",","text/csv"),e.tsv=e.dsv(" ","text/tab-separated-values");var Zd,Jd,$d,Kd,IA=this[Y(this,"requestAnimationFrame")]||function(h){setTimeout(h,17)};e.timer=function(){Qd.apply(this,arguments)};function Qd(h,g,A){var q=arguments.length;q<2&&(g=0),q<3&&(A=Date.now());var C=A+g,L={c:h,t:C,n:null};return Jd?Jd.n=L:Zd=L,Jd=L,$d||(Kd=clearTimeout(Kd),$d=1,IA(F3)),L}function F3(){var h=zA(),g=OA()-h;g>24?(isFinite(g)&&(clearTimeout(Kd),Kd=setTimeout(F3,g)),$d=0):($d=1,IA(F3))}e.timer.flush=function(){zA(),OA()};function zA(){for(var h=Date.now(),g=Zd;g;)h>=g.t&&g.c(h-g.t)&&(g.c=null),g=g.n;return h}function OA(){for(var h,g=Zd,A=1/0;g;)g.c?(g.t<A&&(A=g.t),g=(h=g).n):g=h?h.n=g.n:Zd=g.n;return Jd=h,A}e.round=function(h,g){return g?Math.round(h*(g=Math.pow(10,g)))/g:Math.round(h)},e.geom={};function kf(h){return h[0]}function Gv(h){return h[1]}e.geom.hull=function(h){var g=kf,A=Gv;if(arguments.length)return q(h);function q(C){if(C.length<3)return[];var L=Or(g),O=Or(A),F,U=C.length,J=[],$=[];for(F=0;F<U;F++)J.push([+L.call(this,C[F],F),+O.call(this,C[F],F),F]);for(J.sort(vne),F=0;F<U;F++)$.push([J[F][0],-J[F][1]]);var re=BA(J),te=BA($),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(C[J[re[F]][2]]);for(F=+we;F<te.length-ke;++F)ae.push(C[J[te[F]][2]]);return ae}return q.x=function(C){return arguments.length?(g=C,q):g},q.y=function(C){return arguments.length?(A=C,q):A},q};function BA(h){for(var g=h.length,A=[0,1],q=2,C=2;C<g;C++){for(;q>1&&et(h[A[q-2]],h[A[q-1]],h[C])<=0;)--q;A[q++]=C}return A.slice(0,q)}function vne(h,g){return h[0]-g[0]||h[1]-g[1]}e.geom.polygon=function(h){return K(h,ep),h};var ep=e.geom.polygon.prototype=[];ep.area=function(){for(var h=-1,g=this.length,A,q=this[g-1],C=0;++h<g;)A=q,q=this[h],C+=A[1]*q[0]-A[0]*q[1];return C*.5},ep.centroid=function(h){var g=-1,A=this.length,q=0,C=0,L,O=this[A-1],F;for(arguments.length||(h=-1/(6*this.area()));++g<A;)L=O,O=this[g],F=L[0]*O[1]-O[0]*L[1],q+=(L[0]+O[0])*F,C+=(L[1]+O[1])*F;return[q*h,C*h]},ep.clip=function(h){for(var g,A=HA(h),q=-1,C=this.length-HA(this),L,O,F=this[C-1],U,J,$;++q<C;){for(g=h.slice(),h.length=0,U=this[q],J=g[(O=g.length-A)-1],L=-1;++L<O;)$=g[L],N3($,F,U)?(N3(J,F,U)||h.push(I3(J,$,F,U)),h.push($)):N3(J,F,U)&&h.push(I3(J,$,F,U)),J=$;A&&h.push(h[0]),F=U}return h};function N3(h,g,A){return(A[0]-g[0])*(h[1]-g[1])<(A[1]-g[1])*(h[0]-g[0])}function I3(h,g,A,q){var C=h[0],L=A[0],O=g[0]-C,F=q[0]-L,U=h[1],J=A[1],$=g[1]-U,re=q[1]-J,te=(F*(U-J)-re*(C-L))/(re*O-F*$);return[C+te*O,U+te*$]}function HA(h){var g=h[0],A=h[h.length-1];return!(g[0]-A[0]||g[1]-A[1])}var Sf,Xs,qf,UA=[],z3,Vv,GA=[];function hne(){ap(this),this.edge=this.site=this.circle=null}function VA(h){var g=UA.pop()||new hne;return g.site=h,g}function O3(h){Lf(h),qf.remove(h),UA.push(h),ap(h)}function dne(h){var g=h.circle,A=g.x,q=g.cy,C={x:A,y:q},L=h.P,O=h.N,F=[h];O3(h);for(var U=L;U.circle&&x(A-U.circle.x)<de&&x(q-U.circle.cy)<de;)L=U.P,F.unshift(U),O3(U),U=L;F.unshift(U),Lf(U);for(var J=O;J.circle&&x(A-J.circle.x)<de&&x(q-J.circle.cy)<de;)O=J.N,F.push(J),O3(J),J=O;F.push(J),Lf(J);var $=F.length,re;for(re=1;re<$;++re)J=F[re],U=F[re-1],rp(J.edge,U.site,J.site,C);U=F[0],J=F[$-1],J.edge=Yv(U.site,J.site,null,C),Cf(U),Cf(J)}function pne(h){for(var g=h.x,A=h.y,q,C,L,O,F=qf._;F;)if(L=YA(F,A)-g,L>de)F=F.L;else if(O=g-yne(F,A),O>de){if(!F.R){q=F;break}F=F.R}else{L>-de?(q=F.P,C=F):O>-de?(q=F,C=F.N):q=C=F;break}var U=VA(h);if(qf.insert(q,U),!(!q&&!C)){if(q===C){Lf(q),C=VA(q.site),qf.insert(U,C),U.edge=C.edge=Yv(q.site,U.site),Cf(q),Cf(C);return}if(!C){U.edge=Yv(q.site,U.site);return}Lf(q),Lf(C);var J=q.site,$=J.x,re=J.y,te=h.x-$,we=h.y-re,ke=C.site,ae=ke.x-$,pe=ke.y-re,ge=2*(te*pe-we*ae),Me=te*te+we*we,Se=ae*ae+pe*pe,xe={x:(pe*Me-we*Se)/ge+$,y:(te*Se-ae*Me)/ge+re};rp(C.edge,J,ke,xe),U.edge=Yv(J,h,null,xe),C.edge=Yv(h,ke,null,xe),Cf(q),Cf(C)}}function YA(h,g){var A=h.site,q=A.x,C=A.y,L=C-g;if(!L)return q;var O=h.P;if(!O)return-1/0;A=O.site;var F=A.x,U=A.y,J=U-g;if(!J)return F;var $=F-q,re=1/L-1/J,te=$/J;return re?(-te+Math.sqrt(te*te-2*re*($*$/(-2*J)-U+J/2+C-L/2)))/re+q:(q+F)/2}function yne(h,g){var A=h.N;if(A)return YA(A,g);var q=h.site;return q.y===g?q.x:1/0}function WA(h){this.site=h,this.edges=[]}WA.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(jA),h.length};function mne(h){for(var g=h[0][0],A=h[1][0],q=h[0][1],C=h[1][1],L,O,F,U,J=Xs,$=J.length,re,te,we,ke,ae,pe;$--;)if(re=J[$],!(!re||!re.prepare()))for(we=re.edges,ke=we.length,te=0;te<ke;)pe=we[te].end(),F=pe.x,U=pe.y,ae=we[++te%ke].start(),L=ae.x,O=ae.y,(x(F-L)>de||x(U-O)>de)&&(we.splice(te,0,new tp(wne(re.site,pe,x(F-g)<de&&C-U>de?{x:g,y:x(L-g)<de?O:C}:x(U-C)<de&&A-F>de?{x:x(O-C)<de?L:A,y:C}:x(F-A)<de&&U-q>de?{x:A,y:x(L-A)<de?O:q}:x(U-q)<de&&F-g>de?{x:x(O-q)<de?L:g,y:q}:null),re.site,null)),++ke)}function jA(h,g){return g.angle-h.angle}function gne(){ap(this),this.x=this.y=this.arc=this.site=this.cy=null}function Cf(h){var g=h.P,A=h.N;if(!(!g||!A)){var q=g.site,C=h.site,L=A.site;if(q!==L){var O=C.x,F=C.y,U=q.x-O,J=q.y-F,$=L.x-O,pe=L.y-F,re=2*(U*pe-J*$);if(!(re>=-Pe)){var te=U*U+J*J,we=$*$+pe*pe,ke=(pe*te-J*we)/re,ae=(U*we-$*te)/re,pe=ae+F,ge=GA.pop()||new gne;ge.arc=h,ge.site=C,ge.x=ke+O,ge.y=pe+Math.sqrt(ke*ke+ae*ae),ge.cy=pe,h.circle=ge;for(var Me=null,Se=Vv._;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}Vv.insert(Me,ge),Me||(z3=ge)}}}}function Lf(h){var g=h.circle;g&&(g.P||(z3=g.N),Vv.remove(g),GA.push(g),ap(g),h.circle=null)}function bne(h,g,A,q){return function(C){var L=C.a,O=C.b,F=L.x,U=L.y,J=O.x,$=O.y,re=0,te=1,we=J-F,ke=$-U,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-U,!(!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=q-U,!(!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&&(C.a={x:F+re*we,y:U+re*ke}),te<1&&(C.b={x:F+te*we,y:U+te*ke}),C}}}}}}function xne(h){for(var g=Sf,A=bne(h[0][0],h[0][1],h[1][0],h[1][1]),q=g.length,C;q--;)C=g[q],(!_ne(C,h)||!A(C)||x(C.a.x-C.b.x)<de&&x(C.a.y-C.b.y)<de)&&(C.a=C.b=null,g.splice(q,1))}function _ne(h,g){var A=h.b;if(A)return!0;var q=h.a,C=g[0][0],L=g[1][0],O=g[0][1],F=g[1][1],U=h.l,J=h.r,$=U.x,re=U.y,te=J.x,we=J.y,ke=($+te)/2,ae=(re+we)/2,pe,ge;if(we===re){if(ke<C||ke>=L)return;if($>te){if(!q)q={x:ke,y:O};else if(q.y>=F)return;A={x:ke,y:F}}else{if(!q)q={x:ke,y:F};else if(q.y<O)return;A={x:ke,y:O}}}else if(pe=($-te)/(we-re),ge=ae-pe*ke,pe<-1||pe>1)if($>te){if(!q)q={x:(O-ge)/pe,y:O};else if(q.y>=F)return;A={x:(F-ge)/pe,y:F}}else{if(!q)q={x:(F-ge)/pe,y:F};else if(q.y<O)return;A={x:(O-ge)/pe,y:O}}else if(re<we){if(!q)q={x:C,y:pe*C+ge};else if(q.x>=L)return;A={x:L,y:pe*L+ge}}else{if(!q)q={x:L,y:pe*L+ge};else if(q.x<C)return;A={x:C,y:pe*C+ge}}return h.a=q,h.b=A,!0}function XA(h,g){this.l=h,this.r=g,this.a=this.b=null}function Yv(h,g,A,q){var C=new XA(h,g);return Sf.push(C),A&&rp(C,h,g,A),q&&rp(C,g,h,q),Xs[h.i].edges.push(new tp(C,h,g)),Xs[g.i].edges.push(new tp(C,g,h)),C}function wne(h,g,A){var q=new XA(h,null);return q.a=g,q.b=A,Sf.push(q),q}function rp(h,g,A,q){!h.a&&!h.b?(h.a=q,h.l=g,h.r=A):h.l===A?h.b=q:h.a=q}function tp(h,g,A){var q=h.a,C=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(C.x-q.x,q.y-C.y):Math.atan2(q.x-C.x,C.y-q.y)}tp.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 B3(){this._=null}function ap(h){h.U=h.C=h.L=h.R=h.P=h.N=null}B3.prototype={insert:function(h,g){var A,q,C;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=ZA(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;)q=A.U,A===q.L?(C=q.R,C&&C.C?(A.C=C.C=!1,q.C=!0,h=q):(h===A.R&&(Wv(this,A),h=A,A=h.U),A.C=!1,q.C=!0,jv(this,q))):(C=q.L,C&&C.C?(A.C=C.C=!1,q.C=!0,h=q):(h===A.L&&(jv(this,A),h=A,A=h.U),A.C=!1,q.C=!0,Wv(this,q))),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,q=h.L,C=h.R,L,O;if(q?C?L=ZA(C):L=q:L=C,g?g.L===h?g.L=L:g.R=L:this._=L,q&&C?(O=L.C,L.C=h.C,L.L=q,q.U=L,L!==C?(g=L.U,L.U=h.U,h=L.R,g.L=h,L.R=C,C.U=L):(L.U=g,g=L,h=L.R)):(O=h.C,h=L),h&&(h.U=g),!O){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,Wv(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,jv(this,A),A=g.R),A.C=g.C,g.C=A.R.C=!1,Wv(this,g),h=this._;break}}else if(A=g.L,A.C&&(A.C=!1,g.C=!0,jv(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,Wv(this,A),A=g.L),A.C=g.C,g.C=A.L.C=!1,jv(this,g),h=this._;break}A.C=!0,h=g,g=g.U}whil