UNPKG

plotly.js

Version:

The open source javascript graphing library that powers plotly

18 lines 1.22 MB
/** * plotly.js (finance - minified) v3.6.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 dh=Object.defineProperty,dW=Object.defineProperties,pW=Object.getOwnPropertyDescriptor,mW=Object.getOwnPropertyDescriptors,yW=Object.getOwnPropertyNames,e6=Object.getOwnPropertySymbols;var t6=Object.prototype.hasOwnProperty,gW=Object.prototype.propertyIsEnumerable;var r6=(e,r,t)=>r in e?dh(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,Zo=(e,r)=>{for(var t in r||(r={}))t6.call(r,t)&&r6(e,t,r[t]);if(e6)for(var t of e6(r))gW.call(r,t)&&r6(e,t,r[t]);return e},ph=(e,r)=>dW(e,mW(r));var it=(e,r)=>()=>(e&&(r=e(e=0)),r);var O=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),xW=(e,r)=>{for(var t in r)dh(e,t,{get:r[t],enumerable:!0})},bW=(e,r,t,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of yW(r))!t6.call(e,n)&&n!==t&&dh(e,n,{get:()=>r[n],enumerable:!(a=pW(r,n))||a.enumerable});return e};var a6=e=>bW(dh({},"__esModule",{value:!0}),e);var mh=O(n6=>{"use strict";n6.version="3.6.0"});var l6=O((i6,yh)=>{(function(r,t,a){t[r]=t[r]||a(),typeof yh!="undefined"&&yh.exports&&(yh.exports=t[r])})("Promise",typeof window!="undefined"?window:i6,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,x,A){return Object.defineProperty(_,w,{value:x,writable:!0,configurable:A!==!1})}}catch(b){r=function(w,x,A){return w[x]=A,w}}a=function(){var _,w,x;function A(k,M){this.fn=k,this.self=M,this.next=void 0}return{add:function(M,S){x=new A(M,S),w?w.next=x:_=x,w=x,x=void 0},drain:function(){var M=_;for(_=w=t=void 0;M;)M.fn.call(M.self),M=M.next}}}();function l(b,_){a.add(b,_),t||(t=i(a.drain))}function o(b){var _,w=typeof b;return b!=null&&(w=="object"||w=="function")&&(_=b.then),typeof _=="function"?_:!1}function s(){for(var b=0;b<this.chain.length;b++)u(this,this.state===1?this.chain[b].success:this.chain[b].failure,this.chain[b]);this.chain.length=0}function u(b,_,w){var x,A;try{_===!1?w.reject(b.msg):(_===!0?x=b.msg:x=_.call(void 0,b.msg),x===w.promise?w.reject(TypeError("Promise-chain cycle")):(A=o(x))?A.call(x,w.resolve,w.reject):w.resolve(x))}catch(k){w.reject(k)}}function f(b){var _,w=this;if(!w.triggered){w.triggered=!0,w.def&&(w=w.def);try{(_=o(b))?l(function(){var x=new d(w);try{_.call(b,function(){f.apply(x,arguments)},function(){c.apply(x,arguments)})}catch(A){c.call(x,A)}}):(w.msg=b,w.state=1,w.chain.length>0&&l(s,w))}catch(x){c.call(new d(w),x)}}}function c(b){var _=this;_.triggered||(_.triggered=!0,_.def&&(_=_.def),_.msg=b,_.state=2,_.chain.length>0&&l(s,_))}function h(b,_,w,x){for(var A=0;A<_.length;A++)(function(M){b.resolve(_[M]).then(function(D){w(M,D)},x)})(A)}function d(b){this.def=b,this.triggered=!1}function p(b){this.promise=b,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function m(b){if(typeof b!="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(x,A){var k={success:typeof x=="function"?x:!0,failure:typeof A=="function"?A:!1};return k.promise=new this.constructor(function(S,D){if(typeof S!="function"||typeof D!="function")throw TypeError("Not a function");k.resolve=S,k.reject=D}),_.chain.push(k),_.state!==0&&l(s,_),k.promise},this.catch=function(x){return this.then(void 0,x)};try{b.call(void 0,function(x){f.call(_,x)},function(x){c.call(_,x)})}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(A,k){if(typeof A!="function"||typeof k!="function")throw TypeError("Not a function");A(_)})}),r(m,"reject",function(_){return new this(function(x,A){if(typeof x!="function"||typeof A!="function")throw TypeError("Not a function");A(_)})}),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(A,k){if(typeof A!="function"||typeof k!="function")throw TypeError("Not a function");var M=_.length,S=Array(M),D=0;h(w,_,function(R,N){S[R]=N,++D===M&&A(S)},k)})}),r(m,"race",function(_){var w=this;return n.call(_)!="[object Array]"?w.reject(TypeError("Not an array")):new w(function(A,k){if(typeof A!="function"||typeof k!="function")throw TypeError("Not a function");h(w,_,function(S,D){A(D)},k)})}),m})});var kr=O((xme,gh)=>{(function(){var e={version:"3.8.2"},r=[].slice,t=function(v){return r.call(v)},a=self.document;function n(v){return v&&(v.ownerDocument||v.document||v).documentElement}function i(v){return v&&(v.ownerDocument&&v.ownerDocument.defaultView||v.document&&v||v.defaultView)}if(a)try{t(a.documentElement.childNodes)[0].nodeType}catch(v){t=function(g){for(var T=g.length,q=new Array(T);T--;)q[T]=g[T];return q}}if(Date.now||(Date.now=function(){return+new Date}),a)try{a.createElement("DIV").style.setProperty("opacity",0,"")}catch(v){var l=this.Element.prototype,o=l.setAttribute,s=l.setAttributeNS,u=this.CSSStyleDeclaration.prototype,f=u.setProperty;l.setAttribute=function(g,T){o.call(this,g,T+"")},l.setAttributeNS=function(g,T,q){s.call(this,g,T,q+"")},u.setProperty=function(g,T,q){f.call(this,g,T+"",q)}}e.ascending=c;function c(v,g){return v<g?-1:v>g?1:v>=g?0:NaN}e.descending=function(v,g){return g<v?-1:g>v?1:g>=v?0:NaN},e.min=function(v,g){var T=-1,q=v.length,C,L;if(arguments.length===1){for(;++T<q;)if((L=v[T])!=null&&L>=L){C=L;break}for(;++T<q;)(L=v[T])!=null&&C>L&&(C=L)}else{for(;++T<q;)if((L=g.call(v,v[T],T))!=null&&L>=L){C=L;break}for(;++T<q;)(L=g.call(v,v[T],T))!=null&&C>L&&(C=L)}return C},e.max=function(v,g){var T=-1,q=v.length,C,L;if(arguments.length===1){for(;++T<q;)if((L=v[T])!=null&&L>=L){C=L;break}for(;++T<q;)(L=v[T])!=null&&L>C&&(C=L)}else{for(;++T<q;)if((L=g.call(v,v[T],T))!=null&&L>=L){C=L;break}for(;++T<q;)(L=g.call(v,v[T],T))!=null&&L>C&&(C=L)}return C},e.extent=function(v,g){var T=-1,q=v.length,C,L,z;if(arguments.length===1){for(;++T<q;)if((L=v[T])!=null&&L>=L){C=z=L;break}for(;++T<q;)(L=v[T])!=null&&(C>L&&(C=L),z<L&&(z=L))}else{for(;++T<q;)if((L=g.call(v,v[T],T))!=null&&L>=L){C=z=L;break}for(;++T<q;)(L=g.call(v,v[T],T))!=null&&(C>L&&(C=L),z<L&&(z=L))}return[C,z]};function h(v){return v===null?NaN:+v}function d(v){return!isNaN(v)}e.sum=function(v,g){var T=0,q=v.length,C,L=-1;if(arguments.length===1)for(;++L<q;)d(C=+v[L])&&(T+=C);else for(;++L<q;)d(C=+g.call(v,v[L],L))&&(T+=C);return T},e.mean=function(v,g){var T=0,q=v.length,C,L=-1,z=q;if(arguments.length===1)for(;++L<q;)d(C=h(v[L]))?T+=C:--z;else for(;++L<q;)d(C=h(g.call(v,v[L],L)))?T+=C:--z;if(z)return T/z},e.quantile=function(v,g){var T=(v.length-1)*g+1,q=Math.floor(T),C=+v[q-1],L=T-q;return L?C+L*(v[q]-C):C},e.median=function(v,g){var T=[],q=v.length,C,L=-1;if(arguments.length===1)for(;++L<q;)d(C=h(v[L]))&&T.push(C);else for(;++L<q;)d(C=h(g.call(v,v[L],L)))&&T.push(C);if(T.length)return e.quantile(T.sort(c),.5)},e.variance=function(v,g){var T=v.length,q=0,C,L,z=0,P=-1,F=0;if(arguments.length===1)for(;++P<T;)d(C=h(v[P]))&&(L=C-q,q+=L/++F,z+=L*(C-q));else for(;++P<T;)d(C=h(g.call(v,v[P],P)))&&(L=C-q,q+=L/++F,z+=L*(C-q));if(F>1)return z/(F-1)},e.deviation=function(){var v=e.variance.apply(this,arguments);return v&&Math.sqrt(v)};function p(v){return{left:function(g,T,q,C){for(arguments.length<3&&(q=0),arguments.length<4&&(C=g.length);q<C;){var L=q+C>>>1;v(g[L],T)<0?q=L+1:C=L}return q},right:function(g,T,q,C){for(arguments.length<3&&(q=0),arguments.length<4&&(C=g.length);q<C;){var L=q+C>>>1;v(g[L],T)>0?C=L:q=L+1}return q}}}var m=p(c);e.bisectLeft=m.left,e.bisect=e.bisectRight=m.right,e.bisector=function(v){return p(v.length===1?function(g,T){return c(v(g),T)}:v)},e.shuffle=function(v,g,T){(q=arguments.length)<3&&(T=v.length,q<2&&(g=0));for(var q=T-g,C,L;q;)L=Math.random()*q--|0,C=v[q+g],v[q+g]=v[L+g],v[L+g]=C;return v},e.permute=function(v,g){for(var T=g.length,q=new Array(T);T--;)q[T]=v[g[T]];return q},e.pairs=function(v){for(var g=0,T=v.length-1,q,C=v[0],L=new Array(T<0?0:T);g<T;)L[g]=[q=C,C=v[++g]];return L},e.transpose=function(v){if(!(L=v.length))return[];for(var g=-1,T=e.min(v,y),q=new Array(T);++g<T;)for(var C=-1,L,z=q[g]=new Array(L);++C<L;)z[C]=v[C][g];return q};function y(v){return v.length}e.zip=function(){return e.transpose(arguments)},e.keys=function(v){var g=[];for(var T in v)g.push(T);return g},e.values=function(v){var g=[];for(var T in v)g.push(v[T]);return g},e.entries=function(v){var g=[];for(var T in v)g.push({key:T,value:v[T]});return g},e.merge=function(v){for(var g=v.length,T,q=-1,C=0,L,z;++q<g;)C+=v[q].length;for(L=new Array(C);--g>=0;)for(z=v[g],T=z.length;--T>=0;)L[--C]=z[T];return L};var b=Math.abs;e.range=function(v,g,T){if(arguments.length<3&&(T=1,arguments.length<2&&(g=v,v=0)),(g-v)/T===1/0)throw new Error("infinite range");var q=[],C=_(b(T)),L=-1,z;if(v*=C,g*=C,T*=C,T<0)for(;(z=v+T*++L)>g;)q.push(z/C);else for(;(z=v+T*++L)<g;)q.push(z/C);return q};function _(v){for(var g=1;v*g%1;)g*=10;return g}function w(v,g){for(var T in g)Object.defineProperty(v.prototype,T,{value:g[T],enumerable:!1})}e.map=function(v,g){var T=new x;if(v instanceof x)v.forEach(function(P,F){T.set(P,F)});else if(Array.isArray(v)){var q=-1,C=v.length,L;if(arguments.length===1)for(;++q<C;)T.set(q,v[q]);else for(;++q<C;)T.set(g.call(v,L=v[q],q),L)}else for(var z in v)T.set(z,v[z]);return T};function x(){this._=Object.create(null)}var A="__proto__",k="\0";w(x,{has:D,get:function(v){return this._[M(v)]},set:function(v,g){return this._[M(v)]=g},remove:E,keys:R,values:function(){var v=[];for(var g in this._)v.push(this._[g]);return v},entries:function(){var v=[];for(var g in this._)v.push({key:S(g),value:this._[g]});return v},size:N,empty:H,forEach:function(v){for(var g in this._)v.call(this,S(g),this._[g])}});function M(v){return(v+="")===A||v[0]===k?k+v:v}function S(v){return(v+="")[0]===k?v.slice(1):v}function D(v){return M(v)in this._}function E(v){return(v=M(v))in this._&&delete this._[v]}function R(){var v=[];for(var g in this._)v.push(S(g));return v}function N(){var v=0;for(var g in this._)++v;return v}function H(){for(var v in this._)return!1;return!0}e.nest=function(){var v={},g=[],T=[],q,C;function L(P,F,$){if($>=g.length)return C?C.call(v,F):q?F.sort(q):F;for(var K=-1,re=F.length,te=g[$++],ye,Ae,ae,ue=new x,he;++K<re;)(he=ue.get(ye=te(Ae=F[K])))?he.push(Ae):ue.set(ye,[Ae]);return P?(Ae=P(),ae=function(Te,Me){Ae.set(Te,L(P,Me,$))}):(Ae={},ae=function(Te,Me){Ae[Te]=L(P,Me,$)}),ue.forEach(ae),Ae}function z(P,F){if(F>=g.length)return P;var $=[],K=T[F++];return P.forEach(function(re,te){$.push({key:re,values:z(te,F)})}),K?$.sort(function(re,te){return K(re.key,te.key)}):$}return v.map=function(P,F){return L(F,P,0)},v.entries=function(P){return z(L(e.map,P,0),0)},v.key=function(P){return g.push(P),v},v.sortKeys=function(P){return T[g.length-1]=P,v},v.sortValues=function(P){return q=P,v},v.rollup=function(P){return C=P,v},v},e.set=function(v){var g=new I;if(v)for(var T=0,q=v.length;T<q;++T)g.add(v[T]);return g};function I(){this._=Object.create(null)}w(I,{has:D,add:function(v){return this._[M(v+="")]=!0,v},remove:E,values:R,size:N,empty:H,forEach:function(v){for(var g in this._)v.call(this,S(g))}}),e.behavior={};function Y(v){return v}e.rebind=function(v,g){for(var T=1,q=arguments.length,C;++T<q;)v[C=arguments[T]]=U(v,g,g[C]);return v};function U(v,g,T){return function(){var q=T.apply(g,arguments);return q===g?v:q}}function V(v,g){if(g in v)return g;g=g.charAt(0).toUpperCase()+g.slice(1);for(var T=0,q=G.length;T<q;++T){var C=G[T]+g;if(C in v)return C}}var G=["webkit","ms","moz","Moz","o","O"];function B(){}e.dispatch=function(){for(var v=new J,g=-1,T=arguments.length;++g<T;)v[arguments[g]]=X(v);return v};function J(){}J.prototype.on=function(v,g){var T=v.indexOf("."),q="";if(T>=0&&(q=v.slice(T+1),v=v.slice(0,T)),v)return arguments.length<2?this[v].on(q):this[v].on(q,g);if(arguments.length===2){if(g==null)for(v in this)this.hasOwnProperty(v)&&this[v].on(q,null);return this}};function X(v){var g=[],T=new x;function q(){for(var C=g,L=-1,z=C.length,P;++L<z;)(P=C[L].on)&&P.apply(this,arguments);return v}return q.on=function(C,L){var z=T.get(C),P;return arguments.length<2?z&&z.on:(z&&(z.on=null,g=g.slice(0,P=g.indexOf(z)).concat(g.slice(P+1)),T.remove(C)),L&&g.push(T.set(C,{on:L})),v)},q}e.event=null;function j(){e.event.preventDefault()}function le(){for(var v=e.event,g;g=v.sourceEvent;)v=g;return v}function fe(v){for(var g=new J,T=0,q=arguments.length;++T<q;)g[arguments[T]]=X(g);return g.of=function(C,L){return function(z){try{var P=z.sourceEvent=e.event;z.target=v,e.event=z,g[z.type].apply(C,L)}finally{e.event=P}}},g}e.requote=function(v){return v.replace(ve,"\\$&")};var ve=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,ee={}.__proto__?function(v,g){v.__proto__=g}:function(v,g){for(var T in g)v[T]=g[T]};function Ce(v){return ee(v,ge),v}var ce=function(v,g){return g.querySelector(v)},be=function(v,g){return g.querySelectorAll(v)},_e=function(v,g){var T=v.matches||v[V(v,"matchesSelector")];return _e=function(q,C){return T.call(q,C)},_e(v,g)};typeof Sizzle=="function"&&(ce=function(v,g){return Sizzle(v,g)[0]||null},be=Sizzle,_e=Sizzle.matchesSelector),e.selection=function(){return e.select(a.documentElement)};var ge=e.selection.prototype=[];ge.select=function(v){var g=[],T,q,C,L;v=W(v);for(var z=-1,P=this.length;++z<P;){g.push(T=[]),T.parentNode=(C=this[z]).parentNode;for(var F=-1,$=C.length;++F<$;)(L=C[F])?(T.push(q=v.call(L,L.__data__,F,z)),q&&"__data__"in L&&(q.__data__=L.__data__)):T.push(null)}return Ce(g)};function W(v){return typeof v=="function"?v:function(){return ce(v,this)}}ge.selectAll=function(v){var g=[],T,q;v=Q(v);for(var C=-1,L=this.length;++C<L;)for(var z=this[C],P=-1,F=z.length;++P<F;)(q=z[P])&&(g.push(T=t(v.call(q,q.__data__,P,C))),T.parentNode=q);return Ce(g)};function Q(v){return typeof v=="function"?v:function(){return be(v,this)}}var Z="http://www.w3.org/1999/xhtml",oe={svg:"http://www.w3.org/2000/svg",xhtml:Z,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:oe,qualify:function(v){var g=v.indexOf(":"),T=v;return g>=0&&(T=v.slice(0,g))!=="xmlns"&&(v=v.slice(g+1)),oe.hasOwnProperty(T)?{space:oe[T],local:v}:v}},ge.attr=function(v,g){if(arguments.length<2){if(typeof v=="string"){var T=this.node();return v=e.ns.qualify(v),v.local?T.getAttributeNS(v.space,v.local):T.getAttribute(v)}for(g in v)this.each(me(g,v[g]));return this}return this.each(me(v,g))};function me(v,g){v=e.ns.qualify(v);function T(){this.removeAttribute(v)}function q(){this.removeAttributeNS(v.space,v.local)}function C(){this.setAttribute(v,g)}function L(){this.setAttributeNS(v.space,v.local,g)}function z(){var F=g.apply(this,arguments);F==null?this.removeAttribute(v):this.setAttribute(v,F)}function P(){var F=g.apply(this,arguments);F==null?this.removeAttributeNS(v.space,v.local):this.setAttributeNS(v.space,v.local,F)}return g==null?v.local?q:T:typeof g=="function"?v.local?P:z:v.local?L:C}function xe(v){return v.trim().replace(/\s+/g," ")}ge.classed=function(v,g){if(arguments.length<2){if(typeof v=="string"){var T=this.node(),q=(v=Ee(v)).length,C=-1;if(g=T.classList){for(;++C<q;)if(!g.contains(v[C]))return!1}else for(g=T.getAttribute("class");++C<q;)if(!Re(v[C]).test(g))return!1;return!0}for(g in v)this.each(Se(g,v[g]));return this}return this.each(Se(v,g))};function Re(v){return new RegExp("(?:^|\\s+)"+e.requote(v)+"(?:\\s+|$)","g")}function Ee(v){return(v+"").trim().split(/^|\s+/)}function Se(v,g){v=Ee(v).map(Ge);var T=v.length;function q(){for(var L=-1;++L<T;)v[L](this,g)}function C(){for(var L=-1,z=g.apply(this,arguments);++L<T;)v[L](this,z)}return typeof g=="function"?C:q}function Ge(v){var g=Re(v);return function(T,q){if(C=T.classList)return q?C.add(v):C.remove(v);var C=T.getAttribute("class")||"";q?(g.lastIndex=0,g.test(C)||T.setAttribute("class",xe(C+" "+v))):T.setAttribute("class",xe(C.replace(g," ")))}}ge.style=function(v,g,T){var q=arguments.length;if(q<3){if(typeof v!="string"){q<2&&(g="");for(T in v)this.each(Ie(T,v[T],g));return this}if(q<2){var C=this.node();return i(C).getComputedStyle(C,null).getPropertyValue(v)}T=""}return this.each(Ie(v,g,T))};function Ie(v,g,T){function q(){this.style.removeProperty(v)}function C(){this.style.setProperty(v,g,T)}function L(){var z=g.apply(this,arguments);z==null?this.style.removeProperty(v):this.style.setProperty(v,z,T)}return g==null?q:typeof g=="function"?L:C}ge.property=function(v,g){if(arguments.length<2){if(typeof v=="string")return this.node()[v];for(g in v)this.each(We(g,v[g]));return this}return this.each(We(v,g))};function We(v,g){function T(){delete this[v]}function q(){this[v]=g}function C(){var L=g.apply(this,arguments);L==null?delete this[v]:this[v]=L}return g==null?T:typeof g=="function"?C:q}ge.text=function(v){return arguments.length?this.each(typeof v=="function"?function(){var g=v.apply(this,arguments);this.textContent=g==null?"":g}:v==null?function(){this.textContent=""}:function(){this.textContent=v}):this.node().textContent},ge.html=function(v){return arguments.length?this.each(typeof v=="function"?function(){var g=v.apply(this,arguments);this.innerHTML=g==null?"":g}:v==null?function(){this.innerHTML=""}:function(){this.innerHTML=v}):this.node().innerHTML},ge.append=function(v){return v=De(v),this.select(function(){return this.appendChild(v.apply(this,arguments))})};function De(v){function g(){var q=this.ownerDocument,C=this.namespaceURI;return C===Z&&q.documentElement.namespaceURI===Z?q.createElement(v):q.createElementNS(C,v)}function T(){return this.ownerDocument.createElementNS(v.space,v.local)}return typeof v=="function"?v:(v=e.ns.qualify(v)).local?T:g}ge.insert=function(v,g){return v=De(v),g=W(g),this.select(function(){return this.insertBefore(v.apply(this,arguments),g.apply(this,arguments)||null)})},ge.remove=function(){return this.each(He)};function He(){var v=this.parentNode;v&&v.removeChild(this)}ge.data=function(v,g){var T=-1,q=this.length,C,L;if(!arguments.length){for(v=new Array(q=(C=this[0]).length);++T<q;)(L=C[T])&&(v[T]=L.__data__);return v}function z(K,re){var te,ye=K.length,Ae=re.length,ae=Math.min(ye,Ae),ue=new Array(Ae),he=new Array(Ae),Te=new Array(ye),Me,pe;if(g){var Ye=new x,nr=new Array(ye),fr;for(te=-1;++te<ye;)(Me=K[te])&&(Ye.has(fr=g.call(Me,Me.__data__,te))?Te[te]=Me:Ye.set(fr,Me),nr[te]=fr);for(te=-1;++te<Ae;)(Me=Ye.get(fr=g.call(re,pe=re[te],te)))?Me!==!0&&(ue[te]=Me,Me.__data__=pe):he[te]=Xe(pe),Ye.set(fr,!0);for(te=-1;++te<ye;)te in nr&&Ye.get(nr[te])!==!0&&(Te[te]=K[te])}else{for(te=-1;++te<ae;)Me=K[te],pe=re[te],Me?(Me.__data__=pe,ue[te]=Me):he[te]=Xe(pe);for(;te<Ae;++te)he[te]=Xe(re[te]);for(;te<ye;++te)Te[te]=K[te]}he.update=ue,he.parentNode=ue.parentNode=Te.parentNode=K.parentNode,P.push(he),F.push(ue),$.push(Te)}var P=hr([]),F=Ce([]),$=Ce([]);if(typeof v=="function")for(;++T<q;)z(C=this[T],v.call(C,C.parentNode.__data__,T));else for(;++T<q;)z(C=this[T],v);return F.enter=function(){return P},F.exit=function(){return $},F};function Xe(v){return{__data__:v}}ge.datum=function(v){return arguments.length?this.property("__data__",v):this.property("__data__")},ge.filter=function(v){var g=[],T,q,C;typeof v!="function"&&(v=ie(v));for(var L=0,z=this.length;L<z;L++){g.push(T=[]),T.parentNode=(q=this[L]).parentNode;for(var P=0,F=q.length;P<F;P++)(C=q[P])&&v.call(C,C.__data__,P,L)&&T.push(C)}return Ce(g)};function ie(v){return function(){return _e(this,v)}}ge.order=function(){for(var v=-1,g=this.length;++v<g;)for(var T=this[v],q=T.length-1,C=T[q],L;--q>=0;)(L=T[q])&&(C&&C!==L.nextSibling&&C.parentNode.insertBefore(L,C),C=L);return this},ge.sort=function(v){v=we.apply(this,arguments);for(var g=-1,T=this.length;++g<T;)this[g].sort(v);return this.order()};function we(v){return arguments.length||(v=c),function(g,T){return g&&T?v(g.__data__,T.__data__):!g-!T}}ge.each=function(v){return $e(this,function(g,T,q){v.call(g,g.__data__,T,q)})};function $e(v,g){for(var T=0,q=v.length;T<q;T++)for(var C=v[T],L=0,z=C.length,P;L<z;L++)(P=C[L])&&g(P,L,T);return v}ge.call=function(v){var g=t(arguments);return v.apply(g[0]=this,g),this},ge.empty=function(){return!this.node()},ge.node=function(){for(var v=0,g=this.length;v<g;v++)for(var T=this[v],q=0,C=T.length;q<C;q++){var L=T[q];if(L)return L}return null},ge.size=function(){var v=0;return $e(this,function(){++v}),v};function hr(v){return ee(v,Ne),v}var Ne=[];e.selection.enter=hr,e.selection.enter.prototype=Ne,Ne.append=ge.append,Ne.empty=ge.empty,Ne.node=ge.node,Ne.call=ge.call,Ne.size=ge.size,Ne.select=function(v){for(var g=[],T,q,C,L,z,P=-1,F=this.length;++P<F;){C=(L=this[P]).update,g.push(T=[]),T.parentNode=L.parentNode;for(var $=-1,K=L.length;++$<K;)(z=L[$])?(T.push(C[$]=q=v.call(L.parentNode,z.__data__,$,P)),q.__data__=z.__data__):T.push(null)}return Ce(g)},Ne.insert=function(v,g){return arguments.length<2&&(g=ke(this)),ge.insert.call(this,v,g)};function ke(v){var g,T;return function(q,C,L){var z=v[L].update,P=z.length,F;for(L!=T&&(T=L,g=0),C>=g&&(g=C+1);!(F=z[g])&&++g<P;);return F}}e.select=function(v){var g;return typeof v=="string"?(g=[ce(v,a)],g.parentNode=a.documentElement):(g=[v],g.parentNode=n(v)),Ce([g])},e.selectAll=function(v){var g;return typeof v=="string"?(g=t(be(v,a)),g.parentNode=a.documentElement):(g=t(v),g.parentNode=null),Ce([g])},ge.on=function(v,g,T){var q=arguments.length;if(q<3){if(typeof v!="string"){q<2&&(g=!1);for(T in v)this.each(qe(T,v[T],g));return this}if(q<2)return(q=this.node()["__on"+v])&&q._;T=!1}return this.each(qe(v,g,T))};function qe(v,g,T){var q="__on"+v,C=v.indexOf("."),L=Ze;C>0&&(v=v.slice(0,C));var z=Be.get(v);z&&(v=z,L=Ve);function P(){var K=this[q];K&&(this.removeEventListener(v,K,K.$),delete this[q])}function F(){var K=L(g,t(arguments));P.call(this),this.addEventListener(v,this[q]=K,K.$=T),K._=g}function $(){var K=new RegExp("^__on([^.]+)"+e.requote(v)+"$"),re;for(var te in this)if(re=te.match(K)){var ye=this[te];this.removeEventListener(re[1],ye,ye.$),delete this[te]}}return C?g?F:P:g?B:$}var Be=e.map({mouseenter:"mouseover",mouseleave:"mouseout"});a&&Be.forEach(function(v){"on"+v in a&&Be.remove(v)});function Ze(v,g){return function(T){var q=e.event;e.event=T,g[0]=this.__data__;try{v.apply(this,g)}finally{e.event=q}}}function Ve(v,g){var T=Ze(v,g);return function(q){var C=this,L=q.relatedTarget;(!L||L!==C&&!(L.compareDocumentPosition(C)&8))&&T.call(C,q)}}var Ue,ir=0;function ar(v){var g=".dragsuppress-"+ ++ir,T="click"+g,q=e.select(i(v)).on("touchmove"+g,j).on("dragstart"+g,j).on("selectstart"+g,j);if(Ue==null&&(Ue="onselectstart"in v?!1:V(v.style,"userSelect")),Ue){var C=n(v).style,L=C[Ue];C[Ue]="none"}return function(z){if(q.on(g,null),Ue&&(C[Ue]=L),z){var P=function(){q.on(T,null)};q.on(T,function(){j(),P()},!0),setTimeout(P,0)}}}e.mouse=function(v){return Fe(v,le())};var er=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function Fe(v,g){g.changedTouches&&(g=g.changedTouches[0]);var T=v.ownerSVGElement||v;if(T.createSVGPoint){var q=T.createSVGPoint();if(er<0){var C=i(v);if(C.scrollX||C.scrollY){T=e.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var L=T[0][0].getScreenCTM();er=!(L.f||L.e),T.remove()}}return er?(q.x=g.pageX,q.y=g.pageY):(q.x=g.clientX,q.y=g.clientY),q=q.matrixTransform(v.getScreenCTM().inverse()),[q.x,q.y]}var z=v.getBoundingClientRect();return[g.clientX-z.left-v.clientLeft,g.clientY-z.top-v.clientTop]}e.touch=function(v,g,T){if(arguments.length<3&&(T=g,g=le().changedTouches),g){for(var q=0,C=g.length,L;q<C;++q)if((L=g[q]).identifier===T)return Fe(v,L)}},e.behavior.drag=function(){var v=fe(C,"drag","dragstart","dragend"),g=null,T=L(B,e.mouse,i,"mousemove","mouseup"),q=L(ne,e.touch,Y,"touchmove","touchend");function C(){this.on("mousedown.drag",T).on("touchstart.drag",q)}function L(z,P,F,$,K){return function(){var re=this,te=e.event.target.correspondingElement||e.event.target,ye=re.parentNode,Ae=v.of(re,arguments),ae=0,ue=z(),he=".drag"+(ue==null?"":"-"+ue),Te,Me=e.select(F(te)).on($+he,nr).on(K+he,fr),pe=ar(te),Ye=P(ye,ue);g?(Te=g.apply(re,arguments),Te=[Te.x-Ye[0],Te.y-Ye[1]]):Te=[0,0],Ae({type:"dragstart"});function nr(){var lr=P(ye,ue),dr,pr;lr&&(dr=lr[0]-Ye[0],pr=lr[1]-Ye[1],ae|=dr|pr,Ye=lr,Ae({type:"drag",x:lr[0]+Te[0],y:lr[1]+Te[1],dx:dr,dy:pr}))}function fr(){P(ye,ue)&&(Me.on($+he,null).on(K+he,null),pe(ae),Ae({type:"dragend"}))}}}return C.origin=function(z){return arguments.length?(g=z,C):g},e.rebind(C,v,"on")};function ne(){return e.event.changedTouches[0].identifier}e.touches=function(v,g){return arguments.length<2&&(g=le().touches),g?t(g).map(function(T){var q=Fe(v,T);return q.identifier=T.identifier,q}):[]};var se=1e-6,Le=se*se,Pe=Math.PI,Qe=2*Pe,cr=Qe-se,sr=Pe/2,Mr=Pe/180,Br=180/Pe;function $r(v){return v>0?1:v<0?-1:0}function ft(v,g,T){return(g[0]-v[0])*(T[1]-v[1])-(g[1]-v[1])*(T[0]-v[0])}function kt(v){return v>1?0:v<-1?Pe:Math.acos(v)}function wt(v){return v>1?sr:v<-1?-sr:Math.asin(v)}function Jt(v){return((v=Math.exp(v))-1/v)/2}function Vt(v){return((v=Math.exp(v))+1/v)/2}function Ja(v){return((v=Math.exp(2*v))-1)/(v+1)}function ba(v){return(v=Math.sin(v/2))*v}var ca=Math.SQRT2,$a=2,va=4;e.interpolateZoom=function(v,g){var T=v[0],q=v[1],C=v[2],L=g[0],z=g[1],P=g[2],F=L-T,$=z-q,K=F*F+$*$,re,te;if(K<Le)te=Math.log(P/C)/ca,re=function(Te){return[T+Te*F,q+Te*$,C*Math.exp(ca*Te*te)]};else{var ye=Math.sqrt(K),Ae=(P*P-C*C+va*K)/(2*C*$a*ye),ae=(P*P-C*C-va*K)/(2*P*$a*ye),ue=Math.log(Math.sqrt(Ae*Ae+1)-Ae),he=Math.log(Math.sqrt(ae*ae+1)-ae);te=(he-ue)/ca,re=function(Te){var Me=Te*te,pe=Vt(ue),Ye=C/($a*ye)*(pe*Ja(ca*Me+ue)-Jt(ue));return[T+Ye*F,q+Ye*$,C*pe/Vt(ca*Me+ue)]}}return re.duration=te*1e3,re},e.behavior.zoom=function(){var v={x:0,y:0,k:1},g,T,q,C=[960,500],L=ha,z=250,P=0,F="mousedown.zoom",$="mousemove.zoom",K="mouseup.zoom",re,te="touchstart.zoom",ye,Ae=fe(Me,"zoomstart","zoom","zoomend"),ae,ue,he,Te;ct||(ct="onwheel"in a?(vr=function(){return-e.event.deltaY*(e.event.deltaMode?120:1)},"wheel"):"onmousewheel"in a?(vr=function(){return e.event.wheelDelta},"mousewheel"):(vr=function(){return-e.event.detail},"MozMousePixelScroll"));function Me(rr){rr.on(F,Ar).on(ct+".zoom",Nt).on("dblclick.zoom",tt).on(te,Qr)}Me.event=function(rr){rr.each(function(){var Dr=Ae.of(this,arguments),Er=v;Uo?e.select(this).transition().each("start.zoom",function(){v=this.__chart__||{x:0,y:0,k:1},pr(Dr)}).tween("zoom:zoom",function(){var jr=C[0],qt=C[1],Kt=T?T[0]:jr/2,Ta=T?T[1]:qt/2,Ha=e.interpolateZoom([(Kt-v.x)/v.k,(Ta-v.y)/v.k,jr/v.k],[(Kt-Er.x)/Er.k,(Ta-Er.y)/Er.k,jr/Er.k]);return function(Qa){var Ba=Ha(Qa),nn=jr/Ba[2];this.__chart__=v={x:Kt-Ba[0]*nn,y:Ta-Ba[1]*nn,k:nn},Lr(Dr)}}).each("interrupt.zoom",function(){mr(Dr)}).each("end.zoom",function(){mr(Dr)}):(this.__chart__=v,pr(Dr),Lr(Dr),mr(Dr))})},Me.translate=function(rr){return arguments.length?(v={x:+rr[0],y:+rr[1],k:v.k},dr(),Me):[v.x,v.y]},Me.scale=function(rr){return arguments.length?(v={x:v.x,y:v.y,k:null},nr(+rr),dr(),Me):v.k},Me.scaleExtent=function(rr){return arguments.length?(L=rr==null?ha:[+rr[0],+rr[1]],Me):L},Me.center=function(rr){return arguments.length?(q=rr&&[+rr[0],+rr[1]],Me):q},Me.size=function(rr){return arguments.length?(C=rr&&[+rr[0],+rr[1]],Me):C},Me.duration=function(rr){return arguments.length?(z=+rr,Me):z},Me.x=function(rr){return arguments.length?(ue=rr,ae=rr.copy(),v={x:0,y:0,k:1},Me):ue},Me.y=function(rr){return arguments.length?(Te=rr,he=rr.copy(),v={x:0,y:0,k:1},Me):Te};function pe(rr){return[(rr[0]-v.x)/v.k,(rr[1]-v.y)/v.k]}function Ye(rr){return[rr[0]*v.k+v.x,rr[1]*v.k+v.y]}function nr(rr){v.k=Math.max(L[0],Math.min(L[1],rr))}function fr(rr,Dr){Dr=Ye(Dr),v.x+=rr[0]-Dr[0],v.y+=rr[1]-Dr[1]}function lr(rr,Dr,Er,jr){rr.__chart__={x:v.x,y:v.y,k:v.k},nr(Math.pow(2,jr)),fr(T=Dr,Er),rr=e.select(rr),z>0&&(rr=rr.transition().duration(z)),rr.call(Me.event)}function dr(){ue&&ue.domain(ae.range().map(function(rr){return(rr-v.x)/v.k}).map(ae.invert)),Te&&Te.domain(he.range().map(function(rr){return(rr-v.y)/v.k}).map(he.invert))}function pr(rr){P++||rr({type:"zoomstart"})}function Lr(rr){dr(),rr({type:"zoom",scale:v.k,translate:[v.x,v.y]})}function mr(rr){--P||(rr({type:"zoomend"}),T=null)}function Ar(){var rr=this,Dr=Ae.of(rr,arguments),Er=0,jr=e.select(i(rr)).on($,Ta).on(K,Ha),qt=pe(e.mouse(rr)),Kt=ar(rr);fh.call(rr),pr(Dr);function Ta(){Er=1,fr(e.mouse(rr),qt),Lr(Dr)}function Ha(){jr.on($,null).on(K,null),Kt(Er),mr(Dr)}}function Qr(){var rr=this,Dr=Ae.of(rr,arguments),Er={},jr=0,qt,Kt=".zoom-"+e.event.changedTouches[0].identifier,Ta="touchmove"+Kt,Ha="touchend"+Kt,Qa=[],Ba=e.select(rr),nn=ar(rr);ln(),pr(Dr),Ba.on(F,null).on(te,ln);function Ea(){var vi=e.touches(rr);return qt=v.k,vi.forEach(function(Aa){Aa.identifier in Er&&(Er[Aa.identifier]=pe(Aa))}),vi}function ln(){var vi=e.event.target;e.select(vi).on(Ta,Xo).on(Ha,hW),Qa.push(vi);for(var Aa=e.event.changedTouches,Nn=0,Hi=Aa.length;Nn<Hi;++Nn)Er[Aa[Nn].identifier]=null;var Fn=Ea(),wu=Date.now();if(Fn.length===1){if(wu-ye<500){var Wo=Fn[0];lr(rr,Wo,Er[Wo.identifier],Math.floor(Math.log(v.k)/Math.LN2)+1),j()}ye=wu}else if(Fn.length>1){var Wo=Fn[0],Bl=Fn[1],hh=Wo[0]-Bl[0],j4=Wo[1]-Bl[1];jr=hh*hh+j4*j4}}function Xo(){var vi=e.touches(rr),Aa,Nn,Hi,Fn;fh.call(rr);for(var wu=0,Wo=vi.length;wu<Wo;++wu,Fn=null)if(Hi=vi[wu],Fn=Er[Hi.identifier]){if(Nn)break;Aa=Hi,Nn=Fn}if(Fn){var Bl=(Bl=Hi[0]-Aa[0])*Bl+(Bl=Hi[1]-Aa[1])*Bl,hh=jr&&Math.sqrt(Bl/jr);Aa=[(Aa[0]+Hi[0])/2,(Aa[1]+Hi[1])/2],Nn=[(Nn[0]+Fn[0])/2,(Nn[1]+Fn[1])/2],nr(hh*qt)}ye=null,fr(Aa,Nn),Lr(Dr)}function hW(){if(e.event.touches.length){for(var vi=e.event.changedTouches,Aa=0,Nn=vi.length;Aa<Nn;++Aa)delete Er[vi[Aa].identifier];for(var Hi in Er)return void Ea()}e.selectAll(Qa).on(Kt,null),Ba.on(F,Ar).on(te,Qr),nn(),mr(Dr)}}function Nt(){var rr=Ae.of(this,arguments);re?clearTimeout(re):(fh.call(this),g=pe(T=q||e.mouse(this)),pr(rr)),re=setTimeout(function(){re=null,mr(rr)},50),j(),nr(Math.pow(2,vr()*.002)*v.k),fr(T,g),Lr(rr)}function tt(){var rr=e.mouse(this),Dr=Math.log(v.k)/Math.LN2;lr(this,rr,pe(rr),e.event.shiftKey?Math.ceil(Dr)-1:Math.floor(Dr)+1)}return e.rebind(Me,Ae,"on")};var ha=[0,1/0],vr,ct;e.color=Kr;function Kr(){}Kr.prototype.toString=function(){return this.rgb()+""},e.hsl=lt;function lt(v,g,T){return this instanceof lt?(this.h=+v,this.s=+g,void(this.l=+T)):arguments.length<2?v instanceof lt?new lt(v.h,v.s,v.l):Xr(""+v,et,lt):new lt(v,g,T)}var da=lt.prototype=new Kr;da.brighter=function(v){return v=Math.pow(.7,arguments.length?v:1),new lt(this.h,this.s,this.l/v)},da.darker=function(v){return v=Math.pow(.7,arguments.length?v:1),new lt(this.h,this.s,v*this.l)},da.rgb=function(){return pa(this.h,this.s,this.l)};function pa(v,g,T){var q,C;v=isNaN(v)?0:(v%=360)<0?v+360:v,g=isNaN(g)||g<0?0:g>1?1:g,T=T<0?0:T>1?1:T,C=T<=.5?T*(1+g):T+g-T*g,q=2*T-C;function L(P){return P>360?P-=360:P<0&&(P+=360),P<60?q+(C-q)*P/60:P<180?C:P<240?q+(C-q)*(240-P)/60:q}function z(P){return Math.round(L(P)*255)}return new Ia(z(v+120),z(v),z(v-120))}e.hcl=nt;function nt(v,g,T){return this instanceof nt?(this.h=+v,this.c=+g,void(this.l=+T)):arguments.length<2?v instanceof nt?new nt(v.h,v.c,v.l):v instanceof ea?V0(v.l,v.a,v.b):V0((v=or((v=e.rgb(v)).r,v.g,v.b)).l,v.a,v.b):new nt(v,g,T)}var an=nt.prototype=new Kr;an.brighter=function(v){return new nt(this.h,this.c,Math.min(100,this.l+mt*(arguments.length?v:1)))},an.darker=function(v){return new nt(this.h,this.c,Math.max(0,this.l-mt*(arguments.length?v:1)))},an.rgb=function(){return ui(this.h,this.c,this.l).rgb()};function ui(v,g,T){return isNaN(v)&&(v=0),isNaN(g)&&(g=0),new ea(T,Math.cos(v*=Mr)*g,Math.sin(v)*g)}e.lab=ea;function ea(v,g,T){return this instanceof ea?(this.l=+v,this.a=+g,void(this.b=+T)):arguments.length<2?v instanceof ea?new ea(v.l,v.a,v.b):v instanceof nt?ui(v.h,v.c,v.l):or((v=Ia(v)).r,v.g,v.b):new ea(v,g,T)}var mt=18,Gt=.95047,Ka=1,Oo=1.08883,Il=ea.prototype=new Kr;Il.brighter=function(v){return new ea(Math.min(100,this.l+mt*(arguments.length?v:1)),this.a,this.b)},Il.darker=function(v){return new ea(Math.max(0,this.l-mt*(arguments.length?v:1)),this.a,this.b)},Il.rgb=function(){return Y0(this.l,this.a,this.b)};function Y0(v,g,T){var q=(v+16)/116,C=q+g/500,L=q-T/200;return C=vc(C)*Gt,q=vc(q)*Ka,L=vc(L)*Oo,new Ia(dc(3.2404542*C-1.5371385*q-.4985314*L),dc(-.969266*C+1.8760108*q+.041556*L),dc(.0556434*C-.2040259*q+1.0572252*L))}function V0(v,g,T){return v>0?new nt(Math.atan2(T,g)*Br,Math.sqrt(g*g+T*T),v):new nt(NaN,NaN,v)}function vc(v){return v>.206893034?v*v*v:(v-4/29)/7.787037}function hc(v){return v>.008856?Math.pow(v,1/3):7.787037*v+4/29}function dc(v){return Math.round(255*(v<=.00304?12.92*v:1.055*Math.pow(v,1/2.4)-.055))}e.rgb=Ia;function Ia(v,g,T){return this instanceof Ia?(this.r=~~v,this.g=~~g,void(this.b=~~T)):arguments.length<2?v instanceof Ia?new Ia(v.r,v.g,v.b):Xr(""+v,Ia,pa):new Ia(v,g,T)}function G0(v){return new Ia(v>>16,v>>8&255,v&255)}function du(v){return G0(v)+""}var pu=Ia.prototype=new Kr;pu.brighter=function(v){v=Math.pow(.7,arguments.length?v:1);var g=this.r,T=this.g,q=this.b,C=30;return!g&&!T&&!q?new Ia(C,C,C):(g&&g<C&&(g=C),T&&T<C&&(T=C),q&&q<C&&(q=C),new Ia(Math.min(255,g/v),Math.min(255,T/v),Math.min(255,q/v)))},pu.darker=function(v){return v=Math.pow(.7,arguments.length?v:1),new Ia(v*this.r,v*this.g,v*this.b)},pu.hsl=function(){return et(this.r,this.g,this.b)},pu.toString=function(){return"#"+yr(this.r)+yr(this.g)+yr(this.b)};function yr(v){return v<16?"0"+Math.max(0,v).toString(16):Math.min(255,v).toString(16)}function Xr(v,g,T){var q=0,C=0,L=0,z,P,F;if(z=/([a-z]+)\((.*)\)/.exec(v=v.toLowerCase()),z)switch(P=z[2].split(","),z[1]){case"hsl":return T(parseFloat(P[0]),parseFloat(P[1])/100,parseFloat(P[2])/100);case"rgb":return g(vt(P[0]),vt(P[1]),vt(P[2]))}return(F=wa.get(v))?g(F.r,F.g,F.b):(v!=null&&v.charAt(0)==="#"&&!isNaN(F=parseInt(v.slice(1),16))&&(v.length===4?(q=(F&3840)>>4,q=q>>4|q,C=F&240,C=C>>4|C,L=F&15,L=L<<4|L):v.length===7&&(q=(F&16711680)>>16,C=(F&65280)>>8,L=F&255)),g(q,C,L))}function et(v,g,T){var q=Math.min(v/=255,g/=255,T/=255),C=Math.max(v,g,T),L=C-q,z,P,F=(C+q)/2;return L?(P=F<.5?L/(C+q):L/(2-C-q),v==C?z=(g-T)/L+(g<T?6:0):g==C?z=(T-v)/L+2:z=(v-g)/L+4,z*=60):(z=NaN,P=F>0&&F<1?0:z),new lt(z,P,F)}function or(v,g,T){v=_a(v),g=_a(g),T=_a(T);var q=hc((.4124564*v+.3575761*g+.1804375*T)/Gt),C=hc((.2126729*v+.7151522*g+.072175*T)/Ka),L=hc((.0193339*v+.119192*g+.9503041*T)/Oo);return ea(116*C-16,500*(q-C),200*(C-L))}function _a(v){return(v/=255)<=.04045?v/12.92:Math.pow((v+.055)/1.055,2.4)}function vt(v){var g=parseFloat(v);return v.charAt(v.length-1)==="%"?Math.round(g*2.55):g}var wa=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});wa.forEach(function(v,g){wa.set(v,G0(g))});function Nr(v){return typeof v=="function"?v:function(){return v}}e.functor=Nr,e.xhr=fi(Y);function fi(v){return function(g,T,q){return arguments.length===2&&typeof T=="function"&&(q=T,T=null),Yo(g,T,v,q)}}function Yo(v,g,T,q){var C={},L=e.dispatch("beforesend","progress","load","error"),z={},P=new XMLHttpRequest,F=null;self.XDomainRequest&&!("withCredentials"in P)&&/^(http(s)?:)?\/\//.test(v)&&(P=new XDomainRequest),"onload"in P?P.onload=P.onerror=$:P.onreadystatechange=function(){P.readyState>3&&$()};function $(){var K=P.status,re;if(!K&&pU(P)||K>=200&&K<300||K===304){try{re=T.call(C,P)}catch(te){L.error.call(C,te);return}L.load.call(C,re)}else L.error.call(C,P)}return P.onprogress=function(K){var re=e.event;e.event=K;try{L.progress.call(C,P)}finally{e.event=re}},C.header=function(K,re){return K=(K+"").toLowerCase(),arguments.length<2?z[K]:(re==null?delete z[K]:z[K]=re+"",C)},C.mimeType=function(K){return arguments.length?(g=K==null?null:K+"",C):g},C.responseType=function(K){return arguments.length?(F=K,C):F},C.response=function(K){return T=K,C},["get","post"].forEach(function(K){C[K]=function(){return C.send.apply(C,[K].concat(t(arguments)))}}),C.send=function(K,re,te){if(arguments.length===2&&typeof re=="function"&&(te=re,re=null),P.open(K,v,!0),g!=null&&!("accept"in z)&&(z.accept=g+",*/*"),P.setRequestHeader)for(var ye in z)P.setRequestHeader(ye,z[ye]);return g!=null&&P.overrideMimeType&&P.overrideMimeType(g),F!=null&&(P.responseType=F),te!=null&&C.on("error",te).on("load",function(Ae){te(null,Ae)}),L.beforesend.call(C,P),P.send(re==null?null:re),C},C.abort=function(){return P.abort(),C},e.rebind(C,L,"on"),q==null?C:C.get(dU(q))}function dU(v){return v.length===1?function(g,T){v(g==null?T:null)}:v}function pU(v){var g=v.responseType;return g&&g!=="text"?v.response:v.responseText}e.dsv=function(v,g){var T=new RegExp('["'+v+` ]`),q=v.charCodeAt(0);function C($,K,re){arguments.length<3&&(re=K,K=null);var te=Yo($,g,K==null?L:z(K),re);return te.row=function(ye){return arguments.length?te.response((K=ye)==null?L:z(ye)):K},te}function L($){return C.parse($.responseText)}function z($){return function(K){return C.parse(K.responseText,$)}}C.parse=function($,K){var re;return C.parseRows($,function(te,ye){if(re)return re(te,ye-1);var Ae=function(ae){for(var ue={},he=te.length,Te=0;Te<he;++Te)ue[te[Te]]=ae[Te];return ue};re=K?function(ae,ue){return K(Ae(ae),ue)}:Ae})},C.parseRows=function($,K){var re={},te={},ye=[],Ae=$.length,ae=0,ue=0,he,Te;function Me(){if(ae>=Ae)return te;if(Te)return Te=!1,re;var Ye=ae;if($.charCodeAt(Ye)===34){for(var nr=Ye;nr++<Ae;)if($.charCodeAt(nr)===34){if($.charCodeAt(nr+1)!==34)break;++nr}ae=nr+2;var fr=$.charCodeAt(nr+1);return fr===13?(Te=!0,$.charCodeAt(nr+2)===10&&++ae):fr===10&&(Te=!0),$.slice(Ye+1,nr).replace(/""/g,'"')}for(;ae<Ae;){var fr=$.charCodeAt(ae++),lr=1;if(fr===10)Te=!0;else if(fr===13)Te=!0,$.charCodeAt(ae)===10&&(++ae,++lr);else if(fr!==q)continue;return $.slice(Ye,ae-lr)}return $.slice(Ye)}for(;(he=Me())!==te;){for(var pe=[];he!==re&&he!==te;)pe.push(he),he=Me();K&&(pe=K(pe,ue++))==null||ye.push(pe)}return ye},C.format=function($){if(Array.isArray($[0]))return C.formatRows($);var K=new I,re=[];return $.forEach(function(te){for(var ye in te)K.has(ye)||re.push(K.add(ye))}),[re.map(F).join(v)].concat($.map(function(te){return re.map(function(ye){return F(te[ye])}).join(v)})).join(` `)},C.formatRows=function($){return $.map(P).join(` `)};function P($){return $.map(F).join(v)}function F($){return T.test($)?'"'+$.replace(/\"/g,'""')+'"':$}return C},e.csv=e.dsv(",","text/csv"),e.tsv=e.dsv(" ","text/tab-separated-values");var U0,X0,W0,Z0,H_=this[V(this,"requestAnimationFrame")]||function(v){setTimeout(v,17)};e.timer=function(){J0.apply(this,arguments)};function J0(v,g,T){var q=arguments.length;q<2&&(g=0),q<3&&(T=Date.now());var C=T+g,L={c:v,t:C,n:null};return X0?X0.n=L:U0=L,X0=L,W0||(Z0=clearTimeout(Z0),W0=1,H_(ly)),L}function ly(){var v=B_(),g=O_()-v;g>24?(isFinite(g)&&(clearTimeout(Z0),Z0=setTimeout(ly,g)),W0=0):(W0=1,H_(ly))}e.timer.flush=function(){B_(),O_()};function B_(){for(var v=Date.now(),g=U0;g;)v>=g.t&&g.c(v-g.t)&&(g.c=null),g=g.n;return v}function O_(){for(var v,g=U0,T=1/0;g;)g.c?(g.t<T&&(T=g.t),g=(v=g).n):g=v?v.n=g.n:U0=g.n;return X0=v,T}e.round=function(v,g){return g?Math.round(v*(g=Math.pow(10,g)))/g:Math.round(v)},e.geom={};function mu(v){return v[0]}function pc(v){return v[1]}e.geom.hull=function(v){var g=mu,T=pc;if(arguments.length)return q(v);function q(C){if(C.length<3)return[];var L=Nr(g),z=Nr(T),P,F=C.length,$=[],K=[];for(P=0;P<F;P++)$.push([+L.call(this,C[P],P),+z.call(this,C[P],P),P]);for($.sort(mU),P=0;P<F;P++)K.push([$[P][0],-$[P][1]]);var re=Y_($),te=Y_(K),ye=te[0]===re[0],Ae=te[te.length-1]===re[re.length-1],ae=[];for(P=re.length-1;P>=0;--P)ae.push(C[$[re[P]][2]]);for(P=+ye;P<te.length-Ae;++P)ae.push(C[$[te[P]][2]]);return ae}return q.x=function(C){return arguments.length?(g=C,q):g},q.y=function(C){return arguments.length?(T=C,q):T},q};function Y_(v){for(var g=v.length,T=[0,1],q=2,C=2;C<g;C++){for(;q>1&&ft(v[T[q-2]],v[T[q-1]],v[C])<=0;)--q;T[q++]=C}return T.slice(0,q)}function mU(v,g){return v[0]-g[0]||v[1]-g[1]}e.geom.polygon=function(v){return ee(v,$0),v};var $0=e.geom.polygon.prototype=[];$0.area=function(){for(var v=-1,g=this.length,T,q=this[g-1],C=0;++v<g;)T=q,q=this[v],C+=T[1]*q[0]-T[0]*q[1];return C*.5},$0.centroid=function(v){var g=-1,T=this.length,q=0,C=0,L,z=this[T-1],P;for(arguments.length||(v=-1/(6*this.area()));++g<T;)L=z,z=this[g],P=L[0]*z[1]-z[0]*L[1],q+=(L[0]+z[0])*P,C+=(L[1]+z[1])*P;return[q*v,C*v]},$0.clip=function(v){for(var g,T=V_(v),q=-1,C=this.length-V_(this),L,z,P=this[C-1],F,$,K;++q<C;){for(g=v.slice(),v.length=0,F=this[q],$=g[(z=g.length-T)-1],L=-1;++L<z;)K=g[L],oy(K,P,F)?(oy($,P,F)||v.push(sy($,K,P,F)),v.push(K)):oy($,P,F)&&v.push(sy($,K,P,F)),$=K;T&&v.push(v[0]),P=F}return v};function oy(v,g,T){return(T[0]-g[0])*(v[1]-g[1])<(T[1]-g[1])*(v[0]-g[0])}function sy(v,g,T,q){var C=v[0],L=T[0],z=g[0]-C,P=q[0]-L,F=v[1],$=T[1],K=g[1]-F,re=q[1]-$,te=(P*(F-$)-re*(C-L))/(re*z-P*K);return[C+te*z,F+te*K]}function V_(v){var g=v[0],T=v[v.length-1];return!(g[0]-T[0]||g[1]-T[1])}var yu,Vo,gu,G_=[],uy,mc,U_=[];function yU(){j0(this),this.edge=this.site=this.circle=null}function X_(v){var g=G_.pop()||new yU;return g.site=v,g}function fy(v){bu(v),gu.remove(v),G_.push(v),j0(v)}function gU(v){var g=v.circle,T=g.x,q=g.cy,C={x:T,y:q},L=v.P,z=v.N,P=[v];fy(v);for(var F=L;F.circle&&b(T-F.circle.x)<se&&b(q-F.circle.cy)<se;)L=F.P,P.unshift(F),fy(F),F=L;P.unshift(F),bu(F);for(var $=z;$.circle&&b(T-$.circle.x)<se&&b(q-$.circle.cy)<se;)z=$.N,P.push($),fy($),$=z;P.push($),bu($);var K=P.length,re;for(re=1;re<K;++re)$=P[re],F=P[re-1],K0($.edge,F.site,$.site,C);F=P[0],$=P[K-1],$.edge=yc(F.site,$.site,null,C),xu(F),xu($)}function xU(v){for(var g=v.x,T=v.y,q,C,L,z,P=gu._;P;)if(L=W_(P,T)-g,L>se)P=P.L;else if(z=g-bU(P,T),z>se){if(!P.R){q=P;break}P=P.R}else{L>-se?(q=P.P,C=P):z>-se?(q=P,C=P.N):q=C=P;break}var F=X_(v);if(gu.insert(q,F),!(!q&&!C)){if(q===C){bu(q),C=X_(q.site),gu.insert(F,C),F.edge=C.edge=yc(q.site,F.site),xu(q),xu(C);return}if(!C){F.edge=yc(q.site,F.site);return}bu(q),bu(C);var $=q.site,K=$.x,re=$.y,te=v.x-K,ye=v.y-re,Ae=C.site,ae=Ae.x-K,ue=Ae.y-re,he=2*(te*ue-ye*ae),Te=te*te+ye*ye,Me=ae*ae+ue*ue,pe={x:(ue*Te-ye*Me)/he+K,y:(te*Me-ae*Te)/he+re};K0(C.edge,$,Ae,pe),F.edge=yc($,v,null,pe),C.edge=yc(v,Ae,null,pe),xu(q),xu(C)}}function W_(v,g){var T=v.site,q=T.x,C=T.y,L=C-g;if(!L)return q;var z=v.P;if(!z)return-1/0;T=z.site;var P=T.x,F=T.y,$=F-g;if(!$)return P;var K=P-q,re=1/L-1/$,te=K/$;return re?(-te+Math.sqrt(te*te-2*re*(K*K/(-2*$)-F+$/2+C-L/2)))/re+q:(q+P)/2}function bU(v,g){var T=v.N;if(T)return W_(T,g);var q=v.site;return q.y===g?q.x:1/0}function Z_(v){this.site=v,this.edges=[]}Z_.prototype.prepare=function(){for(var v=this.edges,g=v.length,T;g--;)T=v[g].edge,(!T.b||!T.a)&&v.splice(g,1);return v.sort(J_),v.length};function _U(v){for(var g=v[0][0],T=v[1][0],q=v[0][1],C=v[1][1],L,z,P,F,$=Vo,K=$.length,re,te,ye,Ae,ae,ue;K--;)if(re=$[K],!(!re||!re.prepare()))for(ye=re.edges,Ae=ye.length,te=0;te<Ae;)ue=ye[te].end(),P=ue.x,F=ue.y,ae=ye[++te%Ae].start(),L=ae.x,z=ae.y,(b(P-L)>se||b(F-z)>se)&&(ye.splice(te,0,new Q0(kU(re.site,ue,b(P-g)<se&&C-F>se?{x:g,y:b(L-g)<se?z:C}:b(F-C)<se&&T-P>se?{x:b(z-C)<se?L:T,y:C}:b(P-T)<se&&F-q>se?{x:T,y:b(L-T)<se?z:q}:b(F-q)<se&&P-g>se?{x:b(z-q)<se?L:g,y:q}:null),re.site,null)),++Ae)}function J_(v,g){return g.angle-v.angle}function wU(){j0(this),this.x=this.y=this.arc=this.site=this.cy=null}function xu(v){var g=v.P,T=v.N;if(!(!g||!T)){var q=g.site,C=v.site,L=T.site;if(q!==L){var z=C.x,P=C.y,F=q.x-z,$=q.y-P,K=L.x-z,ue=L.y-P,re=2*(F*ue-$*K);if(!(re>=-Le)){var te=F*F+$*$,ye=K*K+ue*ue,Ae=(ue*te-$*ye)/re,ae=(F*ye-K*te)/re,ue=ae+P,he=U_.pop()||new wU;he.arc=v,he.site=C,he.x=Ae+z,he.y=ue+Math.sqrt(Ae*Ae+ae*ae),he.cy=ue,v.circle=he;for(var Te=null,Me=mc._;Me;)if(he.y<Me.y||he.y===Me.y&&he.x<=Me.x)if(Me.L)Me=Me.L;else{Te=Me.P;break}else if(Me.R)Me=Me.R;else{Te=Me;break}mc.insert(Te,he),Te||(uy=he)}}}}function bu(v){var g=v.circle;g&&(g.P||(uy=g.N),mc.remove(g),U_.push(g),j0(g),v.circle=null)}function TU(v,g,T,q){return function(C){var L=C.a,z=C.b,P=L.x,F=L.y,$=z.x,K=z.y,re=0,te=1,ye=$-P,Ae=K-F,ae;if(ae=v-P,!(!ye&&ae>0)){if(ae/=ye,ye<0){if(ae<re)return;ae<te&&(te=ae)}else if(ye>0){if(ae>te)return;ae>re&&(re=ae)}if(ae=T-P,!(!ye&&ae<0)){if(ae/=ye,ye<0){if(ae>te)return;ae>re&&(re=ae)}else if(ye>0){if(ae<re)return;ae<te&&(te=ae)}if(ae=g-F,!(!Ae&&ae>0)){if(ae/=Ae,Ae<0){if(ae<re)return;ae<te&&(te=ae)}else if(Ae>0){if(ae>te)return;ae>re&&(re=ae)}if(ae=q-F,!(!Ae&&ae<0)){if(ae/=Ae,Ae<0){if(ae>te)return;ae>re&&(re=ae)}else if(Ae>0){if(ae<re)return;ae<te&&(te=ae)}return re>0&&(C.a={x:P+re*ye,y:F+re*Ae}),te<1&&(C.b={x:P+te*ye,y:F+te*Ae}),C}}}}}}function AU(v){for(var g=yu,T=TU(v[0][0],v[0][1],v[1][0],v[1][1]),q=g.length,C;q--;)C=g[q],(!MU(C,v)||!T(C)||b(C.a.x-C.b.x)<se&&b(C.a.y-C.b.y)<se)&&(C.a=C.b=null,g.splice(q,1))}function MU(v,g){var T=v.b;if(T)return!0;var q=v.a,C=g[0][0],L=g[1][0],z=g[0][1],P=g[1][1],F=v.l,$=v.r,K=F.x,re=F.y,te=$.x,ye=$.y,Ae=(K+te)/2,ae=(re+ye)/2,ue,he;if(ye===re){if(Ae<C||Ae>=L)return;if(K>te){if(!q)q={x:Ae,y:z};else if(q.y>=P)return;T={x:Ae,y:P}}else{if(!q)q={x:Ae,y:P};else if(q.y<z)return;T={x:Ae,y:z}}}else if(ue=(K-te)/(ye-re),he=ae-ue*Ae,ue<-1||ue>1)if(K>te){if(!q)q={x:(z-he)/ue,y:z};else if(q.y>=P)return;T={x:(P-he)/ue,y:P}}else{if(!q)q={x:(P-he)/ue,y:P};else if(q.y<z)return;T={x:(z-he)/ue,y:z}}else if(re<ye){if(!q)q={x:C,y:ue*C+he};else if(q.x>=L)return;T={x:L,y:ue*L+he}}else{if(!q)q={x:L,y:ue*L+he};else if(q.x<C)return;T={x:C,y:ue*C+he}}return v.a=q,v.b=T,!0}function $_(v,g){this.l=v,this.r=g,this.a=this.b=null}function yc(v,g,T,q){var C=new $_(v,g);return yu.push(C),T&&K0(C,v,g,T),q&&K0(C,g,v,q),Vo[v.i].edges.push(new Q0(C,v,g)),Vo[g.i].edges.push(new Q0(C,g,v)),C}function kU(v,g,T){var q=new $_(v,null);return q.a=g,q.b=T,yu.push(q),q}function K0(v,g,T,q){!v.a&&!v.b?(v.a=q,v.l=g,v.r=T):v.l===T?v.b=q:v.a=q}function Q0(v,g,T){var q=v.a,C=v.b;this.edge=v,this.site=g,this.angle=T?Math.atan2(T.y-g.y,T.x-g.x):v.l===g?Math.atan2(C.x-q.x,q.y-C.y):Math.atan2(q.x-C.x,C.y-q.y)}Q0.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 cy(){this._=null}function j0(v){v.U=v.C=v.L=v.R=v.P=v.N=null}cy.prototype={insert:function(v,g){var T,q,C;if(v){if(g.P=v,g.N=v.N,v.N&&(v.N.P=g),v.N=g,v.R){for(v=v.R;v.L;)v=v.L;v.L=g}else v.R=g;T=v}else this._?(v=K_(this._),g.P=null,g.N=v,v.P=v.L=g,T=v):(g.P=g.N=null,this._=g,T=null);for(g.L=g.R=null,g.U=T,g.C=!0,v=g;T&&T.C;)q=T.U,T===q.L?(C=q.R,C&&C.C?(T.C=C.C=!1,q.C=!0,v=q):(v===T.R&&(gc(this,T),v=T,T=v.U),T.C=!1,q.C=!0,xc(this,q))):(C=q.L,C&&C.C?(T.C=C.C=!1,q.C=!0,v=q):(v===T.L&&(xc(this,T),v=T,T=v.U),T.C=!1,q.C=!0,gc(this,q))),T=v.U;this._.C=!1},remove:function(v){v.N&&(v.N.P=v.P),v.P&&(v.P.N=v.N),v.N=v.P=null;var g=v.U,T,q=v.L,C=v.R,L,z;if(q?C?L=K_(C):L=q:L=C,g?g.L===v?g.L=L:g.R=L:this._=L,q&&C?(z=L.C,L.C=v.C,L.L=q,q.U=L,L!==C?(g=L.U,L.U=v.U,v=L.R,g.L=v,L.R=C,C.U=L):(L.U=g,g=L,v=L.R)):(z=v.C,v=L),v&&(v.U=g),!z){if(v&&v.C){v.C=!1;return}do{if(v===this._)break;if(v===g.L){if(T=g.R,T.C&&(T.C=!1,g.C=!0,gc(this,g),T=g.R),T.L&&T.L.C||T.R&&T