UNPKG

plotly.js

Version:

The open source javascript graphing library that powers plotly

18 lines 1.95 MB
/** * plotly.js (mapbox - 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 dj=Object.defineProperty,pj=Object.defineProperties;var mj=Object.getOwnPropertyDescriptors;var M7=Object.getOwnPropertySymbols;var yj=Object.prototype.hasOwnProperty,gj=Object.prototype.propertyIsEnumerable;var S7=(e,t,r)=>t in e?dj(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,sd=(e,t)=>{for(var r in t||(t={}))yj.call(t,r)&&S7(e,r,t[r]);if(M7)for(var r of M7(t))gj.call(t,r)&&S7(e,r,t[r]);return e},t_=(e,t)=>pj(e,mj(t));var pe=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var r_=pe(k7=>{"use strict";k7.version="3.6.0"});var E7=pe((C7,a_)=>{(function(t,r,i){r[t]=r[t]||i(),typeof a_!="undefined"&&a_.exports&&(a_.exports=r[t])})("Promise",typeof window!="undefined"?window:C7,function(){"use strict";var t,r,i,a=Object.prototype.toString,s=typeof setImmediate!="undefined"?function(O){return setImmediate(O)}:setTimeout;try{Object.defineProperty({},"x",{}),t=function(O,q,z,N){return Object.defineProperty(O,q,{value:z,writable:!0,configurable:N!==!1})}}catch(I){t=function(q,z,N){return q[z]=N,q}}i=function(){var O,q,z;function N(H,U){this.fn=H,this.self=U,this.next=void 0}return{add:function(U,W){z=new N(U,W),q?q.next=z:O=z,q=z,z=void 0},drain:function(){var U=O;for(O=q=r=void 0;U;)U.fn.call(U.self),U=U.next}}}();function l(I,O){i.add(I,O),r||(r=s(i.drain))}function u(I){var O,q=typeof I;return I!=null&&(q=="object"||q=="function")&&(O=I.then),typeof O=="function"?O:!1}function h(){for(var I=0;I<this.chain.length;I++)v(this,this.state===1?this.chain[I].success:this.chain[I].failure,this.chain[I]);this.chain.length=0}function v(I,O,q){var z,N;try{O===!1?q.reject(I.msg):(O===!0?z=I.msg:z=O.call(void 0,I.msg),z===q.promise?q.reject(TypeError("Promise-chain cycle")):(N=u(z))?N.call(z,q.resolve,q.reject):q.resolve(z))}catch(H){q.reject(H)}}function m(I){var O,q=this;if(!q.triggered){q.triggered=!0,q.def&&(q=q.def);try{(O=u(I))?l(function(){var z=new M(q);try{O.call(I,function(){m.apply(z,arguments)},function(){_.apply(z,arguments)})}catch(N){_.call(z,N)}}):(q.msg=I,q.state=1,q.chain.length>0&&l(h,q))}catch(z){_.call(new M(q),z)}}}function _(I){var O=this;O.triggered||(O.triggered=!0,O.def&&(O=O.def),O.msg=I,O.state=2,O.chain.length>0&&l(h,O))}function T(I,O,q,z){for(var N=0;N<O.length;N++)(function(U){I.resolve(O[U]).then(function(J){q(U,J)},z)})(N)}function M(I){this.def=I,this.triggered=!1}function C(I){this.promise=I,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function E(I){if(typeof I!="function")throw TypeError("Not a function");if(this.__NPO__!==0)throw TypeError("Not a promise");this.__NPO__=1;var O=new C(this);this.then=function(z,N){var H={success:typeof z=="function"?z:!0,failure:typeof N=="function"?N:!1};return H.promise=new this.constructor(function(W,J){if(typeof W!="function"||typeof J!="function")throw TypeError("Not a function");H.resolve=W,H.reject=J}),O.chain.push(H),O.state!==0&&l(h,O),H.promise},this.catch=function(z){return this.then(void 0,z)};try{I.call(void 0,function(z){m.call(O,z)},function(z){_.call(O,z)})}catch(q){_.call(O,q)}}var L=t({},"constructor",E,!1);return E.prototype=L,t(L,"__NPO__",0,!1),t(E,"resolve",function(O){var q=this;return O&&typeof O=="object"&&O.__NPO__===1?O:new q(function(N,H){if(typeof N!="function"||typeof H!="function")throw TypeError("Not a function");N(O)})}),t(E,"reject",function(O){return new this(function(z,N){if(typeof z!="function"||typeof N!="function")throw TypeError("Not a function");N(O)})}),t(E,"all",function(O){var q=this;return a.call(O)!="[object Array]"?q.reject(TypeError("Not an array")):O.length===0?q.resolve([]):new q(function(N,H){if(typeof N!="function"||typeof H!="function")throw TypeError("Not a function");var U=O.length,W=Array(U),J=0;T(q,O,function(ie,oe){W[ie]=oe,++J===U&&N(W)},H)})}),t(E,"race",function(O){var q=this;return a.call(O)!="[object Array]"?q.reject(TypeError("Not an array")):new q(function(N,H){if(typeof N!="function"||typeof H!="function")throw TypeError("Not a function");T(q,O,function(W,J){N(J)},H)})}),E})});var Xa=pe((iye,i_)=>{(function(){var e={version:"3.8.2"},t=[].slice,r=function(y){return t.call(y)},i=self.document;function a(y){return y&&(y.ownerDocument||y.document||y).documentElement}function s(y){return y&&(y.ownerDocument&&y.ownerDocument.defaultView||y.document&&y||y.defaultView)}if(i)try{r(i.documentElement.childNodes)[0].nodeType}catch(y){r=function(S){for(var P=S.length,B=new Array(P);P--;)B[P]=S[P];return B}}if(Date.now||(Date.now=function(){return+new Date}),i)try{i.createElement("DIV").style.setProperty("opacity",0,"")}catch(y){var l=this.Element.prototype,u=l.setAttribute,h=l.setAttributeNS,v=this.CSSStyleDeclaration.prototype,m=v.setProperty;l.setAttribute=function(S,P){u.call(this,S,P+"")},l.setAttributeNS=function(S,P,B){h.call(this,S,P,B+"")},v.setProperty=function(S,P,B){m.call(this,S,P+"",B)}}e.ascending=_;function _(y,S){return y<S?-1:y>S?1:y>=S?0:NaN}e.descending=function(y,S){return S<y?-1:S>y?1:S>=y?0:NaN},e.min=function(y,S){var P=-1,B=y.length,V,Z;if(arguments.length===1){for(;++P<B;)if((Z=y[P])!=null&&Z>=Z){V=Z;break}for(;++P<B;)(Z=y[P])!=null&&V>Z&&(V=Z)}else{for(;++P<B;)if((Z=S.call(y,y[P],P))!=null&&Z>=Z){V=Z;break}for(;++P<B;)(Z=S.call(y,y[P],P))!=null&&V>Z&&(V=Z)}return V},e.max=function(y,S){var P=-1,B=y.length,V,Z;if(arguments.length===1){for(;++P<B;)if((Z=y[P])!=null&&Z>=Z){V=Z;break}for(;++P<B;)(Z=y[P])!=null&&Z>V&&(V=Z)}else{for(;++P<B;)if((Z=S.call(y,y[P],P))!=null&&Z>=Z){V=Z;break}for(;++P<B;)(Z=S.call(y,y[P],P))!=null&&Z>V&&(V=Z)}return V},e.extent=function(y,S){var P=-1,B=y.length,V,Z,$;if(arguments.length===1){for(;++P<B;)if((Z=y[P])!=null&&Z>=Z){V=$=Z;break}for(;++P<B;)(Z=y[P])!=null&&(V>Z&&(V=Z),$<Z&&($=Z))}else{for(;++P<B;)if((Z=S.call(y,y[P],P))!=null&&Z>=Z){V=$=Z;break}for(;++P<B;)(Z=S.call(y,y[P],P))!=null&&(V>Z&&(V=Z),$<Z&&($=Z))}return[V,$]};function T(y){return y===null?NaN:+y}function M(y){return!isNaN(y)}e.sum=function(y,S){var P=0,B=y.length,V,Z=-1;if(arguments.length===1)for(;++Z<B;)M(V=+y[Z])&&(P+=V);else for(;++Z<B;)M(V=+S.call(y,y[Z],Z))&&(P+=V);return P},e.mean=function(y,S){var P=0,B=y.length,V,Z=-1,$=B;if(arguments.length===1)for(;++Z<B;)M(V=T(y[Z]))?P+=V:--$;else for(;++Z<B;)M(V=T(S.call(y,y[Z],Z)))?P+=V:--$;if($)return P/$},e.quantile=function(y,S){var P=(y.length-1)*S+1,B=Math.floor(P),V=+y[B-1],Z=P-B;return Z?V+Z*(y[B]-V):V},e.median=function(y,S){var P=[],B=y.length,V,Z=-1;if(arguments.length===1)for(;++Z<B;)M(V=T(y[Z]))&&P.push(V);else for(;++Z<B;)M(V=T(S.call(y,y[Z],Z)))&&P.push(V);if(P.length)return e.quantile(P.sort(_),.5)},e.variance=function(y,S){var P=y.length,B=0,V,Z,$=0,X=-1,ae=0;if(arguments.length===1)for(;++X<P;)M(V=T(y[X]))&&(Z=V-B,B+=Z/++ae,$+=Z*(V-B));else for(;++X<P;)M(V=T(S.call(y,y[X],X)))&&(Z=V-B,B+=Z/++ae,$+=Z*(V-B));if(ae>1)return $/(ae-1)},e.deviation=function(){var y=e.variance.apply(this,arguments);return y&&Math.sqrt(y)};function C(y){return{left:function(S,P,B,V){for(arguments.length<3&&(B=0),arguments.length<4&&(V=S.length);B<V;){var Z=B+V>>>1;y(S[Z],P)<0?B=Z+1:V=Z}return B},right:function(S,P,B,V){for(arguments.length<3&&(B=0),arguments.length<4&&(V=S.length);B<V;){var Z=B+V>>>1;y(S[Z],P)>0?V=Z:B=Z+1}return B}}}var E=C(_);e.bisectLeft=E.left,e.bisect=e.bisectRight=E.right,e.bisector=function(y){return C(y.length===1?function(S,P){return _(y(S),P)}:y)},e.shuffle=function(y,S,P){(B=arguments.length)<3&&(P=y.length,B<2&&(S=0));for(var B=P-S,V,Z;B;)Z=Math.random()*B--|0,V=y[B+S],y[B+S]=y[Z+S],y[Z+S]=V;return y},e.permute=function(y,S){for(var P=S.length,B=new Array(P);P--;)B[P]=y[S[P]];return B},e.pairs=function(y){for(var S=0,P=y.length-1,B,V=y[0],Z=new Array(P<0?0:P);S<P;)Z[S]=[B=V,V=y[++S]];return Z},e.transpose=function(y){if(!(Z=y.length))return[];for(var S=-1,P=e.min(y,L),B=new Array(P);++S<P;)for(var V=-1,Z,$=B[S]=new Array(Z);++V<Z;)$[V]=y[V][S];return B};function L(y){return y.length}e.zip=function(){return e.transpose(arguments)},e.keys=function(y){var S=[];for(var P in y)S.push(P);return S},e.values=function(y){var S=[];for(var P in y)S.push(y[P]);return S},e.entries=function(y){var S=[];for(var P in y)S.push({key:P,value:y[P]});return S},e.merge=function(y){for(var S=y.length,P,B=-1,V=0,Z,$;++B<S;)V+=y[B].length;for(Z=new Array(V);--S>=0;)for($=y[S],P=$.length;--P>=0;)Z[--V]=$[P];return Z};var I=Math.abs;e.range=function(y,S,P){if(arguments.length<3&&(P=1,arguments.length<2&&(S=y,y=0)),(S-y)/P===1/0)throw new Error("infinite range");var B=[],V=O(I(P)),Z=-1,$;if(y*=V,S*=V,P*=V,P<0)for(;($=y+P*++Z)>S;)B.push($/V);else for(;($=y+P*++Z)<S;)B.push($/V);return B};function O(y){for(var S=1;y*S%1;)S*=10;return S}function q(y,S){for(var P in S)Object.defineProperty(y.prototype,P,{value:S[P],enumerable:!1})}e.map=function(y,S){var P=new z;if(y instanceof z)y.forEach(function(X,ae){P.set(X,ae)});else if(Array.isArray(y)){var B=-1,V=y.length,Z;if(arguments.length===1)for(;++B<V;)P.set(B,y[B]);else for(;++B<V;)P.set(S.call(y,Z=y[B],B),Z)}else for(var $ in y)P.set($,y[$]);return P};function z(){this._=Object.create(null)}var N="__proto__",H="\0";q(z,{has:J,get:function(y){return this._[U(y)]},set:function(y,S){return this._[U(y)]=S},remove:ee,keys:ie,values:function(){var y=[];for(var S in this._)y.push(this._[S]);return y},entries:function(){var y=[];for(var S in this._)y.push({key:W(S),value:this._[S]});return y},size:oe,empty:he,forEach:function(y){for(var S in this._)y.call(this,W(S),this._[S])}});function U(y){return(y+="")===N||y[0]===H?H+y:y}function W(y){return(y+="")[0]===H?y.slice(1):y}function J(y){return U(y)in this._}function ee(y){return(y=U(y))in this._&&delete this._[y]}function ie(){var y=[];for(var S in this._)y.push(W(S));return y}function oe(){var y=0;for(var S in this._)++y;return y}function he(){for(var y in this._)return!1;return!0}e.nest=function(){var y={},S=[],P=[],B,V;function Z(X,ae,ge){if(ge>=S.length)return V?V.call(y,ae):B?ae.sort(B):ae;for(var xe=-1,ze=ae.length,Pe=S[ge++],$e,st,Ie,He=new z,Qe;++xe<ze;)(Qe=He.get($e=Pe(st=ae[xe])))?Qe.push(st):He.set($e,[st]);return X?(st=X(),Ie=function(ht,ot){st.set(ht,Z(X,ot,ge))}):(st={},Ie=function(ht,ot){st[ht]=Z(X,ot,ge)}),He.forEach(Ie),st}function $(X,ae){if(ae>=S.length)return X;var ge=[],xe=P[ae++];return X.forEach(function(ze,Pe){ge.push({key:ze,values:$(Pe,ae)})}),xe?ge.sort(function(ze,Pe){return xe(ze.key,Pe.key)}):ge}return y.map=function(X,ae){return Z(ae,X,0)},y.entries=function(X){return $(Z(e.map,X,0),0)},y.key=function(X){return S.push(X),y},y.sortKeys=function(X){return P[S.length-1]=X,y},y.sortValues=function(X){return B=X,y},y.rollup=function(X){return V=X,y},y},e.set=function(y){var S=new fe;if(y)for(var P=0,B=y.length;P<B;++P)S.add(y[P]);return S};function fe(){this._=Object.create(null)}q(fe,{has:J,add:function(y){return this._[U(y+="")]=!0,y},remove:ee,values:ie,size:oe,empty:he,forEach:function(y){for(var S in this._)y.call(this,W(S))}}),e.behavior={};function Te(y){return y}e.rebind=function(y,S){for(var P=1,B=arguments.length,V;++P<B;)y[V=arguments[P]]=ke(y,S,S[V]);return y};function ke(y,S,P){return function(){var B=P.apply(S,arguments);return B===S?y:B}}function Se(y,S){if(S in y)return S;S=S.charAt(0).toUpperCase()+S.slice(1);for(var P=0,B=Ae.length;P<B;++P){var V=Ae[P]+S;if(V in y)return V}}var Ae=["webkit","ms","moz","Moz","o","O"];function me(){}e.dispatch=function(){for(var y=new Ce,S=-1,P=arguments.length;++S<P;)y[arguments[S]]=Me(y);return y};function Ce(){}Ce.prototype.on=function(y,S){var P=y.indexOf("."),B="";if(P>=0&&(B=y.slice(P+1),y=y.slice(0,P)),y)return arguments.length<2?this[y].on(B):this[y].on(B,S);if(arguments.length===2){if(S==null)for(y in this)this.hasOwnProperty(y)&&this[y].on(B,null);return this}};function Me(y){var S=[],P=new z;function B(){for(var V=S,Z=-1,$=V.length,X;++Z<$;)(X=V[Z].on)&&X.apply(this,arguments);return y}return B.on=function(V,Z){var $=P.get(V),X;return arguments.length<2?$&&$.on:($&&($.on=null,S=S.slice(0,X=S.indexOf($)).concat(S.slice(X+1)),P.remove(V)),Z&&S.push(P.set(V,{on:Z})),y)},B}e.event=null;function We(){e.event.preventDefault()}function it(){for(var y=e.event,S;S=y.sourceEvent;)y=S;return y}function nt(y){for(var S=new Ce,P=0,B=arguments.length;++P<B;)S[arguments[P]]=Me(S);return S.of=function(V,Z){return function($){try{var X=$.sourceEvent=e.event;$.target=y,e.event=$,S[$.type].apply(V,Z)}finally{e.event=X}}},S}e.requote=function(y){return y.replace(gt,"\\$&")};var gt=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,Xe={}.__proto__?function(y,S){y.__proto__=S}:function(y,S){for(var P in S)y[P]=S[P]};function kt(y){return Xe(y,ft),y}var lt=function(y,S){return S.querySelector(y)},mt=function(y,S){return S.querySelectorAll(y)},Bt=function(y,S){var P=y.matches||y[Se(y,"matchesSelector")];return Bt=function(B,V){return P.call(B,V)},Bt(y,S)};typeof Sizzle=="function"&&(lt=function(y,S){return Sizzle(y,S)[0]||null},mt=Sizzle,Bt=Sizzle.matchesSelector),e.selection=function(){return e.select(i.documentElement)};var ft=e.selection.prototype=[];ft.select=function(y){var S=[],P,B,V,Z;y=de(y);for(var $=-1,X=this.length;++$<X;){S.push(P=[]),P.parentNode=(V=this[$]).parentNode;for(var ae=-1,ge=V.length;++ae<ge;)(Z=V[ae])?(P.push(B=y.call(Z,Z.__data__,ae,$)),B&&"__data__"in Z&&(B.__data__=Z.__data__)):P.push(null)}return kt(S)};function de(y){return typeof y=="function"?y:function(){return lt(y,this)}}ft.selectAll=function(y){var S=[],P,B;y=De(y);for(var V=-1,Z=this.length;++V<Z;)for(var $=this[V],X=-1,ae=$.length;++X<ae;)(B=$[X])&&(S.push(P=r(y.call(B,B.__data__,X,V))),P.parentNode=B);return kt(S)};function De(y){return typeof y=="function"?y:function(){return mt(y,this)}}var ye="http://www.w3.org/1999/xhtml",Oe={svg:"http://www.w3.org/2000/svg",xhtml:ye,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(y){var S=y.indexOf(":"),P=y;return S>=0&&(P=y.slice(0,S))!=="xmlns"&&(y=y.slice(S+1)),Oe.hasOwnProperty(P)?{space:Oe[P],local:y}:y}},ft.attr=function(y,S){if(arguments.length<2){if(typeof y=="string"){var P=this.node();return y=e.ns.qualify(y),y.local?P.getAttributeNS(y.space,y.local):P.getAttribute(y)}for(S in y)this.each(at(S,y[S]));return this}return this.each(at(y,S))};function at(y,S){y=e.ns.qualify(y);function P(){this.removeAttribute(y)}function B(){this.removeAttributeNS(y.space,y.local)}function V(){this.setAttribute(y,S)}function Z(){this.setAttributeNS(y.space,y.local,S)}function $(){var ae=S.apply(this,arguments);ae==null?this.removeAttribute(y):this.setAttribute(y,ae)}function X(){var ae=S.apply(this,arguments);ae==null?this.removeAttributeNS(y.space,y.local):this.setAttributeNS(y.space,y.local,ae)}return S==null?y.local?B:P:typeof S=="function"?y.local?X:$:y.local?Z:V}function Je(y){return y.trim().replace(/\s+/g," ")}ft.classed=function(y,S){if(arguments.length<2){if(typeof y=="string"){var P=this.node(),B=(y=xt(y)).length,V=-1;if(S=P.classList){for(;++V<B;)if(!S.contains(y[V]))return!1}else for(S=P.getAttribute("class");++V<B;)if(!Pt(y[V]).test(S))return!1;return!0}for(S in y)this.each(bt(S,y[S]));return this}return this.each(bt(y,S))};function Pt(y){return new RegExp("(?:^|\\s+)"+e.requote(y)+"(?:\\s+|$)","g")}function xt(y){return(y+"").trim().split(/^|\s+/)}function bt(y,S){y=xt(y).map(Vt);var P=y.length;function B(){for(var Z=-1;++Z<P;)y[Z](this,S)}function V(){for(var Z=-1,$=S.apply(this,arguments);++Z<P;)y[Z](this,$)}return typeof S=="function"?V:B}function Vt(y){var S=Pt(y);return function(P,B){if(V=P.classList)return B?V.add(y):V.remove(y);var V=P.getAttribute("class")||"";B?(S.lastIndex=0,S.test(V)||P.setAttribute("class",Je(V+" "+y))):P.setAttribute("class",Je(V.replace(S," ")))}}ft.style=function(y,S,P){var B=arguments.length;if(B<3){if(typeof y!="string"){B<2&&(S="");for(P in y)this.each(qt(P,y[P],S));return this}if(B<2){var V=this.node();return s(V).getComputedStyle(V,null).getPropertyValue(y)}P=""}return this.each(qt(y,S,P))};function qt(y,S,P){function B(){this.style.removeProperty(y)}function V(){this.style.setProperty(y,S,P)}function Z(){var $=S.apply(this,arguments);$==null?this.style.removeProperty(y):this.style.setProperty(y,$,P)}return S==null?B:typeof S=="function"?Z:V}ft.property=function(y,S){if(arguments.length<2){if(typeof y=="string")return this.node()[y];for(S in y)this.each(Dt(S,y[S]));return this}return this.each(Dt(y,S))};function Dt(y,S){function P(){delete this[y]}function B(){this[y]=S}function V(){var Z=S.apply(this,arguments);Z==null?delete this[y]:this[y]=Z}return S==null?P:typeof S=="function"?V:B}ft.text=function(y){return arguments.length?this.each(typeof y=="function"?function(){var S=y.apply(this,arguments);this.textContent=S==null?"":S}:y==null?function(){this.textContent=""}:function(){this.textContent=y}):this.node().textContent},ft.html=function(y){return arguments.length?this.each(typeof y=="function"?function(){var S=y.apply(this,arguments);this.innerHTML=S==null?"":S}:y==null?function(){this.innerHTML=""}:function(){this.innerHTML=y}):this.node().innerHTML},ft.append=function(y){return y=At(y),this.select(function(){return this.appendChild(y.apply(this,arguments))})};function At(y){function S(){var B=this.ownerDocument,V=this.namespaceURI;return V===ye&&B.documentElement.namespaceURI===ye?B.createElement(y):B.createElementNS(V,y)}function P(){return this.ownerDocument.createElementNS(y.space,y.local)}return typeof y=="function"?y:(y=e.ns.qualify(y)).local?P:S}ft.insert=function(y,S){return y=At(y),S=de(S),this.select(function(){return this.insertBefore(y.apply(this,arguments),S.apply(this,arguments)||null)})},ft.remove=function(){return this.each(Ut)};function Ut(){var y=this.parentNode;y&&y.removeChild(this)}ft.data=function(y,S){var P=-1,B=this.length,V,Z;if(!arguments.length){for(y=new Array(B=(V=this[0]).length);++P<B;)(Z=V[P])&&(y[P]=Z.__data__);return y}function $(xe,ze){var Pe,$e=xe.length,st=ze.length,Ie=Math.min($e,st),He=new Array(st),Qe=new Array(st),ht=new Array($e),ot,je;if(S){var Zt=new z,or=new Array($e),cr;for(Pe=-1;++Pe<$e;)(ot=xe[Pe])&&(Zt.has(cr=S.call(ot,ot.__data__,Pe))?ht[Pe]=ot:Zt.set(cr,ot),or[Pe]=cr);for(Pe=-1;++Pe<st;)(ot=Zt.get(cr=S.call(ze,je=ze[Pe],Pe)))?ot!==!0&&(He[Pe]=ot,ot.__data__=je):Qe[Pe]=Wt(je),Zt.set(cr,!0);for(Pe=-1;++Pe<$e;)Pe in or&&Zt.get(or[Pe])!==!0&&(ht[Pe]=xe[Pe])}else{for(Pe=-1;++Pe<Ie;)ot=xe[Pe],je=ze[Pe],ot?(ot.__data__=je,He[Pe]=ot):Qe[Pe]=Wt(je);for(;Pe<st;++Pe)Qe[Pe]=Wt(ze[Pe]);for(;Pe<$e;++Pe)ht[Pe]=xe[Pe]}Qe.update=He,Qe.parentNode=He.parentNode=ht.parentNode=xe.parentNode,X.push(Qe),ae.push(He),ge.push(ht)}var X=Pr([]),ae=kt([]),ge=kt([]);if(typeof y=="function")for(;++P<B;)$(V=this[P],y.call(V,V.parentNode.__data__,P));else for(;++P<B;)$(V=this[P],y);return ae.enter=function(){return X},ae.exit=function(){return ge},ae};function Wt(y){return{__data__:y}}ft.datum=function(y){return arguments.length?this.property("__data__",y):this.property("__data__")},ft.filter=function(y){var S=[],P,B,V;typeof y!="function"&&(y=Be(y));for(var Z=0,$=this.length;Z<$;Z++){S.push(P=[]),P.parentNode=(B=this[Z]).parentNode;for(var X=0,ae=B.length;X<ae;X++)(V=B[X])&&y.call(V,V.__data__,X,Z)&&P.push(V)}return kt(S)};function Be(y){return function(){return Bt(this,y)}}ft.order=function(){for(var y=-1,S=this.length;++y<S;)for(var P=this[y],B=P.length-1,V=P[B],Z;--B>=0;)(Z=P[B])&&(V&&V!==Z.nextSibling&&V.parentNode.insertBefore(Z,V),V=Z);return this},ft.sort=function(y){y=ut.apply(this,arguments);for(var S=-1,P=this.length;++S<P;)this[S].sort(y);return this.order()};function ut(y){return arguments.length||(y=_),function(S,P){return S&&P?y(S.__data__,P.__data__):!S-!P}}ft.each=function(y){return sr(this,function(S,P,B){y.call(S,S.__data__,P,B)})};function sr(y,S){for(var P=0,B=y.length;P<B;P++)for(var V=y[P],Z=0,$=V.length,X;Z<$;Z++)(X=V[Z])&&S(X,Z,P);return y}ft.call=function(y){var S=r(arguments);return y.apply(S[0]=this,S),this},ft.empty=function(){return!this.node()},ft.node=function(){for(var y=0,S=this.length;y<S;y++)for(var P=this[y],B=0,V=P.length;B<V;B++){var Z=P[B];if(Z)return Z}return null},ft.size=function(){var y=0;return sr(this,function(){++y}),y};function Pr(y){return Xe(y,Lt),y}var Lt=[];e.selection.enter=Pr,e.selection.enter.prototype=Lt,Lt.append=ft.append,Lt.empty=ft.empty,Lt.node=ft.node,Lt.call=ft.call,Lt.size=ft.size,Lt.select=function(y){for(var S=[],P,B,V,Z,$,X=-1,ae=this.length;++X<ae;){V=(Z=this[X]).update,S.push(P=[]),P.parentNode=Z.parentNode;for(var ge=-1,xe=Z.length;++ge<xe;)($=Z[ge])?(P.push(V[ge]=B=y.call(Z.parentNode,$.__data__,ge,X)),B.__data__=$.__data__):P.push(null)}return kt(S)},Lt.insert=function(y,S){return arguments.length<2&&(S=vt(this)),ft.insert.call(this,y,S)};function vt(y){var S,P;return function(B,V,Z){var $=y[Z].update,X=$.length,ae;for(Z!=P&&(P=Z,S=0),V>=S&&(S=V+1);!(ae=$[S])&&++S<X;);return ae}}e.select=function(y){var S;return typeof y=="string"?(S=[lt(y,i)],S.parentNode=i.documentElement):(S=[y],S.parentNode=a(y)),kt([S])},e.selectAll=function(y){var S;return typeof y=="string"?(S=r(mt(y,i)),S.parentNode=i.documentElement):(S=r(y),S.parentNode=null),kt([S])},ft.on=function(y,S,P){var B=arguments.length;if(B<3){if(typeof y!="string"){B<2&&(S=!1);for(P in y)this.each(pt(P,y[P],S));return this}if(B<2)return(B=this.node()["__on"+y])&&B._;P=!1}return this.each(pt(y,S,P))};function pt(y,S,P){var B="__on"+y,V=y.indexOf("."),Z=er;V>0&&(y=y.slice(0,V));var $=Nt.get(y);$&&(y=$,Z=Ht);function X(){var xe=this[B];xe&&(this.removeEventListener(y,xe,xe.$),delete this[B])}function ae(){var xe=Z(S,r(arguments));X.call(this),this.addEventListener(y,this[B]=xe,xe.$=P),xe._=S}function ge(){var xe=new RegExp("^__on([^.]+)"+e.requote(y)+"$"),ze;for(var Pe in this)if(ze=Pe.match(xe)){var $e=this[Pe];this.removeEventListener(ze[1],$e,$e.$),delete this[Pe]}}return V?S?ae:X:S?me:ge}var Nt=e.map({mouseenter:"mouseover",mouseleave:"mouseout"});i&&Nt.forEach(function(y){"on"+y in i&&Nt.remove(y)});function er(y,S){return function(P){var B=e.event;e.event=P,S[0]=this.__data__;try{y.apply(this,S)}finally{e.event=B}}}function Ht(y,S){var P=er(y,S);return function(B){var V=this,Z=B.relatedTarget;(!Z||Z!==V&&!(Z.compareDocumentPosition(V)&8))&&P.call(V,B)}}var Gt,hr=0;function yr(y){var S=".dragsuppress-"+ ++hr,P="click"+S,B=e.select(s(y)).on("touchmove"+S,We).on("dragstart"+S,We).on("selectstart"+S,We);if(Gt==null&&(Gt="onselectstart"in y?!1:Se(y.style,"userSelect")),Gt){var V=a(y).style,Z=V[Gt];V[Gt]="none"}return function($){if(B.on(S,null),Gt&&(V[Gt]=Z),$){var X=function(){B.on(P,null)};B.on(P,function(){We(),X()},!0),setTimeout(X,0)}}}e.mouse=function(y){return Ct(y,it())};var mr=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function Ct(y,S){S.changedTouches&&(S=S.changedTouches[0]);var P=y.ownerSVGElement||y;if(P.createSVGPoint){var B=P.createSVGPoint();if(mr<0){var V=s(y);if(V.scrollX||V.scrollY){P=e.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var Z=P[0][0].getScreenCTM();mr=!(Z.f||Z.e),P.remove()}}return mr?(B.x=S.pageX,B.y=S.pageY):(B.x=S.clientX,B.y=S.clientY),B=B.matrixTransform(y.getScreenCTM().inverse()),[B.x,B.y]}var $=y.getBoundingClientRect();return[S.clientX-$.left-y.clientLeft,S.clientY-$.top-y.clientTop]}e.touch=function(y,S,P){if(arguments.length<3&&(P=S,S=it().changedTouches),S){for(var B=0,V=S.length,Z;B<V;++B)if((Z=S[B]).identifier===P)return Ct(y,Z)}},e.behavior.drag=function(){var y=nt(V,"drag","dragstart","dragend"),S=null,P=Z(me,e.mouse,s,"mousemove","mouseup"),B=Z(Fe,e.touch,Te,"touchmove","touchend");function V(){this.on("mousedown.drag",P).on("touchstart.drag",B)}function Z($,X,ae,ge,xe){return function(){var ze=this,Pe=e.event.target.correspondingElement||e.event.target,$e=ze.parentNode,st=y.of(ze,arguments),Ie=0,He=$(),Qe=".drag"+(He==null?"":"-"+He),ht,ot=e.select(ae(Pe)).on(ge+Qe,or).on(xe+Qe,cr),je=yr(Pe),Zt=X($e,He);S?(ht=S.apply(ze,arguments),ht=[ht.x-Zt[0],ht.y-Zt[1]]):ht=[0,0],st({type:"dragstart"});function or(){var ur=X($e,He),zr,Rr;ur&&(zr=ur[0]-Zt[0],Rr=ur[1]-Zt[1],Ie|=zr|Rr,Zt=ur,st({type:"drag",x:ur[0]+ht[0],y:ur[1]+ht[1],dx:zr,dy:Rr}))}function cr(){X($e,He)&&(ot.on(ge+Qe,null).on(xe+Qe,null),je(Ie),st({type:"dragend"}))}}}return V.origin=function($){return arguments.length?(S=$,V):S},e.rebind(V,y,"on")};function Fe(){return e.event.changedTouches[0].identifier}e.touches=function(y,S){return arguments.length<2&&(S=it().touches),S?r(S).map(function(P){var B=Ct(y,P);return B.identifier=P.identifier,B}):[]};var Ue=1e-6,wt=Ue*Ue,Tt=Math.PI,vr=2*Tt,Mr=vr-Ue,Tr=Tt/2,Gr=Tt/180,pa=180/Tt;function Aa(y){return y>0?1:y<0?-1:0}function ai(y,S,P){return(S[0]-y[0])*(P[1]-y[1])-(S[1]-y[1])*(P[0]-y[0])}function bi(y){return y>1?0:y<-1?Tt:Math.acos(y)}function hi(y){return y>1?Tr:y<-1?-Tr:Math.asin(y)}function Hi(y){return((y=Math.exp(y))-1/y)/2}function Ii(y){return((y=Math.exp(y))+1/y)/2}function _n(y){return((y=Math.exp(2*y))-1)/(y+1)}function an(y){return(y=Math.sin(y/2))*y}var Gi=Math.SQRT2,ma=2,nn=4;e.interpolateZoom=function(y,S){var P=y[0],B=y[1],V=y[2],Z=S[0],$=S[1],X=S[2],ae=Z-P,ge=$-B,xe=ae*ae+ge*ge,ze,Pe;if(xe<wt)Pe=Math.log(X/V)/Gi,ze=function(ht){return[P+ht*ae,B+ht*ge,V*Math.exp(Gi*ht*Pe)]};else{var $e=Math.sqrt(xe),st=(X*X-V*V+nn*xe)/(2*V*ma*$e),Ie=(X*X-V*V-nn*xe)/(2*X*ma*$e),He=Math.log(Math.sqrt(st*st+1)-st),Qe=Math.log(Math.sqrt(Ie*Ie+1)-Ie);Pe=(Qe-He)/Gi,ze=function(ht){var ot=ht*Pe,je=Ii(He),Zt=V/(ma*$e)*(je*_n(Gi*ot+He)-Hi(He));return[P+Zt*ae,B+Zt*ge,V*je/Ii(Gi*ot+He)]}}return ze.duration=Pe*1e3,ze},e.behavior.zoom=function(){var y={x:0,y:0,k:1},S,P,B,V=[960,500],Z=Bi,$=250,X=0,ae="mousedown.zoom",ge="mousemove.zoom",xe="mouseup.zoom",ze,Pe="touchstart.zoom",$e,st=nt(ot,"zoomstart","zoom","zoomend"),Ie,He,Qe,ht;ii||(ii="onwheel"in i?(ir=function(){return-e.event.deltaY*(e.event.deltaMode?120:1)},"wheel"):"onmousewheel"in i?(ir=function(){return e.event.wheelDelta},"mousewheel"):(ir=function(){return-e.event.detail},"MozMousePixelScroll"));function ot(Jt){Jt.on(ae,Qr).on(ii+".zoom",$a).on("dblclick.zoom",Ka).on(Pe,qa)}ot.event=function(Jt){Jt.each(function(){var Kr=st.of(this,arguments),oa=y;uo?e.select(this).transition().each("start.zoom",function(){y=this.__chart__||{x:0,y:0,k:1},Rr(Kr)}).tween("zoom:zoom",function(){var sa=V[0],Ei=V[1],Ui=P?P[0]:sa/2,$i=P?P[1]:Ei/2,xi=e.interpolateZoom([(Ui-y.x)/y.k,($i-y.y)/y.k,sa/y.k],[(Ui-oa.x)/oa.k,($i-oa.y)/oa.k,sa/oa.k]);return function(wn){var Ar=xi(wn),Hr=sa/Ar[2];this.__chart__=y={x:Ui-Ar[0]*Hr,y:$i-Ar[1]*Hr,k:Hr},ta(Kr)}}).each("interrupt.zoom",function(){Vr(Kr)}).each("end.zoom",function(){Vr(Kr)}):(this.__chart__=y,Rr(Kr),ta(Kr),Vr(Kr))})},ot.translate=function(Jt){return arguments.length?(y={x:+Jt[0],y:+Jt[1],k:y.k},zr(),ot):[y.x,y.y]},ot.scale=function(Jt){return arguments.length?(y={x:y.x,y:y.y,k:null},or(+Jt),zr(),ot):y.k},ot.scaleExtent=function(Jt){return arguments.length?(Z=Jt==null?Bi:[+Jt[0],+Jt[1]],ot):Z},ot.center=function(Jt){return arguments.length?(B=Jt&&[+Jt[0],+Jt[1]],ot):B},ot.size=function(Jt){return arguments.length?(V=Jt&&[+Jt[0],+Jt[1]],ot):V},ot.duration=function(Jt){return arguments.length?($=+Jt,ot):$},ot.x=function(Jt){return arguments.length?(He=Jt,Ie=Jt.copy(),y={x:0,y:0,k:1},ot):He},ot.y=function(Jt){return arguments.length?(ht=Jt,Qe=Jt.copy(),y={x:0,y:0,k:1},ot):ht};function je(Jt){return[(Jt[0]-y.x)/y.k,(Jt[1]-y.y)/y.k]}function Zt(Jt){return[Jt[0]*y.k+y.x,Jt[1]*y.k+y.y]}function or(Jt){y.k=Math.max(Z[0],Math.min(Z[1],Jt))}function cr(Jt,Kr){Kr=Zt(Kr),y.x+=Jt[0]-Kr[0],y.y+=Jt[1]-Kr[1]}function ur(Jt,Kr,oa,sa){Jt.__chart__={x:y.x,y:y.y,k:y.k},or(Math.pow(2,sa)),cr(P=Kr,oa),Jt=e.select(Jt),$>0&&(Jt=Jt.transition().duration($)),Jt.call(ot.event)}function zr(){He&&He.domain(Ie.range().map(function(Jt){return(Jt-y.x)/y.k}).map(Ie.invert)),ht&&ht.domain(Qe.range().map(function(Jt){return(Jt-y.y)/y.k}).map(Qe.invert))}function Rr(Jt){X++||Jt({type:"zoomstart"})}function ta(Jt){zr(),Jt({type:"zoom",scale:y.k,translate:[y.x,y.y]})}function Vr(Jt){--X||(Jt({type:"zoomend"}),P=null)}function Qr(){var Jt=this,Kr=st.of(Jt,arguments),oa=0,sa=e.select(s(Jt)).on(ge,$i).on(xe,xi),Ei=je(e.mouse(Jt)),Ui=yr(Jt);fh.call(Jt),Rr(Kr);function $i(){oa=1,cr(e.mouse(Jt),Ei),ta(Kr)}function xi(){sa.on(ge,null).on(xe,null),Ui(oa),Vr(Kr)}}function qa(){var Jt=this,Kr=st.of(Jt,arguments),oa={},sa=0,Ei,Ui=".zoom-"+e.event.changedTouches[0].identifier,$i="touchmove"+Ui,xi="touchend"+Ui,wn=[],Ar=e.select(Jt),Hr=yr(Jt);Ti(),Rr(Kr),Ar.on(ae,null).on(Pe,Ti);function Fi(){var pn=e.touches(Jt);return Ei=y.k,pn.forEach(function(di){di.identifier in oa&&(oa[di.identifier]=je(di))}),pn}function Ti(){var pn=e.event.target;e.select(pn).on($i,fo).on(xi,qn),wn.push(pn);for(var di=e.event.changedTouches,Jo=0,co=di.length;Jo<co;++Jo)oa[di[Jo].identifier]=null;var fi=Fi(),bf=Date.now();if(fi.length===1){if(bf-$e<500){var Ta=fi[0];ur(Jt,Ta,oa[Ta.identifier],Math.floor(Math.log(y.k)/Math.LN2)+1),We()}$e=bf}else if(fi.length>1){var Ta=fi[0],li=fi[1],Bl=Ta[0]-li[0],Kv=Ta[1]-li[1];sa=Bl*Bl+Kv*Kv}}function fo(){var pn=e.touches(Jt),di,Jo,co,fi;fh.call(Jt);for(var bf=0,Ta=pn.length;bf<Ta;++bf,fi=null)if(co=pn[bf],fi=oa[co.identifier]){if(Jo)break;di=co,Jo=fi}if(fi){var li=(li=co[0]-di[0])*li+(li=co[1]-di[1])*li,Bl=sa&&Math.sqrt(li/sa);di=[(di[0]+co[0])/2,(di[1]+co[1])/2],Jo=[(Jo[0]+fi[0])/2,(Jo[1]+fi[1])/2],or(Bl*Ei)}$e=null,cr(di,Jo),ta(Kr)}function qn(){if(e.event.touches.length){for(var pn=e.event.changedTouches,di=0,Jo=pn.length;di<Jo;++di)delete oa[pn[di].identifier];for(var co in oa)return void Fi()}e.selectAll(wn).on(Ui,null),Ar.on(ae,Qr).on(Pe,qa),Hr(),Vr(Kr)}}function $a(){var Jt=st.of(this,arguments);ze?clearTimeout(ze):(fh.call(this),S=je(P=B||e.mouse(this)),Rr(Jt)),ze=setTimeout(function(){ze=null,Vr(Jt)},50),We(),or(Math.pow(2,ir()*.002)*y.k),cr(P,S),ta(Jt)}function Ka(){var Jt=e.mouse(this),Kr=Math.log(y.k)/Math.LN2;ur(this,Jt,je(Jt),e.event.shiftKey?Math.ceil(Kr)-1:Math.floor(Kr)+1)}return e.rebind(ot,st,"on")};var Bi=[0,1/0],ir,ii;e.color=Xr;function Xr(){}Xr.prototype.toString=function(){return this.rgb()+""},e.hsl=le;function le(y,S,P){return this instanceof le?(this.h=+y,this.s=+S,void(this.l=+P)):arguments.length<2?y instanceof le?new le(y.h,y.s,y.l):ea(""+y,ga,le):new le(y,S,P)}var te=le.prototype=new Xr;te.brighter=function(y){return y=Math.pow(.7,arguments.length?y:1),new le(this.h,this.s,this.l/y)},te.darker=function(y){return y=Math.pow(.7,arguments.length?y:1),new le(this.h,this.s,y*this.l)},te.rgb=function(){return se(this.h,this.s,this.l)};function se(y,S,P){var B,V;y=isNaN(y)?0:(y%=360)<0?y+360:y,S=isNaN(S)||S<0?0:S>1?1:S,P=P<0?0:P>1?1:P,V=P<=.5?P*(1+S):P+S-P*S,B=2*P-V;function Z(X){return X>360?X-=360:X<0&&(X+=360),X<60?B+(V-B)*X/60:X<180?V:X<240?B+(V-B)*(240-X)/60:B}function $(X){return Math.round(Z(X)*255)}return new ua($(y+120),$(y),$(y-120))}e.hcl=ue;function ue(y,S,P){return this instanceof ue?(this.h=+y,this.c=+S,void(this.l=+P)):arguments.length<2?y instanceof ue?new ue(y.h,y.c,y.l):y instanceof rt?Sr(y.l,y.a,y.b):Sr((y=nr((y=e.rgb(y)).r,y.g,y.b)).l,y.a,y.b):new ue(y,S,P)}var Le=ue.prototype=new Xr;Le.brighter=function(y){return new ue(this.h,this.c,Math.min(100,this.l+Ze*(arguments.length?y:1)))},Le.darker=function(y){return new ue(this.h,this.c,Math.max(0,this.l-Ze*(arguments.length?y:1)))},Le.rgb=function(){return Ne(this.h,this.c,this.l).rgb()};function Ne(y,S,P){return isNaN(y)&&(y=0),isNaN(S)&&(S=0),new rt(P,Math.cos(y*=Gr)*S,Math.sin(y)*S)}e.lab=rt;function rt(y,S,P){return this instanceof rt?(this.l=+y,this.a=+S,void(this.b=+P)):arguments.length<2?y instanceof rt?new rt(y.l,y.a,y.b):y instanceof ue?Ne(y.h,y.c,y.l):nr((y=ua(y)).r,y.g,y.b):new rt(y,S,P)}var Ze=18,yt=.95047,Et=1,Rt=1.08883,tr=rt.prototype=new Xr;tr.brighter=function(y){return new rt(Math.min(100,this.l+Ze*(arguments.length?y:1)),this.a,this.b)},tr.darker=function(y){return new rt(Math.max(0,this.l-Ze*(arguments.length?y:1)),this.a,this.b)},tr.rgb=function(){return Xt(this.l,this.a,this.b)};function Xt(y,S,P){var B=(y+16)/116,V=B+S/500,Z=B-P/200;return V=Zr(V)*yt,B=Zr(B)*Et,Z=Zr(Z)*Rt,new ua(ca(3.2404542*V-1.5371385*B-.4985314*Z),ca(-.969266*V+1.8760108*B+.041556*Z),ca(.0556434*V-.2040259*B+1.0572252*Z))}function Sr(y,S,P){return y>0?new ue(Math.atan2(P,S)*pa,Math.sqrt(S*S+P*P),y):new ue(NaN,NaN,y)}function Zr(y){return y>.206893034?y*y*y:(y-4/29)/7.787037}function Or(y){return y>.008856?Math.pow(y,1/3):7.787037*y+4/29}function ca(y){return Math.round(255*(y<=.00304?12.92*y:1.055*Math.pow(y,1/2.4)-.055))}e.rgb=ua;function ua(y,S,P){return this instanceof ua?(this.r=~~y,this.g=~~S,void(this.b=~~P)):arguments.length<2?y instanceof ua?new ua(y.r,y.g,y.b):ea(""+y,ua,se):new ua(y,S,P)}function Fa(y){return new ua(y>>16,y>>8&255,y&255)}function ti(y){return Fa(y)+""}var Yr=ua.prototype=new Xr;Yr.brighter=function(y){y=Math.pow(.7,arguments.length?y:1);var S=this.r,P=this.g,B=this.b,V=30;return!S&&!P&&!B?new ua(V,V,V):(S&&S<V&&(S=V),P&&P<V&&(P=V),B&&B<V&&(B=V),new ua(Math.min(255,S/y),Math.min(255,P/y),Math.min(255,B/y)))},Yr.darker=function(y){return y=Math.pow(.7,arguments.length?y:1),new ua(y*this.r,y*this.g,y*this.b)},Yr.hsl=function(){return ga(this.r,this.g,this.b)},Yr.toString=function(){return"#"+gr(this.r)+gr(this.g)+gr(this.b)};function gr(y){return y<16?"0"+Math.max(0,y).toString(16):Math.min(255,y).toString(16)}function ea(y,S,P){var B=0,V=0,Z=0,$,X,ae;if($=/([a-z]+)\((.*)\)/.exec(y=y.toLowerCase()),$)switch(X=$[2].split(","),$[1]){case"hsl":return P(parseFloat(X[0]),parseFloat(X[1])/100,parseFloat(X[2])/100);case"rgb":return S(Ca(X[0]),Ca(X[1]),Ca(X[2]))}return(ae=oi.get(y))?S(ae.r,ae.g,ae.b):(y!=null&&y.charAt(0)==="#"&&!isNaN(ae=parseInt(y.slice(1),16))&&(y.length===4?(B=(ae&3840)>>4,B=B>>4|B,V=ae&240,V=V>>4|V,Z=ae&15,Z=Z<<4|Z):y.length===7&&(B=(ae&16711680)>>16,V=(ae&65280)>>8,Z=ae&255)),S(B,V,Z))}function ga(y,S,P){var B=Math.min(y/=255,S/=255,P/=255),V=Math.max(y,S,P),Z=V-B,$,X,ae=(V+B)/2;return Z?(X=ae<.5?Z/(V+B):Z/(2-V-B),y==V?$=(S-P)/Z+(S<P?6:0):S==V?$=(P-y)/Z+2:$=(y-S)/Z+4,$*=60):($=NaN,X=ae>0&&ae<1?0:$),new le($,X,ae)}function nr(y,S,P){y=wi(y),S=wi(S),P=wi(P);var B=Or((.4124564*y+.3575761*S+.1804375*P)/yt),V=Or((.2126729*y+.7151522*S+.072175*P)/Et),Z=Or((.0193339*y+.119192*S+.9503041*P)/Rt);return rt(116*V-16,500*(B-V),200*(V-Z))}function wi(y){return(y/=255)<=.04045?y/12.92:Math.pow((y+.055)/1.055,2.4)}function Ca(y){var S=parseFloat(y);return y.charAt(y.length-1)==="%"?Math.round(S*2.55):S}var oi=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});oi.forEach(function(y,S){oi.set(y,Fa(S))});function fa(y){return typeof y=="function"?y:function(){return y}}e.functor=fa,e.xhr=In(Te);function In(y){return function(S,P,B){return arguments.length===2&&typeof P=="function"&&(B=P,P=null),Co(S,P,y,B)}}function Co(y,S,P,B){var V={},Z=e.dispatch("beforesend","progress","load","error"),$={},X=new XMLHttpRequest,ae=null;self.XDomainRequest&&!("withCredentials"in X)&&/^(http(s)?:)?\/\//.test(y)&&(X=new XDomainRequest),"onload"in X?X.onload=X.onerror=ge:X.onreadystatechange=function(){X.readyState>3&&ge()};function ge(){var xe=X.status,ze;if(!xe&&Ha(X)||xe>=200&&xe<300||xe===304){try{ze=P.call(V,X)}catch(Pe){Z.error.call(V,Pe);return}Z.load.call(V,ze)}else Z.error.call(V,X)}return X.onprogress=function(xe){var ze=e.event;e.event=xe;try{Z.progress.call(V,X)}finally{e.event=ze}},V.header=function(xe,ze){return xe=(xe+"").toLowerCase(),arguments.length<2?$[xe]:(ze==null?delete $[xe]:$[xe]=ze+"",V)},V.mimeType=function(xe){return arguments.length?(S=xe==null?null:xe+"",V):S},V.responseType=function(xe){return arguments.length?(ae=xe,V):ae},V.response=function(xe){return P=xe,V},["get","post"].forEach(function(xe){V[xe]=function(){return V.send.apply(V,[xe].concat(r(arguments)))}}),V.send=function(xe,ze,Pe){if(arguments.length===2&&typeof ze=="function"&&(Pe=ze,ze=null),X.open(xe,y,!0),S!=null&&!("accept"in $)&&($.accept=S+",*/*"),X.setRequestHeader)for(var $e in $)X.setRequestHeader($e,$[$e]);return S!=null&&X.overrideMimeType&&X.overrideMimeType(S),ae!=null&&(X.responseType=ae),Pe!=null&&V.on("error",Pe).on("load",function(st){Pe(null,st)}),Z.beforesend.call(V,X),X.send(ze==null?null:ze),V},V.abort=function(){return X.abort(),V},e.rebind(V,Z,"on"),B==null?V:V.get(bs(B))}function bs(y){return y.length===1?function(S,P){y(S==null?P:null)}:y}function Ha(y){var S=y.responseType;return S&&S!=="text"?y.response:y.responseText}e.dsv=function(y,S){var P=new RegExp('["'+y+` ]`),B=y.charCodeAt(0);function V(ge,xe,ze){arguments.length<3&&(ze=xe,xe=null);var Pe=Co(ge,S,xe==null?Z:$(xe),ze);return Pe.row=function($e){return arguments.length?Pe.response((xe=$e)==null?Z:$($e)):xe},Pe}function Z(ge){return V.parse(ge.responseText)}function $(ge){return function(xe){return V.parse(xe.responseText,ge)}}V.parse=function(ge,xe){var ze;return V.parseRows(ge,function(Pe,$e){if(ze)return ze(Pe,$e-1);var st=function(Ie){for(var He={},Qe=Pe.length,ht=0;ht<Qe;++ht)He[Pe[ht]]=Ie[ht];return He};ze=xe?function(Ie,He){return xe(st(Ie),He)}:st})},V.parseRows=function(ge,xe){var ze={},Pe={},$e=[],st=ge.length,Ie=0,He=0,Qe,ht;function ot(){if(Ie>=st)return Pe;if(ht)return ht=!1,ze;var Zt=Ie;if(ge.charCodeAt(Zt)===34){for(var or=Zt;or++<st;)if(ge.charCodeAt(or)===34){if(ge.charCodeAt(or+1)!==34)break;++or}Ie=or+2;var cr=ge.charCodeAt(or+1);return cr===13?(ht=!0,ge.charCodeAt(or+2)===10&&++Ie):cr===10&&(ht=!0),ge.slice(Zt+1,or).replace(/""/g,'"')}for(;Ie<st;){var cr=ge.charCodeAt(Ie++),ur=1;if(cr===10)ht=!0;else if(cr===13)ht=!0,ge.charCodeAt(Ie)===10&&(++Ie,++ur);else if(cr!==B)continue;return ge.slice(Zt,Ie-ur)}return ge.slice(Zt)}for(;(Qe=ot())!==Pe;){for(var je=[];Qe!==ze&&Qe!==Pe;)je.push(Qe),Qe=ot();xe&&(je=xe(je,He++))==null||$e.push(je)}return $e},V.format=function(ge){if(Array.isArray(ge[0]))return V.formatRows(ge);var xe=new fe,ze=[];return ge.forEach(function(Pe){for(var $e in Pe)xe.has($e)||ze.push(xe.add($e))}),[ze.map(ae).join(y)].concat(ge.map(function(Pe){return ze.map(function($e){return ae(Pe[$e])}).join(y)})).join(` `)},V.formatRows=function(ge){return ge.map(X).join(` `)};function X(ge){return ge.map(ae).join(y)}function ae(ge){return P.test(ge)?'"'+ge.replace(/\"/g,'""')+'"':ge}return V},e.csv=e.dsv(",","text/csv"),e.tsv=e.dsv(" ","text/tab-separated-values");var Kn,du,Oi,pl,fp=this[Se(this,"requestAnimationFrame")]||function(y){setTimeout(y,17)};e.timer=function(){Gc.apply(this,arguments)};function Gc(y,S,P){var B=arguments.length;B<2&&(S=0),B<3&&(P=Date.now());var V=P+S,Z={c:y,t:V,n:null};return du?du.n=Z:Kn=Z,du=Z,Oi||(pl=clearTimeout(pl),Oi=1,fp(Zc)),Z}function Zc(){var y=xv(),S=bv()-y;S>24?(isFinite(S)&&(clearTimeout(pl),pl=setTimeout(Zc,S)),Oi=0):(Oi=1,fp(Zc))}e.timer.flush=function(){xv(),bv()};function xv(){for(var y=Date.now(),S=Kn;S;)y>=S.t&&S.c(y-S.t)&&(S.c=null),S=S.n;return y}function bv(){for(var y,S=Kn,P=1/0;S;)S.c?(S.t<P&&(P=S.t),S=(y=S).n):S=y?y.n=S.n:Kn=S.n;return du=y,P}e.round=function(y,S){return S?Math.round(y*(S=Math.pow(10,S)))/S:Math.round(y)},e.geom={};function pu(y){return y[0]}function ml(y){return y[1]}e.geom.hull=function(y){var S=pu,P=ml;if(arguments.length)return B(y);function B(V){if(V.length<3)return[];var Z=fa(S),$=fa(P),X,ae=V.length,ge=[],xe=[];for(X=0;X<ae;X++)ge.push([+Z.call(this,V[X],X),+$.call(this,V[X],X),X]);for(ge.sort(ef),X=0;X<ae;X++)xe.push([ge[X][0],-ge[X][1]]);var ze=cp(ge),Pe=cp(xe),$e=Pe[0]===ze[0],st=Pe[Pe.length-1]===ze[ze.length-1],Ie=[];for(X=ze.length-1;X>=0;--X)Ie.push(V[ge[ze[X]][2]]);for(X=+$e;X<Pe.length-st;++X)Ie.push(V[ge[Pe[X]][2]]);return Ie}return B.x=function(V){return arguments.length?(S=V,B):S},B.y=function(V){return arguments.length?(P=V,B):P},B};function cp(y){for(var S=y.length,P=[0,1],B=2,V=2;V<S;V++){for(;B>1&&ai(y[P[B-2]],y[P[B-1]],y[V])<=0;)--B;P[B++]=V}return P.slice(0,B)}function ef(y,S){return y[0]-S[0]||y[1]-S[1]}e.geom.polygon=function(y){return Xe(y,Qf),y};var Qf=e.geom.polygon.prototype=[];Qf.area=function(){for(var y=-1,S=this.length,P,B=this[S-1],V=0;++y<S;)P=B,B=this[y],V+=P[1]*B[0]-P[0]*B[1];return V*.5},Qf.centroid=function(y){var S=-1,P=this.length,B=0,V=0,Z,$=this[P-1],X;for(arguments.length||(y=-1/(6*this.area()));++S<P;)Z=$,$=this[S],X=Z[0]*$[1]-$[0]*Z[1],B+=(Z[0]+$[0])*X,V+=(Z[1]+$[1])*X;return[B*y,V*y]},Qf.clip=function(y){for(var S,P=yo(y),B=-1,V=this.length-yo(this),Z,$,X=this[V-1],ae,ge,xe;++B<V;){for(S=y.slice(),y.length=0,ae=this[B],ge=S[($=S.length-P)-1],Z=-1;++Z<$;)xe=S[Z],Qi(xe,X,ae)?(Qi(ge,X,ae)||y.push(Go(ge,xe,X,ae)),y.push(xe)):Qi(ge,X,ae)&&y.push(Go(ge,xe,X,ae)),ge=xe;P&&y.push(y[0]),X=ae}return y};function Qi(y,S,P){return(P[0]-S[0])*(y[1]-S[1])<(P[1]-S[1])*(y[0]-S[0])}function Go(y,S,P,B){var V=y[0],Z=P[0],$=S[0]-V,X=B[0]-Z,ae=y[1],ge=P[1],xe=S[1]-ae,ze=B[1]-ge,Pe=(X*(ae-ge)-ze*(V-Z))/(ze*$-X*xe);return[V+Pe*$,ae+Pe*xe]}function yo(y){var S=y[0],P=y[y.length-1];return!(S[0]-P[0]||S[1]-P[1])}var yl,Zo,mu,hp=[],wv,tf,Tv=[];function Av(){ki(this),this.edge=this.site=this.circle=null}function lo(y){var S=hp.pop()||new Av;return S.site=y,S}function jt(y){ba(y),mu.remove(y),hp.push(y),ki(y)}function Ur(y){var S=y.circle,P=S.x,B=S.cy,V={x:P,y:B},Z=y.P,$=y.N,X=[y];jt(y);for(var ae=Z;ae.circle&&I(P-ae.circle.x)<Ue&&I(B-ae.circle.cy)<Ue;)Z=ae.P,X.unshift(ae),jt(ae),ae=Z;X.unshift(ae),ba(ae);for(var ge=$;ge.circle&&I(P-ge.circle.x)<Ue&&I(B-ge.circle.cy)<Ue;)$=ge.N,X.push(ge),jt(ge),ge=$;X.push(ge),ba(ge);var xe=X.length,ze;for(ze=1;ze<xe;++ze)ge=X[ze],ae=X[ze-1],fs(ge.edge,ae.site,ge.site,V);ae=X[0],ge=X[xe-1],ge.edge=Xs(ae.site,ge.site,null,V),Er(ae),Er(ge)}function vp(y){for(var S=y.x,P=y.y,B,V,Z,$,X=mu._;X;)if(Z=yu(X,P)-S,Z>Ue)X=X.L;else if($=S-on(X,P),$>Ue){if(!X.R){B=X;break}X=X.R}else{Z>-Ue?(B=X.P,V=X):$>-Ue?(B=X,V=X.N):B=V=X;break}var ae=lo(y);if(mu.insert(B,ae),!(!B&&!V)){if(B===V){ba(B),V=lo(B.site),mu.insert(ae,V),ae.edge=V.edge=Xs(B.site,ae.site),Er(B),Er(V);return}if(!V){ae.edge=Xs(B.site,ae.site);return}ba(B),ba(V);var ge=B.site,xe=ge.x,ze=ge.y,Pe=y.x-xe,$e=y.y-ze,st=V.site,Ie=st.x-xe,He=st.y-ze,Qe=2*(Pe*He-$e*Ie),ht=Pe*Pe+$e*$e,ot=Ie*Ie+He*He,je={x:(He*ht-$e*ot)/Qe+xe,y:(Pe*ot-Ie*ht)/Qe+ze};fs(V.edge,ge,st,je),ae.edge=Xs(ge,y,null,je),V.edge=Xs(y,st,null,je),Er(B),Er(V)}}function yu(y,S){var P=y.site,B=P.x,V=P.y,Z=V-S;if(!Z)return B;var $=y.P;if(!$)return-1/0;P=$.site;var X=P.x,ae=P.y,ge=ae-S;if(!ge)return X;var xe=X-B,ze=1/Z-1/ge,Pe=xe/ge;return ze?(-Pe+Math.sqrt(Pe*Pe-2*ze*(xe*xe/(-2*ge)-ae+ge/2+V-Z/2)))/ze+B:(B+X)/2}function on(y,S){var P=y.N;if(P)return yu(P,S);var B=y.site;return B.y===S?B.x:1/0}function gl(y){this.site=y,this.edges=[]}gl.prototype.prepare=function(){for(var y=this.edges,S=y.length,P;S--;)P=y[S].edge,(!P.b||!P.a)&&y.splice(S,1);return y.sort(rf),y.length};function ws(y){for(var S=y[0][0],P=y[1][0],B=y[0][1],V=y[1][1],Z,$,X,ae,ge=Zo,xe=ge.length,ze,Pe,$e,st,Ie,He;xe--;)if(ze=ge[xe],!(!ze||!ze.prepare()))for($e=ze.edges,st=$e.length,Pe=0;Pe<st;)He=$e[Pe].end(),X=He.x,ae=He.y,Ie=$e[++Pe%st].start(),Z=Ie.x,$=Ie.y,(I(X-Z)>Ue||I(ae-$)>Ue)&&($e.splice(Pe,0,new xl(gu(ze.site,He,I(X-S)<Ue&&V-ae>Ue?{x:S,y:I(Z-S)<Ue?$:V}:I(ae-V)<Ue&&P-X>Ue?{x:I($-V)<Ue?Z:P,y:V}:I(X-P)<Ue&&ae-B>Ue?{x:P,y:I(Z-P)<Ue?$:B}:I(ae-B)<Ue&&X-S>Ue?{x:I($-B)<Ue?Z:S,y:B}:null),ze.site,null)),++st)}function rf(y,S){return S.angle-y.angle}function af(){ki(this),this.x=this.y=this.arc=this.site=this.cy=null}function Er(y){var S=y.P,P=y.N;if(!(!S||!P)){var B=S.site,V=y.site,Z=P.site;if(B!==Z){var $=V.x,X=V.y,ae=B.x-$,ge=B.y-X,xe=Z.x-$,He=Z.y-X,ze=2*(ae*He-ge*xe);if(!(ze>=-wt)){var Pe=ae*ae+ge*ge,$e=xe*xe+He*He,st=(He*Pe-ge*$e)/ze,Ie=(ae*$e-xe*Pe)/ze,He=Ie+X,Qe=Tv.pop()||new af;Qe.arc=y,Qe.site=V,Qe.x=st+$,Qe.y=He+Math.sqrt(st*st+Ie*Ie),Qe.cy=He,y.circle=Qe;for(var ht=null,ot=tf._;ot;)if(Qe.y<ot.y||Qe.y===ot.y&&Qe.x<=ot.x)if(ot.L)ot=ot.L;else{ht=ot.P;break}else if(ot.R)ot=ot.R;else{ht=ot;break}tf.insert(ht,Qe),ht||(wv=Qe)}}}}function ba(y){var S=y.circle;S&&(S.P||(wv=S.N),tf.remove(S),Tv.push(S),ki(S),y.circle=null)}function wa(y,S,P,B){return function(V){var Z=V.a,$=V.b,X=Z.x,ae=Z.y,ge=$.x,xe=$.y,ze=0,Pe=1,$e=ge-X,st=xe-ae,Ie;if(Ie=y-X,!(!$e&&Ie>0)){if(Ie/=$e,$e<0){if(Ie<ze)return;Ie<Pe&&(Pe=Ie)}else if($e>0){if(Ie>Pe)return;Ie>ze&&(ze=Ie)}if(Ie=P-X,!(!$e&&Ie<0)){if(Ie/=$e,$e<0){if(Ie>Pe)return;Ie>ze&&(ze=Ie)}else if($e>0){if(Ie<ze)return;Ie<Pe&&(Pe=Ie)}if(Ie=S-ae,!(!st&&Ie>0)){if(Ie/=st,st<0){if(Ie<ze)return;Ie<Pe&&(Pe=Ie)}else if(st>0){if(Ie>Pe)return;Ie>ze&&(ze=Ie)}if(Ie=B-ae,!(!st&&Ie<0)){if(Ie/=st,st<0){if(Ie>Pe)return;Ie>ze&&(ze=Ie)}else if(st>0){if(Ie<ze)return;Ie<Pe&&(Pe=Ie)}return ze>0&&(V.a={x:X+ze*$e,y:ae+ze*st}),Pe<1&&(V.b={x:X+Pe*$e,y:ae+Pe*st}),V}}}}}}function Ts(y){for(var S=yl,P=wa(y[0][0],y[0][1],y[1][0],y[1][1]),B=S.length,V;B--;)V=S[B],(!_l(V,y)||!P(V)||I(V.a.x-V.b.x)<Ue&&I(V.a.y-V.b.y)<Ue)&&(V.a=V.b=null,S.splice(B,1))}function _l(y,S){var P=y.b;if(P)return!0;var B=y.a,V=S[0][0],Z=S[1][0],$=S[0][1],X=S[1][1],ae=y.l,ge=y.r,xe=ae.x,ze=ae.y,Pe=ge.x,$e=ge.y,st=(xe+Pe)/2,Ie=(ze+$e)/2,He,Qe;if($e===ze){if(st<V||st>=Z)return;if(xe>Pe){if(!B)B={x:st,y:$};else if(B.y>=X)return;P={x:st,y:X}}else{if(!B)B={x:st,y:X};else if(B.y<$)return;P={x:st,y:$}}}else if(He=(xe-Pe)/($e-ze),Qe=Ie-He*st,He<-1||He>1)if(xe>Pe){if(!B)B={x:($-Qe)/He,y:$};else if(B.y>=X)return;P={x:(X-Qe)/He,y:X}}else{if(!B)B={x:(X-Qe)/He,y:X};else if(B.y<$)return;P={x:($-Qe)/He,y:$}}else if(ze<$e){if(!B)B={x:V,y:He*V+Qe};else if(B.x>=Z)return;P={x:Z,y:He*Z+Qe}}else{if(!B)B={x:Z,y:He*Z+Qe};else if(B.x<V)return;P={x:V,y:He*V+Qe}}return y.a=B,y.b=P,!0}function Ma(y,S){this.l=y,this.r=S,this.a=this.b=null}function Xs(y,S,P,B){var V=new Ma(y,S);return yl.push(V),P&&fs(V,y,S,P),B&&fs(V,S,y,B),Zo[y.i].edges.push(new xl(V,y,S)),Zo[S.i].edges.push(new xl(V,S,y)),V}function gu(y,S,P){var B=new Ma(y,null);return B.a=S,B.b=P,yl.push(B),B}function fs(y,S,P,B){!y.a&&!y.b?(y.a=B,y.l=S,y.r=P):y.l===P?y.b=B:y.a=B}function xl(y,S,P){var B=y.a,V=y.b;this.edge=y,this.site=S,this.angle=P?Math.atan2(P.y-S.y,P.x-S.x):y.l===S?Math.atan2(V.x-B.x,B.y-V.y):Math.atan2(B.x-V.x,V.y-B.y)}xl.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 go(){this._=null}function ki(y){y.U=y.C=y.L=y.R=y.P=y.N=null}go.prototype={insert:function(y,S){var P,B,V;if(y){if(S.P=y,S.N=y.N,y.N&&(y.N.P=S),y.N=S,y.R){for(y=y.R;y.L;)y=y.L;y.L=S}else y.R=S;P=y}else this._?(y=Yc(this._),S.P=null,S.N=y,y.P=y.L=S,P=y):(S.P=S.N=null,this._=S,P=null);for(S.L=S.R=null,S.U=P,S.C=!0,y=S;P&&P.C;)B=P.U,P===B.L?(V=B.R,V&&V.C?(P.C=V.C=!1,B.C=!0,y=B):(y===P.R&&(As(this,P),y=P,P=y.U),P.C=!1,B.C=!0,cs(this,B))):(V=B.L,V&&V.C?(P.C=V.C=!1,B.C=!0,y=B):(y===P.L&&(cs(this,P),y=P,P=y.U),P.C=!1,B.C=!0,As(this,B))),P=y.U;this._.C=!1},remove:function(y){y.N&&(y.N.P=y.P),y.P&&(y.P.N=y.N),y.N=y.P=null;var S=y.U,P,B=y.L,V=y.R,Z,$;if(B?V?Z=Yc(V):Z=B:Z=V,S?S.L===y?S.L=Z:S.R=Z:this._=Z,B&&V?($=Z.C,Z.C=y.C,Z.L=B,B.U=Z,Z!==V?(S=Z.U,Z.U=y.U,y=Z.R,S.L=y,Z.R=V,V.U=Z):(Z.U=S,S=Z,y=Z.R)):($=y.C,y=Z),y&&(y.U=S),!$){if(y&&y.C){y.C=!1;return}do{if(y===this._)break;i