UNPKG

plotly.js

Version:

The open source javascript graphing library that powers plotly

18 lines 1.33 MB
/** * plotly.js (cartesian - minified) v3.0.1 * 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 EA=Object.defineProperty;var $ne=Object.getOwnPropertyDescriptor;var Kne=Object.getOwnPropertyNames;var Qne=Object.prototype.hasOwnProperty;var DA=(e,r)=>()=>(e&&(r=e(e=0)),r);var N=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var eie=(e,r,t,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of Kne(r))!Qne.call(e,n)&&n!==t&&EA(e,n,{get:()=>r[n],enumerable:!(a=$ne(r,n))||a.enumerable});return e};var rie=e=>eie(EA({},"__esModule",{value:!0}),e);var ep=N(PA=>{"use strict";PA.version="3.0.1"});var FA=N((RA,rp)=>{(function(r,t,a){t[r]=t[r]||a(),typeof rp!="undefined"&&rp.exports&&(rp.exports=t[r])})("Promise",typeof window!="undefined"?window:RA,function(){"use strict";var r,t,a,n=Object.prototype.toString,i=typeof setImmediate!="undefined"?function(_){return setImmediate(_)}: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(w,b,T){return w[b]=T,w}}a=function(){var _,w,b;function T(k,M){this.fn=k,this.self=M,this.next=void 0}return{add:function(M,S){b=new T(M,S),w?w.next=b:_=b,w=b,b=void 0},drain:function(){var M=_;for(_=w=t=void 0;M;)M.fn.call(M.self),M=M.next}}}();function o(x,_){a.add(x,_),t||(t=i(a.drain))}function l(x){var _,w=typeof x;return x!=null&&(w=="object"||w=="function")&&(_=x.then),typeof _=="function"?_:!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{_===!1?w.reject(x.msg):(_===!0?b=x.msg:b=_.call(void 0,x.msg),b===w.promise?w.reject(TypeError("Promise-chain cycle")):(T=l(b))?T.call(b,w.resolve,w.reject):w.resolve(b))}catch(k){w.reject(k)}}function f(x){var _,w=this;if(!w.triggered){w.triggered=!0,w.def&&(w=w.def);try{(_=l(x))?o(function(){var b=new d(w);try{_.call(x,function(){f.apply(b,arguments)},function(){c.apply(b,arguments)})}catch(T){c.call(b,T)}}):(w.msg=x,w.state=1,w.chain.length>0&&o(s,w))}catch(b){c.call(new d(w),b)}}}function c(x){var _=this;_.triggered||(_.triggered=!0,_.def&&(_=_.def),_.msg=x,_.state=2,_.chain.length>0&&o(s,_))}function v(x,_,w,b){for(var T=0;T<_.length;T++)(function(M){x.resolve(_[M]).then(function(E){w(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 m(x){if(typeof x!="function")throw TypeError("Not a function");if(this.__NPO__!==0)throw TypeError("Not a promise");this.__NPO__=1;var _=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(S,E){if(typeof S!="function"||typeof E!="function")throw TypeError("Not a function");k.resolve=S,k.reject=E}),_.chain.push(k),_.state!==0&&o(s,_),k.promise},this.catch=function(b){return this.then(void 0,b)};try{x.call(void 0,function(b){f.call(_,b)},function(b){c.call(_,b)})}catch(w){c.call(_,w)}}var y=r({},"constructor",m,!1);return m.prototype=y,r(y,"__NPO__",0,!1),r(m,"resolve",function(_){var w=this;return _&&typeof _=="object"&&_.__NPO__===1?_:new w(function(T,k){if(typeof T!="function"||typeof k!="function")throw TypeError("Not a function");T(_)})}),r(m,"reject",function(_){return new this(function(b,T){if(typeof b!="function"||typeof T!="function")throw TypeError("Not a function");T(_)})}),r(m,"all",function(_){var w=this;return n.call(_)!="[object Array]"?w.reject(TypeError("Not an array")):_.length===0?w.resolve([]):new w(function(T,k){if(typeof T!="function"||typeof k!="function")throw TypeError("Not a function");var M=_.length,S=Array(M),E=0;v(w,_,function(R,D){S[R]=D,++E===M&&T(S)},k)})}),r(m,"race",function(_){var w=this;return n.call(_)!="[object Array]"?w.reject(TypeError("Not an array")):new w(function(T,k){if(typeof T!="function"||typeof k!="function")throw TypeError("Not a function");v(w,_,function(S,E){T(E)},k)})}),m})});var Sr=N((Vqe,tp)=>{(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,L,C;if(arguments.length===1){for(;++A<q;)if((C=h[A])!=null&&C>=C){L=C;break}for(;++A<q;)(C=h[A])!=null&&L>C&&(L=C)}else{for(;++A<q;)if((C=g.call(h,h[A],A))!=null&&C>=C){L=C;break}for(;++A<q;)(C=g.call(h,h[A],A))!=null&&L>C&&(L=C)}return L},e.max=function(h,g){var A=-1,q=h.length,L,C;if(arguments.length===1){for(;++A<q;)if((C=h[A])!=null&&C>=C){L=C;break}for(;++A<q;)(C=h[A])!=null&&C>L&&(L=C)}else{for(;++A<q;)if((C=g.call(h,h[A],A))!=null&&C>=C){L=C;break}for(;++A<q;)(C=g.call(h,h[A],A))!=null&&C>L&&(L=C)}return L},e.extent=function(h,g){var A=-1,q=h.length,L,C,I;if(arguments.length===1){for(;++A<q;)if((C=h[A])!=null&&C>=C){L=I=C;break}for(;++A<q;)(C=h[A])!=null&&(L>C&&(L=C),I<C&&(I=C))}else{for(;++A<q;)if((C=g.call(h,h[A],A))!=null&&C>=C){L=I=C;break}for(;++A<q;)(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,q=h.length,L,C=-1;if(arguments.length===1)for(;++C<q;)d(L=+h[C])&&(A+=L);else for(;++C<q;)d(L=+g.call(h,h[C],C))&&(A+=L);return A},e.mean=function(h,g){var A=0,q=h.length,L,C=-1,I=q;if(arguments.length===1)for(;++C<q;)d(L=v(h[C]))?A+=L:--I;else for(;++C<q;)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,q=Math.floor(A),L=+h[q-1],C=A-q;return C?L+C*(h[q]-L):L},e.median=function(h,g){var A=[],q=h.length,L,C=-1;if(arguments.length===1)for(;++C<q;)d(L=v(h[C]))&&A.push(L);else for(;++C<q;)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,q=0,L,C,I=0,F=-1,U=0;if(arguments.length===1)for(;++F<A;)d(L=v(h[F]))&&(C=L-q,q+=C/++U,I+=C*(L-q));else for(;++F<A;)d(L=v(g.call(h,h[F],F)))&&(C=L-q,q+=C/++U,I+=C*(L-q));if(U>1)return I/(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,L){for(arguments.length<3&&(q=0),arguments.length<4&&(L=g.length);q<L;){var C=q+L>>>1;h(g[C],A)<0?q=C+1:L=C}return q},right:function(g,A,q,L){for(arguments.length<3&&(q=0),arguments.length<4&&(L=g.length);q<L;){var C=q+L>>>1;h(g[C],A)>0?L=C:q=C+1}return q}}}var m=p(c);e.bisectLeft=m.left,e.bisect=e.bisectRight=m.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,L,C;q;)C=Math.random()*q--|0,L=h[q+g],h[q+g]=h[C+g],h[C+g]=L;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,L=h[0],C=new Array(A<0?0:A);g<A;)C[g]=[q=L,L=h[++g]];return C},e.transpose=function(h){if(!(C=h.length))return[];for(var g=-1,A=e.min(h,y),q=new Array(A);++g<A;)for(var L=-1,C,I=q[g]=new Array(C);++L<C;)I[L]=h[L][g];return q};function y(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,L=0,C,I;++q<g;)L+=h[q].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 q=[],L=_(x(A)),C=-1,I;if(h*=L,g*=L,A*=L,A<0)for(;(I=h+A*++C)>g;)q.push(I/L);else for(;(I=h+A*++C)<g;)q.push(I/L);return q};function _(h){for(var g=1;h*g%1;)g*=10;return g}function w(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,L=h.length,C;if(arguments.length===1)for(;++q<L;)A.set(q,h[q]);else for(;++q<L;)A.set(g.call(h,C=h[q],q),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";w(b,{has:E,get:function(h){return this._[M(h)]},set:function(h,g){return this._[M(h)]=g},remove:P,keys:R,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:D,empty:z,forEach:function(h){for(var g in this._)h.call(this,S(g),this._[g])}});function M(h){return(h+="")===T||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 P(h){return(h=M(h))in this._&&delete this._[h]}function R(){var h=[];for(var g in this._)h.push(S(g));return h}function D(){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=[],q,L;function C(F,U,J){if(J>=g.length)return L?L.call(h,U):q?U.sort(q):U;for(var $=-1,ee=U.length,re=g[J++],_e,Me,ae,ce=new b,ge;++$<ee;)(ge=ce.get(_e=re(Me=U[$])))?ge.push(Me):ce.set(_e,[Me]);return F?(Me=F(),ae=function(Ae,ke){Me.set(Ae,C(F,ke,J))}):(Me={},ae=function(Ae,ke){Me[Ae]=C(F,ke,J)}),ce.forEach(ae),Me}function I(F,U){if(U>=g.length)return F;var J=[],$=A[U++];return F.forEach(function(ee,re){J.push({key:ee,values:I(re,U)})}),$?J.sort(function(ee,re){return $(ee.key,re.key)}):J}return h.map=function(F,U){return C(U,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 q=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,q=h.length;A<q;++A)g.add(h[A]);return g};function O(){this._=Object.create(null)}w(O,{has:E,add:function(h){return this._[M(h+="")]=!0,h},remove:P,values:R,size:D,empty:z,forEach:function(h){for(var g in this._)h.call(this,S(g))}}),e.behavior={};function H(h){return h}e.rebind=function(h,g){for(var A=1,q=arguments.length,L;++A<q;)h[L=arguments[A]]=Y(h,g,g[L]);return h};function Y(h,g,A){return function(){var q=A.apply(g,arguments);return q===g?h:q}}function G(h,g){if(g in h)return g;g=g.charAt(0).toUpperCase()+g.slice(1);for(var A=0,q=B.length;A<q;++A){var L=B[A]+g;if(L in h)return L}}var B=["webkit","ms","moz","Moz","o","O"];function V(){}e.dispatch=function(){for(var h=new X,g=-1,A=arguments.length;++g<A;)h[arguments[g]]=Z(h);return h};function X(){}X.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 Z(h){var g=[],A=new b;function q(){for(var L=g,C=-1,I=L.length,F;++C<I;)(F=L[C].on)&&F.apply(this,arguments);return h}return q.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)},q}e.event=null;function te(){e.event.preventDefault()}function fe(){for(var h=e.event,g;g=h.sourceEvent;)h=g;return h}function le(h){for(var g=new X,A=0,q=arguments.length;++A<q;)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(ie,"\\$&")};var ie=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,K={}.__proto__?function(h,g){h.__proto__=g}:function(h,g){for(var A in g)h[A]=g[A]};function he(h){return K(h,de),h}var oe=function(h,g){return g.querySelector(h)},ye=function(h,g){return g.querySelectorAll(h)},ue=function(h,g){var A=h.matches||h[G(h,"matchesSelector")];return ue=function(q,L){return A.call(q,L)},ue(h,g)};typeof Sizzle=="function"&&(oe=function(h,g){return Sizzle(h,g)[0]||null},ye=Sizzle,ue=Sizzle.matchesSelector),e.selection=function(){return e.select(a.documentElement)};var de=e.selection.prototype=[];de.select=function(h){var g=[],A,q,L,C;h=W(h);for(var I=-1,F=this.length;++I<F;){g.push(A=[]),A.parentNode=(L=this[I]).parentNode;for(var U=-1,J=L.length;++U<J;)(C=L[U])?(A.push(q=h.call(C,C.__data__,U,I)),q&&"__data__"in C&&(q.__data__=C.__data__)):A.push(null)}return he(g)};function W(h){return typeof h=="function"?h:function(){return oe(h,this)}}de.selectAll=function(h){var g=[],A,q;h=Q(h);for(var L=-1,C=this.length;++L<C;)for(var I=this[L],F=-1,U=I.length;++F<U;)(q=I[F])&&(g.push(A=t(h.call(q,q.__data__,F,L))),A.parentNode=q);return he(g)};function Q(h){return typeof h=="function"?h:function(){return ye(h,this)}}var j="http://www.w3.org/1999/xhtml",pe={svg:"http://www.w3.org/2000/svg",xhtml:j,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}},de.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 q(){this.removeAttributeNS(h.space,h.local)}function L(){this.setAttribute(h,g)}function C(){this.setAttributeNS(h.space,h.local,g)}function I(){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:I:h.local?C:L}function we(h){return h.trim().replace(/\s+/g," ")}de.classed=function(h,g){if(arguments.length<2){if(typeof h=="string"){var A=this.node(),q=(h=Fe(h)).length,L=-1;if(g=A.classList){for(;++L<q;)if(!g.contains(h[L]))return!1}else for(g=A.getAttribute("class");++L<q;)if(!Ne(h[L]).test(g))return!1;return!0}for(g in h)this.each(Re(g,h[g]));return this}return this.each(Re(h,g))};function Ne(h){return new RegExp("(?:^|\\s+)"+e.requote(h)+"(?:\\s+|$)","g")}function Fe(h){return(h+"").trim().split(/^|\s+/)}function Re(h,g){h=Fe(h).map(Ie);var A=h.length;function q(){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:q}function Ie(h){var g=Ne(h);return function(A,q){if(L=A.classList)return q?L.add(h):L.remove(h);var L=A.getAttribute("class")||"";q?(g.lastIndex=0,g.test(L)||A.setAttribute("class",we(L+" "+h))):A.setAttribute("class",we(L.replace(g," ")))}}de.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(Be(A,h[A],g));return this}if(q<2){var L=this.node();return i(L).getComputedStyle(L,null).getPropertyValue(h)}A=""}return this.each(Be(h,g,A))};function Be(h,g,A){function q(){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?q:typeof g=="function"?C:L}de.property=function(h,g){if(arguments.length<2){if(typeof h=="string")return this.node()[h];for(g in h)this.each(ze(g,h[g]));return this}return this.each(ze(h,g))};function ze(h,g){function A(){delete this[h]}function q(){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:q}de.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},de.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},de.append=function(h){return h=Pe(h),this.select(function(){return this.appendChild(h.apply(this,arguments))})};function Pe(h){function g(){var q=this.ownerDocument,L=this.namespaceURI;return L===j&&q.documentElement.namespaceURI===j?q.createElement(h):q.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}de.insert=function(h,g){return h=Pe(h),g=W(g),this.select(function(){return this.insertBefore(h.apply(this,arguments),g.apply(this,arguments)||null)})},de.remove=function(){return this.each(Xe)};function Xe(){var h=this.parentNode;h&&h.removeChild(this)}de.data=function(h,g){var A=-1,q=this.length,L,C;if(!arguments.length){for(h=new Array(q=(L=this[0]).length);++A<q;)(C=L[A])&&(h[A]=C.__data__);return h}function I($,ee){var re,_e=$.length,Me=ee.length,ae=Math.min(_e,Me),ce=new Array(Me),ge=new Array(Me),Ae=new Array(_e),ke,xe;if(g){var Ve=new b,nr=new Array(_e),fr;for(re=-1;++re<_e;)(ke=$[re])&&(Ve.has(fr=g.call(ke,ke.__data__,re))?Ae[re]=ke:Ve.set(fr,ke),nr[re]=fr);for(re=-1;++re<Me;)(ke=Ve.get(fr=g.call(ee,xe=ee[re],re)))?ke!==!0&&(ce[re]=ke,ke.__data__=xe):ge[re]=Ue(xe),Ve.set(fr,!0);for(re=-1;++re<_e;)re in nr&&Ve.get(nr[re])!==!0&&(Ae[re]=$[re])}else{for(re=-1;++re<ae;)ke=$[re],xe=ee[re],ke?(ke.__data__=xe,ce[re]=ke):ge[re]=Ue(xe);for(;re<Me;++re)ge[re]=Ue(ee[re]);for(;re<_e;++re)Ae[re]=$[re]}ge.update=ce,ge.parentNode=ce.parentNode=Ae.parentNode=$.parentNode,F.push(ge),U.push(ce),J.push(Ae)}var F=ir([]),U=he([]),J=he([]);if(typeof h=="function")for(;++A<q;)I(L=this[A],h.call(L,L.parentNode.__data__,A));else for(;++A<q;)I(L=this[A],h);return U.enter=function(){return F},U.exit=function(){return J},U};function Ue(h){return{__data__:h}}de.datum=function(h){return arguments.length?this.property("__data__",h):this.property("__data__")},de.filter=function(h){var g=[],A,q,L;typeof h!="function"&&(h=se(h));for(var C=0,I=this.length;C<I;C++){g.push(A=[]),A.parentNode=(q=this[C]).parentNode;for(var F=0,U=q.length;F<U;F++)(L=q[F])&&h.call(L,L.__data__,F,C)&&A.push(L)}return he(g)};function se(h){return function(){return ue(this,h)}}de.order=function(){for(var h=-1,g=this.length;++h<g;)for(var A=this[h],q=A.length-1,L=A[q],C;--q>=0;)(C=A[q])&&(L&&L!==C.nextSibling&&L.parentNode.insertBefore(C,L),L=C);return this},de.sort=function(h){h=Te.apply(this,arguments);for(var g=-1,A=this.length;++g<A;)this[g].sort(h);return this.order()};function Te(h){return arguments.length||(h=c),function(g,A){return g&&A?h(g.__data__,A.__data__):!g-!A}}de.each=function(h){return Se(this,function(g,A,q){h.call(g,g.__data__,A,q)})};function Se(h,g){for(var A=0,q=h.length;A<q;A++)for(var L=h[A],C=0,I=L.length,F;C<I;C++)(F=L[C])&&g(F,C,A);return h}de.call=function(h){var g=t(arguments);return h.apply(g[0]=this,g),this},de.empty=function(){return!this.node()},de.node=function(){for(var h=0,g=this.length;h<g;h++)for(var A=this[h],q=0,L=A.length;q<L;q++){var C=A[q];if(C)return C}return null},de.size=function(){var h=0;return Se(this,function(){++h}),h};function ir(h){return K(h,Qe),h}var Qe=[];e.selection.enter=ir,e.selection.enter.prototype=Qe,Qe.append=de.append,Qe.empty=de.empty,Qe.node=de.node,Qe.call=de.call,Qe.size=de.size,Qe.select=function(h){for(var g=[],A,q,L,C,I,F=-1,U=this.length;++F<U;){L=(C=this[F]).update,g.push(A=[]),A.parentNode=C.parentNode;for(var J=-1,$=C.length;++J<$;)(I=C[J])?(A.push(L[J]=q=h.call(C.parentNode,I.__data__,J,F)),q.__data__=I.__data__):A.push(null)}return he(g)},Qe.insert=function(h,g){return arguments.length<2&&(g=Le(this)),de.insert.call(this,h,g)};function Le(h){var g,A;return function(q,L,C){var I=h[C].update,F=I.length,U;for(C!=A&&(A=C,g=0),L>=g&&(g=L+1);!(U=I[g])&&++g<F;);return U}}e.select=function(h){var g;return typeof h=="string"?(g=[oe(h,a)],g.parentNode=a.documentElement):(g=[h],g.parentNode=n(h)),he([g])},e.selectAll=function(h){var g;return typeof h=="string"?(g=t(ye(h,a)),g.parentNode=a.documentElement):(g=t(h),g.parentNode=null),he([g])},de.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(Ce(A,h[A],g));return this}if(q<2)return(q=this.node()["__on"+h])&&q._;A=!1}return this.each(Ce(h,g,A))};function Ce(h,g,A){var q="__on"+h,L=h.indexOf("."),C=Ze;L>0&&(h=h.slice(0,L));var I=Ge.get(h);I&&(h=I,C=Ye);function F(){var $=this[q];$&&(this.removeEventListener(h,$,$.$),delete this[q])}function U(){var $=C(g,t(arguments));F.call(this),this.addEventListener(h,this[q]=$,$.$=A),$._=g}function J(){var $=new RegExp("^__on([^.]+)"+e.requote(h)+"$"),ee;for(var re in this)if(ee=re.match($)){var _e=this[re];this.removeEventListener(ee[1],_e,_e.$),delete this[re]}}return L?g?U:F:g?V:J}var Ge=e.map({mouseenter:"mouseover",mouseleave:"mouseout"});a&&Ge.forEach(function(h){"on"+h in a&&Ge.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 Ye(h,g){var A=Ze(h,g);return function(q){var L=this,C=q.relatedTarget;(!C||C!==L&&!(C.compareDocumentPosition(L)&8))&&A.call(L,q)}}var He,$e=0;function cr(h){var g=".dragsuppress-"+ ++$e,A="click"+g,q=e.select(i(h)).on("touchmove"+g,te).on("dragstart"+g,te).on("selectstart"+g,te);if(He==null&&(He="onselectstart"in h?!1:G(h.style,"userSelect")),He){var L=n(h).style,C=L[He];L[He]="none"}return function(I){if(q.on(g,null),He&&(L[He]=C),I){var F=function(){q.on(A,null)};q.on(A,function(){te(),F()},!0),setTimeout(F,0)}}}e.mouse=function(h){return Oe(h,fe())};var lr=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function Oe(h,g){g.changedTouches&&(g=g.changedTouches[0]);var A=h.ownerSVGElement||h;if(A.createSVGPoint){var q=A.createSVGPoint();if(lr<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();lr=!(C.f||C.e),A.remove()}}return lr?(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 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 q=0,L=g.length,C;q<L;++q)if((C=g[q]).identifier===A)return Oe(h,C)}},e.behavior.drag=function(){var h=le(L,"drag","dragstart","dragend"),g=null,A=C(V,e.mouse,i,"mousemove","mouseup"),q=C(ne,e.touch,H,"touchmove","touchend");function L(){this.on("mousedown.drag",A).on("touchstart.drag",q)}function C(I,F,U,J,$){return function(){var ee=this,re=e.event.target.correspondingElement||e.event.target,_e=ee.parentNode,Me=h.of(ee,arguments),ae=0,ce=I(),ge=".drag"+(ce==null?"":"-"+ce),Ae,ke=e.select(U(re)).on(J+ge,nr).on($+ge,fr),xe=cr(re),Ve=F(_e,ce);g?(Ae=g.apply(ee,arguments),Ae=[Ae.x-Ve[0],Ae.y-Ve[1]]):Ae=[0,0],Me({type:"dragstart"});function nr(){var or=F(_e,ce),dr,pr;or&&(dr=or[0]-Ve[0],pr=or[1]-Ve[1],ae|=dr|pr,Ve=or,Me({type:"drag",x:or[0]+Ae[0],y:or[1]+Ae[1],dx:dr,dy:pr}))}function fr(){F(_e,ce)&&(ke.on(J+ge,null).on($+ge,null),xe(ae),Me({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 q=Oe(h,A);return q.identifier=A.identifier,q}):[]};var ve=1e-6,De=ve*ve,qe=Math.PI,ar=2*qe,hr=ar-ve,ur=qe/2,Ar=qe/180,Wr=180/qe;function Vr(h){return h>0?1:h<0?-1:0}function zr(h,g,A){return(g[0]-h[0])*(A[1]-h[1])-(g[1]-h[1])*(A[0]-h[0])}function Et(h){return h>1?0:h<-1?qe:Math.acos(h)}function Dt(h){return h>1?ur:h<-1?-ur:Math.asin(h)}function ma(h){return((h=Math.exp(h))-1/h)/2}function St(h){return((h=Math.exp(h))+1/h)/2}function ja(h){return((h=Math.exp(2*h))-1)/(h+1)}function ga(h){return(h=Math.sin(h/2))*h}var jt=Math.SQRT2,Na=2,br=4;e.interpolateZoom=function(h,g){var A=h[0],q=h[1],L=h[2],C=g[0],I=g[1],F=g[2],U=C-A,J=I-q,$=U*U+J*J,ee,re;if($<De)re=Math.log(F/L)/jt,ee=function(Ae){return[A+Ae*U,q+Ae*J,L*Math.exp(jt*Ae*re)]};else{var _e=Math.sqrt($),Me=(F*F-L*L+br*$)/(2*L*Na*_e),ae=(F*F-L*L-br*$)/(2*F*Na*_e),ce=Math.log(Math.sqrt(Me*Me+1)-Me),ge=Math.log(Math.sqrt(ae*ae+1)-ae);re=(ge-ce)/jt,ee=function(Ae){var ke=Ae*re,xe=St(ce),Ve=L/(Na*_e)*(xe*ja(jt*ke+ce)-ma(ce));return[A+Ve*U,q+Ve*J,L*xe/St(jt*ke+ce)]}}return ee.duration=re*1e3,ee},e.behavior.zoom=function(){var h={x:0,y:0,k:1},g,A,q,L=[960,500],C=pt,I=250,F=0,U="mousedown.zoom",J="mousemove.zoom",$="mouseup.zoom",ee,re="touchstart.zoom",_e,Me=le(ke,"zoomstart","zoom","zoomend"),ae,ce,ge,Ae;st||(st="onwheel"in a?(Nr=function(){return-e.event.deltaY*(e.event.deltaMode?120:1)},"wheel"):"onmousewheel"in a?(Nr=function(){return e.event.wheelDelta},"mousewheel"):(Nr=function(){return-e.event.detail},"MozMousePixelScroll"));function ke(tr){tr.on(U,kr).on(st+".zoom",Jt).on("dblclick.zoom",yt).on(re,rt)}ke.event=function(tr){tr.each(function(){var Dr=Me.of(this,arguments),Rr=h;Hs?e.select(this).transition().each("start.zoom",function(){h=this.__chart__||{x:0,y:0,k:1},pr(Dr)}).tween("zoom:zoom",function(){var tt=L[0],Bt=L[1],ua=A?A[0]:tt/2,Oa=A?A[1]:Bt/2,an=e.interpolateZoom([(ua-h.x)/h.k,(Oa-h.y)/h.k,tt/h.k],[(ua-Rr.x)/Rr.k,(Oa-Rr.y)/Rr.k,tt/Rr.k]);return function(yn){var nn=an(yn),Mn=tt/nn[2];this.__chart__=h={x:ua-nn[0]*Mn,y:Oa-nn[1]*Mn,k:Mn},Er(Dr)}}).each("interrupt.zoom",function(){mr(Dr)}).each("end.zoom",function(){mr(Dr)}):(this.__chart__=h,pr(Dr),Er(Dr),mr(Dr))})},ke.translate=function(tr){return arguments.length?(h={x:+tr[0],y:+tr[1],k:h.k},dr(),ke):[h.x,h.y]},ke.scale=function(tr){return arguments.length?(h={x:h.x,y:h.y,k:null},nr(+tr),dr(),ke):h.k},ke.scaleExtent=function(tr){return arguments.length?(C=tr==null?pt:[+tr[0],+tr[1]],ke):C},ke.center=function(tr){return arguments.length?(q=tr&&[+tr[0],+tr[1]],ke):q},ke.size=function(tr){return arguments.length?(L=tr&&[+tr[0],+tr[1]],ke):L},ke.duration=function(tr){return arguments.length?(I=+tr,ke):I},ke.x=function(tr){return arguments.length?(ce=tr,ae=tr.copy(),h={x:0,y:0,k:1},ke):ce},ke.y=function(tr){return arguments.length?(Ae=tr,ge=tr.copy(),h={x:0,y:0,k:1},ke):Ae};function xe(tr){return[(tr[0]-h.x)/h.k,(tr[1]-h.y)/h.k]}function Ve(tr){return[tr[0]*h.k+h.x,tr[1]*h.k+h.y]}function nr(tr){h.k=Math.max(C[0],Math.min(C[1],tr))}function fr(tr,Dr){Dr=Ve(Dr),h.x+=tr[0]-Dr[0],h.y+=tr[1]-Dr[1]}function or(tr,Dr,Rr,tt){tr.__chart__={x:h.x,y:h.y,k:h.k},nr(Math.pow(2,tt)),fr(A=Dr,Rr),tr=e.select(tr),I>0&&(tr=tr.transition().duration(I)),tr.call(ke.event)}function dr(){ce&&ce.domain(ae.range().map(function(tr){return(tr-h.x)/h.k}).map(ae.invert)),Ae&&Ae.domain(ge.range().map(function(tr){return(tr-h.y)/h.k}).map(ge.invert))}function pr(tr){F++||tr({type:"zoomstart"})}function Er(tr){dr(),tr({type:"zoom",scale:h.k,translate:[h.x,h.y]})}function mr(tr){--F||(tr({type:"zoomend"}),A=null)}function kr(){var tr=this,Dr=Me.of(tr,arguments),Rr=0,tt=e.select(i(tr)).on(J,Oa).on($,an),Bt=xe(e.mouse(tr)),ua=cr(tr);Jd.call(tr),pr(Dr);function Oa(){Rr=1,fr(e.mouse(tr),Bt),Er(Dr)}function an(){tt.on(J,null).on($,null),ua(Rr),mr(Dr)}}function rt(){var tr=this,Dr=Me.of(tr,arguments),Rr={},tt=0,Bt,ua=".zoom-"+e.event.changedTouches[0].identifier,Oa="touchmove"+ua,an="touchend"+ua,yn=[],nn=e.select(tr),Mn=cr(tr);kn(),pr(Dr),nn.on(U,null).on(re,kn);function Za(){var ji=e.touches(tr);return Bt=h.k,ji.forEach(function(Ba){Ba.identifier in Rr&&(Rr[Ba.identifier]=xe(Ba))}),ji}function kn(){var ji=e.event.target;e.select(ji).on(Oa,Us).on(an,Jne),yn.push(ji);for(var Ba=e.event.changedTouches,ii=0,wo=Ba.length;ii<wo;++ii)Rr[Ba[ii].identifier]=null;var oi=Za(),bf=Date.now();if(oi.length===1){if(bf-_e<500){var Gs=oi[0];or(tr,Gs,Rr[Gs.identifier],Math.floor(Math.log(h.k)/Math.LN2)+1),te()}_e=bf}else if(oi.length>1){var Gs=oi[0],Nl=oi[1],Qd=Gs[0]-Nl[0],CA=Gs[1]-Nl[1];tt=Qd*Qd+CA*CA}}function Us(){var ji=e.touches(tr),Ba,ii,wo,oi;Jd.call(tr);for(var bf=0,Gs=ji.length;bf<Gs;++bf,oi=null)if(wo=ji[bf],oi=Rr[wo.identifier]){if(ii)break;Ba=wo,ii=oi}if(oi){var Nl=(Nl=wo[0]-Ba[0])*Nl+(Nl=wo[1]-Ba[1])*Nl,Qd=tt&&Math.sqrt(Nl/tt);Ba=[(Ba[0]+wo[0])/2,(Ba[1]+wo[1])/2],ii=[(ii[0]+oi[0])/2,(ii[1]+oi[1])/2],nr(Qd*Bt)}_e=null,fr(Ba,ii),Er(Dr)}function Jne(){if(e.event.touches.length){for(var ji=e.event.changedTouches,Ba=0,ii=ji.length;Ba<ii;++Ba)delete Rr[ji[Ba].identifier];for(var wo in Rr)return void Za()}e.selectAll(yn).on(ua,null),nn.on(U,kr).on(re,rt),Mn(),mr(Dr)}}function Jt(){var tr=Me.of(this,arguments);ee?clearTimeout(ee):(Jd.call(this),g=xe(A=q||e.mouse(this)),pr(tr)),ee=setTimeout(function(){ee=null,mr(tr)},50),te(),nr(Math.pow(2,Nr()*.002)*h.k),fr(A,g),Er(tr)}function yt(){var tr=e.mouse(this),Dr=Math.log(h.k)/Math.LN2;or(this,tr,xe(tr),e.event.shiftKey?Math.ceil(Dr)-1:Math.floor(Dr)+1)}return e.rebind(ke,Me,"on")};var pt=[0,1/0],Nr,st;e.color=Pt;function Pt(){}Pt.prototype.toString=function(){return this.rgb()+""},e.hsl=Qr;function Qr(h,g,A){return this instanceof Qr?(this.h=+h,this.s=+g,void(this.l=+A)):arguments.length<2?h instanceof Qr?new Qr(h.h,h.s,h.l):$r(""+h,ht,Qr):new Qr(h,g,A)}var ct=Qr.prototype=new Pt;ct.brighter=function(h){return h=Math.pow(.7,arguments.length?h:1),new Qr(this.h,this.s,this.l/h)},ct.darker=function(h){return h=Math.pow(.7,arguments.length?h:1),new Qr(this.h,this.s,h*this.l)},ct.rgb=function(){return ba(this.h,this.s,this.l)};function ba(h,g,A){var q,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,q=2*A-L;function C(F){return F>360?F-=360:F<0&&(F+=360),F<60?q+(L-q)*F/60:F<180?L:F<240?q+(L-q)*(240-F)/60:q}function I(F){return Math.round(C(F)*255)}return new Ut(I(h+120),I(h),I(h-120))}e.hcl=Zt;function Zt(h,g,A){return this instanceof Zt?(this.h=+h,this.c=+g,void(this.l=+A)):arguments.length<2?h instanceof Zt?new Zt(h.h,h.c,h.l):h instanceof Xt?Rt(h.l,h.a,h.b):Rt((h=sr((h=e.rgb(h)).r,h.g,h.b)).l,h.a,h.b):new Zt(h,g,A)}var tn=Zt.prototype=new Pt;tn.brighter=function(h){return new Zt(this.h,this.c,Math.min(100,this.l+ut*(arguments.length?h:1)))},tn.darker=function(h){return new Zt(this.h,this.c,Math.max(0,this.l-ut*(arguments.length?h:1)))},tn.rgb=function(){return Tn(this.h,this.c,this.l).rgb()};function Tn(h,g,A){return isNaN(h)&&(h=0),isNaN(g)&&(g=0),new Xt(A,Math.cos(h*=Ar)*g,Math.sin(h)*g)}e.lab=Xt;function Xt(h,g,A){return this instanceof Xt?(this.l=+h,this.a=+g,void(this.b=+A)):arguments.length<2?h instanceof Xt?new Xt(h.l,h.a,h.b):h instanceof Zt?Tn(h.h,h.c,h.l):sr((h=Ut(h)).r,h.g,h.b):new Xt(h,g,A)}var ut=18,xa=.95047,Ko=1,Qo=1.08883,vt=Xt.prototype=new Pt;vt.brighter=function(h){return new Xt(Math.min(100,this.l+ut*(arguments.length?h:1)),this.a,this.b)},vt.darker=function(h){return new Xt(Math.max(0,this.l-ut*(arguments.length?h:1)),this.a,this.b)},vt.rgb=function(){return An(this.l,this.a,this.b)};function An(h,g,A){var q=(h+16)/116,L=q+g/500,C=q-A/200;return L=zs(L)*xa,q=zs(q)*Ko,C=zs(C)*Qo,new Ut(Gi(3.2404542*L-1.5371385*q-.4985314*C),Gi(-.969266*L+1.8760108*q+.041556*C),Gi(.0556434*L-.2040259*q+1.0572252*C))}function Rt(h,g,A){return h>0?new Zt(Math.atan2(A,g)*Wr,Math.sqrt(g*g+A*A),h):new Zt(NaN,NaN,h)}function zs(h){return h>.206893034?h*h*h:(h-4/29)/7.787037}function pn(h){return h>.008856?Math.pow(h,1/3):7.787037*h+4/29}function Gi(h){return Math.round(255*(h<=.00304?12.92*h:1.055*Math.pow(h,1/2.4)-.055))}e.rgb=Ut;function Ut(h,g,A){return this instanceof Ut?(this.r=~~h,this.g=~~g,void(this.b=~~A)):arguments.length<2?h instanceof Ut?new Ut(h.r,h.g,h.b):$r(""+h,Ut,ba):new Ut(h,g,A)}function Yi(h){return new Ut(h>>16,h>>8&255,h&255)}function Pl(h){return Yi(h)+""}var Rl=Ut.prototype=new Pt;Rl.brighter=function(h){h=Math.pow(.7,arguments.length?h:1);var g=this.r,A=this.g,q=this.b,L=30;return!g&&!A&&!q?new Ut(L,L,L):(g&&g<L&&(g=L),A&&A<L&&(A=L),q&&q<L&&(q=L),new Ut(Math.min(255,g/h),Math.min(255,A/h),Math.min(255,q/h)))},Rl.darker=function(h){return h=Math.pow(.7,arguments.length?h:1),new Ut(h*this.r,h*this.g,h*this.b)},Rl.hsl=function(){return ht(this.r,this.g,this.b)},Rl.toString=function(){return"#"+yr(this.r)+yr(this.g)+yr(this.b)};function yr(h){return h<16?"0"+Math.max(0,h).toString(16):Math.min(255,h).toString(16)}function $r(h,g,A){var q=0,L=0,C=0,I,F,U;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(Tt(F[0]),Tt(F[1]),Tt(F[2]))}return(U=Ia.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,L=U&240,L=L>>4|L,C=U&15,C=C<<4|C):h.length===7&&(q=(U&16711680)>>16,L=(U&65280)>>8,C=U&255)),g(q,L,C))}function ht(h,g,A){var q=Math.min(h/=255,g/=255,A/=255),L=Math.max(h,g,A),C=L-q,I,F,U=(L+q)/2;return C?(F=U<.5?C/(L+q):C/(2-L-q),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=U>0&&U<1?0:I),new Qr(I,F,U)}function sr(h,g,A){h=za(h),g=za(g),A=za(A);var q=pn((.4124564*h+.3575761*g+.1804375*A)/xa),L=pn((.2126729*h+.7151522*g+.072175*A)/Ko),C=pn((.0193339*h+.119192*g+.9503041*A)/Qo);return Xt(116*L-16,500*(q-L),200*(L-C))}function za(h){return(h/=255)<=.04045?h/12.92:Math.pow((h+.055)/1.055,2.4)}function Tt(h){var g=parseFloat(h);return h.charAt(h.length-1)==="%"?Math.round(g*2.55):g}var Ia=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});Ia.forEach(function(h,g){Ia.set(h,Yi(g))});function Br(h){return typeof h=="function"?h:function(){return h}}e.functor=Br,e.xhr=Vi(H);function Vi(h){return function(g,A,q){return arguments.length===2&&typeof A=="function"&&(q=A,A=null),Is(g,A,h,q)}}function Is(h,g,A,q){var L={},C=e.dispatch("beforesend","progress","load","error"),I={},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,ee;if(!$&&Kte(F)||$>=200&&$<300||$===304){try{ee=A.call(L,F)}catch(re){C.error.call(L,re);return}C.load.call(L,ee)}else C.error.call(L,F)}return F.onprogress=function($){var ee=e.event;e.event=$;try{C.progress.call(L,F)}finally{e.event=ee}},L.header=function($,ee){return $=($+"").toLowerCase(),arguments.length<2?I[$]:(ee==null?delete I[$]:I[$]=ee+"",L)},L.mimeType=function($){return arguments.length?(g=$==null?null:$+"",L):g},L.responseType=function($){return arguments.length?(U=$,L):U},L.response=function($){return A=$,L},["get","post"].forEach(function($){L[$]=function(){return L.send.apply(L,[$].concat(t(arguments)))}}),L.send=function($,ee,re){if(arguments.length===2&&typeof ee=="function"&&(re=ee,ee=null),F.open($,h,!0),g!=null&&!("accept"in I)&&(I.accept=g+",*/*"),F.setRequestHeader)for(var _e in I)F.setRequestHeader(_e,I[_e]);return g!=null&&F.overrideMimeType&&F.overrideMimeType(g),U!=null&&(F.responseType=U),re!=null&&L.on("error",re).on("load",function(Me){re(null,Me)}),C.beforesend.call(L,F),F.send(ee==null?null:ee),L},L.abort=function(){return F.abort(),L},e.rebind(L,C,"on"),q==null?L:L.get($te(q))}function $te(h){return h.length===1?function(g,A){h(g==null?A:null)}:h}function Kte(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 L(J,$,ee){arguments.length<3&&(ee=$,$=null);var re=Is(J,g,$==null?C:I($),ee);return re.row=function(_e){return arguments.length?re.response(($=_e)==null?C:I(_e)):$},re}function C(J){return L.parse(J.responseText)}function I(J){return function($){return L.parse($.responseText,J)}}L.parse=function(J,$){var ee;return L.parseRows(J,function(re,_e){if(ee)return ee(re,_e-1);var Me=function(ae){for(var ce={},ge=re.length,Ae=0;Ae<ge;++Ae)ce[re[Ae]]=ae[Ae];return ce};ee=$?function(ae,ce){return $(Me(ae),ce)}:Me})},L.parseRows=function(J,$){var ee={},re={},_e=[],Me=J.length,ae=0,ce=0,ge,Ae;function ke(){if(ae>=Me)return re;if(Ae)return Ae=!1,ee;var Ve=ae;if(J.charCodeAt(Ve)===34){for(var nr=Ve;nr++<Me;)if(J.charCodeAt(nr)===34){if(J.charCodeAt(nr+1)!==34)break;++nr}ae=nr+2;var fr=J.charCodeAt(nr+1);return fr===13?(Ae=!0,J.charCodeAt(nr+2)===10&&++ae):fr===10&&(Ae=!0),J.slice(Ve+1,nr).replace(/""/g,'"')}for(;ae<Me;){var fr=J.charCodeAt(ae++),or=1;if(fr===10)Ae=!0;else if(fr===13)Ae=!0,J.charCodeAt(ae)===10&&(++ae,++or);else if(fr!==q)continue;return J.slice(Ve,ae-or)}return J.slice(Ve)}for(;(ge=ke())!==re;){for(var xe=[];ge!==ee&&ge!==re;)xe.push(ge),ge=ke();$&&(xe=$(xe,ce++))==null||_e.push(xe)}return _e},L.format=function(J){if(Array.isArray(J[0]))return L.formatRows(J);var $=new O,ee=[];return J.forEach(function(re){for(var _e in re)$.has(_e)||ee.push($.add(_e))}),[ee.map(U).join(h)].concat(J.map(function(re){return ee.map(function(_e){return U(re[_e])}).join(h)})).join(` `)},L.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 L},e.csv=e.dsv(",","text/csv"),e.tsv=e.dsv(" ","text/tab-separated-values");var Ed,Dd,Pd,Rd,y8=this[G(this,"requestAnimationFrame")]||function(h){setTimeout(h,17)};e.timer=function(){Fd.apply(this,arguments)};function Fd(h,g,A){var q=arguments.length;q<2&&(g=0),q<3&&(A=Date.now());var L=A+g,C={c:h,t:L,n:null};return Dd?Dd.n=C:Ed=C,Dd=C,Pd||(Rd=clearTimeout(Rd),Pd=1,y8(_3)),C}function _3(){var h=m8(),g=g8()-h;g>24?(isFinite(g)&&(clearTimeout(Rd),Rd=setTimeout(_3,g)),Pd=0):(Pd=1,y8(_3))}e.timer.flush=function(){m8(),g8()};function m8(){for(var h=Date.now(),g=Ed;g;)h>=g.t&&g.c(h-g.t)&&(g.c=null),g=g.n;return h}function g8(){for(var h,g=Ed,A=1/0;g;)g.c?(g.t<A&&(A=g.t),g=(h=g).n):g=h?h.n=g.n:Ed=g.n;return Dd=h,A}e.round=function(h,g){return g?Math.round(h*(g=Math.pow(10,g)))/g:Math.round(h)},e.geom={};function hf(h){return h[0]}function Ev(h){return h[1]}e.geom.hull=function(h){var g=hf,A=Ev;if(arguments.length)return q(h);function q(L){if(L.length<3)return[];var C=Br(g),I=Br(A),F,U=L.length,J=[],$=[];for(F=0;F<U;F++)J.push([+C.call(this,L[F],F),+I.call(this,L[F],F),F]);for(J.sort(Qte),F=0;F<U;F++)$.push([J[F][0],-J[F][1]]);var ee=b8(J),re=b8($),_e=re[0]===ee[0],Me=re[re.length-1]===ee[ee.length-1],ae=[];for(F=ee.length-1;F>=0;--F)ae.push(L[J[ee[F]][2]]);for(F=+_e;F<re.length-Me;++F)ae.push(L[J[re[F]][2]]);return ae}return q.x=function(L){return arguments.length?(g=L,q):g},q.y=function(L){return arguments.length?(A=L,q):A},q};function b8(h){for(var g=h.length,A=[0,1],q=2,L=2;L<g;L++){for(;q>1&&zr(h[A[q-2]],h[A[q-1]],h[L])<=0;)--q;A[q++]=L}return A.slice(0,q)}function Qte(h,g){return h[0]-g[0]||h[1]-g[1]}e.geom.polygon=function(h){return K(h,Nd),h};var Nd=e.geom.polygon.prototype=[];Nd.area=function(){for(var h=-1,g=this.length,A,q=this[g-1],L=0;++h<g;)A=q,q=this[h],L+=A[1]*q[0]-A[0]*q[1];return L*.5},Nd.centroid=function(h){var g=-1,A=this.length,q=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],q+=(C[0]+I[0])*F,L+=(C[1]+I[1])*F;return[q*h,L*h]},Nd.clip=function(h){for(var g,A=x8(h),q=-1,L=this.length-x8(this),C,I,F=this[L-1],U,J,$;++q<L;){for(g=h.slice(),h.length=0,U=this[q],J=g[(I=g.length-A)-1],C=-1;++C<I;)$=g[C],w3($,F,U)?(w3(J,F,U)||h.push(T3(J,$,F,U)),h.push($)):w3(J,F,U)&&h.push(T3(J,$,F,U)),J=$;A&&h.push(h[0]),F=U}return h};function w3(h,g,A){return(A[0]-g[0])*(h[1]-g[1])<(A[1]-g[1])*(h[0]-g[0])}function T3(h,g,A,q){var L=h[0],C=A[0],I=g[0]-L,F=q[0]-C,U=h[1],J=A[1],$=g[1]-U,ee=q[1]-J,re=(F*(U-J)-ee*(L-C))/(ee*I-F*$);return[L+re*I,U+re*$]}function x8(h){var g=h[0],A=h[h.length-1];return!(g[0]-A[0]||g[1]-A[1])}var df,Os,pf,_8=[],A3,Dv,w8=[];function eae(){Od(this),this.edge=this.site=this.circle=null}function T8(h){var g=_8.pop()||new eae;return g.site=h,g}function M3(h){mf(h),pf.remove(h),_8.push(h),Od(h)}function rae(h){var g=h.circle,A=g.x,q=g.cy,L={x:A,y:q},C=h.P,I=h.N,F=[h];M3(h);for(var U=C;U.circle&&x(A-U.circle.x)<ve&&x(q-U.circle.cy)<ve;)C=U.P,F.unshift(U),M3(U),U=C;F.unshift(U),mf(U);for(var J=I;J.circle&&x(A-J.circle.x)<ve&&x(q-J.circle.cy)<ve;)I=J.N,F.push(J),M3(J),J=I;F.push(J),mf(J);var $=F.length,ee;for(ee=1;ee<$;++ee)J=F[ee],U=F[ee-1],zd(J.edge,U.site,J.site,L);U=F[0],J=F[$-1],J.edge=Pv(U.site,J.site,null,L),yf(U),yf(J)}function tae(h){for(var g=h.x,A=h.y,q,L,C,I,F=pf._;F;)if(C=A8(F,A)-g,C>ve)F=F.L;else if(I=g-aae(F,A),I>ve){if(!F.R){q=F;break}F=F.R}else{C>-ve?(q=F.P,L=F):I>-ve?(q=F,L=F.N):q=L=F;break}var U=T8(h);if(pf.insert(q,U),!(!q&&!L)){if(q===L){mf(q),L=T8(q.site),pf.insert(U,L),U.edge=L.edge=Pv(q.site,U.site),yf(q),yf(L);return}if(!L){U.edge=Pv(q.site,U.site);return}mf(q),mf(L);var J=q.site,$=J.x,ee=J.y,re=h.x-$,_e=h.y-ee,Me=L.site,ae=Me.x-$,ce=Me.y-ee,ge=2*(re*ce-_e*ae),Ae=re*re+_e*_e,ke=ae*ae+ce*ce,xe={x:(ce*Ae-_e*ke)/ge+$,y:(re*ke-ae*Ae)/ge+ee};zd(L.edge,J,Me,xe),U.edge=Pv(J,h,null,xe),L.edge=Pv(h,Me,null,xe),yf(q),yf(L)}}function A8(h,g){var A=h.site,q=A.x,L=A.y,C=L-g;if(!C)return q;var I=h.P;if(!I)return-1/0;A=I.site;var F=A.x,U=A.y,J=U-g;if(!J)return F;var $=F-q,ee=1/C-1/J,re=$/J;return ee?(-re+Math.sqrt(re*re-2*ee*($*$/(-2*J)-U+J/2+L-C/2)))/ee+q:(q+F)/2}function aae(h,g){var A=h.N;if(A)return A8(A,g);var q=h.site;return q.y===g?q.x:1/0}function M8(h){this.site=h,this.edges=[]}M8.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(k8),h.length};function nae(h){for(var g=h[0][0],A=h[1][0],q=h[0][1],L=h[1][1],C,I,F,U,J=Os,$=J.length,ee,re,_e,Me,ae,ce;$--;)if(ee=J[$],!(!ee||!ee.prepare()))for(_e=ee.edges,Me=_e.length,re=0;re<Me;)ce=_e[re].end(),F=ce.x,U=ce.y,ae=_e[++re%Me].start(),C=ae.x,I=ae.y,(x(F-C)>ve||x(U-I)>ve)&&(_e.splice(re,0,new Id(uae(ee.site,ce,x(F-g)<ve&&L-U>ve?{x:g,y:x(C-g)<ve?I:L}:x(U-L)<ve&&A-F>ve?{x:x(I-L)<ve?C:A,y:L}:x(F-A)<ve&&U-q>ve?{x:A,y:x(C-A)<ve?I:q}:x(U-q)<ve&&F-g>ve?{x:x(I-q)<ve?C:g,y:q}:null),ee.site,null)),++Me)}function k8(h,g){return g.angle-h.angle}function iae(){Od(this),this.x=this.y=this.arc=this.site=this.cy=null}function yf(h){var g=h.P,A=h.N;if(!(!g||!A)){var q=g.site,L=h.site,C=A.site;if(q!==C){var I=L.x,F=L.y,U=q.x-I,J=q.y-F,$=C.x-I,ce=C.y-F,ee=2*(U*ce-J*$);if(!(ee>=-De)){var re=U*U+J*J,_e=$*$+ce*ce,Me=(ce*re-J*_e)/ee,ae=(U*_e-$*re)/ee,ce=ae+F,ge=w8.pop()||new iae;ge.arc=h,ge.site=L,ge.x=Me+I,ge.y=ce+Math.sqrt(Me*Me+ae*ae),ge.cy=ce,h.circle=ge;for(var Ae=null,ke=Dv._;ke;)if(ge.y<ke.y||ge.y===ke.y&&ge.x<=ke.x)if(ke.L)ke=ke.L;else{Ae=ke.P;break}else if(ke.R)ke=ke.R;else{Ae=ke;break}Dv.insert(Ae,ge),Ae||(A3=ge)}}}}function mf(h){var g=h.circle;g&&(g.P||(A3=g.N),Dv.remove(g),w8.push(g),Od(g),h.circle=null)}function oae(h,g,A,q){return function(L){var C=L.a,I=L.b,F=C.x,U=C.y,J=I.x,$=I.y,ee=0,re=1,_e=J-F,Me=$-U,ae;if(ae=h-F,!(!_e&&ae>0)){if(ae/=_e,_e<0){if(ae<ee)return;ae<re&&(re=ae)}else if(_e>0){if(ae>re)return;ae>ee&&(ee=ae)}if(ae=A-F,!(!_e&&ae<0)){if(ae/=_e,_e<0){if(ae>re)return;ae>ee&&(ee=ae)}else if(_e>0){if(ae<ee)return;ae<re&&(re=ae)}if(ae=g-U,!(!Me&&ae>0)){if(ae/=Me,Me<0){if(ae<ee)return;ae<re&&(re=ae)}else if(Me>0){if(ae>re)return;ae>ee&&(ee=ae)}if(ae=q-U,!(!Me&&ae<0)){if(ae/=Me,Me<0){if(ae>re)return;ae>ee&&(ee=ae)}else if(Me>0){if(ae<ee)return;ae<re&&(re=ae)}return ee>0&&(L.a={x:F+ee*_e,y:U+ee*Me}),re<1&&(L.b={x:F+re*_e,y:U+re*Me}),L}}}}}}function lae(h){for(var g=df,A=oae(h[0][0],h[0][1],h[1][0],h[1][1]),q=g.length,L;q--;)L=g[q],(!sae(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(q,1))}function sae(h,g){var A=h.b;if(A)return!0;var q=h.a,L=g[0][0],C=g[1][0],I=g[0][1],F=g[1][1],U=h.l,J=h.r,$=U.x,ee=U.y,re=J.x,_e=J.y,Me=($+re)/2,ae=(ee+_e)/2,ce,ge;if(_e===ee){if(Me<L||Me>=C)return;if($>re){if(!q)q={x:Me,y:I};else if(q.y>=F)return;A={x:Me,y:F}}else{if(!q)q={x:Me,y:F};else if(q.y<I)return;A={x:Me,y:I}}}else if(ce=($-re)/(_e-ee),ge=ae-ce*Me,ce<-1||ce>1)if($>re){if(!q)q={x:(I-ge)/ce,y:I};else if(q.y>=F)return;A={x:(F-ge)/ce,y:F}}else{if(!q)q={x:(F-ge)/ce,y:F};else if(q.y<I)return;A={x:(I-ge)/ce,y:I}}else if(ee<_e){if(!q)q={x:L,y:ce*L+ge};else if(q.x>=C)return;A={x:C,y:ce*C+ge}}else{if(!q)q={x:C,y:ce*C+ge};else if(q.x<L)return;A={x:L,y:ce*L+ge}}return h.a=q,h.b=A,!0}function S8(h,g){this.l=h,this.r=g,this.a=this.b=null}function Pv(h,g,A,q){var L=new S8(h,g);return df.push(L),A&&zd(L,h,g,A),q&&zd(L,g,h,q),Os[h.i].edges.push(new Id(L,h,g)),Os[g.i].edges.push(new Id(L,g,h)),L}function uae(h,g,A){var q=new S8(h,null);return q.a=g,q.b=A,df.push(q),q}function zd(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 Id(h,g,A){var q=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-q.x,q.y-L.y):Math.atan2(q.x-L.x,L.y-q.y)}Id.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 k3(){this._=null}function Od(h){h.U=h.C=h.L=h.R=h.P=h.N=null}k3.prototype={insert:function(h,g){var A,q,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=q8(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?(L=q.R,L&&L.C?(A.C=L.C=!1,q.C=!0,h=q):(h===A.R&&(Rv(this,A),h=A,A=h.U),A.C=!1,q.C=!0,Fv(this,q))):(L=q.L,L&&L.C?(A.C=L.C=!1,q.C=!0,h=q):(h===A.L&&(Fv(this,A),h=A,A=h.U),A.C=!1,q.C=!0,Rv(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,L=h.R,C,I;if(q?L?C=q8(L):C=q:C=L,g?g.L===h?g.L=C:g.R=C:this._=C,q&&L?(I=C.C,C.C=h.C,C.L=q,q.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,Rv(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,Fv(this,A),A=g.R),A.C=g.C,g.C=A.R.C=!1,Rv(this,g),h=this._;break}}else if(A=g.L,A.C&&(A.C=!1,g.C=!0,Fv(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,Rv(this,A),A=g.L),A.C=g.C,g.C=A.L.C=!1,Fv(this,g),h=this._;break}A.C=!0,h=g,g=g.U}while(!h.C);h&&(h.C=!1)}}};function Rv(h,g){var A=g,q=g.R,L=A.U;L?L.L===A?L.L=q:L.R=q