mirror of
https://github.com/athom-tech/esp32-configs.git
synced 2026-07-27 19:56:13 +00:00
2362 lines
3.0 MiB
Plaintext
Executable File
2362 lines
3.0 MiB
Plaintext
Executable File
"use strict";(()=>{var b9e=Object.create;var wb=Object.defineProperty;var w9e=Object.getOwnPropertyDescriptor;var _9e=Object.getOwnPropertyNames;var T9e=Object.getPrototypeOf,A9e=Object.prototype.hasOwnProperty;var M9e=(e,t,r)=>t in e?wb(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Xi=(e,t)=>()=>(e&&(t=e(e=0)),t);var J=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),k9e=(e,t)=>{for(var r in t)wb(e,r,{get:t[r],enumerable:!0})},GO=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of _9e(t))!A9e.call(e,i)&&i!==r&&wb(e,i,{get:()=>t[i],enumerable:!(n=w9e(t,i))||n.enumerable});return e};var $c=(e,t,r)=>(r=e!=null?b9e(T9e(e)):{},GO(t||!e||!e.__esModule?wb(r,"default",{value:e,enumerable:!0}):r,e)),s1=e=>GO(wb({},"__esModule",{value:!0}),e);var X3=(e,t,r)=>(M9e(e,typeof t!="symbol"?t+"":t,r),r);var q6=J((ZCt,WO)=>{var S9e=typeof global=="object"&&global&&global.Object===Object&&global;WO.exports=S9e});var Hh=J((JCt,XO)=>{var C9e=q6(),E9e=typeof self=="object"&&self&&self.Object===Object&&self,L9e=C9e||E9e||Function("return this")();XO.exports=L9e});var _b=J(($Ct,ZO)=>{var D9e=Hh(),R9e=D9e.Symbol;ZO.exports=R9e});var QO=J((KCt,KO)=>{var JO=_b(),$O=Object.prototype,P9e=$O.hasOwnProperty,I9e=$O.toString,Tb=JO?JO.toStringTag:void 0;function q9e(e){var t=P9e.call(e,Tb),r=e[Tb];try{e[Tb]=void 0;var n=!0}catch{}var i=I9e.call(e);return n&&(t?e[Tb]=r:delete e[Tb]),i}KO.exports=q9e});var tB=J((QCt,eB)=>{var F9e=Object.prototype,z9e=F9e.toString;function N9e(e){return z9e.call(e)}eB.exports=N9e});var l1=J((e6t,iB)=>{var rB=_b(),O9e=QO(),B9e=tB(),U9e="[object Null]",H9e="[object Undefined]",nB=rB?rB.toStringTag:void 0;function j9e(e){return e==null?e===void 0?H9e:U9e:nB&&nB in Object(e)?O9e(e):B9e(e)}iB.exports=j9e});var Z3=J((t6t,aB)=>{function V9e(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}aB.exports=V9e});var F6=J((r6t,oB)=>{var Y9e=l1(),G9e=Z3(),W9e="[object AsyncFunction]",X9e="[object Function]",Z9e="[object GeneratorFunction]",J9e="[object Proxy]";function $9e(e){if(!G9e(e))return!1;var t=Y9e(e);return t==X9e||t==Z9e||t==W9e||t==J9e}oB.exports=$9e});var lB=J((n6t,sB)=>{var K9e=Hh(),Q9e=K9e["__core-js_shared__"];sB.exports=Q9e});var cB=J((i6t,fB)=>{var z6=lB(),uB=function(){var e=/[^.]+$/.exec(z6&&z6.keys&&z6.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function eFe(e){return!!uB&&uB in e}fB.exports=eFe});var N6=J((a6t,hB)=>{var tFe=Function.prototype,rFe=tFe.toString;function nFe(e){if(e!=null){try{return rFe.call(e)}catch{}try{return e+""}catch{}}return""}hB.exports=nFe});var dB=J((o6t,vB)=>{var iFe=F6(),aFe=cB(),oFe=Z3(),sFe=N6(),lFe=/[\\^$.*+?()[\]{}|]/g,uFe=/^\[object .+?Constructor\]$/,fFe=Function.prototype,cFe=Object.prototype,hFe=fFe.toString,vFe=cFe.hasOwnProperty,dFe=RegExp("^"+hFe.call(vFe).replace(lFe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function pFe(e){if(!oFe(e)||aFe(e))return!1;var t=iFe(e)?dFe:uFe;return t.test(sFe(e))}vB.exports=pFe});var gB=J((s6t,pB)=>{function gFe(e,t){return e?.[t]}pB.exports=gFe});var Zd=J((l6t,mB)=>{var mFe=dB(),yFe=gB();function xFe(e,t){var r=yFe(e,t);return mFe(r)?r:void 0}mB.exports=xFe});var xB=J((u6t,yB)=>{var bFe=Zd(),wFe=function(){try{var e=bFe(Object,"defineProperty");return e({},"",{}),e}catch{}}();yB.exports=wFe});var _B=J((f6t,wB)=>{var bB=xB();function _Fe(e,t,r){t=="__proto__"&&bB?bB(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}wB.exports=_Fe});var AB=J((c6t,TB)=>{function TFe(e){return function(t,r,n){for(var i=-1,a=Object(t),o=n(t),s=o.length;s--;){var l=o[e?s:++i];if(r(a[l],l,a)===!1)break}return t}}TB.exports=TFe});var kB=J((h6t,MB)=>{var AFe=AB(),MFe=AFe();MB.exports=MFe});var CB=J((v6t,SB)=>{function kFe(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}SB.exports=kFe});var u1=J((d6t,EB)=>{function SFe(e){return e!=null&&typeof e=="object"}EB.exports=SFe});var DB=J((p6t,LB)=>{var CFe=l1(),EFe=u1(),LFe="[object Arguments]";function DFe(e){return EFe(e)&&CFe(e)==LFe}LB.exports=DFe});var O6=J((g6t,IB)=>{var RB=DB(),RFe=u1(),PB=Object.prototype,PFe=PB.hasOwnProperty,IFe=PB.propertyIsEnumerable,qFe=RB(function(){return arguments}())?RB:function(e){return RFe(e)&&PFe.call(e,"callee")&&!IFe.call(e,"callee")};IB.exports=qFe});var Ov=J((m6t,qB)=>{var FFe=Array.isArray;qB.exports=FFe});var zB=J((y6t,FB)=>{function zFe(){return!1}FB.exports=zFe});var B6=J((Ab,f1)=>{var NFe=Hh(),OFe=zB(),BB=typeof Ab=="object"&&Ab&&!Ab.nodeType&&Ab,NB=BB&&typeof f1=="object"&&f1&&!f1.nodeType&&f1,BFe=NB&&NB.exports===BB,OB=BFe?NFe.Buffer:void 0,UFe=OB?OB.isBuffer:void 0,HFe=UFe||OFe;f1.exports=HFe});var U6=J((x6t,UB)=>{var jFe=9007199254740991,VFe=/^(?:0|[1-9]\d*)$/;function YFe(e,t){var r=typeof e;return t=t??jFe,!!t&&(r=="number"||r!="symbol"&&VFe.test(e))&&e>-1&&e%1==0&&e<t}UB.exports=YFe});var J3=J((b6t,HB)=>{var GFe=9007199254740991;function WFe(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=GFe}HB.exports=WFe});var VB=J((w6t,jB)=>{var XFe=l1(),ZFe=J3(),JFe=u1(),$Fe="[object Arguments]",KFe="[object Array]",QFe="[object Boolean]",eze="[object Date]",tze="[object Error]",rze="[object Function]",nze="[object Map]",ize="[object Number]",aze="[object Object]",oze="[object RegExp]",sze="[object Set]",lze="[object String]",uze="[object WeakMap]",fze="[object ArrayBuffer]",cze="[object DataView]",hze="[object Float32Array]",vze="[object Float64Array]",dze="[object Int8Array]",pze="[object Int16Array]",gze="[object Int32Array]",mze="[object Uint8Array]",yze="[object Uint8ClampedArray]",xze="[object Uint16Array]",bze="[object Uint32Array]",Ya={};Ya[hze]=Ya[vze]=Ya[dze]=Ya[pze]=Ya[gze]=Ya[mze]=Ya[yze]=Ya[xze]=Ya[bze]=!0;Ya[$Fe]=Ya[KFe]=Ya[fze]=Ya[QFe]=Ya[cze]=Ya[eze]=Ya[tze]=Ya[rze]=Ya[nze]=Ya[ize]=Ya[aze]=Ya[oze]=Ya[sze]=Ya[lze]=Ya[uze]=!1;function wze(e){return JFe(e)&&ZFe(e.length)&&!!Ya[XFe(e)]}jB.exports=wze});var GB=J((_6t,YB)=>{function _ze(e){return function(t){return e(t)}}YB.exports=_ze});var XB=J((Mb,c1)=>{var Tze=q6(),WB=typeof Mb=="object"&&Mb&&!Mb.nodeType&&Mb,kb=WB&&typeof c1=="object"&&c1&&!c1.nodeType&&c1,Aze=kb&&kb.exports===WB,H6=Aze&&Tze.process,Mze=function(){try{var e=kb&&kb.require&&kb.require("util").types;return e||H6&&H6.binding&&H6.binding("util")}catch{}}();c1.exports=Mze});var j6=J((T6t,$B)=>{var kze=VB(),Sze=GB(),ZB=XB(),JB=ZB&&ZB.isTypedArray,Cze=JB?Sze(JB):kze;$B.exports=Cze});var QB=J((A6t,KB)=>{var Eze=CB(),Lze=O6(),Dze=Ov(),Rze=B6(),Pze=U6(),Ize=j6(),qze=Object.prototype,Fze=qze.hasOwnProperty;function zze(e,t){var r=Dze(e),n=!r&&Lze(e),i=!r&&!n&&Rze(e),a=!r&&!n&&!i&&Ize(e),o=r||n||i||a,s=o?Eze(e.length,String):[],l=s.length;for(var u in e)(t||Fze.call(e,u))&&!(o&&(u=="length"||i&&(u=="offset"||u=="parent")||a&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||Pze(u,l)))&&s.push(u);return s}KB.exports=zze});var tU=J((M6t,eU)=>{var Nze=Object.prototype;function Oze(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||Nze;return e===r}eU.exports=Oze});var nU=J((k6t,rU)=>{function Bze(e,t){return function(r){return e(t(r))}}rU.exports=Bze});var aU=J((S6t,iU)=>{var Uze=nU(),Hze=Uze(Object.keys,Object);iU.exports=Hze});var sU=J((C6t,oU)=>{var jze=tU(),Vze=aU(),Yze=Object.prototype,Gze=Yze.hasOwnProperty;function Wze(e){if(!jze(e))return Vze(e);var t=[];for(var r in Object(e))Gze.call(e,r)&&r!="constructor"&&t.push(r);return t}oU.exports=Wze});var uU=J((E6t,lU)=>{var Xze=F6(),Zze=J3();function Jze(e){return e!=null&&Zze(e.length)&&!Xze(e)}lU.exports=Jze});var $3=J((L6t,fU)=>{var $ze=QB(),Kze=sU(),Qze=uU();function eNe(e){return Qze(e)?$ze(e):Kze(e)}fU.exports=eNe});var hU=J((D6t,cU)=>{var tNe=kB(),rNe=$3();function nNe(e,t){return e&&tNe(e,t,rNe)}cU.exports=nNe});var dU=J((R6t,vU)=>{function iNe(){this.__data__=[],this.size=0}vU.exports=iNe});var V6=J((P6t,pU)=>{function aNe(e,t){return e===t||e!==e&&t!==t}pU.exports=aNe});var Sb=J((I6t,gU)=>{var oNe=V6();function sNe(e,t){for(var r=e.length;r--;)if(oNe(e[r][0],t))return r;return-1}gU.exports=sNe});var yU=J((q6t,mU)=>{var lNe=Sb(),uNe=Array.prototype,fNe=uNe.splice;function cNe(e){var t=this.__data__,r=lNe(t,e);if(r<0)return!1;var n=t.length-1;return r==n?t.pop():fNe.call(t,r,1),--this.size,!0}mU.exports=cNe});var bU=J((F6t,xU)=>{var hNe=Sb();function vNe(e){var t=this.__data__,r=hNe(t,e);return r<0?void 0:t[r][1]}xU.exports=vNe});var _U=J((z6t,wU)=>{var dNe=Sb();function pNe(e){return dNe(this.__data__,e)>-1}wU.exports=pNe});var AU=J((N6t,TU)=>{var gNe=Sb();function mNe(e,t){var r=this.__data__,n=gNe(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}TU.exports=mNe});var Cb=J((O6t,MU)=>{var yNe=dU(),xNe=yU(),bNe=bU(),wNe=_U(),_Ne=AU();function h1(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}h1.prototype.clear=yNe;h1.prototype.delete=xNe;h1.prototype.get=bNe;h1.prototype.has=wNe;h1.prototype.set=_Ne;MU.exports=h1});var SU=J((B6t,kU)=>{var TNe=Cb();function ANe(){this.__data__=new TNe,this.size=0}kU.exports=ANe});var EU=J((U6t,CU)=>{function MNe(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}CU.exports=MNe});var DU=J((H6t,LU)=>{function kNe(e){return this.__data__.get(e)}LU.exports=kNe});var PU=J((j6t,RU)=>{function SNe(e){return this.__data__.has(e)}RU.exports=SNe});var K3=J((V6t,IU)=>{var CNe=Zd(),ENe=Hh(),LNe=CNe(ENe,"Map");IU.exports=LNe});var Eb=J((Y6t,qU)=>{var DNe=Zd(),RNe=DNe(Object,"create");qU.exports=RNe});var NU=J((G6t,zU)=>{var FU=Eb();function PNe(){this.__data__=FU?FU(null):{},this.size=0}zU.exports=PNe});var BU=J((W6t,OU)=>{function INe(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}OU.exports=INe});var HU=J((X6t,UU)=>{var qNe=Eb(),FNe="__lodash_hash_undefined__",zNe=Object.prototype,NNe=zNe.hasOwnProperty;function ONe(e){var t=this.__data__;if(qNe){var r=t[e];return r===FNe?void 0:r}return NNe.call(t,e)?t[e]:void 0}UU.exports=ONe});var VU=J((Z6t,jU)=>{var BNe=Eb(),UNe=Object.prototype,HNe=UNe.hasOwnProperty;function jNe(e){var t=this.__data__;return BNe?t[e]!==void 0:HNe.call(t,e)}jU.exports=jNe});var GU=J((J6t,YU)=>{var VNe=Eb(),YNe="__lodash_hash_undefined__";function GNe(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=VNe&&t===void 0?YNe:t,this}YU.exports=GNe});var XU=J(($6t,WU)=>{var WNe=NU(),XNe=BU(),ZNe=HU(),JNe=VU(),$Ne=GU();function v1(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}v1.prototype.clear=WNe;v1.prototype.delete=XNe;v1.prototype.get=ZNe;v1.prototype.has=JNe;v1.prototype.set=$Ne;WU.exports=v1});var $U=J((K6t,JU)=>{var ZU=XU(),KNe=Cb(),QNe=K3();function eOe(){this.size=0,this.__data__={hash:new ZU,map:new(QNe||KNe),string:new ZU}}JU.exports=eOe});var QU=J((Q6t,KU)=>{function tOe(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}KU.exports=tOe});var Lb=J((eEt,eH)=>{var rOe=QU();function nOe(e,t){var r=e.__data__;return rOe(t)?r[typeof t=="string"?"string":"hash"]:r.map}eH.exports=nOe});var rH=J((tEt,tH)=>{var iOe=Lb();function aOe(e){var t=iOe(this,e).delete(e);return this.size-=t?1:0,t}tH.exports=aOe});var iH=J((rEt,nH)=>{var oOe=Lb();function sOe(e){return oOe(this,e).get(e)}nH.exports=sOe});var oH=J((nEt,aH)=>{var lOe=Lb();function uOe(e){return lOe(this,e).has(e)}aH.exports=uOe});var lH=J((iEt,sH)=>{var fOe=Lb();function cOe(e,t){var r=fOe(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}sH.exports=cOe});var Q3=J((aEt,uH)=>{var hOe=$U(),vOe=rH(),dOe=iH(),pOe=oH(),gOe=lH();function d1(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}d1.prototype.clear=hOe;d1.prototype.delete=vOe;d1.prototype.get=dOe;d1.prototype.has=pOe;d1.prototype.set=gOe;uH.exports=d1});var cH=J((oEt,fH)=>{var mOe=Cb(),yOe=K3(),xOe=Q3(),bOe=200;function wOe(e,t){var r=this.__data__;if(r instanceof mOe){var n=r.__data__;if(!yOe||n.length<bOe-1)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new xOe(n)}return r.set(e,t),this.size=r.size,this}fH.exports=wOe});var Y6=J((sEt,hH)=>{var _Oe=Cb(),TOe=SU(),AOe=EU(),MOe=DU(),kOe=PU(),SOe=cH();function p1(e){var t=this.__data__=new _Oe(e);this.size=t.size}p1.prototype.clear=TOe;p1.prototype.delete=AOe;p1.prototype.get=MOe;p1.prototype.has=kOe;p1.prototype.set=SOe;hH.exports=p1});var dH=J((lEt,vH)=>{var COe="__lodash_hash_undefined__";function EOe(e){return this.__data__.set(e,COe),this}vH.exports=EOe});var gH=J((uEt,pH)=>{function LOe(e){return this.__data__.has(e)}pH.exports=LOe});var yH=J((fEt,mH)=>{var DOe=Q3(),ROe=dH(),POe=gH();function eT(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new DOe;++t<r;)this.add(e[t])}eT.prototype.add=eT.prototype.push=ROe;eT.prototype.has=POe;mH.exports=eT});var bH=J((cEt,xH)=>{function IOe(e,t){for(var r=-1,n=e==null?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}xH.exports=IOe});var _H=J((hEt,wH)=>{function qOe(e,t){return e.has(t)}wH.exports=qOe});var G6=J((vEt,TH)=>{var FOe=yH(),zOe=bH(),NOe=_H(),OOe=1,BOe=2;function UOe(e,t,r,n,i,a){var o=r&OOe,s=e.length,l=t.length;if(s!=l&&!(o&&l>s))return!1;var u=a.get(e),f=a.get(t);if(u&&f)return u==t&&f==e;var c=-1,h=!0,d=r&BOe?new FOe:void 0;for(a.set(e,t),a.set(t,e);++c<s;){var v=e[c],m=t[c];if(n)var b=o?n(m,v,c,t,e,a):n(v,m,c,e,t,a);if(b!==void 0){if(b)continue;h=!1;break}if(d){if(!zOe(t,function(g,_){if(!NOe(d,_)&&(v===g||i(v,g,r,n,a)))return d.push(_)})){h=!1;break}}else if(!(v===m||i(v,m,r,n,a))){h=!1;break}}return a.delete(e),a.delete(t),h}TH.exports=UOe});var MH=J((dEt,AH)=>{var HOe=Hh(),jOe=HOe.Uint8Array;AH.exports=jOe});var SH=J((pEt,kH)=>{function VOe(e){var t=-1,r=Array(e.size);return e.forEach(function(n,i){r[++t]=[i,n]}),r}kH.exports=VOe});var EH=J((gEt,CH)=>{function YOe(e){var t=-1,r=Array(e.size);return e.forEach(function(n){r[++t]=n}),r}CH.exports=YOe});var IH=J((mEt,PH)=>{var LH=_b(),DH=MH(),GOe=V6(),WOe=G6(),XOe=SH(),ZOe=EH(),JOe=1,$Oe=2,KOe="[object Boolean]",QOe="[object Date]",eBe="[object Error]",tBe="[object Map]",rBe="[object Number]",nBe="[object RegExp]",iBe="[object Set]",aBe="[object String]",oBe="[object Symbol]",sBe="[object ArrayBuffer]",lBe="[object DataView]",RH=LH?LH.prototype:void 0,W6=RH?RH.valueOf:void 0;function uBe(e,t,r,n,i,a,o){switch(r){case lBe:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case sBe:return!(e.byteLength!=t.byteLength||!a(new DH(e),new DH(t)));case KOe:case QOe:case rBe:return GOe(+e,+t);case eBe:return e.name==t.name&&e.message==t.message;case nBe:case aBe:return e==t+"";case tBe:var s=XOe;case iBe:var l=n&JOe;if(s||(s=ZOe),e.size!=t.size&&!l)return!1;var u=o.get(e);if(u)return u==t;n|=$Oe,o.set(e,t);var f=WOe(s(e),s(t),n,i,a,o);return o.delete(e),f;case oBe:if(W6)return W6.call(e)==W6.call(t)}return!1}PH.exports=uBe});var FH=J((yEt,qH)=>{function fBe(e,t){for(var r=-1,n=t.length,i=e.length;++r<n;)e[i+r]=t[r];return e}qH.exports=fBe});var NH=J((xEt,zH)=>{var cBe=FH(),hBe=Ov();function vBe(e,t,r){var n=t(e);return hBe(e)?n:cBe(n,r(e))}zH.exports=vBe});var BH=J((bEt,OH)=>{function dBe(e,t){for(var r=-1,n=e==null?0:e.length,i=0,a=[];++r<n;){var o=e[r];t(o,r,e)&&(a[i++]=o)}return a}OH.exports=dBe});var HH=J((wEt,UH)=>{function pBe(){return[]}UH.exports=pBe});var YH=J((_Et,VH)=>{var gBe=BH(),mBe=HH(),yBe=Object.prototype,xBe=yBe.propertyIsEnumerable,jH=Object.getOwnPropertySymbols,bBe=jH?function(e){return e==null?[]:(e=Object(e),gBe(jH(e),function(t){return xBe.call(e,t)}))}:mBe;VH.exports=bBe});var WH=J((TEt,GH)=>{var wBe=NH(),_Be=YH(),TBe=$3();function ABe(e){return wBe(e,TBe,_Be)}GH.exports=ABe});var JH=J((AEt,ZH)=>{var XH=WH(),MBe=1,kBe=Object.prototype,SBe=kBe.hasOwnProperty;function CBe(e,t,r,n,i,a){var o=r&MBe,s=XH(e),l=s.length,u=XH(t),f=u.length;if(l!=f&&!o)return!1;for(var c=l;c--;){var h=s[c];if(!(o?h in t:SBe.call(t,h)))return!1}var d=a.get(e),v=a.get(t);if(d&&v)return d==t&&v==e;var m=!0;a.set(e,t),a.set(t,e);for(var b=o;++c<l;){h=s[c];var g=e[h],_=t[h];if(n)var T=o?n(_,g,h,t,e,a):n(g,_,h,e,t,a);if(!(T===void 0?g===_||i(g,_,r,n,a):T)){m=!1;break}b||(b=h=="constructor")}if(m&&!b){var w=e.constructor,k=t.constructor;w!=k&&"constructor"in e&&"constructor"in t&&!(typeof w=="function"&&w instanceof w&&typeof k=="function"&&k instanceof k)&&(m=!1)}return a.delete(e),a.delete(t),m}ZH.exports=CBe});var KH=J((MEt,$H)=>{var EBe=Zd(),LBe=Hh(),DBe=EBe(LBe,"DataView");$H.exports=DBe});var ej=J((kEt,QH)=>{var RBe=Zd(),PBe=Hh(),IBe=RBe(PBe,"Promise");QH.exports=IBe});var rj=J((SEt,tj)=>{var qBe=Zd(),FBe=Hh(),zBe=qBe(FBe,"Set");tj.exports=zBe});var ij=J((CEt,nj)=>{var NBe=Zd(),OBe=Hh(),BBe=NBe(OBe,"WeakMap");nj.exports=BBe});var hj=J((EEt,cj)=>{var X6=KH(),Z6=K3(),J6=ej(),$6=rj(),K6=ij(),fj=l1(),g1=N6(),aj="[object Map]",UBe="[object Object]",oj="[object Promise]",sj="[object Set]",lj="[object WeakMap]",uj="[object DataView]",HBe=g1(X6),jBe=g1(Z6),VBe=g1(J6),YBe=g1($6),GBe=g1(K6),Dp=fj;(X6&&Dp(new X6(new ArrayBuffer(1)))!=uj||Z6&&Dp(new Z6)!=aj||J6&&Dp(J6.resolve())!=oj||$6&&Dp(new $6)!=sj||K6&&Dp(new K6)!=lj)&&(Dp=function(e){var t=fj(e),r=t==UBe?e.constructor:void 0,n=r?g1(r):"";if(n)switch(n){case HBe:return uj;case jBe:return aj;case VBe:return oj;case YBe:return sj;case GBe:return lj}return t});cj.exports=Dp});var bj=J((LEt,xj)=>{var Q6=Y6(),WBe=G6(),XBe=IH(),ZBe=JH(),vj=hj(),dj=Ov(),pj=B6(),JBe=j6(),$Be=1,gj="[object Arguments]",mj="[object Array]",tT="[object Object]",KBe=Object.prototype,yj=KBe.hasOwnProperty;function QBe(e,t,r,n,i,a){var o=dj(e),s=dj(t),l=o?mj:vj(e),u=s?mj:vj(t);l=l==gj?tT:l,u=u==gj?tT:u;var f=l==tT,c=u==tT,h=l==u;if(h&&pj(e)){if(!pj(t))return!1;o=!0,f=!1}if(h&&!f)return a||(a=new Q6),o||JBe(e)?WBe(e,t,r,n,i,a):XBe(e,t,l,r,n,i,a);if(!(r&$Be)){var d=f&&yj.call(e,"__wrapped__"),v=c&&yj.call(t,"__wrapped__");if(d||v){var m=d?e.value():e,b=v?t.value():t;return a||(a=new Q6),i(m,b,r,n,a)}}return h?(a||(a=new Q6),ZBe(e,t,r,n,i,a)):!1}xj.exports=QBe});var eE=J((DEt,Tj)=>{var eUe=bj(),wj=u1();function _j(e,t,r,n,i){return e===t?!0:e==null||t==null||!wj(e)&&!wj(t)?e!==e&&t!==t:eUe(e,t,r,n,_j,i)}Tj.exports=_j});var Mj=J((REt,Aj)=>{var tUe=Y6(),rUe=eE(),nUe=1,iUe=2;function aUe(e,t,r,n){var i=r.length,a=i,o=!n;if(e==null)return!a;for(e=Object(e);i--;){var s=r[i];if(o&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++i<a;){s=r[i];var l=s[0],u=e[l],f=s[1];if(o&&s[2]){if(u===void 0&&!(l in e))return!1}else{var c=new tUe;if(n)var h=n(u,f,l,e,t,c);if(!(h===void 0?rUe(f,u,nUe|iUe,n,c):h))return!1}}return!0}Aj.exports=aUe});var tE=J((PEt,kj)=>{var oUe=Z3();function sUe(e){return e===e&&!oUe(e)}kj.exports=sUe});var Cj=J((IEt,Sj)=>{var lUe=tE(),uUe=$3();function fUe(e){for(var t=uUe(e),r=t.length;r--;){var n=t[r],i=e[n];t[r]=[n,i,lUe(i)]}return t}Sj.exports=fUe});var rE=J((qEt,Ej)=>{function cUe(e,t){return function(r){return r==null?!1:r[e]===t&&(t!==void 0||e in Object(r))}}Ej.exports=cUe});var Dj=J((FEt,Lj)=>{var hUe=Mj(),vUe=Cj(),dUe=rE();function pUe(e){var t=vUe(e);return t.length==1&&t[0][2]?dUe(t[0][0],t[0][1]):function(r){return r===e||hUe(r,e,t)}}Lj.exports=pUe});var rT=J((zEt,Rj)=>{var gUe=l1(),mUe=u1(),yUe="[object Symbol]";function xUe(e){return typeof e=="symbol"||mUe(e)&&gUe(e)==yUe}Rj.exports=xUe});var nT=J((NEt,Pj)=>{var bUe=Ov(),wUe=rT(),_Ue=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,TUe=/^\w*$/;function AUe(e,t){if(bUe(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||wUe(e)?!0:TUe.test(e)||!_Ue.test(e)||t!=null&&e in Object(t)}Pj.exports=AUe});var Fj=J((OEt,qj)=>{var Ij=Q3(),MUe="Expected a function";function nE(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(MUe);var r=function(){var n=arguments,i=t?t.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var o=e.apply(this,n);return r.cache=a.set(i,o)||a,o};return r.cache=new(nE.Cache||Ij),r}nE.Cache=Ij;qj.exports=nE});var Nj=J((BEt,zj)=>{var kUe=Fj(),SUe=500;function CUe(e){var t=kUe(e,function(n){return r.size===SUe&&r.clear(),n}),r=t.cache;return t}zj.exports=CUe});var Bj=J((UEt,Oj)=>{var EUe=Nj(),LUe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,DUe=/\\(\\)?/g,RUe=EUe(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(LUe,function(r,n,i,a){t.push(i?a.replace(DUe,"$1"):n||r)}),t});Oj.exports=RUe});var Hj=J((HEt,Uj)=>{function PUe(e,t){for(var r=-1,n=e==null?0:e.length,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i}Uj.exports=PUe});var Xj=J((jEt,Wj)=>{var jj=_b(),IUe=Hj(),qUe=Ov(),FUe=rT(),zUe=1/0,Vj=jj?jj.prototype:void 0,Yj=Vj?Vj.toString:void 0;function Gj(e){if(typeof e=="string")return e;if(qUe(e))return IUe(e,Gj)+"";if(FUe(e))return Yj?Yj.call(e):"";var t=e+"";return t=="0"&&1/e==-zUe?"-0":t}Wj.exports=Gj});var Jj=J((VEt,Zj)=>{var NUe=Xj();function OUe(e){return e==null?"":NUe(e)}Zj.exports=OUe});var iE=J((YEt,$j)=>{var BUe=Ov(),UUe=nT(),HUe=Bj(),jUe=Jj();function VUe(e,t){return BUe(e)?e:UUe(e,t)?[e]:HUe(jUe(e))}$j.exports=VUe});var Db=J((GEt,Kj)=>{var YUe=rT(),GUe=1/0;function WUe(e){if(typeof e=="string"||YUe(e))return e;var t=e+"";return t=="0"&&1/e==-GUe?"-0":t}Kj.exports=WUe});var aE=J((WEt,Qj)=>{var XUe=iE(),ZUe=Db();function JUe(e,t){t=XUe(t,e);for(var r=0,n=t.length;e!=null&&r<n;)e=e[ZUe(t[r++])];return r&&r==n?e:void 0}Qj.exports=JUe});var oE=J((XEt,eV)=>{var $Ue=aE();function KUe(e,t,r){var n=e==null?void 0:$Ue(e,t);return n===void 0?r:n}eV.exports=KUe});var rV=J((ZEt,tV)=>{function QUe(e,t){return e!=null&&t in Object(e)}tV.exports=QUe});var iV=J((JEt,nV)=>{var eHe=iE(),tHe=O6(),rHe=Ov(),nHe=U6(),iHe=J3(),aHe=Db();function oHe(e,t,r){t=eHe(t,e);for(var n=-1,i=t.length,a=!1;++n<i;){var o=aHe(t[n]);if(!(a=e!=null&&r(e,o)))break;e=e[o]}return a||++n!=i?a:(i=e==null?0:e.length,!!i&&iHe(i)&&nHe(o,i)&&(rHe(e)||tHe(e)))}nV.exports=oHe});var oV=J(($Et,aV)=>{var sHe=rV(),lHe=iV();function uHe(e,t){return e!=null&&lHe(e,t,sHe)}aV.exports=uHe});var lV=J((KEt,sV)=>{var fHe=eE(),cHe=oE(),hHe=oV(),vHe=nT(),dHe=tE(),pHe=rE(),gHe=Db(),mHe=1,yHe=2;function xHe(e,t){return vHe(e)&&dHe(t)?pHe(gHe(e),t):function(r){var n=cHe(r,e);return n===void 0&&n===t?hHe(r,e):fHe(t,n,mHe|yHe)}}sV.exports=xHe});var fV=J((QEt,uV)=>{function bHe(e){return e}uV.exports=bHe});var hV=J((eLt,cV)=>{function wHe(e){return function(t){return t?.[e]}}cV.exports=wHe});var dV=J((tLt,vV)=>{var _He=aE();function THe(e){return function(t){return _He(t,e)}}vV.exports=THe});var gV=J((rLt,pV)=>{var AHe=hV(),MHe=dV(),kHe=nT(),SHe=Db();function CHe(e){return kHe(e)?AHe(SHe(e)):MHe(e)}pV.exports=CHe});var yV=J((nLt,mV)=>{var EHe=Dj(),LHe=lV(),DHe=fV(),RHe=Ov(),PHe=gV();function IHe(e){return typeof e=="function"?e:e==null?DHe:typeof e=="object"?RHe(e)?LHe(e[0],e[1]):EHe(e):PHe(e)}mV.exports=IHe});var bV=J((iLt,xV)=>{var qHe=_B(),FHe=hU(),zHe=yV();function NHe(e,t){var r={};return t=zHe(t,3),FHe(e,function(n,i,a){qHe(r,i,t(n,i,a))}),r}xV.exports=NHe});var iT=J(TV=>{"use strict";TV.version="2.34.0"});var MV=J((AV,aT)=>{(function(t,r,n){r[t]=r[t]||n(),typeof aT<"u"&&aT.exports?aT.exports=r[t]:typeof define=="function"&&define.amd&&define(function(){return r[t]})})("Promise",typeof global<"u"?global:AV,function(){"use strict";var t,r,n,i=Object.prototype.toString,a=typeof setImmediate<"u"?function(_){return setImmediate(_)}:setTimeout;try{Object.defineProperty({},"x",{}),t=function(_,T,w,k){return Object.defineProperty(_,T,{value:w,writable:!0,configurable:k!==!1})}}catch{t=function(T,w,k){return T[w]=k,T}}n=function(){var _,T,w;function k(x,M){this.fn=x,this.self=M,this.next=void 0}return{add:function(M,A){w=new k(M,A),T?T.next=w:_=w,T=w,w=void 0},drain:function(){var M=_;for(_=T=r=void 0;M;)M.fn.call(M.self),M=M.next}}}();function o(g,_){n.add(g,_),r||(r=a(n.drain))}function s(g){var _,T=typeof g;return g!=null&&(T=="object"||T=="function")&&(_=g.then),typeof _=="function"?_:!1}function l(){for(var g=0;g<this.chain.length;g++)u(this,this.state===1?this.chain[g].success:this.chain[g].failure,this.chain[g]);this.chain.length=0}function u(g,_,T){var w,k;try{_===!1?T.reject(g.msg):(_===!0?w=g.msg:w=_.call(void 0,g.msg),w===T.promise?T.reject(TypeError("Promise-chain cycle")):(k=s(w))?k.call(w,T.resolve,T.reject):T.resolve(w))}catch(x){T.reject(x)}}function f(g){var _,T=this;if(!T.triggered){T.triggered=!0,T.def&&(T=T.def);try{(_=s(g))?o(function(){var w=new d(T);try{_.call(g,function(){f.apply(w,arguments)},function(){c.apply(w,arguments)})}catch(k){c.call(w,k)}}):(T.msg=g,T.state=1,T.chain.length>0&&o(l,T))}catch(w){c.call(new d(T),w)}}}function c(g){var _=this;_.triggered||(_.triggered=!0,_.def&&(_=_.def),_.msg=g,_.state=2,_.chain.length>0&&o(l,_))}function h(g,_,T,w){for(var k=0;k<_.length;k++)(function(M){g.resolve(_[M]).then(function(p){T(M,p)},w)})(k)}function d(g){this.def=g,this.triggered=!1}function v(g){this.promise=g,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function m(g){if(typeof g!="function")throw TypeError("Not a function");if(this.__NPO__!==0)throw TypeError("Not a promise");this.__NPO__=1;var _=new v(this);this.then=function(w,k){var x={success:typeof w=="function"?w:!0,failure:typeof k=="function"?k:!1};return x.promise=new this.constructor(function(A,p){if(typeof A!="function"||typeof p!="function")throw TypeError("Not a function");x.resolve=A,x.reject=p}),_.chain.push(x),_.state!==0&&o(l,_),x.promise},this.catch=function(w){return this.then(void 0,w)};try{g.call(void 0,function(w){f.call(_,w)},function(w){c.call(_,w)})}catch(T){c.call(_,T)}}var b=t({},"constructor",m,!1);return m.prototype=b,t(b,"__NPO__",0,!1),t(m,"resolve",function(_){var T=this;return _&&typeof _=="object"&&_.__NPO__===1?_:new T(function(k,x){if(typeof k!="function"||typeof x!="function")throw TypeError("Not a function");k(_)})}),t(m,"reject",function(_){return new this(function(w,k){if(typeof w!="function"||typeof k!="function")throw TypeError("Not a function");k(_)})}),t(m,"all",function(_){var T=this;return i.call(_)!="[object Array]"?T.reject(TypeError("Not an array")):_.length===0?T.resolve([]):new T(function(k,x){if(typeof k!="function"||typeof x!="function")throw TypeError("Not a function");var M=_.length,A=Array(M),p=0;h(T,_,function(y,E){A[y]=E,++p===M&&k(A)},x)})}),t(m,"race",function(_){var T=this;return i.call(_)!="[object Array]"?T.reject(TypeError("Not an array")):new T(function(k,x){if(typeof k!="function"||typeof x!="function")throw TypeError("Not a function");h(T,_,function(A,p){k(p)},x)})}),m})});var Nr=J((lLt,oT)=>{(function(){var e={version:"3.8.2"},t=[].slice,r=function(z){return t.call(z)},n=self.document;function i(z){return z&&(z.ownerDocument||z.document||z).documentElement}function a(z){return z&&(z.ownerDocument&&z.ownerDocument.defaultView||z.document&&z||z.defaultView)}if(n)try{r(n.documentElement.childNodes)[0].nodeType}catch{r=function(H){for(var X=H.length,se=new Array(X);X--;)se[X]=H[X];return se}}if(Date.now||(Date.now=function(){return+new Date}),n)try{n.createElement("DIV").style.setProperty("opacity",0,"")}catch{var o=this.Element.prototype,s=o.setAttribute,l=o.setAttributeNS,u=this.CSSStyleDeclaration.prototype,f=u.setProperty;o.setAttribute=function(H,X){s.call(this,H,X+"")},o.setAttributeNS=function(H,X,se){l.call(this,H,X,se+"")},u.setProperty=function(H,X,se){f.call(this,H,X+"",se)}}e.ascending=c;function c(z,H){return z<H?-1:z>H?1:z>=H?0:NaN}e.descending=function(z,H){return H<z?-1:H>z?1:H>=z?0:NaN},e.min=function(z,H){var X=-1,se=z.length,ue,he;if(arguments.length===1){for(;++X<se;)if((he=z[X])!=null&&he>=he){ue=he;break}for(;++X<se;)(he=z[X])!=null&&ue>he&&(ue=he)}else{for(;++X<se;)if((he=H.call(z,z[X],X))!=null&&he>=he){ue=he;break}for(;++X<se;)(he=H.call(z,z[X],X))!=null&&ue>he&&(ue=he)}return ue},e.max=function(z,H){var X=-1,se=z.length,ue,he;if(arguments.length===1){for(;++X<se;)if((he=z[X])!=null&&he>=he){ue=he;break}for(;++X<se;)(he=z[X])!=null&&he>ue&&(ue=he)}else{for(;++X<se;)if((he=H.call(z,z[X],X))!=null&&he>=he){ue=he;break}for(;++X<se;)(he=H.call(z,z[X],X))!=null&&he>ue&&(ue=he)}return ue},e.extent=function(z,H){var X=-1,se=z.length,ue,he,Se;if(arguments.length===1){for(;++X<se;)if((he=z[X])!=null&&he>=he){ue=Se=he;break}for(;++X<se;)(he=z[X])!=null&&(ue>he&&(ue=he),Se<he&&(Se=he))}else{for(;++X<se;)if((he=H.call(z,z[X],X))!=null&&he>=he){ue=Se=he;break}for(;++X<se;)(he=H.call(z,z[X],X))!=null&&(ue>he&&(ue=he),Se<he&&(Se=he))}return[ue,Se]};function h(z){return z===null?NaN:+z}function d(z){return!isNaN(z)}e.sum=function(z,H){var X=0,se=z.length,ue,he=-1;if(arguments.length===1)for(;++he<se;)d(ue=+z[he])&&(X+=ue);else for(;++he<se;)d(ue=+H.call(z,z[he],he))&&(X+=ue);return X},e.mean=function(z,H){var X=0,se=z.length,ue,he=-1,Se=se;if(arguments.length===1)for(;++he<se;)d(ue=h(z[he]))?X+=ue:--Se;else for(;++he<se;)d(ue=h(H.call(z,z[he],he)))?X+=ue:--Se;if(Se)return X/Se},e.quantile=function(z,H){var X=(z.length-1)*H+1,se=Math.floor(X),ue=+z[se-1],he=X-se;return he?ue+he*(z[se]-ue):ue},e.median=function(z,H){var X=[],se=z.length,ue,he=-1;if(arguments.length===1)for(;++he<se;)d(ue=h(z[he]))&&X.push(ue);else for(;++he<se;)d(ue=h(H.call(z,z[he],he)))&&X.push(ue);if(X.length)return e.quantile(X.sort(c),.5)},e.variance=function(z,H){var X=z.length,se=0,ue,he,Se=0,xe=-1,qe=0;if(arguments.length===1)for(;++xe<X;)d(ue=h(z[xe]))&&(he=ue-se,se+=he/++qe,Se+=he*(ue-se));else for(;++xe<X;)d(ue=h(H.call(z,z[xe],xe)))&&(he=ue-se,se+=he/++qe,Se+=he*(ue-se));if(qe>1)return Se/(qe-1)},e.deviation=function(){var z=e.variance.apply(this,arguments);return z&&Math.sqrt(z)};function v(z){return{left:function(H,X,se,ue){for(arguments.length<3&&(se=0),arguments.length<4&&(ue=H.length);se<ue;){var he=se+ue>>>1;z(H[he],X)<0?se=he+1:ue=he}return se},right:function(H,X,se,ue){for(arguments.length<3&&(se=0),arguments.length<4&&(ue=H.length);se<ue;){var he=se+ue>>>1;z(H[he],X)>0?ue=he:se=he+1}return se}}}var m=v(c);e.bisectLeft=m.left,e.bisect=e.bisectRight=m.right,e.bisector=function(z){return v(z.length===1?function(H,X){return c(z(H),X)}:z)},e.shuffle=function(z,H,X){(se=arguments.length)<3&&(X=z.length,se<2&&(H=0));for(var se=X-H,ue,he;se;)he=Math.random()*se--|0,ue=z[se+H],z[se+H]=z[he+H],z[he+H]=ue;return z},e.permute=function(z,H){for(var X=H.length,se=new Array(X);X--;)se[X]=z[H[X]];return se},e.pairs=function(z){for(var H=0,X=z.length-1,se,ue=z[0],he=new Array(X<0?0:X);H<X;)he[H]=[se=ue,ue=z[++H]];return he},e.transpose=function(z){if(!(he=z.length))return[];for(var H=-1,X=e.min(z,b),se=new Array(X);++H<X;)for(var ue=-1,he,Se=se[H]=new Array(he);++ue<he;)Se[ue]=z[ue][H];return se};function b(z){return z.length}e.zip=function(){return e.transpose(arguments)},e.keys=function(z){var H=[];for(var X in z)H.push(X);return H},e.values=function(z){var H=[];for(var X in z)H.push(z[X]);return H},e.entries=function(z){var H=[];for(var X in z)H.push({key:X,value:z[X]});return H},e.merge=function(z){for(var H=z.length,X,se=-1,ue=0,he,Se;++se<H;)ue+=z[se].length;for(he=new Array(ue);--H>=0;)for(Se=z[H],X=Se.length;--X>=0;)he[--ue]=Se[X];return he};var g=Math.abs;e.range=function(z,H,X){if(arguments.length<3&&(X=1,arguments.length<2&&(H=z,z=0)),(H-z)/X===1/0)throw new Error("infinite range");var se=[],ue=_(g(X)),he=-1,Se;if(z*=ue,H*=ue,X*=ue,X<0)for(;(Se=z+X*++he)>H;)se.push(Se/ue);else for(;(Se=z+X*++he)<H;)se.push(Se/ue);return se};function _(z){for(var H=1;z*H%1;)H*=10;return H}function T(z,H){for(var X in H)Object.defineProperty(z.prototype,X,{value:H[X],enumerable:!1})}e.map=function(z,H){var X=new w;if(z instanceof w)z.forEach(function(xe,qe){X.set(xe,qe)});else if(Array.isArray(z)){var se=-1,ue=z.length,he;if(arguments.length===1)for(;++se<ue;)X.set(se,z[se]);else for(;++se<ue;)X.set(H.call(z,he=z[se],se),he)}else for(var Se in z)X.set(Se,z[Se]);return X};function w(){this._=Object.create(null)}var k="__proto__",x="\0";T(w,{has:p,get:function(z){return this._[M(z)]},set:function(z,H){return this._[M(z)]=H},remove:S,keys:y,values:function(){var z=[];for(var H in this._)z.push(this._[H]);return z},entries:function(){var z=[];for(var H in this._)z.push({key:A(H),value:this._[H]});return z},size:E,empty:C,forEach:function(z){for(var H in this._)z.call(this,A(H),this._[H])}});function M(z){return(z+="")===k||z[0]===x?x+z:z}function A(z){return(z+="")[0]===x?z.slice(1):z}function p(z){return M(z)in this._}function S(z){return(z=M(z))in this._&&delete this._[z]}function y(){var z=[];for(var H in this._)z.push(A(H));return z}function E(){var z=0;for(var H in this._)++z;return z}function C(){for(var z in this._)return!1;return!0}e.nest=function(){var z={},H=[],X=[],se,ue;function he(xe,qe,Xe){if(Xe>=H.length)return ue?ue.call(z,qe):se?qe.sort(se):qe;for(var Je=-1,dt=qe.length,pt=H[Xe++],It,Nt,mt,kt=new w,Dt;++Je<dt;)(Dt=kt.get(It=pt(Nt=qe[Je])))?Dt.push(Nt):kt.set(It,[Nt]);return xe?(Nt=xe(),mt=function(Ot,Bt){Nt.set(Ot,he(xe,Bt,Xe))}):(Nt={},mt=function(Ot,Bt){Nt[Ot]=he(xe,Bt,Xe)}),kt.forEach(mt),Nt}function Se(xe,qe){if(qe>=H.length)return xe;var Xe=[],Je=X[qe++];return xe.forEach(function(dt,pt){Xe.push({key:dt,values:Se(pt,qe)})}),Je?Xe.sort(function(dt,pt){return Je(dt.key,pt.key)}):Xe}return z.map=function(xe,qe){return he(qe,xe,0)},z.entries=function(xe){return Se(he(e.map,xe,0),0)},z.key=function(xe){return H.push(xe),z},z.sortKeys=function(xe){return X[H.length-1]=xe,z},z.sortValues=function(xe){return se=xe,z},z.rollup=function(xe){return ue=xe,z},z},e.set=function(z){var H=new L;if(z)for(var X=0,se=z.length;X<se;++X)H.add(z[X]);return H};function L(){this._=Object.create(null)}T(L,{has:p,add:function(z){return this._[M(z+="")]=!0,z},remove:S,values:y,size:E,empty:C,forEach:function(z){for(var H in this._)z.call(this,A(H))}}),e.behavior={};function R(z){return z}e.rebind=function(z,H){for(var X=1,se=arguments.length,ue;++X<se;)z[ue=arguments[X]]=I(z,H,H[ue]);return z};function I(z,H,X){return function(){var se=X.apply(H,arguments);return se===H?z:se}}function P(z,H){if(H in z)return H;H=H.charAt(0).toUpperCase()+H.slice(1);for(var X=0,se=D.length;X<se;++X){var ue=D[X]+H;if(ue in z)return ue}}var D=["webkit","ms","moz","Moz","o","O"];function q(){}e.dispatch=function(){for(var z=new N,H=-1,X=arguments.length;++H<X;)z[arguments[H]]=U(z);return z};function N(){}N.prototype.on=function(z,H){var X=z.indexOf("."),se="";if(X>=0&&(se=z.slice(X+1),z=z.slice(0,X)),z)return arguments.length<2?this[z].on(se):this[z].on(se,H);if(arguments.length===2){if(H==null)for(z in this)this.hasOwnProperty(z)&&this[z].on(se,null);return this}};function U(z){var H=[],X=new w;function se(){for(var ue=H,he=-1,Se=ue.length,xe;++he<Se;)(xe=ue[he].on)&&xe.apply(this,arguments);return z}return se.on=function(ue,he){var Se=X.get(ue),xe;return arguments.length<2?Se&&Se.on:(Se&&(Se.on=null,H=H.slice(0,xe=H.indexOf(Se)).concat(H.slice(xe+1)),X.remove(ue)),he&&H.push(X.set(ue,{on:he})),z)},se}e.event=null;function G(){e.event.preventDefault()}function ee(){for(var z=e.event,H;H=z.sourceEvent;)z=H;return z}function Q(z){for(var H=new N,X=0,se=arguments.length;++X<se;)H[arguments[X]]=U(H);return H.of=function(ue,he){return function(Se){try{var xe=Se.sourceEvent=e.event;Se.target=z,e.event=Se,H[Se.type].apply(ue,he)}finally{e.event=xe}}},H}e.requote=function(z){return z.replace(j,"\\$&")};var j=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,O={}.__proto__?function(z,H){z.__proto__=H}:function(z,H){for(var X in H)z[X]=H[X]};function Z(z){return O(z,te),z}var K=function(z,H){return H.querySelector(z)},$=function(z,H){return H.querySelectorAll(z)},oe=function(z,H){var X=z.matches||z[P(z,"matchesSelector")];return oe=function(se,ue){return X.call(se,ue)},oe(z,H)};typeof Sizzle=="function"&&(K=function(z,H){return Sizzle(z,H)[0]||null},$=Sizzle,oe=Sizzle.matchesSelector),e.selection=function(){return e.select(n.documentElement)};var te=e.selection.prototype=[];te.select=function(z){var H=[],X,se,ue,he;z=V(z);for(var Se=-1,xe=this.length;++Se<xe;){H.push(X=[]),X.parentNode=(ue=this[Se]).parentNode;for(var qe=-1,Xe=ue.length;++qe<Xe;)(he=ue[qe])?(X.push(se=z.call(he,he.__data__,qe,Se)),se&&"__data__"in he&&(se.__data__=he.__data__)):X.push(null)}return Z(H)};function V(z){return typeof z=="function"?z:function(){return K(z,this)}}te.selectAll=function(z){var H=[],X,se;z=ne(z);for(var ue=-1,he=this.length;++ue<he;)for(var Se=this[ue],xe=-1,qe=Se.length;++xe<qe;)(se=Se[xe])&&(H.push(X=r(z.call(se,se.__data__,xe,ue))),X.parentNode=se);return Z(H)};function ne(z){return typeof z=="function"?z:function(){return $(z,this)}}var W="http://www.w3.org/1999/xhtml",fe={svg:"http://www.w3.org/2000/svg",xhtml:W,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};e.ns={prefix:fe,qualify:function(z){var H=z.indexOf(":"),X=z;return H>=0&&(X=z.slice(0,H))!=="xmlns"&&(z=z.slice(H+1)),fe.hasOwnProperty(X)?{space:fe[X],local:z}:z}},te.attr=function(z,H){if(arguments.length<2){if(typeof z=="string"){var X=this.node();return z=e.ns.qualify(z),z.local?X.getAttributeNS(z.space,z.local):X.getAttribute(z)}for(H in z)this.each(ge(H,z[H]));return this}return this.each(ge(z,H))};function ge(z,H){z=e.ns.qualify(z);function X(){this.removeAttribute(z)}function se(){this.removeAttributeNS(z.space,z.local)}function ue(){this.setAttribute(z,H)}function he(){this.setAttributeNS(z.space,z.local,H)}function Se(){var qe=H.apply(this,arguments);qe==null?this.removeAttribute(z):this.setAttribute(z,qe)}function xe(){var qe=H.apply(this,arguments);qe==null?this.removeAttributeNS(z.space,z.local):this.setAttributeNS(z.space,z.local,qe)}return H==null?z.local?se:X:typeof H=="function"?z.local?xe:Se:z.local?he:ue}function Ce(z){return z.trim().replace(/\s+/g," ")}te.classed=function(z,H){if(arguments.length<2){if(typeof z=="string"){var X=this.node(),se=(z=pe(z)).length,ue=-1;if(H=X.classList){for(;++ue<se;)if(!H.contains(z[ue]))return!1}else for(H=X.getAttribute("class");++ue<se;)if(!Ne(z[ue]).test(H))return!1;return!0}for(H in z)this.each(me(H,z[H]));return this}return this.each(me(z,H))};function Ne(z){return new RegExp("(?:^|\\s+)"+e.requote(z)+"(?:\\s+|$)","g")}function pe(z){return(z+"").trim().split(/^|\s+/)}function me(z,H){z=pe(z).map(Ie);var X=z.length;function se(){for(var he=-1;++he<X;)z[he](this,H)}function ue(){for(var he=-1,Se=H.apply(this,arguments);++he<X;)z[he](this,Se)}return typeof H=="function"?ue:se}function Ie(z){var H=Ne(z);return function(X,se){if(ue=X.classList)return se?ue.add(z):ue.remove(z);var ue=X.getAttribute("class")||"";se?(H.lastIndex=0,H.test(ue)||X.setAttribute("class",Ce(ue+" "+z))):X.setAttribute("class",Ce(ue.replace(H," ")))}}te.style=function(z,H,X){var se=arguments.length;if(se<3){if(typeof z!="string"){se<2&&(H="");for(X in z)this.each(Re(X,z[X],H));return this}if(se<2){var ue=this.node();return a(ue).getComputedStyle(ue,null).getPropertyValue(z)}X=""}return this.each(Re(z,H,X))};function Re(z,H,X){function se(){this.style.removeProperty(z)}function ue(){this.style.setProperty(z,H,X)}function he(){var Se=H.apply(this,arguments);Se==null?this.style.removeProperty(z):this.style.setProperty(z,Se,X)}return H==null?se:typeof H=="function"?he:ue}te.property=function(z,H){if(arguments.length<2){if(typeof z=="string")return this.node()[z];for(H in z)this.each(ze(H,z[H]));return this}return this.each(ze(z,H))};function ze(z,H){function X(){delete this[z]}function se(){this[z]=H}function ue(){var he=H.apply(this,arguments);he==null?delete this[z]:this[z]=he}return H==null?X:typeof H=="function"?ue:se}te.text=function(z){return arguments.length?this.each(typeof z=="function"?function(){var H=z.apply(this,arguments);this.textContent=H??""}:z==null?function(){this.textContent=""}:function(){this.textContent=z}):this.node().textContent},te.html=function(z){return arguments.length?this.each(typeof z=="function"?function(){var H=z.apply(this,arguments);this.innerHTML=H??""}:z==null?function(){this.innerHTML=""}:function(){this.innerHTML=z}):this.node().innerHTML},te.append=function(z){return z=Be(z),this.select(function(){return this.appendChild(z.apply(this,arguments))})};function Be(z){function H(){var se=this.ownerDocument,ue=this.namespaceURI;return ue===W&&se.documentElement.namespaceURI===W?se.createElement(z):se.createElementNS(ue,z)}function X(){return this.ownerDocument.createElementNS(z.space,z.local)}return typeof z=="function"?z:(z=e.ns.qualify(z)).local?X:H}te.insert=function(z,H){return z=Be(z),H=V(H),this.select(function(){return this.insertBefore(z.apply(this,arguments),H.apply(this,arguments)||null)})},te.remove=function(){return this.each(tt)};function tt(){var z=this.parentNode;z&&z.removeChild(this)}te.data=function(z,H){var X=-1,se=this.length,ue,he;if(!arguments.length){for(z=new Array(se=(ue=this[0]).length);++X<se;)(he=ue[X])&&(z[X]=he.__data__);return z}function Se(Je,dt){var pt,It=Je.length,Nt=dt.length,mt=Math.min(It,Nt),kt=new Array(Nt),Dt=new Array(Nt),Ot=new Array(It),Bt,Rt;if(H){var ur=new w,Dr=new Array(It),Pr;for(pt=-1;++pt<It;)(Bt=Je[pt])&&(ur.has(Pr=H.call(Bt,Bt.__data__,pt))?Ot[pt]=Bt:ur.set(Pr,Bt),Dr[pt]=Pr);for(pt=-1;++pt<Nt;)(Bt=ur.get(Pr=H.call(dt,Rt=dt[pt],pt)))?Bt!==!0&&(kt[pt]=Bt,Bt.__data__=Rt):Dt[pt]=rt(Rt),ur.set(Pr,!0);for(pt=-1;++pt<It;)pt in Dr&&ur.get(Dr[pt])!==!0&&(Ot[pt]=Je[pt])}else{for(pt=-1;++pt<mt;)Bt=Je[pt],Rt=dt[pt],Bt?(Bt.__data__=Rt,kt[pt]=Bt):Dt[pt]=rt(Rt);for(;pt<Nt;++pt)Dt[pt]=rt(dt[pt]);for(;pt<It;++pt)Ot[pt]=Je[pt]}Dt.update=kt,Dt.parentNode=kt.parentNode=Ot.parentNode=Je.parentNode,xe.push(Dt),qe.push(kt),Xe.push(Ot)}var xe=Pe([]),qe=Z([]),Xe=Z([]);if(typeof z=="function")for(;++X<se;)Se(ue=this[X],z.call(ue,ue.parentNode.__data__,X));else for(;++X<se;)Se(ue=this[X],z);return qe.enter=function(){return xe},qe.exit=function(){return Xe},qe};function rt(z){return{__data__:z}}te.datum=function(z){return arguments.length?this.property("__data__",z):this.property("__data__")},te.filter=function(z){var H=[],X,se,ue;typeof z!="function"&&(z=ce(z));for(var he=0,Se=this.length;he<Se;he++){H.push(X=[]),X.parentNode=(se=this[he]).parentNode;for(var xe=0,qe=se.length;xe<qe;xe++)(ue=se[xe])&&z.call(ue,ue.__data__,xe,he)&&X.push(ue)}return Z(H)};function ce(z){return function(){return oe(this,z)}}te.order=function(){for(var z=-1,H=this.length;++z<H;)for(var X=this[z],se=X.length-1,ue=X[se],he;--se>=0;)(he=X[se])&&(ue&&ue!==he.nextSibling&&ue.parentNode.insertBefore(he,ue),ue=he);return this},te.sort=function(z){z=Ee.apply(this,arguments);for(var H=-1,X=this.length;++H<X;)this[H].sort(z);return this.order()};function Ee(z){return arguments.length||(z=c),function(H,X){return H&&X?z(H.__data__,X.__data__):!H-!X}}te.each=function(z){return Ae(this,function(H,X,se){z.call(H,H.__data__,X,se)})};function Ae(z,H){for(var X=0,se=z.length;X<se;X++)for(var ue=z[X],he=0,Se=ue.length,xe;he<Se;he++)(xe=ue[he])&&H(xe,he,X);return z}te.call=function(z){var H=r(arguments);return z.apply(H[0]=this,H),this},te.empty=function(){return!this.node()},te.node=function(){for(var z=0,H=this.length;z<H;z++)for(var X=this[z],se=0,ue=X.length;se<ue;se++){var he=X[se];if(he)return he}return null},te.size=function(){var z=0;return Ae(this,function(){++z}),z};function Pe(z){return O(z,He),z}var He=[];e.selection.enter=Pe,e.selection.enter.prototype=He,He.append=te.append,He.empty=te.empty,He.node=te.node,He.call=te.call,He.size=te.size,He.select=function(z){for(var H=[],X,se,ue,he,Se,xe=-1,qe=this.length;++xe<qe;){ue=(he=this[xe]).update,H.push(X=[]),X.parentNode=he.parentNode;for(var Xe=-1,Je=he.length;++Xe<Je;)(Se=he[Xe])?(X.push(ue[Xe]=se=z.call(he.parentNode,Se.__data__,Xe,xe)),se.__data__=Se.__data__):X.push(null)}return Z(H)},He.insert=function(z,H){return arguments.length<2&&(H=Fe(this)),te.insert.call(this,z,H)};function Fe(z){var H,X;return function(se,ue,he){var Se=z[he].update,xe=Se.length,qe;for(he!=X&&(X=he,H=0),ue>=H&&(H=ue+1);!(qe=Se[H])&&++H<xe;);return qe}}e.select=function(z){var H;return typeof z=="string"?(H=[K(z,n)],H.parentNode=n.documentElement):(H=[z],H.parentNode=i(z)),Z([H])},e.selectAll=function(z){var H;return typeof z=="string"?(H=r($(z,n)),H.parentNode=n.documentElement):(H=r(z),H.parentNode=null),Z([H])},te.on=function(z,H,X){var se=arguments.length;if(se<3){if(typeof z!="string"){se<2&&(H=!1);for(X in z)this.each(ke(X,z[X],H));return this}if(se<2)return(se=this.node()["__on"+z])&&se._;X=!1}return this.each(ke(z,H,X))};function ke(z,H,X){var se="__on"+z,ue=z.indexOf("."),he=Ge;ue>0&&(z=z.slice(0,ue));var Se=Ue.get(z);Se&&(z=Se,he=lt);function xe(){var Je=this[se];Je&&(this.removeEventListener(z,Je,Je.$),delete this[se])}function qe(){var Je=he(H,r(arguments));xe.call(this),this.addEventListener(z,this[se]=Je,Je.$=X),Je._=H}function Xe(){var Je=new RegExp("^__on([^.]+)"+e.requote(z)+"$"),dt;for(var pt in this)if(dt=pt.match(Je)){var It=this[pt];this.removeEventListener(dt[1],It,It.$),delete this[pt]}}return ue?H?qe:xe:H?q:Xe}var Ue=e.map({mouseenter:"mouseover",mouseleave:"mouseout"});n&&Ue.forEach(function(z){"on"+z in n&&Ue.remove(z)});function Ge(z,H){return function(X){var se=e.event;e.event=X,H[0]=this.__data__;try{z.apply(this,H)}finally{e.event=se}}}function lt(z,H){var X=Ge(z,H);return function(se){var ue=this,he=se.relatedTarget;(!he||he!==ue&&!(he.compareDocumentPosition(ue)&8))&&X.call(ue,se)}}var it,wt=0;function _t(z){var H=".dragsuppress-"+ ++wt,X="click"+H,se=e.select(a(z)).on("touchmove"+H,G).on("dragstart"+H,G).on("selectstart"+H,G);if(it==null&&(it="onselectstart"in z?!1:P(z.style,"userSelect")),it){var ue=i(z).style,he=ue[it];ue[it]="none"}return function(Se){if(se.on(H,null),it&&(ue[it]=he),Se){var xe=function(){se.on(X,null)};se.on(X,function(){G(),xe()},!0),setTimeout(xe,0)}}}e.mouse=function(z){return nt(z,ee())};var Tt=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function nt(z,H){H.changedTouches&&(H=H.changedTouches[0]);var X=z.ownerSVGElement||z;if(X.createSVGPoint){var se=X.createSVGPoint();if(Tt<0){var ue=a(z);if(ue.scrollX||ue.scrollY){X=e.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var he=X[0][0].getScreenCTM();Tt=!(he.f||he.e),X.remove()}}return Tt?(se.x=H.pageX,se.y=H.pageY):(se.x=H.clientX,se.y=H.clientY),se=se.matrixTransform(z.getScreenCTM().inverse()),[se.x,se.y]}var Se=z.getBoundingClientRect();return[H.clientX-Se.left-z.clientLeft,H.clientY-Se.top-z.clientTop]}e.touch=function(z,H,X){if(arguments.length<3&&(X=H,H=ee().changedTouches),H){for(var se=0,ue=H.length,he;se<ue;++se)if((he=H[se]).identifier===X)return nt(z,he)}},e.behavior.drag=function(){var z=Q(ue,"drag","dragstart","dragend"),H=null,X=he(q,e.mouse,a,"mousemove","mouseup"),se=he(bt,e.touch,R,"touchmove","touchend");function ue(){this.on("mousedown.drag",X).on("touchstart.drag",se)}function he(Se,xe,qe,Xe,Je){return function(){var dt=this,pt=e.event.target.correspondingElement||e.event.target,It=dt.parentNode,Nt=z.of(dt,arguments),mt=0,kt=Se(),Dt=".drag"+(kt==null?"":"-"+kt),Ot,Bt=e.select(qe(pt)).on(Xe+Dt,Dr).on(Je+Dt,Pr),Rt=_t(pt),ur=xe(It,kt);H?(Ot=H.apply(dt,arguments),Ot=[Ot.x-ur[0],Ot.y-ur[1]]):Ot=[0,0],Nt({type:"dragstart"});function Dr(){var lr=xe(It,kt),Vr,Yr;lr&&(Vr=lr[0]-ur[0],Yr=lr[1]-ur[1],mt|=Vr|Yr,ur=lr,Nt({type:"drag",x:lr[0]+Ot[0],y:lr[1]+Ot[1],dx:Vr,dy:Yr}))}function Pr(){xe(It,kt)&&(Bt.on(Xe+Dt,null).on(Je+Dt,null),Rt(mt),Nt({type:"dragend"}))}}}return ue.origin=function(Se){return arguments.length?(H=Se,ue):H},e.rebind(ue,z,"on")};function bt(){return e.event.changedTouches[0].identifier}e.touches=function(z,H){return arguments.length<2&&(H=ee().touches),H?r(H).map(function(X){var se=nt(z,X);return se.identifier=X.identifier,se}):[]};var At=1e-6,Ye=At*At,je=Math.PI,$e=2*je,ve=$e-At,Y=je/2,ie=je/180,Te=180/je;function Ve(z){return z>0?1:z<0?-1:0}function at(z,H,X){return(H[0]-z[0])*(X[1]-z[1])-(H[1]-z[1])*(X[0]-z[0])}function ft(z){return z>1?0:z<-1?je:Math.acos(z)}function Ht(z){return z>1?Y:z<-1?-Y:Math.asin(z)}function Xt(z){return((z=Math.exp(z))-1/z)/2}function St(z){return((z=Math.exp(z))+1/z)/2}function Vt(z){return((z=Math.exp(2*z))-1)/(z+1)}function er(z){return(z=Math.sin(z/2))*z}var _r=Math.SQRT2,br=2,or=4;e.interpolateZoom=function(z,H){var X=z[0],se=z[1],ue=z[2],he=H[0],Se=H[1],xe=H[2],qe=he-X,Xe=Se-se,Je=qe*qe+Xe*Xe,dt,pt;if(Je<Ye)pt=Math.log(xe/ue)/_r,dt=function(Ot){return[X+Ot*qe,se+Ot*Xe,ue*Math.exp(_r*Ot*pt)]};else{var It=Math.sqrt(Je),Nt=(xe*xe-ue*ue+or*Je)/(2*ue*br*It),mt=(xe*xe-ue*ue-or*Je)/(2*xe*br*It),kt=Math.log(Math.sqrt(Nt*Nt+1)-Nt),Dt=Math.log(Math.sqrt(mt*mt+1)-mt);pt=(Dt-kt)/_r,dt=function(Ot){var Bt=Ot*pt,Rt=St(kt),ur=ue/(br*It)*(Rt*Vt(_r*Bt+kt)-Xt(kt));return[X+ur*qe,se+ur*Xe,ue*Rt/St(_r*Bt+kt)]}}return dt.duration=pt*1e3,dt},e.behavior.zoom=function(){var z={x:0,y:0,k:1},H,X,se,ue=[960,500],he=tn,Se=250,xe=0,qe="mousedown.zoom",Xe="mousemove.zoom",Je="mouseup.zoom",dt,pt="touchstart.zoom",It,Nt=Q(Bt,"zoomstart","zoom","zoomend"),mt,kt,Dt,Ot;Gr||(Gr="onwheel"in n?(Lr=function(){return-e.event.deltaY*(e.event.deltaMode?120:1)},"wheel"):"onmousewheel"in n?(Lr=function(){return e.event.wheelDelta},"mousewheel"):(Lr=function(){return-e.event.detail},"MozMousePixelScroll"));function Bt(Ar){Ar.on(qe,xn).on(Gr+".zoom",Pi).on("dblclick.zoom",Ii).on(pt,xi)}Bt.event=function(Ar){Ar.each(function(){var Mn=Nt.of(this,arguments),Pn=z;Ri?e.select(this).transition().each("start.zoom",function(){z=this.__chart__||{x:0,y:0,k:1},Yr(Mn)}).tween("zoom:zoom",function(){var di=ue[0],bi=ue[1],la=X?X[0]:di/2,ko=X?X[1]:bi/2,As=e.interpolateZoom([(la-z.x)/z.k,(ko-z.y)/z.k,di/z.k],[(la-Pn.x)/Pn.k,(ko-Pn.y)/Pn.k,di/Pn.k]);return function(os){var Ms=As(os),Vs=di/Ms[2];this.__chart__=z={x:la-Ms[0]*Vs,y:ko-Ms[1]*Vs,k:Vs},yn(Mn)}}).each("interrupt.zoom",function(){Wr(Mn)}).each("end.zoom",function(){Wr(Mn)}):(this.__chart__=z,Yr(Mn),yn(Mn),Wr(Mn))})},Bt.translate=function(Ar){return arguments.length?(z={x:+Ar[0],y:+Ar[1],k:z.k},Vr(),Bt):[z.x,z.y]},Bt.scale=function(Ar){return arguments.length?(z={x:z.x,y:z.y,k:null},Dr(+Ar),Vr(),Bt):z.k},Bt.scaleExtent=function(Ar){return arguments.length?(he=Ar==null?tn:[+Ar[0],+Ar[1]],Bt):he},Bt.center=function(Ar){return arguments.length?(se=Ar&&[+Ar[0],+Ar[1]],Bt):se},Bt.size=function(Ar){return arguments.length?(ue=Ar&&[+Ar[0],+Ar[1]],Bt):ue},Bt.duration=function(Ar){return arguments.length?(Se=+Ar,Bt):Se},Bt.x=function(Ar){return arguments.length?(kt=Ar,mt=Ar.copy(),z={x:0,y:0,k:1},Bt):kt},Bt.y=function(Ar){return arguments.length?(Ot=Ar,Dt=Ar.copy(),z={x:0,y:0,k:1},Bt):Ot};function Rt(Ar){return[(Ar[0]-z.x)/z.k,(Ar[1]-z.y)/z.k]}function ur(Ar){return[Ar[0]*z.k+z.x,Ar[1]*z.k+z.y]}function Dr(Ar){z.k=Math.max(he[0],Math.min(he[1],Ar))}function Pr(Ar,Mn){Mn=ur(Mn),z.x+=Ar[0]-Mn[0],z.y+=Ar[1]-Mn[1]}function lr(Ar,Mn,Pn,di){Ar.__chart__={x:z.x,y:z.y,k:z.k},Dr(Math.pow(2,di)),Pr(X=Mn,Pn),Ar=e.select(Ar),Se>0&&(Ar=Ar.transition().duration(Se)),Ar.call(Bt.event)}function Vr(){kt&&kt.domain(mt.range().map(function(Ar){return(Ar-z.x)/z.k}).map(mt.invert)),Ot&&Ot.domain(Dt.range().map(function(Ar){return(Ar-z.y)/z.k}).map(Dt.invert))}function Yr(Ar){xe++||Ar({type:"zoomstart"})}function yn(Ar){Vr(),Ar({type:"zoom",scale:z.k,translate:[z.x,z.y]})}function Wr(Ar){--xe||(Ar({type:"zoomend"}),X=null)}function xn(){var Ar=this,Mn=Nt.of(Ar,arguments),Pn=0,di=e.select(a(Ar)).on(Xe,ko).on(Je,As),bi=Rt(e.mouse(Ar)),la=_t(Ar);on.call(Ar),Yr(Mn);function ko(){Pn=1,Pr(e.mouse(Ar),bi),yn(Mn)}function As(){di.on(Xe,null).on(Je,null),la(Pn),Wr(Mn)}}function xi(){var Ar=this,Mn=Nt.of(Ar,arguments),Pn={},di=0,bi,la=".zoom-"+e.event.changedTouches[0].identifier,ko="touchmove"+la,As="touchend"+la,os=[],Ms=e.select(Ar),Vs=_t(Ar);Ys(),Yr(Mn),Ms.on(qe,null).on(pt,Ys);function ss(){var xf=e.touches(Ar);return bi=z.k,xf.forEach(function(Ea){Ea.identifier in Pn&&(Pn[Ea.identifier]=Rt(Ea))}),xf}function Ys(){var xf=e.event.target;e.select(xf).on(ko,Xc).on(As,Nh),os.push(xf);for(var Ea=e.event.changedTouches,eu=0,bf=Ea.length;eu<bf;++eu)Pn[Ea[eu].identifier]=null;var Pl=ss(),Wd=Date.now();if(Pl.length===1){if(Wd-It<500){var Rv=Pl[0];lr(Ar,Rv,Pn[Rv.identifier],Math.floor(Math.log(z.k)/Math.LN2)+1),G()}It=Wd}else if(Pl.length>1){var Rv=Pl[0],Oh=Pl[1],Sp=Rv[0]-Oh[0],gb=Rv[1]-Oh[1];di=Sp*Sp+gb*gb}}function Xc(){var xf=e.touches(Ar),Ea,eu,bf,Pl;on.call(Ar);for(var Wd=0,Rv=xf.length;Wd<Rv;++Wd,Pl=null)if(bf=xf[Wd],Pl=Pn[bf.identifier]){if(eu)break;Ea=bf,eu=Pl}if(Pl){var Oh=(Oh=bf[0]-Ea[0])*Oh+(Oh=bf[1]-Ea[1])*Oh,Sp=di&&Math.sqrt(Oh/di);Ea=[(Ea[0]+bf[0])/2,(Ea[1]+bf[1])/2],eu=[(eu[0]+Pl[0])/2,(eu[1]+Pl[1])/2],Dr(Sp*bi)}It=null,Pr(Ea,eu),yn(Mn)}function Nh(){if(e.event.touches.length){for(var xf=e.event.changedTouches,Ea=0,eu=xf.length;Ea<eu;++Ea)delete Pn[xf[Ea].identifier];for(var bf in Pn)return void ss()}e.selectAll(os).on(la,null),Ms.on(qe,xn).on(pt,xi),Vs(),Wr(Mn)}}function Pi(){var Ar=Nt.of(this,arguments);dt?clearTimeout(dt):(on.call(this),H=Rt(X=se||e.mouse(this)),Yr(Ar)),dt=setTimeout(function(){dt=null,Wr(Ar)},50),G(),Dr(Math.pow(2,Lr()*.002)*z.k),Pr(X,H),yn(Ar)}function Ii(){var Ar=e.mouse(this),Mn=Math.log(z.k)/Math.LN2;lr(this,Ar,Rt(Ar),e.event.shiftKey?Math.ceil(Mn)-1:Math.floor(Mn)+1)}return e.rebind(Bt,Nt,"on")};var tn=[0,1/0],Lr,Gr;e.color=sn;function sn(){}sn.prototype.toString=function(){return this.rgb()+""},e.hsl=Hr;function Hr(z,H,X){return this instanceof Hr?(this.h=+z,this.s=+H,void(this.l=+X)):arguments.length<2?z instanceof Hr?new Hr(z.h,z.s,z.l):yu(""+z,Xl,Hr):new Hr(z,H,X)}var Br=Hr.prototype=new sn;Br.brighter=function(z){return z=Math.pow(.7,arguments.length?z:1),new Hr(this.h,this.s,this.l/z)},Br.darker=function(z){return z=Math.pow(.7,arguments.length?z:1),new Hr(this.h,this.s,z*this.l)},Br.rgb=function(){return qn(this.h,this.s,this.l)};function qn(z,H,X){var se,ue;z=isNaN(z)?0:(z%=360)<0?z+360:z,H=isNaN(H)||H<0?0:H>1?1:H,X=X<0?0:X>1?1:X,ue=X<=.5?X*(1+H):X+H-X*H,se=2*X-ue;function he(xe){return xe>360?xe-=360:xe<0&&(xe+=360),xe<60?se+(ue-se)*xe/60:xe<180?ue:xe<240?se+(ue-se)*(240-xe)/60:se}function Se(xe){return Math.round(he(xe)*255)}return new si(Se(z+120),Se(z),Se(z-120))}e.hcl=kn;function kn(z,H,X){return this instanceof kn?(this.h=+z,this.c=+H,void(this.l=+X)):arguments.length<2?z instanceof kn?new kn(z.h,z.c,z.l):z instanceof Fn?ii(z.l,z.a,z.b):ii((z=xu((z=e.rgb(z)).r,z.g,z.b)).l,z.a,z.b):new kn(z,H,X)}var Yn=kn.prototype=new sn;Yn.brighter=function(z){return new kn(this.h,this.c,Math.min(100,this.l+wn*(arguments.length?z:1)))},Yn.darker=function(z){return new kn(this.h,this.c,Math.max(0,this.l-wn*(arguments.length?z:1)))},Yn.rgb=function(){return Wn(this.h,this.c,this.l).rgb()};function Wn(z,H,X){return isNaN(z)&&(z=0),isNaN(H)&&(H=0),new Fn(X,Math.cos(z*=ie)*H,Math.sin(z)*H)}e.lab=Fn;function Fn(z,H,X){return this instanceof Fn?(this.l=+z,this.a=+H,void(this.b=+X)):arguments.length<2?z instanceof Fn?new Fn(z.l,z.a,z.b):z instanceof kn?Wn(z.h,z.c,z.l):xu((z=si(z)).r,z.g,z.b):new Fn(z,H,X)}var wn=18,Si=.95047,Aa=1,ia=1.08883,An=Fn.prototype=new sn;An.brighter=function(z){return new Fn(Math.min(100,this.l+wn*(arguments.length?z:1)),this.a,this.b)},An.darker=function(z){return new Fn(Math.max(0,this.l-wn*(arguments.length?z:1)),this.a,this.b)},An.rgb=function(){return Ji(this.l,this.a,this.b)};function Ji(z,H,X){var se=(z+16)/116,ue=se+H/500,he=se-X/200;return ue=bo(ue)*Si,se=bo(se)*Aa,he=bo(he)*ia,new si(Ia(3.2404542*ue-1.5371385*se-.4985314*he),Ia(-.969266*ue+1.8760108*se+.041556*he),Ia(.0556434*ue-.2040259*se+1.0572252*he))}function ii(z,H,X){return z>0?new kn(Math.atan2(X,H)*Te,Math.sqrt(H*H+X*X),z):new kn(NaN,NaN,z)}function bo(z){return z>.206893034?z*z*z:(z-4/29)/7.787037}function ga(z){return z>.008856?Math.pow(z,1/3):7.787037*z+4/29}function Ia(z){return Math.round(255*(z<=.00304?12.92*z:1.055*Math.pow(z,1/2.4)-.055))}e.rgb=si;function si(z,H,X){return this instanceof si?(this.r=~~z,this.g=~~H,void(this.b=~~X)):arguments.length<2?z instanceof si?new si(z.r,z.g,z.b):yu(""+z,si,qn):new si(z,H,X)}function aa(z){return new si(z>>16,z>>8&255,z&255)}function wo(z){return aa(z)+""}var ma=si.prototype=new sn;ma.brighter=function(z){z=Math.pow(.7,arguments.length?z:1);var H=this.r,X=this.g,se=this.b,ue=30;return!H&&!X&&!se?new si(ue,ue,ue):(H&&H<ue&&(H=ue),X&&X<ue&&(X=ue),se&&se<ue&&(se=ue),new si(Math.min(255,H/z),Math.min(255,X/z),Math.min(255,se/z)))},ma.darker=function(z){return z=Math.pow(.7,arguments.length?z:1),new si(z*this.r,z*this.g,z*this.b)},ma.hsl=function(){return Xl(this.r,this.g,this.b)},ma.toString=function(){return"#"+oa(this.r)+oa(this.g)+oa(this.b)};function oa(z){return z<16?"0"+Math.max(0,z).toString(16):Math.min(255,z).toString(16)}function yu(z,H,X){var se=0,ue=0,he=0,Se,xe,qe;if(Se=/([a-z]+)\((.*)\)/.exec(z=z.toLowerCase()),Se)switch(xe=Se[2].split(","),Se[1]){case"hsl":return X(parseFloat(xe[0]),parseFloat(xe[1])/100,parseFloat(xe[2])/100);case"rgb":return H(ct(xe[0]),ct(xe[1]),ct(xe[2]))}return(qe=ht.get(z))?H(qe.r,qe.g,qe.b):(z!=null&&z.charAt(0)==="#"&&!isNaN(qe=parseInt(z.slice(1),16))&&(z.length===4?(se=(qe&3840)>>4,se=se>>4|se,ue=qe&240,ue=ue>>4|ue,he=qe&15,he=he<<4|he):z.length===7&&(se=(qe&16711680)>>16,ue=(qe&65280)>>8,he=qe&255)),H(se,ue,he))}function Xl(z,H,X){var se=Math.min(z/=255,H/=255,X/=255),ue=Math.max(z,H,X),he=ue-se,Se,xe,qe=(ue+se)/2;return he?(xe=qe<.5?he/(ue+se):he/(2-ue-se),z==ue?Se=(H-X)/he+(H<X?6:0):H==ue?Se=(X-z)/he+2:Se=(z-H)/he+4,Se*=60):(Se=NaN,xe=qe>0&&qe<1?0:Se),new Hr(Se,xe,qe)}function xu(z,H,X){z=De(z),H=De(H),X=De(X);var se=ga((.4124564*z+.3575761*H+.1804375*X)/Si),ue=ga((.2126729*z+.7151522*H+.072175*X)/Aa),he=ga((.0193339*z+.119192*H+.9503041*X)/ia);return Fn(116*ue-16,500*(se-ue),200*(ue-he))}function De(z){return(z/=255)<=.04045?z/12.92:Math.pow((z+.055)/1.055,2.4)}function ct(z){var H=parseFloat(z);return z.charAt(z.length-1)==="%"?Math.round(H*2.55):H}var ht=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});ht.forEach(function(z,H){ht.set(z,aa(H))});function Mt(z){return typeof z=="function"?z:function(){return z}}e.functor=Mt,e.xhr=Gt(R);function Gt(z){return function(H,X,se){return arguments.length===2&&typeof X=="function"&&(se=X,X=null),Lt(H,X,z,se)}}function Lt(z,H,X,se){var ue={},he=e.dispatch("beforesend","progress","load","error"),Se={},xe=new XMLHttpRequest,qe=null;self.XDomainRequest&&!("withCredentials"in xe)&&/^(http(s)?:)?\/\//.test(z)&&(xe=new XDomainRequest),"onload"in xe?xe.onload=xe.onerror=Xe:xe.onreadystatechange=function(){xe.readyState>3&&Xe()};function Xe(){var Je=xe.status,dt;if(!Je&&zt(xe)||Je>=200&&Je<300||Je===304){try{dt=X.call(ue,xe)}catch(pt){he.error.call(ue,pt);return}he.load.call(ue,dt)}else he.error.call(ue,xe)}return xe.onprogress=function(Je){var dt=e.event;e.event=Je;try{he.progress.call(ue,xe)}finally{e.event=dt}},ue.header=function(Je,dt){return Je=(Je+"").toLowerCase(),arguments.length<2?Se[Je]:(dt==null?delete Se[Je]:Se[Je]=dt+"",ue)},ue.mimeType=function(Je){return arguments.length?(H=Je==null?null:Je+"",ue):H},ue.responseType=function(Je){return arguments.length?(qe=Je,ue):qe},ue.response=function(Je){return X=Je,ue},["get","post"].forEach(function(Je){ue[Je]=function(){return ue.send.apply(ue,[Je].concat(r(arguments)))}}),ue.send=function(Je,dt,pt){if(arguments.length===2&&typeof dt=="function"&&(pt=dt,dt=null),xe.open(Je,z,!0),H!=null&&!("accept"in Se)&&(Se.accept=H+",*/*"),xe.setRequestHeader)for(var It in Se)xe.setRequestHeader(It,Se[It]);return H!=null&&xe.overrideMimeType&&xe.overrideMimeType(H),qe!=null&&(xe.responseType=qe),pt!=null&&ue.on("error",pt).on("load",function(Nt){pt(null,Nt)}),he.beforesend.call(ue,xe),xe.send(dt??null),ue},ue.abort=function(){return xe.abort(),ue},e.rebind(ue,he,"on"),se==null?ue:ue.get(ir(se))}function ir(z){return z.length===1?function(H,X){z(H==null?X:null)}:z}function zt(z){var H=z.responseType;return H&&H!=="text"?z.response:z.responseText}e.dsv=function(z,H){var X=new RegExp('["'+z+`
|
|
]`),se=z.charCodeAt(0);function ue(Xe,Je,dt){arguments.length<3&&(dt=Je,Je=null);var pt=Lt(Xe,H,Je==null?he:Se(Je),dt);return pt.row=function(It){return arguments.length?pt.response((Je=It)==null?he:Se(It)):Je},pt}function he(Xe){return ue.parse(Xe.responseText)}function Se(Xe){return function(Je){return ue.parse(Je.responseText,Xe)}}ue.parse=function(Xe,Je){var dt;return ue.parseRows(Xe,function(pt,It){if(dt)return dt(pt,It-1);var Nt=function(mt){for(var kt={},Dt=pt.length,Ot=0;Ot<Dt;++Ot)kt[pt[Ot]]=mt[Ot];return kt};dt=Je?function(mt,kt){return Je(Nt(mt),kt)}:Nt})},ue.parseRows=function(Xe,Je){var dt={},pt={},It=[],Nt=Xe.length,mt=0,kt=0,Dt,Ot;function Bt(){if(mt>=Nt)return pt;if(Ot)return Ot=!1,dt;var ur=mt;if(Xe.charCodeAt(ur)===34){for(var Dr=ur;Dr++<Nt;)if(Xe.charCodeAt(Dr)===34){if(Xe.charCodeAt(Dr+1)!==34)break;++Dr}mt=Dr+2;var Pr=Xe.charCodeAt(Dr+1);return Pr===13?(Ot=!0,Xe.charCodeAt(Dr+2)===10&&++mt):Pr===10&&(Ot=!0),Xe.slice(ur+1,Dr).replace(/""/g,'"')}for(;mt<Nt;){var Pr=Xe.charCodeAt(mt++),lr=1;if(Pr===10)Ot=!0;else if(Pr===13)Ot=!0,Xe.charCodeAt(mt)===10&&(++mt,++lr);else if(Pr!==se)continue;return Xe.slice(ur,mt-lr)}return Xe.slice(ur)}for(;(Dt=Bt())!==pt;){for(var Rt=[];Dt!==dt&&Dt!==pt;)Rt.push(Dt),Dt=Bt();Je&&(Rt=Je(Rt,kt++))==null||It.push(Rt)}return It},ue.format=function(Xe){if(Array.isArray(Xe[0]))return ue.formatRows(Xe);var Je=new L,dt=[];return Xe.forEach(function(pt){for(var It in pt)Je.has(It)||dt.push(Je.add(It))}),[dt.map(qe).join(z)].concat(Xe.map(function(pt){return dt.map(function(It){return qe(pt[It])}).join(z)})).join(`
|
|
`)},ue.formatRows=function(Xe){return Xe.map(xe).join(`
|
|
`)};function xe(Xe){return Xe.map(qe).join(z)}function qe(Xe){return X.test(Xe)?'"'+Xe.replace(/\"/g,'""')+'"':Xe}return ue},e.csv=e.dsv(",","text/csv"),e.tsv=e.dsv(" ","text/tab-separated-values");var ar,kr,Er,Xr,vn=this[P(this,"requestAnimationFrame")]||function(z){setTimeout(z,17)};e.timer=function(){ei.apply(this,arguments)};function ei(z,H,X){var se=arguments.length;se<2&&(H=0),se<3&&(X=Date.now());var ue=X+H,he={c:z,t:ue,n:null};return kr?kr.n=he:ar=he,kr=he,Er||(Xr=clearTimeout(Xr),Er=1,vn(Rn)),he}function Rn(){var z=hi(),H=Xn()-z;H>24?(isFinite(H)&&(clearTimeout(Xr),Xr=setTimeout(Rn,H)),Er=0):(Er=1,vn(Rn))}e.timer.flush=function(){hi(),Xn()};function hi(){for(var z=Date.now(),H=ar;H;)z>=H.t&&H.c(z-H.t)&&(H.c=null),H=H.n;return z}function Xn(){for(var z,H=ar,X=1/0;H;)H.c?(H.t<X&&(X=H.t),H=(z=H).n):H=z?z.n=H.n:ar=H.n;return kr=z,X}e.round=function(z,H){return H?Math.round(z*(H=Math.pow(10,H)))/H:Math.round(z)},e.geom={};function $i(z){return z[0]}function Ki(z){return z[1]}e.geom.hull=function(z){var H=$i,X=Ki;if(arguments.length)return se(z);function se(ue){if(ue.length<3)return[];var he=Mt(H),Se=Mt(X),xe,qe=ue.length,Xe=[],Je=[];for(xe=0;xe<qe;xe++)Xe.push([+he.call(this,ue[xe],xe),+Se.call(this,ue[xe],xe),xe]);for(Xe.sort(Ma),xe=0;xe<qe;xe++)Je.push([Xe[xe][0],-Xe[xe][1]]);var dt=sa(Xe),pt=sa(Je),It=pt[0]===dt[0],Nt=pt[pt.length-1]===dt[dt.length-1],mt=[];for(xe=dt.length-1;xe>=0;--xe)mt.push(ue[Xe[dt[xe]][2]]);for(xe=+It;xe<pt.length-Nt;++xe)mt.push(ue[Xe[pt[xe]][2]]);return mt}return se.x=function(ue){return arguments.length?(H=ue,se):H},se.y=function(ue){return arguments.length?(X=ue,se):X},se};function sa(z){for(var H=z.length,X=[0,1],se=2,ue=2;ue<H;ue++){for(;se>1&&at(z[X[se-2]],z[X[se-1]],z[ue])<=0;)--se;X[se++]=ue}return X.slice(0,se)}function Ma(z,H){return z[0]-H[0]||z[1]-H[1]}e.geom.polygon=function(z){return O(z,qa),z};var qa=e.geom.polygon.prototype=[];qa.area=function(){for(var z=-1,H=this.length,X,se=this[H-1],ue=0;++z<H;)X=se,se=this[z],ue+=X[1]*se[0]-X[0]*se[1];return ue*.5},qa.centroid=function(z){var H=-1,X=this.length,se=0,ue=0,he,Se=this[X-1],xe;for(arguments.length||(z=-1/(6*this.area()));++H<X;)he=Se,Se=this[H],xe=he[0]*Se[1]-Se[0]*he[1],se+=(he[0]+Se[0])*xe,ue+=(he[1]+Se[1])*xe;return[se*z,ue*z]},qa.clip=function(z){for(var H,X=_o(z),se=-1,ue=this.length-_o(this),he,Se,xe=this[ue-1],qe,Xe,Je;++se<ue;){for(H=z.slice(),z.length=0,qe=this[se],Xe=H[(Se=H.length-X)-1],he=-1;++he<Se;)Je=H[he],Fa(Je,xe,qe)?(Fa(Xe,xe,qe)||z.push($o(Xe,Je,xe,qe)),z.push(Je)):Fa(Xe,xe,qe)&&z.push($o(Xe,Je,xe,qe)),Xe=Je;X&&z.push(z[0]),xe=qe}return z};function Fa(z,H,X){return(X[0]-H[0])*(z[1]-H[1])<(X[1]-H[1])*(z[0]-H[0])}function $o(z,H,X,se){var ue=z[0],he=X[0],Se=H[0]-ue,xe=se[0]-he,qe=z[1],Xe=X[1],Je=H[1]-qe,dt=se[1]-Xe,pt=(xe*(qe-Xe)-dt*(ue-he))/(dt*Se-xe*Je);return[ue+pt*Se,qe+pt*Je]}function _o(z){var H=z[0],X=z[z.length-1];return!(H[0]-X[0]||H[1]-X[1])}var ka,za,zn,Zr=[],vi,Ko,tl=[];function Zl(){rs(this),this.edge=this.site=this.circle=null}function qs(z){var H=Zr.pop()||new Zl;return H.site=z,H}function Qo(z){ws(z),zn.remove(z),Zr.push(z),rs(z)}function rl(z){var H=z.circle,X=H.x,se=H.cy,ue={x:X,y:se},he=z.P,Se=z.N,xe=[z];Qo(z);for(var qe=he;qe.circle&&g(X-qe.circle.x)<At&&g(se-qe.circle.cy)<At;)he=qe.P,xe.unshift(qe),Qo(qe),qe=he;xe.unshift(qe),ws(qe);for(var Xe=Se;Xe.circle&&g(X-Xe.circle.x)<At&&g(se-Xe.circle.cy)<At;)Se=Xe.N,xe.push(Xe),Qo(Xe),Xe=Se;xe.push(Xe),ws(Xe);var Je=xe.length,dt;for(dt=1;dt<Je;++dt)Xe=xe[dt],qe=xe[dt-1],Na(Xe.edge,qe.site,Xe.site,ue);qe=xe[0],Xe=xe[Je-1],Xe.edge=Ja(qe.site,Xe.site,null,ue),bs(qe),bs(Xe)}function ef(z){for(var H=z.x,X=z.y,se,ue,he,Se,xe=zn._;xe;)if(he=Bi(xe,X)-H,he>At)xe=xe.L;else if(Se=H-tf(xe,X),Se>At){if(!xe.R){se=xe;break}xe=xe.R}else{he>-At?(se=xe.P,ue=xe):Se>-At?(se=xe,ue=xe.N):se=ue=xe;break}var qe=qs(z);if(zn.insert(se,qe),!(!se&&!ue)){if(se===ue){ws(se),ue=qs(se.site),zn.insert(qe,ue),qe.edge=ue.edge=Ja(se.site,qe.site),bs(se),bs(ue);return}if(!ue){qe.edge=Ja(se.site,qe.site);return}ws(se),ws(ue);var Xe=se.site,Je=Xe.x,dt=Xe.y,pt=z.x-Je,It=z.y-dt,Nt=ue.site,mt=Nt.x-Je,kt=Nt.y-dt,Dt=2*(pt*kt-It*mt),Ot=pt*pt+It*It,Bt=mt*mt+kt*kt,Rt={x:(kt*Ot-It*Bt)/Dt+Je,y:(pt*Bt-mt*Ot)/Dt+dt};Na(ue.edge,Xe,Nt,Rt),qe.edge=Ja(Xe,z,null,Rt),ue.edge=Ja(z,Nt,null,Rt),bs(se),bs(ue)}}function Bi(z,H){var X=z.site,se=X.x,ue=X.y,he=ue-H;if(!he)return se;var Se=z.P;if(!Se)return-1/0;X=Se.site;var xe=X.x,qe=X.y,Xe=qe-H;if(!Xe)return xe;var Je=xe-se,dt=1/he-1/Xe,pt=Je/Xe;return dt?(-pt+Math.sqrt(pt*pt-2*dt*(Je*Je/(-2*Xe)-qe+Xe/2+ue-he/2)))/dt+se:(se+xe)/2}function tf(z,H){var X=z.N;if(X)return Bi(X,H);var se=z.site;return se.y===H?se.x:1/0}function so(z){this.site=z,this.edges=[]}so.prototype.prepare=function(){for(var z=this.edges,H=z.length,X;H--;)X=z[H].edge,(!X.b||!X.a)&&z.splice(H,1);return z.sort(Fs),z.length};function es(z){for(var H=z[0][0],X=z[1][0],se=z[0][1],ue=z[1][1],he,Se,xe,qe,Xe=za,Je=Xe.length,dt,pt,It,Nt,mt,kt;Je--;)if(dt=Xe[Je],!(!dt||!dt.prepare()))for(It=dt.edges,Nt=It.length,pt=0;pt<Nt;)kt=It[pt].end(),xe=kt.x,qe=kt.y,mt=It[++pt%Nt].start(),he=mt.x,Se=mt.y,(g(xe-he)>At||g(qe-Se)>At)&&(It.splice(pt,0,new nf(wp(dt.site,kt,g(xe-H)<At&&ue-qe>At?{x:H,y:g(he-H)<At?Se:ue}:g(qe-ue)<At&&X-xe>At?{x:g(Se-ue)<At?he:X,y:ue}:g(xe-X)<At&&qe-se>At?{x:X,y:g(he-X)<At?Se:se}:g(qe-se)<At&&xe-H>At?{x:g(Se-se)<At?he:H,y:se}:null),dt.site,null)),++Nt)}function Fs(z,H){return H.angle-z.angle}function lo(){rs(this),this.x=this.y=this.arc=this.site=this.cy=null}function bs(z){var H=z.P,X=z.N;if(!(!H||!X)){var se=H.site,ue=z.site,he=X.site;if(se!==he){var Se=ue.x,xe=ue.y,qe=se.x-Se,Xe=se.y-xe,Je=he.x-Se,kt=he.y-xe,dt=2*(qe*kt-Xe*Je);if(!(dt>=-Ye)){var pt=qe*qe+Xe*Xe,It=Je*Je+kt*kt,Nt=(kt*pt-Xe*It)/dt,mt=(qe*It-Je*pt)/dt,kt=mt+xe,Dt=tl.pop()||new lo;Dt.arc=z,Dt.site=ue,Dt.x=Nt+Se,Dt.y=kt+Math.sqrt(Nt*Nt+mt*mt),Dt.cy=kt,z.circle=Dt;for(var Ot=null,Bt=Ko._;Bt;)if(Dt.y<Bt.y||Dt.y===Bt.y&&Dt.x<=Bt.x)if(Bt.L)Bt=Bt.L;else{Ot=Bt.P;break}else if(Bt.R)Bt=Bt.R;else{Ot=Bt;break}Ko.insert(Ot,Dt),Ot||(vi=Dt)}}}}function ws(z){var H=z.circle;H&&(H.P||(vi=H.N),Ko.remove(H),tl.push(H),rs(H),z.circle=null)}function rf(z,H,X,se){return function(ue){var he=ue.a,Se=ue.b,xe=he.x,qe=he.y,Xe=Se.x,Je=Se.y,dt=0,pt=1,It=Xe-xe,Nt=Je-qe,mt;if(mt=z-xe,!(!It&&mt>0)){if(mt/=It,It<0){if(mt<dt)return;mt<pt&&(pt=mt)}else if(It>0){if(mt>pt)return;mt>dt&&(dt=mt)}if(mt=X-xe,!(!It&&mt<0)){if(mt/=It,It<0){if(mt>pt)return;mt>dt&&(dt=mt)}else if(It>0){if(mt<dt)return;mt<pt&&(pt=mt)}if(mt=H-qe,!(!Nt&&mt>0)){if(mt/=Nt,Nt<0){if(mt<dt)return;mt<pt&&(pt=mt)}else if(Nt>0){if(mt>pt)return;mt>dt&&(dt=mt)}if(mt=se-qe,!(!Nt&&mt<0)){if(mt/=Nt,Nt<0){if(mt>pt)return;mt>dt&&(dt=mt)}else if(Nt>0){if(mt<dt)return;mt<pt&&(pt=mt)}return dt>0&&(ue.a={x:xe+dt*It,y:qe+dt*Nt}),pt<1&&(ue.b={x:xe+pt*It,y:qe+pt*Nt}),ue}}}}}}function ts(z){for(var H=ka,X=rf(z[0][0],z[0][1],z[1][0],z[1][1]),se=H.length,ue;se--;)ue=H[se],(!Id(ue,z)||!X(ue)||g(ue.a.x-ue.b.x)<At&&g(ue.a.y-ue.b.y)<At)&&(ue.a=ue.b=null,H.splice(se,1))}function Id(z,H){var X=z.b;if(X)return!0;var se=z.a,ue=H[0][0],he=H[1][0],Se=H[0][1],xe=H[1][1],qe=z.l,Xe=z.r,Je=qe.x,dt=qe.y,pt=Xe.x,It=Xe.y,Nt=(Je+pt)/2,mt=(dt+It)/2,kt,Dt;if(It===dt){if(Nt<ue||Nt>=he)return;if(Je>pt){if(!se)se={x:Nt,y:Se};else if(se.y>=xe)return;X={x:Nt,y:xe}}else{if(!se)se={x:Nt,y:xe};else if(se.y<Se)return;X={x:Nt,y:Se}}}else if(kt=(Je-pt)/(It-dt),Dt=mt-kt*Nt,kt<-1||kt>1)if(Je>pt){if(!se)se={x:(Se-Dt)/kt,y:Se};else if(se.y>=xe)return;X={x:(xe-Dt)/kt,y:xe}}else{if(!se)se={x:(xe-Dt)/kt,y:xe};else if(se.y<Se)return;X={x:(Se-Dt)/kt,y:Se}}else if(dt<It){if(!se)se={x:ue,y:kt*ue+Dt};else if(se.x>=he)return;X={x:he,y:kt*he+Dt}}else{if(!se)se={x:he,y:kt*he+Dt};else if(se.x<ue)return;X={x:ue,y:kt*ue+Dt}}return z.a=se,z.b=X,!0}function kl(z,H){this.l=z,this.r=H,this.a=this.b=null}function Ja(z,H,X,se){var ue=new kl(z,H);return ka.push(ue),X&&Na(ue,z,H,X),se&&Na(ue,H,z,se),za[z.i].edges.push(new nf(ue,z,H)),za[H.i].edges.push(new nf(ue,H,z)),ue}function wp(z,H,X){var se=new kl(z,null);return se.a=H,se.b=X,ka.push(se),se}function Na(z,H,X,se){!z.a&&!z.b?(z.a=se,z.l=H,z.r=X):z.l===X?z.b=se:z.a=se}function nf(z,H,X){var se=z.a,ue=z.b;this.edge=z,this.site=H,this.angle=X?Math.atan2(X.y-H.y,X.x-H.x):z.l===H?Math.atan2(ue.x-se.x,se.y-ue.y):Math.atan2(se.x-ue.x,ue.y-se.y)}nf.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 bu(){this._=null}function rs(z){z.U=z.C=z.L=z.R=z.P=z.N=null}bu.prototype={insert:function(z,H){var X,se,ue;if(z){if(H.P=z,H.N=z.N,z.N&&(z.N.P=H),z.N=H,z.R){for(z=z.R;z.L;)z=z.L;z.L=H}else z.R=H;X=z}else this._?(z=Ui(this._),H.P=null,H.N=z,z.P=z.L=H,X=z):(H.P=H.N=null,this._=H,X=null);for(H.L=H.R=null,H.U=X,H.C=!0,z=H;X&&X.C;)se=X.U,X===se.L?(ue=se.R,ue&&ue.C?(X.C=ue.C=!1,se.C=!0,z=se):(z===X.R&&(nl(this,X),z=X,X=z.U),X.C=!1,se.C=!0,af(this,se))):(ue=se.L,ue&&ue.C?(X.C=ue.C=!1,se.C=!0,z=se):(z===X.L&&(af(this,X),z=X,X=z.U),X.C=!1,se.C=!0,nl(this,se))),X=z.U;this._.C=!1},remove:function(z){z.N&&(z.N.P=z.P),z.P&&(z.P.N=z.N),z.N=z.P=null;var H=z.U,X,se=z.L,ue=z.R,he,Se;if(se?ue?he=Ui(ue):he=se:he=ue,H?H.L===z?H.L=he:H.R=he:this._=he,se&&ue?(Se=he.C,he.C=z.C,he.L=se,se.U=he,he!==ue?(H=he.U,he.U=z.U,z=he.R,H.L=z,he.R=ue,ue.U=he):(he.U=H,H=he,z=he.R)):(Se=z.C,z=he),z&&(z.U=H),!Se){if(z&&z.C){z.C=!1;return}do{if(z===this._)break;if(z===H.L){if(X=H.R,X.C&&(X.C=!1,H.C=!0,nl(this,H),X=H.R),X.L&&X.L.C||X.R&&X.R.C){(!X.R||!X.R.C)&&(X.L.C=!1,X.C=!0,af(this,X),X=H.R),X.C=H.C,H.C=X.R.C=!1,nl(this,H),z=this._;break}}else if(X=H.L,X.C&&(X.C=!1,H.C=!0,af(this,H),X=H.L),X.L&&X.L.C||X.R&&X.R.C){(!X.L||!X.L.C)&&(X.R.C=!1,X.C=!0,nl(this,X),X=H.L),X.C=H.C,H.C=X.L.C=!1,af(this,H),z=this._;break}X.C=!0,z=H,H=H.U}while(!z.C);z&&(z.C=!1)}}};function nl(z,H){var X=H,se=H.R,ue=X.U;ue?ue.L===X?ue.L=se:ue.R=se:z._=se,se.U=ue,X.U=se,X.R=se.L,X.R&&(X.R.U=X),se.L=X}function af(z,H){var X=H,se=H.L,ue=X.U;ue?ue.L===X?ue.L=se:ue.R=se:z._=se,se.U=ue,X.U=se,X.L=se.R,X.L&&(X.L.U=X),se.R=X}function Ui(z){for(;z.L;)z=z.L;return z}function zs(z,H){var X=z.sort(of).pop(),se,ue,he;for(ka=[],za=new Array(z.length),zn=new bu,Ko=new bu;;)if(he=vi,X&&(!he||X.y<he.y||X.y===he.y&&X.x<he.x))(X.x!==se||X.y!==ue)&&(za[X.i]=new so(X),ef(X),se=X.x,ue=X.y),X=z.pop();else if(he)rl(he.arc);else break;H&&(ts(H),es(H));var Se={cells:za,edges:ka};return zn=Ko=ka=za=null,Se}function of(z,H){return H.y-z.y||H.x-z.x}e.geom.voronoi=function(z){var H=$i,X=Ki,se=H,ue=X,he=sf;if(z)return Se(z);function Se(qe){var Xe=new Array(qe.length),Je=he[0][0],dt=he[0][1],pt=he[1][0],It=he[1][1];return zs(xe(qe),he).cells.forEach(function(Nt,mt){var kt=Nt.edges,Dt=Nt.site,Ot=Xe[mt]=kt.length?kt.map(function(Bt){var Rt=Bt.start();return[Rt.x,Rt.y]}):Dt.x>=Je&&Dt.x<=pt&&Dt.y>=dt&&Dt.y<=It?[[Je,It],[pt,It],[pt,dt],[Je,dt]]:[];Ot.point=qe[mt]}),Xe}function xe(qe){return qe.map(function(Xe,Je){return{x:Math.round(se(Xe,Je)/At)*At,y:Math.round(ue(Xe,Je)/At)*At,i:Je}})}return Se.links=function(qe){return zs(xe(qe)).edges.filter(function(Xe){return Xe.l&&Xe.r}).map(function(Xe){return{source:qe[Xe.l.i],target:qe[Xe.r.i]}})},Se.triangles=function(qe){var Xe=[];return zs(xe(qe)).cells.forEach(function(Je,dt){for(var pt=Je.site,It=Je.edges.sort(Fs),Nt=-1,mt=It.length,kt,Dt,Ot=It[mt-1].edge,Bt=Ot.l===pt?Ot.r:Ot.l;++Nt<mt;)kt=Ot,Dt=Bt,Ot=It[Nt].edge,Bt=Ot.l===pt?Ot.r:Ot.l,dt<Dt.i&&dt<Bt.i&&wu(pt,Dt,Bt)<0&&Xe.push([qe[dt],qe[Dt.i],qe[Bt.i]])}),Xe},Se.x=function(qe){return arguments.length?(se=Mt(H=qe),Se):H},Se.y=function(qe){return arguments.length?(ue=Mt(X=qe),Se):X},Se.clipExtent=function(qe){return arguments.length?(he=qe??sf,Se):he===sf?null:he},Se.size=function(qe){return arguments.length?Se.clipExtent(qe&&[[0,0],qe]):he===sf?null:he&&he[1]},Se};var sf=[[-1e6,-1e6],[1e6,1e6]];function wu(z,H,X){return(z.x-X.x)*(H.y-z.y)-(z.x-H.x)*(X.y-z.y)}e.geom.delaunay=function(z){return e.geom.voronoi().triangles(z)},e.geom.quadtree=function(z,H,X,se,ue){var he=$i,Se=Ki,xe;if(xe=arguments.length)return he=Hf,Se=Ah,xe===3&&(ue=X,se=H,X=H=0),qe(z);function qe(Xe){var Je,dt=Mt(he),pt=Mt(Se),It,Nt,mt,kt,Dt,Ot,Bt,Rt;if(H!=null)Dt=H,Ot=X,Bt=se,Rt=ue;else if(Bt=Rt=-(Dt=Ot=1/0),It=[],Nt=[],kt=Xe.length,xe)for(mt=0;mt<kt;++mt)Je=Xe[mt],Je.x<Dt&&(Dt=Je.x),Je.y<Ot&&(Ot=Je.y),Je.x>Bt&&(Bt=Je.x),Je.y>Rt&&(Rt=Je.y),It.push(Je.x),Nt.push(Je.y);else for(mt=0;mt<kt;++mt){var ur=+dt(Je=Xe[mt],mt),Dr=+pt(Je,mt);ur<Dt&&(Dt=ur),Dr<Ot&&(Ot=Dr),ur>Bt&&(Bt=ur),Dr>Rt&&(Rt=Dr),It.push(ur),Nt.push(Dr)}var Pr=Bt-Dt,lr=Rt-Ot;Pr>lr?Rt=Ot+Pr:Bt=Dt+lr;function Vr(Wr,xn,xi,Pi,Ii,Ar,Mn,Pn){if(!(isNaN(xi)||isNaN(Pi)))if(Wr.leaf){var di=Wr.x,bi=Wr.y;if(di!=null)if(g(di-xi)+g(bi-Pi)<.01)Yr(Wr,xn,xi,Pi,Ii,Ar,Mn,Pn);else{var la=Wr.point;Wr.x=Wr.y=Wr.point=null,Yr(Wr,la,di,bi,Ii,Ar,Mn,Pn),Yr(Wr,xn,xi,Pi,Ii,Ar,Mn,Pn)}else Wr.x=xi,Wr.y=Pi,Wr.point=xn}else Yr(Wr,xn,xi,Pi,Ii,Ar,Mn,Pn)}function Yr(Wr,xn,xi,Pi,Ii,Ar,Mn,Pn){var di=(Ii+Mn)*.5,bi=(Ar+Pn)*.5,la=xi>=di,ko=Pi>=bi,As=ko<<1|la;Wr.leaf=!1,Wr=Wr.nodes[As]||(Wr.nodes[As]=Mh()),la?Ii=di:Mn=di,ko?Ar=bi:Pn=bi,Vr(Wr,xn,xi,Pi,Ii,Ar,Mn,Pn)}var yn=Mh();if(yn.add=function(Wr){Vr(yn,Wr,+dt(Wr,++mt),+pt(Wr,mt),Dt,Ot,Bt,Rt)},yn.visit=function(Wr){Ns(Wr,yn,Dt,Ot,Bt,Rt)},yn.find=function(Wr){return lf(yn,Wr[0],Wr[1],Dt,Ot,Bt,Rt)},mt=-1,H==null){for(;++mt<kt;)Vr(yn,Xe[mt],It[mt],Nt[mt],Dt,Ot,Bt,Rt);--mt}else Xe.forEach(yn.add);return It=Nt=Xe=Je=null,yn}return qe.x=function(Xe){return arguments.length?(he=Xe,qe):he},qe.y=function(Xe){return arguments.length?(Se=Xe,qe):Se},qe.extent=function(Xe){return arguments.length?(Xe==null?H=X=se=ue=null:(H=+Xe[0][0],X=+Xe[0][1],se=+Xe[1][0],ue=+Xe[1][1]),qe):H==null?null:[[H,X],[se,ue]]},qe.size=function(Xe){return arguments.length?(Xe==null?H=X=se=ue=null:(H=X=0,se=+Xe[0],ue=+Xe[1]),qe):H==null?null:[se-H,ue-X]},qe};function Hf(z){return z.x}function Ah(z){return z.y}function Mh(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function Ns(z,H,X,se,ue,he){if(!z(H,X,se,ue,he)){var Se=(X+ue)*.5,xe=(se+he)*.5,qe=H.nodes;qe[0]&&Ns(z,qe[0],X,se,Se,xe),qe[1]&&Ns(z,qe[1],Se,se,ue,xe),qe[2]&&Ns(z,qe[2],X,xe,Se,he),qe[3]&&Ns(z,qe[3],Se,xe,ue,he)}}function lf(z,H,X,se,ue,he,Se){var xe=1/0,qe;return function Xe(Je,dt,pt,It,Nt){if(!(dt>he||pt>Se||It<se||Nt<ue)){if(mt=Je.point){var mt,kt=H-Je.x,Dt=X-Je.y,Ot=kt*kt+Dt*Dt;if(Ot<xe){var Bt=Math.sqrt(xe=Ot);se=H-Bt,ue=X-Bt,he=H+Bt,Se=X+Bt,qe=mt}}for(var Rt=Je.nodes,ur=(dt+It)*.5,Dr=(pt+Nt)*.5,Pr=H>=ur,lr=X>=Dr,Vr=lr<<1|Pr,Yr=Vr+4;Vr<Yr;++Vr)if(Je=Rt[Vr&3])switch(Vr&3){case 0:Xe(Je,dt,pt,ur,Dr);break;case 1:Xe(Je,ur,pt,It,Dr);break;case 2:Xe(Je,dt,Dr,ur,Nt);break;case 3:Xe(Je,ur,Dr,It,Nt);break}}}(z,se,ue,he,Se),qe}e.interpolateRgb=Jl;function Jl(z,H){z=e.rgb(z),H=e.rgb(H);var X=z.r,se=z.g,ue=z.b,he=H.r-X,Se=H.g-se,xe=H.b-ue;return function(qe){return"#"+oa(Math.round(X+he*qe))+oa(Math.round(se+Se*qe))+oa(Math.round(ue+xe*qe))}}e.interpolateObject=_s;function _s(z,H){var X={},se={},ue;for(ue in z)ue in H?X[ue]=_u(z[ue],H[ue]):se[ue]=z[ue];for(ue in H)ue in z||(se[ue]=H[ue]);return function(he){for(ue in X)se[ue]=X[ue](he);return se}}e.interpolateNumber=Va;function Va(z,H){return z=+z,H=+H,function(X){return z*(1-X)+H*X}}e.interpolateString=To;function To(z,H){var X=il.lastIndex=uf.lastIndex=0,se,ue,he,Se=-1,xe=[],qe=[];for(z=z+"",H=H+"";(se=il.exec(z))&&(ue=uf.exec(H));)(he=ue.index)>X&&(he=H.slice(X,he),xe[Se]?xe[Se]+=he:xe[++Se]=he),(se=se[0])===(ue=ue[0])?xe[Se]?xe[Se]+=ue:xe[++Se]=ue:(xe[++Se]=null,qe.push({i:Se,x:Va(se,ue)})),X=uf.lastIndex;return X<H.length&&(he=H.slice(X),xe[Se]?xe[Se]+=he:xe[++Se]=he),xe.length<2?qe[0]?(H=qe[0].x,function(Xe){return H(Xe)+""}):function(){return H}:(H=qe.length,function(Xe){for(var Je=0,dt;Je<H;++Je)xe[(dt=qe[Je]).i]=dt.x(Xe);return xe.join("")})}var il=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,uf=new RegExp(il.source,"g");e.interpolate=_u;function _u(z,H){for(var X=e.interpolators.length,se;--X>=0&&!(se=e.interpolators[X](z,H)););return se}e.interpolators=[function(z,H){var X=typeof H;return(X==="string"?ht.has(H.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(H)?Jl:To:H instanceof sn?Jl:Array.isArray(H)?jf:X==="object"&&isNaN(H)?_s:Va)(z,H)}],e.interpolateArray=jf;function jf(z,H){var X=[],se=[],ue=z.length,he=H.length,Se=Math.min(z.length,H.length),xe;for(xe=0;xe<Se;++xe)X.push(_u(z[xe],H[xe]));for(;xe<ue;++xe)se[xe]=z[xe];for(;xe<he;++xe)se[xe]=H[xe];return function(qe){for(xe=0;xe<Se;++xe)se[xe]=X[xe](qe);return se}}var qc=function(){return R},kh=e.map({linear:qc,poly:Fd,quad:function(){return ff},cubic:function(){return Sh},sin:function(){return zc},exp:function(){return Nc},circle:function(){return Sl},elastic:Ch,back:Cl,bounce:function(){return Eh}}),_p=e.map({in:R,out:zo,"in-out":Fc,"out-in":function(z){return Fc(zo(z))}});e.ease=function(z){var H=z.indexOf("-"),X=H>=0?z.slice(0,H):z,se=H>=0?z.slice(H+1):"in";return X=kh.get(X)||qc,se=_p.get(se)||R,qd(se(X.apply(null,t.call(arguments,1))))};function qd(z){return function(H){return H<=0?0:H>=1?1:z(H)}}function zo(z){return function(H){return 1-z(1-H)}}function Fc(z){return function(H){return .5*(H<.5?z(2*H):2-z(2-2*H))}}function ff(z){return z*z}function Sh(z){return z*z*z}function Tv(z){if(z<=0)return 0;if(z>=1)return 1;var H=z*z,X=H*z;return 4*(z<.5?X:3*(z-H)+X-.75)}function Fd(z){return function(H){return Math.pow(H,z)}}function zc(z){return 1-Math.cos(z*Y)}function Nc(z){return Math.pow(2,10*(z-1))}function Sl(z){return 1-Math.sqrt(1-z*z)}function Ch(z,H){var X;return arguments.length<2&&(H=.45),arguments.length?X=H/$e*Math.asin(1/z):(z=1,X=H/4),function(se){return 1+z*Math.pow(2,-10*se)*Math.sin((se-X)*$e/H)}}function Cl(z){return z||(z=1.70158),function(H){return H*H*((z+1)*H-z)}}function Eh(z){return z<1/2.75?7.5625*z*z:z<2/2.75?7.5625*(z-=1.5/2.75)*z+.75:z<2.5/2.75?7.5625*(z-=2.25/2.75)*z+.9375:7.5625*(z-=2.625/2.75)*z+.984375}e.interpolateHcl=zd;function zd(z,H){z=e.hcl(z),H=e.hcl(H);var X=z.h,se=z.c,ue=z.l,he=H.h-X,Se=H.c-se,xe=H.l-ue;return isNaN(Se)&&(Se=0,se=isNaN(se)?H.c:se),isNaN(he)?(he=0,X=isNaN(X)?H.h:X):he>180?he-=360:he<-180&&(he+=360),function(qe){return Wn(X+he*qe,se+Se*qe,ue+xe*qe)+""}}e.interpolateHsl=Oc;function Oc(z,H){z=e.hsl(z),H=e.hsl(H);var X=z.h,se=z.s,ue=z.l,he=H.h-X,Se=H.s-se,xe=H.l-ue;return isNaN(Se)&&(Se=0,se=isNaN(se)?H.s:se),isNaN(he)?(he=0,X=isNaN(X)?H.h:X):he>180?he-=360:he<-180&&(he+=360),function(qe){return qn(X+he*qe,se+Se*qe,ue+xe*qe)+""}}e.interpolateLab=Nd;function Nd(z,H){z=e.lab(z),H=e.lab(H);var X=z.l,se=z.a,ue=z.b,he=H.l-X,Se=H.a-se,xe=H.b-ue;return function(qe){return Ji(X+he*qe,se+Se*qe,ue+xe*qe)+""}}e.interpolateRound=No;function No(z,H){return H-=z,function(X){return Math.round(z+H*X)}}e.transform=function(z){var H=n.createElementNS(e.ns.prefix.svg,"g");return(e.transform=function(X){if(X!=null){H.setAttribute("transform",X);var se=H.transform.baseVal.consolidate()}return new cf(se?se.matrix:Tu)})(z)};function cf(z){var H=[z.a,z.b],X=[z.c,z.d],se=Bc(H),ue=Vf(H,X),he=Bc(Uc(X,H,-ue))||0;H[0]*X[1]<X[0]*H[1]&&(H[0]*=-1,H[1]*=-1,se*=-1,ue*=-1),this.rotate=(se?Math.atan2(H[1],H[0]):Math.atan2(-X[0],X[1]))*Te,this.translate=[z.e,z.f],this.scale=[se,he],this.skew=he?Math.atan2(ue,he)*Te:0}cf.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};function Vf(z,H){return z[0]*H[0]+z[1]*H[1]}function Bc(z){var H=Math.sqrt(Vf(z,z));return H&&(z[0]/=H,z[1]/=H),H}function Uc(z,H,X){return z[0]+=X*H[0],z[1]+=X*H[1],z}var Tu={a:1,b:0,c:0,d:1,e:0,f:0};e.interpolateTransform=Lh;function $a(z){return z.length?z.pop()+",":""}function Av(z,H,X,se){if(z[0]!==H[0]||z[1]!==H[1]){var ue=X.push("translate(",null,",",null,")");se.push({i:ue-4,x:Va(z[0],H[0])},{i:ue-2,x:Va(z[1],H[1])})}else(H[0]||H[1])&&X.push("translate("+H+")")}function Mv(z,H,X,se){z!==H?(z-H>180?H+=360:H-z>180&&(z+=360),se.push({i:X.push($a(X)+"rotate(",null,")")-2,x:Va(z,H)})):H&&X.push($a(X)+"rotate("+H+")")}function Od(z,H,X,se){z!==H?se.push({i:X.push($a(X)+"skewX(",null,")")-2,x:Va(z,H)}):H&&X.push($a(X)+"skewX("+H+")")}function kv(z,H,X,se){if(z[0]!==H[0]||z[1]!==H[1]){var ue=X.push($a(X)+"scale(",null,",",null,")");se.push({i:ue-4,x:Va(z[0],H[0])},{i:ue-2,x:Va(z[1],H[1])})}else(H[0]!==1||H[1]!==1)&&X.push($a(X)+"scale("+H+")")}function Lh(z,H){var X=[],se=[];return z=e.transform(z),H=e.transform(H),Av(z.translate,H.translate,X,se),Mv(z.rotate,H.rotate,X,se),Od(z.skew,H.skew,X,se),kv(z.scale,H.scale,X,se),z=H=null,function(ue){for(var he=-1,Se=se.length,xe;++he<Se;)X[(xe=se[he]).i]=xe.x(ue);return X.join("")}}function Sv(z,H){return H=(H-=z=+z)||1/H,function(X){return(X-z)/H}}function El(z,H){return H=(H-=z=+z)||1/H,function(X){return Math.max(0,Math.min(1,(X-z)/H))}}e.layout={},e.layout.bundle=function(){return function(z){for(var H=[],X=-1,se=z.length;++X<se;)H.push(Wt(z[X]));return H}};function Wt(z){for(var H=z.source,X=z.target,se=tr(H,X),ue=[H];H!==se;)H=H.parent,ue.push(H);for(var he=ue.length;X!==se;)ue.splice(he,0,X),X=X.parent;return ue}function fr(z){for(var H=[],X=z.parent;X!=null;)H.push(z),z=X,X=X.parent;return H.push(z),H}function tr(z,H){if(z===H)return z;for(var X=fr(z),se=fr(H),ue=X.pop(),he=se.pop(),Se=null;ue===he;)Se=ue,ue=X.pop(),he=se.pop();return Se}e.layout.chord=function(){var z={},H,X,se,ue,he=0,Se,xe,qe;function Xe(){var dt={},pt=[],It=e.range(ue),Nt=[],mt,kt,Dt,Ot,Bt;for(H=[],X=[],mt=0,Ot=-1;++Ot<ue;){for(kt=0,Bt=-1;++Bt<ue;)kt+=se[Ot][Bt];pt.push(kt),Nt.push(e.range(ue)),mt+=kt}for(Se&&It.sort(function(yn,Wr){return Se(pt[yn],pt[Wr])}),xe&&Nt.forEach(function(yn,Wr){yn.sort(function(xn,xi){return xe(se[Wr][xn],se[Wr][xi])})}),mt=($e-he*ue)/mt,kt=0,Ot=-1;++Ot<ue;){for(Dt=kt,Bt=-1;++Bt<ue;){var Rt=It[Ot],ur=Nt[Rt][Bt],Dr=se[Rt][ur],Pr=kt,lr=kt+=Dr*mt;dt[Rt+"-"+ur]={index:Rt,subindex:ur,startAngle:Pr,endAngle:lr,value:Dr}}X[Rt]={index:Rt,startAngle:Dt,endAngle:kt,value:pt[Rt]},kt+=he}for(Ot=-1;++Ot<ue;)for(Bt=Ot-1;++Bt<ue;){var Vr=dt[Ot+"-"+Bt],Yr=dt[Bt+"-"+Ot];(Vr.value||Yr.value)&&H.push(Vr.value<Yr.value?{source:Yr,target:Vr}:{source:Vr,target:Yr})}qe&&Je()}function Je(){H.sort(function(dt,pt){return qe((dt.source.value+dt.target.value)/2,(pt.source.value+pt.target.value)/2)})}return z.matrix=function(dt){return arguments.length?(ue=(se=dt)&&se.length,H=X=null,z):se},z.padding=function(dt){return arguments.length?(he=dt,H=X=null,z):he},z.sortGroups=function(dt){return arguments.length?(Se=dt,H=X=null,z):Se},z.sortSubgroups=function(dt){return arguments.length?(xe=dt,H=null,z):xe},z.sortChords=function(dt){return arguments.length?(qe=dt,H&&Je(),z):qe},z.chords=function(){return H||Xe(),H},z.groups=function(){return X||Xe(),X},z},e.layout.force=function(){var z={},H=e.dispatch("start","tick","end"),X,se=[1,1],ue,he,Se=.9,xe=Dh,qe=Tp,Xe=-30,Je=Os,dt=.1,pt=.64,It=[],Nt=[],mt,kt,Dt;function Ot(Rt){return function(ur,Dr,Pr,lr){if(ur.point!==Rt){var Vr=ur.cx-Rt.x,Yr=ur.cy-Rt.y,yn=lr-Dr,Wr=Vr*Vr+Yr*Yr;if(yn*yn/pt<Wr){if(Wr<Je){var xn=ur.charge/Wr;Rt.px-=Vr*xn,Rt.py-=Yr*xn}return!0}if(ur.point&&Wr&&Wr<Je){var xn=ur.pointCharge/Wr;Rt.px-=Vr*xn,Rt.py-=Yr*xn}}return!ur.charge}}z.tick=function(){if((he*=.99)<.005)return X=null,H.end({type:"end",alpha:he=0}),!0;var Rt=It.length,ur=Nt.length,Dr,Pr,lr,Vr,Yr,yn,Wr,xn,xi;for(Pr=0;Pr<ur;++Pr)lr=Nt[Pr],Vr=lr.source,Yr=lr.target,xn=Yr.x-Vr.x,xi=Yr.y-Vr.y,(yn=xn*xn+xi*xi)&&(yn=he*kt[Pr]*((yn=Math.sqrt(yn))-mt[Pr])/yn,xn*=yn,xi*=yn,Yr.x-=xn*(Wr=Vr.weight+Yr.weight?Vr.weight/(Vr.weight+Yr.weight):.5),Yr.y-=xi*Wr,Vr.x+=xn*(Wr=1-Wr),Vr.y+=xi*Wr);if((Wr=he*dt)&&(xn=se[0]/2,xi=se[1]/2,Pr=-1,Wr))for(;++Pr<Rt;)lr=It[Pr],lr.x+=(xn-lr.x)*Wr,lr.y+=(xi-lr.y)*Wr;if(Xe)for(yi(Dr=e.geom.quadtree(It),he,Dt),Pr=-1;++Pr<Rt;)(lr=It[Pr]).fixed||Dr.visit(Ot(lr));for(Pr=-1;++Pr<Rt;)lr=It[Pr],lr.fixed?(lr.x=lr.px,lr.y=lr.py):(lr.x-=(lr.px-(lr.px=lr.x))*Se,lr.y-=(lr.py-(lr.py=lr.y))*Se);H.tick({type:"tick",alpha:he})},z.nodes=function(Rt){return arguments.length?(It=Rt,z):It},z.links=function(Rt){return arguments.length?(Nt=Rt,z):Nt},z.size=function(Rt){return arguments.length?(se=Rt,z):se},z.linkDistance=function(Rt){return arguments.length?(xe=typeof Rt=="function"?Rt:+Rt,z):xe},z.distance=z.linkDistance,z.linkStrength=function(Rt){return arguments.length?(qe=typeof Rt=="function"?Rt:+Rt,z):qe},z.friction=function(Rt){return arguments.length?(Se=+Rt,z):Se},z.charge=function(Rt){return arguments.length?(Xe=typeof Rt=="function"?Rt:+Rt,z):Xe},z.chargeDistance=function(Rt){return arguments.length?(Je=Rt*Rt,z):Math.sqrt(Je)},z.gravity=function(Rt){return arguments.length?(dt=+Rt,z):dt},z.theta=function(Rt){return arguments.length?(pt=Rt*Rt,z):Math.sqrt(pt)},z.alpha=function(Rt){return arguments.length?(Rt=+Rt,he?Rt>0?he=Rt:(X.c=null,X.t=NaN,X=null,H.end({type:"end",alpha:he=0})):Rt>0&&(H.start({type:"start",alpha:he=Rt}),X=ei(z.tick)),z):he},z.start=function(){var Rt,ur=It.length,Dr=Nt.length,Pr=se[0],lr=se[1],Vr,Yr;for(Rt=0;Rt<ur;++Rt)(Yr=It[Rt]).index=Rt,Yr.weight=0;for(Rt=0;Rt<Dr;++Rt)Yr=Nt[Rt],typeof Yr.source=="number"&&(Yr.source=It[Yr.source]),typeof Yr.target=="number"&&(Yr.target=It[Yr.target]),++Yr.source.weight,++Yr.target.weight;for(Rt=0;Rt<ur;++Rt)Yr=It[Rt],isNaN(Yr.x)&&(Yr.x=yn("x",Pr)),isNaN(Yr.y)&&(Yr.y=yn("y",lr)),isNaN(Yr.px)&&(Yr.px=Yr.x),isNaN(Yr.py)&&(Yr.py=Yr.y);if(mt=[],typeof xe=="function")for(Rt=0;Rt<Dr;++Rt)mt[Rt]=+xe.call(this,Nt[Rt],Rt);else for(Rt=0;Rt<Dr;++Rt)mt[Rt]=xe;if(kt=[],typeof qe=="function")for(Rt=0;Rt<Dr;++Rt)kt[Rt]=+qe.call(this,Nt[Rt],Rt);else for(Rt=0;Rt<Dr;++Rt)kt[Rt]=qe;if(Dt=[],typeof Xe=="function")for(Rt=0;Rt<ur;++Rt)Dt[Rt]=+Xe.call(this,It[Rt],Rt);else for(Rt=0;Rt<ur;++Rt)Dt[Rt]=Xe;function yn(Wr,xn){if(!Vr){for(Vr=new Array(ur),Ii=0;Ii<ur;++Ii)Vr[Ii]=[];for(Ii=0;Ii<Dr;++Ii){var xi=Nt[Ii];Vr[xi.source.index].push(xi.target),Vr[xi.target.index].push(xi.source)}}for(var Pi=Vr[Rt],Ii=-1,Ar=Pi.length,Mn;++Ii<Ar;)if(!isNaN(Mn=Pi[Ii][Wr]))return Mn;return Math.random()*xn}return z.resume()},z.resume=function(){return z.alpha(.1)},z.stop=function(){return z.alpha(0)},z.drag=function(){if(ue||(ue=e.behavior.drag().origin(R).on("dragstart.force",Kr).on("drag.force",Bt).on("dragend.force",Sn)),!arguments.length)return ue;this.on("mouseover.force",mi).on("mouseout.force",Oa).call(ue)};function Bt(Rt){Rt.px=e.event.x,Rt.py=e.event.y,z.resume()}return e.rebind(z,H,"on")};function Kr(z){z.fixed|=2}function Sn(z){z.fixed&=-7}function mi(z){z.fixed|=4,z.px=z.x,z.py=z.y}function Oa(z){z.fixed&=-5}function yi(z,H,X){var se=0,ue=0;if(z.charge=0,!z.leaf)for(var he=z.nodes,Se=he.length,xe=-1,qe;++xe<Se;)qe=he[xe],qe!=null&&(yi(qe,H,X),z.charge+=qe.charge,se+=qe.charge*qe.cx,ue+=qe.charge*qe.cy);if(z.point){z.leaf||(z.point.x+=Math.random()-.5,z.point.y+=Math.random()-.5);var Xe=H*X[z.point.index];z.charge+=z.pointCharge=Xe,se+=Xe*z.point.x,ue+=Xe*z.point.y}z.cx=se/z.charge,z.cy=ue/z.charge}var Dh=20,Tp=1,Os=1/0;e.layout.hierarchy=function(){var z=Di,H=Rh,X=$l;function se(ue){var he=[ue],Se=[],xe;for(ue.depth=0;(xe=he.pop())!=null;)if(Se.push(xe),(Xe=H.call(se,xe,xe.depth))&&(qe=Xe.length)){for(var qe,Xe,Je;--qe>=0;)he.push(Je=Xe[qe]),Je.parent=xe,Je.depth=xe.depth+1;X&&(xe.value=0),xe.children=Xe}else X&&(xe.value=+X.call(se,xe,xe.depth)||0),delete xe.children;return Ka(ue,function(dt){var pt,It;z&&(pt=dt.children)&&pt.sort(z),X&&(It=dt.parent)&&(It.value+=dt.value)}),Se}return se.sort=function(ue){return arguments.length?(z=ue,se):z},se.children=function(ue){return arguments.length?(H=ue,se):H},se.value=function(ue){return arguments.length?(X=ue,se):X},se.revalue=function(ue){return X&&(Ll(ue,function(he){he.children&&(he.value=0)}),Ka(ue,function(he){var Se;he.children||(he.value=+X.call(se,he,he.depth)||0),(Se=he.parent)&&(Se.value+=he.value)})),ue},se};function Bs(z,H){return e.rebind(z,H,"sort","children","value"),z.nodes=z,z.links=Us,z}function Ll(z,H){for(var X=[z];(z=X.pop())!=null;)if(H(z),(ue=z.children)&&(se=ue.length))for(var se,ue;--se>=0;)X.push(ue[se])}function Ka(z,H){for(var X=[z],se=[];(z=X.pop())!=null;)if(se.push(z),(Se=z.children)&&(he=Se.length))for(var ue=-1,he,Se;++ue<he;)X.push(Se[ue]);for(;(z=se.pop())!=null;)H(z)}function Rh(z){return z.children}function $l(z){return z.value}function Di(z,H){return H.value-z.value}function Us(z){return e.merge(z.map(function(H){return(H.children||[]).map(function(X){return{source:H,target:X}})}))}e.layout.partition=function(){var z=e.layout.hierarchy(),H=[1,1];function X(he,Se,xe,qe){var Xe=he.children;if(he.x=Se,he.y=he.depth*qe,he.dx=xe,he.dy=qe,Xe&&(dt=Xe.length)){var Je=-1,dt,pt,It;for(xe=he.value?xe/he.value:0;++Je<dt;)X(pt=Xe[Je],Se,It=pt.value*xe,qe),Se+=It}}function se(he){var Se=he.children,xe=0;if(Se&&(Xe=Se.length))for(var qe=-1,Xe;++qe<Xe;)xe=Math.max(xe,se(Se[qe]));return 1+xe}function ue(he,Se){var xe=z.call(this,he,Se);return X(xe[0],0,H[0],H[1]/se(xe[0])),xe}return ue.size=function(he){return arguments.length?(H=he,ue):H},Bs(ue,z)},e.layout.pie=function(){var z=Number,H=Cv,X=0,se=$e,ue=0;function he(Se){var xe=Se.length,qe=Se.map(function(Ot,Bt){return+z.call(he,Ot,Bt)}),Xe=+(typeof X=="function"?X.apply(this,arguments):X),Je=(typeof se=="function"?se.apply(this,arguments):se)-Xe,dt=Math.min(Math.abs(Je)/xe,+(typeof ue=="function"?ue.apply(this,arguments):ue)),pt=dt*(Je<0?-1:1),It=e.sum(qe),Nt=It?(Je-xe*pt)/It:0,mt=e.range(xe),kt=[],Dt;return H!=null&&mt.sort(H===Cv?function(Ot,Bt){return qe[Bt]-qe[Ot]}:function(Ot,Bt){return H(Se[Ot],Se[Bt])}),mt.forEach(function(Ot){kt[Ot]={data:Se[Ot],value:Dt=qe[Ot],startAngle:Xe,endAngle:Xe+=Dt*Nt+pt,padAngle:dt}}),kt}return he.value=function(Se){return arguments.length?(z=Se,he):z},he.sort=function(Se){return arguments.length?(H=Se,he):H},he.startAngle=function(Se){return arguments.length?(X=Se,he):X},he.endAngle=function(Se){return arguments.length?(se=Se,he):se},he.padAngle=function(Se){return arguments.length?(ue=Se,he):ue},he};var Cv={};e.layout.stack=function(){var z=R,H=al,X=Mu,se=Bd,ue=Hc,he=jc;function Se(xe,qe){if(!(Nt=xe.length))return xe;var Xe=xe.map(function(Ot,Bt){return z.call(Se,Ot,Bt)}),Je=Xe.map(function(Ot){return Ot.map(function(Bt,Rt){return[ue.call(Se,Bt,Rt),he.call(Se,Bt,Rt)]})}),dt=H.call(Se,Je,qe);Xe=e.permute(Xe,dt),Je=e.permute(Je,dt);var pt=X.call(Se,Je,qe),It=Xe[0].length,Nt,mt,kt,Dt;for(kt=0;kt<It;++kt)for(se.call(Se,Xe[0][kt],Dt=pt[kt],Je[0][kt][1]),mt=1;mt<Nt;++mt)se.call(Se,Xe[mt][kt],Dt+=Je[mt-1][kt][1],Je[mt][kt][1]);return xe}return Se.values=function(xe){return arguments.length?(z=xe,Se):z},Se.order=function(xe){return arguments.length?(H=typeof xe=="function"?xe:Ph.get(xe)||al,Se):H},Se.offset=function(xe){return arguments.length?(X=typeof xe=="function"?xe:Au.get(xe)||Mu,Se):X},Se.x=function(xe){return arguments.length?(ue=xe,Se):ue},Se.y=function(xe){return arguments.length?(he=xe,Se):he},Se.out=function(xe){return arguments.length?(se=xe,Se):se},Se};function Hc(z){return z.x}function jc(z){return z.y}function Bd(z,H,X){z.y0=H,z.y=X}var Ph=e.map({"inside-out":function(z){var H=z.length,X,se,ue=z.map(Ud),he=z.map(ku),Se=e.range(H).sort(function(dt,pt){return ue[dt]-ue[pt]}),xe=0,qe=0,Xe=[],Je=[];for(X=0;X<H;++X)se=Se[X],xe<qe?(xe+=he[se],Xe.push(se)):(qe+=he[se],Je.push(se));return Je.reverse().concat(Xe)},reverse:function(z){return e.range(z.length).reverse()},default:al}),Au=e.map({silhouette:function(z){var H=z.length,X=z[0].length,se=[],ue=0,he,Se,xe,qe=[];for(Se=0;Se<X;++Se){for(he=0,xe=0;he<H;he++)xe+=z[he][Se][1];xe>ue&&(ue=xe),se.push(xe)}for(Se=0;Se<X;++Se)qe[Se]=(ue-se[Se])/2;return qe},wiggle:function(z){var H=z.length,X=z[0],se=X.length,ue,he,Se,xe,qe,Xe,Je,dt,pt,It=[];for(It[0]=dt=pt=0,he=1;he<se;++he){for(ue=0,xe=0;ue<H;++ue)xe+=z[ue][he][1];for(ue=0,qe=0,Je=X[he][0]-X[he-1][0];ue<H;++ue){for(Se=0,Xe=(z[ue][he][1]-z[ue][he-1][1])/(2*Je);Se<ue;++Se)Xe+=(z[Se][he][1]-z[Se][he-1][1])/Je;qe+=Xe*z[ue][he][1]}It[he]=dt-=xe?qe/xe*Je:0,dt<pt&&(pt=dt)}for(he=0;he<se;++he)It[he]-=pt;return It},expand:function(z){var H=z.length,X=z[0].length,se=1/H,ue,he,Se,xe=[];for(he=0;he<X;++he){for(ue=0,Se=0;ue<H;ue++)Se+=z[ue][he][1];if(Se)for(ue=0;ue<H;ue++)z[ue][he][1]/=Se;else for(ue=0;ue<H;ue++)z[ue][he][1]=se}for(he=0;he<X;++he)xe[he]=0;return xe},zero:Mu});function al(z){return e.range(z.length)}function Mu(z){for(var H=-1,X=z[0].length,se=[];++H<X;)se[H]=0;return se}function Ud(z){for(var H=1,X=0,se=z[0][1],ue,he=z.length;H<he;++H)(ue=z[H][1])>se&&(X=H,se=ue);return X}function ku(z){return z.reduce(Su,0)}function Su(z,H){return z+H[1]}e.layout.histogram=function(){var z=!0,H=Number,X=hf,se=Yf;function ue(he,pt){for(var xe=[],qe=he.map(H,this),Xe=X.call(this,qe,pt),Je=se.call(this,Xe,qe,pt),dt,pt=-1,It=qe.length,Nt=Je.length-1,mt=z?1:1/It,kt;++pt<Nt;)dt=xe[pt]=[],dt.dx=Je[pt+1]-(dt.x=Je[pt]),dt.y=0;if(Nt>0)for(pt=-1;++pt<It;)kt=qe[pt],kt>=Xe[0]&&kt<=Xe[1]&&(dt=xe[e.bisect(Je,kt,1,Nt)-1],dt.y+=mt,dt.push(he[pt]));return xe}return ue.value=function(he){return arguments.length?(H=he,ue):H},ue.range=function(he){return arguments.length?(X=Mt(he),ue):X},ue.bins=function(he){return arguments.length?(se=typeof he=="number"?function(Se){return Dl(Se,he)}:Mt(he),ue):se},ue.frequency=function(he){return arguments.length?(z=!!he,ue):z},ue};function Yf(z,H){return Dl(z,Math.ceil(Math.log(H.length)/Math.LN2+1))}function Dl(z,H){for(var X=-1,se=+z[0],ue=(z[1]-se)/H,he=[];++X<=H;)he[X]=ue*X+se;return he}function hf(z){return[e.min(z),e.max(z)]}e.layout.pack=function(){var z=e.layout.hierarchy().sort(Cu),H=0,X=[1,1],se;function ue(he,Se){var xe=z.call(this,he,Se),qe=xe[0],Xe=X[0],Je=X[1],dt=se==null?Math.sqrt:typeof se=="function"?se:function(){return se};if(qe.x=qe.y=0,Ka(qe,function(It){It.r=+dt(It.value)}),Ka(qe,Hd),H){var pt=H*(se?1:Math.max(2*qe.r/Xe,2*qe.r/Je))/2;Ka(qe,function(It){It.r+=pt}),Ka(qe,Hd),Ka(qe,function(It){It.r-=pt})}return vf(qe,Xe/2,Je/2,se?1:1/Math.max(2*qe.r/Xe,2*qe.r/Je)),xe}return ue.size=function(he){return arguments.length?(X=he,ue):X},ue.radius=function(he){return arguments.length?(se=he==null||typeof he=="function"?he:+he,ue):se},ue.padding=function(he){return arguments.length?(H=+he,ue):H},Bs(ue,z)};function Cu(z,H){return z.value-H.value}function ol(z,H){var X=z._pack_next;z._pack_next=H,H._pack_prev=z,H._pack_next=X,X._pack_prev=H}function Vc(z,H){z._pack_next=H,H._pack_prev=z}function Ih(z,H){var X=H.x-z.x,se=H.y-z.y,ue=z.r+H.r;return .999*ue*ue>X*X+se*se}function Hd(z){if(!(H=z.children)||!(pt=H.length))return;var H,X=1/0,se=-1/0,ue=1/0,he=-1/0,Se,xe,qe,Xe,Je,dt,pt;function It(Rt){X=Math.min(Rt.x-Rt.r,X),se=Math.max(Rt.x+Rt.r,se),ue=Math.min(Rt.y-Rt.r,ue),he=Math.max(Rt.y+Rt.r,he)}if(H.forEach(jd),Se=H[0],Se.x=-Se.r,Se.y=0,It(Se),pt>1&&(xe=H[1],xe.x=xe.r,xe.y=0,It(xe),pt>2))for(qe=H[2],Sa(Se,xe,qe),It(qe),ol(Se,qe),Se._pack_prev=qe,ol(qe,xe),xe=Se._pack_next,Xe=3;Xe<pt;Xe++){Sa(Se,xe,qe=H[Xe]);var Nt=0,mt=1,kt=1;for(Je=xe._pack_next;Je!==xe;Je=Je._pack_next,mt++)if(Ih(Je,qe)){Nt=1;break}if(Nt==1)for(dt=Se._pack_prev;dt!==Je._pack_prev&&!Ih(dt,qe);dt=dt._pack_prev,kt++);Nt?(mt<kt||mt==kt&&xe.r<Se.r?Vc(Se,xe=Je):Vc(Se=dt,xe),Xe--):(ol(Se,qe),xe=qe,It(qe))}var Dt=(X+se)/2,Ot=(ue+he)/2,Bt=0;for(Xe=0;Xe<pt;Xe++)qe=H[Xe],qe.x-=Dt,qe.y-=Ot,Bt=Math.max(Bt,qe.r+Math.sqrt(qe.x*qe.x+qe.y*qe.y));z.r=Bt,H.forEach(Gf)}function jd(z){z._pack_next=z._pack_prev=z}function Gf(z){delete z._pack_next,delete z._pack_prev}function vf(z,H,X,se){var ue=z.children;if(z.x=H+=se*z.x,z.y=X+=se*z.y,z.r*=se,ue)for(var he=-1,Se=ue.length;++he<Se;)vf(ue[he],H,X,se)}function Sa(z,H,X){var se=z.r+X.r,ue=H.x-z.x,he=H.y-z.y;if(se&&(ue||he)){var Se=H.r+X.r,xe=ue*ue+he*he;Se*=Se,se*=se;var qe=.5+(se-Se)/(2*xe),Xe=Math.sqrt(Math.max(0,2*Se*(se+xe)-(se-=xe)*se-Se*Se))/(2*xe);X.x=z.x+qe*ue+Xe*he,X.y=z.y+qe*he-Xe*ue}else X.x=z.x+se,X.y=z.y}e.layout.tree=function(){var z=e.layout.hierarchy().sort(null).value(null),H=sl,X=[1,1],se=null;function ue(Je,dt){var pt=z.call(this,Je,dt),It=pt[0],Nt=he(It);if(Ka(Nt,Se),Nt.parent.m=-Nt.z,Ll(Nt,xe),se)Ll(It,Xe);else{var mt=It,kt=It,Dt=It;Ll(It,function(ur){ur.x<mt.x&&(mt=ur),ur.x>kt.x&&(kt=ur),ur.depth>Dt.depth&&(Dt=ur)});var Ot=H(mt,kt)/2-mt.x,Bt=X[0]/(kt.x+H(kt,mt)/2+Ot),Rt=X[1]/(Dt.depth||1);Ll(It,function(ur){ur.x=(ur.x+Ot)*Bt,ur.y=ur.depth*Rt})}return pt}function he(Je){for(var dt={A:null,children:[Je]},pt=[dt],It;(It=pt.pop())!=null;)for(var Nt=It.children,mt,kt=0,Dt=Nt.length;kt<Dt;++kt)pt.push((Nt[kt]=mt={_:Nt[kt],parent:It,children:(mt=Nt[kt].children)&&mt.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:kt}).a=mt);return dt.children[0]}function Se(Je){var dt=Je.children,pt=Je.parent.children,It=Je.i?pt[Je.i-1]:null;if(dt.length){Ca(Je);var Nt=(dt[0].z+dt[dt.length-1].z)/2;It?(Je.z=It.z+H(Je._,It._),Je.m=Je.z-Nt):Je.z=Nt}else It&&(Je.z=It.z+H(Je._,It._));Je.parent.A=qe(Je,It,Je.parent.A||pt[0])}function xe(Je){Je._.x=Je.z+Je.parent.m,Je.m+=Je.parent.m}function qe(Je,dt,pt){if(dt){for(var It=Je,Nt=Je,mt=dt,kt=It.parent.children[0],Dt=It.m,Ot=Nt.m,Bt=mt.m,Rt=kt.m,ur;mt=qh(mt),It=df(It),mt&&It;)kt=df(kt),Nt=qh(Nt),Nt.a=Je,ur=mt.z+Bt-It.z-Dt+H(mt._,It._),ur>0&&(Yc(be(mt,Je,pt),Je,ur),Dt+=ur,Ot+=ur),Bt+=mt.m,Dt+=It.m,Rt+=kt.m,Ot+=Nt.m;mt&&!qh(Nt)&&(Nt.t=mt,Nt.m+=Bt-Ot),It&&!df(kt)&&(kt.t=It,kt.m+=Dt-Rt,pt=Je)}return pt}function Xe(Je){Je.x*=X[0],Je.y=Je.depth*X[1]}return ue.separation=function(Je){return arguments.length?(H=Je,ue):H},ue.size=function(Je){return arguments.length?(se=(X=Je)==null?Xe:null,ue):se?null:X},ue.nodeSize=function(Je){return arguments.length?(se=(X=Je)==null?null:Xe,ue):se?X:null},Bs(ue,z)};function sl(z,H){return z.parent==H.parent?1:2}function df(z){var H=z.children;return H.length?H[0]:z.t}function qh(z){var H=z.children,X;return(X=H.length)?H[X-1]:z.t}function Yc(z,H,X){var se=X/(H.i-z.i);H.c-=se,H.s+=X,z.c+=se,H.z+=X,H.m+=X}function Ca(z){for(var H=0,X=0,se=z.children,ue=se.length,he;--ue>=0;)he=se[ue],he.z+=H,he.m+=H,H+=he.s+(X+=he.c)}function be(z,H,X){return z.a.parent===H.parent?z.a:X}e.layout.cluster=function(){var z=e.layout.hierarchy().sort(null).value(null),H=sl,X=[1,1],se=!1;function ue(he,Se){var xe=z.call(this,he,Se),qe=xe[0],Xe,Je=0;Ka(qe,function(mt){var kt=mt.children;kt&&kt.length?(mt.x=ot(kt),mt.y=Oe(kt)):(mt.x=Xe?Je+=H(mt,Xe):0,mt.y=0,Xe=mt)});var dt=Ke(qe),pt=xt(qe),It=dt.x-H(dt,pt)/2,Nt=pt.x+H(pt,dt)/2;return Ka(qe,se?function(mt){mt.x=(mt.x-qe.x)*X[0],mt.y=(qe.y-mt.y)*X[1]}:function(mt){mt.x=(mt.x-It)/(Nt-It)*X[0],mt.y=(1-(qe.y?mt.y/qe.y:1))*X[1]}),xe}return ue.separation=function(he){return arguments.length?(H=he,ue):H},ue.size=function(he){return arguments.length?(se=(X=he)==null,ue):se?null:X},ue.nodeSize=function(he){return arguments.length?(se=(X=he)!=null,ue):se?X:null},Bs(ue,z)};function Oe(z){return 1+e.max(z,function(H){return H.y})}function ot(z){return z.reduce(function(H,X){return H+X.x},0)/z.length}function Ke(z){var H=z.children;return H&&H.length?Ke(H[0]):z}function xt(z){var H=z.children,X;return H&&(X=H.length)?xt(H[X-1]):z}e.layout.treemap=function(){var z=e.layout.hierarchy(),H=Math.round,X=[1,1],se=null,ue=Ft,he=!1,Se,xe="squarify",qe=.5*(1+Math.sqrt(5));function Xe(mt,kt){for(var Dt=-1,Ot=mt.length,Bt,Rt;++Dt<Ot;)Rt=(Bt=mt[Dt]).value*(kt<0?0:kt),Bt.area=isNaN(Rt)||Rt<=0?0:Rt}function Je(mt){var kt=mt.children;if(kt&&kt.length){var Dt=ue(mt),Ot=[],Bt=kt.slice(),Rt,ur=1/0,Dr,Pr=xe==="slice"?Dt.dx:xe==="dice"?Dt.dy:xe==="slice-dice"?mt.depth&1?Dt.dy:Dt.dx:Math.min(Dt.dx,Dt.dy),lr;for(Xe(Bt,Dt.dx*Dt.dy/mt.value),Ot.area=0;(lr=Bt.length)>0;)Ot.push(Rt=Bt[lr-1]),Ot.area+=Rt.area,xe!=="squarify"||(Dr=pt(Ot,Pr))<=ur?(Bt.pop(),ur=Dr):(Ot.area-=Ot.pop().area,It(Ot,Pr,Dt,!1),Pr=Math.min(Dt.dx,Dt.dy),Ot.length=Ot.area=0,ur=1/0);Ot.length&&(It(Ot,Pr,Dt,!0),Ot.length=Ot.area=0),kt.forEach(Je)}}function dt(mt){var kt=mt.children;if(kt&&kt.length){var Dt=ue(mt),Ot=kt.slice(),Bt,Rt=[];for(Xe(Ot,Dt.dx*Dt.dy/mt.value),Rt.area=0;Bt=Ot.pop();)Rt.push(Bt),Rt.area+=Bt.area,Bt.z!=null&&(It(Rt,Bt.z?Dt.dx:Dt.dy,Dt,!Ot.length),Rt.length=Rt.area=0);kt.forEach(dt)}}function pt(mt,kt){for(var Dt=mt.area,Ot,Bt=0,Rt=1/0,ur=-1,Dr=mt.length;++ur<Dr;)(Ot=mt[ur].area)&&(Ot<Rt&&(Rt=Ot),Ot>Bt&&(Bt=Ot));return Dt*=Dt,kt*=kt,Dt?Math.max(kt*Bt*qe/Dt,Dt/(kt*Rt*qe)):1/0}function It(mt,kt,Dt,Ot){var Bt=-1,Rt=mt.length,ur=Dt.x,Dr=Dt.y,Pr=kt?H(mt.area/kt):0,lr;if(kt==Dt.dx){for((Ot||Pr>Dt.dy)&&(Pr=Dt.dy);++Bt<Rt;)lr=mt[Bt],lr.x=ur,lr.y=Dr,lr.dy=Pr,ur+=lr.dx=Math.min(Dt.x+Dt.dx-ur,Pr?H(lr.area/Pr):0);lr.z=!0,lr.dx+=Dt.x+Dt.dx-ur,Dt.y+=Pr,Dt.dy-=Pr}else{for((Ot||Pr>Dt.dx)&&(Pr=Dt.dx);++Bt<Rt;)lr=mt[Bt],lr.x=ur,lr.y=Dr,lr.dx=Pr,Dr+=lr.dy=Math.min(Dt.y+Dt.dy-Dr,Pr?H(lr.area/Pr):0);lr.z=!1,lr.dy+=Dt.y+Dt.dy-Dr,Dt.x+=Pr,Dt.dx-=Pr}}function Nt(mt){var kt=Se||z(mt),Dt=kt[0];return Dt.x=Dt.y=0,Dt.value?(Dt.dx=X[0],Dt.dy=X[1]):Dt.dx=Dt.dy=0,Se&&z.revalue(Dt),Xe([Dt],Dt.dx*Dt.dy/Dt.value),(Se?dt:Je)(Dt),he&&(Se=kt),kt}return Nt.size=function(mt){return arguments.length?(X=mt,Nt):X},Nt.padding=function(mt){if(!arguments.length)return se;function kt(Bt){var Rt=mt.call(Nt,Bt,Bt.depth);return Rt==null?Ft(Bt):jt(Bt,typeof Rt=="number"?[Rt,Rt,Rt,Rt]:Rt)}function Dt(Bt){return jt(Bt,mt)}var Ot;return ue=(se=mt)==null?Ft:(Ot=typeof mt)=="function"?kt:(Ot==="number"&&(mt=[mt,mt,mt,mt]),Dt),Nt},Nt.round=function(mt){return arguments.length?(H=mt?Math.round:Number,Nt):H!=Number},Nt.sticky=function(mt){return arguments.length?(he=mt,Se=null,Nt):he},Nt.ratio=function(mt){return arguments.length?(qe=mt,Nt):qe},Nt.mode=function(mt){return arguments.length?(xe=mt+"",Nt):xe},Bs(Nt,z)};function Ft(z){return{x:z.x,y:z.y,dx:z.dx,dy:z.dy}}function jt(z,H){var X=z.x+H[3],se=z.y+H[0],ue=z.dx-H[1]-H[3],he=z.dy-H[0]-H[2];return ue<0&&(X+=ue/2,ue=0),he<0&&(se+=he/2,he=0),{x:X,y:se,dx:ue,dy:he}}e.random={normal:function(z,H){var X=arguments.length;return X<2&&(H=1),X<1&&(z=0),function(){var se,ue,he;do se=Math.random()*2-1,ue=Math.random()*2-1,he=se*se+ue*ue;while(!he||he>1);return z+H*se*Math.sqrt(-2*Math.log(he)/he)}},logNormal:function(){var z=e.random.normal.apply(e,arguments);return function(){return Math.exp(z())}},bates:function(z){var H=e.random.irwinHall(z);return function(){return H()/z}},irwinHall:function(z){return function(){for(var H=0,X=0;X<z;X++)H+=Math.random();return H}}},e.scale={};function $t(z){var H=z[0],X=z[z.length-1];return H<X?[H,X]:[X,H]}function Kt(z){return z.rangeExtent?z.rangeExtent():$t(z.range())}function sr(z,H,X,se){var ue=X(z[0],z[1]),he=se(H[0],H[1]);return function(Se){return he(ue(Se))}}function Yt(z,H){var X=0,se=z.length-1,ue=z[X],he=z[se],Se;return he<ue&&(Se=X,X=se,se=Se,Se=ue,ue=he,he=Se),z[X]=H.floor(ue),z[se]=H.ceil(he),z}function nr(z){return z?{floor:function(H){return Math.floor(H/z)*z},ceil:function(H){return Math.ceil(H/z)*z}}:Qt}var Qt={floor:R,ceil:R};function cr(z,H,X,se){var ue=[],he=[],Se=0,xe=Math.min(z.length,H.length)-1;for(z[xe]<z[0]&&(z=z.slice().reverse(),H=H.slice().reverse());++Se<=xe;)ue.push(X(z[Se-1],z[Se])),he.push(se(H[Se-1],H[Se]));return function(qe){var Xe=e.bisect(z,qe,1,xe)-1;return he[Xe](ue[Xe](qe))}}e.scale.linear=function(){return pr([0,1],[0,1],_u,!1)};function pr(z,H,X,se){var ue,he;function Se(){var qe=Math.min(z.length,H.length)>2?cr:sr,Xe=se?El:Sv;return ue=qe(z,H,Xe,X),he=qe(H,z,Xe,_u),xe}function xe(qe){return ue(qe)}return xe.invert=function(qe){return he(qe)},xe.domain=function(qe){return arguments.length?(z=qe.map(Number),Se()):z},xe.range=function(qe){return arguments.length?(H=qe,Se()):H},xe.rangeRound=function(qe){return xe.range(qe).interpolate(No)},xe.clamp=function(qe){return arguments.length?(se=qe,Se()):se},xe.interpolate=function(qe){return arguments.length?(X=qe,Se()):X},xe.ticks=function(qe){return Qr(z,qe)},xe.tickFormat=function(qe,Xe){return d3_scale_linearTickFormat(z,qe,Xe)},xe.nice=function(qe){return jr(z,qe),Se()},xe.copy=function(){return pr(z,H,X,se)},Se()}function Jr(z,H){return e.rebind(z,H,"range","rangeRound","interpolate","clamp")}function jr(z,H){return Yt(z,nr(rn(z,H)[2])),Yt(z,nr(rn(z,H)[2])),z}function rn(z,H){H==null&&(H=10);var X=$t(z),se=X[1]-X[0],ue=Math.pow(10,Math.floor(Math.log(se/H)/Math.LN10)),he=H/se*ue;return he<=.15?ue*=10:he<=.35?ue*=5:he<=.75&&(ue*=2),X[0]=Math.ceil(X[0]/ue)*ue,X[1]=Math.floor(X[1]/ue)*ue+ue*.5,X[2]=ue,X}function Qr(z,H){return e.range.apply(e,rn(z,H))}var yr={s:1,g:1,p:1,r:1,e:1};function Cr(z){return-Math.floor(Math.log(z)/Math.LN10+.01)}function Ze(z,H){var X=Cr(H[2]);return z in yr?Math.abs(X-Cr(Math.max(g(H[0]),g(H[1]))))+ +(z!=="e"):X-(z==="%")*2}e.scale.log=function(){return fn(e.scale.linear().domain([0,1]),10,!0,[1,10])};function fn(z,H,X,se){function ue(xe){return(X?Math.log(xe<0?0:xe):-Math.log(xe>0?0:-xe))/Math.log(H)}function he(xe){return X?Math.pow(H,xe):-Math.pow(H,-xe)}function Se(xe){return z(ue(xe))}return Se.invert=function(xe){return he(z.invert(xe))},Se.domain=function(xe){return arguments.length?(X=xe[0]>=0,z.domain((se=xe.map(Number)).map(ue)),Se):se},Se.base=function(xe){return arguments.length?(H=+xe,z.domain(se.map(ue)),Se):H},Se.nice=function(){var xe=Yt(se.map(ue),X?Math:Kn);return z.domain(xe),se=xe.map(he),Se},Se.ticks=function(){var xe=$t(se),qe=[],Xe=xe[0],Je=xe[1],dt=Math.floor(ue(Xe)),pt=Math.ceil(ue(Je)),It=H%1?2:H;if(isFinite(pt-dt)){if(X){for(;dt<pt;dt++)for(var Nt=1;Nt<It;Nt++)qe.push(he(dt)*Nt);qe.push(he(dt))}else for(qe.push(he(dt));dt++<pt;)for(var Nt=It-1;Nt>0;Nt--)qe.push(he(dt)*Nt);for(dt=0;qe[dt]<Xe;dt++);for(pt=qe.length;qe[pt-1]>Je;pt--);qe=qe.slice(dt,pt)}return qe},Se.copy=function(){return fn(z.copy(),H,X,se)},Jr(Se,z)}var Kn={floor:function(z){return-Math.ceil(-z)},ceil:function(z){return-Math.floor(-z)}};e.scale.pow=function(){return Gn(e.scale.linear(),1,[0,1])};function Gn(z,H,X){var se=$r(H),ue=$r(1/H);function he(Se){return z(se(Se))}return he.invert=function(Se){return ue(z.invert(Se))},he.domain=function(Se){return arguments.length?(z.domain((X=Se.map(Number)).map(se)),he):X},he.ticks=function(Se){return Qr(X,Se)},he.tickFormat=function(Se,xe){return d3_scale_linearTickFormat(X,Se,xe)},he.nice=function(Se){return he.domain(jr(X,Se))},he.exponent=function(Se){return arguments.length?(se=$r(H=Se),ue=$r(1/H),z.domain(X.map(se)),he):H},he.copy=function(){return Gn(z.copy(),H,X)},Jr(he,z)}function $r(z){return function(H){return H<0?-Math.pow(-H,z):Math.pow(H,z)}}e.scale.sqrt=function(){return e.scale.pow().exponent(.5)},e.scale.ordinal=function(){return Hi([],{t:"range",a:[[]]})};function Hi(z,H){var X,se,ue;function he(xe){return se[((X.get(xe)||(H.t==="range"?X.set(xe,z.push(xe)):NaN))-1)%se.length]}function Se(xe,qe){return e.range(z.length).map(function(Xe){return xe+qe*Xe})}return he.domain=function(xe){if(!arguments.length)return z;z=[],X=new w;for(var qe=-1,Xe=xe.length,Je;++qe<Xe;)X.has(Je=xe[qe])||X.set(Je,z.push(Je));return he[H.t].apply(he,H.a)},he.range=function(xe){return arguments.length?(se=xe,ue=0,H={t:"range",a:arguments},he):se},he.rangePoints=function(xe,qe){arguments.length<2&&(qe=0);var Xe=xe[0],Je=xe[1],dt=z.length<2?(Xe=(Xe+Je)/2,0):(Je-Xe)/(z.length-1+qe);return se=Se(Xe+dt*qe/2,dt),ue=0,H={t:"rangePoints",a:arguments},he},he.rangeRoundPoints=function(xe,qe){arguments.length<2&&(qe=0);var Xe=xe[0],Je=xe[1],dt=z.length<2?(Xe=Je=Math.round((Xe+Je)/2),0):(Je-Xe)/(z.length-1+qe)|0;return se=Se(Xe+Math.round(dt*qe/2+(Je-Xe-(z.length-1+qe)*dt)/2),dt),ue=0,H={t:"rangeRoundPoints",a:arguments},he},he.rangeBands=function(xe,qe,Xe){arguments.length<2&&(qe=0),arguments.length<3&&(Xe=qe);var Je=xe[1]<xe[0],dt=xe[Je-0],pt=xe[1-Je],It=(pt-dt)/(z.length-qe+2*Xe);return se=Se(dt+It*Xe,It),Je&&se.reverse(),ue=It*(1-qe),H={t:"rangeBands",a:arguments},he},he.rangeRoundBands=function(xe,qe,Xe){arguments.length<2&&(qe=0),arguments.length<3&&(Xe=qe);var Je=xe[1]<xe[0],dt=xe[Je-0],pt=xe[1-Je],It=Math.floor((pt-dt)/(z.length-qe+2*Xe));return se=Se(dt+Math.round((pt-dt-(z.length-qe)*It)/2),It),Je&&se.reverse(),ue=Math.round(It*(1-qe)),H={t:"rangeRoundBands",a:arguments},he},he.rangeBand=function(){return ue},he.rangeExtent=function(){return $t(H.a[0])},he.copy=function(){return Hi(z,H)},he.domain(z)}e.scale.category10=function(){return e.scale.ordinal().range(Zn)},e.scale.category20=function(){return e.scale.ordinal().range(uo)},e.scale.category20b=function(){return e.scale.ordinal().range(ji)},e.scale.category20c=function(){return e.scale.ordinal().range(Vi)};var Zn=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(wo),uo=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(wo),ji=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(wo),Vi=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(wo);e.scale.quantile=function(){return Rr([],[])};function Rr(z,H){var X;function se(){var he=0,Se=H.length;for(X=[];++he<Se;)X[he-1]=e.quantile(z,he/Se);return ue}function ue(he){if(!isNaN(he=+he))return H[e.bisect(X,he)]}return ue.domain=function(he){return arguments.length?(z=he.map(h).filter(d).sort(c),se()):z},ue.range=function(he){return arguments.length?(H=he,se()):H},ue.quantiles=function(){return X},ue.invertExtent=function(he){return he=H.indexOf(he),he<0?[NaN,NaN]:[he>0?X[he-1]:z[0],he<X.length?X[he]:z[z.length-1]]},ue.copy=function(){return Rr(z,H)},se()}e.scale.quantize=function(){return li(0,1,[0,1])};function li(z,H,X){var se,ue;function he(xe){return X[Math.max(0,Math.min(ue,Math.floor(se*(xe-z))))]}function Se(){return se=X.length/(H-z),ue=X.length-1,he}return he.domain=function(xe){return arguments.length?(z=+xe[0],H=+xe[xe.length-1],Se()):[z,H]},he.range=function(xe){return arguments.length?(X=xe,Se()):X},he.invertExtent=function(xe){return xe=X.indexOf(xe),xe=xe<0?NaN:xe/se+z,[xe,xe+1/se]},he.copy=function(){return li(z,H,X)},Se()}e.scale.threshold=function(){return Ba([.5],[0,1])};function Ba(z,H){function X(se){if(se<=se)return H[e.bisect(z,se)]}return X.domain=function(se){return arguments.length?(z=se,X):z},X.range=function(se){return arguments.length?(H=se,X):H},X.invertExtent=function(se){return se=H.indexOf(se),[z[se-1],z[se]]},X.copy=function(){return Ba(z,H)},X}e.scale.identity=function(){return Ao([0,1])};function Ao(z){function H(X){return+X}return H.invert=H,H.domain=H.range=function(X){return arguments.length?(z=X.map(H),H):z},H.ticks=function(X){return Qr(z,X)},H.tickFormat=function(X,se){return d3_scale_linearTickFormat(z,X,se)},H.copy=function(){return Ao(z)},H}e.svg={};function Ua(){return 0}e.svg.arc=function(){var z=Rl,H=pf,X=Ua,se=Kl,ue=ll,he=gf,Se=ns;function xe(){var Xe=Math.max(0,+z.apply(this,arguments)),Je=Math.max(0,+H.apply(this,arguments)),dt=ue.apply(this,arguments)-Y,pt=he.apply(this,arguments)-Y,It=Math.abs(pt-dt),Nt=dt>pt?0:1;if(Je<Xe&&(mt=Je,Je=Xe,Xe=mt),It>=ve)return qe(Je,Nt)+(Xe?qe(Xe,1-Nt):"")+"Z";var mt,kt,Dt,Ot,Bt=0,Rt=0,ur,Dr,Pr,lr,Vr,Yr,yn,Wr,xn=[];if((Ot=(+Se.apply(this,arguments)||0)/2)&&(Dt=se===Kl?Math.sqrt(Xe*Xe+Je*Je):+se.apply(this,arguments),Nt||(Rt*=-1),Je&&(Rt=Ht(Dt/Je*Math.sin(Ot))),Xe&&(Bt=Ht(Dt/Xe*Math.sin(Ot)))),Je){ur=Je*Math.cos(dt+Rt),Dr=Je*Math.sin(dt+Rt),Pr=Je*Math.cos(pt-Rt),lr=Je*Math.sin(pt-Rt);var xi=Math.abs(pt-dt-2*Rt)<=je?0:1;if(Rt&&Fh(ur,Dr,Pr,lr)===Nt^xi){var Pi=(dt+pt)/2;ur=Je*Math.cos(Pi),Dr=Je*Math.sin(Pi),Pr=lr=null}}else ur=Dr=0;if(Xe){Vr=Xe*Math.cos(pt-Bt),Yr=Xe*Math.sin(pt-Bt),yn=Xe*Math.cos(dt+Bt),Wr=Xe*Math.sin(dt+Bt);var Ii=Math.abs(dt-pt+2*Bt)<=je?0:1;if(Bt&&Fh(Vr,Yr,yn,Wr)===1-Nt^Ii){var Ar=(dt+pt)/2;Vr=Xe*Math.cos(Ar),Yr=Xe*Math.sin(Ar),yn=Wr=null}}else Vr=Yr=0;if(It>At&&(mt=Math.min(Math.abs(Je-Xe)/2,+X.apply(this,arguments)))>.001){kt=Xe<Je^Nt?0:1;var Mn=mt,Pn=mt;if(It<je){var di=yn==null?[Vr,Yr]:Pr==null?[ur,Dr]:$o([ur,Dr],[yn,Wr],[Pr,lr],[Vr,Yr]),bi=ur-di[0],la=Dr-di[1],ko=Pr-di[0],As=lr-di[1],os=1/Math.sin(Math.acos((bi*ko+la*As)/(Math.sqrt(bi*bi+la*la)*Math.sqrt(ko*ko+As*As)))/2),Ms=Math.sqrt(di[0]*di[0]+di[1]*di[1]);Pn=Math.min(mt,(Xe-Ms)/(os-1)),Mn=Math.min(mt,(Je-Ms)/(os+1))}if(Pr!=null){var Vs=Vd(yn==null?[Vr,Yr]:[yn,Wr],[ur,Dr],Je,Mn,Nt),ss=Vd([Pr,lr],[Vr,Yr],Je,Mn,Nt);mt===Mn?xn.push("M",Vs[0],"A",Mn,",",Mn," 0 0,",kt," ",Vs[1],"A",Je,",",Je," 0 ",1-Nt^Fh(Vs[1][0],Vs[1][1],ss[1][0],ss[1][1]),",",Nt," ",ss[1],"A",Mn,",",Mn," 0 0,",kt," ",ss[0]):xn.push("M",Vs[0],"A",Mn,",",Mn," 0 1,",kt," ",ss[0])}else xn.push("M",ur,",",Dr);if(yn!=null){var Ys=Vd([ur,Dr],[yn,Wr],Xe,-Pn,Nt),Xc=Vd([Vr,Yr],Pr==null?[ur,Dr]:[Pr,lr],Xe,-Pn,Nt);mt===Pn?xn.push("L",Xc[0],"A",Pn,",",Pn," 0 0,",kt," ",Xc[1],"A",Xe,",",Xe," 0 ",Nt^Fh(Xc[1][0],Xc[1][1],Ys[1][0],Ys[1][1]),",",1-Nt," ",Ys[1],"A",Pn,",",Pn," 0 0,",kt," ",Ys[0]):xn.push("L",Xc[0],"A",Pn,",",Pn," 0 0,",kt," ",Ys[0])}else xn.push("L",Vr,",",Yr)}else xn.push("M",ur,",",Dr),Pr!=null&&xn.push("A",Je,",",Je," 0 ",xi,",",Nt," ",Pr,",",lr),xn.push("L",Vr,",",Yr),yn!=null&&xn.push("A",Xe,",",Xe," 0 ",Ii,",",1-Nt," ",yn,",",Wr);return xn.push("Z"),xn.join("")}function qe(Xe,Je){return"M0,"+Xe+"A"+Xe+","+Xe+" 0 1,"+Je+" 0,"+-Xe+"A"+Xe+","+Xe+" 0 1,"+Je+" 0,"+Xe}return xe.innerRadius=function(Xe){return arguments.length?(z=Mt(Xe),xe):z},xe.outerRadius=function(Xe){return arguments.length?(H=Mt(Xe),xe):H},xe.cornerRadius=function(Xe){return arguments.length?(X=Mt(Xe),xe):X},xe.padRadius=function(Xe){return arguments.length?(se=Xe==Kl?Kl:Mt(Xe),xe):se},xe.startAngle=function(Xe){return arguments.length?(ue=Mt(Xe),xe):ue},xe.endAngle=function(Xe){return arguments.length?(he=Mt(Xe),xe):he},xe.padAngle=function(Xe){return arguments.length?(Se=Mt(Xe),xe):Se},xe.centroid=function(){var Xe=(+z.apply(this,arguments)+ +H.apply(this,arguments))/2,Je=(+ue.apply(this,arguments)+ +he.apply(this,arguments))/2-Y;return[Math.cos(Je)*Xe,Math.sin(Je)*Xe]},xe};var Kl="auto";function Rl(z){return z.innerRadius}function pf(z){return z.outerRadius}function ll(z){return z.startAngle}function gf(z){return z.endAngle}function ns(z){return z&&z.padAngle}function Fh(z,H,X,se){return(z-X)*H-(H-se)*z>0?0:1}function Vd(z,H,X,se,ue){var he=z[0]-H[0],Se=z[1]-H[1],xe=(ue?se:-se)/Math.sqrt(he*he+Se*Se),qe=xe*Se,Xe=-xe*he,Je=z[0]+qe,dt=z[1]+Xe,pt=H[0]+qe,It=H[1]+Xe,Nt=(Je+pt)/2,mt=(dt+It)/2,kt=pt-Je,Dt=It-dt,Ot=kt*kt+Dt*Dt,Bt=X-se,Rt=Je*It-pt*dt,ur=(Dt<0?-1:1)*Math.sqrt(Math.max(0,Bt*Bt*Ot-Rt*Rt)),Dr=(Rt*Dt-kt*ur)/Ot,Pr=(-Rt*kt-Dt*ur)/Ot,lr=(Rt*Dt+kt*ur)/Ot,Vr=(-Rt*kt+Dt*ur)/Ot,Yr=Dr-Nt,yn=Pr-mt,Wr=lr-Nt,xn=Vr-mt;return Yr*Yr+yn*yn>Wr*Wr+xn*xn&&(Dr=lr,Pr=Vr),[[Dr-qe,Pr-Xe],[Dr*X/Bt,Pr*X/Bt]]}function Yd(){return!0}function Jm(z){var H=$i,X=Ki,se=Yd,ue=Oo,he=ue.key,Se=.7;function xe(qe){var Xe=[],Je=[],dt=-1,pt=qe.length,It,Nt=Mt(H),mt=Mt(X);function kt(){Xe.push("M",ue(z(Je),Se))}for(;++dt<pt;)se.call(this,It=qe[dt],dt)?Je.push([+Nt.call(this,It,dt),+mt.call(this,It,dt)]):Je.length&&(kt(),Je=[]);return Je.length&&kt(),Xe.length?Xe.join(""):null}return xe.x=function(qe){return arguments.length?(H=qe,xe):H},xe.y=function(qe){return arguments.length?(X=qe,xe):X},xe.defined=function(qe){return arguments.length?(se=qe,xe):se},xe.interpolate=function(qe){return arguments.length?(typeof qe=="function"?he=ue=qe:he=(ue=Ev.get(qe)||Oo).key,xe):he},xe.tension=function(qe){return arguments.length?(Se=qe,xe):Se},xe}e.svg.line=function(){return Jm(R)};var Ev=e.map({linear:Oo,"linear-closed":$m,step:Km,"step-before":Hs,"step-after":Ap,basis:Mp,"basis-open":kp,"basis-closed":pb,bundle:Lv,cardinal:t1,"cardinal-open":Qm,"cardinal-closed":e1,monotone:Qe});Ev.forEach(function(z,H){H.key=z,H.closed=/-closed$/.test(z)});function Oo(z){return z.length>1?z.join("L"):z+"Z"}function $m(z){return z.join("L")+"Z"}function Km(z){for(var H=0,X=z.length,se=z[0],ue=[se[0],",",se[1]];++H<X;)ue.push("H",(se[0]+(se=z[H])[0])/2,"V",se[1]);return X>1&&ue.push("H",se[0]),ue.join("")}function Hs(z){for(var H=0,X=z.length,se=z[0],ue=[se[0],",",se[1]];++H<X;)ue.push("V",(se=z[H])[1],"H",se[0]);return ue.join("")}function Ap(z){for(var H=0,X=z.length,se=z[0],ue=[se[0],",",se[1]];++H<X;)ue.push("H",(se=z[H])[0],"V",se[1]);return ue.join("")}function Qm(z,H){return z.length<4?Oo(z):z[1]+Gd(z.slice(1,-1),zh(z,H))}function e1(z,H){return z.length<3?$m(z):z[0]+Gd((z.push(z[0]),z),zh([z[z.length-2]].concat(z,[z[1]]),H))}function t1(z,H){return z.length<3?Oo(z):z[0]+Gd(z,zh(z,H))}function Gd(z,H){if(H.length<1||z.length!=H.length&&z.length!=H.length+2)return Oo(z);var X=z.length!=H.length,se="",ue=z[0],he=z[1],Se=H[0],xe=Se,qe=1;if(X&&(se+="Q"+(he[0]-Se[0]*2/3)+","+(he[1]-Se[1]*2/3)+","+he[0]+","+he[1],ue=z[1],qe=2),H.length>1){xe=H[1],he=z[qe],qe++,se+="C"+(ue[0]+Se[0])+","+(ue[1]+Se[1])+","+(he[0]-xe[0])+","+(he[1]-xe[1])+","+he[0]+","+he[1];for(var Xe=2;Xe<H.length;Xe++,qe++)he=z[qe],xe=H[Xe],se+="S"+(he[0]-xe[0])+","+(he[1]-xe[1])+","+he[0]+","+he[1]}if(X){var Je=z[qe];se+="Q"+(he[0]+xe[0]*2/3)+","+(he[1]+xe[1]*2/3)+","+Je[0]+","+Je[1]}return se}function zh(z,H){for(var X=[],se=(1-H)/2,ue,he=z[0],Se=z[1],xe=1,qe=z.length;++xe<qe;)ue=he,he=Se,Se=z[xe],X.push([se*(Se[0]-ue[0]),se*(Se[1]-ue[1])]);return X}function Mp(z){if(z.length<3)return Oo(z);var H=1,X=z.length,se=z[0],ue=se[0],he=se[1],Se=[ue,ue,ue,(se=z[1])[0]],xe=[he,he,he,se[1]],qe=[ue,",",he,"L",is(de,Se),",",is(de,xe)];for(z.push(z[X-1]);++H<=X;)se=z[H],Se.shift(),Se.push(se[0]),xe.shift(),xe.push(se[1]),ye(qe,Se,xe);return z.pop(),qe.push("L",se),qe.join("")}function kp(z){if(z.length<4)return Oo(z);for(var H=[],X=-1,se=z.length,ue,he=[0],Se=[0];++X<3;)ue=z[X],he.push(ue[0]),Se.push(ue[1]);for(H.push(is(de,he)+","+is(de,Se)),--X;++X<se;)ue=z[X],he.shift(),he.push(ue[0]),Se.shift(),Se.push(ue[1]),ye(H,he,Se);return H.join("")}function pb(z){for(var H,X=-1,se=z.length,ue=se+4,he,Se=[],xe=[];++X<4;)he=z[X%se],Se.push(he[0]),xe.push(he[1]);for(H=[is(de,Se),",",is(de,xe)],--X;++X<ue;)he=z[X%se],Se.shift(),Se.push(he[0]),xe.shift(),xe.push(he[1]),ye(H,Se,xe);return H.join("")}function Lv(z,H){var X=z.length-1;if(X)for(var se=z[0][0],ue=z[0][1],he=z[X][0]-se,Se=z[X][1]-ue,xe=-1,qe,Xe;++xe<=X;)qe=z[xe],Xe=xe/X,qe[0]=H*qe[0]+(1-H)*(se+Xe*he),qe[1]=H*qe[1]+(1-H)*(ue+Xe*Se);return Mp(z)}function is(z,H){return z[0]*H[0]+z[1]*H[1]+z[2]*H[2]+z[3]*H[3]}var re=[0,2/3,1/3,0],le=[0,1/3,2/3,0],de=[0,1/6,2/3,1/6];function ye(z,H,X){z.push("C",is(re,H),",",is(re,X),",",is(le,H),",",is(le,X),",",is(de,H),",",is(de,X))}function Me(z,H){return(H[1]-z[1])/(H[0]-z[0])}function _e(z){for(var H=0,X=z.length-1,se=[],ue=z[0],he=z[1],Se=se[0]=Me(ue,he);++H<X;)se[H]=(Se+(Se=Me(ue=he,he=z[H+1])))/2;return se[H]=Se,se}function Le(z){for(var H=[],X,se,ue,he,Se=_e(z),xe=-1,qe=z.length-1;++xe<qe;)X=Me(z[xe],z[xe+1]),g(X)<At?Se[xe]=Se[xe+1]=0:(se=Se[xe]/X,ue=Se[xe+1]/X,he=se*se+ue*ue,he>9&&(he=X*3/Math.sqrt(he),Se[xe]=he*se,Se[xe+1]=he*ue));for(xe=-1;++xe<=qe;)he=(z[Math.min(qe,xe+1)][0]-z[Math.max(0,xe-1)][0])/(6*(1+Se[xe]*Se[xe])),H.push([he||0,Se[xe]*he||0]);return H}function Qe(z){return z.length<3?Oo(z):z[0]+Gd(z,Le(z))}e.svg.line.radial=function(){var z=Jm(st);return z.radius=z.x,delete z.x,z.angle=z.y,delete z.y,z};function st(z){for(var H,X=-1,se=z.length,ue,he;++X<se;)H=z[X],ue=H[0],he=H[1]-Y,H[0]=ue*Math.cos(he),H[1]=ue*Math.sin(he);return z}function et(z){var H=$i,X=$i,se=0,ue=Ki,he=Yd,Se=Oo,xe=Se.key,qe=Se,Xe="L",Je=.7;function dt(pt){var It=[],Nt=[],mt=[],kt=-1,Dt=pt.length,Ot,Bt=Mt(H),Rt=Mt(se),ur=H===X?function(){return Pr}:Mt(X),Dr=se===ue?function(){return lr}:Mt(ue),Pr,lr;function Vr(){It.push("M",Se(z(mt),Je),Xe,qe(z(Nt.reverse()),Je),"Z")}for(;++kt<Dt;)he.call(this,Ot=pt[kt],kt)?(Nt.push([Pr=+Bt.call(this,Ot,kt),lr=+Rt.call(this,Ot,kt)]),mt.push([+ur.call(this,Ot,kt),+Dr.call(this,Ot,kt)])):Nt.length&&(Vr(),Nt=[],mt=[]);return Nt.length&&Vr(),It.length?It.join(""):null}return dt.x=function(pt){return arguments.length?(H=X=pt,dt):X},dt.x0=function(pt){return arguments.length?(H=pt,dt):H},dt.x1=function(pt){return arguments.length?(X=pt,dt):X},dt.y=function(pt){return arguments.length?(se=ue=pt,dt):ue},dt.y0=function(pt){return arguments.length?(se=pt,dt):se},dt.y1=function(pt){return arguments.length?(ue=pt,dt):ue},dt.defined=function(pt){return arguments.length?(he=pt,dt):he},dt.interpolate=function(pt){return arguments.length?(typeof pt=="function"?xe=Se=pt:xe=(Se=Ev.get(pt)||Oo).key,qe=Se.reverse||Se,Xe=Se.closed?"M":"L",dt):xe},dt.tension=function(pt){return arguments.length?(Je=pt,dt):Je},dt}Hs.reverse=Ap,Ap.reverse=Hs,e.svg.area=function(){return et(R)},e.svg.area.radial=function(){var z=et(st);return z.radius=z.x,delete z.x,z.innerRadius=z.x0,delete z.x0,z.outerRadius=z.x1,delete z.x1,z.angle=z.y,delete z.y,z.startAngle=z.y0,delete z.y0,z.endAngle=z.y1,delete z.y1,z};function ut(z){return z.source}function yt(z){return z.target}e.svg.chord=function(){var z=ut,H=yt,X=Ct,se=ll,ue=gf;function he(Je,dt){var pt=Se(this,z,Je,dt),It=Se(this,H,Je,dt);return"M"+pt.p0+qe(pt.r,pt.p1,pt.a1-pt.a0)+(xe(pt,It)?Xe(pt.r,pt.p1,pt.r,pt.p0):Xe(pt.r,pt.p1,It.r,It.p0)+qe(It.r,It.p1,It.a1-It.a0)+Xe(It.r,It.p1,pt.r,pt.p0))+"Z"}function Se(Je,dt,pt,It){var Nt=dt.call(Je,pt,It),mt=X.call(Je,Nt,It),kt=se.call(Je,Nt,It)-Y,Dt=ue.call(Je,Nt,It)-Y;return{r:mt,a0:kt,a1:Dt,p0:[mt*Math.cos(kt),mt*Math.sin(kt)],p1:[mt*Math.cos(Dt),mt*Math.sin(Dt)]}}function xe(Je,dt){return Je.a0==dt.a0&&Je.a1==dt.a1}function qe(Je,dt,pt){return"A"+Je+","+Je+" 0 "+ +(pt>je)+",1 "+dt}function Xe(Je,dt,pt,It){return"Q 0,0 "+It}return he.radius=function(Je){return arguments.length?(X=Mt(Je),he):X},he.source=function(Je){return arguments.length?(z=Mt(Je),he):z},he.target=function(Je){return arguments.length?(H=Mt(Je),he):H},he.startAngle=function(Je){return arguments.length?(se=Mt(Je),he):se},he.endAngle=function(Je){return arguments.length?(ue=Mt(Je),he):ue},he};function Ct(z){return z.radius}e.svg.diagonal=function(){var z=ut,H=yt,X=qt;function se(ue,he){var Se=z.call(this,ue,he),xe=H.call(this,ue,he),qe=(Se.y+xe.y)/2,Xe=[Se,{x:Se.x,y:qe},{x:xe.x,y:qe},xe];return Xe=Xe.map(X),"M"+Xe[0]+"C"+Xe[1]+" "+Xe[2]+" "+Xe[3]}return se.source=function(ue){return arguments.length?(z=Mt(ue),se):z},se.target=function(ue){return arguments.length?(H=Mt(ue),se):H},se.projection=function(ue){return arguments.length?(X=ue,se):X},se};function qt(z){return[z.x,z.y]}e.svg.diagonal.radial=function(){var z=e.svg.diagonal(),H=qt,X=z.projection;return z.projection=function(se){return arguments.length?X(Zt(H=se)):H},z};function Zt(z){return function(){var H=z.apply(this,arguments),X=H[0],se=H[1]-Y;return[X*Math.cos(se),X*Math.sin(se)]}}e.svg.symbol=function(){var z=dr,H=rr;function X(se,ue){return(Ur.get(z.call(this,se,ue))||Ir)(H.call(this,se,ue))}return X.type=function(se){return arguments.length?(z=Mt(se),X):z},X.size=function(se){return arguments.length?(H=Mt(se),X):H},X};function rr(){return 64}function dr(){return"circle"}function Ir(z){var H=Math.sqrt(z/je);return"M0,"+H+"A"+H+","+H+" 0 1,1 0,"+-H+"A"+H+","+H+" 0 1,1 0,"+H+"Z"}var Ur=e.map({circle:Ir,cross:function(z){var H=Math.sqrt(z/5)/2;return"M"+-3*H+","+-H+"H"+-H+"V"+-3*H+"H"+H+"V"+-H+"H"+3*H+"V"+H+"H"+H+"V"+3*H+"H"+-H+"V"+H+"H"+-3*H+"Z"},diamond:function(z){var H=Math.sqrt(z/(2*un)),X=H*un;return"M0,"+-H+"L"+X+",0 0,"+H+" "+-X+",0Z"},square:function(z){var H=Math.sqrt(z)/2;return"M"+-H+","+-H+"L"+H+","+-H+" "+H+","+H+" "+-H+","+H+"Z"},"triangle-down":function(z){var H=Math.sqrt(z/an),X=H*an/2;return"M0,"+X+"L"+H+","+-X+" "+-H+","+-X+"Z"},"triangle-up":function(z){var H=Math.sqrt(z/an),X=H*an/2;return"M0,"+-X+"L"+H+","+X+" "+-H+","+X+"Z"}});e.svg.symbolTypes=Ur.keys();var an=Math.sqrt(3),un=Math.tan(30*ie);te.transition=function(z){for(var H=Ri||++ya,X=as(z),se=[],ue,he,Se=Ts||{time:Date.now(),ease:Tv,delay:0,duration:250},xe=-1,qe=this.length;++xe<qe;){se.push(ue=[]);for(var Xe=this[xe],Je=-1,dt=Xe.length;++Je<dt;)(he=Xe[Je])&&Mo(he,Je,X,H,Se),ue.push(he)}return Oi(se,X,H)},te.interrupt=function(z){return this.each(z==null?on:Mi(as(z)))};var on=Mi(as());function Mi(z){return function(){var H,X,se;(H=this[z])&&(se=H[X=H.active])&&(se.timer.c=null,se.timer.t=NaN,--H.count?delete H[X]:delete this[z],H.active+=.5,se.event&&se.event.interrupt.call(this,this.__data__,se.index))}}function Oi(z,H,X){return O(z,Nn),z.namespace=H,z.id=X,z}var Nn=[],ya=0,Ri,Ts;Nn.call=te.call,Nn.empty=te.empty,Nn.node=te.node,Nn.size=te.size,e.transition=function(z,H){return z&&z.transition?Ri?z.transition(H):z:e.selection().transition(z)},e.transition.prototype=Nn,Nn.select=function(z){var H=this.id,X=this.namespace,se=[],ue,he,Se;z=V(z);for(var xe=-1,qe=this.length;++xe<qe;){se.push(ue=[]);for(var Xe=this[xe],Je=-1,dt=Xe.length;++Je<dt;)(Se=Xe[Je])&&(he=z.call(Se,Se.__data__,Je,xe))?("__data__"in Se&&(he.__data__=Se.__data__),Mo(he,Je,X,H,Se[X][H]),ue.push(he)):ue.push(null)}return Oi(se,X,H)},Nn.selectAll=function(z){var H=this.id,X=this.namespace,se=[],ue,he,Se,xe,qe;z=ne(z);for(var Xe=-1,Je=this.length;++Xe<Je;)for(var dt=this[Xe],pt=-1,It=dt.length;++pt<It;)if(Se=dt[pt]){qe=Se[X][H],he=z.call(Se,Se.__data__,pt,Xe),se.push(ue=[]);for(var Nt=-1,mt=he.length;++Nt<mt;)(xe=he[Nt])&&Mo(xe,Nt,X,H,qe),ue.push(xe)}return Oi(se,X,H)},Nn.filter=function(z){var H=[],X,se,ue;typeof z!="function"&&(z=ce(z));for(var he=0,Se=this.length;he<Se;he++){H.push(X=[]);for(var se=this[he],xe=0,qe=se.length;xe<qe;xe++)(ue=se[xe])&&z.call(ue,ue.__data__,xe,he)&&X.push(ue)}return Oi(H,this.namespace,this.id)},Nn.tween=function(z,H){var X=this.id,se=this.namespace;return arguments.length<2?this.node()[se][X].tween.get(z):Ae(this,H==null?function(ue){ue[se][X].tween.remove(z)}:function(ue){ue[se][X].tween.set(z,H)})};function mf(z,H,X,se){var ue=z.id,he=z.namespace;return Ae(z,typeof X=="function"?function(Se,xe,qe){Se[he][ue].tween.set(H,se(X.call(Se,Se.__data__,xe,qe)))}:(X=se(X),function(Se){Se[he][ue].tween.set(H,X)}))}Nn.attr=function(z,H){if(arguments.length<2){for(H in z)this.attr(H,z[H]);return this}var X=z=="transform"?Lh:_u,se=e.ns.qualify(z);function ue(){this.removeAttribute(se)}function he(){this.removeAttributeNS(se.space,se.local)}function Se(qe){return qe==null?ue:(qe+="",function(){var Xe=this.getAttribute(se),Je;return Xe!==qe&&(Je=X(Xe,qe),function(dt){this.setAttribute(se,Je(dt))})})}function xe(qe){return qe==null?he:(qe+="",function(){var Xe=this.getAttributeNS(se.space,se.local),Je;return Xe!==qe&&(Je=X(Xe,qe),function(dt){this.setAttributeNS(se.space,se.local,Je(dt))})})}return mf(this,"attr."+z,H,se.local?xe:Se)},Nn.attrTween=function(z,H){var X=e.ns.qualify(z);function se(he,Se){var xe=H.call(this,he,Se,this.getAttribute(X));return xe&&function(qe){this.setAttribute(X,xe(qe))}}function ue(he,Se){var xe=H.call(this,he,Se,this.getAttributeNS(X.space,X.local));return xe&&function(qe){this.setAttributeNS(X.space,X.local,xe(qe))}}return this.tween("attr."+z,X.local?ue:se)},Nn.style=function(z,H,X){var se=arguments.length;if(se<3){if(typeof z!="string"){se<2&&(H="");for(X in z)this.style(X,z[X],H);return this}X=""}function ue(){this.style.removeProperty(z)}function he(Se){return Se==null?ue:(Se+="",function(){var xe=a(this).getComputedStyle(this,null).getPropertyValue(z),qe;return xe!==Se&&(qe=_u(xe,Se),function(Xe){this.style.setProperty(z,qe(Xe),X)})})}return mf(this,"style."+z,H,he)},Nn.styleTween=function(z,H,X){arguments.length<3&&(X="");function se(ue,he){var Se=H.call(this,ue,he,a(this).getComputedStyle(this,null).getPropertyValue(z));return Se&&function(xe){this.style.setProperty(z,Se(xe),X)}}return this.tween("style."+z,se)},Nn.text=function(z){return mf(this,"text",z,Gc)};function Gc(z){return z==null&&(z=""),function(){this.textContent=z}}Nn.remove=function(){var z=this.namespace;return this.each("end.transition",function(){var H;this[z].count<2&&(H=this.parentNode)&&H.removeChild(this)})},Nn.ease=function(z){var H=this.id,X=this.namespace;return arguments.length<1?this.node()[X][H].ease:(typeof z!="function"&&(z=e.ease.apply(e,arguments)),Ae(this,function(se){se[X][H].ease=z}))},Nn.delay=function(z){var H=this.id,X=this.namespace;return arguments.length<1?this.node()[X][H].delay:Ae(this,typeof z=="function"?function(se,ue,he){se[X][H].delay=+z.call(se,se.__data__,ue,he)}:(z=+z,function(se){se[X][H].delay=z}))},Nn.duration=function(z){var H=this.id,X=this.namespace;return arguments.length<1?this.node()[X][H].duration:Ae(this,typeof z=="function"?function(se,ue,he){se[X][H].duration=Math.max(1,z.call(se,se.__data__,ue,he))}:(z=Math.max(1,z),function(se){se[X][H].duration=z}))},Nn.each=function(z,H){var X=this.id,se=this.namespace;if(arguments.length<2){var ue=Ts,he=Ri;try{Ri=X,Ae(this,function(Se,xe,qe){Ts=Se[se][X],z.call(Se,Se.__data__,xe,qe)})}finally{Ts=ue,Ri=he}}else Ae(this,function(Se){var xe=Se[se][X];(xe.event||(xe.event=e.dispatch("start","end","interrupt"))).on(z,H)});return this},Nn.transition=function(){for(var z=this.id,H=++ya,X=this.namespace,se=[],ue,he,Se,xe,qe=0,Xe=this.length;qe<Xe;qe++){se.push(ue=[]);for(var he=this[qe],Je=0,dt=he.length;Je<dt;Je++)(Se=he[Je])&&(xe=Se[X][z],Mo(Se,Je,X,H,{time:xe.time,ease:xe.ease,delay:xe.delay+xe.duration,duration:xe.duration})),ue.push(Se)}return Oi(se,X,H)};function as(z){return z==null?"__transition__":"__transition_"+z+"__"}function Mo(z,H,X,se,ue){var he=z[X]||(z[X]={active:0,count:0}),Se=he[se],xe,qe,Xe,Je,dt;function pt(mt){var kt=Se.delay;if(qe.t=kt+xe,kt<=mt)return It(mt-kt);qe.c=It}function It(mt){var kt=he.active,Dt=he[kt];Dt&&(Dt.timer.c=null,Dt.timer.t=NaN,--he.count,delete he[kt],Dt.event&&Dt.event.interrupt.call(z,z.__data__,Dt.index));for(var Ot in he)if(+Ot<se){var Bt=he[Ot];Bt.timer.c=null,Bt.timer.t=NaN,--he.count,delete he[Ot]}qe.c=Nt,ei(function(){return qe.c&&Nt(mt||1)&&(qe.c=null,qe.t=NaN),1},0,xe),he.active=se,Se.event&&Se.event.start.call(z,z.__data__,H),dt=[],Se.tween.forEach(function(Rt,ur){(ur=ur.call(z,z.__data__,H))&&dt.push(ur)}),Je=Se.ease,Xe=Se.duration}function Nt(mt){for(var kt=mt/Xe,Dt=Je(kt),Ot=dt.length;Ot>0;)dt[--Ot].call(z,Dt);if(kt>=1)return Se.event&&Se.event.end.call(z,z.__data__,H),--he.count?delete he[se]:delete z[X],1}Se||(xe=ue.time,qe=ei(pt,0,xe),Se=he[se]={tween:new w,time:xe,timer:qe,delay:ue.delay,duration:ue.duration,ease:ue.ease,index:H},ue=null,++he.count)}e.svg.axis=function(){var z=e.scale.linear(),H=Ql,X=6,se=6,ue=3,he=[10],Se=null,xe;function qe(Xe){Xe.each(function(){var Je=e.select(this),dt=this.__chart__||z,pt=this.__chart__=z.copy(),It=Se??(pt.ticks?pt.ticks.apply(pt,he):pt.domain()),Nt=xe??(pt.tickFormat?pt.tickFormat.apply(pt,he):R),mt=Je.selectAll(".tick").data(It,pt),kt=mt.enter().insert("g",".domain").attr("class","tick").style("opacity",At),Dt=e.transition(mt.exit()).style("opacity",At).remove(),Ot=e.transition(mt.order()).style("opacity",1),Bt=Math.max(X,0)+ue,Rt,ur=Kt(pt),Dr=Je.selectAll(".domain").data([0]),Pr=(Dr.enter().append("path").attr("class","domain"),e.transition(Dr));kt.append("line"),kt.append("text");var lr=kt.select("line"),Vr=Ot.select("line"),Yr=mt.select("text").text(Nt),yn=kt.select("text"),Wr=Ot.select("text"),xn=H==="top"||H==="left"?-1:1,xi,Pi,Ii,Ar;if(H==="bottom"||H==="top"?(Rt=Eu,xi="x",Ii="y",Pi="x2",Ar="y2",Yr.attr("dy",xn<0?"0em":".71em").style("text-anchor","middle"),Pr.attr("d","M"+ur[0]+","+xn*se+"V0H"+ur[1]+"V"+xn*se)):(Rt=yf,xi="y",Ii="x",Pi="y2",Ar="x2",Yr.attr("dy",".32em").style("text-anchor",xn<0?"end":"start"),Pr.attr("d","M"+xn*se+","+ur[0]+"H0V"+ur[1]+"H"+xn*se)),lr.attr(Ar,xn*X),yn.attr(Ii,xn*Bt),Vr.attr(Pi,0).attr(Ar,xn*X),Wr.attr(xi,0).attr(Ii,xn*Bt),pt.rangeBand){var Mn=pt,Pn=Mn.rangeBand()/2;dt=pt=function(di){return Mn(di)+Pn}}else dt.rangeBand?dt=pt:Dt.call(Rt,pt,dt);kt.call(Rt,dt,pt),Ot.call(Rt,pt,pt)})}return qe.scale=function(Xe){return arguments.length?(z=Xe,qe):z},qe.orient=function(Xe){return arguments.length?(H=Xe in ul?Xe+"":Ql,qe):H},qe.ticks=function(){return arguments.length?(he=r(arguments),qe):he},qe.tickValues=function(Xe){return arguments.length?(Se=Xe,qe):Se},qe.tickFormat=function(Xe){return arguments.length?(xe=Xe,qe):xe},qe.tickSize=function(Xe){var Je=arguments.length;return Je?(X=+Xe,se=+arguments[Je-1],qe):X},qe.innerTickSize=function(Xe){return arguments.length?(X=+Xe,qe):X},qe.outerTickSize=function(Xe){return arguments.length?(se=+Xe,qe):se},qe.tickPadding=function(Xe){return arguments.length?(ue=+Xe,qe):ue},qe.tickSubdivide=function(){return arguments.length&&qe},qe};var Ql="bottom",ul={top:1,right:1,bottom:1,left:1};function Eu(z,H,X){z.attr("transform",function(se){var ue=H(se);return"translate("+(isFinite(ue)?ue:X(se))+",0)"})}function yf(z,H,X){z.attr("transform",function(se){var ue=H(se);return"translate(0,"+(isFinite(ue)?ue:X(se))+")"})}e.svg.brush=function(){var z=Q(Je,"brushstart","brush","brushend"),H=null,X=null,se=[0,0],ue=[0,0],he,Se,xe=!0,qe=!0,Xe=js[0];function Je(mt){mt.each(function(){var kt=e.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",Nt).on("touchstart.brush",Nt),Dt=kt.selectAll(".background").data([0]);Dt.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),kt.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var Ot=kt.selectAll(".resize").data(Xe,R);Ot.exit().remove(),Ot.enter().append("g").attr("class",function(Dr){return"resize "+Dr}).style("cursor",function(Dr){return Wf[Dr]}).append("rect").attr("x",function(Dr){return/[ew]$/.test(Dr)?-3:null}).attr("y",function(Dr){return/^[ns]/.test(Dr)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),Ot.style("display",Je.empty()?"none":null);var Bt=e.transition(kt),Rt=e.transition(Dt),ur;H&&(ur=Kt(H),Rt.attr("x",ur[0]).attr("width",ur[1]-ur[0]),pt(Bt)),X&&(ur=Kt(X),Rt.attr("y",ur[0]).attr("height",ur[1]-ur[0]),It(Bt)),dt(Bt)})}Je.event=function(mt){mt.each(function(){var kt=z.of(this,arguments),Dt={x:se,y:ue,i:he,j:Se},Ot=this.__chart__||Dt;this.__chart__=Dt,Ri?e.select(this).transition().each("start.brush",function(){he=Ot.i,Se=Ot.j,se=Ot.x,ue=Ot.y,kt({type:"brushstart"})}).tween("brush:brush",function(){var Bt=jf(se,Dt.x),Rt=jf(ue,Dt.y);return he=Se=null,function(ur){se=Dt.x=Bt(ur),ue=Dt.y=Rt(ur),kt({type:"brush",mode:"resize"})}}).each("end.brush",function(){he=Dt.i,Se=Dt.j,kt({type:"brush",mode:"resize"}),kt({type:"brushend"})}):(kt({type:"brushstart"}),kt({type:"brush",mode:"resize"}),kt({type:"brushend"}))})};function dt(mt){mt.selectAll(".resize").attr("transform",function(kt){return"translate("+se[+/e$/.test(kt)]+","+ue[+/^s/.test(kt)]+")"})}function pt(mt){mt.select(".extent").attr("x",se[0]),mt.selectAll(".extent,.n>rect,.s>rect").attr("width",se[1]-se[0])}function It(mt){mt.select(".extent").attr("y",ue[0]),mt.selectAll(".extent,.e>rect,.w>rect").attr("height",ue[1]-ue[0])}function Nt(){var mt=this,kt=e.select(e.event.target),Dt=z.of(mt,arguments),Ot=e.select(mt),Bt=kt.datum(),Rt=!/^(n|s)$/.test(Bt)&&H,ur=!/^(e|w)$/.test(Bt)&&X,Dr=kt.classed("extent"),Pr=_t(mt),lr,Vr=e.mouse(mt),Yr,yn=e.select(a(mt)).on("keydown.brush",xi).on("keyup.brush",Pi);if(e.event.changedTouches?yn.on("touchmove.brush",Ii).on("touchend.brush",Mn):yn.on("mousemove.brush",Ii).on("mouseup.brush",Mn),Ot.interrupt().selectAll("*").interrupt(),Dr)Vr[0]=se[0]-Vr[0],Vr[1]=ue[0]-Vr[1];else if(Bt){var Wr=+/w$/.test(Bt),xn=+/^n/.test(Bt);Yr=[se[1-Wr]-Vr[0],ue[1-xn]-Vr[1]],Vr[0]=se[Wr],Vr[1]=ue[xn]}else e.event.altKey&&(lr=Vr.slice());Ot.style("pointer-events","none").selectAll(".resize").style("display",null),e.select("body").style("cursor",kt.style("cursor")),Dt({type:"brushstart"}),Ii();function xi(){e.event.keyCode==32&&(Dr||(lr=null,Vr[0]-=se[1],Vr[1]-=ue[1],Dr=2),G())}function Pi(){e.event.keyCode==32&&Dr==2&&(Vr[0]+=se[1],Vr[1]+=ue[1],Dr=0,G())}function Ii(){var Pn=e.mouse(mt),di=!1;Yr&&(Pn[0]+=Yr[0],Pn[1]+=Yr[1]),Dr||(e.event.altKey?(lr||(lr=[(se[0]+se[1])/2,(ue[0]+ue[1])/2]),Vr[0]=se[+(Pn[0]<lr[0])],Vr[1]=ue[+(Pn[1]<lr[1])]):lr=null),Rt&&Ar(Pn,H,0)&&(pt(Ot),di=!0),ur&&Ar(Pn,X,1)&&(It(Ot),di=!0),di&&(dt(Ot),Dt({type:"brush",mode:Dr?"move":"resize"}))}function Ar(Pn,di,bi){var la=Kt(di),ko=la[0],As=la[1],os=Vr[bi],Ms=bi?ue:se,Vs=Ms[1]-Ms[0],ss,Ys;if(Dr&&(ko-=os,As-=Vs+os),ss=(bi?qe:xe)?Math.max(ko,Math.min(As,Pn[bi])):Pn[bi],Dr?Ys=(ss+=os)+Vs:(lr&&(os=Math.max(ko,Math.min(As,2*lr[bi]-ss))),os<ss?(Ys=ss,ss=os):Ys=os),Ms[0]!=ss||Ms[1]!=Ys)return bi?Se=null:he=null,Ms[0]=ss,Ms[1]=Ys,!0}function Mn(){Ii(),Ot.style("pointer-events","all").selectAll(".resize").style("display",Je.empty()?"none":null),e.select("body").style("cursor",null),yn.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),Pr(),Dt({type:"brushend"})}}return Je.x=function(mt){return arguments.length?(H=mt,Xe=js[!H<<1|!X],Je):H},Je.y=function(mt){return arguments.length?(X=mt,Xe=js[!H<<1|!X],Je):X},Je.clamp=function(mt){return arguments.length?(H&&X?(xe=!!mt[0],qe=!!mt[1]):H?xe=!!mt:X&&(qe=!!mt),Je):H&&X?[xe,qe]:H?xe:X?qe:null},Je.extent=function(mt){var kt,Dt,Ot,Bt,Rt;return arguments.length?(H&&(kt=mt[0],Dt=mt[1],X&&(kt=kt[0],Dt=Dt[0]),he=[kt,Dt],H.invert&&(kt=H(kt),Dt=H(Dt)),Dt<kt&&(Rt=kt,kt=Dt,Dt=Rt),(kt!=se[0]||Dt!=se[1])&&(se=[kt,Dt])),X&&(Ot=mt[0],Bt=mt[1],H&&(Ot=Ot[1],Bt=Bt[1]),Se=[Ot,Bt],X.invert&&(Ot=X(Ot),Bt=X(Bt)),Bt<Ot&&(Rt=Ot,Ot=Bt,Bt=Rt),(Ot!=ue[0]||Bt!=ue[1])&&(ue=[Ot,Bt])),Je):(H&&(he?(kt=he[0],Dt=he[1]):(kt=se[0],Dt=se[1],H.invert&&(kt=H.invert(kt),Dt=H.invert(Dt)),Dt<kt&&(Rt=kt,kt=Dt,Dt=Rt))),X&&(Se?(Ot=Se[0],Bt=Se[1]):(Ot=ue[0],Bt=ue[1],X.invert&&(Ot=X.invert(Ot),Bt=X.invert(Bt)),Bt<Ot&&(Rt=Ot,Ot=Bt,Bt=Rt))),H&&X?[[kt,Ot],[Dt,Bt]]:H?[kt,Dt]:X&&[Ot,Bt])},Je.clear=function(){return Je.empty()||(se=[0,0],ue=[0,0],he=Se=null),Je},Je.empty=function(){return!!H&&se[0]==se[1]||!!X&&ue[0]==ue[1]},e.rebind(Je,z,"on")};var Wf={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},js=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]];e.text=Gt(function(z){return z.responseText}),e.json=function(z,H){return Lt(z,"application/json",Wc,H)};function Wc(z){return JSON.parse(z.responseText)}e.html=function(z,H){return Lt(z,"text/html",Dv,H)};function Dv(z){var H=n.createRange();return H.selectNode(n.body),H.createContextualFragment(z.responseText)}e.xml=Gt(function(z){return z.responseXML}),typeof define=="function"&&define.amd?define(e):typeof oT=="object"&&oT.exports?oT.exports=e:this.d3=e}).apply(self)});var sE=J((sT,kV)=>{(function(e,t){typeof sT=="object"&&typeof kV<"u"?t(sT):typeof define=="function"&&define.amd?define(["exports"],t):(e=e||self,t(e.d3=e.d3||{}))})(sT,function(e){"use strict";var t=new Date,r=new Date;function n(ce,Ee,Ae,Pe){function He(Fe){return ce(Fe=arguments.length===0?new Date:new Date(+Fe)),Fe}return He.floor=function(Fe){return ce(Fe=new Date(+Fe)),Fe},He.ceil=function(Fe){return ce(Fe=new Date(Fe-1)),Ee(Fe,1),ce(Fe),Fe},He.round=function(Fe){var ke=He(Fe),Ue=He.ceil(Fe);return Fe-ke<Ue-Fe?ke:Ue},He.offset=function(Fe,ke){return Ee(Fe=new Date(+Fe),ke==null?1:Math.floor(ke)),Fe},He.range=function(Fe,ke,Ue){var Ge=[],lt;if(Fe=He.ceil(Fe),Ue=Ue==null?1:Math.floor(Ue),!(Fe<ke)||!(Ue>0))return Ge;do Ge.push(lt=new Date(+Fe)),Ee(Fe,Ue),ce(Fe);while(lt<Fe&&Fe<ke);return Ge},He.filter=function(Fe){return n(function(ke){if(ke>=ke)for(;ce(ke),!Fe(ke);)ke.setTime(ke-1)},function(ke,Ue){if(ke>=ke)if(Ue<0)for(;++Ue<=0;)for(;Ee(ke,-1),!Fe(ke););else for(;--Ue>=0;)for(;Ee(ke,1),!Fe(ke););})},Ae&&(He.count=function(Fe,ke){return t.setTime(+Fe),r.setTime(+ke),ce(t),ce(r),Math.floor(Ae(t,r))},He.every=function(Fe){return Fe=Math.floor(Fe),!isFinite(Fe)||!(Fe>0)?null:Fe>1?He.filter(Pe?function(ke){return Pe(ke)%Fe===0}:function(ke){return He.count(0,ke)%Fe===0}):He}),He}var i=n(function(){},function(ce,Ee){ce.setTime(+ce+Ee)},function(ce,Ee){return Ee-ce});i.every=function(ce){return ce=Math.floor(ce),!isFinite(ce)||!(ce>0)?null:ce>1?n(function(Ee){Ee.setTime(Math.floor(Ee/ce)*ce)},function(Ee,Ae){Ee.setTime(+Ee+Ae*ce)},function(Ee,Ae){return(Ae-Ee)/ce}):i};var a=i.range,o=1e3,s=6e4,l=36e5,u=864e5,f=6048e5,c=n(function(ce){ce.setTime(ce-ce.getMilliseconds())},function(ce,Ee){ce.setTime(+ce+Ee*o)},function(ce,Ee){return(Ee-ce)/o},function(ce){return ce.getUTCSeconds()}),h=c.range,d=n(function(ce){ce.setTime(ce-ce.getMilliseconds()-ce.getSeconds()*o)},function(ce,Ee){ce.setTime(+ce+Ee*s)},function(ce,Ee){return(Ee-ce)/s},function(ce){return ce.getMinutes()}),v=d.range,m=n(function(ce){ce.setTime(ce-ce.getMilliseconds()-ce.getSeconds()*o-ce.getMinutes()*s)},function(ce,Ee){ce.setTime(+ce+Ee*l)},function(ce,Ee){return(Ee-ce)/l},function(ce){return ce.getHours()}),b=m.range,g=n(function(ce){ce.setHours(0,0,0,0)},function(ce,Ee){ce.setDate(ce.getDate()+Ee)},function(ce,Ee){return(Ee-ce-(Ee.getTimezoneOffset()-ce.getTimezoneOffset())*s)/u},function(ce){return ce.getDate()-1}),_=g.range;function T(ce){return n(function(Ee){Ee.setDate(Ee.getDate()-(Ee.getDay()+7-ce)%7),Ee.setHours(0,0,0,0)},function(Ee,Ae){Ee.setDate(Ee.getDate()+Ae*7)},function(Ee,Ae){return(Ae-Ee-(Ae.getTimezoneOffset()-Ee.getTimezoneOffset())*s)/f})}var w=T(0),k=T(1),x=T(2),M=T(3),A=T(4),p=T(5),S=T(6),y=w.range,E=k.range,C=x.range,L=M.range,R=A.range,I=p.range,P=S.range,D=n(function(ce){ce.setDate(1),ce.setHours(0,0,0,0)},function(ce,Ee){ce.setMonth(ce.getMonth()+Ee)},function(ce,Ee){return Ee.getMonth()-ce.getMonth()+(Ee.getFullYear()-ce.getFullYear())*12},function(ce){return ce.getMonth()}),q=D.range,N=n(function(ce){ce.setMonth(0,1),ce.setHours(0,0,0,0)},function(ce,Ee){ce.setFullYear(ce.getFullYear()+Ee)},function(ce,Ee){return Ee.getFullYear()-ce.getFullYear()},function(ce){return ce.getFullYear()});N.every=function(ce){return!isFinite(ce=Math.floor(ce))||!(ce>0)?null:n(function(Ee){Ee.setFullYear(Math.floor(Ee.getFullYear()/ce)*ce),Ee.setMonth(0,1),Ee.setHours(0,0,0,0)},function(Ee,Ae){Ee.setFullYear(Ee.getFullYear()+Ae*ce)})};var U=N.range,G=n(function(ce){ce.setUTCSeconds(0,0)},function(ce,Ee){ce.setTime(+ce+Ee*s)},function(ce,Ee){return(Ee-ce)/s},function(ce){return ce.getUTCMinutes()}),ee=G.range,Q=n(function(ce){ce.setUTCMinutes(0,0,0)},function(ce,Ee){ce.setTime(+ce+Ee*l)},function(ce,Ee){return(Ee-ce)/l},function(ce){return ce.getUTCHours()}),j=Q.range,O=n(function(ce){ce.setUTCHours(0,0,0,0)},function(ce,Ee){ce.setUTCDate(ce.getUTCDate()+Ee)},function(ce,Ee){return(Ee-ce)/u},function(ce){return ce.getUTCDate()-1}),Z=O.range;function K(ce){return n(function(Ee){Ee.setUTCDate(Ee.getUTCDate()-(Ee.getUTCDay()+7-ce)%7),Ee.setUTCHours(0,0,0,0)},function(Ee,Ae){Ee.setUTCDate(Ee.getUTCDate()+Ae*7)},function(Ee,Ae){return(Ae-Ee)/f})}var $=K(0),oe=K(1),te=K(2),V=K(3),ne=K(4),W=K(5),fe=K(6),ge=$.range,Ce=oe.range,Ne=te.range,pe=V.range,me=ne.range,Ie=W.range,Re=fe.range,ze=n(function(ce){ce.setUTCDate(1),ce.setUTCHours(0,0,0,0)},function(ce,Ee){ce.setUTCMonth(ce.getUTCMonth()+Ee)},function(ce,Ee){return Ee.getUTCMonth()-ce.getUTCMonth()+(Ee.getUTCFullYear()-ce.getUTCFullYear())*12},function(ce){return ce.getUTCMonth()}),Be=ze.range,tt=n(function(ce){ce.setUTCMonth(0,1),ce.setUTCHours(0,0,0,0)},function(ce,Ee){ce.setUTCFullYear(ce.getUTCFullYear()+Ee)},function(ce,Ee){return Ee.getUTCFullYear()-ce.getUTCFullYear()},function(ce){return ce.getUTCFullYear()});tt.every=function(ce){return!isFinite(ce=Math.floor(ce))||!(ce>0)?null:n(function(Ee){Ee.setUTCFullYear(Math.floor(Ee.getUTCFullYear()/ce)*ce),Ee.setUTCMonth(0,1),Ee.setUTCHours(0,0,0,0)},function(Ee,Ae){Ee.setUTCFullYear(Ee.getUTCFullYear()+Ae*ce)})};var rt=tt.range;e.timeDay=g,e.timeDays=_,e.timeFriday=p,e.timeFridays=I,e.timeHour=m,e.timeHours=b,e.timeInterval=n,e.timeMillisecond=i,e.timeMilliseconds=a,e.timeMinute=d,e.timeMinutes=v,e.timeMonday=k,e.timeMondays=E,e.timeMonth=D,e.timeMonths=q,e.timeSaturday=S,e.timeSaturdays=P,e.timeSecond=c,e.timeSeconds=h,e.timeSunday=w,e.timeSundays=y,e.timeThursday=A,e.timeThursdays=R,e.timeTuesday=x,e.timeTuesdays=C,e.timeWednesday=M,e.timeWednesdays=L,e.timeWeek=w,e.timeWeeks=y,e.timeYear=N,e.timeYears=U,e.utcDay=O,e.utcDays=Z,e.utcFriday=W,e.utcFridays=Ie,e.utcHour=Q,e.utcHours=j,e.utcMillisecond=i,e.utcMilliseconds=a,e.utcMinute=G,e.utcMinutes=ee,e.utcMonday=oe,e.utcMondays=Ce,e.utcMonth=ze,e.utcMonths=Be,e.utcSaturday=fe,e.utcSaturdays=Re,e.utcSecond=c,e.utcSeconds=h,e.utcSunday=$,e.utcSundays=ge,e.utcThursday=ne,e.utcThursdays=me,e.utcTuesday=te,e.utcTuesdays=Ne,e.utcWednesday=V,e.utcWednesdays=pe,e.utcWeek=$,e.utcWeeks=ge,e.utcYear=tt,e.utcYears=rt,Object.defineProperty(e,"__esModule",{value:!0})})});var m1=J((lT,SV)=>{(function(e,t){typeof lT=="object"&&typeof SV<"u"?t(lT,sE()):typeof define=="function"&&define.amd?define(["exports","d3-time"],t):(e=e||self,t(e.d3=e.d3||{},e.d3))})(lT,function(e,t){"use strict";function r(Y){if(0<=Y.y&&Y.y<100){var ie=new Date(-1,Y.m,Y.d,Y.H,Y.M,Y.S,Y.L);return ie.setFullYear(Y.y),ie}return new Date(Y.y,Y.m,Y.d,Y.H,Y.M,Y.S,Y.L)}function n(Y){if(0<=Y.y&&Y.y<100){var ie=new Date(Date.UTC(-1,Y.m,Y.d,Y.H,Y.M,Y.S,Y.L));return ie.setUTCFullYear(Y.y),ie}return new Date(Date.UTC(Y.y,Y.m,Y.d,Y.H,Y.M,Y.S,Y.L))}function i(Y,ie,Te){return{y:Y,m:ie,d:Te,H:0,M:0,S:0,L:0}}function a(Y){var ie=Y.dateTime,Te=Y.date,Ve=Y.time,at=Y.periods,ft=Y.days,Ht=Y.shortDays,Xt=Y.months,St=Y.shortMonths,Vt=h(at),er=d(at),_r=h(ft),br=d(ft),or=h(Ht),tn=d(Ht),Lr=h(Xt),Gr=d(Xt),sn=h(St),Hr=d(St),Br={a:ga,A:Ia,b:si,B:aa,c:null,d:D,e:D,f:ee,g:W,G:ge,H:q,I:N,j:U,L:G,m:Q,M:j,p:wo,q:ma,Q:_t,s:Tt,S:O,u:Z,U:K,V:oe,w:te,W:V,x:null,X:null,y:ne,Y:fe,Z:Ce,"%":wt},qn={a:oa,A:yu,b:Xl,B:xu,c:null,d:Ne,e:Ne,f:ze,g:Ue,G:lt,H:pe,I:me,j:Ie,L:Re,m:Be,M:tt,p:De,q:ct,Q:_t,s:Tt,S:rt,u:ce,U:Ee,V:Pe,w:He,W:Fe,x:null,X:null,y:ke,Y:Ge,Z:it,"%":wt},kn={a:Si,A:Aa,b:ia,B:An,c:Ji,d:A,e:A,f:L,g:w,G:T,H:S,I:S,j:p,L:C,m:M,M:y,p:wn,q:x,Q:I,s:P,S:E,u:m,U:b,V:g,w:v,W:_,x:ii,X:bo,y:w,Y:T,Z:k,"%":R};Br.x=Yn(Te,Br),Br.X=Yn(Ve,Br),Br.c=Yn(ie,Br),qn.x=Yn(Te,qn),qn.X=Yn(Ve,qn),qn.c=Yn(ie,qn);function Yn(ht,Mt){return function(Gt){var Lt=[],ir=-1,zt=0,ar=ht.length,kr,Er,Xr;for(Gt instanceof Date||(Gt=new Date(+Gt));++ir<ar;)ht.charCodeAt(ir)===37&&(Lt.push(ht.slice(zt,ir)),(Er=o[kr=ht.charAt(++ir)])!=null?kr=ht.charAt(++ir):Er=kr==="e"?" ":"0",(Xr=Mt[kr])&&(kr=Xr(Gt,Er)),Lt.push(kr),zt=ir+1);return Lt.push(ht.slice(zt,ir)),Lt.join("")}}function Wn(ht,Mt){return function(Gt){var Lt=i(1900,void 0,1),ir=Fn(Lt,ht,Gt+="",0),zt,ar;if(ir!=Gt.length)return null;if("Q"in Lt)return new Date(Lt.Q);if("s"in Lt)return new Date(Lt.s*1e3+("L"in Lt?Lt.L:0));if(Mt&&!("Z"in Lt)&&(Lt.Z=0),"p"in Lt&&(Lt.H=Lt.H%12+Lt.p*12),Lt.m===void 0&&(Lt.m="q"in Lt?Lt.q:0),"V"in Lt){if(Lt.V<1||Lt.V>53)return null;"w"in Lt||(Lt.w=1),"Z"in Lt?(zt=n(i(Lt.y,0,1)),ar=zt.getUTCDay(),zt=ar>4||ar===0?t.utcMonday.ceil(zt):t.utcMonday(zt),zt=t.utcDay.offset(zt,(Lt.V-1)*7),Lt.y=zt.getUTCFullYear(),Lt.m=zt.getUTCMonth(),Lt.d=zt.getUTCDate()+(Lt.w+6)%7):(zt=r(i(Lt.y,0,1)),ar=zt.getDay(),zt=ar>4||ar===0?t.timeMonday.ceil(zt):t.timeMonday(zt),zt=t.timeDay.offset(zt,(Lt.V-1)*7),Lt.y=zt.getFullYear(),Lt.m=zt.getMonth(),Lt.d=zt.getDate()+(Lt.w+6)%7)}else("W"in Lt||"U"in Lt)&&("w"in Lt||(Lt.w="u"in Lt?Lt.u%7:"W"in Lt?1:0),ar="Z"in Lt?n(i(Lt.y,0,1)).getUTCDay():r(i(Lt.y,0,1)).getDay(),Lt.m=0,Lt.d="W"in Lt?(Lt.w+6)%7+Lt.W*7-(ar+5)%7:Lt.w+Lt.U*7-(ar+6)%7);return"Z"in Lt?(Lt.H+=Lt.Z/100|0,Lt.M+=Lt.Z%100,n(Lt)):r(Lt)}}function Fn(ht,Mt,Gt,Lt){for(var ir=0,zt=Mt.length,ar=Gt.length,kr,Er;ir<zt;){if(Lt>=ar)return-1;if(kr=Mt.charCodeAt(ir++),kr===37){if(kr=Mt.charAt(ir++),Er=kn[kr in o?Mt.charAt(ir++):kr],!Er||(Lt=Er(ht,Gt,Lt))<0)return-1}else if(kr!=Gt.charCodeAt(Lt++))return-1}return Lt}function wn(ht,Mt,Gt){var Lt=Vt.exec(Mt.slice(Gt));return Lt?(ht.p=er[Lt[0].toLowerCase()],Gt+Lt[0].length):-1}function Si(ht,Mt,Gt){var Lt=or.exec(Mt.slice(Gt));return Lt?(ht.w=tn[Lt[0].toLowerCase()],Gt+Lt[0].length):-1}function Aa(ht,Mt,Gt){var Lt=_r.exec(Mt.slice(Gt));return Lt?(ht.w=br[Lt[0].toLowerCase()],Gt+Lt[0].length):-1}function ia(ht,Mt,Gt){var Lt=sn.exec(Mt.slice(Gt));return Lt?(ht.m=Hr[Lt[0].toLowerCase()],Gt+Lt[0].length):-1}function An(ht,Mt,Gt){var Lt=Lr.exec(Mt.slice(Gt));return Lt?(ht.m=Gr[Lt[0].toLowerCase()],Gt+Lt[0].length):-1}function Ji(ht,Mt,Gt){return Fn(ht,ie,Mt,Gt)}function ii(ht,Mt,Gt){return Fn(ht,Te,Mt,Gt)}function bo(ht,Mt,Gt){return Fn(ht,Ve,Mt,Gt)}function ga(ht){return Ht[ht.getDay()]}function Ia(ht){return ft[ht.getDay()]}function si(ht){return St[ht.getMonth()]}function aa(ht){return Xt[ht.getMonth()]}function wo(ht){return at[+(ht.getHours()>=12)]}function ma(ht){return 1+~~(ht.getMonth()/3)}function oa(ht){return Ht[ht.getUTCDay()]}function yu(ht){return ft[ht.getUTCDay()]}function Xl(ht){return St[ht.getUTCMonth()]}function xu(ht){return Xt[ht.getUTCMonth()]}function De(ht){return at[+(ht.getUTCHours()>=12)]}function ct(ht){return 1+~~(ht.getUTCMonth()/3)}return{format:function(ht){var Mt=Yn(ht+="",Br);return Mt.toString=function(){return ht},Mt},parse:function(ht){var Mt=Wn(ht+="",!1);return Mt.toString=function(){return ht},Mt},utcFormat:function(ht){var Mt=Yn(ht+="",qn);return Mt.toString=function(){return ht},Mt},utcParse:function(ht){var Mt=Wn(ht+="",!0);return Mt.toString=function(){return ht},Mt}}}var o={"-":"",_:" ",0:"0"},s=/^\s*\d+/,l=/^%/,u=/[\\^$*+?|[\]().{}]/g;function f(Y,ie,Te){var Ve=Y<0?"-":"",at=(Ve?-Y:Y)+"",ft=at.length;return Ve+(ft<Te?new Array(Te-ft+1).join(ie)+at:at)}function c(Y){return Y.replace(u,"\\$&")}function h(Y){return new RegExp("^(?:"+Y.map(c).join("|")+")","i")}function d(Y){for(var ie={},Te=-1,Ve=Y.length;++Te<Ve;)ie[Y[Te].toLowerCase()]=Te;return ie}function v(Y,ie,Te){var Ve=s.exec(ie.slice(Te,Te+1));return Ve?(Y.w=+Ve[0],Te+Ve[0].length):-1}function m(Y,ie,Te){var Ve=s.exec(ie.slice(Te,Te+1));return Ve?(Y.u=+Ve[0],Te+Ve[0].length):-1}function b(Y,ie,Te){var Ve=s.exec(ie.slice(Te,Te+2));return Ve?(Y.U=+Ve[0],Te+Ve[0].length):-1}function g(Y,ie,Te){var Ve=s.exec(ie.slice(Te,Te+2));return Ve?(Y.V=+Ve[0],Te+Ve[0].length):-1}function _(Y,ie,Te){var Ve=s.exec(ie.slice(Te,Te+2));return Ve?(Y.W=+Ve[0],Te+Ve[0].length):-1}function T(Y,ie,Te){var Ve=s.exec(ie.slice(Te,Te+4));return Ve?(Y.y=+Ve[0],Te+Ve[0].length):-1}function w(Y,ie,Te){var Ve=s.exec(ie.slice(Te,Te+2));return Ve?(Y.y=+Ve[0]+(+Ve[0]>68?1900:2e3),Te+Ve[0].length):-1}function k(Y,ie,Te){var Ve=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(ie.slice(Te,Te+6));return Ve?(Y.Z=Ve[1]?0:-(Ve[2]+(Ve[3]||"00")),Te+Ve[0].length):-1}function x(Y,ie,Te){var Ve=s.exec(ie.slice(Te,Te+1));return Ve?(Y.q=Ve[0]*3-3,Te+Ve[0].length):-1}function M(Y,ie,Te){var Ve=s.exec(ie.slice(Te,Te+2));return Ve?(Y.m=Ve[0]-1,Te+Ve[0].length):-1}function A(Y,ie,Te){var Ve=s.exec(ie.slice(Te,Te+2));return Ve?(Y.d=+Ve[0],Te+Ve[0].length):-1}function p(Y,ie,Te){var Ve=s.exec(ie.slice(Te,Te+3));return Ve?(Y.m=0,Y.d=+Ve[0],Te+Ve[0].length):-1}function S(Y,ie,Te){var Ve=s.exec(ie.slice(Te,Te+2));return Ve?(Y.H=+Ve[0],Te+Ve[0].length):-1}function y(Y,ie,Te){var Ve=s.exec(ie.slice(Te,Te+2));return Ve?(Y.M=+Ve[0],Te+Ve[0].length):-1}function E(Y,ie,Te){var Ve=s.exec(ie.slice(Te,Te+2));return Ve?(Y.S=+Ve[0],Te+Ve[0].length):-1}function C(Y,ie,Te){var Ve=s.exec(ie.slice(Te,Te+3));return Ve?(Y.L=+Ve[0],Te+Ve[0].length):-1}function L(Y,ie,Te){var Ve=s.exec(ie.slice(Te,Te+6));return Ve?(Y.L=Math.floor(Ve[0]/1e3),Te+Ve[0].length):-1}function R(Y,ie,Te){var Ve=l.exec(ie.slice(Te,Te+1));return Ve?Te+Ve[0].length:-1}function I(Y,ie,Te){var Ve=s.exec(ie.slice(Te));return Ve?(Y.Q=+Ve[0],Te+Ve[0].length):-1}function P(Y,ie,Te){var Ve=s.exec(ie.slice(Te));return Ve?(Y.s=+Ve[0],Te+Ve[0].length):-1}function D(Y,ie){return f(Y.getDate(),ie,2)}function q(Y,ie){return f(Y.getHours(),ie,2)}function N(Y,ie){return f(Y.getHours()%12||12,ie,2)}function U(Y,ie){return f(1+t.timeDay.count(t.timeYear(Y),Y),ie,3)}function G(Y,ie){return f(Y.getMilliseconds(),ie,3)}function ee(Y,ie){return G(Y,ie)+"000"}function Q(Y,ie){return f(Y.getMonth()+1,ie,2)}function j(Y,ie){return f(Y.getMinutes(),ie,2)}function O(Y,ie){return f(Y.getSeconds(),ie,2)}function Z(Y){var ie=Y.getDay();return ie===0?7:ie}function K(Y,ie){return f(t.timeSunday.count(t.timeYear(Y)-1,Y),ie,2)}function $(Y){var ie=Y.getDay();return ie>=4||ie===0?t.timeThursday(Y):t.timeThursday.ceil(Y)}function oe(Y,ie){return Y=$(Y),f(t.timeThursday.count(t.timeYear(Y),Y)+(t.timeYear(Y).getDay()===4),ie,2)}function te(Y){return Y.getDay()}function V(Y,ie){return f(t.timeMonday.count(t.timeYear(Y)-1,Y),ie,2)}function ne(Y,ie){return f(Y.getFullYear()%100,ie,2)}function W(Y,ie){return Y=$(Y),f(Y.getFullYear()%100,ie,2)}function fe(Y,ie){return f(Y.getFullYear()%1e4,ie,4)}function ge(Y,ie){var Te=Y.getDay();return Y=Te>=4||Te===0?t.timeThursday(Y):t.timeThursday.ceil(Y),f(Y.getFullYear()%1e4,ie,4)}function Ce(Y){var ie=Y.getTimezoneOffset();return(ie>0?"-":(ie*=-1,"+"))+f(ie/60|0,"0",2)+f(ie%60,"0",2)}function Ne(Y,ie){return f(Y.getUTCDate(),ie,2)}function pe(Y,ie){return f(Y.getUTCHours(),ie,2)}function me(Y,ie){return f(Y.getUTCHours()%12||12,ie,2)}function Ie(Y,ie){return f(1+t.utcDay.count(t.utcYear(Y),Y),ie,3)}function Re(Y,ie){return f(Y.getUTCMilliseconds(),ie,3)}function ze(Y,ie){return Re(Y,ie)+"000"}function Be(Y,ie){return f(Y.getUTCMonth()+1,ie,2)}function tt(Y,ie){return f(Y.getUTCMinutes(),ie,2)}function rt(Y,ie){return f(Y.getUTCSeconds(),ie,2)}function ce(Y){var ie=Y.getUTCDay();return ie===0?7:ie}function Ee(Y,ie){return f(t.utcSunday.count(t.utcYear(Y)-1,Y),ie,2)}function Ae(Y){var ie=Y.getUTCDay();return ie>=4||ie===0?t.utcThursday(Y):t.utcThursday.ceil(Y)}function Pe(Y,ie){return Y=Ae(Y),f(t.utcThursday.count(t.utcYear(Y),Y)+(t.utcYear(Y).getUTCDay()===4),ie,2)}function He(Y){return Y.getUTCDay()}function Fe(Y,ie){return f(t.utcMonday.count(t.utcYear(Y)-1,Y),ie,2)}function ke(Y,ie){return f(Y.getUTCFullYear()%100,ie,2)}function Ue(Y,ie){return Y=Ae(Y),f(Y.getUTCFullYear()%100,ie,2)}function Ge(Y,ie){return f(Y.getUTCFullYear()%1e4,ie,4)}function lt(Y,ie){var Te=Y.getUTCDay();return Y=Te>=4||Te===0?t.utcThursday(Y):t.utcThursday.ceil(Y),f(Y.getUTCFullYear()%1e4,ie,4)}function it(){return"+0000"}function wt(){return"%"}function _t(Y){return+Y}function Tt(Y){return Math.floor(+Y/1e3)}var nt;bt({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function bt(Y){return nt=a(Y),e.timeFormat=nt.format,e.timeParse=nt.parse,e.utcFormat=nt.utcFormat,e.utcParse=nt.utcParse,nt}var At="%Y-%m-%dT%H:%M:%S.%LZ";function Ye(Y){return Y.toISOString()}var je=Date.prototype.toISOString?Ye:e.utcFormat(At);function $e(Y){var ie=new Date(Y);return isNaN(ie)?null:ie}var ve=+new Date("2000-01-01T00:00:00.000Z")?$e:e.utcParse(At);e.isoFormat=je,e.isoParse=ve,e.timeFormatDefaultLocale=bt,e.timeFormatLocale=a,Object.defineProperty(e,"__esModule",{value:!0})})});var lE=J((uT,CV)=>{(function(e,t){typeof uT=="object"&&typeof CV<"u"?t(uT):typeof define=="function"&&define.amd?define(["exports"],t):(e=typeof globalThis<"u"?globalThis:e||self,t(e.d3=e.d3||{}))})(uT,function(e){"use strict";function t(M){return Math.abs(M=Math.round(M))>=1e21?M.toLocaleString("en").replace(/,/g,""):M.toString(10)}function r(M,A){if((p=(M=A?M.toExponential(A-1):M.toExponential()).indexOf("e"))<0)return null;var p,S=M.slice(0,p);return[S.length>1?S[0]+S.slice(2):S,+M.slice(p+1)]}function n(M){return M=r(Math.abs(M)),M?M[1]:NaN}function i(M,A){return function(p,S){for(var y=p.length,E=[],C=0,L=M[0],R=0;y>0&&L>0&&(R+L+1>S&&(L=Math.max(1,S-R)),E.push(p.substring(y-=L,y+L)),!((R+=L+1)>S));)L=M[C=(C+1)%M.length];return E.reverse().join(A)}}function a(M){return function(A){return A.replace(/[0-9]/g,function(p){return M[+p]})}}var o=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function s(M){if(!(A=o.exec(M)))throw new Error("invalid format: "+M);var A;return new l({fill:A[1],align:A[2],sign:A[3],symbol:A[4],zero:A[5],width:A[6],comma:A[7],precision:A[8]&&A[8].slice(1),trim:A[9],type:A[10]})}s.prototype=l.prototype;function l(M){this.fill=M.fill===void 0?" ":M.fill+"",this.align=M.align===void 0?">":M.align+"",this.sign=M.sign===void 0?"-":M.sign+"",this.symbol=M.symbol===void 0?"":M.symbol+"",this.zero=!!M.zero,this.width=M.width===void 0?void 0:+M.width,this.comma=!!M.comma,this.precision=M.precision===void 0?void 0:+M.precision,this.trim=!!M.trim,this.type=M.type===void 0?"":M.type+""}l.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function u(M){e:for(var A=M.length,p=1,S=-1,y;p<A;++p)switch(M[p]){case".":S=y=p;break;case"0":S===0&&(S=p),y=p;break;default:if(!+M[p])break e;S>0&&(S=0);break}return S>0?M.slice(0,S)+M.slice(y+1):M}var f;function c(M,A){var p=r(M,A);if(!p)return M+"";var S=p[0],y=p[1],E=y-(f=Math.max(-8,Math.min(8,Math.floor(y/3)))*3)+1,C=S.length;return E===C?S:E>C?S+new Array(E-C+1).join("0"):E>0?S.slice(0,E)+"."+S.slice(E):"0."+new Array(1-E).join("0")+r(M,Math.max(0,A+E-1))[0]}function h(M,A){var p=r(M,A);if(!p)return M+"";var S=p[0],y=p[1];return y<0?"0."+new Array(-y).join("0")+S:S.length>y+1?S.slice(0,y+1)+"."+S.slice(y+1):S+new Array(y-S.length+2).join("0")}var d={"%":function(M,A){return(M*100).toFixed(A)},b:function(M){return Math.round(M).toString(2)},c:function(M){return M+""},d:t,e:function(M,A){return M.toExponential(A)},f:function(M,A){return M.toFixed(A)},g:function(M,A){return M.toPrecision(A)},o:function(M){return Math.round(M).toString(8)},p:function(M,A){return h(M*100,A)},r:h,s:c,X:function(M){return Math.round(M).toString(16).toUpperCase()},x:function(M){return Math.round(M).toString(16)}};function v(M){return M}var m=Array.prototype.map,b=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function g(M){var A=M.grouping===void 0||M.thousands===void 0?v:i(m.call(M.grouping,Number),M.thousands+""),p=M.currency===void 0?"":M.currency[0]+"",S=M.currency===void 0?"":M.currency[1]+"",y=M.decimal===void 0?".":M.decimal+"",E=M.numerals===void 0?v:a(m.call(M.numerals,String)),C=M.percent===void 0?"%":M.percent+"",L=M.minus===void 0?"-":M.minus+"",R=M.nan===void 0?"NaN":M.nan+"";function I(D){D=s(D);var q=D.fill,N=D.align,U=D.sign,G=D.symbol,ee=D.zero,Q=D.width,j=D.comma,O=D.precision,Z=D.trim,K=D.type;K==="n"?(j=!0,K="g"):d[K]||(O===void 0&&(O=12),Z=!0,K="g"),(ee||q==="0"&&N==="=")&&(ee=!0,q="0",N="=");var $=G==="$"?p:G==="#"&&/[boxX]/.test(K)?"0"+K.toLowerCase():"",oe=G==="$"?S:/[%p]/.test(K)?C:"",te=d[K],V=/[defgprs%]/.test(K);O=O===void 0?6:/[gprs]/.test(K)?Math.max(1,Math.min(21,O)):Math.max(0,Math.min(20,O));function ne(W){var fe=$,ge=oe,Ce,Ne,pe;if(K==="c")ge=te(W)+ge,W="";else{W=+W;var me=W<0||1/W<0;if(W=isNaN(W)?R:te(Math.abs(W),O),Z&&(W=u(W)),me&&+W==0&&U!=="+"&&(me=!1),fe=(me?U==="("?U:L:U==="-"||U==="("?"":U)+fe,ge=(K==="s"?b[8+f/3]:"")+ge+(me&&U==="("?")":""),V){for(Ce=-1,Ne=W.length;++Ce<Ne;)if(pe=W.charCodeAt(Ce),48>pe||pe>57){ge=(pe===46?y+W.slice(Ce+1):W.slice(Ce))+ge,W=W.slice(0,Ce);break}}}j&&!ee&&(W=A(W,1/0));var Ie=fe.length+W.length+ge.length,Re=Ie<Q?new Array(Q-Ie+1).join(q):"";switch(j&&ee&&(W=A(Re+W,Re.length?Q-ge.length:1/0),Re=""),N){case"<":W=fe+W+ge+Re;break;case"=":W=fe+Re+W+ge;break;case"^":W=Re.slice(0,Ie=Re.length>>1)+fe+W+ge+Re.slice(Ie);break;default:W=Re+fe+W+ge;break}return E(W)}return ne.toString=function(){return D+""},ne}function P(D,q){var N=I((D=s(D),D.type="f",D)),U=Math.max(-8,Math.min(8,Math.floor(n(q)/3)))*3,G=Math.pow(10,-U),ee=b[8+U/3];return function(Q){return N(G*Q)+ee}}return{format:I,formatPrefix:P}}var _;T({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"});function T(M){return _=g(M),e.format=_.format,e.formatPrefix=_.formatPrefix,_}function w(M){return Math.max(0,-n(Math.abs(M)))}function k(M,A){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(n(A)/3)))*3-n(Math.abs(M)))}function x(M,A){return M=Math.abs(M),A=Math.abs(A)-M,Math.max(0,n(A)-n(M))+1}e.FormatSpecifier=l,e.formatDefaultLocale=T,e.formatLocale=g,e.formatSpecifier=s,e.precisionFixed=w,e.precisionPrefix=k,e.precisionRound=x,Object.defineProperty(e,"__esModule",{value:!0})})});var LV=J((uLt,EV)=>{"use strict";EV.exports=function(e){for(var t=e.length,r,n=0;n<t;n++)if(r=e.charCodeAt(n),(r<9||r>13)&&r!==32&&r!==133&&r!==160&&r!==5760&&r!==6158&&(r<8192||r>8205)&&r!==8232&&r!==8233&&r!==8239&&r!==8287&&r!==8288&&r!==12288&&r!==65279)return!1;return!0}});var dn=J((fLt,DV)=>{"use strict";var HHe=LV();DV.exports=function(e){var t=typeof e;if(t==="string"){var r=e;if(e=+e,e===0&&HHe(r))return!1}else if(t!=="number")return!1;return e-e<1}});var oi=J((cLt,RV)=>{"use strict";RV.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE*1e-4,ONEMAXYEAR:316224e5,ONEAVGYEAR:315576e5,ONEMINYEAR:31536e6,ONEMAXQUARTER:79488e5,ONEAVGQUARTER:78894e5,ONEMINQUARTER:76896e5,ONEMAXMONTH:26784e5,ONEAVGMONTH:26298e5,ONEMINMONTH:24192e5,ONEWEEK:6048e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,ONEMILLI:1,ONEMICROSEC:.001,EPOCHJD:24405875e-1,ALMOST_EQUAL:1-1e-6,LOG_CLIP:10,MINUS_SIGN:"\u2212"}});var uE=J((fT,PV)=>{(function(e,t){typeof fT=="object"&&typeof PV<"u"?t(fT):typeof define=="function"&&define.amd?define(["exports"],t):(e=typeof globalThis<"u"?globalThis:e||self,t(e["base64-arraybuffer"]={}))})(fT,function(e){"use strict";for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r=typeof Uint8Array>"u"?[]:new Uint8Array(256),n=0;n<t.length;n++)r[t.charCodeAt(n)]=n;var i=function(o){var s=new Uint8Array(o),l,u=s.length,f="";for(l=0;l<u;l+=3)f+=t[s[l]>>2],f+=t[(s[l]&3)<<4|s[l+1]>>4],f+=t[(s[l+1]&15)<<2|s[l+2]>>6],f+=t[s[l+2]&63];return u%3===2?f=f.substring(0,f.length-1)+"=":u%3===1&&(f=f.substring(0,f.length-2)+"=="),f},a=function(o){var s=o.length*.75,l=o.length,u,f=0,c,h,d,v;o[o.length-1]==="="&&(s--,o[o.length-2]==="="&&s--);var m=new ArrayBuffer(s),b=new Uint8Array(m);for(u=0;u<l;u+=4)c=r[o.charCodeAt(u)],h=r[o.charCodeAt(u+1)],d=r[o.charCodeAt(u+2)],v=r[o.charCodeAt(u+3)],b[f++]=c<<2|h>>4,b[f++]=(h&15)<<4|d>>2,b[f++]=(d&3)<<6|v&63;return m};e.decode=a,e.encode=i,Object.defineProperty(e,"__esModule",{value:!0})})});var Bv=J((hLt,IV)=>{"use strict";IV.exports=function(t){return window&&window.process&&window.process.versions?Object.prototype.toString.call(t)==="[object Object]":Object.prototype.toString.call(t)==="[object Object]"&&Object.getPrototypeOf(t).hasOwnProperty("hasOwnProperty")}});var fl=J(Kc=>{"use strict";var jHe=uE().decode,VHe=Bv(),fE=Array.isArray,YHe=ArrayBuffer,GHe=DataView;function qV(e){return YHe.isView(e)&&!(e instanceof GHe)}Kc.isTypedArray=qV;function cT(e){return fE(e)||qV(e)}Kc.isArrayOrTypedArray=cT;function WHe(e){return!cT(e[0])}Kc.isArray1D=WHe;Kc.ensureArray=function(e,t){return fE(e)||(e=[]),e.length=t,e};var ks={u1c:typeof Uint8ClampedArray>"u"?void 0:Uint8ClampedArray,i1:typeof Int8Array>"u"?void 0:Int8Array,u1:typeof Uint8Array>"u"?void 0:Uint8Array,i2:typeof Int16Array>"u"?void 0:Int16Array,u2:typeof Uint16Array>"u"?void 0:Uint16Array,i4:typeof Int32Array>"u"?void 0:Int32Array,u4:typeof Uint32Array>"u"?void 0:Uint32Array,f4:typeof Float32Array>"u"?void 0:Float32Array,f8:typeof Float64Array>"u"?void 0:Float64Array};ks.uint8c=ks.u1c;ks.uint8=ks.u1;ks.int8=ks.i1;ks.uint16=ks.u2;ks.int16=ks.i2;ks.uint32=ks.u4;ks.int32=ks.i4;ks.float32=ks.f4;ks.float64=ks.f8;function cE(e){return e.constructor===ArrayBuffer}Kc.isArrayBuffer=cE;Kc.decodeTypedArraySpec=function(e){var t=[],r=XHe(e),n=r.dtype,i=ks[n];if(!i)throw new Error('Error in dtype: "'+n+'"');var a=i.BYTES_PER_ELEMENT,o=r.bdata;cE(o)||(o=jHe(o));var s=r.shape===void 0?[o.byteLength/a]:(""+r.shape).split(",");s.reverse();var l=s.length,u,f,c=+s[0],h=a*c,d=0;if(l===1)t=new i(o);else if(l===2)for(u=+s[1],f=0;f<u;f++)t[f]=new i(o,d,c),d+=h;else if(l===3){u=+s[1];for(var v=+s[2],m=0;m<v;m++)for(t[m]=[],f=0;f<u;f++)t[m][f]=new i(o,d,c),d+=h}else throw new Error("ndim: "+l+'is not supported with the shape:"'+r.shape+'"');return t.bdata=r.bdata,t.dtype=r.dtype,t.shape=s.reverse().join(","),e._inputArray=t,t};Kc.isTypedArraySpec=function(e){return VHe(e)&&e.hasOwnProperty("dtype")&&typeof e.dtype=="string"&&e.hasOwnProperty("bdata")&&(typeof e.bdata=="string"||cE(e.bdata))&&(e.shape===void 0||e.hasOwnProperty("shape")&&(typeof e.shape=="string"||typeof e.shape=="number"))};function XHe(e){return{bdata:e.bdata,dtype:e.dtype,shape:e.shape}}Kc.concat=function(){var e=[],t=!0,r=0,n,i,a,o,s,l,u,f;for(a=0;a<arguments.length;a++)o=arguments[a],l=o.length,l&&(i?e.push(o):(i=o,s=l),fE(o)?n=!1:(t=!1,r?n!==o.constructor&&(n=!1):n=o.constructor),r+=l);if(!r)return[];if(!e.length)return i;if(t)return i.concat.apply(i,e);if(n){for(u=new n(r),u.set(i),a=0;a<e.length;a++)o=e[a],u.set(o,s),s+=o.length;return u}for(u=new Array(r),f=0;f<i.length;f++)u[f]=i[f];for(a=0;a<e.length;a++){for(o=e[a],f=0;f<o.length;f++)u[s+f]=o[f];s+=f}return u};Kc.maxRowLength=function(e){return FV(e,Math.max,0)};Kc.minRowLength=function(e){return FV(e,Math.min,1/0)};function FV(e,t,r){if(cT(e))if(cT(e[0])){for(var n=r,i=0;i<e.length;i++)n=t(n,e[i].length);return n}else return e.length;return 0}});var Rb=J((dLt,UV)=>{"use strict";var zV=dn(),vE=fl().isArrayOrTypedArray;UV.exports=function(t,r){if(zV(r))r=String(r);else if(typeof r!="string"||r.substr(r.length-4)==="[-1]")throw"bad property string";var n=r.split("."),i,a,o,s;for(s=0;s<n.length;s++)if(String(n[s]).slice(0,2)==="__")throw"bad property string";for(s=0;s<n.length;){if(i=String(n[s]).match(/^([^\[\]]*)((\[\-?[0-9]*\])+)$/),i){if(i[1])n[s]=i[1];else if(s===0)n.splice(0,1);else throw"bad property string";for(a=i[2].substr(1,i[2].length-2).split("]["),o=0;o<a.length;o++)s++,n.splice(s,0,Number(a[o]))}s++}return typeof t!="object"?KHe(t,r,n):{set:OV(t,n,r),get:NV(t,n),astr:r,parts:n,obj:t}};function NV(e,t){return function(){var r=e,n,i,a,o,s;for(o=0;o<t.length-1;o++){if(n=t[o],n===-1){for(i=!0,a=[],s=0;s<r.length;s++)a[s]=NV(r[s],t.slice(o+1))(),a[s]!==a[0]&&(i=!1);return i?a[0]:a}if(typeof n=="number"&&!vE(r)||(r=r[n],typeof r!="object"||r===null))return}if(!(typeof r!="object"||r===null)&&(a=r[t[o]],a!==null))return a}}var ZHe=/(^|\.)args\[/;function hE(e,t){return e===void 0||e===null&&!t.match(ZHe)}function OV(e,t,r){return function(n){var i=e,a="",o=[[e,a]],s=hE(n,r),l,u;for(u=0;u<t.length-1;u++){if(l=t[u],typeof l=="number"&&!vE(i))throw"array index but container is not an array";if(l===-1){if(s=!$He(i,t.slice(u+1),n,r),s)break;return}if(!BV(i,l,t[u+1],s))break;if(i=i[l],typeof i!="object"||i===null)throw"container is not an object";a=JHe(a,l),o.push([i,a])}if(s){if(u===t.length-1&&(delete i[t[u]],Array.isArray(i)&&+t[u]===i.length-1))for(;i.length&&i[i.length-1]===void 0;)i.pop()}else i[t[u]]=n}}function JHe(e,t){var r=t;return zV(t)?r="["+t+"]":e&&(r="."+t),e+r}function $He(e,t,r,n){var i=vE(r),a=!0,o=r,s=n.replace("-1",0),l=i?!1:hE(r,s),u=t[0],f;for(f=0;f<e.length;f++)s=n.replace("-1",f),i&&(o=r[f%r.length],l=hE(o,s)),l&&(a=!1),BV(e,f,u,l)&&OV(e[f],t,n.replace("-1",f))(o);return a}function BV(e,t,r,n){if(e[t]===void 0){if(n)return!1;typeof r=="number"?e[t]=[]:e[t]={}}return!0}function KHe(e,t,r){return{set:function(){throw"bad container"},get:function(){},astr:t,parts:r,obj:e}}});var YV=J((pLt,VV)=>{"use strict";var y1=Rb(),QHe=/^\w*$/,eje=0,HV=1,hT=2,jV=3,Rp=4;VV.exports=function(t,r,n,i){n=n||"name",i=i||"value";var a,o,s,l={};r&&r.length?(s=y1(t,r),o=s.get()):o=t,r=r||"";var u={};if(o)for(a=0;a<o.length;a++)u[o[a][n]]=a;var f=QHe.test(i),c={set:function(h,d){var v=d===null?Rp:eje;if(!o){if(!s||v===Rp)return;o=[],s.set(o)}var m=u[h];if(m===void 0){if(v===Rp)return;v=v|jV,m=o.length,u[h]=m}else d!==(f?o[m][i]:y1(o[m],i).get())&&(v=v|hT);var b=o[m]=o[m]||{};return b[n]=h,f?b[i]=d:y1(b,i).set(d),d!==null&&(v=v&~Rp),l[m]=l[m]|v,c},get:function(h){if(o){var d=u[h];if(d!==void 0)return f?o[d][i]:y1(o[d],i).get()}},rename:function(h,d){var v=u[h];return v===void 0||(l[v]=l[v]|HV,u[d]=v,delete u[h],o[v][n]=d),c},remove:function(h){var d=u[h];if(d===void 0)return c;var v=o[d];if(Object.keys(v).length>2)return l[d]=l[d]|hT,c.set(h,null);if(f){for(a=d;a<o.length;a++)l[a]=l[a]|jV;for(a=d;a<o.length;a++)u[o[a][n]]--;o.splice(d,1),delete u[h]}else y1(v,i).set(null),l[d]=l[d]|hT|Rp;return c},constructUpdate:function(){for(var h,d,v={},m=Object.keys(l),b=0;b<m.length;b++)d=m[b],h=r+"["+d+"]",o[d]?(l[d]&HV&&(v[h+"."+n]=o[d][n]),l[d]&hT&&(f?v[h+"."+i]=l[d]&Rp?null:o[d][i]:v[h+"."+i]=l[d]&Rp?null:y1(o[d],i).get())):v[h]=null;return v}};return c}});var WV=J((gLt,GV)=>{"use strict";var tje=/^(.*)(\.[^\.\[\]]+|\[\d\])$/,rje=/^[^\.\[\]]+$/;GV.exports=function(e,t){for(;t;){var r=e.match(tje);if(r)e=r[1];else if(e.match(rje))e="";else throw new Error("bad relativeAttr call:"+[e,t]);if(t.charAt(0)==="^")t=t.slice(1);else break}return e&&t.charAt(0)!=="["?e+"."+t:e+t}});var vT=J((mLt,XV)=>{"use strict";var nje=dn();XV.exports=function(t,r){if(t>0)return Math.log(t)/Math.LN10;var n=Math.log(Math.min(r[0],r[1]))/Math.LN10;return nje(n)||(n=Math.log(Math.max(r[0],r[1]))/Math.LN10-6),n}});var $V=J((yLt,JV)=>{"use strict";var ZV=fl().isArrayOrTypedArray,Pb=Bv();JV.exports=function e(t,r){for(var n in r){var i=r[n],a=t[n];if(a!==i)if(n.charAt(0)==="_"||typeof i=="function"){if(n in t)continue;t[n]=i}else if(ZV(i)&&ZV(a)&&Pb(i[0])){if(n==="customdata"||n==="ids")continue;for(var o=Math.min(i.length,a.length),s=0;s<o;s++)a[s]!==i[s]&&Pb(i[s])&&Pb(a[s])&&e(a[s],i[s])}else Pb(i)&&Pb(a)&&(e(a,i),Object.keys(a).length||delete t[n])}}});var x1=J((xLt,KV)=>{"use strict";function ije(e,t){var r=e%t;return r<0?r+t:r}function aje(e,t){return Math.abs(e)>t/2?e-Math.round(e/t)*t:e}KV.exports={mod:ije,modHalf:aje}});var ls=J((bLt,dT)=>{(function(e){var t=/^\s+/,r=/\s+$/,n=0,i=e.round,a=e.min,o=e.max,s=e.random;function l(V,ne){if(V=V||"",ne=ne||{},V instanceof l)return V;if(!(this instanceof l))return new l(V,ne);var W=u(V);this._originalInput=V,this._r=W.r,this._g=W.g,this._b=W.b,this._a=W.a,this._roundA=i(100*this._a)/100,this._format=ne.format||W.format,this._gradientType=ne.gradientType,this._r<1&&(this._r=i(this._r)),this._g<1&&(this._g=i(this._g)),this._b<1&&(this._b=i(this._b)),this._ok=W.ok,this._tc_id=n++}l.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var V=this.toRgb();return(V.r*299+V.g*587+V.b*114)/1e3},getLuminance:function(){var V=this.toRgb(),ne,W,fe,ge,Ce,Ne;return ne=V.r/255,W=V.g/255,fe=V.b/255,ne<=.03928?ge=ne/12.92:ge=e.pow((ne+.055)/1.055,2.4),W<=.03928?Ce=W/12.92:Ce=e.pow((W+.055)/1.055,2.4),fe<=.03928?Ne=fe/12.92:Ne=e.pow((fe+.055)/1.055,2.4),.2126*ge+.7152*Ce+.0722*Ne},setAlpha:function(V){return this._a=D(V),this._roundA=i(100*this._a)/100,this},toHsv:function(){var V=d(this._r,this._g,this._b);return{h:V.h*360,s:V.s,v:V.v,a:this._a}},toHsvString:function(){var V=d(this._r,this._g,this._b),ne=i(V.h*360),W=i(V.s*100),fe=i(V.v*100);return this._a==1?"hsv("+ne+", "+W+"%, "+fe+"%)":"hsva("+ne+", "+W+"%, "+fe+"%, "+this._roundA+")"},toHsl:function(){var V=c(this._r,this._g,this._b);return{h:V.h*360,s:V.s,l:V.l,a:this._a}},toHslString:function(){var V=c(this._r,this._g,this._b),ne=i(V.h*360),W=i(V.s*100),fe=i(V.l*100);return this._a==1?"hsl("+ne+", "+W+"%, "+fe+"%)":"hsla("+ne+", "+W+"%, "+fe+"%, "+this._roundA+")"},toHex:function(V){return m(this._r,this._g,this._b,V)},toHexString:function(V){return"#"+this.toHex(V)},toHex8:function(V){return b(this._r,this._g,this._b,this._a,V)},toHex8String:function(V){return"#"+this.toHex8(V)},toRgb:function(){return{r:i(this._r),g:i(this._g),b:i(this._b),a:this._a}},toRgbString:function(){return this._a==1?"rgb("+i(this._r)+", "+i(this._g)+", "+i(this._b)+")":"rgba("+i(this._r)+", "+i(this._g)+", "+i(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:i(q(this._r,255)*100)+"%",g:i(q(this._g,255)*100)+"%",b:i(q(this._b,255)*100)+"%",a:this._a}},toPercentageRgbString:function(){return this._a==1?"rgb("+i(q(this._r,255)*100)+"%, "+i(q(this._g,255)*100)+"%, "+i(q(this._b,255)*100)+"%)":"rgba("+i(q(this._r,255)*100)+"%, "+i(q(this._g,255)*100)+"%, "+i(q(this._b,255)*100)+"%, "+this._roundA+")"},toName:function(){return this._a===0?"transparent":this._a<1?!1:I[m(this._r,this._g,this._b,!0)]||!1},toFilter:function(V){var ne="#"+g(this._r,this._g,this._b,this._a),W=ne,fe=this._gradientType?"GradientType = 1, ":"";if(V){var ge=l(V);W="#"+g(ge._r,ge._g,ge._b,ge._a)}return"progid:DXImageTransform.Microsoft.gradient("+fe+"startColorstr="+ne+",endColorstr="+W+")"},toString:function(V){var ne=!!V;V=V||this._format;var W=!1,fe=this._a<1&&this._a>=0,ge=!ne&&fe&&(V==="hex"||V==="hex6"||V==="hex3"||V==="hex4"||V==="hex8"||V==="name");return ge?V==="name"&&this._a===0?this.toName():this.toRgbString():(V==="rgb"&&(W=this.toRgbString()),V==="prgb"&&(W=this.toPercentageRgbString()),(V==="hex"||V==="hex6")&&(W=this.toHexString()),V==="hex3"&&(W=this.toHexString(!0)),V==="hex4"&&(W=this.toHex8String(!0)),V==="hex8"&&(W=this.toHex8String()),V==="name"&&(W=this.toName()),V==="hsl"&&(W=this.toHslString()),V==="hsv"&&(W=this.toHsvString()),W||this.toHexString())},clone:function(){return l(this.toString())},_applyModification:function(V,ne){var W=V.apply(null,[this].concat([].slice.call(ne)));return this._r=W._r,this._g=W._g,this._b=W._b,this.setAlpha(W._a),this},lighten:function(){return this._applyModification(k,arguments)},brighten:function(){return this._applyModification(x,arguments)},darken:function(){return this._applyModification(M,arguments)},desaturate:function(){return this._applyModification(_,arguments)},saturate:function(){return this._applyModification(T,arguments)},greyscale:function(){return this._applyModification(w,arguments)},spin:function(){return this._applyModification(A,arguments)},_applyCombination:function(V,ne){return V.apply(null,[this].concat([].slice.call(ne)))},analogous:function(){return this._applyCombination(C,arguments)},complement:function(){return this._applyCombination(p,arguments)},monochromatic:function(){return this._applyCombination(L,arguments)},splitcomplement:function(){return this._applyCombination(E,arguments)},triad:function(){return this._applyCombination(S,arguments)},tetrad:function(){return this._applyCombination(y,arguments)}},l.fromRatio=function(V,ne){if(typeof V=="object"){var W={};for(var fe in V)V.hasOwnProperty(fe)&&(fe==="a"?W[fe]=V[fe]:W[fe]=j(V[fe]));V=W}return l(V,ne)};function u(V){var ne={r:0,g:0,b:0},W=1,fe=null,ge=null,Ce=null,Ne=!1,pe=!1;return typeof V=="string"&&(V=oe(V)),typeof V=="object"&&($(V.r)&&$(V.g)&&$(V.b)?(ne=f(V.r,V.g,V.b),Ne=!0,pe=String(V.r).substr(-1)==="%"?"prgb":"rgb"):$(V.h)&&$(V.s)&&$(V.v)?(fe=j(V.s),ge=j(V.v),ne=v(V.h,fe,ge),Ne=!0,pe="hsv"):$(V.h)&&$(V.s)&&$(V.l)&&(fe=j(V.s),Ce=j(V.l),ne=h(V.h,fe,Ce),Ne=!0,pe="hsl"),V.hasOwnProperty("a")&&(W=V.a)),W=D(W),{ok:Ne,format:V.format||pe,r:a(255,o(ne.r,0)),g:a(255,o(ne.g,0)),b:a(255,o(ne.b,0)),a:W}}function f(V,ne,W){return{r:q(V,255)*255,g:q(ne,255)*255,b:q(W,255)*255}}function c(V,ne,W){V=q(V,255),ne=q(ne,255),W=q(W,255);var fe=o(V,ne,W),ge=a(V,ne,W),Ce,Ne,pe=(fe+ge)/2;if(fe==ge)Ce=Ne=0;else{var me=fe-ge;switch(Ne=pe>.5?me/(2-fe-ge):me/(fe+ge),fe){case V:Ce=(ne-W)/me+(ne<W?6:0);break;case ne:Ce=(W-V)/me+2;break;case W:Ce=(V-ne)/me+4;break}Ce/=6}return{h:Ce,s:Ne,l:pe}}function h(V,ne,W){var fe,ge,Ce;V=q(V,360),ne=q(ne,100),W=q(W,100);function Ne(Ie,Re,ze){return ze<0&&(ze+=1),ze>1&&(ze-=1),ze<1/6?Ie+(Re-Ie)*6*ze:ze<1/2?Re:ze<2/3?Ie+(Re-Ie)*(2/3-ze)*6:Ie}if(ne===0)fe=ge=Ce=W;else{var pe=W<.5?W*(1+ne):W+ne-W*ne,me=2*W-pe;fe=Ne(me,pe,V+1/3),ge=Ne(me,pe,V),Ce=Ne(me,pe,V-1/3)}return{r:fe*255,g:ge*255,b:Ce*255}}function d(V,ne,W){V=q(V,255),ne=q(ne,255),W=q(W,255);var fe=o(V,ne,W),ge=a(V,ne,W),Ce,Ne,pe=fe,me=fe-ge;if(Ne=fe===0?0:me/fe,fe==ge)Ce=0;else{switch(fe){case V:Ce=(ne-W)/me+(ne<W?6:0);break;case ne:Ce=(W-V)/me+2;break;case W:Ce=(V-ne)/me+4;break}Ce/=6}return{h:Ce,s:Ne,v:pe}}function v(V,ne,W){V=q(V,360)*6,ne=q(ne,100),W=q(W,100);var fe=e.floor(V),ge=V-fe,Ce=W*(1-ne),Ne=W*(1-ge*ne),pe=W*(1-(1-ge)*ne),me=fe%6,Ie=[W,Ne,Ce,Ce,pe,W][me],Re=[pe,W,W,Ne,Ce,Ce][me],ze=[Ce,Ce,pe,W,W,Ne][me];return{r:Ie*255,g:Re*255,b:ze*255}}function m(V,ne,W,fe){var ge=[Q(i(V).toString(16)),Q(i(ne).toString(16)),Q(i(W).toString(16))];return fe&&ge[0].charAt(0)==ge[0].charAt(1)&&ge[1].charAt(0)==ge[1].charAt(1)&&ge[2].charAt(0)==ge[2].charAt(1)?ge[0].charAt(0)+ge[1].charAt(0)+ge[2].charAt(0):ge.join("")}function b(V,ne,W,fe,ge){var Ce=[Q(i(V).toString(16)),Q(i(ne).toString(16)),Q(i(W).toString(16)),Q(O(fe))];return ge&&Ce[0].charAt(0)==Ce[0].charAt(1)&&Ce[1].charAt(0)==Ce[1].charAt(1)&&Ce[2].charAt(0)==Ce[2].charAt(1)&&Ce[3].charAt(0)==Ce[3].charAt(1)?Ce[0].charAt(0)+Ce[1].charAt(0)+Ce[2].charAt(0)+Ce[3].charAt(0):Ce.join("")}function g(V,ne,W,fe){var ge=[Q(O(fe)),Q(i(V).toString(16)),Q(i(ne).toString(16)),Q(i(W).toString(16))];return ge.join("")}l.equals=function(V,ne){return!V||!ne?!1:l(V).toRgbString()==l(ne).toRgbString()},l.random=function(){return l.fromRatio({r:s(),g:s(),b:s()})};function _(V,ne){ne=ne===0?0:ne||10;var W=l(V).toHsl();return W.s-=ne/100,W.s=N(W.s),l(W)}function T(V,ne){ne=ne===0?0:ne||10;var W=l(V).toHsl();return W.s+=ne/100,W.s=N(W.s),l(W)}function w(V){return l(V).desaturate(100)}function k(V,ne){ne=ne===0?0:ne||10;var W=l(V).toHsl();return W.l+=ne/100,W.l=N(W.l),l(W)}function x(V,ne){ne=ne===0?0:ne||10;var W=l(V).toRgb();return W.r=o(0,a(255,W.r-i(255*-(ne/100)))),W.g=o(0,a(255,W.g-i(255*-(ne/100)))),W.b=o(0,a(255,W.b-i(255*-(ne/100)))),l(W)}function M(V,ne){ne=ne===0?0:ne||10;var W=l(V).toHsl();return W.l-=ne/100,W.l=N(W.l),l(W)}function A(V,ne){var W=l(V).toHsl(),fe=(W.h+ne)%360;return W.h=fe<0?360+fe:fe,l(W)}function p(V){var ne=l(V).toHsl();return ne.h=(ne.h+180)%360,l(ne)}function S(V){var ne=l(V).toHsl(),W=ne.h;return[l(V),l({h:(W+120)%360,s:ne.s,l:ne.l}),l({h:(W+240)%360,s:ne.s,l:ne.l})]}function y(V){var ne=l(V).toHsl(),W=ne.h;return[l(V),l({h:(W+90)%360,s:ne.s,l:ne.l}),l({h:(W+180)%360,s:ne.s,l:ne.l}),l({h:(W+270)%360,s:ne.s,l:ne.l})]}function E(V){var ne=l(V).toHsl(),W=ne.h;return[l(V),l({h:(W+72)%360,s:ne.s,l:ne.l}),l({h:(W+216)%360,s:ne.s,l:ne.l})]}function C(V,ne,W){ne=ne||6,W=W||30;var fe=l(V).toHsl(),ge=360/W,Ce=[l(V)];for(fe.h=(fe.h-(ge*ne>>1)+720)%360;--ne;)fe.h=(fe.h+ge)%360,Ce.push(l(fe));return Ce}function L(V,ne){ne=ne||6;for(var W=l(V).toHsv(),fe=W.h,ge=W.s,Ce=W.v,Ne=[],pe=1/ne;ne--;)Ne.push(l({h:fe,s:ge,v:Ce})),Ce=(Ce+pe)%1;return Ne}l.mix=function(V,ne,W){W=W===0?0:W||50;var fe=l(V).toRgb(),ge=l(ne).toRgb(),Ce=W/100,Ne={r:(ge.r-fe.r)*Ce+fe.r,g:(ge.g-fe.g)*Ce+fe.g,b:(ge.b-fe.b)*Ce+fe.b,a:(ge.a-fe.a)*Ce+fe.a};return l(Ne)},l.readability=function(V,ne){var W=l(V),fe=l(ne);return(e.max(W.getLuminance(),fe.getLuminance())+.05)/(e.min(W.getLuminance(),fe.getLuminance())+.05)},l.isReadable=function(V,ne,W){var fe=l.readability(V,ne),ge,Ce;switch(Ce=!1,ge=te(W),ge.level+ge.size){case"AAsmall":case"AAAlarge":Ce=fe>=4.5;break;case"AAlarge":Ce=fe>=3;break;case"AAAsmall":Ce=fe>=7;break}return Ce},l.mostReadable=function(V,ne,W){var fe=null,ge=0,Ce,Ne,pe,me;W=W||{},Ne=W.includeFallbackColors,pe=W.level,me=W.size;for(var Ie=0;Ie<ne.length;Ie++)Ce=l.readability(V,ne[Ie]),Ce>ge&&(ge=Ce,fe=l(ne[Ie]));return l.isReadable(V,fe,{level:pe,size:me})||!Ne?fe:(W.includeFallbackColors=!1,l.mostReadable(V,["#fff","#000"],W))};var R=l.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},I=l.hexNames=P(R);function P(V){var ne={};for(var W in V)V.hasOwnProperty(W)&&(ne[V[W]]=W);return ne}function D(V){return V=parseFloat(V),(isNaN(V)||V<0||V>1)&&(V=1),V}function q(V,ne){G(V)&&(V="100%");var W=ee(V);return V=a(ne,o(0,parseFloat(V))),W&&(V=parseInt(V*ne,10)/100),e.abs(V-ne)<1e-6?1:V%ne/parseFloat(ne)}function N(V){return a(1,o(0,V))}function U(V){return parseInt(V,16)}function G(V){return typeof V=="string"&&V.indexOf(".")!=-1&&parseFloat(V)===1}function ee(V){return typeof V=="string"&&V.indexOf("%")!=-1}function Q(V){return V.length==1?"0"+V:""+V}function j(V){return V<=1&&(V=V*100+"%"),V}function O(V){return e.round(parseFloat(V)*255).toString(16)}function Z(V){return U(V)/255}var K=function(){var V="[-\\+]?\\d+%?",ne="[-\\+]?\\d*\\.\\d+%?",W="(?:"+ne+")|(?:"+V+")",fe="[\\s|\\(]+("+W+")[,|\\s]+("+W+")[,|\\s]+("+W+")\\s*\\)?",ge="[\\s|\\(]+("+W+")[,|\\s]+("+W+")[,|\\s]+("+W+")[,|\\s]+("+W+")\\s*\\)?";return{CSS_UNIT:new RegExp(W),rgb:new RegExp("rgb"+fe),rgba:new RegExp("rgba"+ge),hsl:new RegExp("hsl"+fe),hsla:new RegExp("hsla"+ge),hsv:new RegExp("hsv"+fe),hsva:new RegExp("hsva"+ge),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function $(V){return!!K.CSS_UNIT.exec(V)}function oe(V){V=V.replace(t,"").replace(r,"").toLowerCase();var ne=!1;if(R[V])V=R[V],ne=!0;else if(V=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var W;return(W=K.rgb.exec(V))?{r:W[1],g:W[2],b:W[3]}:(W=K.rgba.exec(V))?{r:W[1],g:W[2],b:W[3],a:W[4]}:(W=K.hsl.exec(V))?{h:W[1],s:W[2],l:W[3]}:(W=K.hsla.exec(V))?{h:W[1],s:W[2],l:W[3],a:W[4]}:(W=K.hsv.exec(V))?{h:W[1],s:W[2],v:W[3]}:(W=K.hsva.exec(V))?{h:W[1],s:W[2],v:W[3],a:W[4]}:(W=K.hex8.exec(V))?{r:U(W[1]),g:U(W[2]),b:U(W[3]),a:Z(W[4]),format:ne?"name":"hex8"}:(W=K.hex6.exec(V))?{r:U(W[1]),g:U(W[2]),b:U(W[3]),format:ne?"name":"hex"}:(W=K.hex4.exec(V))?{r:U(W[1]+""+W[1]),g:U(W[2]+""+W[2]),b:U(W[3]+""+W[3]),a:Z(W[4]+""+W[4]),format:ne?"name":"hex8"}:(W=K.hex3.exec(V))?{r:U(W[1]+""+W[1]),g:U(W[2]+""+W[2]),b:U(W[3]+""+W[3]),format:ne?"name":"hex"}:!1}function te(V){var ne,W;return V=V||{level:"AA",size:"small"},ne=(V.level||"AA").toUpperCase(),W=(V.size||"small").toLowerCase(),ne!=="AA"&&ne!=="AAA"&&(ne="AA"),W!=="small"&&W!=="large"&&(W="small"),{level:ne,size:W}}typeof dT<"u"&&dT.exports?dT.exports=l:typeof define=="function"&&define.amd?define(function(){return l}):window.tinycolor=l})(Math)});var cn=J(Fb=>{"use strict";var QV=Bv(),Ib=Array.isArray;function oje(e,t){var r,n;for(r=0;r<e.length;r++){if(n=e[r],n!==null&&typeof n=="object")return!1;n!==void 0&&(t[r]=n)}return!0}Fb.extendFlat=function(){return qb(arguments,!1,!1,!1)};Fb.extendDeep=function(){return qb(arguments,!0,!1,!1)};Fb.extendDeepAll=function(){return qb(arguments,!0,!0,!1)};Fb.extendDeepNoArrays=function(){return qb(arguments,!0,!1,!0)};function qb(e,t,r,n){var i=e[0],a=e.length,o,s,l,u,f,c,h;if(a===2&&Ib(i)&&Ib(e[1])&&i.length===0){if(h=oje(e[1],i),h)return i;i.splice(0,i.length)}for(var d=1;d<a;d++){o=e[d];for(s in o)l=i[s],u=o[s],n&&Ib(u)?i[s]=u:t&&u&&(QV(u)||(f=Ib(u)))?(f?(f=!1,c=l&&Ib(l)?l:[]):c=l&&QV(l)?l:{},i[s]=qb([c,u],t,r,n)):(typeof u<"u"||r)&&(i[s]=u)}return i}});var xa=J((_Lt,eY)=>{"use strict";eY.exports=function(e){var t=e.variantValues,r=e.editType,n=e.colorEditType;n===void 0&&(n=r);var i={editType:r,valType:"integer",min:1,max:1e3,extras:["normal","bold"],dflt:"normal",description:["Sets the weight (or boldness) of the font."].join(" ")};e.noNumericWeightValues&&(i.valType="enumerated",i.values=i.extras,i.extras=void 0,i.min=void 0,i.max=void 0);var a={family:{valType:"string",noBlank:!0,strict:!0,editType:r,description:["HTML font family - the typeface that will be applied by the web browser.","The web browser will only be able to apply a font if it is available on the system","which it operates. Provide multiple font families, separated by commas, to indicate","the preference in which to apply fonts if they aren't available on the system.","The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server,","where only a select number of","fonts are installed and supported.","These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*,","*Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*,","*PT Sans Narrow*, *Raleway*, *Times New Roman*."].join(" ")},size:{valType:"number",min:1,editType:r},color:{valType:"color",editType:n},weight:i,style:{editType:r,valType:"enumerated",values:["normal","italic"],dflt:"normal",description:["Sets whether a font should be styled with a normal or italic face from its family."].join(" ")},variant:e.noFontVariant?void 0:{editType:r,valType:"enumerated",values:t||["normal","small-caps","all-small-caps","all-petite-caps","petite-caps","unicase"],dflt:"normal",description:["Sets the variant of the font."].join(" ")},textcase:e.noFontTextcase?void 0:{editType:r,valType:"enumerated",values:["normal","word caps","upper","lower"],dflt:"normal",description:["Sets capitalization of text.","It can be used to make text appear in all-uppercase or all-lowercase,","or with each word capitalized."].join(" ")},lineposition:e.noFontLineposition?void 0:{editType:r,valType:"flaglist",flags:["under","over","through"],extras:["none"],dflt:"none",description:["Sets the kind of decoration line(s) with text,","such as an *under*, *over* or *through*","as well as combinations e.g. *under+over*, etc."].join(" ")},shadow:e.noFontShadow?void 0:{editType:r,valType:"string",dflt:e.autoShadowDflt?"auto":"none",description:["Sets the shape and color of the shadow behind text.","*auto* places minimal shadow and applies contrast text font color.","See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options."].join(" ")},editType:r,description:""+(e.description||"")};return e.autoSize&&(a.size.dflt="auto"),e.autoColor&&(a.color.dflt="auto"),e.arrayOk&&(a.family.arrayOk=!0,a.weight.arrayOk=!0,a.style.arrayOk=!0,e.noFontVariant||(a.variant.arrayOk=!0),e.noFontTextcase||(a.textcase.arrayOk=!0),e.noFontLineposition||(a.lineposition.arrayOk=!0),e.noFontShadow||(a.shadow.arrayOk=!0),a.size.arrayOk=!0,a.color.arrayOk=!0),a}});var zb=J((TLt,tY)=>{"use strict";tY.exports={YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:"Arial, sans-serif",HOVERMINTIME:50,HOVERID:"-hover"}});var Uv=J((ALt,iY)=>{"use strict";var rY=zb(),nY=xa(),dE=nY({editType:"none",description:"Sets the default hover label font used by all traces on the graph."});dE.family.dflt=rY.HOVERFONT;dE.size.dflt=rY.HOVERFONTSIZE;iY.exports={clickmode:{valType:"flaglist",flags:["event","select"],dflt:"event",editType:"plot",extras:["none"],description:["Determines the mode of single click interactions.","*event* is the default value and emits the `plotly_click`","event. In addition this mode emits the `plotly_selected` event","in drag modes *lasso* and *select*, but with no event data attached","(kept for compatibility reasons).","The *select* flag enables selecting single","data points via click. This mode also supports persistent selections,","meaning that pressing Shift while clicking, adds to / subtracts from an","existing selection. *select* with `hovermode`: *x* can be confusing, consider","explicitly setting `hovermode`: *closest* when using this feature.","Selection events are sent accordingly as long as *event* flag is set as well.","When the *event* flag is missing, `plotly_click` and `plotly_selected`","events are not fired."].join(" ")},dragmode:{valType:"enumerated",values:["zoom","pan","select","lasso","drawclosedpath","drawopenpath","drawline","drawrect","drawcircle","orbit","turntable",!1],dflt:"zoom",editType:"modebar",description:["Determines the mode of drag interactions.","*select* and *lasso* apply only to scatter traces with","markers or text. *orbit* and *turntable* apply only to","3D scenes."].join(" ")},hovermode:{valType:"enumerated",values:["x","y","closest",!1,"x unified","y unified"],dflt:"closest",editType:"modebar",description:["Determines the mode of hover interactions.","If *closest*, a single hoverlabel will appear","for the *closest* point within the `hoverdistance`.","If *x* (or *y*), multiple hoverlabels will appear for multiple points","at the *closest* x- (or y-) coordinate within the `hoverdistance`,","with the caveat that no more than one hoverlabel will appear per trace.","If *x unified* (or *y unified*), a single hoverlabel will appear","multiple points at the closest x- (or y-) coordinate within the `hoverdistance`","with the caveat that no more than one hoverlabel will appear per trace.","In this mode, spikelines are enabled by default perpendicular to the specified axis.","If false, hover interactions are disabled."].join(" ")},hoversubplots:{valType:"enumerated",values:["single","overlaying","axis"],dflt:"overlaying",editType:"none",description:["Determines expansion of hover effects to other subplots","If *single* just the axis pair of the primary point is included without overlaying subplots.","If *overlaying* all subplots using the main axis and occupying the same space are included.","If *axis*, also include stacked subplots using the same axis","when `hovermode` is set to *x*, *x unified*, *y* or *y unified*."].join(" ")},hoverdistance:{valType:"integer",min:-1,dflt:20,editType:"none",description:["Sets the default distance (in pixels) to look for data","to add hover labels (-1 means no cutoff, 0 means no looking for data).","This is only a real distance for hovering on point-like objects,","like scatter points. For area-like objects (bars, scatter fills, etc)","hovering is on inside the area and off outside, but these objects","will not supersede hover on point-like objects in case of conflict."].join(" ")},spikedistance:{valType:"integer",min:-1,dflt:-1,editType:"none",description:["Sets the default distance (in pixels) to look for data to draw","spikelines to (-1 means no cutoff, 0 means no looking for data).","As with hoverdistance, distance does not apply to area-like objects.","In addition, some objects can be hovered on but will not generate","spikelines, such as scatter fills."].join(" ")},hoverlabel:{bgcolor:{valType:"color",editType:"none",description:["Sets the background color of all hover labels on graph"].join(" ")},bordercolor:{valType:"color",editType:"none",description:["Sets the border color of all hover labels on graph."].join(" ")},font:dE,grouptitlefont:nY({editType:"none",description:["Sets the font for group titles in hover (unified modes).","Defaults to `hoverlabel.font`."].join(" ")}),align:{valType:"enumerated",values:["left","right","auto"],dflt:"auto",editType:"none",description:["Sets the horizontal alignment of the text content within hover label box.","Has an effect only if the hover label text spans more two or more lines"].join(" ")},namelength:{valType:"integer",min:-1,dflt:15,editType:"none",description:["Sets the default length (in number of characters) of the trace name in","the hover labels for all traces. -1 shows the whole name","regardless of length. 0-3 shows the first 0-3 characters, and","an integer >3 will show the whole name if it is less than that","many characters, but if it is longer, will truncate to","`namelength - 3` characters and add an ellipsis."].join(" ")},editType:"none"},selectdirection:{valType:"enumerated",values:["h","v","d","any"],dflt:"any",description:["When `dragmode` is set to *select*, this limits the selection of the drag to","horizontal, vertical or diagonal. *h* only allows horizontal selection,","*v* only vertical, *d* only diagonal and *any* sets no limit."].join(" "),editType:"none"}}});var b1=J((MLt,aY)=>{"use strict";var sje=xa(),pT=Uv().hoverlabel,gT=cn().extendFlat;aY.exports={hoverlabel:{bgcolor:gT({},pT.bgcolor,{arrayOk:!0,description:"Sets the background color of the hover labels for this trace"}),bordercolor:gT({},pT.bordercolor,{arrayOk:!0,description:"Sets the border color of the hover labels for this trace."}),font:sje({arrayOk:!0,editType:"none",description:"Sets the font used in hover labels."}),align:gT({},pT.align,{arrayOk:!0}),namelength:gT({},pT.namelength,{arrayOk:!0}),editType:"none"}}});var Qi=J((kLt,oY)=>{"use strict";var lje=xa(),uje=b1();oY.exports={type:{valType:"enumerated",values:[],dflt:"scatter",editType:"calc+clearAxisTypes",_noTemplating:!0},visible:{valType:"enumerated",values:[!0,!1,"legendonly"],dflt:!0,editType:"calc",description:["Determines whether or not this trace is visible.","If *legendonly*, the trace is not drawn,","but can appear as a legend item","(provided that the legend itself is visible)."].join(" ")},showlegend:{valType:"boolean",dflt:!0,editType:"style",description:["Determines whether or not an item corresponding to this","trace is shown in the legend."].join(" ")},legend:{valType:"subplotid",dflt:"legend",editType:"style",description:["Sets the reference to a legend to show this trace in.","References to these legends are *legend*, *legend2*, *legend3*, etc.","Settings for these legends are set in the layout, under","`layout.legend`, `layout.legend2`, etc."].join(" ")},legendgroup:{valType:"string",dflt:"",editType:"style",description:["Sets the legend group for this trace.","Traces and shapes part of the same legend group hide/show at the same time","when toggling legend items."].join(" ")},legendgrouptitle:{text:{valType:"string",dflt:"",editType:"style",description:["Sets the title of the legend group."].join(" ")},font:lje({editType:"style",description:["Sets this legend group's title font."].join(" ")}),editType:"style"},legendrank:{valType:"number",dflt:1e3,editType:"style",description:["Sets the legend rank for this trace.","Items and groups with smaller ranks are presented on top/left side while","with *reversed* `legend.traceorder` they are on bottom/right side.","The default legendrank is 1000,","so that you can use ranks less than 1000 to place certain items before all unranked items,","and ranks greater than 1000 to go after all unranked items.","When having unranked or equal rank items shapes would be displayed after traces","i.e. according to their order in data and layout."].join(" ")},legendwidth:{valType:"number",min:0,editType:"style",description:"Sets the width (in px or fraction) of the legend for this trace."},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"style",description:"Sets the opacity of the trace."},name:{valType:"string",editType:"style",description:["Sets the trace name.","The trace name appears as the legend item and on hover."].join(" ")},uid:{valType:"string",editType:"plot",anim:!0,description:["Assign an id to this trace,","Use this to provide object constancy between traces during animations","and transitions."].join(" ")},ids:{valType:"data_array",editType:"calc",anim:!0,description:["Assigns id labels to each datum.","These ids for object constancy of data points during animation.","Should be an array of strings, not numbers or any other type."].join(" ")},customdata:{valType:"data_array",editType:"calc",description:["Assigns extra data each datum.","This may be useful when listening to hover, click and selection events.","Note that, *scatter* traces also appends customdata items in the markers","DOM elements"].join(" ")},meta:{valType:"any",arrayOk:!0,editType:"plot",description:["Assigns extra meta information associated with this trace","that can be used in various text attributes.","Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text`","`rangeselector`, `updatemenues` and `sliders` `label` text","all support `meta`.","To access the trace `meta` values in an attribute in the same trace, simply use","`%{meta[i]}` where `i` is the index or key of the `meta`","item in question.","To access trace `meta` in layout attributes, use","`%{data[n[.meta[i]}` where `i` is the index or key of the `meta`","and `n` is the trace index."].join(" ")},selectedpoints:{valType:"any",editType:"calc",description:["Array containing integer indices of selected points.","Has an effect only for traces that support selections.","Note that an empty array means an empty selection where the `unselected`","are turned on for all points, whereas, any other non-array values means no","selection all where the `selected` and `unselected` styles have no effect."].join(" ")},hoverinfo:{valType:"flaglist",flags:["x","y","z","text","name"],extras:["all","none","skip"],arrayOk:!0,dflt:"all",editType:"none",description:["Determines which trace information appear on hover.","If `none` or `skip` are set, no information is displayed upon hovering.","But, if `none` is set, click and hover events are still fired."].join(" ")},hoverlabel:uje.hoverlabel,stream:{token:{valType:"string",noBlank:!0,strict:!0,editType:"calc",description:["The stream id number links a data trace on a plot with a stream.","See https://chart-studio.plotly.com/settings for more details."].join(" ")},maxpoints:{valType:"number",min:0,max:1e4,dflt:500,editType:"calc",description:["Sets the maximum number of points to keep on the plots from an","incoming stream.","If `maxpoints` is set to *50*, only the newest 50 points will","be displayed on the plot."].join(" ")},editType:"calc"},transforms:{_isLinkedToArray:"transform",editType:"calc",description:["WARNING: All transforms are deprecated and may be removed from the API in next major version.","An array of operations that manipulate the trace data,","for example filtering or sorting the data arrays."].join(" ")},uirevision:{valType:"any",editType:"none",description:["Controls persistence of some user-driven changes to the trace:","`constraintrange` in `parcoords` traces, as well as some","`editable: true` modifications such as `name` and `colorbar.title`.","Defaults to `layout.uirevision`.","Note that other user-driven trace attribute changes are controlled","by `layout` attributes:","`trace.visible` is controlled by `layout.legend.uirevision`,","`selectedpoints` is controlled by `layout.selectionrevision`,","and `colorbar.(x|y)` (accessible with `config: {editable: true}`)","is controlled by `layout.editrevision`.","Trace changes are tracked by `uid`, which only falls back on trace","index if no `uid` is provided. So if your app can add/remove traces","before the end of the `data` array, such that the same trace has a","different index, you can still preserve user-driven changes if you","give each trace a `uid` that stays with it as it moves."].join(" ")}}});var Pp=J((SLt,uY)=>{"use strict";var fje=ls(),mT={Greys:[[0,"rgb(0,0,0)"],[1,"rgb(255,255,255)"]],YlGnBu:[[0,"rgb(8,29,88)"],[.125,"rgb(37,52,148)"],[.25,"rgb(34,94,168)"],[.375,"rgb(29,145,192)"],[.5,"rgb(65,182,196)"],[.625,"rgb(127,205,187)"],[.75,"rgb(199,233,180)"],[.875,"rgb(237,248,217)"],[1,"rgb(255,255,217)"]],Greens:[[0,"rgb(0,68,27)"],[.125,"rgb(0,109,44)"],[.25,"rgb(35,139,69)"],[.375,"rgb(65,171,93)"],[.5,"rgb(116,196,118)"],[.625,"rgb(161,217,155)"],[.75,"rgb(199,233,192)"],[.875,"rgb(229,245,224)"],[1,"rgb(247,252,245)"]],YlOrRd:[[0,"rgb(128,0,38)"],[.125,"rgb(189,0,38)"],[.25,"rgb(227,26,28)"],[.375,"rgb(252,78,42)"],[.5,"rgb(253,141,60)"],[.625,"rgb(254,178,76)"],[.75,"rgb(254,217,118)"],[.875,"rgb(255,237,160)"],[1,"rgb(255,255,204)"]],Bluered:[[0,"rgb(0,0,255)"],[1,"rgb(255,0,0)"]],RdBu:[[0,"rgb(5,10,172)"],[.35,"rgb(106,137,247)"],[.5,"rgb(190,190,190)"],[.6,"rgb(220,170,132)"],[.7,"rgb(230,145,90)"],[1,"rgb(178,10,28)"]],Reds:[[0,"rgb(220,220,220)"],[.2,"rgb(245,195,157)"],[.4,"rgb(245,160,105)"],[1,"rgb(178,10,28)"]],Blues:[[0,"rgb(5,10,172)"],[.35,"rgb(40,60,190)"],[.5,"rgb(70,100,245)"],[.6,"rgb(90,120,245)"],[.7,"rgb(106,137,247)"],[1,"rgb(220,220,220)"]],Picnic:[[0,"rgb(0,0,255)"],[.1,"rgb(51,153,255)"],[.2,"rgb(102,204,255)"],[.3,"rgb(153,204,255)"],[.4,"rgb(204,204,255)"],[.5,"rgb(255,255,255)"],[.6,"rgb(255,204,255)"],[.7,"rgb(255,153,255)"],[.8,"rgb(255,102,204)"],[.9,"rgb(255,102,102)"],[1,"rgb(255,0,0)"]],Rainbow:[[0,"rgb(150,0,90)"],[.125,"rgb(0,0,200)"],[.25,"rgb(0,25,255)"],[.375,"rgb(0,152,255)"],[.5,"rgb(44,255,150)"],[.625,"rgb(151,255,0)"],[.75,"rgb(255,234,0)"],[.875,"rgb(255,111,0)"],[1,"rgb(255,0,0)"]],Portland:[[0,"rgb(12,51,131)"],[.25,"rgb(10,136,186)"],[.5,"rgb(242,211,56)"],[.75,"rgb(242,143,56)"],[1,"rgb(217,30,30)"]],Jet:[[0,"rgb(0,0,131)"],[.125,"rgb(0,60,170)"],[.375,"rgb(5,255,255)"],[.625,"rgb(255,255,0)"],[.875,"rgb(250,0,0)"],[1,"rgb(128,0,0)"]],Hot:[[0,"rgb(0,0,0)"],[.3,"rgb(230,0,0)"],[.6,"rgb(255,210,0)"],[1,"rgb(255,255,255)"]],Blackbody:[[0,"rgb(0,0,0)"],[.2,"rgb(230,0,0)"],[.4,"rgb(230,210,0)"],[.7,"rgb(255,255,255)"],[1,"rgb(160,200,255)"]],Earth:[[0,"rgb(0,0,130)"],[.1,"rgb(0,180,180)"],[.2,"rgb(40,210,40)"],[.4,"rgb(230,230,50)"],[.6,"rgb(120,70,20)"],[1,"rgb(255,255,255)"]],Electric:[[0,"rgb(0,0,0)"],[.15,"rgb(30,0,100)"],[.4,"rgb(120,0,100)"],[.6,"rgb(160,90,0)"],[.8,"rgb(230,200,0)"],[1,"rgb(255,250,220)"]],Viridis:[[0,"#440154"],[.06274509803921569,"#48186a"],[.12549019607843137,"#472d7b"],[.18823529411764706,"#424086"],[.25098039215686274,"#3b528b"],[.3137254901960784,"#33638d"],[.3764705882352941,"#2c728e"],[.4392156862745098,"#26828e"],[.5019607843137255,"#21918c"],[.5647058823529412,"#1fa088"],[.6274509803921569,"#28ae80"],[.6901960784313725,"#3fbc73"],[.7529411764705882,"#5ec962"],[.8156862745098039,"#84d44b"],[.8784313725490196,"#addc30"],[.9411764705882353,"#d8e219"],[1,"#fde725"]],Cividis:[[0,"rgb(0,32,76)"],[.058824,"rgb(0,42,102)"],[.117647,"rgb(0,52,110)"],[.176471,"rgb(39,63,108)"],[.235294,"rgb(60,74,107)"],[.294118,"rgb(76,85,107)"],[.352941,"rgb(91,95,109)"],[.411765,"rgb(104,106,112)"],[.470588,"rgb(117,117,117)"],[.529412,"rgb(131,129,120)"],[.588235,"rgb(146,140,120)"],[.647059,"rgb(161,152,118)"],[.705882,"rgb(176,165,114)"],[.764706,"rgb(192,177,109)"],[.823529,"rgb(209,191,102)"],[.882353,"rgb(225,204,92)"],[.941176,"rgb(243,219,79)"],[1,"rgb(255,233,69)"]]},sY=mT.RdBu;function cje(e,t){if(t||(t=sY),!e)return t;function r(){try{e=mT[e]||JSON.parse(e)}catch{e=t}}return typeof e=="string"&&(r(),typeof e=="string"&&r()),lY(e)?e:t}function lY(e){var t=0;if(!Array.isArray(e)||e.length<2||!e[0]||!e[e.length-1]||+e[0][0]!=0||+e[e.length-1][0]!=1)return!1;for(var r=0;r<e.length;r++){var n=e[r];if(n.length!==2||+n[0]<t||!fje(n[1]).isValid())return!1;t=+n[0]}return!0}function hje(e){return mT[e]!==void 0?!0:lY(e)}uY.exports={scales:mT,defaultScale:sY,get:cje,isValid:hje}});var Ho=J(Ip=>{"use strict";Ip.defaults=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"];Ip.defaultLine="#444";Ip.lightLine="#eee";Ip.background="#fff";Ip.borderLine="#BEC8D9";Ip.lightFraction=100*(14-4)/(15-4)});var qr=J((ELt,fY)=>{"use strict";var Iu=ls(),vje=dn(),dje=fl().isTypedArray,us=fY.exports={},yT=Ho();us.defaults=yT.defaults;var pje=us.defaultLine=yT.defaultLine;us.lightLine=yT.lightLine;var gE=us.background=yT.background;us.tinyRGB=function(e){var t=e.toRgb();return"rgb("+Math.round(t.r)+", "+Math.round(t.g)+", "+Math.round(t.b)+")"};us.rgb=function(e){return us.tinyRGB(Iu(e))};us.opacity=function(e){return e?Iu(e).getAlpha():0};us.addOpacity=function(e,t){var r=Iu(e).toRgb();return"rgba("+Math.round(r.r)+", "+Math.round(r.g)+", "+Math.round(r.b)+", "+t+")"};us.combine=function(e,t){var r=Iu(e).toRgb();if(r.a===1)return Iu(e).toRgbString();var n=Iu(t||gE).toRgb(),i=n.a===1?n:{r:255*(1-n.a)+n.r*n.a,g:255*(1-n.a)+n.g*n.a,b:255*(1-n.a)+n.b*n.a},a={r:i.r*(1-r.a)+r.r*r.a,g:i.g*(1-r.a)+r.g*r.a,b:i.b*(1-r.a)+r.b*r.a};return Iu(a).toRgbString()};us.interpolate=function(e,t,r){var n=Iu(e).toRgb(),i=Iu(t).toRgb(),a={r:r*n.r+(1-r)*i.r,g:r*n.g+(1-r)*i.g,b:r*n.b+(1-r)*i.b};return Iu(a).toRgbString()};us.contrast=function(e,t,r){var n=Iu(e);n.getAlpha()!==1&&(n=Iu(us.combine(e,gE)));var i=n.isDark()?t?n.lighten(t):gE:r?n.darken(r):pje;return i.toString()};us.stroke=function(e,t){var r=Iu(t);e.style({stroke:us.tinyRGB(r),"stroke-opacity":r.getAlpha()})};us.fill=function(e,t){var r=Iu(t);e.style({fill:us.tinyRGB(r),"fill-opacity":r.getAlpha()})};us.clean=function(e){if(!(!e||typeof e!="object")){var t=Object.keys(e),r,n,i,a;for(r=0;r<t.length;r++)if(i=t[r],a=e[i],i.substr(i.length-5)==="color")if(Array.isArray(a))for(n=0;n<a.length;n++)a[n]=pE(a[n]);else e[i]=pE(a);else if(i.substr(i.length-10)==="colorscale"&&Array.isArray(a))for(n=0;n<a.length;n++)Array.isArray(a[n])&&(a[n][1]=pE(a[n][1]));else if(Array.isArray(a)){var o=a[0];if(!Array.isArray(o)&&o&&typeof o=="object")for(n=0;n<a.length;n++)us.clean(a[n])}else a&&typeof a=="object"&&!dje(a)&&us.clean(a)}};function pE(e){if(vje(e)||typeof e!="string")return e;var t=e.trim();if(t.substr(0,3)!=="rgb")return e;var r=t.match(/^rgba?\s*\(([^()]*)\)$/);if(!r)return e;var n=r[1].trim().split(/\s*[\s,]\s*/),i=t.charAt(3)==="a"&&n.length===4;if(!i&&n.length!==3)return e;for(var a=0;a<n.length;a++){if(!n[a].length||(n[a]=Number(n[a]),!(n[a]>=0)))return e;if(a===3)n[a]>1&&(n[a]=1);else if(n[a]>=1)return e}var o=Math.round(n[0]*255)+", "+Math.round(n[1]*255)+", "+Math.round(n[2]*255);return i?"rgba("+o+", "+n[3]+")":"rgb("+o+")"}});var w1=J((LLt,cY)=>{"use strict";cY.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}});var _1=J(hY=>{"use strict";hY.counter=function(e,t,r,n){var i=(t||"")+(r?"":"$"),a=n===!1?"":"^";return e==="xy"?new RegExp(a+"x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?"+i):new RegExp(a+e+"([2-9]|[1-9][0-9]+)?"+i)}});var mY=J(qu=>{"use strict";var mE=dn(),vY=ls(),dY=cn().extendFlat,gje=Qi(),pY=Pp(),mje=qr(),yje=w1().DESELECTDIM,T1=Rb(),gY=_1().counter,xje=x1().modHalf,jh=fl().isArrayOrTypedArray,Jd=fl().isTypedArraySpec,$d=fl().decodeTypedArraySpec;qu.valObjectMeta={data_array:{description:["An {array} of data.","The value must represent an {array} or it will be ignored,","but this array can be provided in several forms:","(1) a regular {array} object","(2) a typed array (e.g. Float32Array)","(3) an object with keys dtype, bdata, and optionally shape.","In this 3rd form, dtype is one of","*f8*, *f4*.","*i4*, *u4*,","*i2*, *u2*,","*i1*, *u1* or *u1c* for Uint8ClampedArray.","In addition to shorthand `dtype` above one could also use the following forms:","*float64*, *float32*,","*int32*, *uint32*,","*int16*, *uint16*,","*int8*, *uint8* or *uint8c* for Uint8ClampedArray.","`bdata` is either a base64-encoded string or the ArrayBuffer of","an integer or float typed array.","For either multi-dimensional arrays you must also","provide its dimensions separated by comma via `shape`.","For example using `dtype`: *f4* and `shape`: *5,100* you can","declare a 2-D array that has 5 rows and 100 columns","containing float32 values i.e. 4 bits per value.","`shape` is optional for one dimensional arrays."].join(" "),requiredOpts:[],otherOpts:["dflt"],coerceFunction:function(e,t,r){t.set(jh(e)?e:Jd(e)?$d(e):r)}},enumerated:{description:["Enumerated value type. The available values are listed","in `values`."].join(" "),requiredOpts:["values"],otherOpts:["dflt","coerceNumber","arrayOk"],coerceFunction:function(e,t,r,n){n.coerceNumber&&(e=+e),n.values.indexOf(e)===-1?t.set(r):t.set(e)},validateFunction:function(e,t){t.coerceNumber&&(e=+e);for(var r=t.values,n=0;n<r.length;n++){var i=String(r[n]);if(i.charAt(0)==="/"&&i.charAt(i.length-1)==="/"){var a=new RegExp(i.substr(1,i.length-2));if(a.test(e))return!0}else if(e===r[n])return!0}return!1}},boolean:{description:"A boolean (true/false) value.",requiredOpts:[],otherOpts:["dflt"],coerceFunction:function(e,t,r){e===!0||e===!1?t.set(e):t.set(r)}},number:{description:["A number or a numeric value","(e.g. a number inside a string).","When applicable, values greater (less) than `max` (`min`)","are coerced to the `dflt`."].join(" "),requiredOpts:[],otherOpts:["dflt","min","max","arrayOk"],coerceFunction:function(e,t,r,n){Jd(e)&&(e=$d(e)),!mE(e)||n.min!==void 0&&e<n.min||n.max!==void 0&&e>n.max?t.set(r):t.set(+e)}},integer:{description:["An integer or an integer inside a string.","When applicable, values greater (less) than `max` (`min`)","are coerced to the `dflt`."].join(" "),requiredOpts:[],otherOpts:["dflt","min","max","arrayOk","extras"],coerceFunction:function(e,t,r,n){if((n.extras||[]).indexOf(e)!==-1){t.set(e);return}Jd(e)&&(e=$d(e)),e%1||!mE(e)||n.min!==void 0&&e<n.min||n.max!==void 0&&e>n.max?t.set(r):t.set(+e)}},string:{description:["A string value.","Numbers are converted to strings except for attributes with","`strict` set to true."].join(" "),requiredOpts:[],otherOpts:["dflt","noBlank","strict","arrayOk","values"],coerceFunction:function(e,t,r,n){if(typeof e!="string"){var i=typeof e=="number";n.strict===!0||!i?t.set(r):t.set(String(e))}else n.noBlank&&!e?t.set(r):t.set(e)}},color:{description:["A string describing color.","Supported formats:","- hex (e.g. '#d3d3d3')","- rgb (e.g. 'rgb(255, 0, 0)')","- rgba (e.g. 'rgb(255, 0, 0, 0.5)')","- hsl (e.g. 'hsl(0, 100%, 50%)')","- hsv (e.g. 'hsv(0, 100%, 100%)')","- named colors (full list: http://www.w3.org/TR/css3-color/#svg-color)"].join(" "),requiredOpts:[],otherOpts:["dflt","arrayOk"],coerceFunction:function(e,t,r){Jd(e)&&(e=$d(e)),vY(e).isValid()?t.set(e):t.set(r)}},colorlist:{description:["A list of colors.","Must be an {array} containing valid colors."].join(" "),requiredOpts:[],otherOpts:["dflt"],coerceFunction:function(e,t,r){function n(i){return vY(i).isValid()}!Array.isArray(e)||!e.length?t.set(r):e.every(n)?t.set(e):t.set(r)}},colorscale:{description:["A Plotly colorscale either picked by a name:","(any of",Object.keys(pY.scales).join(", "),")","customized as an {array} of 2-element {arrays} where","the first element is the normalized color level value","(starting at *0* and ending at *1*),","and the second item is a valid color string."].join(" "),requiredOpts:[],otherOpts:["dflt"],coerceFunction:function(e,t,r){t.set(pY.get(e,r))}},angle:{description:["A number (in degree) between -180 and 180."].join(" "),requiredOpts:[],otherOpts:["dflt","arrayOk"],coerceFunction:function(e,t,r){Jd(e)&&(e=$d(e)),e==="auto"?t.set("auto"):mE(e)?t.set(xje(+e,360)):t.set(r)}},subplotid:{description:["An id string of a subplot type (given by dflt), optionally","followed by an integer >1. e.g. if dflt='geo', we can have","'geo', 'geo2', 'geo3', ..."].join(" "),requiredOpts:["dflt"],otherOpts:["regex"],coerceFunction:function(e,t,r,n){var i=n.regex||gY(r);if(typeof e=="string"&&i.test(e)){t.set(e);return}t.set(r)},validateFunction:function(e,t){var r=t.dflt;return e===r?!0:typeof e!="string"?!1:!!gY(r).test(e)}},flaglist:{description:["A string representing a combination of flags","(order does not matter here).","Combine any of the available `flags` with *+*.","(e.g. ('lines+markers')).","Values in `extras` cannot be combined."].join(" "),requiredOpts:["flags"],otherOpts:["dflt","extras","arrayOk"],coerceFunction:function(e,t,r,n){if((n.extras||[]).indexOf(e)!==-1){t.set(e);return}if(typeof e!="string"){t.set(r);return}for(var i=e.split("+"),a=0;a<i.length;){var o=i[a];n.flags.indexOf(o)===-1||i.indexOf(o)<a?i.splice(a,1):a++}i.length?t.set(i.join("+")):t.set(r)}},any:{description:"Any type.",requiredOpts:[],otherOpts:["dflt","values","arrayOk"],coerceFunction:function(e,t,r){e===void 0?t.set(r):t.set(Jd(e)?$d(e):e)}},info_array:{description:["An {array} of plot information."].join(" "),requiredOpts:["items"],otherOpts:["dflt","freeLength","dimensions"],coerceFunction:function(e,t,r,n){function i(_,T,w){var k,x={set:function(M){k=M}};return w===void 0&&(w=T.dflt),qu.valObjectMeta[T.valType].coerceFunction(_,x,w,T),k}if(Jd(e)&&(e=$d(e)),!jh(e)){t.set(r);return}var a=n.dimensions===2||n.dimensions==="1-2"&&Array.isArray(e)&&jh(e[0]),o=n.items,s=[],l=Array.isArray(o),u=l&&a&&jh(o[0]),f=a&&l&&!u,c=l&&!f?o.length:e.length,h,d,v,m,b,g;if(r=Array.isArray(r)?r:[],a)for(h=0;h<c;h++)for(s[h]=[],v=jh(e[h])?e[h]:[],f?b=o.length:l?b=o[h].length:b=v.length,d=0;d<b;d++)f?m=o[d]:l?m=o[h][d]:m=o,g=i(v[d],m,(r[h]||[])[d]),g!==void 0&&(s[h][d]=g);else for(h=0;h<c;h++)g=i(e[h],l?o[h]:o,r[h]),g!==void 0&&(s[h]=g);t.set(s)},validateFunction:function(e,t){if(!jh(e))return!1;var r=t.items,n=Array.isArray(r),i=t.dimensions===2;if(!t.freeLength&&e.length!==r.length)return!1;for(var a=0;a<e.length;a++)if(i){if(!jh(e[a])||!t.freeLength&&e[a].length!==r[a].length)return!1;for(var o=0;o<e[a].length;o++)if(!xT(e[a][o],n?r[a][o]:r))return!1}else if(!xT(e[a],n?r[a]:r))return!1;return!0}}};qu.coerce=function(e,t,r,n,i){var a=T1(r,n).get(),o=T1(e,n),s=T1(t,n),l=o.get(),u=t._template;if(l===void 0&&u&&(l=T1(u,n).get(),u=0),i===void 0&&(i=a.dflt),a.arrayOk){if(jh(l))return s.set(l),l;if(Jd(l))return l=$d(l),s.set(l),l}var f=qu.valObjectMeta[a.valType].coerceFunction;f(l,s,i,a);var c=s.get();return u&&c===i&&!xT(l,a)&&(l=T1(u,n).get(),f(l,s,i,a),c=s.get()),c};qu.coerce2=function(e,t,r,n,i){var a=T1(e,n),o=qu.coerce(e,t,r,n,i),s=a.get();return s!=null?o:!1};qu.coerceFont=function(e,t,r,n){n||(n={}),r=dY({},r),r=dY(r,n.overrideDflt||{});var i={family:e(t+".family",r.family),size:e(t+".size",r.size),color:e(t+".color",r.color),weight:e(t+".weight",r.weight),style:e(t+".style",r.style)};if(n.noFontVariant||(i.variant=e(t+".variant",r.variant)),n.noFontLineposition||(i.lineposition=e(t+".lineposition",r.lineposition)),n.noFontTextcase||(i.textcase=e(t+".textcase",r.textcase)),!n.noFontShadow){var a=r.shadow;a==="none"&&n.autoShadowDflt&&(a="auto"),i.shadow=e(t+".shadow",a)}return i};qu.coercePattern=function(e,t,r,n){var i=e(t+".shape");if(i){e(t+".solidity"),e(t+".size");var a=e(t+".fillmode"),o=a==="overlay";if(!n){var s=e(t+".bgcolor",o?r:void 0);e(t+".fgcolor",o?mje.contrast(s):r)}e(t+".fgopacity",o?.5:1)}};qu.coerceHoverinfo=function(e,t,r){var n=t._module.attributes,i=n.hoverinfo?n:gje,a=i.hoverinfo,o;if(r._dataLength===1){var s=a.dflt==="all"?a.flags.slice():a.dflt.split("+");s.splice(s.indexOf("name"),1),o=s.join("+")}return qu.coerce(e,t,i,"hoverinfo",o)};qu.coerceSelectionMarkerOpacity=function(e,t){if(e.marker){var r=e.marker.opacity;if(r!==void 0){var n,i;!jh(r)&&!e.selected&&!e.unselected&&(n=r,i=yje*r),t("selected.marker.opacity",n),t("unselected.marker.opacity",i)}}};function xT(e,t){var r=qu.valObjectMeta[t.valType];if(t.arrayOk&&jh(e))return!0;if(r.validateFunction)return r.validateFunction(e,t);var n={},i=n,a={set:function(o){i=o}};return r.coerceFunction(e,a,n,t),i!==n}qu.validate=xT});var qp=J((PLt,wY)=>{"use strict";var yY={staticPlot:{valType:"boolean",dflt:!1,description:["Determines whether the graphs are interactive or not.","If *false*, no interactivity, for export or image generation."].join(" ")},typesetMath:{valType:"boolean",dflt:!0,description:["Determines whether math should be typeset or not,","when MathJax (either v2 or v3) is present on the page."].join(" ")},plotlyServerURL:{valType:"string",dflt:"",description:["When set it determines base URL for","the 'Edit in Chart Studio' `showEditInChartStudio`/`showSendToCloud` mode bar button","and the showLink/sendData on-graph link.","To enable sending your data to Chart Studio Cloud, you need to","set both `plotlyServerURL` to 'https://chart-studio.plotly.com' and","also set `showSendToCloud` to true."].join(" ")},editable:{valType:"boolean",dflt:!1,description:["Determines whether the graph is editable or not.","Sets all pieces of `edits`","unless a separate `edits` config item overrides individual parts."].join(" ")},edits:{annotationPosition:{valType:"boolean",dflt:!1,description:["Determines if the main anchor of the annotation is editable.","The main anchor corresponds to the","text (if no arrow) or the arrow (which drags the whole thing leaving","the arrow length & direction unchanged)."].join(" ")},annotationTail:{valType:"boolean",dflt:!1,description:["Has only an effect for annotations with arrows.","Enables changing the length and direction of the arrow."].join(" ")},annotationText:{valType:"boolean",dflt:!1,description:"Enables editing annotation text."},axisTitleText:{valType:"boolean",dflt:!1,description:"Enables editing axis title text."},colorbarPosition:{valType:"boolean",dflt:!1,description:"Enables moving colorbars."},colorbarTitleText:{valType:"boolean",dflt:!1,description:"Enables editing colorbar title text."},legendPosition:{valType:"boolean",dflt:!1,description:"Enables moving the legend."},legendText:{valType:"boolean",dflt:!1,description:"Enables editing the trace name fields from the legend"},shapePosition:{valType:"boolean",dflt:!1,description:"Enables moving shapes."},titleText:{valType:"boolean",dflt:!1,description:"Enables editing the global layout title."}},editSelection:{valType:"boolean",dflt:!0,description:"Enables moving selections."},autosizable:{valType:"boolean",dflt:!1,description:["Determines whether the graphs are plotted with respect to","layout.autosize:true and infer its container size."].join(" ")},responsive:{valType:"boolean",dflt:!1,description:["Determines whether to change the layout size when window is resized.","In v3, this option will be removed and will always be true."].join(" ")},fillFrame:{valType:"boolean",dflt:!1,description:["When `layout.autosize` is turned on, determines whether the graph","fills the container (the default) or the screen (if set to *true*)."].join(" ")},frameMargins:{valType:"number",dflt:0,min:0,max:.5,description:["When `layout.autosize` is turned on, set the frame margins","in fraction of the graph size."].join(" ")},scrollZoom:{valType:"flaglist",flags:["cartesian","gl3d","geo","mapbox"],extras:[!0,!1],dflt:"gl3d+geo+mapbox",description:["Determines whether mouse wheel or two-finger scroll zooms is enable.","Turned on by default for gl3d, geo and mapbox subplots","(as these subplot types do not have zoombox via pan),","but turned off by default for cartesian subplots.","Set `scrollZoom` to *false* to disable scrolling for all subplots."].join(" ")},doubleClick:{valType:"enumerated",values:[!1,"reset","autosize","reset+autosize"],dflt:"reset+autosize",description:["Sets the double click interaction mode.","Has an effect only in cartesian plots.","If *false*, double click is disable.","If *reset*, double click resets the axis ranges to their initial values.","If *autosize*, double click set the axis ranges to their autorange values.","If *reset+autosize*, the odd double clicks resets the axis ranges","to their initial values and even double clicks set the axis ranges","to their autorange values."].join(" ")},doubleClickDelay:{valType:"number",dflt:300,min:0,description:["Sets the delay for registering a double-click in ms.","This is the time interval (in ms) between first mousedown and","2nd mouseup to constitute a double-click.","This setting propagates to all on-subplot double clicks","(except for geo and mapbox) and on-legend double clicks."].join(" ")},showAxisDragHandles:{valType:"boolean",dflt:!0,description:["Set to *false* to omit cartesian axis pan/zoom drag handles."].join(" ")},showAxisRangeEntryBoxes:{valType:"boolean",dflt:!0,description:["Set to *false* to omit direct range entry at the pan/zoom drag points,","note that `showAxisDragHandles` must be enabled to have an effect."].join(" ")},showTips:{valType:"boolean",dflt:!0,description:["Determines whether or not tips are shown while interacting","with the resulting graphs."].join(" ")},showLink:{valType:"boolean",dflt:!1,description:["Determines whether a link to Chart Studio Cloud is displayed","at the bottom right corner of resulting graphs.","Use with `sendData` and `linkText`."].join(" ")},linkText:{valType:"string",dflt:"Edit chart",noBlank:!0,description:["Sets the text appearing in the `showLink` link."].join(" ")},sendData:{valType:"boolean",dflt:!0,description:["If *showLink* is true, does it contain data","just link to a Chart Studio Cloud file?"].join(" ")},showSources:{valType:"any",dflt:!1,description:["Adds a source-displaying function to show sources on","the resulting graphs."].join(" ")},displayModeBar:{valType:"enumerated",values:["hover",!0,!1],dflt:"hover",description:["Determines the mode bar display mode.","If *true*, the mode bar is always visible.","If *false*, the mode bar is always hidden.","If *hover*, the mode bar is visible while the mouse cursor","is on the graph container."].join(" ")},showSendToCloud:{valType:"boolean",dflt:!1,description:['Should we include a ModeBar button, labeled "Edit in Chart Studio",',"that sends this chart to chart-studio.plotly.com (formerly plot.ly) or another plotly server","as specified by `plotlyServerURL` for editing, export, etc? Prior to version 1.43.0","this button was included by default, now it is opt-in using this flag.","Note that this button can (depending on `plotlyServerURL` being set) send your data","to an external server. However that server does not persist your data",'until you arrive at the Chart Studio and explicitly click "Save".'].join(" ")},showEditInChartStudio:{valType:"boolean",dflt:!1,description:["Same as `showSendToCloud`, but use a pencil icon instead of a floppy-disk.","Note that if both `showSendToCloud` and `showEditInChartStudio` are turned,","only `showEditInChartStudio` will be honored."].join(" ")},modeBarButtonsToRemove:{valType:"any",dflt:[],description:["Remove mode bar buttons by name.","See ./components/modebar/buttons.js for the list of names."].join(" ")},modeBarButtonsToAdd:{valType:"any",dflt:[],description:["Add mode bar button using config objects","See ./components/modebar/buttons.js for list of arguments.","To enable predefined modebar buttons e.g. shape drawing, hover and spikelines,","simply provide their string name(s). This could include:","*v1hovermode*, *hoverclosest*, *hovercompare*, *togglehover*, *togglespikelines*,","*drawline*, *drawopenpath*, *drawclosedpath*, *drawcircle*, *drawrect* and *eraseshape*.","Please note that these predefined buttons will only be shown if they are compatible","with all trace types used in a graph."].join(" ")},modeBarButtons:{valType:"any",dflt:!1,description:["Define fully custom mode bar buttons as nested array,","where the outer arrays represents button groups, and","the inner arrays have buttons config objects or names of default buttons","See ./components/modebar/buttons.js for more info."].join(" ")},toImageButtonOptions:{valType:"any",dflt:{},description:["Statically override options for toImage modebar button","allowed keys are format, filename, width, height, scale","see ../components/modebar/buttons.js"].join(" ")},displaylogo:{valType:"boolean",dflt:!0,description:["Determines whether or not the plotly logo is displayed","on the end of the mode bar."].join(" ")},watermark:{valType:"boolean",dflt:!1,description:"watermark the images with the company's logo"},plotGlPixelRatio:{valType:"number",dflt:2,min:1,max:4,description:["Set the pixel ratio during WebGL image export.","This config option was formerly named `plot3dPixelRatio`","which is now deprecated."].join(" ")},setBackground:{valType:"any",dflt:"transparent",description:["Set function to add the background color (i.e. `layout.paper_color`)","to a different container.","This function take the graph div as first argument and the current background","color as second argument.","Alternatively, set to string *opaque* to ensure there is white behind it."].join(" ")},topojsonURL:{valType:"string",noBlank:!0,dflt:"https://cdn.plot.ly/",description:["Set the URL to topojson used in geo charts.","By default, the topojson files are fetched from cdn.plot.ly.","For example, set this option to:","<path-to-plotly.js>/dist/topojson/","to render geographical feature using the topojson files","that ship with the plotly.js module."].join(" ")},mapboxAccessToken:{valType:"string",dflt:null,description:["Mapbox access token (required to plot mapbox trace types)","If using an Mapbox Atlas server, set this option to ''","so that plotly.js won't attempt to authenticate to the public Mapbox server."].join(" ")},logging:{valType:"integer",min:0,max:2,dflt:1,description:["Turn all console logging on or off (errors will be thrown)","This should ONLY be set via Plotly.setPlotConfig","Available levels:","0: no logs","1: warnings and errors, but not informational messages","2: verbose logs"].join(" ")},notifyOnLogging:{valType:"integer",min:0,max:2,dflt:0,description:["Set on-graph logging (notifier) level","This should ONLY be set via Plotly.setPlotConfig","Available levels:","0: no on-graph logs","1: warnings and errors, but not informational messages","2: verbose logs"].join(" ")},queueLength:{valType:"integer",min:0,dflt:0,description:"Sets the length of the undo/redo queue."},globalTransforms:{valType:"any",dflt:[],description:["Set global transform to be applied to all traces with no","specification needed"].join(" ")},locale:{valType:"string",dflt:"en-US",description:["Which localization should we use?","Should be a string like 'en' or 'en-US'."].join(" ")},locales:{valType:"any",dflt:{},description:["Localization definitions","Locales can be provided either here (specific to one chart) or globally","by registering them as modules.","Should be an object of objects {locale: {dictionary: {...}, format: {...}}}","{"," da: {"," dictionary: {'Reset axes': 'Nulstil aksler', ...},"," format: {months: [...], shortMonths: [...]}"," },"," ...","}","All parts are optional. When looking for translation or format fields, we","look first for an exact match in a config locale, then in a registered","module. If those fail, we strip off any regionalization ('en-US' -> 'en')","and try each (config, registry) again. The final fallback for translation","is untranslated (which is US English) and for formats is the base English","(the only consequence being the last fallback date format %x is DD/MM/YYYY","instead of MM/DD/YYYY). Currently `grouping` and `currency` are ignored","for our automatic number formatting, but can be used in custom formats."].join(" ")}},xY={};function bY(e,t){for(var r in e){var n=e[r];n.valType?t[r]=n.dflt:(t[r]||(t[r]={}),bY(n,t[r]))}}bY(yY,xY);wY.exports={configAttributes:yY,dfltConfig:xY}});var xE=J((ILt,_Y)=>{"use strict";var yE=Nr(),bje=dn(),Nb=[];_Y.exports=function(e,t){if(Nb.indexOf(e)!==-1)return;Nb.push(e);var r=1e3;bje(t)?r=t:t==="long"&&(r=3e3);var n=yE.select("body").selectAll(".plotly-notifier").data([0]);n.enter().append("div").classed("plotly-notifier",!0);var i=n.selectAll(".notifier-note").data(Nb);function a(o){o.duration(700).style("opacity",0).each("end",function(s){var l=Nb.indexOf(s);l!==-1&&Nb.splice(l,1),yE.select(this).remove()})}i.enter().append("div").classed("notifier-note",!0).style("opacity",0).each(function(o){var s=yE.select(this);s.append("button").classed("notifier-close",!0).html("×").on("click",function(){s.transition().call(a)});for(var l=s.append("p"),u=o.split(/<br\s*\/?>/g),f=0;f<u.length;f++)f&&l.append("br"),l.append("span").text(u[f]);t==="stick"?s.transition().duration(350).style("opacity",1):s.transition().duration(700).style("opacity",1).transition().delay(r).call(a)})}});var Kd=J((qLt,TY)=>{"use strict";var A1=qp().dfltConfig,bE=xE(),wE=TY.exports={};wE.log=function(){var e;if(A1.logging>1){var t=["LOG:"];for(e=0;e<arguments.length;e++)t.push(arguments[e]);console.trace.apply(console,t)}if(A1.notifyOnLogging>1){var r=[];for(e=0;e<arguments.length;e++)r.push(arguments[e]);bE(r.join("<br>"),"long")}};wE.warn=function(){var e;if(A1.logging>0){var t=["WARN:"];for(e=0;e<arguments.length;e++)t.push(arguments[e]);console.trace.apply(console,t)}if(A1.notifyOnLogging>0){var r=[];for(e=0;e<arguments.length;e++)r.push(arguments[e]);bE(r.join("<br>"),"stick")}};wE.error=function(){var e;if(A1.logging>0){var t=["ERROR:"];for(e=0;e<arguments.length;e++)t.push(arguments[e]);console.error.apply(console,t)}if(A1.notifyOnLogging>0){var r=[];for(e=0;e<arguments.length;e++)r.push(arguments[e]);bE(r.join("<br>"),"stick")}}});var bT=J((FLt,AY)=>{"use strict";AY.exports=function(){}});var _E=J((zLt,MY)=>{"use strict";MY.exports=function(t,r){if(r instanceof RegExp){for(var n=r.toString(),i=0;i<t.length;i++)if(t[i]instanceof RegExp&&t[i].toString()===n)return t;t.push(r)}else(r||r===0)&&t.indexOf(r)===-1&&t.push(r);return t}});var SY=J((NLt,kY)=>{kY.exports=wje;function wje(){var e=new Float32Array(16);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var EY=J((OLt,CY)=>{CY.exports=_je;function _je(e){var t=new Float32Array(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}});var DY=J((BLt,LY)=>{LY.exports=Tje;function Tje(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}});var TE=J((ULt,RY)=>{RY.exports=Aje;function Aje(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var IY=J((HLt,PY)=>{PY.exports=Mje;function Mje(e,t){if(e===t){var r=t[1],n=t[2],i=t[3],a=t[6],o=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=a,e[11]=t[14],e[12]=i,e[13]=o,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}});var FY=J((jLt,qY)=>{qY.exports=kje;function kje(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],l=t[6],u=t[7],f=t[8],c=t[9],h=t[10],d=t[11],v=t[12],m=t[13],b=t[14],g=t[15],_=r*s-n*o,T=r*l-i*o,w=r*u-a*o,k=n*l-i*s,x=n*u-a*s,M=i*u-a*l,A=f*m-c*v,p=f*b-h*v,S=f*g-d*v,y=c*b-h*m,E=c*g-d*m,C=h*g-d*b,L=_*C-T*E+w*y+k*S-x*p+M*A;return L?(L=1/L,e[0]=(s*C-l*E+u*y)*L,e[1]=(i*E-n*C-a*y)*L,e[2]=(m*M-b*x+g*k)*L,e[3]=(h*x-c*M-d*k)*L,e[4]=(l*S-o*C-u*p)*L,e[5]=(r*C-i*S+a*p)*L,e[6]=(b*w-v*M-g*T)*L,e[7]=(f*M-h*w+d*T)*L,e[8]=(o*E-s*S+u*A)*L,e[9]=(n*S-r*E-a*A)*L,e[10]=(v*x-m*w+g*_)*L,e[11]=(c*w-f*x-d*_)*L,e[12]=(s*p-o*y-l*A)*L,e[13]=(r*y-n*p+i*A)*L,e[14]=(m*T-v*k-b*_)*L,e[15]=(f*k-c*T+h*_)*L,e):null}});var NY=J((VLt,zY)=>{zY.exports=Sje;function Sje(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],l=t[6],u=t[7],f=t[8],c=t[9],h=t[10],d=t[11],v=t[12],m=t[13],b=t[14],g=t[15];return e[0]=s*(h*g-d*b)-c*(l*g-u*b)+m*(l*d-u*h),e[1]=-(n*(h*g-d*b)-c*(i*g-a*b)+m*(i*d-a*h)),e[2]=n*(l*g-u*b)-s*(i*g-a*b)+m*(i*u-a*l),e[3]=-(n*(l*d-u*h)-s*(i*d-a*h)+c*(i*u-a*l)),e[4]=-(o*(h*g-d*b)-f*(l*g-u*b)+v*(l*d-u*h)),e[5]=r*(h*g-d*b)-f*(i*g-a*b)+v*(i*d-a*h),e[6]=-(r*(l*g-u*b)-o*(i*g-a*b)+v*(i*u-a*l)),e[7]=r*(l*d-u*h)-o*(i*d-a*h)+f*(i*u-a*l),e[8]=o*(c*g-d*m)-f*(s*g-u*m)+v*(s*d-u*c),e[9]=-(r*(c*g-d*m)-f*(n*g-a*m)+v*(n*d-a*c)),e[10]=r*(s*g-u*m)-o*(n*g-a*m)+v*(n*u-a*s),e[11]=-(r*(s*d-u*c)-o*(n*d-a*c)+f*(n*u-a*s)),e[12]=-(o*(c*b-h*m)-f*(s*b-l*m)+v*(s*h-l*c)),e[13]=r*(c*b-h*m)-f*(n*b-i*m)+v*(n*h-i*c),e[14]=-(r*(s*b-l*m)-o*(n*b-i*m)+v*(n*l-i*s)),e[15]=r*(s*h-l*c)-o*(n*h-i*c)+f*(n*l-i*s),e}});var BY=J((YLt,OY)=>{OY.exports=Cje;function Cje(e){var t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],l=e[7],u=e[8],f=e[9],c=e[10],h=e[11],d=e[12],v=e[13],m=e[14],b=e[15],g=t*o-r*a,_=t*s-n*a,T=t*l-i*a,w=r*s-n*o,k=r*l-i*o,x=n*l-i*s,M=u*v-f*d,A=u*m-c*d,p=u*b-h*d,S=f*m-c*v,y=f*b-h*v,E=c*b-h*m;return g*E-_*y+T*S+w*p-k*A+x*M}});var HY=J((GLt,UY)=>{UY.exports=Eje;function Eje(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=t[6],f=t[7],c=t[8],h=t[9],d=t[10],v=t[11],m=t[12],b=t[13],g=t[14],_=t[15],T=r[0],w=r[1],k=r[2],x=r[3];return e[0]=T*n+w*s+k*c+x*m,e[1]=T*i+w*l+k*h+x*b,e[2]=T*a+w*u+k*d+x*g,e[3]=T*o+w*f+k*v+x*_,T=r[4],w=r[5],k=r[6],x=r[7],e[4]=T*n+w*s+k*c+x*m,e[5]=T*i+w*l+k*h+x*b,e[6]=T*a+w*u+k*d+x*g,e[7]=T*o+w*f+k*v+x*_,T=r[8],w=r[9],k=r[10],x=r[11],e[8]=T*n+w*s+k*c+x*m,e[9]=T*i+w*l+k*h+x*b,e[10]=T*a+w*u+k*d+x*g,e[11]=T*o+w*f+k*v+x*_,T=r[12],w=r[13],k=r[14],x=r[15],e[12]=T*n+w*s+k*c+x*m,e[13]=T*i+w*l+k*h+x*b,e[14]=T*a+w*u+k*d+x*g,e[15]=T*o+w*f+k*v+x*_,e}});var VY=J((WLt,jY)=>{jY.exports=Lje;function Lje(e,t,r){var n=r[0],i=r[1],a=r[2],o,s,l,u,f,c,h,d,v,m,b,g;return t===e?(e[12]=t[0]*n+t[4]*i+t[8]*a+t[12],e[13]=t[1]*n+t[5]*i+t[9]*a+t[13],e[14]=t[2]*n+t[6]*i+t[10]*a+t[14],e[15]=t[3]*n+t[7]*i+t[11]*a+t[15]):(o=t[0],s=t[1],l=t[2],u=t[3],f=t[4],c=t[5],h=t[6],d=t[7],v=t[8],m=t[9],b=t[10],g=t[11],e[0]=o,e[1]=s,e[2]=l,e[3]=u,e[4]=f,e[5]=c,e[6]=h,e[7]=d,e[8]=v,e[9]=m,e[10]=b,e[11]=g,e[12]=o*n+f*i+v*a+t[12],e[13]=s*n+c*i+m*a+t[13],e[14]=l*n+h*i+b*a+t[14],e[15]=u*n+d*i+g*a+t[15]),e}});var GY=J((XLt,YY)=>{YY.exports=Dje;function Dje(e,t,r){var n=r[0],i=r[1],a=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}});var XY=J((ZLt,WY)=>{WY.exports=Rje;function Rje(e,t,r,n){var i=n[0],a=n[1],o=n[2],s=Math.sqrt(i*i+a*a+o*o),l,u,f,c,h,d,v,m,b,g,_,T,w,k,x,M,A,p,S,y,E,C,L,R;return Math.abs(s)<1e-6?null:(s=1/s,i*=s,a*=s,o*=s,l=Math.sin(r),u=Math.cos(r),f=1-u,c=t[0],h=t[1],d=t[2],v=t[3],m=t[4],b=t[5],g=t[6],_=t[7],T=t[8],w=t[9],k=t[10],x=t[11],M=i*i*f+u,A=a*i*f+o*l,p=o*i*f-a*l,S=i*a*f-o*l,y=a*a*f+u,E=o*a*f+i*l,C=i*o*f+a*l,L=a*o*f-i*l,R=o*o*f+u,e[0]=c*M+m*A+T*p,e[1]=h*M+b*A+w*p,e[2]=d*M+g*A+k*p,e[3]=v*M+_*A+x*p,e[4]=c*S+m*y+T*E,e[5]=h*S+b*y+w*E,e[6]=d*S+g*y+k*E,e[7]=v*S+_*y+x*E,e[8]=c*C+m*L+T*R,e[9]=h*C+b*L+w*R,e[10]=d*C+g*L+k*R,e[11]=v*C+_*L+x*R,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}});var JY=J((JLt,ZY)=>{ZY.exports=Pje;function Pje(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[4],o=t[5],s=t[6],l=t[7],u=t[8],f=t[9],c=t[10],h=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*i+u*n,e[5]=o*i+f*n,e[6]=s*i+c*n,e[7]=l*i+h*n,e[8]=u*i-a*n,e[9]=f*i-o*n,e[10]=c*i-s*n,e[11]=h*i-l*n,e}});var KY=J(($Lt,$Y)=>{$Y.exports=Ije;function Ije(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],l=t[3],u=t[8],f=t[9],c=t[10],h=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i-u*n,e[1]=o*i-f*n,e[2]=s*i-c*n,e[3]=l*i-h*n,e[8]=a*n+u*i,e[9]=o*n+f*i,e[10]=s*n+c*i,e[11]=l*n+h*i,e}});var eG=J((KLt,QY)=>{QY.exports=qje;function qje(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],l=t[3],u=t[4],f=t[5],c=t[6],h=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+u*n,e[1]=o*i+f*n,e[2]=s*i+c*n,e[3]=l*i+h*n,e[4]=u*i-a*n,e[5]=f*i-o*n,e[6]=c*i-s*n,e[7]=h*i-l*n,e}});var rG=J((QLt,tG)=>{tG.exports=Fje;function Fje(e,t,r){var n,i,a,o=r[0],s=r[1],l=r[2],u=Math.sqrt(o*o+s*s+l*l);return Math.abs(u)<1e-6?null:(u=1/u,o*=u,s*=u,l*=u,n=Math.sin(t),i=Math.cos(t),a=1-i,e[0]=o*o*a+i,e[1]=s*o*a+l*n,e[2]=l*o*a-s*n,e[3]=0,e[4]=o*s*a-l*n,e[5]=s*s*a+i,e[6]=l*s*a+o*n,e[7]=0,e[8]=o*l*a+s*n,e[9]=s*l*a-o*n,e[10]=l*l*a+i,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}});var iG=J((eDt,nG)=>{nG.exports=zje;function zje(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=n+n,l=i+i,u=a+a,f=n*s,c=n*l,h=n*u,d=i*l,v=i*u,m=a*u,b=o*s,g=o*l,_=o*u;return e[0]=1-(d+m),e[1]=c+_,e[2]=h-g,e[3]=0,e[4]=c-_,e[5]=1-(f+m),e[6]=v+b,e[7]=0,e[8]=h+g,e[9]=v-b,e[10]=1-(f+d),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}});var oG=J((tDt,aG)=>{aG.exports=Nje;function Nje(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var lG=J((rDt,sG)=>{sG.exports=Oje;function Oje(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}});var fG=J((nDt,uG)=>{uG.exports=Bje;function Bje(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var hG=J((iDt,cG)=>{cG.exports=Uje;function Uje(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var dG=J((aDt,vG)=>{vG.exports=Hje;function Hje(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var AE=J((oDt,pG)=>{pG.exports=jje;function jje(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,l=i+i,u=r*o,f=n*o,c=n*s,h=i*o,d=i*s,v=i*l,m=a*o,b=a*s,g=a*l;return e[0]=1-c-v,e[1]=f+g,e[2]=h-b,e[3]=0,e[4]=f-g,e[5]=1-u-v,e[6]=d+m,e[7]=0,e[8]=h+b,e[9]=d-m,e[10]=1-u-c,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var mG=J((sDt,gG)=>{gG.exports=Vje;function Vje(e,t,r,n,i,a,o){var s=1/(r-t),l=1/(i-n),u=1/(a-o);return e[0]=a*2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a*2*l,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(i+n)*l,e[10]=(o+a)*u,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*a*2*u,e[15]=0,e}});var xG=J((lDt,yG)=>{yG.exports=Yje;function Yje(e,t,r,n,i){var a=1/Math.tan(t/2),o=1/(n-i);return e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=(i+n)*o,e[11]=-1,e[12]=0,e[13]=0,e[14]=2*i*n*o,e[15]=0,e}});var wG=J((uDt,bG)=>{bG.exports=Gje;function Gje(e,t,r,n){var i=Math.tan(t.upDegrees*Math.PI/180),a=Math.tan(t.downDegrees*Math.PI/180),o=Math.tan(t.leftDegrees*Math.PI/180),s=Math.tan(t.rightDegrees*Math.PI/180),l=2/(o+s),u=2/(i+a);return e[0]=l,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=u,e[6]=0,e[7]=0,e[8]=-((o-s)*l*.5),e[9]=(i-a)*u*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e}});var TG=J((fDt,_G)=>{_G.exports=Wje;function Wje(e,t,r,n,i,a,o){var s=1/(t-r),l=1/(n-i),u=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*l,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*u,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*l,e[14]=(o+a)*u,e[15]=1,e}});var MG=J((cDt,AG)=>{var Xje=TE();AG.exports=Zje;function Zje(e,t,r,n){var i,a,o,s,l,u,f,c,h,d,v=t[0],m=t[1],b=t[2],g=n[0],_=n[1],T=n[2],w=r[0],k=r[1],x=r[2];return Math.abs(v-w)<1e-6&&Math.abs(m-k)<1e-6&&Math.abs(b-x)<1e-6?Xje(e):(f=v-w,c=m-k,h=b-x,d=1/Math.sqrt(f*f+c*c+h*h),f*=d,c*=d,h*=d,i=_*h-T*c,a=T*f-g*h,o=g*c-_*f,d=Math.sqrt(i*i+a*a+o*o),d?(d=1/d,i*=d,a*=d,o*=d):(i=0,a=0,o=0),s=c*o-h*a,l=h*i-f*o,u=f*a-c*i,d=Math.sqrt(s*s+l*l+u*u),d?(d=1/d,s*=d,l*=d,u*=d):(s=0,l=0,u=0),e[0]=i,e[1]=s,e[2]=f,e[3]=0,e[4]=a,e[5]=l,e[6]=c,e[7]=0,e[8]=o,e[9]=u,e[10]=h,e[11]=0,e[12]=-(i*v+a*m+o*b),e[13]=-(s*v+l*m+u*b),e[14]=-(f*v+c*m+h*b),e[15]=1,e)}});var SG=J((hDt,kG)=>{kG.exports=Jje;function Jje(e){return"mat4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"}});var ME=J((vDt,CG)=>{CG.exports={create:SY(),clone:EY(),copy:DY(),identity:TE(),transpose:IY(),invert:FY(),adjoint:NY(),determinant:BY(),multiply:HY(),translate:VY(),scale:GY(),rotate:XY(),rotateX:JY(),rotateY:KY(),rotateZ:eG(),fromRotation:rG(),fromRotationTranslation:iG(),fromScaling:oG(),fromTranslation:lG(),fromXRotation:fG(),fromYRotation:hG(),fromZRotation:dG(),fromQuat:AE(),frustum:mG(),perspective:xG(),perspectiveFromFieldOfView:wG(),ortho:TG(),lookAt:MG(),str:SG()}});var wT=J(co=>{"use strict";var $je=ME();co.init2dArray=function(e,t){for(var r=new Array(e),n=0;n<e;n++)r[n]=new Array(t);return r};co.transposeRagged=function(e){var t=0,r=e.length,n,i;for(n=0;n<r;n++)t=Math.max(t,e[n].length);var a=new Array(t);for(n=0;n<t;n++)for(a[n]=new Array(r),i=0;i<r;i++)a[n][i]=e[i][n];return a};co.dot=function(e,t){if(!(e.length&&t.length)||e.length!==t.length)return null;var r=e.length,n,i;if(e[0].length)for(n=new Array(r),i=0;i<r;i++)n[i]=co.dot(e[i],t);else if(t[0].length){var a=co.transposeRagged(t);for(n=new Array(a.length),i=0;i<a.length;i++)n[i]=co.dot(e,a[i])}else for(n=0,i=0;i<r;i++)n+=e[i]*t[i];return n};co.translationMatrix=function(e,t){return[[1,0,e],[0,1,t],[0,0,1]]};co.rotationMatrix=function(e){var t=e*Math.PI/180;return[[Math.cos(t),-Math.sin(t),0],[Math.sin(t),Math.cos(t),0],[0,0,1]]};co.rotationXYMatrix=function(e,t,r){return co.dot(co.dot(co.translationMatrix(t,r),co.rotationMatrix(e)),co.translationMatrix(-t,-r))};co.apply3DTransform=function(e){return function(){var t=arguments,r=arguments.length===1?t[0]:[t[0],t[1],t[2]||0];return co.dot(e,[r[0],r[1],r[2],1]).slice(0,3)}};co.apply2DTransform=function(e){return function(){var t=arguments;t.length===3&&(t=t[0]);var r=arguments.length===1?t[0]:[t[0],t[1]];return co.dot(e,[r[0],r[1],1]).slice(0,2)}};co.apply2DTransform2=function(e){var t=co.apply2DTransform(e);return function(r){return t(r.slice(0,2)).concat(t(r.slice(2,4)))}};co.convertCssMatrix=function(e){if(e){var t=e.length;if(t===16)return e;if(t===6)return[e[0],e[1],0,0,e[2],e[3],0,0,0,0,1,0,e[4],e[5],0,1]}return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]};co.inverseTransformMatrix=function(e){var t=[];return $je.invert(t,e),[[t[0],t[1],t[2],t[3]],[t[4],t[5],t[6],t[7]],[t[8],t[9],t[10],t[11]],[t[12],t[13],t[14],t[15]]]}});var Ob=J((pDt,PG)=>{"use strict";var Kje=Nr(),Qje=Kd(),eVe=wT(),tVe=ME();function rVe(e){var t;if(typeof e=="string"){if(t=document.getElementById(e),t===null)throw new Error("No DOM element with id '"+e+"' exists on the page.");return t}else if(e==null)throw new Error("DOM element provided is null or undefined");return e}function nVe(e){var t=Kje.select(e);return t.node()instanceof HTMLElement&&t.size()&&t.classed("js-plotly-plot")}function EG(e){var t=e&&e.parentNode;t&&t.removeChild(e)}function iVe(e,t){LG("global",e,t)}function LG(e,t,r){var n="plotly.js-style-"+e,i=document.getElementById(n);i||(i=document.createElement("style"),i.setAttribute("id",n),i.appendChild(document.createTextNode("")),document.head.appendChild(i));var a=i.sheet;a.insertRule?a.insertRule(t+"{"+r+"}",0):a.addRule?a.addRule(t,r,0):Qje.warn("addStyleRule failed")}function aVe(e){var t="plotly.js-style-"+e,r=document.getElementById(t);r&&EG(r)}function oVe(e){var t=RG(e),r=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return t.forEach(function(n){var i=DG(n);if(i){var a=eVe.convertCssMatrix(i);r=tVe.multiply(r,r,a)}}),r}function DG(e){var t=window.getComputedStyle(e,null),r=t.getPropertyValue("-webkit-transform")||t.getPropertyValue("-moz-transform")||t.getPropertyValue("-ms-transform")||t.getPropertyValue("-o-transform")||t.getPropertyValue("transform");return r==="none"?null:r.replace("matrix","").replace("3d","").slice(1,-1).split(",").map(function(n){return+n})}function RG(e){for(var t=[];sVe(e);)t.push(e),e=e.parentNode,typeof ShadowRoot=="function"&&e instanceof ShadowRoot&&(e=e.host);return t}function sVe(e){return e&&(e instanceof Element||e instanceof HTMLElement)}function lVe(e,t){return e&&t&&e.top===t.top&&e.left===t.left&&e.right===t.right&&e.bottom===t.bottom}PG.exports={getGraphDiv:rVe,isPlotDiv:nVe,removeElement:EG,addStyleRule:iVe,addRelatedStyleRule:LG,deleteRelatedStyleRule:aVe,getFullTransformMatrix:oVe,getElementTransformMatrix:DG,getElementAndAncestors:RG,equalDomRects:lVe}});var Bb=J((gDt,IG)=>{"use strict";IG.exports={mode:{valType:"enumerated",dflt:"afterall",values:["immediate","next","afterall"],description:["Describes how a new animate call interacts with currently-running","animations. If `immediate`, current animations are interrupted and","the new animation is started. If `next`, the current frame is allowed","to complete, after which the new animation is started. If `afterall`","all existing frames are animated to completion before the new animation","is started."].join(" ")},direction:{valType:"enumerated",values:["forward","reverse"],dflt:"forward",description:["The direction in which to play the frames triggered by the animation call"].join(" ")},fromcurrent:{valType:"boolean",dflt:!1,description:["Play frames starting at the current frame instead of the beginning."].join(" ")},frame:{duration:{valType:"number",min:0,dflt:500,description:["The duration in milliseconds of each frame. If greater than the frame","duration, it will be limited to the frame duration."].join(" ")},redraw:{valType:"boolean",dflt:!0,description:["Redraw the plot at completion of the transition. This is desirable","for transitions that include properties that cannot be transitioned,","but may significantly slow down updates that do not require a full","redraw of the plot"].join(" ")}},transition:{duration:{valType:"number",min:0,dflt:500,editType:"none",description:["The duration of the transition, in milliseconds. If equal to zero,","updates are synchronous."].join(" ")},easing:{valType:"enumerated",dflt:"cubic-in-out",values:["linear","quad","cubic","sin","exp","circle","elastic","back","bounce","linear-in","quad-in","cubic-in","sin-in","exp-in","circle-in","elastic-in","back-in","bounce-in","linear-out","quad-out","cubic-out","sin-out","exp-out","circle-out","elastic-out","back-out","bounce-out","linear-in-out","quad-in-out","cubic-in-out","sin-in-out","exp-in-out","circle-in-out","elastic-in-out","back-in-out","bounce-in-out"],editType:"none",description:"The easing function used for the transition"},ordering:{valType:"enumerated",values:["layout first","traces first"],dflt:"layout first",editType:"none",description:["Determines whether the figure's layout or traces smoothly transitions","during updates that make both traces and layout change."].join(" ")}}}});var La=J((mDt,UG)=>{"use strict";var FG=cn().extendFlat,uVe=Bv(),zG={valType:"flaglist",extras:["none"],flags:["calc","clearAxisTypes","plot","style","markerSize","colorbars"],description:["trace attributes should include an `editType` string matching this flaglist.","*calc* is the most extensive: a full (re)plot starting by clearing `gd.calcdata`","to force it to be regenerated","*clearAxisTypes* resets the types of the axes this trace is on, because new data could","cause the automatic axis type detection to change. Log type will not be cleared, as that","is never automatically chosen so must have been user-specified.","*plot* (re)plots but without first clearing `gd.calcdata`.","*style* only calls `module.style` (or module.editStyle) for all trace modules and redraws the legend.","*markerSize* is like *style*, but propagate axis-range changes due to scatter `marker.size`","*colorbars* only redraws colorbars."].join(" ")},NG={valType:"flaglist",extras:["none"],flags:["calc","plot","legend","ticks","axrange","layoutstyle","modebar","camera","arraydraw","colorbars"],description:["layout attributes should include an `editType` string matching this flaglist.","*calc* is the most extensive: a full (re)plot starting by clearing `gd.calcdata`","to force it to be regenerated","*plot* (re)plots but without first clearing `gd.calcdata`.","*legend* only redraws the legend.","*ticks* only redraws axis ticks, labels, and gridlines.","*axrange* minimal sequence when updating axis ranges.","*layoutstyle* reapplies global and SVG cartesian axis styles.","*modebar* just updates the modebar.","*camera* just updates the camera settings for gl3d scenes.","*arraydraw* allows component arrays to invoke the redraw routines just for the","component(s) that changed.","*colorbars* only redraws colorbars."].join(" ")},fVe=zG.flags.slice().concat(["fullReplot"]),cVe=NG.flags.slice().concat("layoutReplot");UG.exports={traces:zG,layout:NG,traceFlags:function(){return qG(fVe)},layoutFlags:function(){return qG(cVe)},update:function(e,t){var r=t.editType;if(r&&r!=="none")for(var n=r.split("+"),i=0;i<n.length;i++)e[n[i]]=!0},overrideAll:OG};function qG(e){for(var t={},r=0;r<e.length;r++)t[e[r]]=!1;return t}function OG(e,t,r){var n=FG({},e);for(var i in n){var a=n[i];uVe(a)&&(n[i]=BG(a,t,r,i))}return r==="from-root"&&(n.editType=t),n}function BG(e,t,r,n){if(e.valType){var i=FG({},e);if(i.editType=t,Array.isArray(e.items)){i.items=new Array(e.items.length);for(var a=0;a<e.items.length;a++)i.items[a]=BG(e.items[a],t,"from-root")}return i}else return OG(e,t,n.charAt(0)==="_"?"nested":"from-root")}});var Ss=J(kE=>{"use strict";kE.dash={valType:"string",values:["solid","dot","dash","longdash","dashdot","longdashdot"],dflt:"solid",editType:"style",description:["Sets the dash style of lines. Set to a dash type string","(*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*)","or a dash length list in px (eg *5px,10px,2px,2px*)."].join(" ")};kE.pattern={shape:{valType:"enumerated",values:["","/","\\","x","-","|","+","."],dflt:"",arrayOk:!0,editType:"style",description:["Sets the shape of the pattern fill.","By default, no pattern is used for filling the area."].join(" ")},fillmode:{valType:"enumerated",values:["replace","overlay"],dflt:"replace",editType:"style",description:["Determines whether `marker.color` should be used","as a default to `bgcolor` or a `fgcolor`."].join(" ")},bgcolor:{valType:"color",arrayOk:!0,editType:"style",description:["When there is no colorscale sets the color of background pattern fill.","Defaults to a `marker.color` background when `fillmode` is *overlay*.","Otherwise, defaults to a transparent background."].join(" ")},fgcolor:{valType:"color",arrayOk:!0,editType:"style",description:["When there is no colorscale sets the color of foreground pattern fill.","Defaults to a `marker.color` background when `fillmode` is *replace*.","Otherwise, defaults to dark grey or white","to increase contrast with the `bgcolor`."].join(" ")},fgopacity:{valType:"number",editType:"style",min:0,max:1,description:["Sets the opacity of the foreground pattern fill.","Defaults to a 0.5 when `fillmode` is *overlay*.","Otherwise, defaults to 1."].join(" ")},size:{valType:"number",min:0,dflt:8,arrayOk:!0,editType:"style",description:["Sets the size of unit squares of the pattern fill in pixels,","which corresponds to the interval of repetition of the pattern."].join(" ")},solidity:{valType:"number",min:0,max:1,dflt:.3,arrayOk:!0,editType:"style",description:["Sets the solidity of the pattern fill.","Solidity is roughly the fraction of the area filled by the pattern.","Solidity of 0 shows only the background color without pattern","and solidty of 1 shows only the foreground color without pattern."].join(" ")},editType:"style",description:["Sets the pattern within the marker."].join(" ")}});var SE=J((xDt,HG)=>{"use strict";HG.exports={FORMAT_LINK:"https://github.com/d3/d3-format/tree/v1.4.5#d3-format",DATE_FORMAT_LINK:"https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format"}});var Jn=J(_T=>{"use strict";var jG=SE(),VG=jG.FORMAT_LINK,YG=jG.DATE_FORMAT_LINK;function GG(e){var t=e&&e.supportOther;return["Variables are inserted using %{variable},",'for example "y: %{y}"'+(t?" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown.":"."),`Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}".`,VG,"for details on the formatting syntax.",`Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}".`,YG,"for details on the date formatting syntax."].join(" ")}function hVe(){return["Variables are inserted using %{variable},",'for example "x0: %{x0}".',`Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{x0:$.2f}". See`,VG,"for details on the formatting syntax.",`Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{x0|%m %b %Y}". See`,YG,"for details on the date formatting syntax.","A single multiplication or division operation may be applied to numeric variables, and combined with",'d3 number formatting, for example "Length in cm: %{x0*2.54}", "%{slope*60:.1f} meters per second."',"For log axes, variable values are given in log units.","For date axes, x/y coordinate variables and center variables use datetimes, while all other variable values use values in ms."].join(" ")}function CE(e){var t=e.description?" "+e.description:"",r=e.keys||[];if(r.length>0){for(var n=[],i=0;i<r.length;i++)n[i]="`"+r[i]+"`";t=t+"Finally, the template string has access to ",r.length===1?t=t+"variable "+n[0]:t=t+"variables "+n.slice(0,-1).join(", ")+" and "+n.slice(-1)+"."}return t}_T.hovertemplateAttrs=function(e,t){e=e||{},t=t||{};var r=CE(t),n={valType:"string",dflt:"",editType:e.editType||"none",description:["Template string used for rendering the information that appear on hover box.","Note that this will override `hoverinfo`.",GG({supportOther:!0}),"The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data.","Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.",r,'Anything contained in tag `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>".',"To hide the secondary box completely, use an empty tag `<extra></extra>`."].join(" ")};return e.arrayOk!==!1&&(n.arrayOk=!0),n};_T.texttemplateAttrs=function(e,t){e=e||{},t=t||{};var r=CE(t),n={valType:"string",dflt:"",editType:e.editType||"calc",description:["Template string used for rendering the information text that appear on points.","Note that this will override `textinfo`.",GG(),"Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.",r].join(" ")};return e.arrayOk!==!1&&(n.arrayOk=!0),n};_T.shapeTexttemplateAttrs=function(e,t){e=e||{},t=t||{};var r=e.newshape?"new ":"",n=CE(t),i={valType:"string",dflt:"",editType:e.editType||"arraydraw",description:["Template string used for rendering the "+r+"shape's label.","Note that this will override `text`.",hVe(),n].join(" ")};return i}});var MT=J((wDt,KG)=>{"use strict";function Qd(e,t){return t?t.d2l(e):e}function WG(e,t){return t?t.l2d(e):e}function vVe(e){return e.x0}function dVe(e){return e.x1}function pVe(e){return e.y0}function gVe(e){return e.y1}function XG(e){return e.x0shift||0}function ZG(e){return e.x1shift||0}function JG(e){return e.y0shift||0}function $G(e){return e.y1shift||0}function TT(e,t){return Qd(e.x1,t)+ZG(e)-Qd(e.x0,t)-XG(e)}function AT(e,t,r){return Qd(e.y1,r)+$G(e)-Qd(e.y0,r)-JG(e)}function mVe(e,t){return Math.abs(TT(e,t))}function yVe(e,t,r){return Math.abs(AT(e,t,r))}function xVe(e,t,r){return e.type!=="line"?void 0:Math.sqrt(Math.pow(TT(e,t),2)+Math.pow(AT(e,t,r),2))}function bVe(e,t){return WG((Qd(e.x1,t)+ZG(e)+Qd(e.x0,t)+XG(e))/2,t)}function wVe(e,t,r){return WG((Qd(e.y1,r)+$G(e)+Qd(e.y0,r)+JG(e))/2,r)}function _Ve(e,t,r){return e.type!=="line"?void 0:AT(e,t,r)/TT(e,t)}KG.exports={x0:vVe,x1:dVe,y0:pVe,y1:gVe,slope:_Ve,dx:TT,dy:AT,width:mVe,height:yVe,length:xVe,xcenter:bVe,ycenter:wVe}});var tW=J((_Dt,eW)=>{"use strict";var TVe=La().overrideAll,Fp=Qi(),QG=xa(),AVe=Ss().dash,e0=cn().extendFlat,MVe=Jn().shapeTexttemplateAttrs,kVe=MT();eW.exports=TVe({newshape:{visible:e0({},Fp.visible,{description:["Determines whether or not new shape is visible.","If *legendonly*, the shape is not drawn,","but can appear as a legend item","(provided that the legend itself is visible)."].join(" ")}),showlegend:{valType:"boolean",dflt:!1,description:["Determines whether or not new","shape is shown in the legend."].join(" ")},legend:e0({},Fp.legend,{description:["Sets the reference to a legend to show new shape in.","References to these legends are *legend*, *legend2*, *legend3*, etc.","Settings for these legends are set in the layout, under","`layout.legend`, `layout.legend2`, etc."].join(" ")}),legendgroup:e0({},Fp.legendgroup,{description:["Sets the legend group for new shape.","Traces and shapes part of the same legend group hide/show at the same time","when toggling legend items."].join(" ")}),legendgrouptitle:{text:e0({},Fp.legendgrouptitle.text,{}),font:QG({description:["Sets this legend group's title font."].join(" ")})},legendrank:e0({},Fp.legendrank,{description:["Sets the legend rank for new shape.","Items and groups with smaller ranks are presented on top/left side while","with *reversed* `legend.traceorder` they are on bottom/right side.","The default legendrank is 1000,","so that you can use ranks less than 1000 to place certain items before all unranked items,","and ranks greater than 1000 to go after all unranked items."].join(" ")}),legendwidth:e0({},Fp.legendwidth,{description:"Sets the width (in px or fraction) of the legend for new shape."}),line:{color:{valType:"color",description:["Sets the line color.","By default uses either dark grey or white","to increase contrast with background color."].join(" ")},width:{valType:"number",min:0,dflt:4,description:"Sets the line width (in px)."},dash:e0({},AVe,{dflt:"solid"})},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",description:["Sets the color filling new shapes' interior.","Please note that if using a fillcolor with alpha greater than half,","drag inside the active shape starts moving the shape underneath,","otherwise a new shape could be started over."].join(" ")},fillrule:{valType:"enumerated",values:["evenodd","nonzero"],dflt:"evenodd",description:["Determines the path's interior.","For more info please visit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule"].join(" ")},opacity:{valType:"number",min:0,max:1,dflt:1,description:"Sets the opacity of new shapes."},layer:{valType:"enumerated",values:["below","above","between"],dflt:"above",description:["Specifies whether new shapes are drawn below gridlines (*below*),","between gridlines and traces (*between*) or above traces (*above*)."].join(" ")},drawdirection:{valType:"enumerated",values:["ortho","horizontal","vertical","diagonal"],dflt:"diagonal",description:["When `dragmode` is set to *drawrect*, *drawline* or *drawcircle*","this limits the drag to be horizontal, vertical or diagonal.","Using *diagonal* there is no limit e.g. in drawing lines in any direction.","*ortho* limits the draw to be either horizontal or vertical.","*horizontal* allows horizontal extend.","*vertical* allows vertical extend."].join(" ")},name:e0({},Fp.name,{description:["Sets new shape name.","The name appears as the legend item."].join(" ")}),label:{text:{valType:"string",dflt:"",description:["Sets the text to display with the new shape.","It is also used for legend item if `name` is not provided."].join(" ")},texttemplate:MVe({newshape:!0},{keys:Object.keys(kVe)}),font:QG({description:"Sets the new shape label text font."}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right","start","middle","end"],description:["Sets the position of the label text relative to the new shape.","Supported values for rectangles, circles and paths are","*top left*, *top center*, *top right*, *middle left*,","*middle center*, *middle right*, *bottom left*, *bottom center*,","and *bottom right*.","Supported values for lines are *start*, *middle*, and *end*.","Default: *middle center* for rectangles, circles, and paths; *middle* for lines."].join(" ")},textangle:{valType:"angle",dflt:"auto",description:["Sets the angle at which the label text is drawn","with respect to the horizontal. For lines, angle *auto*","is the same angle as the line. For all other shapes,","angle *auto* is horizontal."].join(" ")},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",description:["Sets the label's horizontal position anchor","This anchor binds the specified `textposition` to the *left*, *center*","or *right* of the label text.","For example, if `textposition` is set to *top right* and","`xanchor` to *right* then the right-most portion of the","label text lines up with the right-most edge of the","new shape."].join(" ")},yanchor:{valType:"enumerated",values:["top","middle","bottom"],description:["Sets the label's vertical position anchor","This anchor binds the specified `textposition` to the *top*, *middle*","or *bottom* of the label text.","For example, if `textposition` is set to *top right* and","`yanchor` to *top* then the top-most portion of the","label text lines up with the top-most edge of the","new shape."].join(" ")},padding:{valType:"number",dflt:3,min:0,description:"Sets padding (in px) between edge of label and edge of new shape."}}},activeshape:{fillcolor:{valType:"color",dflt:"rgb(255,0,255)",description:"Sets the color filling the active shape' interior."},opacity:{valType:"number",min:0,max:1,dflt:.5,description:"Sets the opacity of the active shape."}}},"none","from-root")});var nW=J((TDt,rW)=>{"use strict";var SVe=Ss().dash,CVe=cn().extendFlat;rW.exports={newselection:{mode:{valType:"enumerated",values:["immediate","gradual"],dflt:"immediate",editType:"none",description:["Describes how a new selection is created.","If `immediate`, a new selection is created after first mouse up.","If `gradual`, a new selection is not created after first mouse.","By adding to and subtracting from the initial selection,","this option allows declaring extra outlines of the selection."].join(" ")},line:{color:{valType:"color",editType:"none",description:["Sets the line color.","By default uses either dark grey or white","to increase contrast with background color."].join(" ")},width:{valType:"number",min:1,dflt:1,editType:"none",description:"Sets the line width (in px)."},dash:CVe({},SVe,{dflt:"dot",editType:"none"}),editType:"none"},editType:"none"},activeselection:{fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"none",description:"Sets the color filling the active selection' interior."},opacity:{valType:"number",min:0,max:1,dflt:.5,editType:"none",description:"Sets the opacity of the active selection."},editType:"none"}}});var kT=J((ADt,iW)=>{"use strict";iW.exports=function(e){var t=e.editType;return{t:{valType:"number",dflt:0,editType:t,description:"The amount of padding (in px) along the top of the component."},r:{valType:"number",dflt:0,editType:t,description:"The amount of padding (in px) on the right side of the component."},b:{valType:"number",dflt:0,editType:t,description:"The amount of padding (in px) along the bottom of the component."},l:{valType:"number",dflt:0,editType:t,description:"The amount of padding (in px) on the left side of the component."},editType:t}}});var zp=J((MDt,lW)=>{"use strict";var ST=xa(),EVe=Bb(),CT=Ho(),aW=tW(),oW=nW(),LVe=kT(),sW=cn().extendFlat,ET=ST({editType:"calc",description:["Sets the global font.","Note that fonts used in traces and other","layout components inherit from the global font."].join(" ")});ET.family.dflt='"Open Sans", verdana, arial, sans-serif';ET.size.dflt=12;ET.color.dflt=CT.defaultLine;lW.exports={font:ET,title:{text:{valType:"string",editType:"layoutstyle",description:["Sets the plot's title.","Note that before the existence of `title.text`, the title's","contents used to be defined as the `title` attribute itself.","This behavior has been deprecated."].join(" ")},font:ST({editType:"layoutstyle",description:["Sets the title font.","Note that the title's font used to be customized","by the now deprecated `titlefont` attribute."].join(" ")}),subtitle:{text:{valType:"string",editType:"layoutstyle",description:"Sets the plot's subtitle."},font:ST({editType:"layoutstyle",description:"Sets the subtitle font."}),editType:"layoutstyle"},xref:{valType:"enumerated",dflt:"container",values:["container","paper"],editType:"layoutstyle",description:["Sets the container `x` refers to.","*container* spans the entire `width` of the plot.","*paper* refers to the width of the plotting area only."].join(" ")},yref:{valType:"enumerated",dflt:"container",values:["container","paper"],editType:"layoutstyle",description:["Sets the container `y` refers to.","*container* spans the entire `height` of the plot.","*paper* refers to the height of the plotting area only."].join(" ")},x:{valType:"number",min:0,max:1,dflt:.5,editType:"layoutstyle",description:["Sets the x position with respect to `xref` in normalized","coordinates from *0* (left) to *1* (right)."].join(" ")},y:{valType:"number",min:0,max:1,dflt:"auto",editType:"layoutstyle",description:["Sets the y position with respect to `yref` in normalized","coordinates from *0* (bottom) to *1* (top).","*auto* places the baseline of the title onto the","vertical center of the top margin."].join(" ")},xanchor:{valType:"enumerated",dflt:"auto",values:["auto","left","center","right"],editType:"layoutstyle",description:["Sets the title's horizontal alignment with respect to its x position.","*left* means that the title starts at x,","*right* means that the title ends at x","and *center* means that the title's center is at x.","*auto* divides `xref` by three and calculates the `xanchor`","value automatically based on the value of `x`."].join(" ")},yanchor:{valType:"enumerated",dflt:"auto",values:["auto","top","middle","bottom"],editType:"layoutstyle",description:["Sets the title's vertical alignment with respect to its y position.","*top* means that the title's cap line is at y,","*bottom* means that the title's baseline is at y","and *middle* means that the title's midline is at y.","*auto* divides `yref` by three and calculates the `yanchor`","value automatically based on the value of `y`."].join(" ")},pad:sW(LVe({editType:"layoutstyle"}),{description:["Sets the padding of the title.","Each padding value only applies when the corresponding","`xanchor`/`yanchor` value is set accordingly. E.g. for left","padding to take effect, `xanchor` must be set to *left*.","The same rule applies if `xanchor`/`yanchor` is determined automatically.","Padding is muted if the respective anchor value is *middle*/*center*."].join(" ")}),automargin:{valType:"boolean",dflt:!1,editType:"plot",description:["Determines whether the title can automatically push the figure margins.","If `yref='paper'` then the margin will expand to ensure that the title doesn\u2019t","overlap with the edges of the container. If `yref='container'` then the margins","will ensure that the title doesn\u2019t overlap with the plot area, tick labels,","and axis titles. If `automargin=true` and the margins need to be expanded,","then y will be set to a default 1 and yanchor will be set to an appropriate","default to ensure that minimal margin space is needed. Note that when `yref='paper'`,","only 1 or 0 are allowed y values. Invalid values will be reset to the default 1."].join(" ")},editType:"layoutstyle"},uniformtext:{mode:{valType:"enumerated",values:[!1,"hide","show"],dflt:!1,editType:"plot",description:["Determines how the font size for various text","elements are uniformed between each trace type.","If the computed text sizes were smaller than","the minimum size defined by `uniformtext.minsize`","using *hide* option hides the text; and","using *show* option shows the text without further downscaling.","Please note that if the size defined by `minsize` is greater than","the font size defined by trace, then the `minsize` is used."].join(" ")},minsize:{valType:"number",min:0,dflt:0,editType:"plot",description:["Sets the minimum text size between traces of the same type."].join(" ")},editType:"plot"},autosize:{valType:"boolean",dflt:!1,editType:"none",description:["Determines whether or not a layout width or height","that has been left undefined by the user","is initialized on each relayout.","Note that, regardless of this attribute,","an undefined layout width or height","is always initialized on the first call to plot."].join(" ")},width:{valType:"number",min:10,dflt:700,editType:"plot",description:["Sets the plot's width (in px)."].join(" ")},height:{valType:"number",min:10,dflt:450,editType:"plot",description:["Sets the plot's height (in px)."].join(" ")},minreducedwidth:{valType:"number",min:2,dflt:64,editType:"plot",description:"Minimum width of the plot with margin.automargin applied (in px)"},minreducedheight:{valType:"number",min:2,dflt:64,editType:"plot",description:"Minimum height of the plot with margin.automargin applied (in px)"},margin:{l:{valType:"number",min:0,dflt:80,editType:"plot",description:"Sets the left margin (in px)."},r:{valType:"number",min:0,dflt:80,editType:"plot",description:"Sets the right margin (in px)."},t:{valType:"number",min:0,dflt:100,editType:"plot",description:"Sets the top margin (in px)."},b:{valType:"number",min:0,dflt:80,editType:"plot",description:"Sets the bottom margin (in px)."},pad:{valType:"number",min:0,dflt:0,editType:"plot",description:["Sets the amount of padding (in px)","between the plotting area and the axis lines"].join(" ")},autoexpand:{valType:"boolean",dflt:!0,editType:"plot",description:["Turns on/off margin expansion computations.","Legends, colorbars, updatemenus, sliders, axis rangeselector and rangeslider","are allowed to push the margins by defaults."].join(" ")},editType:"plot"},computed:{valType:"any",editType:"none",description:["Placeholder for exporting automargin-impacting values namely","`margin.t`, `margin.b`, `margin.l` and `margin.r` in *full-json* mode."].join(" ")},paper_bgcolor:{valType:"color",dflt:CT.background,editType:"plot",description:"Sets the background color of the paper where the graph is drawn."},plot_bgcolor:{valType:"color",dflt:CT.background,editType:"layoutstyle",description:["Sets the background color of the plotting area in-between x and y axes."].join(" ")},autotypenumbers:{valType:"enumerated",values:["convert types","strict"],dflt:"convert types",editType:"calc",description:["Using *strict* a numeric string in trace data is not converted to a number.","Using *convert types* a numeric string in trace data may be","treated as a number during automatic axis `type` detection.","This is the default value; however it could be overridden for individual axes."].join(" ")},separators:{valType:"string",editType:"plot",description:["Sets the decimal and thousand separators.","For example, *. * puts a '.' before decimals and a space","between thousands. In English locales, dflt is *.,* but","other locales may alter this default."].join(" ")},hidesources:{valType:"boolean",dflt:!1,editType:"plot",description:["Determines whether or not a text link citing the data source is","placed at the bottom-right cored of the figure.","Has only an effect only on graphs that have been generated via","forked graphs from the Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise)."].join(" ")},showlegend:{valType:"boolean",editType:"legend",description:["Determines whether or not a legend is drawn.","Default is `true` if there is a trace to show and any of these:","a) Two or more traces would by default be shown in the legend.","b) One pie trace is shown in the legend.","c) One trace is explicitly given with `showlegend: true`."].join(" ")},colorway:{valType:"colorlist",dflt:CT.defaults,editType:"calc",description:"Sets the default trace colors."},datarevision:{valType:"any",editType:"calc",description:["If provided, a changed value tells `Plotly.react` that","one or more data arrays has changed. This way you can modify","arrays in-place rather than making a complete new copy for an","incremental change.","If NOT provided, `Plotly.react` assumes that data arrays are","being treated as immutable, thus any data array with a","different identity from its predecessor contains new data."].join(" ")},uirevision:{valType:"any",editType:"none",description:["Used to allow user interactions with the plot to persist after","`Plotly.react` calls that are unaware of these interactions.","If `uirevision` is omitted, or if it is given and it changed from","the previous `Plotly.react` call, the exact new figure is used.","If `uirevision` is truthy and did NOT change, any attribute","that has been affected by user interactions and did not receive a","different value in the new figure will keep the interaction value.","`layout.uirevision` attribute serves as the default for","`uirevision` attributes in various sub-containers. For finer","control you can set these sub-attributes directly. For example,","if your app separately controls the data on the x and y axes you","might set `xaxis.uirevision=*time*` and `yaxis.uirevision=*cost*`.","Then if only the y data is changed, you can update","`yaxis.uirevision=*quantity*` and the y axis range will reset but","the x axis range will retain any user-driven zoom."].join(" ")},editrevision:{valType:"any",editType:"none",description:["Controls persistence of user-driven changes in `editable: true`","configuration, other than trace names and axis titles.","Defaults to `layout.uirevision`."].join(" ")},selectionrevision:{valType:"any",editType:"none",description:["Controls persistence of user-driven changes in selected points","from all traces."].join(" ")},template:{valType:"any",editType:"calc",description:["Default attributes to be applied to the plot. Templates can be","created from existing plots using `Plotly.makeTemplate`, or","created manually. They should be objects with format:","`{layout: layoutTemplate, data: {[type]: [traceTemplate, ...]}, ...}`","`layoutTemplate` and `traceTemplate` are objects matching the","attribute structure of `layout` and a data trace. ","Trace templates are applied cyclically to traces of each type.","Container arrays (eg `annotations`) have special handling:","An object ending in `defaults` (eg `annotationdefaults`) is applied","to each array item. But if an item has a `templateitemname` key","we look in the template array for an item with matching `name` and","apply that instead. If no matching `name` is found we mark the item","invisible. Any named template item not referenced is appended to","the end of the array, so you can use this for a watermark annotation","or a logo image, for example. To omit one of these items on the plot,","make an item with matching `templateitemname` and `visible: false`."].join(" ")},newshape:aW.newshape,activeshape:aW.activeshape,newselection:oW.newselection,activeselection:oW.activeselection,meta:{valType:"any",arrayOk:!0,editType:"plot",description:["Assigns extra meta information that can be used in various `text` attributes.","Attributes such as the graph, axis and colorbar `title.text`, annotation `text`","`trace.name` in legend items, `rangeselector`, `updatemenus` and `sliders` `label` text","all support `meta`. One can access `meta` fields using template strings:","`%{meta[i]}` where `i` is the index of the `meta`","item in question.","`meta` can also be an object for example `{key: value}` which can be accessed","%{meta[key]}."].join(" ")},transition:sW({},EVe.transition,{description:["Sets transition options used during Plotly.react updates."].join(" "),editType:"none"}),_deprecated:{title:{valType:"string",editType:"layoutstyle",description:["Value of `title` is no longer a simple *string* but a set of sub-attributes.","To set the contents of the title, please use `title.text` now."].join(" ")},titlefont:ST({editType:"layoutstyle",description:["Former `titlefont` is now the sub-attribute `font` of `title`.","To customize title font properties, please use `title.font` now."].join(" ")})}}});var zr=J(In=>{"use strict";var M1=Kd(),uW=bT(),fW=_E(),DVe=Bv(),RVe=Ob().addStyleRule,cW=cn(),PVe=Qi(),IVe=zp(),qVe=cW.extendFlat,LT=cW.extendDeepAll;In.modules={};In.allCategories={};In.allTypes=[];In.subplotsRegistry={};In.transformsRegistry={};In.componentsRegistry={};In.layoutArrayContainers=[];In.layoutArrayRegexes=[];In.traceLayoutAttributes={};In.localeRegistry={};In.apiMethodRegistry={};In.collectableSubplotTypes=null;In.register=function(t){if(In.collectableSubplotTypes=null,t)t&&!Array.isArray(t)&&(t=[t]);else throw new Error("No argument passed to Plotly.register.");for(var r=0;r<t.length;r++){var n=t[r];if(!n)throw new Error("Invalid module was attempted to be registered!");switch(n.moduleType){case"trace":FVe(n);break;case"transform":OVe(n);break;case"component":NVe(n);break;case"locale":BVe(n);break;case"apiMethod":var i=n.name;In.apiMethodRegistry[i]=n.fn;break;default:throw new Error("Invalid module was attempted to be registered!")}}};In.getModule=function(e){var t=In.modules[gW(e)];return t?t._module:!1};In.traceIs=function(e,t){if(e=gW(e),e==="various")return!1;var r=In.modules[e];return r||(e&&M1.log("Unrecognized trace type "+e+"."),r=In.modules[PVe.type.dflt]),!!r.categories[t]};In.getTransformIndices=function(e,t){for(var r=[],n=e.transforms||[],i=0;i<n.length;i++)n[i].type===t&&r.push(i);return r};In.hasTransform=function(e,t){for(var r=e.transforms||[],n=0;n<r.length;n++)if(r[n].type===t)return!0;return!1};In.getComponentMethod=function(e,t){var r=In.componentsRegistry[e];return r&&r[t]||uW};In.call=function(){var e=arguments[0],t=[].slice.call(arguments,1);return In.apiMethodRegistry[e].apply(null,t)};function FVe(e){var t=e.name,r=e.categories,n=e.meta;if(In.modules[t]){M1.log("Type "+t+" already registered");return}In.subplotsRegistry[e.basePlotModule.name]||zVe(e.basePlotModule);for(var i={},a=0;a<r.length;a++)i[r[a]]=!0,In.allCategories[r[a]]=!0;In.modules[t]={_module:e,categories:i},n&&Object.keys(n).length&&(In.modules[t].meta=n),In.allTypes.push(t);for(var o in In.componentsRegistry)vW(o,t);e.layoutAttributes&&qVe(In.traceLayoutAttributes,e.layoutAttributes);var s=e.basePlotModule,l=s.name;if(l==="mapbox"){var u=s.constants.styleRules;for(var f in u)RVe(".js-plotly-plot .plotly .mapboxgl-"+f,u[f])}(l==="geo"||l==="mapbox")&&window.PlotlyGeoAssets===void 0&&(window.PlotlyGeoAssets={topojson:{}})}function zVe(e){var t=e.name;if(In.subplotsRegistry[t]){M1.log("Plot type "+t+" already registered.");return}hW(e),In.subplotsRegistry[t]=e;for(var r in In.componentsRegistry)pW(r,e.name)}function NVe(e){if(typeof e.name!="string")throw new Error("Component module *name* must be a string.");var t=e.name;In.componentsRegistry[t]=e,e.layoutAttributes&&(e.layoutAttributes._isLinkedToArray&&fW(In.layoutArrayContainers,t),hW(e));for(var r in In.modules)vW(t,r);for(var n in In.subplotsRegistry)pW(t,n);for(var i in In.transformsRegistry)dW(t,i);e.schema&&e.schema.layout&<(IVe,e.schema.layout)}function OVe(e){if(typeof e.name!="string")throw new Error("Transform module *name* must be a string.");var t="Transform module "+e.name,r=typeof e.transform=="function",n=typeof e.calcTransform=="function";if(!r&&!n)throw new Error(t+" is missing a *transform* or *calcTransform* method.");r&&n&&M1.log([t+" has both a *transform* and *calcTransform* methods.","Please note that all *transform* methods are executed","before all *calcTransform* methods."].join(" ")),DVe(e.attributes)||M1.log(t+" registered without an *attributes* object."),typeof e.supplyDefaults!="function"&&M1.log(t+" registered without a *supplyDefaults* method."),In.transformsRegistry[e.name]=e;for(var i in In.componentsRegistry)dW(i,e.name)}function BVe(e){var t=e.name,r=t.split("-")[0],n=e.dictionary,i=e.format,a=n&&Object.keys(n).length,o=i&&Object.keys(i).length,s=In.localeRegistry,l=s[t];if(l||(s[t]=l={}),r!==t){var u=s[r];u||(s[r]=u={}),a&&u.dictionary===l.dictionary&&(u.dictionary=n),o&&u.format===l.format&&(u.format=i)}a&&(l.dictionary=n),o&&(l.format=i)}function hW(e){if(e.layoutAttributes){var t=e.layoutAttributes._arrayAttrRegexps;if(t)for(var r=0;r<t.length;r++)fW(In.layoutArrayRegexes,t[r])}}function vW(e,t){var r=In.componentsRegistry[e].schema;if(!(!r||!r.traces)){var n=r.traces[t];n&<(In.modules[t]._module.attributes,n)}}function dW(e,t){var r=In.componentsRegistry[e].schema;if(!(!r||!r.transforms)){var n=r.transforms[t];n&<(In.transformsRegistry[t].attributes,n)}}function pW(e,t){var r=In.componentsRegistry[e].schema;if(!(!r||!r.subplots)){var n=In.subplotsRegistry[t],i=n.layoutAttributes,a=n.attr==="subplot"?n.name:n.attr;Array.isArray(a)&&(a=a[0]);var o=r.subplots[a];i&&o&<(i,o)}}function gW(e){return typeof e=="object"&&(e=e.type),e}});var MW=J(ho=>{"use strict";var UVe=m1().timeFormat,TW=dn(),EE=Kd(),r0=x1().mod,C1=oi(),Jf=C1.BADNUM,Fu=C1.ONEDAY,Ub=C1.ONEHOUR,t0=C1.ONEMIN,S1=C1.ONESEC,Hb=C1.EPOCHJD,Hv=zr(),mW=m1().utcFormat,HVe=/^\s*(-?\d\d\d\d|\d\d)(-(\d?\d)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d(:?\d\d)?)?)?)?)?)?\s*$/m,jVe=/^\s*(-?\d\d\d\d|\d\d)(-(\d?\di?)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d(:?\d\d)?)?)?)?)?)?\s*$/m,yW=new Date().getFullYear()-70;function jv(e){return e&&Hv.componentsRegistry.calendars&&typeof e=="string"&&e!=="gregorian"}ho.dateTick0=function(e,t){var r=VVe(e,!!t);if(t<2)return r;var n=ho.dateTime2ms(r,e);return n+=Fu*(t-1),ho.ms2DateTime(n,0,e)};function VVe(e,t){return jv(e)?t?Hv.getComponentMethod("calendars","CANONICAL_SUNDAY")[e]:Hv.getComponentMethod("calendars","CANONICAL_TICK")[e]:t?"2000-01-02":"2000-01-01"}ho.dfltRange=function(e){return jv(e)?Hv.getComponentMethod("calendars","DFLTRANGE")[e]:["2000-01-01","2001-01-01"]};ho.isJSDate=function(e){return typeof e=="object"&&e!==null&&typeof e.getTime=="function"};var RT,PT;ho.dateTime2ms=function(e,t){if(ho.isJSDate(e)){var r=e.getTimezoneOffset()*t0,n=(e.getUTCMinutes()-e.getMinutes())*t0+(e.getUTCSeconds()-e.getSeconds())*S1+(e.getUTCMilliseconds()-e.getMilliseconds());if(n){var i=3*t0;r=r-i/2+r0(n-r+i/2,i)}return e=Number(e)-r,e>=RT&&e<=PT?e:Jf}if(typeof e!="string"&&typeof e!="number")return Jf;e=String(e);var a=jv(t),o=e.charAt(0);a&&(o==="G"||o==="g")&&(e=e.substr(1),t="");var s=a&&t.substr(0,7)==="chinese",l=e.match(s?jVe:HVe);if(!l)return Jf;var u=l[1],f=l[3]||"1",c=Number(l[5]||1),h=Number(l[7]||0),d=Number(l[9]||0),v=Number(l[11]||0);if(a){if(u.length===2)return Jf;u=Number(u);var m;try{var b=Hv.getComponentMethod("calendars","getCal")(t);if(s){var g=f.charAt(f.length-1)==="i";f=parseInt(f,10),m=b.newDate(u,b.toMonthIndex(u,f,g),c)}else m=b.newDate(u,Number(f),c)}catch{return Jf}return m?(m.toJD()-Hb)*Fu+h*Ub+d*t0+v*S1:Jf}u.length===2?u=(Number(u)+2e3-yW)%100+yW:u=Number(u),f-=1;var _=new Date(Date.UTC(2e3,f,c,h,d));return _.setUTCFullYear(u),_.getUTCMonth()!==f||_.getUTCDate()!==c?Jf:_.getTime()+v*S1};RT=ho.MIN_MS=ho.dateTime2ms("-9999");PT=ho.MAX_MS=ho.dateTime2ms("9999-12-31 23:59:59.9999");ho.isDateTime=function(e,t){return ho.dateTime2ms(e,t)!==Jf};function k1(e,t){return String(e+Math.pow(10,t)).substr(1)}var DT=90*Fu,xW=3*Ub,bW=5*t0;ho.ms2DateTime=function(e,t,r){if(typeof e!="number"||!(e>=RT&&e<=PT))return Jf;t||(t=0);var n=Math.floor(r0(e+.05,1)*10),i=Math.round(e-n/10),a,o,s,l,u,f;if(jv(r)){var c=Math.floor(i/Fu)+Hb,h=Math.floor(r0(e,Fu));try{a=Hv.getComponentMethod("calendars","getCal")(r).fromJD(c).formatDate("yyyy-mm-dd")}catch{a=mW("G%Y-%m-%d")(new Date(i))}if(a.charAt(0)==="-")for(;a.length<11;)a="-0"+a.substr(1);else for(;a.length<10;)a="0"+a;o=t<DT?Math.floor(h/Ub):0,s=t<DT?Math.floor(h%Ub/t0):0,l=t<xW?Math.floor(h%t0/S1):0,u=t<bW?h%S1*10+n:0}else f=new Date(i),a=mW("%Y-%m-%d")(f),o=t<DT?f.getUTCHours():0,s=t<DT?f.getUTCMinutes():0,l=t<xW?f.getUTCSeconds():0,u=t<bW?f.getUTCMilliseconds()*10+n:0;return AW(a,o,s,l,u)};ho.ms2DateTimeLocal=function(e){if(!(e>=RT+Fu&&e<=PT-Fu))return Jf;var t=Math.floor(r0(e+.05,1)*10),r=new Date(Math.round(e-t/10)),n=UVe("%Y-%m-%d")(r),i=r.getHours(),a=r.getMinutes(),o=r.getSeconds(),s=r.getUTCMilliseconds()*10+t;return AW(n,i,a,o,s)};function AW(e,t,r,n,i){if((t||r||n||i)&&(e+=" "+k1(t,2)+":"+k1(r,2),(n||i)&&(e+=":"+k1(n,2),i))){for(var a=4;i%10===0;)a-=1,i/=10;e+="."+k1(i,a)}return e}ho.cleanDate=function(e,t,r){if(e===Jf)return t;if(ho.isJSDate(e)||typeof e=="number"&&isFinite(e)){if(jv(r))return EE.error("JS Dates and milliseconds are incompatible with world calendars",e),t;if(e=ho.ms2DateTimeLocal(+e),!e&&t!==void 0)return t}else if(!ho.isDateTime(e,r))return EE.error("unrecognized date",e),t;return e};var YVe=/%\d?f/g,GVe=/%h/g,WVe={1:"1",2:"1",3:"2",4:"2"};function wW(e,t,r,n){e=e.replace(YVe,function(a){var o=Math.min(+a.charAt(1)||6,6),s=(t/1e3%1+2).toFixed(o).substr(2).replace(/0+$/,"")||"0";return s});var i=new Date(Math.floor(t+.05));if(e=e.replace(GVe,function(){return WVe[r("%q")(i)]}),jv(n))try{e=Hv.getComponentMethod("calendars","worldCalFmt")(e,t,n)}catch{return"Invalid"}return r(e)(i)}var XVe=[59,59.9,59.99,59.999,59.9999];function ZVe(e,t){var r=r0(e+.05,Fu),n=k1(Math.floor(r/Ub),2)+":"+k1(r0(Math.floor(r/t0),60),2);if(t!=="M"){TW(t)||(t=0);var i=Math.min(r0(e/S1,60),XVe[t]),a=(100+i).toFixed(t).substr(1);t>0&&(a=a.replace(/0+$/,"").replace(/[\.]$/,"")),n+=":"+a}return n}ho.formatDate=function(e,t,r,n,i,a){if(i=jv(i)&&i,!t)if(r==="y")t=a.year;else if(r==="m")t=a.month;else if(r==="d")t=a.dayMonth+`
|
|
`+a.year;else return ZVe(e,r)+`
|
|
`+wW(a.dayMonthYear,e,n,i);return wW(t,e,n,i)};var _W=3*Fu;ho.incrementMonth=function(e,t,r){r=jv(r)&&r;var n=r0(e,Fu);if(e=Math.round(e-n),r)try{var i=Math.round(e/Fu)+Hb,a=Hv.getComponentMethod("calendars","getCal")(r),o=a.fromJD(i);return t%12?a.add(o,t,"m"):a.add(o,t/12,"y"),(o.toJD()-Hb)*Fu+n}catch{EE.error("invalid ms "+e+" in calendar "+r)}var s=new Date(e+_W);return s.setUTCMonth(s.getUTCMonth()+t)+n-_W};ho.findExactDates=function(e,t){for(var r=0,n=0,i=0,a=0,o,s,l=jv(t)&&Hv.getComponentMethod("calendars","getCal")(t),u=0;u<e.length;u++){if(s=e[u],!TW(s)){a++;continue}if(!(s%Fu))if(l)try{o=l.fromJD(s/Fu+Hb),o.day()===1?o.month()===1?r++:n++:i++}catch{}else o=new Date(s),o.getUTCDate()===1?o.getUTCMonth()===0?r++:n++:i++}n+=r,i+=n;var f=e.length-a;return{exactYears:r/f,exactMonths:n/f,exactDays:i/f}}});var jb=J((CDt,kW)=>{"use strict";kW.exports=function(t){return t}});var IT=J(Vv=>{"use strict";var JVe=dn(),$Ve=Kd(),KVe=jb(),QVe=oi().BADNUM,LE=1e-9;Vv.findBin=function(e,t,r){if(JVe(t.start))return r?Math.ceil((e-t.start)/t.size-LE)-1:Math.floor((e-t.start)/t.size+LE);var n=0,i=t.length,a=0,o=i>1?(t[i-1]-t[0])/(i-1):1,s,l;for(o>=0?l=r?eYe:tYe:l=r?nYe:rYe,e+=o*LE*(r?-1:1)*(o>=0?1:-1);n<i&&a++<100;)s=Math.floor((n+i)/2),l(t[s],e)?n=s+1:i=s;return a>90&&$Ve.log("Long binary search..."),n-1};function eYe(e,t){return e<t}function tYe(e,t){return e<=t}function rYe(e,t){return e>t}function nYe(e,t){return e>=t}Vv.sorterAsc=function(e,t){return e-t};Vv.sorterDes=function(e,t){return t-e};Vv.distinctVals=function(e){var t=e.slice();t.sort(Vv.sorterAsc);var r;for(r=t.length-1;r>-1&&t[r]===QVe;r--);for(var n=t[r]-t[0]||1,i=n/(r||1)/1e4,a=[],o,s=0;s<=r;s++){var l=t[s],u=l-o;o===void 0?(a.push(l),o=l):u>i&&(n=Math.min(n,u),a.push(l),o=l)}return{vals:a,minDiff:n}};Vv.roundUp=function(e,t,r){for(var n=0,i=t.length-1,a,o=0,s=r?0:1,l=r?1:0,u=r?Math.ceil:Math.floor;n<i&&o++<100;)a=u((n+i)/2),t[a]<=e?n=a+s:i=a-l;return t[n]};Vv.sort=function(e,t){for(var r=0,n=0,i=1;i<e.length;i++){var a=t(e[i],e[i-1]);if(a<0?r=1:a>0&&(n=1),r&&n)return e.sort(t)}return n?e:e.reverse()};Vv.findIndexOfMin=function(e,t){t=t||KVe;for(var r=1/0,n,i=0;i<e.length;i++){var a=t(e[i]);a<r&&(r=a,n=i)}return n}});var Vb=J((LDt,SW)=>{"use strict";SW.exports=function(t){return Object.keys(t).sort()}});var CW=J(vo=>{"use strict";var Yb=dn(),iYe=fl().isArrayOrTypedArray;vo.aggNums=function(e,t,r,n){var i,a;if((!n||n>r.length)&&(n=r.length),Yb(t)||(t=!1),iYe(r[0])){for(a=new Array(n),i=0;i<n;i++)a[i]=vo.aggNums(e,t,r[i]);r=a}for(i=0;i<n;i++)Yb(t)?Yb(r[i])&&(t=e(+t,+r[i])):t=r[i];return t};vo.len=function(e){return vo.aggNums(function(t){return t+1},0,e)};vo.mean=function(e,t){return t||(t=vo.len(e)),vo.aggNums(function(r,n){return r+n},0,e)/t};vo.geometricMean=function(e,t){return t||(t=vo.len(e)),Math.pow(vo.aggNums(function(r,n){return r*n},1,e),1/t)};vo.midRange=function(e){if(!(e===void 0||e.length===0))return(vo.aggNums(Math.max,null,e)+vo.aggNums(Math.min,null,e))/2};vo.variance=function(e,t,r){return t||(t=vo.len(e)),Yb(r)||(r=vo.mean(e,t)),vo.aggNums(function(n,i){return n+Math.pow(i-r,2)},0,e)/t};vo.stdev=function(e,t,r){return Math.sqrt(vo.variance(e,t,r))};vo.median=function(e){var t=e.slice().sort();return vo.interp(t,.5)};vo.interp=function(e,t){if(!Yb(t))throw"n should be a finite number";if(t=t*e.length-.5,t<0)return e[0];if(t>e.length-1)return e[e.length-1];var r=t%1;return r*e[Math.ceil(t)]+(1-r)*e[Math.floor(t)]}});var PW=J((RDt,RW)=>{"use strict";var EW=x1(),DE=EW.mod,aYe=EW.modHalf,Gb=Math.PI,n0=2*Gb;function oYe(e){return e/180*Gb}function sYe(e){return e/Gb*180}function RE(e){return Math.abs(e[1]-e[0])>n0-1e-14}function LW(e,t){return aYe(t-e,n0)}function lYe(e,t){return Math.abs(LW(e,t))}function DW(e,t){if(RE(t))return!0;var r,n;t[0]<t[1]?(r=t[0],n=t[1]):(r=t[1],n=t[0]),r=DE(r,n0),n=DE(n,n0),r>n&&(n+=n0);var i=DE(e,n0),a=i+n0;return i>=r&&i<=n||a>=r&&a<=n}function uYe(e,t,r,n){if(!DW(t,n))return!1;var i,a;return r[0]<r[1]?(i=r[0],a=r[1]):(i=r[1],a=r[0]),e>=i&&e<=a}function PE(e,t,r,n,i,a,o){i=i||0,a=a||0;var s=RE([r,n]),l,u,f,c,h;s?(l=0,u=Gb,f=n0):r<n?(l=r,f=n):(l=n,f=r),e<t?(c=e,h=t):(c=t,h=e);function d(g,_){return[g*Math.cos(_)+i,a-g*Math.sin(_)]}var v=Math.abs(f-l)<=Gb?0:1;function m(g,_,T){return"A"+[g,g]+" "+[0,v,T]+" "+d(g,_)}var b;return s?c===null?b="M"+d(h,l)+m(h,u,0)+m(h,f,0)+"Z":b="M"+d(c,l)+m(c,u,0)+m(c,f,0)+"ZM"+d(h,l)+m(h,u,1)+m(h,f,1)+"Z":c===null?(b="M"+d(h,l)+m(h,f,0),o&&(b+="L0,0Z")):b="M"+d(c,l)+"L"+d(h,l)+m(h,f,0)+"L"+d(c,f)+m(c,l,1)+"Z",b}function fYe(e,t,r,n,i){return PE(null,e,t,r,n,i,0)}function cYe(e,t,r,n,i){return PE(null,e,t,r,n,i,1)}function hYe(e,t,r,n,i,a){return PE(e,t,r,n,i,a,1)}RW.exports={deg2rad:oYe,rad2deg:sYe,angleDelta:LW,angleDist:lYe,isFullCircle:RE,isAngleInsideSector:DW,isPtInsideSector:uYe,pathArc:fYe,pathSector:cYe,pathAnnulus:hYe}});var IW=J(Np=>{"use strict";Np.isLeftAnchor=function(t){return t.xanchor==="left"||t.xanchor==="auto"&&t.x<=1/3};Np.isCenterAnchor=function(t){return t.xanchor==="center"||t.xanchor==="auto"&&t.x>1/3&&t.x<2/3};Np.isRightAnchor=function(t){return t.xanchor==="right"||t.xanchor==="auto"&&t.x>=2/3};Np.isTopAnchor=function(t){return t.yanchor==="top"||t.yanchor==="auto"&&t.y>=2/3};Np.isMiddleAnchor=function(t){return t.yanchor==="middle"||t.yanchor==="auto"&&t.y>1/3&&t.y<2/3};Np.isBottomAnchor=function(t){return t.yanchor==="bottom"||t.yanchor==="auto"&&t.y<=1/3}});var zW=J(Op=>{"use strict";var IE=x1().mod;Op.segmentsIntersect=FW;function FW(e,t,r,n,i,a,o,s){var l=r-e,u=i-e,f=o-i,c=n-t,h=a-t,d=s-a,v=l*d-f*c;if(v===0)return null;var m=(u*d-f*h)/v,b=(u*c-l*h)/v;return b<0||b>1||m<0||m>1?null:{x:e+l*m,y:t+c*m}}Op.segmentDistance=function(t,r,n,i,a,o,s,l){if(FW(t,r,n,i,a,o,s,l))return 0;var u=n-t,f=i-r,c=s-a,h=l-o,d=u*u+f*f,v=c*c+h*h,m=Math.min(qT(u,f,d,a-t,o-r),qT(u,f,d,s-t,l-r),qT(c,h,v,t-a,r-o),qT(c,h,v,n-a,i-o));return Math.sqrt(m)};function qT(e,t,r,n,i){var a=n*e+i*t;if(a<0)return n*n+i*i;if(a>r){var o=n-e,s=i-t;return o*o+s*s}else{var l=n*t-i*e;return l*l/r}}var FT,qE,qW;Op.getTextLocation=function(t,r,n,i){if((t!==qE||i!==qW)&&(FT={},qE=t,qW=i),FT[n])return FT[n];var a=t.getPointAtLength(IE(n-i/2,r)),o=t.getPointAtLength(IE(n+i/2,r)),s=Math.atan((o.y-a.y)/(o.x-a.x)),l=t.getPointAtLength(IE(n,r)),u=(l.x*4+a.x+o.x)/6,f=(l.y*4+a.y+o.y)/6,c={x:u,y:f,theta:s};return FT[n]=c,c};Op.clearLocationCache=function(){qE=null};Op.getVisibleSegment=function(t,r,n){var i=r.left,a=r.right,o=r.top,s=r.bottom,l=0,u=t.getTotalLength(),f=u,c,h;function d(m){var b=t.getPointAtLength(m);m===0?c=b:m===u&&(h=b);var g=b.x<i?i-b.x:b.x>a?b.x-a:0,_=b.y<o?o-b.y:b.y>s?b.y-s:0;return Math.sqrt(g*g+_*_)}for(var v=d(l);v;){if(l+=v+n,l>f)return;v=d(l)}for(v=d(f);v;){if(f-=v+n,l>f)return;v=d(f)}return{min:l,max:f,len:f-l,total:u,isClosed:l===0&&f===u&&Math.abs(c.x-h.x)<.1&&Math.abs(c.y-h.y)<.1}};Op.findPointOnPath=function(t,r,n,i){i=i||{};for(var a=i.pathLength||t.getTotalLength(),o=i.tolerance||.001,s=i.iterationLimit||30,l=t.getPointAtLength(0)[n]>t.getPointAtLength(a)[n]?-1:1,u=0,f=0,c=a,h,d,v;u<s;){if(h=(f+c)/2,d=t.getPointAtLength(h),v=d[n]-r,Math.abs(v)<o)return d;l*v>0?c=h:f=h,u++}return d}});var zT=J(Wb=>{"use strict";var Yv={};Wb.throttle=function(t,r,n){var i=Yv[t],a=Date.now();if(!i){for(var o in Yv)Yv[o].ts<a-6e4&&delete Yv[o];i=Yv[t]={ts:0,timer:null}}NW(i);function s(){n(),i.ts=Date.now(),i.onDone&&(i.onDone(),i.onDone=null)}if(a>i.ts+r){s();return}i.timer=setTimeout(function(){s(),i.timer=null},r)};Wb.done=function(e){var t=Yv[e];return!t||!t.timer?Promise.resolve():new Promise(function(r){var n=t.onDone;t.onDone=function(){n&&n(),r(),t.onDone=null}})};Wb.clear=function(e){if(e)NW(Yv[e]),delete Yv[e];else for(var t in Yv)Wb.clear(t)};function NW(e){e&&e.timer!==null&&(clearTimeout(e.timer),e.timer=null)}});var BW=J((FDt,OW)=>{"use strict";OW.exports=function(t){t._responsiveChartHandler&&(window.removeEventListener("resize",t._responsiveChartHandler),delete t._responsiveChartHandler)}});var UW=J((zDt,NT)=>{"use strict";NT.exports=FE;NT.exports.isMobile=FE;NT.exports.default=FE;var vYe=/(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,dYe=/CrOS/,pYe=/android|ipad|playbook|silk/i;function FE(e){e||(e={});let t=e.ua;if(!t&&typeof navigator<"u"&&(t=navigator.userAgent),t&&t.headers&&typeof t.headers["user-agent"]=="string"&&(t=t.headers["user-agent"]),typeof t!="string")return!1;let r=vYe.test(t)&&!dYe.test(t)||!!e.tablet&&pYe.test(t);return!r&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&t.indexOf("Macintosh")!==-1&&t.indexOf("Safari")!==-1&&(r=!0),r}});var jW=J((NDt,HW)=>{"use strict";var gYe=dn(),mYe=UW();HW.exports=function(t){var r;if(t&&t.hasOwnProperty("userAgent")?r=t.userAgent:r=yYe(),typeof r!="string")return!0;var n=mYe({ua:{headers:{"user-agent":r}},tablet:!0,featureDetect:!1});if(!n)for(var i=r.split(" "),a=1;a<i.length;a++){var o=i[a];if(o.indexOf("Safari")!==-1)for(var s=a-1;s>-1;s--){var l=i[s];if(l.substr(0,8)==="Version/"){var u=l.substr(8).split(".")[0];if(gYe(u)&&(u=+u),u>=13)return!0}}}return n};function yYe(){var e;return typeof navigator<"u"&&(e=navigator.userAgent),e&&e.headers&&typeof e.headers["user-agent"]=="string"&&(e=e.headers["user-agent"]),e}});var YW=J((ODt,VW)=>{"use strict";var xYe=Nr();VW.exports=function(t,r,n){var i=t.selectAll("g."+n.replace(/\s/g,".")).data(r,function(o){return o[0].trace.uid});i.exit().remove(),i.enter().append("g").attr("class",n),i.order();var a=t.classed("rangeplot")?"nodeRangePlot3":"node3";return i.each(function(o){o[0][a]=xYe.select(this)}),i}});var WW=J((BDt,GW)=>{"use strict";var bYe=zr();GW.exports=function(t,r){for(var n=t._context.locale,i=0;i<2;i++){for(var a=t._context.locales,o=0;o<2;o++){var s=(a[n]||{}).dictionary;if(s){var l=s[r];if(l)return l}a=bYe.localeRegistry}var u=n.split("-")[0];if(u===n)break;n=u}return r}});var zE=J((UDt,XW)=>{"use strict";XW.exports=function(t){for(var r={},n=[],i=0,a=0;a<t.length;a++){var o=t[a];r[o]!==1&&(r[o]=1,n[i++]=o)}return n}});var JW=J((HDt,ZW)=>{"use strict";ZW.exports=function(t){for(var r=TYe(t)?_Ye:wYe,n=[],i=0;i<t.length;i++){var a=t[i];r(a)&&n.push(a)}return n};function wYe(e){return e.visible===!0}function _Ye(e){var t=e[0].trace;return t.visible===!0&&t._length!==0}function TYe(e){return Array.isArray(e)&&Array.isArray(e[0])&&e[0][0]&&e[0][0].trace}});var KW=J((jDt,$W)=>{"use strict";$W.exports=function(t,r){if(!r)return t;var n=1/Math.abs(r),i=n>1?(n*t+n*r)/n:t+r,a=String(i).length;if(a>16){var o=String(r).length,s=String(t).length;if(a>=s+o){var l=parseFloat(i).toPrecision(12);l.indexOf("e+")===-1&&(i=+l)}}return i}});var eX=J((VDt,QW)=>{"use strict";var AYe=dn(),MYe=oi().BADNUM,kYe=/^['"%,$#\s']+|[, ]|['"%,$#\s']+$/g;QW.exports=function(t){return typeof t=="string"&&(t=t.replace(kYe,"")),AYe(t)?Number(t):MYe}});var gt=J((YDt,vX)=>{"use strict";var Xb=Nr(),SYe=m1().utcFormat,CYe=lE().format,oX=dn(),sX=oi(),lX=sX.FP_SAFE,EYe=-lX,tX=sX.BADNUM,Pt=vX.exports={};Pt.adjustFormat=function(t){return!t||/^\d[.]\df/.test(t)||/[.]\d%/.test(t)?t:t==="0.f"?"~f":/^\d%/.test(t)?"~%":/^\ds/.test(t)?"~s":!/^[~,.0$]/.test(t)&&/[&fps]/.test(t)?"~"+t:t};var rX={};Pt.warnBadFormat=function(e){var t=String(e);rX[t]||(rX[t]=1,Pt.warn('encountered bad format: "'+t+'"'))};Pt.noFormat=function(e){return String(e)};Pt.numberFormat=function(e){var t;try{t=CYe(Pt.adjustFormat(e))}catch{return Pt.warnBadFormat(e),Pt.noFormat}return t};Pt.nestedProperty=Rb();Pt.keyedContainer=YV();Pt.relativeAttr=WV();Pt.isPlainObject=Bv();Pt.toLogRange=vT();Pt.relinkPrivateKeys=$V();var i0=fl();Pt.isArrayBuffer=i0.isArrayBuffer;Pt.isTypedArray=i0.isTypedArray;Pt.isArrayOrTypedArray=i0.isArrayOrTypedArray;Pt.isArray1D=i0.isArray1D;Pt.ensureArray=i0.ensureArray;Pt.concat=i0.concat;Pt.maxRowLength=i0.maxRowLength;Pt.minRowLength=i0.minRowLength;var uX=x1();Pt.mod=uX.mod;Pt.modHalf=uX.modHalf;var a0=mY();Pt.valObjectMeta=a0.valObjectMeta;Pt.coerce=a0.coerce;Pt.coerce2=a0.coerce2;Pt.coerceFont=a0.coerceFont;Pt.coercePattern=a0.coercePattern;Pt.coerceHoverinfo=a0.coerceHoverinfo;Pt.coerceSelectionMarkerOpacity=a0.coerceSelectionMarkerOpacity;Pt.validate=a0.validate;var Af=MW();Pt.dateTime2ms=Af.dateTime2ms;Pt.isDateTime=Af.isDateTime;Pt.ms2DateTime=Af.ms2DateTime;Pt.ms2DateTimeLocal=Af.ms2DateTimeLocal;Pt.cleanDate=Af.cleanDate;Pt.isJSDate=Af.isJSDate;Pt.formatDate=Af.formatDate;Pt.incrementMonth=Af.incrementMonth;Pt.dateTick0=Af.dateTick0;Pt.dfltRange=Af.dfltRange;Pt.findExactDates=Af.findExactDates;Pt.MIN_MS=Af.MIN_MS;Pt.MAX_MS=Af.MAX_MS;var Bp=IT();Pt.findBin=Bp.findBin;Pt.sorterAsc=Bp.sorterAsc;Pt.sorterDes=Bp.sorterDes;Pt.distinctVals=Bp.distinctVals;Pt.roundUp=Bp.roundUp;Pt.sort=Bp.sort;Pt.findIndexOfMin=Bp.findIndexOfMin;Pt.sortObjectKeys=Vb();var Gv=CW();Pt.aggNums=Gv.aggNums;Pt.len=Gv.len;Pt.mean=Gv.mean;Pt.geometricMean=Gv.geometricMean;Pt.median=Gv.median;Pt.midRange=Gv.midRange;Pt.variance=Gv.variance;Pt.stdev=Gv.stdev;Pt.interp=Gv.interp;var Qc=wT();Pt.init2dArray=Qc.init2dArray;Pt.transposeRagged=Qc.transposeRagged;Pt.dot=Qc.dot;Pt.translationMatrix=Qc.translationMatrix;Pt.rotationMatrix=Qc.rotationMatrix;Pt.rotationXYMatrix=Qc.rotationXYMatrix;Pt.apply3DTransform=Qc.apply3DTransform;Pt.apply2DTransform=Qc.apply2DTransform;Pt.apply2DTransform2=Qc.apply2DTransform2;Pt.convertCssMatrix=Qc.convertCssMatrix;Pt.inverseTransformMatrix=Qc.inverseTransformMatrix;var Vh=PW();Pt.deg2rad=Vh.deg2rad;Pt.rad2deg=Vh.rad2deg;Pt.angleDelta=Vh.angleDelta;Pt.angleDist=Vh.angleDist;Pt.isFullCircle=Vh.isFullCircle;Pt.isAngleInsideSector=Vh.isAngleInsideSector;Pt.isPtInsideSector=Vh.isPtInsideSector;Pt.pathArc=Vh.pathArc;Pt.pathSector=Vh.pathSector;Pt.pathAnnulus=Vh.pathAnnulus;var L1=IW();Pt.isLeftAnchor=L1.isLeftAnchor;Pt.isCenterAnchor=L1.isCenterAnchor;Pt.isRightAnchor=L1.isRightAnchor;Pt.isTopAnchor=L1.isTopAnchor;Pt.isMiddleAnchor=L1.isMiddleAnchor;Pt.isBottomAnchor=L1.isBottomAnchor;var D1=zW();Pt.segmentsIntersect=D1.segmentsIntersect;Pt.segmentDistance=D1.segmentDistance;Pt.getTextLocation=D1.getTextLocation;Pt.clearLocationCache=D1.clearLocationCache;Pt.getVisibleSegment=D1.getVisibleSegment;Pt.findPointOnPath=D1.findPointOnPath;var UT=cn();Pt.extendFlat=UT.extendFlat;Pt.extendDeep=UT.extendDeep;Pt.extendDeepAll=UT.extendDeepAll;Pt.extendDeepNoArrays=UT.extendDeepNoArrays;var NE=Kd();Pt.log=NE.log;Pt.warn=NE.warn;Pt.error=NE.error;var LYe=_1();Pt.counterRegex=LYe.counter;var OE=zT();Pt.throttle=OE.throttle;Pt.throttleDone=OE.done;Pt.clearThrottle=OE.clear;var Yh=Ob();Pt.getGraphDiv=Yh.getGraphDiv;Pt.isPlotDiv=Yh.isPlotDiv;Pt.removeElement=Yh.removeElement;Pt.addStyleRule=Yh.addStyleRule;Pt.addRelatedStyleRule=Yh.addRelatedStyleRule;Pt.deleteRelatedStyleRule=Yh.deleteRelatedStyleRule;Pt.getFullTransformMatrix=Yh.getFullTransformMatrix;Pt.getElementTransformMatrix=Yh.getElementTransformMatrix;Pt.getElementAndAncestors=Yh.getElementAndAncestors;Pt.equalDomRects=Yh.equalDomRects;Pt.clearResponsive=BW();Pt.preserveDrawingBuffer=jW();Pt.makeTraceGroups=YW();Pt._=WW();Pt.notifier=xE();Pt.filterUnique=zE();Pt.filterVisible=JW();Pt.pushUnique=_E();Pt.increment=KW();Pt.cleanNumber=eX();Pt.ensureNumber=function(t){return oX(t)?(t=Number(t),t>lX||t<EYe?tX:t):tX};Pt.isIndex=function(e,t){return t!==void 0&&e>=t?!1:oX(e)&&e>=0&&e%1===0};Pt.noop=bT();Pt.identity=jb();Pt.repeat=function(e,t){for(var r=new Array(t),n=0;n<t;n++)r[n]=e;return r};Pt.swapAttrs=function(e,t,r,n){r||(r="x"),n||(n="y");for(var i=0;i<t.length;i++){var a=t[i],o=Pt.nestedProperty(e,a.replace("?",r)),s=Pt.nestedProperty(e,a.replace("?",n)),l=o.get();o.set(s.get()),s.set(l)}};Pt.raiseToTop=function(t){t.parentNode.appendChild(t)};Pt.cancelTransition=function(e){return e.transition().duration(0)};Pt.constrain=function(e,t,r){return t>r?Math.max(r,Math.min(t,e)):Math.max(t,Math.min(r,e))};Pt.bBoxIntersect=function(e,t,r){return r=r||0,e.left<=t.right+r&&t.left<=e.right+r&&e.top<=t.bottom+r&&t.top<=e.bottom+r};Pt.simpleMap=function(e,t,r,n,i){for(var a=e.length,o=new Array(a),s=0;s<a;s++)o[s]=t(e[s],r,n,i);return o};Pt.randstr=function e(t,r,n,i){if(n||(n=16),r===void 0&&(r=24),r<=0)return"0";var a=Math.log(Math.pow(2,r))/Math.log(n),o="",s,l,u;for(s=2;a===1/0;s*=2)a=Math.log(Math.pow(2,r/s))/Math.log(n)*s;var f=a-Math.floor(a);for(s=0;s<Math.floor(a);s++)u=Math.floor(Math.random()*n).toString(n),o=u+o;f&&(l=Math.pow(n,f),u=Math.floor(Math.random()*l).toString(n),o=u+o);var c=parseInt(o,n);return t&&t[o]||c!==1/0&&c>=Math.pow(2,r)?i>10?(Pt.warn("randstr failed uniqueness"),o):e(t,r,n,(i||0)+1):o};Pt.OptionControl=function(e,t){e||(e={}),t||(t="opt");var r={};return r.optionList=[],r._newoption=function(n){n[t]=e,r[n.name]=n,r.optionList.push(n)},r["_"+t]=e,r};Pt.smooth=function(e,t){if(t=Math.round(t)||0,t<2)return e;var r=e.length,n=2*r,i=2*t-1,a=new Array(i),o=new Array(r),s,l,u,f;for(s=0;s<i;s++)a[s]=(1-Math.cos(Math.PI*(s+1)/t))/(2*t);for(s=0;s<r;s++){for(f=0,l=0;l<i;l++)u=s+l+1-t,u<-r?u-=n*Math.round(u/n):u>=n&&(u-=n*Math.floor(u/n)),u<0?u=-1-u:u>=r&&(u=n-1-u),f+=e[u]*a[l];o[s]=f}return o};Pt.syncOrAsync=function(e,t,r){var n,i;function a(){return Pt.syncOrAsync(e,t,r)}for(;e.length;)if(i=e.splice(0,1)[0],n=i(t),n&&n.then)return n.then(a);return r&&r(t)};Pt.stripTrailingSlash=function(e){return e.substr(-1)==="/"?e.substr(0,e.length-1):e};Pt.noneOrAll=function(e,t,r){if(e){var n=!1,i=!0,a,o;for(a=0;a<r.length;a++)o=e[r[a]],o!=null?n=!0:i=!1;if(n&&!i)for(a=0;a<r.length;a++)e[r[a]]=t[r[a]]}};Pt.mergeArray=function(e,t,r,n){var i=typeof n=="function";if(Pt.isArrayOrTypedArray(e))for(var a=Math.min(e.length,t.length),o=0;o<a;o++){var s=e[o];t[o][r]=i?n(s):s}};Pt.mergeArrayCastPositive=function(e,t,r){return Pt.mergeArray(e,t,r,function(n){var i=+n;return isFinite(i)&&i>0?i:0})};Pt.fillArray=function(e,t,r,n){if(n=n||Pt.identity,Pt.isArrayOrTypedArray(e))for(var i=0;i<t.length;i++)t[i][r]=n(e[i])};Pt.castOption=function(e,t,r,n){n=n||Pt.identity;var i=Pt.nestedProperty(e,r).get();return Pt.isArrayOrTypedArray(i)?Array.isArray(t)&&Pt.isArrayOrTypedArray(i[t[0]])?n(i[t[0]][t[1]]):n(i[t]):i};Pt.extractOption=function(e,t,r,n){if(r in e)return e[r];var i=Pt.nestedProperty(t,n).get();if(!Array.isArray(i))return i};function fX(e){var t={};for(var r in e)for(var n=e[r],i=0;i<n.length;i++)t[n[i]]=+r;return t}Pt.tagSelected=function(e,t,r){var n=t.selectedpoints,i=t._indexToPoints,a;i&&(a=fX(i));function o(c){return c!==void 0&&c<e.length}for(var s=0;s<n.length;s++){var l=n[s];if(Pt.isIndex(l)||Pt.isArrayOrTypedArray(l)&&Pt.isIndex(l[0])&&Pt.isIndex(l[1])){var u=a?a[l]:l,f=r?r[u]:u;o(f)&&(e[f].selected=1)}}};Pt.selIndices2selPoints=function(e){var t=e.selectedpoints,r=e._indexToPoints;if(r){for(var n=fX(r),i=[],a=0;a<t.length;a++){var o=t[a];if(Pt.isIndex(o)){var s=n[o];Pt.isIndex(s)&&i.push(s)}}return i}else return t};Pt.getTargetArray=function(e,t){var r=t.target;if(typeof r=="string"&&r){var n=Pt.nestedProperty(e,r).get();return Pt.isArrayOrTypedArray(n)?n:!1}else if(Pt.isArrayOrTypedArray(r))return r;return!1};function cX(e,t,r){var n={};typeof t!="object"&&(t={});var i=r==="pieLike"?-1:3,a=Object.keys(e),o,s,l;for(o=0;o<a.length;o++)s=a[o],l=e[s],!(s.charAt(0)==="_"||typeof l=="function")&&(s==="module"?n[s]=l:Array.isArray(l)?s==="colorscale"||i===-1?n[s]=l.slice():n[s]=l.slice(0,i):Pt.isTypedArray(l)?i===-1?n[s]=l.subarray():n[s]=l.subarray(0,i):l&&typeof l=="object"?n[s]=cX(e[s],t[s],r):n[s]=l);for(a=Object.keys(t),o=0;o<a.length;o++)s=a[o],l=t[s],(typeof l!="object"||!(s in n)||typeof n[s]!="object")&&(n[s]=l);return n}Pt.minExtend=cX;Pt.titleCase=function(e){return e.charAt(0).toUpperCase()+e.substr(1)};Pt.containsAny=function(e,t){for(var r=0;r<t.length;r++)if(e.indexOf(t[r])!==-1)return!0;return!1};Pt.isIE=function(){return typeof window.navigator.msSaveBlob<"u"};var DYe=/Version\/[\d\.]+.*Safari/;Pt.isSafari=function(){return DYe.test(window.navigator.userAgent)};var RYe=/iPad|iPhone|iPod/;Pt.isIOS=function(){return RYe.test(window.navigator.userAgent)};var PYe=/Firefox\/(\d+)\.\d+/;Pt.getFirefoxVersion=function(){var e=PYe.exec(window.navigator.userAgent);if(e&&e.length===2){var t=parseInt(e[1]);if(!isNaN(t))return t}return null};Pt.isD3Selection=function(e){return e instanceof Xb.selection};Pt.ensureSingle=function(e,t,r,n){var i=e.select(t+(r?"."+r:""));if(i.size())return i;var a=e.append(t);return r&&a.classed(r,!0),n&&a.call(n),a};Pt.ensureSingleById=function(e,t,r,n){var i=e.select(t+"#"+r);if(i.size())return i;var a=e.append(t).attr("id",r);return n&&a.call(n),a};Pt.objectFromPath=function(e,t){for(var r=e.split("."),n,i=n={},a=0;a<r.length;a++){var o=r[a],s=null,l=r[a].match(/(.*)\[([0-9]+)\]/);l?(o=l[1],s=l[2],n=n[o]=[],a===r.length-1?n[s]=t:n[s]={},n=n[s]):(a===r.length-1?n[o]=t:n[o]={},n=n[o])}return i};var IYe=/^([^\[\.]+)\.(.+)?/,qYe=/^([^\.]+)\[([0-9]+)\](\.)?(.+)?/;function OT(e){return e.slice(0,2)==="__"}Pt.expandObjectPaths=function(e){var t,r,n,i,a,o,s;if(typeof e=="object"&&!Array.isArray(e)){for(r in e)if(e.hasOwnProperty(r))if(t=r.match(IYe)){if(i=e[r],n=t[1],OT(n))continue;delete e[r],e[n]=Pt.extendDeepNoArrays(e[n]||{},Pt.objectFromPath(r,Pt.expandObjectPaths(i))[n])}else if(t=r.match(qYe)){if(i=e[r],n=t[1],OT(n))continue;if(a=parseInt(t[2]),delete e[r],e[n]=e[n]||[],t[3]===".")s=t[4],o=e[n][a]=e[n][a]||{},Pt.extendDeepNoArrays(o,Pt.objectFromPath(s,Pt.expandObjectPaths(i)));else{if(OT(n))continue;e[n][a]=Pt.expandObjectPaths(i)}}else{if(OT(r))continue;e[r]=Pt.expandObjectPaths(e[r])}}return e};Pt.numSeparate=function(e,t,r){if(r||(r=!1),typeof t!="string"||t.length===0)throw new Error("Separator string required for formatting!");typeof e=="number"&&(e=String(e));var n=/(\d+)(\d{3})/,i=t.charAt(0),a=t.charAt(1),o=e.split("."),s=o[0],l=o.length>1?i+o[1]:"";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,"$1"+a+"$2");return s+l};Pt.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var hX=/^\w*$/;Pt.templateString=function(e,t){var r={};return e.replace(Pt.TEMPLATE_STRING_REGEX,function(n,i){var a;return hX.test(i)?a=t[i]:(r[i]=r[i]||Pt.nestedProperty(t,i).get,a=r[i]()),Pt.isValidTextValue(a)?a:""})};var FYe={max:10,count:0,name:"hovertemplate"};Pt.hovertemplateString=function(){return BE.apply(FYe,arguments)};var zYe={max:10,count:0,name:"texttemplate"};Pt.texttemplateString=function(){return BE.apply(zYe,arguments)};var NYe=/^(\S+)([\*\/])(-?\d+(\.\d+)?)$/;function OYe(e){var t=e.match(NYe);return t?{key:t[1],op:t[2],number:Number(t[3])}:{key:e,op:null,number:null}}var BYe={max:10,count:0,name:"texttemplate",parseMultDiv:!0};Pt.texttemplateStringForShapes=function(){return BE.apply(BYe,arguments)};var nX=/^[:|\|]/;function BE(e,t,r){var n=this,i=arguments;t||(t={});var a={};return e.replace(Pt.TEMPLATE_STRING_REGEX,function(o,s,l){var u=s==="xother"||s==="yother",f=s==="_xother"||s==="_yother",c=s==="_xother_"||s==="_yother_",h=s==="xother_"||s==="yother_",d=u||f||h||c,v=s;(f||c)&&(v=v.substring(1)),(h||c)&&(v=v.substring(0,v.length-1));var m=null,b=null;if(n.parseMultDiv){var g=OYe(v);v=g.key,m=g.op,b=g.number}var _;if(d){if(_=t[v],_===void 0)return""}else{var T,w;for(w=3;w<i.length;w++)if(T=i[w],!!T){if(T.hasOwnProperty(v)){_=T[v];break}if(hX.test(v)||(_=Pt.nestedProperty(T,v).get(),_=a[v]||Pt.nestedProperty(T,v).get(),_&&(a[v]=_)),_!==void 0)break}}if(_!==void 0&&(m==="*"&&(_*=b),m==="/"&&(_/=b)),_===void 0&&n)return n.count<n.max&&(Pt.warn("Variable '"+v+"' in "+n.name+" could not be found!"),_=o),n.count===n.max&&Pt.warn("Too many "+n.name+" warnings - additional warnings will be suppressed"),n.count++,o;if(l){var k;if(l[0]===":"&&(k=r?r.numberFormat:Pt.numberFormat,_!==""&&(_=k(l.replace(nX,""))(_))),l[0]==="|"){k=r?r.timeFormat:SYe;var x=Pt.dateTime2ms(_);_=Pt.formatDate(x,l.replace(nX,""),!1,k)}}else{var M=v+"Label";t.hasOwnProperty(M)&&(_=t[M])}return d&&(_="("+_+")",(f||c)&&(_=" "+_),(h||c)&&(_=_+" ")),_})}var BT=48,iX=57;Pt.subplotSort=function(e,t){for(var r=Math.min(e.length,t.length)+1,n=0,i=0,a=0;a<r;a++){var o=e.charCodeAt(a)||0,s=t.charCodeAt(a)||0,l=o>=BT&&o<=iX,u=s>=BT&&s<=iX;if(l&&(n=10*n+o-BT),u&&(i=10*i+s-BT),!l||!u){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var E1=2e9;Pt.seedPseudoRandom=function(){E1=2e9};Pt.pseudoRandom=function(){var e=E1;return E1=(69069*E1+1)%4294967296,Math.abs(E1-e)<429496729?Pt.pseudoRandom():E1/4294967296};Pt.fillText=function(e,t,r){var n=Array.isArray(r)?function(o){r.push(o)}:function(o){r.text=o},i=Pt.extractOption(e,t,"htx","hovertext");if(Pt.isValidTextValue(i))return n(i);var a=Pt.extractOption(e,t,"tx","text");if(Pt.isValidTextValue(a))return n(a)};Pt.isValidTextValue=function(e){return e||e===0};Pt.formatPercent=function(e,t){t=t||0;for(var r=(Math.round(100*e*Math.pow(10,t))*Math.pow(.1,t)).toFixed(t)+"%",n=0;n<t;n++)r.indexOf(".")!==-1&&(r=r.replace("0%","%"),r=r.replace(".%","%"));return r};Pt.isHidden=function(e){var t=window.getComputedStyle(e).display;return!t||t==="none"};Pt.strTranslate=function(e,t){return e||t?"translate("+e+","+t+")":""};Pt.strRotate=function(e){return e?"rotate("+e+")":""};Pt.strScale=function(e){return e!==1?"scale("+e+")":""};Pt.getTextTransform=function(e){var t=e.noCenter,r=e.textX,n=e.textY,i=e.targetX,a=e.targetY,o=e.anchorX||0,s=e.anchorY||0,l=e.rotate,u=e.scale;return u?u>1&&(u=1):u=0,Pt.strTranslate(i-u*(r+o),a-u*(n+s))+Pt.strScale(u)+(l?"rotate("+l+(t?"":" "+r+" "+n)+")":"")};Pt.setTransormAndDisplay=function(e,t){e.attr("transform",Pt.getTextTransform(t)),e.style("display",t.scale?null:"none")};Pt.ensureUniformFontSize=function(e,t){var r=Pt.extendFlat({},t);return r.size=Math.max(t.size,e._fullLayout.uniformtext.minsize||0),r};Pt.join2=function(e,t,r){var n=e.length;return n>1?e.slice(0,-1).join(t)+r+e[n-1]:e.join(t)};Pt.bigFont=function(e){return Math.round(1.2*e)};var aX=Pt.getFirefoxVersion(),UYe=aX!==null&&aX<86;Pt.getPositionFromD3Event=function(){return UYe?[Xb.event.layerX,Xb.event.layerY]:[Xb.event.offsetX,Xb.event.offsetY]}});var gX=J(()=>{"use strict";var HYe=gt(),dX={"X,X div":'direction:ltr;font-family:"Open Sans",verdana,arial,sans-serif;margin:0;padding:0;',"X input,X button":'font-family:"Open Sans",verdana,arial,sans-serif;',"X input:focus,X button:focus":"outline:none;","X a":"text-decoration:none;","X a:hover":"text-decoration:none;","X .crisp":"shape-rendering:crispEdges;","X .user-select-none":"-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;","X svg":"overflow:hidden;","X svg a":"fill:#447adb;","X svg a:hover":"fill:#3c6dc5;","X .main-svg":"position:absolute;top:0;left:0;pointer-events:none;","X .main-svg .draglayer":"pointer-events:all;","X .cursor-default":"cursor:default;","X .cursor-pointer":"cursor:pointer;","X .cursor-crosshair":"cursor:crosshair;","X .cursor-move":"cursor:move;","X .cursor-col-resize":"cursor:col-resize;","X .cursor-row-resize":"cursor:row-resize;","X .cursor-ns-resize":"cursor:ns-resize;","X .cursor-ew-resize":"cursor:ew-resize;","X .cursor-sw-resize":"cursor:sw-resize;","X .cursor-s-resize":"cursor:s-resize;","X .cursor-se-resize":"cursor:se-resize;","X .cursor-w-resize":"cursor:w-resize;","X .cursor-e-resize":"cursor:e-resize;","X .cursor-nw-resize":"cursor:nw-resize;","X .cursor-n-resize":"cursor:n-resize;","X .cursor-ne-resize":"cursor:ne-resize;","X .cursor-grab":"cursor:-webkit-grab;cursor:grab;","X .modebar":"position:absolute;top:2px;right:2px;","X .ease-bg":"-webkit-transition:background-color .3s ease 0s;-moz-transition:background-color .3s ease 0s;-ms-transition:background-color .3s ease 0s;-o-transition:background-color .3s ease 0s;transition:background-color .3s ease 0s;","X .modebar--hover>:not(.watermark)":"opacity:0;-webkit-transition:opacity .3s ease 0s;-moz-transition:opacity .3s ease 0s;-ms-transition:opacity .3s ease 0s;-o-transition:opacity .3s ease 0s;transition:opacity .3s ease 0s;","X:hover .modebar--hover .modebar-group":"opacity:1;","X .modebar-group":"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;","X .modebar-btn":"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;","X .modebar-btn svg":"position:relative;top:2px;","X .modebar.vertical":"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;","X .modebar.vertical svg":"top:-1px;","X .modebar.vertical .modebar-group":"display:block;float:none;padding-left:0px;padding-bottom:8px;","X .modebar.vertical .modebar-group .modebar-btn":"display:block;text-align:center;","X [data-title]:before,X [data-title]:after":"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;","X [data-title]:hover:before,X [data-title]:hover:after":"display:block;opacity:1;","X [data-title]:before":'content:"";position:absolute;background:rgba(0,0,0,0);border:6px solid rgba(0,0,0,0);z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;',"X [data-title]:after":"content:attr(data-title);background:#69738a;color:#fff;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;","X .vertical [data-title]:before,X .vertical [data-title]:after":"top:0%;right:200%;","X .vertical [data-title]:before":"border:6px solid rgba(0,0,0,0);border-left-color:#69738a;margin-top:8px;margin-right:-30px;",Y:'font-family:"Open Sans",verdana,arial,sans-serif;position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;',"Y p":"margin:0;","Y .notifier-note":"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;","Y .notifier-close":"color:#fff;opacity:.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;","Y .notifier-close:hover":"color:#444;text-decoration:none;cursor:pointer;"};for(UE in dX)pX=UE.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier"),HYe.addStyleRule(pX,dX[UE]);var pX,UE});var HE=J((XDt,mX)=>{mX.exports=!0});var VE=J((ZDt,yX)=>{"use strict";var jYe=HE(),jE;typeof global.matchMedia=="function"?jE=!global.matchMedia("(hover: none)").matches:jE=jYe;yX.exports=jE});var VT=J((JDt,YE)=>{"use strict";var R1=typeof Reflect=="object"?Reflect:null,xX=R1&&typeof R1.apply=="function"?R1.apply:function(t,r,n){return Function.prototype.apply.call(t,r,n)},HT;R1&&typeof R1.ownKeys=="function"?HT=R1.ownKeys:Object.getOwnPropertySymbols?HT=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:HT=function(t){return Object.getOwnPropertyNames(t)};function VYe(e){console&&console.warn&&console.warn(e)}var wX=Number.isNaN||function(t){return t!==t};function ba(){ba.init.call(this)}YE.exports=ba;YE.exports.once=XYe;ba.EventEmitter=ba;ba.prototype._events=void 0;ba.prototype._eventsCount=0;ba.prototype._maxListeners=void 0;var bX=10;function jT(e){if(typeof e!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}Object.defineProperty(ba,"defaultMaxListeners",{enumerable:!0,get:function(){return bX},set:function(e){if(typeof e!="number"||e<0||wX(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");bX=e}});ba.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};ba.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||wX(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this};function _X(e){return e._maxListeners===void 0?ba.defaultMaxListeners:e._maxListeners}ba.prototype.getMaxListeners=function(){return _X(this)};ba.prototype.emit=function(t){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=t==="error",a=this._events;if(a!==void 0)i=i&&a.error===void 0;else if(!i)return!1;if(i){var o;if(r.length>0&&(o=r[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var l=a[t];if(l===void 0)return!1;if(typeof l=="function")xX(l,this,r);else for(var u=l.length,f=SX(l,u),n=0;n<u;++n)xX(f[n],this,r);return!0};function TX(e,t,r,n){var i,a,o;if(jT(r),a=e._events,a===void 0?(a=e._events=Object.create(null),e._eventsCount=0):(a.newListener!==void 0&&(e.emit("newListener",t,r.listener?r.listener:r),a=e._events),o=a[t]),o===void 0)o=a[t]=r,++e._eventsCount;else if(typeof o=="function"?o=a[t]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),i=_X(e),i>0&&o.length>i&&!o.warned){o.warned=!0;var s=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");s.name="MaxListenersExceededWarning",s.emitter=e,s.type=t,s.count=o.length,VYe(s)}return e}ba.prototype.addListener=function(t,r){return TX(this,t,r,!1)};ba.prototype.on=ba.prototype.addListener;ba.prototype.prependListener=function(t,r){return TX(this,t,r,!0)};function YYe(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function AX(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=YYe.bind(n);return i.listener=r,n.wrapFn=i,i}ba.prototype.once=function(t,r){return jT(r),this.on(t,AX(this,t,r)),this};ba.prototype.prependOnceListener=function(t,r){return jT(r),this.prependListener(t,AX(this,t,r)),this};ba.prototype.removeListener=function(t,r){var n,i,a,o,s;if(jT(r),i=this._events,i===void 0)return this;if(n=i[t],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit("removeListener",t,n.listener||r));else if(typeof n!="function"){for(a=-1,o=n.length-1;o>=0;o--)if(n[o]===r||n[o].listener===r){s=n[o].listener,a=o;break}if(a<0)return this;a===0?n.shift():GYe(n,a),n.length===1&&(i[t]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",t,s||r)}return this};ba.prototype.off=ba.prototype.removeListener;ba.prototype.removeAllListeners=function(t){var r,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[t]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[t]),this;if(arguments.length===0){var a=Object.keys(n),o;for(i=0;i<a.length;++i)o=a[i],o!=="removeListener"&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(r=n[t],typeof r=="function")this.removeListener(t,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(t,r[i]);return this};function MX(e,t,r){var n=e._events;if(n===void 0)return[];var i=n[t];return i===void 0?[]:typeof i=="function"?r?[i.listener||i]:[i]:r?WYe(i):SX(i,i.length)}ba.prototype.listeners=function(t){return MX(this,t,!0)};ba.prototype.rawListeners=function(t){return MX(this,t,!1)};ba.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):kX.call(e,t)};ba.prototype.listenerCount=kX;function kX(e){var t=this._events;if(t!==void 0){var r=t[e];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}ba.prototype.eventNames=function(){return this._eventsCount>0?HT(this._events):[]};function SX(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e[n];return r}function GYe(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function WYe(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}function XYe(e,t){return new Promise(function(r,n){function i(o){e.removeListener(t,a),n(o)}function a(){typeof e.removeListener=="function"&&e.removeListener("error",i),r([].slice.call(arguments))}CX(e,t,a,{once:!0}),t!=="error"&&ZYe(e,i,{once:!0})})}function ZYe(e,t,r){typeof e.on=="function"&&CX(e,"error",t,r)}function CX(e,t,r,n){if(typeof e.on=="function")n.once?e.once(t,r):e.on(t,r);else if(typeof e.addEventListener=="function")e.addEventListener(t,function i(a){n.once&&e.removeEventListener(t,i),r(a)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e)}});var P1=J(($Dt,EX)=>{"use strict";var GE=VT().EventEmitter,JYe={init:function(e){if(e._ev instanceof GE)return e;var t=new GE,r=new GE;return e._ev=t,e._internalEv=r,e.on=t.on.bind(t),e.once=t.once.bind(t),e.removeListener=t.removeListener.bind(t),e.removeAllListeners=t.removeAllListeners.bind(t),e._internalOn=r.on.bind(r),e._internalOnce=r.once.bind(r),e._removeInternalListener=r.removeListener.bind(r),e._removeAllInternalListeners=r.removeAllListeners.bind(r),e.emit=function(n,i){typeof jQuery<"u"&&jQuery(e).trigger(n,i),t.emit(n,i),r.emit(n,i)},e},triggerHandler:function(e,t,r){var n,i;typeof jQuery<"u"&&(n=jQuery(e).triggerHandler(t,r));var a=e._ev;if(!a)return n;var o=a._events[t];if(!o)return n;function s(u){if(u.listener){if(a.removeListener(t,u.listener),!u.fired)return u.fired=!0,u.listener.apply(a,[r])}else return u.apply(a,[r])}o=Array.isArray(o)?o:[o];var l;for(l=0;l<o.length-1;l++)s(o[l]);return i=s(o[l]),n!==void 0?n:i},purge:function(e){return delete e._ev,delete e.on,delete e.once,delete e.removeListener,delete e.removeAllListeners,delete e.emit,delete e._ev,delete e._internalEv,delete e._internalOn,delete e._internalOnce,delete e._removeInternalListener,delete e._removeAllInternalListeners,e}};EX.exports=JYe});var RX=J((KDt,DX)=>{"use strict";var LX=gt(),$Ye=qp().dfltConfig;function KYe(e,t){for(var r=[],n,i=0;i<t.length;i++)n=t[i],n===e?r[i]=n:typeof n=="object"?r[i]=Array.isArray(n)?LX.extendDeep([],n):LX.extendDeepAll({},n):r[i]=n;return r}var Wv={};Wv.add=function(e,t,r,n,i){var a,o;if(e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},o=e.undoQueue.index,e.autoplay){e.undoQueue.inSequence||(e.autoplay=!1);return}!e.undoQueue.sequence||e.undoQueue.beginSequence?(a={undo:{calls:[],args:[]},redo:{calls:[],args:[]}},e.undoQueue.queue.splice(o,e.undoQueue.queue.length-o,a),e.undoQueue.index+=1):a=e.undoQueue.queue[o-1],e.undoQueue.beginSequence=!1,a&&(a.undo.calls.unshift(t),a.undo.args.unshift(r),a.redo.calls.push(n),a.redo.args.push(i)),e.undoQueue.queue.length>$Ye.queueLength&&(e.undoQueue.queue.shift(),e.undoQueue.index--)};Wv.startSequence=function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!0,e.undoQueue.beginSequence=!0};Wv.stopSequence=function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!1,e.undoQueue.beginSequence=!1};Wv.undo=function(t){var r,n;if(!(t.undoQueue===void 0||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,r=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,n=0;n<r.undo.calls.length;n++)Wv.plotDo(t,r.undo.calls[n],r.undo.args[n]);t.undoQueue.inSequence=!1,t.autoplay=!1}};Wv.redo=function(t){var r,n;if(!(t.undoQueue===void 0||isNaN(t.undoQueue.index)||t.undoQueue.index>=t.undoQueue.queue.length)){for(r=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,n=0;n<r.redo.calls.length;n++)Wv.plotDo(t,r.redo.calls[n],r.redo.args[n]);t.undoQueue.inSequence=!1,t.autoplay=!1,t.undoQueue.index++}};Wv.plotDo=function(e,t,r){e.autoplay=!0,r=KYe(e,r),t.apply(null,r)};DX.exports=Wv});var WE=J((QDt,PX)=>{"use strict";PX.exports={_isLinkedToArray:"frames_entry",group:{valType:"string",description:["An identifier that specifies the group to which the frame belongs,","used by animate to select a subset of frames."].join(" ")},name:{valType:"string",description:"A label by which to identify the frame"},traces:{valType:"any",description:["A list of trace indices that identify the respective traces in the","data attribute"].join(" ")},baseframe:{valType:"string",description:["The name of the frame into which this frame's properties are merged","before applying. This is used to unify properties and avoid needing","to specify the same values for the same properties in multiple frames."].join(" ")},data:{valType:"any",description:["A list of traces this frame modifies. The format is identical to the","normal trace definition."].join(" ")},layout:{valType:"any",description:["Layout properties which this frame modifies. The format is identical","to the normal layout definition."].join(" ")}}});var o0=J(Co=>{"use strict";var cl=zr(),$b=gt(),Jb=Qi(),XE=zp(),QYe=WE(),eGe=Bb(),tGe=qp().configAttributes,IX=La(),$f=$b.extendDeepAll,I1=$b.isPlainObject,rGe=$b.isArrayOrTypedArray,YT=$b.nestedProperty,nGe=$b.valObjectMeta,ZE="_isSubplotObj",GT="_isLinkedToArray",iGe="_arrayAttrRegexps",FX="_deprecated",JE=[ZE,GT,iGe,FX];Co.IS_SUBPLOT_OBJ=ZE;Co.IS_LINKED_TO_ARRAY=GT;Co.DEPRECATED=FX;Co.UNDERSCORE_ATTRS=JE;Co.get=function(){var e={};cl.allTypes.forEach(function(r){e[r]=oGe(r)});var t={};return Object.keys(cl.transformsRegistry).forEach(function(r){t[r]=lGe(r)}),{defs:{valObjects:nGe,metaKeys:JE.concat(["description","role","editType","impliedEdits"]),editType:{traces:IX.traces,layout:IX.layout},impliedEdits:{description:["Sometimes when an attribute is changed, other attributes","must be altered as well in order to achieve the intended","result. For example, when `range` is specified, it is","important to set `autorange` to `false` or the new `range`","value would be lost in the redraw. `impliedEdits` is the","mechanism to do this: `impliedEdits: {autorange: false}`.","Each key is a relative paths to the attribute string to","change, using *^* to ascend into the parent container,","for example `range[0]` has `impliedEdits: {*^autorange*: false}`.","A value of `undefined` means that the attribute will not be","changed, but its previous value should be recorded in case","we want to reverse this change later. For example, `autorange`","has `impliedEdits: {*range[0]*: undefined, *range[1]*:undefined}","because the range will likely be changed by redraw."].join(" ")}},traces:e,layout:sGe(),transforms:t,frames:uGe(),animation:Up(eGe),config:Up(tGe)}};Co.crawl=function(e,t,r,n){var i=r||0;n=n||"",Object.keys(e).forEach(function(a){var o=e[a];if(JE.indexOf(a)===-1){var s=(n?n+".":"")+a;t(o,a,e,i,s),!Co.isValObject(o)&&I1(o)&&a!=="impliedEdits"&&Co.crawl(o,t,i+1,s)}})};Co.isValObject=function(e){return e&&e.valType!==void 0};Co.findArrayAttributes=function(e){var t=[],r=[],n=[],i,a;function o(h,d,v,m){r=r.slice(0,m).concat([d]),n=n.slice(0,m).concat([h&&h._isLinkedToArray]);var b=h&&(h.valType==="data_array"||h.arrayOk===!0)&&!(r[m-1]==="colorbar"&&(d==="ticktext"||d==="tickvals"));b&&s(i,0,"")}function s(h,d,v){var m=h[r[d]],b=v+r[d];if(d===r.length-1)rGe(m)&&t.push(a+b);else if(n[d]){if(Array.isArray(m))for(var g=0;g<m.length;g++)I1(m[g])&&s(m[g],d+1,b+"["+g+"].")}else I1(m)&&s(m,d+1,b+".")}i=e,a="",Co.crawl(Jb,o),e._module&&e._module.attributes&&Co.crawl(e._module.attributes,o);var l=e.transforms;if(l)for(var u=0;u<l.length;u++){var f=l[u],c=f._module;c&&(a="transforms["+u+"].",i=f,Co.crawl(c.attributes,o))}return t};Co.getTraceValObject=function(e,t){var r=t[0],n=1,i,a;if(r==="transforms"){if(t.length===1)return Jb.transforms;var o=e.transforms;if(!Array.isArray(o)||!o.length)return!1;var s=t[1];if(!Zb(s)||s>=o.length)return!1;i=(cl.transformsRegistry[o[s].type]||{}).attributes,a=i&&i[t[2]],n=3}else{var l=e._module;if(l||(l=(cl.modules[e.type||Jb.type.dflt]||{})._module),!l)return!1;if(i=l.attributes,a=i&&i[r],!a){var u=l.basePlotModule;u&&u.attributes&&(a=u.attributes[r])}a||(a=Jb[r])}return zX(a,t,n)};Co.getLayoutValObject=function(e,t){var r=aGe(e,t[0]);return zX(r,t,1)};function aGe(e,t){var r,n,i,a,o=e._basePlotModules;if(o){var s;for(r=0;r<o.length;r++){if(i=o[r],i.attrRegex&&i.attrRegex.test(t)){if(i.layoutAttrOverrides)return i.layoutAttrOverrides;!s&&i.layoutAttributes&&(s=i.layoutAttributes)}var l=i.baseLayoutAttrOverrides;if(l&&t in l)return l[t]}if(s)return s}var u=e._modules;if(u){for(r=0;r<u.length;r++)if(a=u[r].layoutAttributes,a&&t in a)return a[t]}for(n in cl.componentsRegistry){if(i=cl.componentsRegistry[n],i.name==="colorscale"&&t.indexOf("coloraxis")===0)return i.layoutAttributes[t];if(!i.schema&&t===i.name)return i.layoutAttributes}return t in XE?XE[t]:!1}function zX(e,t,r){if(!e)return!1;if(e._isLinkedToArray){if(Zb(t[r]))r++;else if(r<t.length)return!1}for(;r<t.length;r++){var n=e[t[r]];if(I1(n))e=n;else break;if(r===t.length-1)break;if(e._isLinkedToArray){if(r++,!Zb(t[r]))return!1}else if(e.valType==="info_array"){r++;var i=t[r];if(!Zb(i))return!1;var a=e.items;if(Array.isArray(a)){if(i>=a.length)return!1;if(e.dimensions===2){if(r++,t.length===r)return e;var o=t[r];if(!Zb(o))return!1;e=a[i][o]}else e=a[i]}else e=a}}return e}function Zb(e){return e===Math.round(e)&&e>=0}function oGe(e){var t,r;t=cl.modules[e]._module,r=t.basePlotModule;var n={};n.type=null;var i=$f({},Jb),a=$f({},t.attributes);Co.crawl(a,function(l,u,f,c,h){YT(i,h).set(void 0),l===void 0&&YT(a,h).set(void 0)}),$f(n,i),cl.traceIs(e,"noOpacity")&&delete n.opacity,cl.traceIs(e,"showLegend")||(delete n.showlegend,delete n.legendgroup),cl.traceIs(e,"noHover")&&(delete n.hoverinfo,delete n.hoverlabel),t.selectPoints||delete n.selectedpoints,$f(n,a),r.attributes&&$f(n,r.attributes),n.type=e;var o={meta:t.meta||{},categories:t.categories||{},animatable:Boolean(t.animatable),type:e,attributes:Up(n)};if(t.layoutAttributes){var s={};$f(s,t.layoutAttributes),o.layoutAttributes=Up(s)}return t.animatable||Co.crawl(o,function(l){Co.isValObject(l)&&"anim"in l&&delete l.anim}),o}function sGe(){var e={},t,r;$f(e,XE);for(t in cl.subplotsRegistry)if(r=cl.subplotsRegistry[t],!!r.layoutAttributes)if(Array.isArray(r.attr))for(var n=0;n<r.attr.length;n++)qX(e,r,r.attr[n]);else{var i=r.attr==="subplot"?r.name:r.attr;qX(e,r,i)}for(t in cl.componentsRegistry){r=cl.componentsRegistry[t];var a=r.schema;if(a&&(a.subplots||a.layout)){var o=a.subplots;if(o&&o.xaxis&&!o.yaxis)for(var s in o.xaxis)delete e.yaxis[s];delete e.xaxis.shift,delete e.xaxis.autoshift}else r.name==="colorscale"?$f(e,r.layoutAttributes):r.layoutAttributes&&NX(e,r.layoutAttributes,r.name)}return{layoutAttributes:Up(e)}}function lGe(e){var t=cl.transformsRegistry[e],r=$f({},t.attributes);return Object.keys(cl.componentsRegistry).forEach(function(n){var i=cl.componentsRegistry[n];i.schema&&i.schema.transforms&&i.schema.transforms[e]&&Object.keys(i.schema.transforms[e]).forEach(function(a){NX(r,i.schema.transforms[e][a],a)})}),{attributes:Up(r)}}function uGe(){var e={frames:$f({},QYe)};return Up(e),e.frames}function Up(e){return fGe(e),cGe(e),hGe(e),e}function fGe(e){function t(n){return{valType:"string",description:"Sets the source reference on Chart Studio Cloud for `"+n+"`.",editType:"none"}}function r(n,i,a){Co.isValObject(n)?(n.arrayOk===!0||n.valType==="data_array")&&(a[i+"src"]=t(i)):I1(n)&&(n.role="object")}Co.crawl(e,r)}function cGe(e){function t(r,n,i){if(r){var a=r[GT];a&&(delete r[GT],i[n]={items:{}},i[n].items[a]=r,i[n].role="object")}}Co.crawl(e,t)}function hGe(e){function t(r){for(var n in r)if(I1(r[n]))t(r[n]);else if(Array.isArray(r[n]))for(var i=0;i<r[n].length;i++)t(r[n][i]);else r[n]instanceof RegExp&&(r[n]=r[n].toString())}t(e)}function qX(e,t,r){var n=YT(e,r),i=$f({},t.layoutAttributes);i[ZE]=!0,n.set(i)}function NX(e,t,r){var n=YT(e,r);n.set($f(n.get()||{},t))}});var ki=J(Hp=>{"use strict";var q1=gt(),vGe=Qi(),s0="templateitemname",$E={name:{valType:"string",editType:"none",description:["When used in a template, named items are created in the output figure","in addition to any items the figure already has in this array.","You can modify these items in the output figure by making your own","item with `templateitemname` matching this `name`","alongside your modifications (including `visible: false` or","`enabled: false` to hide it).","Has no effect outside of a template."].join(" ")}};$E[s0]={valType:"string",editType:"calc",description:["Used to refer to a named item in this array in the template. Named","items from the template will be created even without a matching item","in the input figure, but you can modify one by making an item with","`templateitemname` matching its `name`, alongside your modifications","(including `visible: false` or `enabled: false` to hide it).","If there is no template or no matching item, this item will be","hidden unless you explicitly show it with `visible: true`."].join(" ")};Hp.templatedArray=function(e,t){return t._isLinkedToArray=e,t.name=$E.name,t[s0]=$E[s0],t};Hp.traceTemplater=function(e){var t={},r,n;for(r in e)n=e[r],Array.isArray(n)&&n.length&&(t[r]=0);function i(a){r=q1.coerce(a,{},vGe,"type");var o={type:r,_template:null};if(r in t){n=e[r];var s=t[r]%n.length;t[r]++,o._template=n[s]}return o}return{newTrace:i}};Hp.newContainer=function(e,t,r){var n=e._template,i=n&&(n[t]||r&&n[r]);q1.isPlainObject(i)||(i=null);var a=e[t]={_template:i};return a};Hp.arrayTemplater=function(e,t,r){var n=e._template,i=n&&n[BX(t)],a=n&&n[t];(!Array.isArray(a)||!a.length)&&(a=[]);var o={};function s(u){var f={name:u.name,_input:u},c=f[s0]=u[s0];if(!OX(c))return f._template=i,f;for(var h=0;h<a.length;h++){var d=a[h];if(d.name===c)return o[c]=1,f._template=d,f}return f[r]=u[r]||!1,f._template=!1,f}function l(){for(var u=[],f=0;f<a.length;f++){var c=a[f],h=c.name;if(OX(h)&&!o[h]){var d={_template:c,name:h,_input:{_templateitemname:h}};d[s0]=c[s0],u.push(d),o[h]=1}}return u}return{newItem:s,defaultItems:l}};function OX(e){return e&&typeof e=="string"}function BX(e){var t=e.length-1;return e.charAt(t)!=="s"&&q1.warn("bad argument to arrayDefaultKey: "+e),e.substr(0,e.length-1)+"defaults"}Hp.arrayDefaultKey=BX;Hp.arrayEditor=function(e,t,r){var n=(q1.nestedProperty(e,t).get()||[]).length,i=r._index,a=i>=n&&(r._input||{})._templateitemname;a&&(i=n);var o=t+"["+i+"]",s;function l(){s={},a&&(s[o]={},s[o][s0]=a)}l();function u(d,v){s[d]=v}function f(d,v){a?q1.nestedProperty(s[o],d).set(v):s[o+"."+d]=v}function c(){var d=s;return l(),d}function h(d,v){d&&f(d,v);var m=c();for(var b in m)q1.nestedProperty(e,b).set(m[b])}return{modifyBase:u,modifyItem:f,getUpdateObj:c,applyUpdate:h}}});var Eo=J((r8t,UX)=>{"use strict";var Kb=_1().counter;UX.exports={idRegex:{x:Kb("x","( domain)?"),y:Kb("y","( domain)?")},attrRegex:Kb("[xy]axis"),xAxisMatch:Kb("xaxis"),yAxisMatch:Kb("yaxis"),AX_ID_PATTERN:/^[xyz][0-9]*( domain)?$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,SUBPLOT_PATTERN:/^x([0-9]*)y([0-9]*)$/,HOUR_PATTERN:"hour",WEEKDAY_PATTERN:"day of week",MINDRAG:8,MINZOOM:20,DRAGGERSIZE:20,REDRAWDELAY:50,DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],traceLayerClasses:["imagelayer","heatmaplayer","contourcarpetlayer","contourlayer","funnellayer","waterfalllayer","barlayer","carpetlayer","violinlayer","boxlayer","ohlclayer","scattercarpetlayer","scatterlayer"],clipOnAxisFalseQuery:[".scatterlayer",".barlayer",".funnellayer",".waterfalllayer"],layerValue2layerClass:{"above traces":"above","below traces":"below"},zindexSeparator:"z"}});var jo=J(zu=>{"use strict";var dGe=zr(),KE=Eo();zu.id2name=function(t){if(!(typeof t!="string"||!t.match(KE.AX_ID_PATTERN))){var r=t.split(" ")[0].substr(1);return r==="1"&&(r=""),t.charAt(0)+"axis"+r}};zu.name2id=function(t){if(t.match(KE.AX_NAME_PATTERN)){var r=t.substr(5);return r==="1"&&(r=""),t.charAt(0)+r}};zu.cleanId=function(t,r,n){var i=/( domain)$/.test(t);if(!(typeof t!="string"||!t.match(KE.AX_ID_PATTERN))&&!(r&&t.charAt(0)!==r)&&!(i&&!n)){var a=t.split(" ")[0].substr(1).replace(/^0+/,"");return a==="1"&&(a=""),t.charAt(0)+a+(i&&n?" domain":"")}};zu.list=function(e,t,r){var n=e._fullLayout;if(!n)return[];var i=zu.listIds(e,t),a=new Array(i.length),o;for(o=0;o<i.length;o++){var s=i[o];a[o]=n[s.charAt(0)+"axis"+s.substr(1)]}if(!r){var l=n._subplots.gl3d||[];for(o=0;o<l.length;o++){var u=n[l[o]];t?a.push(u[t+"axis"]):a.push(u.xaxis,u.yaxis,u.zaxis)}}return a};zu.listIds=function(e,t){var r=e._fullLayout;if(!r)return[];var n=r._subplots;return t?n[t+"axis"]:n.xaxis.concat(n.yaxis)};zu.getFromId=function(e,t,r){var n=e._fullLayout;return t=t===void 0||typeof t!="string"?t:t.replace(" domain",""),r==="x"?t=t.replace(/y[0-9]*/,""):r==="y"&&(t=t.replace(/x[0-9]*/,"")),n[zu.id2name(t)]};zu.getFromTrace=function(e,t,r){var n=e._fullLayout,i=null;if(dGe.traceIs(t,"gl3d")){var a=t.scene;a.substr(0,5)==="scene"&&(i=n[a][r+"axis"])}else i=zu.getFromId(e,t[r+"axis"]||r);return i};zu.idSort=function(e,t){var r=e.charAt(0),n=t.charAt(0);return r!==n?r>n?1:-1:+(e.substr(1)||1)-+(t.substr(1)||1)};zu.ref2id=function(e){return/^[xyz]/.test(e)?e.split(" ")[0]:!1};function HX(e,t){if(t&&t.length){for(var r=0;r<t.length;r++)if(t[r][e])return!0}return!1}zu.isLinked=function(e,t){return HX(t,e._axisMatchGroups)||HX(t,e._axisConstraintGroups)}});var l0=J((i8t,jX)=>{"use strict";function pGe(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(".outline-controllers").remove()}function gGe(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(".select-outline").remove(),e._fullLayout._outlining=!1}jX.exports={clearOutlineControllers:pGe,clearOutline:gGe}});var WT=J((a8t,VX)=>{"use strict";VX.exports={scattermode:{valType:"enumerated",values:["group","overlay"],dflt:"overlay",editType:"calc",description:["Determines how scatter points at the same location coordinate","are displayed on the graph.","With *group*, the scatter points are plotted next to one another","centered around the shared location.","With *overlay*, the scatter points are plotted over one another,","you might need to reduce *opacity* to see multiple scatter points."].join(" ")},scattergap:{valType:"number",min:0,max:1,editType:"calc",description:["Sets the gap (in plot fraction) between scatter points of","adjacent location coordinates.","Defaults to `bargap`."].join(" ")}}});var Nu=J(XT=>{"use strict";var Qb=zr(),mGe=Eo().SUBPLOT_PATTERN;XT.getSubplotCalcData=function(e,t,r){var n=Qb.subplotsRegistry[t];if(!n)return[];for(var i=n.attr,a=[],o=0;o<e.length;o++){var s=e[o],l=s[0].trace;l[i]===r&&a.push(s)}return a};XT.getModuleCalcData=function(e,t,r){var n=[],i=[],a;if(typeof t=="string"?a=Qb.getModule(t).plot:typeof t=="function"?a=t:a=t.plot,!a)return[n,e];for(var o=r,s=0;s<e.length;s++){var l=e[s],u=l[0].trace,f=u.zorder!==void 0;u.visible!==!0||u._length===0||(u._module&&u._module.plot===a&&(!f||u.zorder===o)?n.push(l):i.push(l))}return[n,i]};XT.getSubplotData=function(t,r,n){if(!Qb.subplotsRegistry[r])return[];var i=Qb.subplotsRegistry[r].attr,a=[],o,s,l;if(r==="gl2d"){var u=n.match(mGe);s="x"+u[1],l="y"+u[2]}for(var f=0;f<t.length;f++)o=t[f],r==="gl2d"&&Qb.traceIs(o,"gl2d")?o[i[0]]===s&&o[i[1]]===l&&a.push(o):o[i]===n&&a.push(o);return a}});var XX=J(jp=>{"use strict";var yGe=zr(),F1=gt();jp.manageCommandObserver=function(e,t,r,n){var i={},a=!0;t&&t._commandObserver&&(i=t._commandObserver),i.cache||(i.cache={}),i.lookupTable={};var o=jp.hasSimpleAPICommandBindings(e,r,i.lookupTable);if(t&&t._commandObserver){if(o)return i;if(t._commandObserver.remove)return t._commandObserver.remove(),t._commandObserver=null,i}if(o){YX(e,o,i.cache),i.check=function(){if(a){var f=YX(e,o,i.cache);return f.changed&&n&&i.lookupTable[f.value]!==void 0&&(i.disable(),Promise.resolve(n({value:f.value,type:o.type,prop:o.prop,traces:o.traces,index:i.lookupTable[f.value]})).then(i.enable,i.enable)),f.changed}};for(var s=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],l=0;l<s.length;l++)e._internalOn(s[l],i.check);i.remove=function(){for(var u=0;u<s.length;u++)e._removeInternalListener(s[u],i.check)}}else F1.log("Unable to automatically bind plot updates to API command"),i.lookupTable={},i.remove=function(){};return i.disable=function(){a=!1},i.enable=function(){a=!0},t&&(t._commandObserver=i),i};jp.hasSimpleAPICommandBindings=function(e,t,r){var n,i=t.length,a;for(n=0;n<i;n++){var o,s=t[n],l=s.method,u=s.args;if(Array.isArray(u)||(u=[]),!l)return!1;var f=jp.computeAPICommandBindings(e,l,u);if(f.length!==1)return!1;if(!a)a=f[0],Array.isArray(a.traces)&&a.traces.sort();else{if(o=f[0],o.type!==a.type||o.prop!==a.prop)return!1;if(Array.isArray(a.traces))if(Array.isArray(o.traces)){o.traces.sort();for(var c=0;c<a.traces.length;c++)if(a.traces[c]!==o.traces[c])return!1}else return!1;else if(o.prop!==a.prop)return!1}o=f[0];var h=o.value;if(Array.isArray(h))if(h.length===1)h=h[0];else return!1;r&&(r[h]=n)}return a};function YX(e,t,r){var n,i,a,o=!1;if(t.type==="data")n=e._fullData[t.traces!==null?t.traces[0]:0];else if(t.type==="layout")n=e._fullLayout;else return!1;return i=F1.nestedProperty(n,t.prop).get(),a=r[t.type]=r[t.type]||{},a.hasOwnProperty(t.prop)&&a[t.prop]!==i&&(o=!0),a[t.prop]=i,{changed:o,value:i}}jp.executeAPICommand=function(e,t,r){if(t==="skip")return Promise.resolve();var n=yGe.apiMethodRegistry[t],i=[e];Array.isArray(r)||(r=[]);for(var a=0;a<r.length;a++)i.push(r[a]);return n.apply(null,i).catch(function(o){return F1.warn("API call to Plotly."+t+" rejected.",o),Promise.reject(o)})};jp.computeAPICommandBindings=function(e,t,r){var n;switch(Array.isArray(r)||(r=[]),t){case"restyle":n=WX(e,r);break;case"relayout":n=GX(e,r);break;case"update":n=WX(e,[r[0],r[2]]).concat(GX(e,[r[1]]));break;case"animate":n=xGe(e,r);break;default:n=[]}return n};function xGe(e,t){return Array.isArray(t[0])&&t[0].length===1&&["string","number"].indexOf(typeof t[0][0])!==-1?[{type:"layout",prop:"_currentFrame",value:t[0][0].toString()}]:[]}function GX(e,t){var r=[],n=t[0],i={};if(typeof n=="string")i[n]=t[1];else if(F1.isPlainObject(n))i=n;else return r;return QE(i,function(a,o,s){r.push({type:"layout",prop:a,value:s})},"",0),r}function WX(e,t){var r,n,i,a,o=[];if(n=t[0],i=t[1],r=t[2],a={},typeof n=="string")a[n]=i;else if(F1.isPlainObject(n))a=n,r===void 0&&(r=i);else return o;return r===void 0&&(r=null),QE(a,function(s,l,u){var f,c;if(Array.isArray(u)){c=u.slice();var h=Math.min(c.length,e.data.length);r&&(h=Math.min(h,r.length)),f=[];for(var d=0;d<h;d++)f[d]=r?r[d]:d}else c=u,f=r?r.slice():null;if(f===null)Array.isArray(c)&&(c=c[0]);else if(Array.isArray(f)){if(!Array.isArray(c)){var v=c;c=[];for(var m=0;m<f.length;m++)c[m]=v}c.length=Math.min(f.length,c.length)}o.push({type:"data",prop:s,traces:f,value:c})},"",0),o}function QE(e,t,r,n){Object.keys(e).forEach(function(i){var a=e[i];if(i[0]!=="_"){var o=r+(n>0?".":"")+i;F1.isPlainObject(a)?QE(a,t,o,n+1):t(o,i,a)}})}});var ea=J((l8t,lZ)=>{"use strict";var eZ=Nr(),bGe=m1().timeFormatLocale,wGe=lE().formatLocale,e2=dn(),_Ge=uE(),wi=zr(),tZ=o0(),TGe=ki(),Fr=gt(),rZ=qr(),ZX=oi().BADNUM,Ou=jo(),AGe=l0().clearOutline,MGe=WT(),tL=Bb(),kGe=WE(),SGe=Nu().getModuleCalcData,eL=Fr.relinkPrivateKeys,Vp=Fr._,Tr=lZ.exports={};Fr.extendFlat(Tr,wi);Tr.attributes=Qi();Tr.attributes.type.values=Tr.allTypes;Tr.fontAttrs=xa();Tr.layoutAttributes=zp();var JT=Tr.transformsRegistry,$T=XX();Tr.executeAPICommand=$T.executeAPICommand;Tr.computeAPICommandBindings=$T.computeAPICommandBindings;Tr.manageCommandObserver=$T.manageCommandObserver;Tr.hasSimpleAPICommandBindings=$T.hasSimpleAPICommandBindings;Tr.redrawText=function(e){return e=Fr.getGraphDiv(e),new Promise(function(t){setTimeout(function(){e._fullLayout&&(wi.getComponentMethod("annotations","draw")(e),wi.getComponentMethod("legend","draw")(e),wi.getComponentMethod("colorbar","draw")(e),t(Tr.previousPromises(e)))},300)})};Tr.resize=function(e){e=Fr.getGraphDiv(e);var t,r=new Promise(function(n,i){(!e||Fr.isHidden(e))&&i(new Error("Resize must be passed a displayed plot div element.")),e._redrawTimer&&clearTimeout(e._redrawTimer),e._resolveResize&&(t=e._resolveResize),e._resolveResize=n,e._redrawTimer=setTimeout(function(){if(!e.layout||e.layout.width&&e.layout.height||Fr.isHidden(e)){n(e);return}delete e.layout.width,delete e.layout.height;var a=e.changed;e.autoplay=!0,wi.call("relayout",e,{autosize:!0}).then(function(){e.changed=a,e._resolveResize===n&&(delete e._resolveResize,n(e))})},100)});return t&&t(r),r};Tr.previousPromises=function(e){if((e._promises||[]).length)return Promise.all(e._promises).then(function(){e._promises=[]})};Tr.addLinks=function(e){if(!(!e._context.showLink&&!e._context.showSources)){var t=e._fullLayout,r=Fr.ensureSingle(t._paper,"text","js-plot-link-container",function(l){l.style({"font-family":'"Open Sans", Arial, sans-serif',"font-size":"12px",fill:rZ.defaultLine,"pointer-events":"all"}).each(function(){var u=eZ.select(this);u.append("tspan").classed("js-link-to-tool",!0),u.append("tspan").classed("js-link-spacer",!0),u.append("tspan").classed("js-sourcelinks",!0)})}),n=r.node(),i={y:t._paper.attr("height")-9};document.body.contains(n)&&n.getComputedTextLength()>=t.width-20?(i["text-anchor"]="start",i.x=5):(i["text-anchor"]="end",i.x=t._paper.attr("width")-7),r.attr(i);var a=r.select(".js-link-to-tool"),o=r.select(".js-link-spacer"),s=r.select(".js-sourcelinks");e._context.showSources&&e._context.showSources(e),e._context.showLink&&CGe(e,a),o.text(a.text()&&s.text()?" - ":"")}};function CGe(e,t){t.text("");var r=t.append("a").attr({"xlink:xlink:href":"#",class:"link--impt link--embedview","font-weight":"bold"}).text(e._context.linkText+" "+String.fromCharCode(187));if(e._context.sendData)r.on("click",function(){Tr.sendDataToCloud(e)});else{var n=window.location.pathname.split("/"),i=window.location.search;r.attr({"xlink:xlink:show":"new","xlink:xlink:href":"/"+n[2].split(".")[0]+"/"+n[1]+i})}}Tr.sendDataToCloud=function(e){var t=(window.PLOTLYENV||{}).BASE_URL||e._context.plotlyServerURL;if(t){e.emit("plotly_beforeexport");var r=eZ.select(e).append("div").attr("id","hiddenform").style("display","none"),n=r.append("form").attr({action:t+"/external",method:"post",target:"_blank"}),i=n.append("input").attr({type:"text",name:"data"});return i.node().value=Tr.graphJson(e,!1,"keepdata"),n.node().submit(),r.remove(),e.emit("plotly_afterexport"),!1}};var EGe=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],LGe=["year","month","dayMonth","dayMonthYear"];Tr.supplyDefaults=function(e,t){var r=t&&t.skipUpdateCalc,n=e._fullLayout||{};if(n._skipDefaults){delete n._skipDefaults;return}var i=e._fullLayout={},a=e.layout||{},o=e._fullData||[],s=e._fullData=[],l=e.data||[],u=e.calcdata||[],f=e._context||{},c;e._transitionData||Tr.createTransitionData(e),i._dfltTitle={plot:Vp(e,"Click to enter Plot title"),subtitle:Vp(e,"Click to enter Plot subtitle"),x:Vp(e,"Click to enter X axis title"),y:Vp(e,"Click to enter Y axis title"),colorbar:Vp(e,"Click to enter Colorscale title"),annotation:Vp(e,"new text")},i._traceWord=Vp(e,"trace");var h=JX(e,EGe);if(i._mapboxAccessToken=f.mapboxAccessToken,n._initialAutoSizeIsDone){var d=n.width,v=n.height;Tr.supplyLayoutGlobalDefaults(a,i,h),a.width||(i.width=d),a.height||(i.height=v),Tr.sanitizeMargins(i)}else{Tr.supplyLayoutGlobalDefaults(a,i,h);var m=!a.width||!a.height,b=i.autosize,g=f.autosizable,_=m&&(b||g);_?Tr.plotAutoSize(e,a,i):m&&Tr.sanitizeMargins(i),!b&&m&&(a.width=i.width,a.height=i.height)}i._d3locale=PGe(h,i.separators),i._extraFormat=JX(e,LGe),i._initialAutoSizeIsDone=!0,i._dataLength=l.length,i._modules=[],i._visibleModules=[],i._basePlotModules=[];var T=i._subplots=RGe(),w=i._splomAxes={x:{},y:{}},k=i._splomSubplots={};i._splomGridDflt={},i._scatterStackOpts={},i._firstScatter={},i._alignmentOpts={},i._colorAxes={},i._requestRangeslider={},i._traceUids=DGe(o,l),i._globalTransforms=(e._context||{}).globalTransforms,Tr.supplyDataDefaults(l,s,a,i);var x=Object.keys(w.x),M=Object.keys(w.y);if(x.length>1&&M.length>1){for(wi.getComponentMethod("grid","sizeDefaults")(a,i),c=0;c<x.length;c++)Fr.pushUnique(T.xaxis,x[c]);for(c=0;c<M.length;c++)Fr.pushUnique(T.yaxis,M[c]);for(var A in k)Fr.pushUnique(T.cartesian,A)}if(i._has=Tr._hasPlotType.bind(i),o.length===s.length)for(c=0;c<s.length;c++)eL(s[c],o[c]);Tr.supplyLayoutModuleDefaults(a,i,s,e._transitionData);var p=i._visibleModules,S=[];for(c=0;c<p.length;c++){var y=p[c].crossTraceDefaults;y&&Fr.pushUnique(S,y)}for(c=0;c<S.length;c++)S[c](s,i);i._hasOnlyLargeSploms=i._basePlotModules.length===1&&i._basePlotModules[0].name==="splom"&&x.length>15&&M.length>15&&i.shapes.length===0&&i.images.length===0,Tr.linkSubplots(s,i,o,n),Tr.cleanPlot(s,i,o,n);var E=!!(n._has&&n._has("gl2d")),C=!!(i._has&&i._has("gl2d")),L=!!(n._has&&n._has("cartesian")),R=!!(i._has&&i._has("cartesian")),I=L||E,P=R||C;I&&!P?n._bgLayer.remove():P&&!I&&(i._shouldCreateBgLayer=!0),n._zoomlayer&&!e._dragging&&AGe({_fullLayout:n}),IGe(s,i),eL(i,n),wi.getComponentMethod("colorscale","crossTraceDefaults")(s,i),i._preGUI||(i._preGUI={}),i._tracePreGUI||(i._tracePreGUI={});var D=i._tracePreGUI,q={},N;for(N in D)q[N]="old";for(c=0;c<s.length;c++)N=s[c]._fullInput.uid,q[N]||(D[N]={}),q[N]="new";for(N in q)q[N]==="old"&&delete D[N];iZ(i),wi.getComponentMethod("rangeslider","makeData")(i),!r&&u.length===s.length&&Tr.supplyDefaultsUpdateCalc(u,s)};Tr.supplyDefaultsUpdateCalc=function(e,t){for(var r=0;r<t.length;r++){var n=t[r],i=(e[r]||[])[0];if(i&&i.trace){var a=i.trace;if(a._hasCalcTransform){var o=a._arrayAttrs,s,l,u;for(s=0;s<o.length;s++)l=o[s],u=Fr.nestedProperty(a,l).get().slice(),Fr.nestedProperty(n,l).set(u)}i.trace=n}}};function DGe(e,t){var r=t.length,n=[],i,a;for(i=0;i<e.length;i++){var o=e[i]._fullInput;o!==a&&n.push(o),a=o}var s=n.length,l=new Array(r),u={};function f(d,v){l[v]=d,u[d]=1}function c(d,v){if(d&&typeof d=="string"&&!u[d])return f(d,v),!0}for(i=0;i<r;i++){var h=t[i].uid;typeof h=="number"&&(h=String(h)),!c(h,i)&&(i<s&&c(n[i].uid,i)||f(Fr.randstr(u),i))}return l}function RGe(){var e=wi.collectableSubplotTypes,t={},r,n;if(!e){e=[];var i=wi.subplotsRegistry;for(var a in i){var o=i[a],s=o.attr;if(s&&(e.push(a),Array.isArray(s)))for(n=0;n<s.length;n++)Fr.pushUnique(e,s[n])}}for(r=0;r<e.length;r++)t[e[r]]=[];return t}function JX(e,t){var r=e._context.locale;r||(r="en-US");var n=!1,i={};function a(c){for(var h=!0,d=0;d<t.length;d++){var v=t[d];i[v]||(c[v]?i[v]=c[v]:h=!1)}h&&(n=!0)}for(var o=0;o<2;o++){for(var s=e._context.locales,l=0;l<2;l++){var u=(s[r]||{}).format;if(u&&(a(u),n))break;s=wi.localeRegistry}var f=r.split("-")[0];if(n||f===r)break;r=f}return n||a(wi.localeRegistry.en.format),i}function PGe(e,t){return e.decimal=t.charAt(0),e.thousands=t.charAt(1),{numberFormat:function(r){try{r=wGe(e).format(Fr.adjustFormat(r))}catch{return Fr.warnBadFormat(r),Fr.noFormat}return r},timeFormat:bGe(e).utcFormat}}function IGe(e,t){var r,n=[];t.meta&&(r=t._meta={meta:t.meta,layout:{meta:t.meta}});for(var i=0;i<e.length;i++){var a=e[i];a.meta?n[a.index]=a._meta={meta:a.meta}:t.meta&&(a._meta={meta:t.meta}),t.meta&&(a._meta.layout={meta:t.meta})}n.length&&(r||(r=t._meta={}),r.data=n)}Tr.createTransitionData=function(e){e._transitionData||(e._transitionData={}),e._transitionData._frames||(e._transitionData._frames=[]),e._transitionData._frameHash||(e._transitionData._frameHash={}),e._transitionData._counter||(e._transitionData._counter=0),e._transitionData._interruptCallbacks||(e._transitionData._interruptCallbacks=[])};Tr._hasPlotType=function(e){var t,r=this._basePlotModules||[];for(t=0;t<r.length;t++)if(r[t].name===e)return!0;var n=this._modules||[];for(t=0;t<n.length;t++){var i=n[t].name;if(i===e)return!0;var a=wi.modules[i];if(a&&a.categories[e])return!0}return!1};Tr.cleanPlot=function(e,t,r,n){var i,a,o=n._basePlotModules||[];for(i=0;i<o.length;i++){var s=o[i];s.clean&&s.clean(e,t,r,n)}var l=n._has&&n._has("gl"),u=t._has&&t._has("gl");l&&!u&&n._glcontainer!==void 0&&(n._glcontainer.selectAll(".gl-canvas").remove(),n._glcontainer.selectAll(".no-webgl").remove(),n._glcanvas=null);var f=!!n._infolayer;e:for(i=0;i<r.length;i++){var c=r[i],h=c.uid;for(a=0;a<e.length;a++){var d=e[a];if(h===d.uid)continue e}f&&n._infolayer.select(".cb"+h).remove()}};Tr.linkSubplots=function(e,t,r,n){var i,a,o=n._plots||{},s=t._plots={},l=t._subplots,u={_fullData:e,_fullLayout:t},f=l.cartesian.concat(l.gl2d||[]);for(i=0;i<f.length;i++){var c=f[i],h=o[c],d=Ou.getFromId(u,c,"x"),v=Ou.getFromId(u,c,"y"),m;for(h?m=s[c]=h:(m=s[c]={},m.id=c),d._counterAxes.push(v._id),v._counterAxes.push(d._id),d._subplotsWith.push(c),v._subplotsWith.push(c),m.xaxis=d,m.yaxis=v,m._hasClipOnAxisFalse=!1,a=0;a<e.length;a++){var b=e[a];if(b.xaxis===m.xaxis._id&&b.yaxis===m.yaxis._id&&b.cliponaxis===!1){m._hasClipOnAxisFalse=!0;break}}}var g=Ou.list(u,null,!0),_;for(i=0;i<g.length;i++){_=g[i];var T=null;_.overlaying&&(T=Ou.getFromId(u,_.overlaying),T&&T.overlaying&&(_.overlaying=!1,T=null)),_._mainAxis=T||_,T&&(_.domain=T.domain.slice()),_._anchorAxis=_.anchor==="free"?null:Ou.getFromId(u,_.anchor)}for(i=0;i<g.length;i++)if(_=g[i],_._counterAxes.sort(Ou.idSort),_._subplotsWith.sort(Fr.subplotSort),_._mainSubplot=qGe(_,t),_._counterAxes.length&&(_.spikemode&&_.spikemode.indexOf("across")!==-1||_.automargin&&_.mirror&&_.anchor!=="free"||wi.getComponentMethod("rangeslider","isVisible")(_))){var w=1,k=0;for(a=0;a<_._counterAxes.length;a++){var x=Ou.getFromId(u,_._counterAxes[a]);w=Math.min(w,x.domain[0]),k=Math.max(k,x.domain[1])}w<k&&(_._counterDomainMin=w,_._counterDomainMax=k)}};function qGe(e,t){var r={_fullLayout:t},n=e._id.charAt(0)==="x",i=e._mainAxis._anchorAxis,a="",o="",s="";if(i&&(s=i._mainAxis._id,a=n?e._id+s:s+e._id),!a||!t._plots[a]){a="";for(var l=e._counterAxes,u=0;u<l.length;u++){var f=l[u],c=n?e._id+f:f+e._id;o||(o=c);var h=Ou.getFromId(r,f);if(s&&h.overlaying===s){a=c;break}}}return a||o}Tr.clearExpandedTraceDefaultColors=function(e){var t,r,n;function i(o,s,l,u){r[u]=s,r.length=u+1,o.valType==="color"&&o.dflt===void 0&&t.push(r.join("."))}for(r=[],t=e._module._colorAttrs,t||(e._module._colorAttrs=t=[],tZ.crawl(e._module.attributes,i)),n=0;n<t.length;n++){var a=Fr.nestedProperty(e,"_input."+t[n]);a.get()||Fr.nestedProperty(e,t[n]).set(null)}};Tr.supplyDataDefaults=function(e,t,r,n){var i=n._modules,a=n._visibleModules,o=n._basePlotModules,s=0,l=0,u,f,c;n._transformModules=[];function h(M){t.push(M);var A=M._module;A&&(Fr.pushUnique(i,A),M.visible===!0&&Fr.pushUnique(a,A),Fr.pushUnique(o,M._module.basePlotModule),s++,M._input.visible!==!1&&l++)}var d={},v=[],m=(r.template||{}).data||{},b=TGe.traceTemplater(m);for(u=0;u<e.length;u++){if(c=e[u],f=b.newTrace(c),f.uid=n._traceUids[u],Tr.supplyTraceDefaults(c,f,l,n,u),f.index=u,f._input=c,f._expandedIndex=s,f.transforms&&f.transforms.length)for(var g=c.visible!==!1&&f.visible===!1,_=FGe(f,t,r,n),T=0;T<_.length;T++){var w=_[T],k={_template:f._template,type:f.type,uid:f.uid+T};g&&w.visible===!1&&delete w.visible,Tr.supplyTraceDefaults(w,k,s,n,u),eL(k,w),k.index=u,k._input=c,k._fullInput=f,k._expandedIndex=s,k._expandedInput=w,h(k)}else f._fullInput=f,f._expandedInput=f,h(f);wi.traceIs(f,"carpetAxis")&&(d[f.carpet]=f),wi.traceIs(f,"carpetDependent")&&v.push(u)}for(u=0;u<v.length;u++)if(f=t[v[u]],!!f.visible){var x=d[f.carpet];if(f._carpet=x,!x||!x.visible){f.visible=!1;continue}f.xaxis=x.xaxis,f.yaxis=x.yaxis}};Tr.supplyAnimationDefaults=function(e){e=e||{};var t,r={};function n(i,a){return Fr.coerce(e||{},r,tL,i,a)}if(n("mode"),n("direction"),n("fromcurrent"),Array.isArray(e.frame))for(r.frame=[],t=0;t<e.frame.length;t++)r.frame[t]=Tr.supplyAnimationFrameDefaults(e.frame[t]||{});else r.frame=Tr.supplyAnimationFrameDefaults(e.frame||{});if(Array.isArray(e.transition))for(r.transition=[],t=0;t<e.transition.length;t++)r.transition[t]=Tr.supplyAnimationTransitionDefaults(e.transition[t]||{});else r.transition=Tr.supplyAnimationTransitionDefaults(e.transition||{});return r};Tr.supplyAnimationFrameDefaults=function(e){var t={};function r(n,i){return Fr.coerce(e||{},t,tL.frame,n,i)}return r("duration"),r("redraw"),t};Tr.supplyAnimationTransitionDefaults=function(e){var t={};function r(n,i){return Fr.coerce(e||{},t,tL.transition,n,i)}return r("duration"),r("easing"),t};Tr.supplyFrameDefaults=function(e){var t={};function r(n,i){return Fr.coerce(e,t,kGe,n,i)}return r("group"),r("name"),r("traces"),r("baseframe"),r("data"),r("layout"),t};Tr.supplyTraceDefaults=function(e,t,r,n,i){var a=n.colorway||rZ.defaults,o=a[r%a.length],s;function l(T,w){return Fr.coerce(e,t,Tr.attributes,T,w)}var u=l("visible");l("type"),l("name",n._traceWord+" "+i),l("uirevision",n.uirevision);var f=Tr.getModule(t);if(t._module=f,f){var c=f.basePlotModule,h=c.attr,d=c.attributes;if(h&&d){var v=n._subplots,m="";if(u||c.name!=="gl2d"){if(Array.isArray(h))for(s=0;s<h.length;s++){var b=h[s],g=Fr.coerce(e,t,d,b);v[b]&&Fr.pushUnique(v[b],g),m+=g}else m=Fr.coerce(e,t,d,h);v[c.name]&&Fr.pushUnique(v[c.name],m)}}}if(u){if(l("customdata"),l("ids"),l("meta"),wi.traceIs(t,"showLegend")?(Fr.coerce(e,t,f.attributes.showlegend?f.attributes:Tr.attributes,"showlegend"),l("legend"),l("legendwidth"),l("legendgroup"),l("legendgrouptitle.text"),l("legendrank"),t._dfltShowLegend=!0):t._dfltShowLegend=!1,f&&f.supplyDefaults(e,t,o,n),wi.traceIs(t,"noOpacity")||l("opacity"),wi.traceIs(t,"notLegendIsolatable")&&(t.visible=!!t.visible),wi.traceIs(t,"noHover")||(t.hovertemplate||Fr.coerceHoverinfo(e,t,n),t.type!=="parcats"&&wi.getComponentMethod("fx","supplyDefaults")(e,t,o,n)),f&&f.selectPoints){var _=l("selectedpoints");Fr.isTypedArray(_)&&(t.selectedpoints=Array.from(_))}Tr.supplyTransformDefaults(e,t,n)}return t};function nZ(e){var t=e.transforms;if(Array.isArray(t)&&t.length)for(var r=0;r<t.length;r++){var n=t[r],i=n._module||JT[n.type];if(i&&i.makesData)return!0}return!1}Tr.hasMakesDataTransform=nZ;Tr.supplyTransformDefaults=function(e,t,r){if(t._length||nZ(e)){var n=r._globalTransforms||[],i=r._transformModules||[];if(!(!Array.isArray(e.transforms)&&n.length===0))for(var a=e.transforms||[],o=n.concat(a),s=t.transforms=[],l=0;l<o.length;l++){var u=o[l],f=u.type,c=JT[f],h,d=!(u._module&&u._module===c),v=c&&typeof c.transform=="function";c||Fr.warn("Unrecognized transform type "+f+"."),c&&c.supplyDefaults&&(d||v)?(h=c.supplyDefaults(u,t,r,e),h.type=f,h._module=c,Fr.pushUnique(i,c)):h=Fr.extendFlat({},u),s.push(h)}}};function FGe(e,t,r,n){for(var i=e.transforms,a=[e],o=0;o<i.length;o++){var s=i[o],l=JT[s.type];l&&l.transform&&(a=l.transform(a,{transform:s,fullTrace:e,fullData:t,layout:r,fullLayout:n,transformIndex:o}))}return a}Tr.supplyLayoutGlobalDefaults=function(e,t,r){function n(c,h){return Fr.coerce(e,t,Tr.layoutAttributes,c,h)}var i=e.template;Fr.isPlainObject(i)&&(t.template=i,t._template=i.layout,t._dataTemplate=i.data),n("autotypenumbers");var a=Fr.coerceFont(n,"font"),o=a.size;Fr.coerceFont(n,"title.font",a,{overrideDflt:{size:Math.round(o*1.4)}}),n("title.text",t._dfltTitle.plot),n("title.xref");var s=n("title.yref");n("title.pad.t"),n("title.pad.r"),n("title.pad.b"),n("title.pad.l");var l=n("title.automargin");n("title.x"),n("title.xanchor"),n("title.y"),n("title.yanchor"),n("title.subtitle.text",t._dfltTitle.subtitle),Fr.coerceFont(n,"title.subtitle.font",a,{overrideDflt:{size:Math.round(t.title.font.size*.7)}}),l&&(s==="paper"&&(t.title.y!==0&&(t.title.y=1),t.title.yanchor==="auto"&&(t.title.yanchor=t.title.y===0?"top":"bottom")),s==="container"&&(t.title.y==="auto"&&(t.title.y=1),t.title.yanchor==="auto"&&(t.title.yanchor=t.title.y<.5?"bottom":"top")));var u=n("uniformtext.mode");u&&n("uniformtext.minsize"),n("autosize",!(e.width&&e.height)),n("width"),n("height"),n("minreducedwidth"),n("minreducedheight"),n("margin.l"),n("margin.r"),n("margin.t"),n("margin.b"),n("margin.pad"),n("margin.autoexpand"),e.width&&e.height&&Tr.sanitizeMargins(t),wi.getComponentMethod("grid","sizeDefaults")(e,t),n("paper_bgcolor"),n("separators",r.decimal+r.thousands),n("hidesources"),n("colorway"),n("datarevision");var f=n("uirevision");n("editrevision",f),n("selectionrevision",f),wi.getComponentMethod("modebar","supplyLayoutDefaults")(e,t),wi.getComponentMethod("shapes","supplyDrawNewShapeDefaults")(e,t,n),wi.getComponentMethod("selections","supplyDrawNewSelectionDefaults")(e,t,n),n("meta"),Fr.isPlainObject(e.transition)&&(n("transition.duration"),n("transition.easing"),n("transition.ordering")),wi.getComponentMethod("calendars","handleDefaults")(e,t,"calendar"),wi.getComponentMethod("fx","supplyLayoutGlobalDefaults")(e,t,n),Fr.coerce(e,t,MGe,"scattermode")};function ZT(e){return typeof e=="string"&&e.substr(e.length-2)==="px"&&parseFloat(e)}Tr.plotAutoSize=function(t,r,n){var i=t._context||{},a=i.frameMargins,o,s,l=Fr.isPlotDiv(t);if(l&&t.emit("plotly_autosize"),i.fillFrame)o=window.innerWidth,s=window.innerHeight,document.body.style.overflow="hidden";else{var u=l?window.getComputedStyle(t):{};if(o=ZT(u.width)||ZT(u.maxWidth)||n.width,s=ZT(u.height)||ZT(u.maxHeight)||n.height,e2(a)&&a>0){var f=1-2*a;o=Math.round(f*o),s=Math.round(f*s)}}var c=Tr.layoutAttributes.width.min,h=Tr.layoutAttributes.height.min;o<c&&(o=c),s<h&&(s=h);var d=!r.width&&Math.abs(n.width-o)>1,v=!r.height&&Math.abs(n.height-s)>1;(v||d)&&(d&&(n.width=o),v&&(n.height=s)),t._initialAutoSize||(t._initialAutoSize={width:o,height:s}),Tr.sanitizeMargins(n)};Tr.supplyLayoutModuleDefaults=function(e,t,r,n){var i=wi.componentsRegistry,a=t._basePlotModules,o,s,l,u=wi.subplotsRegistry.cartesian;for(o in i)l=i[o],l.includeBasePlot&&l.includeBasePlot(e,t);a.length||a.push(u),t._has("cartesian")&&(wi.getComponentMethod("grid","contentDefaults")(e,t),u.finalizeSubplots(e,t));for(var f in t._subplots)t._subplots[f].sort(Fr.subplotSort);for(s=0;s<a.length;s++)l=a[s],l.supplyLayoutDefaults&&l.supplyLayoutDefaults(e,t,r);var c=t._modules;for(s=0;s<c.length;s++)l=c[s],l.supplyLayoutDefaults&&l.supplyLayoutDefaults(e,t,r);var h=t._transformModules;for(s=0;s<h.length;s++)l=h[s],l.supplyLayoutDefaults&&l.supplyLayoutDefaults(e,t,r,n);for(o in i)l=i[o],l.supplyLayoutDefaults&&l.supplyLayoutDefaults(e,t,r)};Tr.purge=function(e){var t=e._fullLayout||{};t._glcontainer!==void 0&&(t._glcontainer.selectAll(".gl-canvas").remove(),t._glcontainer.remove(),t._glcanvas=null),t._modeBar&&t._modeBar.destroy(),e._transitionData&&(e._transitionData._interruptCallbacks&&(e._transitionData._interruptCallbacks.length=0),e._transitionData._animationRaf&&window.cancelAnimationFrame(e._transitionData._animationRaf)),Fr.clearThrottle(),Fr.clearResponsive(e),delete e.data,delete e.layout,delete e._fullData,delete e._fullLayout,delete e.calcdata,delete e.empty,delete e.fid,delete e.undoqueue,delete e.undonum,delete e.autoplay,delete e.changed,delete e._promises,delete e._redrawTimer,delete e._hmlumcount,delete e._hmpixcount,delete e._transitionData,delete e._transitioning,delete e._initialAutoSize,delete e._transitioningWithDuration,delete e._dragging,delete e._dragged,delete e._dragdata,delete e._hoverdata,delete e._snapshotInProgress,delete e._editing,delete e._mouseDownTime,delete e._legendMouseDownTime,e.removeAllListeners&&e.removeAllListeners()};Tr.style=function(e){var t=e._fullLayout._visibleModules,r=[],n;for(n=0;n<t.length;n++){var i=t[n];i.style&&Fr.pushUnique(r,i.style)}for(n=0;n<r.length;n++)r[n](e)};Tr.sanitizeMargins=function(e){if(!(!e||!e.margin)){var t=e.width,r=e.height,n=e.margin,i=t-(n.l+n.r),a=r-(n.t+n.b),o;i<0&&(o=(t-1)/(n.l+n.r),n.l=Math.floor(o*n.l),n.r=Math.floor(o*n.r)),a<0&&(o=(r-1)/(n.t+n.b),n.t=Math.floor(o*n.t),n.b=Math.floor(o*n.b))}};Tr.clearAutoMarginIds=function(e){e._fullLayout._pushmarginIds={}};Tr.allowAutoMargin=function(e,t){e._fullLayout._pushmarginIds[t]=1};function iZ(e){var t=e.margin;if(!e._size){var r=e._size={l:Math.round(t.l),r:Math.round(t.r),t:Math.round(t.t),b:Math.round(t.b),p:Math.round(t.pad)};r.w=Math.round(e.width)-r.l-r.r,r.h=Math.round(e.height)-r.t-r.b}e._pushmargin||(e._pushmargin={}),e._pushmarginIds||(e._pushmarginIds={}),e._reservedMargin||(e._reservedMargin={})}var aZ=2,oZ=2;Tr.autoMargin=function(e,t,r){var n=e._fullLayout,i=n.width,a=n.height,o=n.margin,s=n.minreducedwidth,l=n.minreducedheight,u=Fr.constrain(i-o.l-o.r,aZ,s),f=Fr.constrain(a-o.t-o.b,oZ,l),c=Math.max(0,i-u),h=Math.max(0,a-f),d=n._pushmargin,v=n._pushmarginIds;if(o.autoexpand!==!1){if(!r)delete d[t],delete v[t];else{var m=r.pad;if(m===void 0&&(m=Math.min(12,o.l,o.r,o.t,o.b)),c){var b=(r.l+r.r)/c;b>1&&(r.l/=b,r.r/=b)}if(h){var g=(r.t+r.b)/h;g>1&&(r.t/=g,r.b/=g)}var _=r.xl!==void 0?r.xl:r.x,T=r.xr!==void 0?r.xr:r.x,w=r.yt!==void 0?r.yt:r.y,k=r.yb!==void 0?r.yb:r.y;d[t]={l:{val:_,size:r.l+m},r:{val:T,size:r.r+m},b:{val:k,size:r.b+m},t:{val:w,size:r.t+m}},v[t]=1}if(!n._replotting)return Tr.doAutoMargin(e)}};function zGe(e){if("_redrawFromAutoMarginCount"in e._fullLayout)return!1;var t=Ou.list(e,"",!0);for(var r in t)if(t[r].autoshift||t[r].shift)return!0;return!1}Tr.doAutoMargin=function(e){var t=e._fullLayout,r=t.width,n=t.height;t._size||(t._size={}),iZ(t);var i=t._size,a=t.margin,o={t:0,b:0,l:0,r:0},s=Fr.extendFlat({},i),l=a.l,u=a.r,f=a.t,c=a.b,h=t._pushmargin,d=t._pushmarginIds,v=t.minreducedwidth,m=t.minreducedheight;if(a.autoexpand!==!1){for(var b in h)d[b]||delete h[b];var g=e._fullLayout._reservedMargin;for(var _ in g)for(var T in g[_]){var w=g[_][T];o[T]=Math.max(o[T],w)}h.base={l:{val:0,size:l},r:{val:1,size:u},t:{val:1,size:f},b:{val:0,size:c}};for(var k in o){var x=0;for(var M in h)M!=="base"&&e2(h[M][k].size)&&(x=h[M][k].size>x?h[M][k].size:x);var A=Math.max(0,a[k]-x);o[k]=Math.max(0,o[k]-A)}for(var p in h){var S=h[p].l||{},y=h[p].b||{},E=S.val,C=S.size,L=y.val,R=y.size,I=r-o.r-o.l,P=n-o.t-o.b;for(var D in h){if(e2(C)&&h[D].r){var q=h[D].r.val,N=h[D].r.size;if(q>E){var U=(C*q+(N-I)*E)/(q-E),G=(N*(1-E)+(C-I)*(1-q))/(q-E);U+G>l+u&&(l=U,u=G)}}if(e2(R)&&h[D].t){var ee=h[D].t.val,Q=h[D].t.size;if(ee>L){var j=(R*ee+(Q-P)*L)/(ee-L),O=(Q*(1-L)+(R-P)*(1-ee))/(ee-L);j+O>c+f&&(c=j,f=O)}}}}}var Z=Fr.constrain(r-a.l-a.r,aZ,v),K=Fr.constrain(n-a.t-a.b,oZ,m),$=Math.max(0,r-Z),oe=Math.max(0,n-K);if($){var te=(l+u)/$;te>1&&(l/=te,u/=te)}if(oe){var V=(c+f)/oe;V>1&&(c/=V,f/=V)}if(i.l=Math.round(l)+o.l,i.r=Math.round(u)+o.r,i.t=Math.round(f)+o.t,i.b=Math.round(c)+o.b,i.p=Math.round(a.pad),i.w=Math.round(r)-i.l-i.r,i.h=Math.round(n)-i.t-i.b,!t._replotting&&(Tr.didMarginChange(s,i)||zGe(e))){"_redrawFromAutoMarginCount"in t?t._redrawFromAutoMarginCount++:t._redrawFromAutoMarginCount=1;var ne=3*(1+Object.keys(d).length);if(t._redrawFromAutoMarginCount<ne)return wi.call("_doPlot",e);t._size=s,Fr.warn("Too many auto-margin redraws.")}NGe(e)};function NGe(e){var t=Ou.list(e,"",!0);["_adjustTickLabelsOverflow","_hideCounterAxisInsideTickLabels"].forEach(function(r){for(var n=0;n<t.length;n++){var i=t[n][r];i&&i()}})}var $X=["l","r","t","b","p","w","h"];Tr.didMarginChange=function(e,t){for(var r=0;r<$X.length;r++){var n=$X[r],i=e[n],a=t[n];if(!e2(i)||Math.abs(a-i)>1)return!0}return!1};Tr.graphJson=function(e,t,r,n,i,a){(i&&t&&!e._fullData||i&&!t&&!e._fullLayout)&&Tr.supplyDefaults(e);var o=i?e._fullData:e.data,s=i?e._fullLayout:e.layout,l=(e._transitionData||{})._frames;function u(h,d){if(typeof h=="function")return d?"_function_":null;if(Fr.isPlainObject(h)){var v={},m;return Object.keys(h).sort().forEach(function(T){if(["_","["].indexOf(T.charAt(0))===-1){if(typeof h[T]=="function"){d&&(v[T]="_function");return}if(r==="keepdata"){if(T.substr(T.length-3)==="src")return}else if(r==="keepstream"){if(m=h[T+"src"],typeof m=="string"&&m.indexOf(":")>0&&!Fr.isPlainObject(h.stream))return}else if(r!=="keepall"&&(m=h[T+"src"],typeof m=="string"&&m.indexOf(":")>0))return;v[T]=u(h[T],d)}}),v}var b=Array.isArray(h),g=Fr.isTypedArray(h);if((b||g)&&h.dtype&&h.shape){var _=h.bdata;return u({dtype:h.dtype,shape:h.shape,bdata:Fr.isArrayBuffer(_)?_Ge.encode(_):_},d)}return b?h.map(function(T){return u(T,d)}):g?Fr.simpleMap(h,Fr.identity):Fr.isJSDate(h)?Fr.ms2DateTimeLocal(+h):h}var f={data:(o||[]).map(function(h){var d=u(h);return t&&delete d.fit,d})};if(!t&&(f.layout=u(s),i)){var c=s._size;f.layout.computed={margin:{b:c.b,l:c.l,r:c.r,t:c.t}}}return l&&(f.frames=u(l)),a&&(f.config=u(e._context,!0)),n==="object"?f:JSON.stringify(f)};Tr.modifyFrames=function(e,t){var r,n,i,a=e._transitionData._frames,o=e._transitionData._frameHash;for(r=0;r<t.length;r++)switch(n=t[r],n.type){case"replace":i=n.value;var s=(a[n.index]||{}).name,l=i.name;a[n.index]=o[l]=i,l!==s&&(delete o[s],o[l]=i);break;case"insert":i=n.value,o[i.name]=i,a.splice(n.index,0,i);break;case"delete":i=a[n.index],delete o[i.name],a.splice(n.index,1);break}return Promise.resolve()};Tr.computeFrame=function(e,t){var r=e._transitionData._frameHash,n,i,a,o;if(!t)throw new Error("computeFrame must be given a string frame name");var s=r[t.toString()];if(!s)return!1;for(var l=[s],u=[s.name];s.baseframe&&(s=r[s.baseframe.toString()])&&u.indexOf(s.name)===-1;)l.push(s),u.push(s.name);for(var f={};s=l.pop();)if(s.layout&&(f.layout=Tr.extendLayout(f.layout,s.layout)),s.data){if(f.data||(f.data=[]),i=s.traces,!i)for(i=[],n=0;n<s.data.length;n++)i[n]=n;for(f.traces||(f.traces=[]),n=0;n<s.data.length;n++)a=i[n],a!=null&&(o=f.traces.indexOf(a),o===-1&&(o=f.data.length,f.traces[o]=a),f.data[o]=Tr.extendTrace(f.data[o],s.data[n]))}return f};Tr.recomputeFrameHash=function(e){for(var t=e._transitionData._frameHash={},r=e._transitionData._frames,n=0;n<r.length;n++){var i=r[n];i&&i.name&&(t[i.name]=i)}};Tr.extendObjectWithContainers=function(e,t,r){var n,i,a,o,s,l,u,f,c=Fr.extendDeepNoArrays({},t||{}),h=Fr.expandObjectPaths(c),d={};if(r&&r.length)for(a=0;a<r.length;a++)n=Fr.nestedProperty(h,r[a]),i=n.get(),i===void 0?Fr.nestedProperty(d,r[a]).set(null):(n.set(null),Fr.nestedProperty(d,r[a]).set(i));if(e=Fr.extendDeepNoArrays(e||{},h),r&&r.length){for(a=0;a<r.length;a++)if(s=Fr.nestedProperty(d,r[a]),u=s.get(),!!u){for(l=Fr.nestedProperty(e,r[a]),f=l.get(),Array.isArray(f)||(f=[],l.set(f)),o=0;o<u.length;o++){var v=u[o];v===null?f[o]=null:f[o]=Tr.extendObjectWithContainers(f[o],v)}l.set(f)}}return e};Tr.dataArrayContainers=["transforms","dimensions"];Tr.layoutArrayContainers=wi.layoutArrayContainers;Tr.extendTrace=function(e,t){return Tr.extendObjectWithContainers(e,t,Tr.dataArrayContainers)};Tr.extendLayout=function(e,t){return Tr.extendObjectWithContainers(e,t,Tr.layoutArrayContainers)};Tr.transition=function(e,t,r,n,i,a){var o={redraw:i.redraw},s={},l=[];return o.prepareFn=function(){for(var u=Array.isArray(t)?t.length:0,f=n.slice(0,u),c=0;c<f.length;c++){var h=f[c],d=e._fullData[h],v=d._module;if(v){if(v.animatable){var m=v.basePlotModule.name;s[m]||(s[m]=[]),s[m].push(h)}e.data[f[c]]=Tr.extendTrace(e.data[f[c]],t[c])}}var b=Fr.expandObjectPaths(Fr.extendDeepNoArrays({},r)),g=/^[xy]axis[0-9]*$/;for(var _ in b)g.test(_)&&delete b[_].range;Tr.extendLayout(e.layout,b),delete e.calcdata,Tr.supplyDefaults(e),Tr.doCalcdata(e);var T=Fr.expandObjectPaths(r);if(T){var w=e._fullLayout._plots;for(var k in w){var x=w[k],M=x.xaxis,A=x.yaxis,p=M.range.slice(),S=A.range.slice(),y=null,E=null,C=null,L=null;Array.isArray(T[M._name+".range"])?y=T[M._name+".range"].slice():Array.isArray((T[M._name]||{}).range)&&(y=T[M._name].range.slice()),Array.isArray(T[A._name+".range"])?E=T[A._name+".range"].slice():Array.isArray((T[A._name]||{}).range)&&(E=T[A._name].range.slice()),p&&y&&(M.r2l(p[0])!==M.r2l(y[0])||M.r2l(p[1])!==M.r2l(y[1]))&&(C={xr0:p,xr1:y}),S&&E&&(A.r2l(S[0])!==A.r2l(E[0])||A.r2l(S[1])!==A.r2l(E[1]))&&(L={yr0:S,yr1:E}),(C||L)&&l.push(Fr.extendFlat({plotinfo:x},C,L))}}return Promise.resolve()},o.runFn=function(u){var f,c=e._fullLayout._basePlotModules,h=l.length,d;if(r)for(d=0;d<c.length;d++)c[d].transitionAxes&&c[d].transitionAxes(e,l,a,u);h?(f=Fr.extendFlat({},a),f.duration=0,delete s.cartesian):f=a;for(var v in s){var m=s[v],b=e._fullData[m[0]]._module;b.basePlotModule.plot(e,m,f,u)}},sZ(e,a,o)};Tr.transitionFromReact=function(e,t,r,n){var i=e._fullLayout,a=i.transition,o={},s=[];return o.prepareFn=function(){var l=i._plots;o.redraw=!1,t.anim==="some"&&(o.redraw=!0),r.anim==="some"&&(o.redraw=!0);for(var u in l){var f=l[u],c=f.xaxis,h=f.yaxis,d=n[c._name].range.slice(),v=n[h._name].range.slice(),m=c.range.slice(),b=h.range.slice();c.setScale(),h.setScale();var g=null,_=null;(c.r2l(d[0])!==c.r2l(m[0])||c.r2l(d[1])!==c.r2l(m[1]))&&(g={xr0:d,xr1:m}),(h.r2l(v[0])!==h.r2l(b[0])||h.r2l(v[1])!==h.r2l(b[1]))&&(_={yr0:v,yr1:b}),(g||_)&&s.push(Fr.extendFlat({plotinfo:f},g,_))}return Promise.resolve()},o.runFn=function(l){for(var u=e._fullData,f=e._fullLayout,c=f._basePlotModules,h,d,v,m=[],b=0;b<u.length;b++)m.push(b);function g(){if(e._fullLayout)for(var T=0;T<c.length;T++)c[T].transitionAxes&&c[T].transitionAxes(e,s,h,l)}function _(){if(e._fullLayout)for(var T=0;T<c.length;T++)c[T].plot(e,v,d,l)}s.length&&t.anim?a.ordering==="traces first"?(h=Fr.extendFlat({},a,{duration:0}),v=m,d=a,setTimeout(g,a.duration),_()):(h=a,v=null,d=Fr.extendFlat({},a,{duration:0}),setTimeout(_,h.duration),g()):s.length?(h=a,g()):t.anim&&(v=m,d=a,_())},sZ(e,a,o)};function sZ(e,t,r){var n=!1;function i(c){var h=Promise.resolve();if(!c)return h;for(;c.length;)h=h.then(c.shift());return h}function a(c){if(c)for(;c.length;)c.shift()}function o(){return e.emit("plotly_transitioning",[]),new Promise(function(c){e._transitioning=!0,t.duration>0&&(e._transitioningWithDuration=!0),e._transitionData._interruptCallbacks.push(function(){n=!0}),r.redraw&&e._transitionData._interruptCallbacks.push(function(){return wi.call("redraw",e)}),e._transitionData._interruptCallbacks.push(function(){e.emit("plotly_transitioninterrupted",[])});var h=0,d=0;function v(){return h++,function(){d++,!n&&d===h&&s(c)}}r.runFn(v),setTimeout(v())})}function s(c){if(e._transitionData)return a(e._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(r.redraw)return wi.call("redraw",e)}).then(function(){e._transitioning=!1,e._transitioningWithDuration=!1,e.emit("plotly_transitioned",[])}).then(c)}function l(){if(e._transitionData)return e._transitioning=!1,i(e._transitionData._interruptCallbacks)}var u=[Tr.previousPromises,l,r.prepareFn,Tr.rehover,Tr.reselect,o],f=Fr.syncOrAsync(u,e);return(!f||!f.then)&&(f=Promise.resolve()),f.then(function(){return e})}Tr.doCalcdata=function(e,t){var r=Ou.list(e),n=e._fullData,i=e._fullLayout,a,o,s,l,u=new Array(n.length),f=(e.calcdata||[]).slice();for(e.calcdata=u,i._numBoxes=0,i._numViolins=0,i._violinScaleGroupStats={},e._hmpixcount=0,e._hmlumcount=0,i._piecolormap={},i._sunburstcolormap={},i._treemapcolormap={},i._iciclecolormap={},i._funnelareacolormap={},s=0;s<n.length;s++)if(Array.isArray(t)&&t.indexOf(s)===-1){u[s]=f[s];continue}for(s=0;s<n.length;s++)a=n[s],a._arrayAttrs=tZ.findArrayAttributes(a),a._extremes={};var c=i._subplots.polar||[];for(s=0;s<c.length;s++)r.push(i[c[s]].radialaxis,i[c[s]].angularaxis);for(var h in i._colorAxes){var d=i[h];d.cauto!==!1&&(delete d.cmin,delete d.cmax)}var v=!1;function m(_){if(a=n[_],o=a._module,a.visible===!0&&a.transforms){if(o&&o.calc){var T=o.calc(e,a);T[0]&&T[0].t&&T[0].t._scene&&delete T[0].t._scene.dirty}for(l=0;l<a.transforms.length;l++){var w=a.transforms[l];o=JT[w.type],o&&o.calcTransform&&(a._hasCalcTransform=!0,v=!0,o.calcTransform(e,a,w))}}}function b(_,T){if(a=n[_],o=a._module,!!o.isContainer===T){var w=[];if(a.visible===!0&&a._length!==0){delete a._indexToPoints;var k=a.transforms||[];for(l=k.length-1;l>=0;l--)if(k[l].enabled){a._indexToPoints=k[l]._indexToPoints;break}o&&o.calc&&(w=o.calc(e,a))}(!Array.isArray(w)||!w[0])&&(w=[{x:ZX,y:ZX}]),w[0].t||(w[0].t={}),w[0].trace=a,u[_]=w}}for(KX(r,n,i),s=0;s<n.length;s++)b(s,!0);for(s=0;s<n.length;s++)m(s);for(v&&KX(r,n,i),s=0;s<n.length;s++)b(s,!0);for(s=0;s<n.length;s++)b(s,!1);QX(e);var g=BGe(r,e);if(g.length){for(i._numBoxes=0,i._numViolins=0,s=0;s<g.length;s++)b(g[s],!0);for(s=0;s<g.length;s++)b(g[s],!1);QX(e)}wi.getComponentMethod("fx","calc")(e),wi.getComponentMethod("errorbars","calc")(e)};var OGe=/(total|sum|min|max|mean|geometric mean|median) (ascending|descending)/;function BGe(e,t){var r=[],n,i,a,o,s;function l(D,q,N){var U=q._id.charAt(0);if(D==="histogram2dcontour"){var G=q._counterAxes[0],ee=Ou.getFromId(t,G),Q=U==="x"||G==="x"&&ee.type==="category",j=U==="y"||G==="y"&&ee.type==="category";return function(O,Z){return O===0||Z===0||Q&&O===N[Z].length-1||j&&Z===N.length-1?-1:(U==="y"?Z:O)-1}}else return function(O,Z){return U==="y"?Z:O}}var u={min:function(D){return Fr.aggNums(Math.min,null,D)},max:function(D){return Fr.aggNums(Math.max,null,D)},sum:function(D){return Fr.aggNums(function(q,N){return q+N},null,D)},total:function(D){return Fr.aggNums(function(q,N){return q+N},null,D)},mean:function(D){return Fr.mean(D)},"geometric mean":function(D){return Fr.geometricMean(D)},median:function(D){return Fr.median(D)}};function f(D,q){return D[1]-q[1]}function c(D,q){return q[1]-D[1]}for(n=0;n<e.length;n++){var h=e[n];if(h.type==="category"){var d=h.categoryorder.match(OGe);if(d){var v=d[1],m=d[2],b=h._id.charAt(0),g=b==="x",_=[];for(i=0;i<h._categories.length;i++)_.push([h._categories[i],[]]);for(i=0;i<h._traceIndices.length;i++){var T=h._traceIndices[i],w=t._fullData[T];if(w.visible===!0){var k=w.type;wi.traceIs(w,"histogram")&&(delete w._xautoBinFinished,delete w._yautoBinFinished);var x=k==="splom",M=k==="scattergl",A=t.calcdata[T];for(a=0;a<A.length;a++){var p=A[a],S,y;if(x){var E=w._axesDim[h._id];if(!g){var C=w._diag[E][0];C&&(h=t._fullLayout[Ou.id2name(C)])}var L=p.trace.dimensions[E].values;for(o=0;o<L.length;o++)for(S=h._categoriesMap[L[o]],s=0;s<p.trace.dimensions.length;s++)if(s!==E){var R=p.trace.dimensions[s];_[S][1].push(R.values[o])}}else if(M){for(o=0;o<p.t.x.length;o++)g?(S=p.t.x[o],y=p.t.y[o]):(S=p.t.y[o],y=p.t.x[o]),_[S][1].push(y);p.t&&p.t._scene&&delete p.t._scene.dirty}else if(p.hasOwnProperty("z")){y=p.z;var I=l(w.type,h,y);for(o=0;o<y.length;o++)for(s=0;s<y[o].length;s++)S=I(s,o),S+1&&_[S][1].push(y[o][s])}else for(S=p.p,S===void 0&&(S=p[b]),y=p.s,y===void 0&&(y=p.v),y===void 0&&(y=g?p.y:p.x),Array.isArray(y)||(y===void 0?y=[]:y=[y]),o=0;o<y.length;o++)_[S][1].push(y[o])}}}h._categoriesValue=_;var P=[];for(i=0;i<_.length;i++)P.push([_[i][0],u[v](_[i][1])]);P.sort(m==="descending"?c:f),h._categoriesAggregatedValue=P,h._initialCategories=P.map(function(D){return D[0]}),r=r.concat(h.sortByInitialCategories())}}}return r}function KX(e,t,r){var n={};function i(l){l.clearCalc(),l.type==="multicategory"&&l.setupMultiCategory(t),n[l._id]=1}Fr.simpleMap(e,i);for(var a=r._axisMatchGroups||[],o=0;o<a.length;o++)for(var s in a[o])n[s]||i(r[Ou.id2name(s)])}function QX(e){var t=e._fullLayout,r=t._visibleModules,n={},i,a,o;for(a=0;a<r.length;a++){var s=r[a],l=s.crossTraceCalc;if(l){var u=s.basePlotModule.name;n[u]?Fr.pushUnique(n[u],l):n[u]=[l]}}for(o in n){var f=n[o],c=t._subplots[o];if(Array.isArray(c))for(i=0;i<c.length;i++){var h=c[i],d=o==="cartesian"?t._plots[h]:t[h];for(a=0;a<f.length;a++)f[a](e,d,h)}else for(a=0;a<f.length;a++)f[a](e)}}Tr.rehover=function(e){e._fullLayout._rehover&&e._fullLayout._rehover()};Tr.redrag=function(e){e._fullLayout._redrag&&e._fullLayout._redrag()};Tr.reselect=function(e){var t=e._fullLayout,r=(e.layout||{}).selections,n=t._previousSelections;t._previousSelections=r;var i=t._reselect||JSON.stringify(r)!==JSON.stringify(n);wi.getComponentMethod("selections","reselect")(e,i)};Tr.generalUpdatePerTraceModule=function(e,t,r,n){var i=t.traceHash,a={},o;for(o=0;o<r.length;o++){var s=r[o],l=s[0].trace;l.visible&&(a[l.type]=a[l.type]||[],a[l.type].push(s))}for(var u in i)if(!a[u]){var f=i[u][0],c=f[0].trace;c.visible=!1,a[u]=[f]}for(var h in a){var d=a[h],v=d[0][0].trace._module;v.plot(e,t,Fr.filterVisible(d),n)}t.traceHash=a};Tr.plotBasePlot=function(e,t,r,n,i){var a=wi.getModule(e),o=SGe(t.calcdata,a)[0];a.plot(t,o,n,i)};Tr.cleanBasePlot=function(e,t,r,n,i){var a=i._has&&i._has(e),o=r._has&&r._has(e);a&&!o&&i["_"+e+"layer"].selectAll("g.trace").remove()}});var Gh=J(Yp=>{"use strict";Yp.xmlns="http://www.w3.org/2000/xmlns/";Yp.svg="http://www.w3.org/2000/svg";Yp.xlink="http://www.w3.org/1999/xlink";Yp.svgAttrs={xmlns:Yp.svg,"xmlns:xlink":Yp.xlink}});var Vo=J((f8t,uZ)=>{"use strict";uZ.exports={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,CAP_SHIFT:.7,MID_SHIFT:.35,OPPOSITE_SIDE:{left:"right",right:"left",top:"bottom",bottom:"top"}}});var ca=J(Kf=>{"use strict";var Lo=Nr(),Xv=gt(),UGe=Xv.strTranslate,rL=Gh(),HGe=Vo().LINE_SPACING,jGe=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;Kf.convertToTspans=function(e,t,r){var n=e.text(),i=!e.attr("data-notex")&&t&&t._context.typesetMath&&typeof MathJax<"u"&&n.match(jGe),a=Lo.select(e.node().parentNode);if(a.empty())return;var o=e.attr("class")?e.attr("class").split(" ")[0]:"text";o+="-math",a.selectAll("svg."+o).remove(),a.selectAll("g."+o+"-group").remove(),e.style("display",null).attr({"data-unformatted":n,"data-math":"N"});function s(){a.empty()||(o=e.attr("class")+"-math",a.select("svg."+o).remove()),e.text("").style("white-space","pre");var l=rWe(e.node(),n);l&&e.style("pointer-events","all"),Kf.positionText(e),r&&r.call(e)}return i?(t&&t._promises||[]).push(new Promise(function(l){e.style("display","none");var u=parseInt(e.node().style.fontSize,10),f={fontSize:u};WGe(i[2],f,function(c,h,d){a.selectAll("svg."+o).remove(),a.selectAll("g."+o+"-group").remove();var v=c&&c.select("svg");if(!v||!v.node()){s(),l();return}var m=a.append("g").classed(o+"-group",!0).attr({"pointer-events":"none","data-unformatted":n,"data-math":"Y"});m.node().appendChild(v.node()),h&&h.node()&&v.node().insertBefore(h.node().cloneNode(!0),v.node().firstChild);var b=d.width,g=d.height;v.attr({class:o,height:g,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none"});var _=e.node().style.fill||"black",T=v.select("g");T.attr({fill:_,stroke:_});var w=T.node().getBoundingClientRect(),k=w.width,x=w.height;(k>b||x>g)&&(v.style("overflow","hidden"),w=v.node().getBoundingClientRect(),k=w.width,x=w.height);var M=+e.attr("x"),A=+e.attr("y"),p=u||e.node().getBoundingClientRect().height,S=-p/4;if(o[0]==="y")m.attr({transform:"rotate("+[-90,M,A]+")"+UGe(-k/2,S-x/2)});else if(o[0]==="l")A=S-x/2;else if(o[0]==="a"&&o.indexOf("atitle")!==0)M=0,A=S;else{var y=e.attr("text-anchor");M=M-k*(y==="middle"?.5:y==="end"?1:0),A=A+S-x/2}v.attr({x:M,y:A}),r&&r.call(e,m),l(m)})})):s(),e};var VGe=/(<|<|<)/g,YGe=/(>|>|>)/g;function GGe(e){return e.replace(VGe,"\\lt ").replace(YGe,"\\gt ")}var fZ=[["$","$"],["\\(","\\)"]];function WGe(e,t,r){var n=parseInt((MathJax.version||"").split(".")[0]);if(n!==2&&n!==3){Xv.warn("No MathJax version:",MathJax.version);return}var i,a,o,s,l=function(){return a=Xv.extendDeepAll({},MathJax.Hub.config),o=MathJax.Hub.processSectionDelay,MathJax.Hub.processSectionDelay!==void 0&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:"none",tex2jax:{inlineMath:fZ},displayAlign:"left"})},u=function(){a=Xv.extendDeepAll({},MathJax.config),MathJax.config.tex||(MathJax.config.tex={}),MathJax.config.tex.inlineMath=fZ},f=function(){if(i=MathJax.Hub.config.menuSettings.renderer,i!=="SVG")return MathJax.Hub.setRenderer("SVG")},c=function(){i=MathJax.config.startup.output,i!=="svg"&&(MathJax.config.startup.output="svg")},h=function(){var _="math-output-"+Xv.randstr({},64);s=Lo.select("body").append("div").attr({id:_}).style({visibility:"hidden",position:"absolute","font-size":t.fontSize+"px"}).text(GGe(e));var T=s.node();return n===2?MathJax.Hub.Typeset(T):MathJax.typeset([T])},d=function(){var _=s.select(n===2?".MathJax_SVG":".MathJax"),T=!_.empty()&&s.select("svg").node();if(!T)Xv.log("There was an error in the tex syntax.",e),r();else{var w=T.getBoundingClientRect(),k;n===2?k=Lo.select("body").select("#MathJax_SVG_glyphs"):k=_.select("defs"),r(_,k,w)}s.remove()},v=function(){if(i!=="SVG")return MathJax.Hub.setRenderer(i)},m=function(){i!=="svg"&&(MathJax.config.startup.output=i)},b=function(){return o!==void 0&&(MathJax.Hub.processSectionDelay=o),MathJax.Hub.Config(a)},g=function(){MathJax.config=a};n===2?MathJax.Hub.Queue(l,f,h,d,v,b):n===3&&(u(),c(),MathJax.startup.defaultReady(),MathJax.startup.promise.then(function(){h(),d(),m(),g()}))}var dZ={sup:"font-size:70%",sub:"font-size:70%",s:"text-decoration:line-through",u:"text-decoration:underline",b:"font-weight:bold",i:"font-style:italic",a:"cursor:pointer",span:"",em:"font-style:italic;font-weight:bold"},XGe={sub:"0.3em",sup:"-0.6em"},ZGe={sub:"-0.21em",sup:"0.42em"},cZ="\u200B",hZ=["http:","https:","mailto:","",void 0,":"],pZ=Kf.NEWLINES=/(\r\n?|\n)/g,iL=/(<[^<>]*>)/,aL=/<(\/?)([^ >]*)(\s+(.*))?>/i,JGe=/<br(\s+.*)?>/i;Kf.BR_TAG_ALL=/<br(\s+.*)?>/gi;var gZ=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,mZ=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,yZ=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,$Ge=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function Gp(e,t){if(!e)return null;var r=e.match(t),n=r&&(r[3]||r[4]);return n&&KT(n)}var KGe=/(^|;)\s*color:/;Kf.plainText=function(e,t){t=t||{};for(var r=t.len!==void 0&&t.len!==-1?t.len:1/0,n=t.allowedTags!==void 0?t.allowedTags:["br"],i="...",a=i.length,o=e.split(iL),s=[],l="",u=0,f=0;f<o.length;f++){var c=o[f],h=c.match(aL),d=h&&h[2].toLowerCase();if(d)n.indexOf(d)!==-1&&(s.push(c),l=d);else{var v=c.length;if(u+v<r)s.push(c),u+=v;else if(u<r){var m=r-u;l&&(l!=="br"||m<=a||v<=a)&&s.pop(),r>a?s.push(c.substr(0,m-a)+i):s.push(c.substr(0,m));break}l=""}}return s.join("")};var QGe={mu:"\u03BC",amp:"&",lt:"<",gt:">",nbsp:"\xA0",times:"\xD7",plusmn:"\xB1",deg:"\xB0"},eWe=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function KT(e){return e.replace(eWe,function(t,r){var n;return r.charAt(0)==="#"?n=tWe(r.charAt(1)==="x"?parseInt(r.substr(2),16):parseInt(r.substr(1),10)):n=QGe[r],n||t})}Kf.convertEntities=KT;function tWe(e){if(!(e>1114111)){var t=String.fromCodePoint;if(t)return t(e);var r=String.fromCharCode;return e<=65535?r(e):r((e>>10)+55232,e%1024+56320)}}function rWe(e,t){t=t.replace(pZ," ");var r=!1,n=[],i,a=-1;function o(){a++;var x=document.createElementNS(rL.svg,"tspan");Lo.select(x).attr({class:"line",dy:a*HGe+"em"}),e.appendChild(x),i=x;var M=n;if(n=[{node:x}],M.length>1)for(var A=1;A<M.length;A++)s(M[A])}function s(x){var M=x.type,A={},p;if(M==="a"){p="a";var S=x.target,y=x.href,E=x.popup;y&&(A={"xlink:xlink:show":S==="_blank"||S.charAt(0)!=="_"?"new":"replace",target:S,"xlink:xlink:href":y},E&&(A.onclick='window.open(this.href.baseVal,this.target.baseVal,"'+E+'");return false;'))}else p="tspan";x.style&&(A.style=x.style);var C=document.createElementNS(rL.svg,p);if(M==="sup"||M==="sub"){l(i,cZ),i.appendChild(C);var L=document.createElementNS(rL.svg,"tspan");l(L,cZ),Lo.select(L).attr("dy",ZGe[M]),A.dy=XGe[M],i.appendChild(C),i.appendChild(L)}else i.appendChild(C);Lo.select(C).attr(A),i=x.node=C,n.push(x)}function l(x,M){x.appendChild(document.createTextNode(M))}function u(x){if(n.length===1){Xv.log("Ignoring unexpected end tag </"+x+">.",t);return}var M=n.pop();x!==M.type&&Xv.log("Start tag <"+M.type+"> doesnt match end tag <"+x+">. Pretending it did match.",t),i=n[n.length-1].node}var f=JGe.test(t);f?o():(i=e,n=[{node:e}]);for(var c=t.split(iL),h=0;h<c.length;h++){var d=c[h],v=d.match(aL),m=v&&v[2].toLowerCase(),b=dZ[m];if(m==="br")o();else if(b===void 0)l(i,KT(d));else if(v[1])u(m);else{var g=v[4],_={type:m},T=Gp(g,gZ);if(T?(T=T.replace(KGe,"$1 fill:"),b&&(T+=";"+b)):b&&(T=b),T&&(_.style=T),m==="a"){r=!0;var w=Gp(g,mZ);if(w){var k=xZ(w);k&&(_.href=k,_.target=Gp(g,yZ)||"_blank",_.popup=Gp(g,$Ge))}}s(_)}}return r}function xZ(e){var t=encodeURI(decodeURI(e)),r=document.createElement("a"),n=document.createElement("a");r.href=e,n.href=t;var i=r.protocol,a=n.protocol;return hZ.indexOf(i)!==-1&&hZ.indexOf(a)!==-1?t:""}Kf.sanitizeHTML=function(t){t=t.replace(pZ," ");for(var r=document.createElement("p"),n=r,i=[],a=t.split(iL),o=0;o<a.length;o++){var s=a[o],l=s.match(aL),u=l&&l[2].toLowerCase();if(u in dZ)if(l[1])i.length&&(n=i.pop());else{var f=l[4],c=Gp(f,gZ),h=c?{style:c}:{};if(u==="a"){var d=Gp(f,mZ);if(d){var v=xZ(d);if(v){h.href=v;var m=Gp(f,yZ);m&&(h.target=m)}}}var b=document.createElement(u);n.appendChild(b),Lo.select(b).attr(h),n=b,i.push(b)}else n.appendChild(document.createTextNode(KT(s)))}var g="innerHTML";return r[g]};Kf.lineCount=function(t){return t.selectAll("tspan.line").size()||1};Kf.positionText=function(t,r,n){return t.each(function(){var i=Lo.select(this);function a(l,u){return u===void 0?(u=i.attr(l),u===null&&(i.attr(l,0),u=0)):i.attr(l,u),u}var o=a("x",r),s=a("y",n);this.nodeName==="text"&&i.selectAll("tspan.line").attr({x:o,y:s})})};function vZ(e,t,r){var n=r.horizontalAlign,i=r.verticalAlign||"top",a=e.node().getBoundingClientRect(),o=t.node().getBoundingClientRect(),s,l,u;return i==="bottom"?l=function(){return a.bottom-s.height}:i==="middle"?l=function(){return a.top+(a.height-s.height)/2}:l=function(){return a.top},n==="right"?u=function(){return a.right-s.width}:n==="center"?u=function(){return a.left+(a.width-s.width)/2}:u=function(){return a.left},function(){s=this.node().getBoundingClientRect();var f=u()-o.left,c=l()-o.top,h=r.gd||{};if(r.gd){h._fullLayout._calcInverseTransform(h);var d=Xv.apply3DTransform(h._fullLayout._invTransform)(f,c);f=d[0],c=d[1]}return this.style({top:c+"px",left:f+"px","z-index":1e3}),this}}var nL="1px ";Kf.makeTextShadow=function(e){var t=nL,r=nL,n=nL;return t+r+n+e+", -"+t+"-"+r+n+e+", "+t+"-"+r+n+e+", -"+t+r+n+e};Kf.makeEditable=function(e,t){var r=t.gd,n=t.delegate,i=Lo.dispatch("edit","input","cancel"),a=n||e;if(e.style({"pointer-events":n?"none":"all"}),e.size()!==1)throw new Error("boo");function o(){l(),e.style({opacity:0});var u=a.attr("class"),f;u?f="."+u.split(" ")[0]+"-math-group":f="[class*=-math-group]",f&&Lo.select(e.node().parentNode).select(f).style({opacity:0})}function s(u){var f=u.node(),c=document.createRange();c.selectNodeContents(f);var h=window.getSelection();h.removeAllRanges(),h.addRange(c),f.focus()}function l(){var u=Lo.select(r),f=u.select(".svg-container"),c=f.append("div"),h=e.node().style,d=parseFloat(h.fontSize||12),v=t.text;v===void 0&&(v=e.attr("data-unformatted")),c.classed("plugin-editable editable",!0).style({position:"absolute","font-family":h.fontFamily||"Arial","font-size":d,color:t.fill||h.fill||"black",opacity:1,"background-color":t.background||"transparent",outline:"#ffffff33 1px solid",margin:[-d/8+1,0,0,-1].join("px ")+"px",padding:"0","box-sizing":"border-box"}).attr({contenteditable:!0}).text(v).call(vZ(e,f,t)).on("blur",function(){r._editing=!1,e.text(this.textContent).style({opacity:1});var m=Lo.select(this).attr("class"),b;m?b="."+m.split(" ")[0]+"-math-group":b="[class*=-math-group]",b&&Lo.select(e.node().parentNode).select(b).style({opacity:0});var g=this.textContent;Lo.select(this).transition().duration(0).remove(),Lo.select(document).on("mouseup",null),i.edit.call(e,g)}).on("focus",function(){var m=this;r._editing=!0,Lo.select(document).on("mouseup",function(){if(Lo.event.target===m)return!1;document.activeElement===c.node()&&c.node().blur()})}).on("keyup",function(){Lo.event.which===27?(r._editing=!1,e.style({opacity:1}),Lo.select(this).style({opacity:0}).on("blur",function(){return!1}).transition().remove(),i.cancel.call(e,this.textContent)):(i.input.call(e,this.textContent),Lo.select(this).call(vZ(e,f,t)))}).on("keydown",function(){Lo.event.which===13&&this.blur()}).call(s)}return t.immediate?o():a.on("click",o),Lo.rebind(e,i,"on")}});var nu=J((h8t,SZ)=>{"use strict";var nWe=Nr(),eA=ls(),r2=dn(),QT=gt(),bZ=qr(),iWe=Pp().isValid;function aWe(e,t,r){var n=t?QT.nestedProperty(e,t).get()||{}:e,i=n[r||"color"];i&&i._inputArray&&(i=i._inputArray);var a=!1;if(QT.isArrayOrTypedArray(i)){for(var o=0;o<i.length;o++)if(r2(i[o])){a=!0;break}}return QT.isPlainObject(n)&&(a||n.showscale===!0||r2(n.cmin)&&r2(n.cmax)||iWe(n.colorscale)||QT.isPlainObject(n.colorbar))}var wZ=["showscale","autocolorscale","colorscale","reversescale","colorbar"],t2=["min","max","mid","auto"];function TZ(e){var t=e._colorAx,r=t||e,n={},i,a,o;for(a=0;a<wZ.length;a++)o=wZ[a],n[o]=r[o];if(t)for(i="c",a=0;a<t2.length;a++)o=t2[a],n[o]=r["c"+o];else{var s;for(a=0;a<t2.length;a++){if(o=t2[a],s="c"+o,s in r){n[o]=r[s];continue}s="z"+o,s in r&&(n[o]=r[s])}i=s.charAt(0)}return n._sync=function(l,u){var f=t2.indexOf(l)!==-1?i+l:l;r[f]=r["_"+f]=u},n}function AZ(e){for(var t=TZ(e),r=t.min,n=t.max,i=t.reversescale?MZ(t.colorscale):t.colorscale,a=i.length,o=new Array(a),s=new Array(a),l=0;l<a;l++){var u=i[l];o[l]=r+u[0]*(n-r),s[l]=u[1]}return{domain:o,range:s}}function MZ(e){for(var t=e.length,r=new Array(t),n=t-1,i=0;n>=0;n--,i++){var a=e[n];r[i]=[1-a[0],a[1]]}return r}function kZ(e,t){t=t||{};for(var r=e.domain,n=e.range,i=n.length,a=new Array(i),o=0;o<i;o++){var s=eA(n[o]).toRgb();a[o]=[s.r,s.g,s.b,s.a]}var l=nWe.scale.linear().domain(r).range(a).clamp(!0),u=t.noNumericCheck,f=t.returnArray,c;return u&&f?c=l:u?c=function(h){return _Z(l(h))}:f?c=function(h){return r2(h)?l(h):eA(h).isValid()?h:bZ.defaultLine}:c=function(h){return r2(h)?_Z(l(h)):eA(h).isValid()?h:bZ.defaultLine},c.domain=l.domain,c.range=function(){return n},c}function oWe(e,t){return kZ(AZ(e),t)}function _Z(e){var t={r:e[0],g:e[1],b:e[2],a:e[3]};return eA(t).toRgbString()}SZ.exports={hasColorscale:aWe,extractOpts:TZ,extractScale:AZ,flipScale:MZ,makeColorScaleFunc:kZ,makeColorScaleFuncFromTrace:oWe}});var Ga=J((v8t,LZ)=>{"use strict";var CZ=SE(),sWe=CZ.FORMAT_LINK,lWe=CZ.DATE_FORMAT_LINK;function uWe(e,t){return{valType:"string",dflt:"",editType:"none",description:(t?oL:EZ)("hover text",e)+["By default the values are formatted using "+(t?"generic number format":"`"+e+"axis.hoverformat`")+"."].join(" ")}}function oL(e,t){return["Sets the "+e+" formatting rule"+(t?"for `"+t+"` ":""),"using d3 formatting mini-languages","which are very similar to those in Python. For numbers, see: "+sWe+"."].join(" ")}function EZ(e,t){return oL(e,t)+[" And for dates see: "+lWe+".","We add two items to d3's date formatter:","*%h* for half of the year as a decimal number as well as","*%{n}f* for fractional seconds","with n digits. For example, *2016-10-13 09:15:23.456* with tickformat","*%H~%M~%S.%2f* would display *09~15~23.46*"].join(" ")}LZ.exports={axisHoverFormat:uWe,descriptionOnlyNumbers:oL,descriptionWithDates:EZ}});var hl=J((d8t,GZ)=>{"use strict";var sL=xa(),z1=Ho(),YZ=Ss().dash,fL=cn().extendFlat,DZ=ki().templatedArray,RZ=Ga().descriptionWithDates,fWe=oi().ONEDAY,Wh=Eo(),lL=Wh.HOUR_PATTERN,uL=Wh.WEEKDAY_PATTERN,tA={valType:"enumerated",values:["auto","linear","array"],editType:"ticks",impliedEdits:{tick0:void 0,dtick:void 0},description:["Sets the tick mode for this axis.","If *auto*, the number of ticks is set via `nticks`.","If *linear*, the placement of the ticks is determined by","a starting position `tick0` and a tick step `dtick`","(*linear* is the default value if `tick0` and `dtick` are provided).","If *array*, the placement of the ticks is set via `tickvals`","and the tick text is `ticktext`.","(*array* is the default value if `tickvals` is provided)."].join(" ")},cWe=fL({},tA,{values:tA.values.slice().concat(["sync"]),description:[tA.description,"If *sync*, the number of ticks will sync with the overlayed axis","set by `overlaying` property."].join(" ")});function PZ(e){return{valType:"integer",min:0,dflt:e?5:0,editType:"ticks",description:["Specifies the maximum number of ticks for the particular axis.","The actual number of ticks will be chosen automatically to be","less than or equal to `nticks`.","Has an effect only if `tickmode` is set to *auto*."].join(" ")}}var IZ={valType:"any",editType:"ticks",impliedEdits:{tickmode:"linear"},description:["Sets the placement of the first tick on this axis.","Use with `dtick`.","If the axis `type` is *log*, then you must take the log of your starting tick","(e.g. to set the starting tick to 100, set the `tick0` to 2)","except when `dtick`=*L<f>* (see `dtick` for more info).","If the axis `type` is *date*, it should be a date string, like date data.","If the axis `type` is *category*, it should be a number, using the scale where","each category is assigned a serial number from zero in the order it appears."].join(" ")},qZ={valType:"any",editType:"ticks",impliedEdits:{tickmode:"linear"},description:["Sets the step in-between ticks on this axis. Use with `tick0`.","Must be a positive number, or special strings available to *log* and *date* axes.","If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n","is the tick number. For example,","to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1.","To set tick marks at 1, 100, 10000, ... set dtick to 2.","To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433.","*log* has several special values; *L<f>*, where `f` is a positive number,","gives ticks linearly spaced in value (but not position).","For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc.","To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5).","`tick0` is ignored for *D1* and *D2*.","If the axis `type` is *date*, then you must convert the time to milliseconds.","For example, to set the interval between ticks to one day,","set `dtick` to 86400000.0.","*date* also has special values *M<n>* gives ticks spaced by a number of months.","`n` must be a positive integer.","To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*.","To set ticks every 4 years, set `dtick` to *M48*"].join(" ")},FZ={valType:"data_array",editType:"ticks",description:["Sets the values at which ticks on this axis appear.","Only has an effect if `tickmode` is set to *array*.","Used with `ticktext`."].join(" ")},zZ={valType:"enumerated",values:["outside","inside",""],editType:"ticks",description:["Determines whether ticks are drawn or not.","If **, this axis' ticks are not drawn.","If *outside* (*inside*), this axis' are drawn outside (inside)","the axis lines."].join(" ")};function NZ(e){var t={valType:"number",min:0,editType:"ticks",description:"Sets the tick length (in px)."};return e||(t.dflt=5),t}function OZ(e){var t={valType:"number",min:0,editType:"ticks",description:"Sets the tick width (in px)."};return e||(t.dflt=1),t}var BZ={valType:"color",dflt:z1.defaultLine,editType:"ticks",description:"Sets the tick color."},UZ={valType:"color",dflt:z1.lightLine,editType:"ticks",description:"Sets the color of the grid lines."};function HZ(e){var t={valType:"number",min:0,editType:"ticks",description:"Sets the width (in px) of the grid lines."};return e||(t.dflt=1),t}var jZ=fL({},YZ,{editType:"ticks"}),VZ={valType:"boolean",editType:"ticks",description:["Determines whether or not grid lines are drawn.","If *true*, the grid lines are drawn at every tick mark."].join(" ")};GZ.exports={visible:{valType:"boolean",editType:"plot",description:["A single toggle to hide the axis while preserving interaction like dragging.","Default is true when a cheater plot is present on the axis, otherwise","false"].join(" ")},color:{valType:"color",dflt:z1.defaultLine,editType:"ticks",description:["Sets default for all colors associated with this axis","all at once: line, font, tick, and grid colors.","Grid color is lightened by blending this with the plot background","Individual pieces can override this."].join(" ")},title:{text:{valType:"string",editType:"ticks",description:["Sets the title of this axis.","Note that before the existence of `title.text`, the title's","contents used to be defined as the `title` attribute itself.","This behavior has been deprecated."].join(" ")},font:sL({editType:"ticks",description:["Sets this axis' title font.","Note that the title's font used to be customized","by the now deprecated `titlefont` attribute."].join(" ")}),standoff:{valType:"number",min:0,editType:"ticks",description:["Sets the standoff distance (in px) between the axis labels and the title text","The default value is a function of the axis tick labels, the title `font.size`","and the axis `linewidth`.","Note that the axis title position is always constrained within the margins,","so the actual standoff distance is always less than the set or default value.","By setting `standoff` and turning on `automargin`, plotly.js will push the","margins to fit the axis title at given standoff distance."].join(" ")},editType:"ticks"},type:{valType:"enumerated",values:["-","linear","log","date","category","multicategory"],dflt:"-",editType:"calc",_noTemplating:!0,description:["Sets the axis type.","By default, plotly attempts to determined the axis type","by looking into the data of the traces that referenced","the axis in question."].join(" ")},autotypenumbers:{valType:"enumerated",values:["convert types","strict"],dflt:"convert types",editType:"calc",description:["Using *strict* a numeric string in trace data is not converted to a number.","Using *convert types* a numeric string in trace data may be","treated as a number during automatic axis `type` detection.","Defaults to layout.autotypenumbers."].join(" ")},autorange:{valType:"enumerated",values:[!0,!1,"reversed","min reversed","max reversed","min","max"],dflt:!0,editType:"axrange",impliedEdits:{"range[0]":void 0,"range[1]":void 0},description:["Determines whether or not the range of this axis is","computed in relation to the input data.","See `rangemode` for more info.","If `range` is provided and it has a value for both the","lower and upper bound, `autorange` is set to *false*.","Using *min* applies autorange only to set the minimum.","Using *max* applies autorange only to set the maximum.","Using *min reversed* applies autorange only to set the minimum on a reversed axis.","Using *max reversed* applies autorange only to set the maximum on a reversed axis.","Using *reversed* applies autorange on both ends and reverses the axis direction."].join(" ")},autorangeoptions:{minallowed:{valType:"any",editType:"plot",impliedEdits:{"range[0]":void 0,"range[1]":void 0},description:["Use this value exactly as autorange minimum."].join(" ")},maxallowed:{valType:"any",editType:"plot",impliedEdits:{"range[0]":void 0,"range[1]":void 0},description:["Use this value exactly as autorange maximum."].join(" ")},clipmin:{valType:"any",editType:"plot",impliedEdits:{"range[0]":void 0,"range[1]":void 0},description:["Clip autorange minimum if it goes beyond this value.","Has no effect when `autorangeoptions.minallowed` is provided."].join(" ")},clipmax:{valType:"any",editType:"plot",impliedEdits:{"range[0]":void 0,"range[1]":void 0},description:["Clip autorange maximum if it goes beyond this value.","Has no effect when `autorangeoptions.maxallowed` is provided."].join(" ")},include:{valType:"any",arrayOk:!0,editType:"plot",impliedEdits:{"range[0]":void 0,"range[1]":void 0},description:["Ensure this value is included in autorange."].join(" ")},editType:"plot"},rangemode:{valType:"enumerated",values:["normal","tozero","nonnegative"],dflt:"normal",editType:"plot",description:["If *normal*, the range is computed in relation to the extrema","of the input data.","If *tozero*`, the range extends to 0,","regardless of the input data","If *nonnegative*, the range is non-negative,","regardless of the input data.","Applies only to linear axes."].join(" ")},range:{valType:"info_array",items:[{valType:"any",editType:"axrange",impliedEdits:{"^autorange":!1},anim:!0},{valType:"any",editType:"axrange",impliedEdits:{"^autorange":!1},anim:!0}],editType:"axrange",impliedEdits:{autorange:!1},anim:!0,description:["Sets the range of this axis.","If the axis `type` is *log*, then you must take the log of your","desired range (e.g. to set the range from 1 to 100,","set the range from 0 to 2).","If the axis `type` is *date*, it should be date strings,","like date data, though Date objects and unix milliseconds","will be accepted and converted to strings.","If the axis `type` is *category*, it should be numbers,","using the scale where each category is assigned a serial","number from zero in the order it appears.","Leaving either or both elements `null` impacts the default `autorange`."].join(" ")},minallowed:{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1},description:["Determines the minimum range of this axis."].join(" ")},maxallowed:{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1},description:["Determines the maximum range of this axis."].join(" ")},fixedrange:{valType:"boolean",dflt:!1,editType:"calc",description:["Determines whether or not this axis is zoom-able.","If true, then zoom is disabled."].join(" ")},insiderange:{valType:"info_array",items:[{valType:"any",editType:"plot"},{valType:"any",editType:"plot"}],editType:"plot",description:["Could be used to set the desired inside range of this axis","(excluding the labels) when `ticklabelposition` of","the anchored axis has *inside*.","Not implemented for axes with `type` *log*.","This would be ignored when `range` is provided."].join(" ")},scaleanchor:{valType:"enumerated",values:[Wh.idRegex.x.toString(),Wh.idRegex.y.toString(),!1],editType:"plot",description:["If set to another axis id (e.g. `x2`, `y`), the range of this axis","changes together with the range of the corresponding axis","such that the scale of pixels per unit is in a constant ratio.","Both axes are still zoomable, but when you zoom one, the other will","zoom the same amount, keeping a fixed midpoint.","`constrain` and `constraintoward` determine how we enforce the constraint.","You can chain these, ie `yaxis: {scaleanchor: *x*}, xaxis2: {scaleanchor: *y*}`","but you can only link axes of the same `type`.","The linked axis can have the opposite letter (to constrain the aspect ratio)","or the same letter (to match scales across subplots).","Loops (`yaxis: {scaleanchor: *x*}, xaxis: {scaleanchor: *y*}` or longer) are redundant","and the last constraint encountered will be ignored to avoid possible","inconsistent constraints via `scaleratio`.","Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint","is currently forbidden.","Setting `false` allows to remove a default constraint (occasionally,","you may need to prevent a default `scaleanchor` constraint from",'being applied, eg. when having an image trace `yaxis: {scaleanchor: "x"}`',"is set automatically in order for pixels to be rendered as squares,","setting `yaxis: {scaleanchor: false}` allows to remove the constraint)."].join(" ")},scaleratio:{valType:"number",min:0,dflt:1,editType:"plot",description:["If this axis is linked to another by `scaleanchor`, this determines the pixel","to unit scale ratio. For example, if this value is 10, then every unit on","this axis spans 10 times the number of pixels as a unit on the linked axis.","Use this for example to create an elevation profile where the vertical scale","is exaggerated a fixed amount with respect to the horizontal."].join(" ")},constrain:{valType:"enumerated",values:["range","domain"],editType:"plot",description:["If this axis needs to be compressed (either due to its own `scaleanchor` and","`scaleratio` or those of the other axis), determines how that happens:","by increasing the *range*, or by decreasing the *domain*.","Default is *domain* for axes containing image traces, *range* otherwise."].join(" ")},constraintoward:{valType:"enumerated",values:["left","center","right","top","middle","bottom"],editType:"plot",description:["If this axis needs to be compressed (either due to its own `scaleanchor` and","`scaleratio` or those of the other axis), determines which direction we push","the originally specified plot area. Options are *left*, *center* (default),","and *right* for x axes, and *top*, *middle* (default), and *bottom* for y axes."].join(" ")},matches:{valType:"enumerated",values:[Wh.idRegex.x.toString(),Wh.idRegex.y.toString()],editType:"calc",description:["If set to another axis id (e.g. `x2`, `y`), the range of this axis","will match the range of the corresponding axis in data-coordinates space.","Moreover, matching axes share auto-range values, category lists and","histogram auto-bins.","Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint","is currently forbidden.","Moreover, note that matching axes must have the same `type`."].join(" ")},rangebreaks:DZ("rangebreak",{enabled:{valType:"boolean",dflt:!0,editType:"calc",description:["Determines whether this axis rangebreak is enabled or disabled.","Please note that `rangebreaks` only work for *date* axis type."].join(" ")},bounds:{valType:"info_array",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}],editType:"calc",description:["Sets the lower and upper bounds of this axis rangebreak.","Can be used with `pattern`."].join(" ")},pattern:{valType:"enumerated",values:[uL,lL,""],editType:"calc",description:["Determines a pattern on the time line that generates breaks.","If *"+uL+"* - days of the week in English e.g. 'Sunday' or `sun`","(matching is case-insensitive and considers only the first three characters),","as well as Sunday-based integers between 0 and 6.","If *"+lL+"* - hour (24-hour clock) as decimal numbers between 0 and 24.","for more info.","Examples:","- { pattern: '"+uL+"', bounds: [6, 1] }"," or simply { bounds: ['sat', 'mon'] }"," breaks from Saturday to Monday (i.e. skips the weekends).","- { pattern: '"+lL+"', bounds: [17, 8] }"," breaks from 5pm to 8am (i.e. skips non-work hours)."].join(" ")},values:{valType:"info_array",freeLength:!0,editType:"calc",items:{valType:"any",editType:"calc"},description:["Sets the coordinate values corresponding to the rangebreaks.","An alternative to `bounds`.","Use `dvalue` to set the size of the values along the axis."].join(" ")},dvalue:{valType:"number",editType:"calc",min:0,dflt:fWe,description:["Sets the size of each `values` item.","The default is one day in milliseconds."].join(" ")},editType:"calc"}),tickmode:cWe,nticks:PZ(),tick0:IZ,dtick:qZ,ticklabelstep:{valType:"integer",min:1,dflt:1,editType:"ticks",description:["Sets the spacing between tick labels as compared to the spacing between ticks.","A value of 1 (default) means each tick gets a label.","A value of 2 means shows every 2nd label.","A larger value n means only every nth tick is labeled.","`tick0` determines which labels are shown.","Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*."].join(" ")},tickvals:FZ,ticktext:{valType:"data_array",editType:"ticks",description:["Sets the text displayed at the ticks position via `tickvals`.","Only has an effect if `tickmode` is set to *array*.","Used with `tickvals`."].join(" ")},ticks:zZ,tickson:{valType:"enumerated",values:["labels","boundaries"],dflt:"labels",editType:"ticks",description:["Determines where ticks and grid lines are drawn with respect to their","corresponding tick labels.","Only has an effect for axes of `type` *category* or *multicategory*.","When set to *boundaries*, ticks and grid lines are drawn half a category","to the left/bottom of labels."].join(" ")},ticklabelmode:{valType:"enumerated",values:["instant","period"],dflt:"instant",editType:"ticks",description:["Determines where tick labels are drawn with respect to their","corresponding ticks and grid lines.","Only has an effect for axes of `type` *date*","When set to *period*, tick labels are drawn in the middle of the period","between ticks."].join(" ")},ticklabelposition:{valType:"enumerated",values:["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"],dflt:"outside",editType:"calc",description:["Determines where tick labels are drawn with respect to the axis","Please note that","top or bottom has no effect on x axes or when `ticklabelmode` is set to *period*.","Similarly","left or right has no effect on y axes or when `ticklabelmode` is set to *period*.","Has no effect on *multicategory* axes or when `tickson` is set to *boundaries*.","When used on axes linked by `matches` or `scaleanchor`,","no extra padding for inside labels would be added by autorange,","so that the scales could match."].join(" ")},ticklabeloverflow:{valType:"enumerated",values:["allow","hide past div","hide past domain"],editType:"calc",description:["Determines how we handle tick labels that would overflow either the graph div or the domain of the axis.","The default value for inside tick labels is *hide past domain*.","Otherwise on *category* and *multicategory* axes the default is *allow*.","In other cases the default is *hide past div*."].join(" ")},ticklabelshift:{valType:"integer",dflt:0,editType:"ticks",description:["Shifts the tick labels by the specified number of pixels in parallel to the axis.","Positive values move the labels in the positive direction of the axis."].join(" ")},ticklabelstandoff:{valType:"integer",dflt:0,editType:"ticks",description:["Sets the standoff distance (in px) between the axis tick labels and their default position.","A positive `ticklabelstandoff` moves the labels farther away from the plot area","if `ticklabelposition` is *outside*, and deeper into the plot area if","`ticklabelposition` is *inside*. A negative `ticklabelstandoff` works in the opposite","direction, moving outside ticks towards the plot area and inside ticks towards","the outside. If the negative value is large enough, inside ticks can even end up","outside and vice versa."].join(" ")},ticklabelindex:{valType:"integer",arrayOk:!0,editType:"calc",description:["Only for axes with `type` *date* or *linear*.","Instead of drawing the major tick label, draw the label for the minor tick","that is n positions away from the major tick. E.g. to always draw the label for the","minor tick before each major tick, choose `ticklabelindex` -1. This is useful for date","axes with `ticklabelmode` *period* if you want to label the period that ends with each","major tick instead of the period that begins there."].join(" ")},mirror:{valType:"enumerated",values:[!0,"ticks",!1,"all","allticks"],dflt:!1,editType:"ticks+layoutstyle",description:["Determines if the axis lines or/and ticks are mirrored to","the opposite side of the plotting area.","If *true*, the axis lines are mirrored.","If *ticks*, the axis lines and ticks are mirrored.","If *false*, mirroring is disable.","If *all*, axis lines are mirrored on all shared-axes subplots.","If *allticks*, axis lines and ticks are mirrored","on all shared-axes subplots."].join(" ")},ticklen:NZ(),tickwidth:OZ(),tickcolor:BZ,showticklabels:{valType:"boolean",dflt:!0,editType:"ticks",description:"Determines whether or not the tick labels are drawn."},labelalias:{valType:"any",dflt:!1,editType:"ticks",description:["Replacement text for specific tick or hover labels.","For example using {US: 'USA', CA: 'Canada'} changes US to USA","and CA to Canada. The labels we would have shown must match","the keys exactly, after adding any tickprefix or ticksuffix.","For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash.","That means you need to use \u22121 instead of -1.","labelalias can be used with any axis type, and both keys (if needed)","and values (if desired) can include html-like tags or MathJax."].join(" ")},automargin:{valType:"flaglist",flags:["height","width","left","right","top","bottom"],extras:[!0,!1],dflt:!1,editType:"ticks",description:["Determines whether long tick labels automatically grow the figure","margins."].join(" ")},showspikes:{valType:"boolean",dflt:!1,editType:"modebar",description:["Determines whether or not spikes (aka droplines) are drawn for this axis.","Note: This only takes affect when hovermode = closest"].join(" ")},spikecolor:{valType:"color",dflt:null,editType:"none",description:"Sets the spike color. If undefined, will use the series color"},spikethickness:{valType:"number",dflt:3,editType:"none",description:"Sets the width (in px) of the zero line."},spikedash:fL({},YZ,{dflt:"dash",editType:"none"}),spikemode:{valType:"flaglist",flags:["toaxis","across","marker"],dflt:"toaxis",editType:"none",description:["Determines the drawing mode for the spike line","If *toaxis*, the line is drawn from the data point to the axis the ","series is plotted on.","If *across*, the line is drawn across the entire plot area, and","supercedes *toaxis*.","If *marker*, then a marker dot is drawn on the axis the series is","plotted on"].join(" ")},spikesnap:{valType:"enumerated",values:["data","cursor","hovered data"],dflt:"hovered data",editType:"none",description:"Determines whether spikelines are stuck to the cursor or to the closest datapoints."},tickfont:sL({editType:"ticks",description:"Sets the tick font."}),tickangle:{valType:"angle",dflt:"auto",editType:"ticks",description:["Sets the angle of the tick labels with respect to the horizontal.","For example, a `tickangle` of -90 draws the tick labels","vertically."].join(" ")},autotickangles:{valType:"info_array",freeLength:!0,items:{valType:"angle"},dflt:[0,30,90],editType:"ticks",description:["When `tickangle` is set to *auto*, it will be set to the first","angle in this array that is large enough to prevent label","overlap."].join(" ")},tickprefix:{valType:"string",dflt:"",editType:"ticks",description:"Sets a tick label prefix."},showtickprefix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks",description:["If *all*, all tick labels are displayed with a prefix.","If *first*, only the first tick is displayed with a prefix.","If *last*, only the last tick is displayed with a suffix.","If *none*, tick prefixes are hidden."].join(" ")},ticksuffix:{valType:"string",dflt:"",editType:"ticks",description:"Sets a tick label suffix."},showticksuffix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks",description:"Same as `showtickprefix` but for tick suffixes."},showexponent:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks",description:["If *all*, all exponents are shown besides their significands.","If *first*, only the exponent of the first tick is shown.","If *last*, only the exponent of the last tick is shown.","If *none*, no exponents appear."].join(" ")},exponentformat:{valType:"enumerated",values:["none","e","E","power","SI","B"],dflt:"B",editType:"ticks",description:["Determines a formatting rule for the tick exponents.","For example, consider the number 1,000,000,000.","If *none*, it appears as 1,000,000,000.","If *e*, 1e+9.","If *E*, 1E+9.","If *power*, 1x10^9 (with 9 in a super script).","If *SI*, 1G.","If *B*, 1B."].join(" ")},minexponent:{valType:"number",dflt:3,min:0,editType:"ticks",description:["Hide SI prefix for 10^n if |n| is below this number.","This only has an effect when `tickformat` is *SI* or *B*."].join(" ")},separatethousands:{valType:"boolean",dflt:!1,editType:"ticks",description:['If "true", even 4-digit integers are separated'].join(" ")},tickformat:{valType:"string",dflt:"",editType:"ticks",description:RZ("tick label")},tickformatstops:DZ("tickformatstop",{enabled:{valType:"boolean",dflt:!0,editType:"ticks",description:["Determines whether or not this stop is used.","If `false`, this stop is ignored even within its `dtickrange`."].join(" ")},dtickrange:{valType:"info_array",items:[{valType:"any",editType:"ticks"},{valType:"any",editType:"ticks"}],editType:"ticks",description:["range [*min*, *max*], where *min*, *max* - dtick values","which describe some zoom level, it is possible to omit *min*","or *max* value by passing *null*"].join(" ")},value:{valType:"string",dflt:"",editType:"ticks",description:["string - dtickformat for described zoom level, the same as *tickformat*"].join(" ")},editType:"ticks"}),hoverformat:{valType:"string",dflt:"",editType:"none",description:RZ("hover text")},showline:{valType:"boolean",dflt:!1,editType:"ticks+layoutstyle",description:["Determines whether or not a line bounding this axis is drawn."].join(" ")},linecolor:{valType:"color",dflt:z1.defaultLine,editType:"layoutstyle",description:"Sets the axis line color."},linewidth:{valType:"number",min:0,dflt:1,editType:"ticks+layoutstyle",description:"Sets the width (in px) of the axis line."},showgrid:VZ,gridcolor:UZ,gridwidth:HZ(),griddash:jZ,zeroline:{valType:"boolean",editType:"ticks",description:["Determines whether or not a line is drawn at along the 0 value","of this axis.","If *true*, the zero line is drawn on top of the grid lines."].join(" ")},zerolinecolor:{valType:"color",dflt:z1.defaultLine,editType:"ticks",description:"Sets the line color of the zero line."},zerolinewidth:{valType:"number",dflt:1,editType:"ticks",description:"Sets the width (in px) of the zero line."},showdividers:{valType:"boolean",dflt:!0,editType:"ticks",description:["Determines whether or not a dividers are drawn","between the category levels of this axis.","Only has an effect on *multicategory* axes."].join(" ")},dividercolor:{valType:"color",dflt:z1.defaultLine,editType:"ticks",description:["Sets the color of the dividers","Only has an effect on *multicategory* axes."].join(" ")},dividerwidth:{valType:"number",dflt:1,editType:"ticks",description:["Sets the width (in px) of the dividers","Only has an effect on *multicategory* axes."].join(" ")},anchor:{valType:"enumerated",values:["free",Wh.idRegex.x.toString(),Wh.idRegex.y.toString()],editType:"plot",description:["If set to an opposite-letter axis id (e.g. `x2`, `y`), this axis is bound to","the corresponding opposite-letter axis.","If set to *free*, this axis' position is determined by `position`."].join(" ")},side:{valType:"enumerated",values:["top","bottom","left","right"],editType:"plot",description:["Determines whether a x (y) axis is positioned","at the *bottom* (*left*) or *top* (*right*)","of the plotting area."].join(" ")},overlaying:{valType:"enumerated",values:["free",Wh.idRegex.x.toString(),Wh.idRegex.y.toString()],editType:"plot",description:["If set a same-letter axis id, this axis is overlaid on top of","the corresponding same-letter axis, with traces and axes visible for both","axes.","If *false*, this axis does not overlay any same-letter axes.","In this case, for axes with overlapping domains only the highest-numbered","axis will be visible."].join(" ")},minor:{tickmode:tA,nticks:PZ("minor"),tick0:IZ,dtick:qZ,tickvals:FZ,ticks:zZ,ticklen:NZ("minor"),tickwidth:OZ("minor"),tickcolor:BZ,gridcolor:UZ,gridwidth:HZ("minor"),griddash:jZ,showgrid:VZ,editType:"ticks"},layer:{valType:"enumerated",values:["above traces","below traces"],dflt:"above traces",editType:"plot",description:["Sets the layer on which this axis is displayed.","If *above traces*, this axis is displayed above all the subplot's traces","If *below traces*, this axis is displayed below all the subplot's traces,","but above the grid lines.","Useful when used together with scatter-like traces with `cliponaxis`","set to *false* to show markers and/or text nodes above this axis."].join(" ")},domain:{valType:"info_array",items:[{valType:"number",min:0,max:1,editType:"plot"},{valType:"number",min:0,max:1,editType:"plot"}],dflt:[0,1],editType:"plot",description:["Sets the domain of this axis (in plot fraction)."].join(" ")},position:{valType:"number",min:0,max:1,dflt:0,editType:"plot",description:["Sets the position of this axis in the plotting space","(in normalized coordinates).","Only has an effect if `anchor` is set to *free*."].join(" ")},autoshift:{valType:"boolean",dflt:!1,editType:"plot",description:["Automatically reposition the axis to avoid","overlap with other axes with the same `overlaying` value.","This repositioning will account for any `shift` amount applied to other","axes on the same side with `autoshift` is set to true.","Only has an effect if `anchor` is set to *free*."].join(" ")},shift:{valType:"number",editType:"plot",description:["Moves the axis a given number of pixels from where it would have been otherwise.","Accepts both positive and negative values, which will shift the axis either right","or left, respectively.","If `autoshift` is set to true, then this defaults to a padding of -3 if `side` is set to *left*.","and defaults to +3 if `side` is set to *right*. Defaults to 0 if `autoshift` is set to false.","Only has an effect if `anchor` is set to *free*."].join(" ")},categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","geometric mean ascending","geometric mean descending","median ascending","median descending"],dflt:"trace",editType:"calc",description:["Specifies the ordering logic for the case of categorical variables.","By default, plotly uses *trace*, which specifies the order that is present in the data supplied.","Set `categoryorder` to *category ascending* or *category descending* if order should be determined by","the alphanumerical order of the category names.","Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category","is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to","the *trace* mode. The unspecified categories will follow the categories in `categoryarray`.","Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the","numerical order of the values.","Similarly, the order can be determined by the min, max, sum, mean, geometric mean or median of all the values."].join(" ")},categoryarray:{valType:"data_array",editType:"calc",description:["Sets the order in which categories on this axis appear.","Only has an effect if `categoryorder` is set to *array*.","Used with `categoryorder`."].join(" ")},uirevision:{valType:"any",editType:"none",description:["Controls persistence of user-driven changes in axis `range`,","`autorange`, and `title` if in `editable: true` configuration.","Defaults to `layout.uirevision`."].join(" ")},editType:"calc",_deprecated:{autotick:{valType:"boolean",editType:"ticks",description:["Obsolete.","Set `tickmode` to *auto* for old `autotick` *true* behavior.","Set `tickmode` to *linear* for `autotick` *false*."].join(" ")},title:{valType:"string",editType:"ticks",description:["Value of `title` is no longer a simple *string* but a set of sub-attributes.","To set the axis' title, please use `title.text` now."].join(" ")},titlefont:sL({editType:"ticks",description:["Former `titlefont` is now the sub-attribute `font` of `title`.","To customize title font properties, please use `title.font` now."].join(" ")})}}});var rA=J((p8t,XZ)=>{"use strict";var wa=hl(),cL=xa(),WZ=cn().extendFlat,hWe=La().overrideAll;XZ.exports=hWe({orientation:{valType:"enumerated",values:["h","v"],dflt:"v",description:"Sets the orientation of the colorbar."},thicknessmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"pixels",description:["Determines whether this color bar's thickness","(i.e. the measure in the constant color direction)","is set in units of plot *fraction* or in *pixels*.","Use `thickness` to set the value."].join(" ")},thickness:{valType:"number",min:0,dflt:30,description:["Sets the thickness of the color bar","This measure excludes the size of the padding, ticks and labels."].join(" ")},lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction",description:["Determines whether this color bar's length","(i.e. the measure in the color variation direction)","is set in units of plot *fraction* or in *pixels.","Use `len` to set the value."].join(" ")},len:{valType:"number",min:0,dflt:1,description:["Sets the length of the color bar","This measure excludes the padding of both ends.","That is, the color bar length is this length minus the","padding on both ends."].join(" ")},x:{valType:"number",description:["Sets the x position with respect to `xref` of the color bar (in plot fraction).","When `xref` is *paper*, defaults to 1.02 when `orientation` is *v* and","0.5 when `orientation` is *h*.","When `xref` is *container*, defaults to *1* when `orientation` is *v* and","0.5 when `orientation` is *h*.","Must be between *0* and *1* if `xref` is *container*","and between *-2* and *3* if `xref` is *paper*."].join(" ")},xref:{valType:"enumerated",dflt:"paper",values:["container","paper"],editType:"layoutstyle",description:["Sets the container `x` refers to.","*container* spans the entire `width` of the plot.","*paper* refers to the width of the plotting area only."].join(" ")},xanchor:{valType:"enumerated",values:["left","center","right"],description:["Sets this color bar's horizontal position anchor.","This anchor binds the `x` position to the *left*, *center*","or *right* of the color bar.","Defaults to *left* when `orientation` is *v* and","*center* when `orientation` is *h*."].join(" ")},xpad:{valType:"number",min:0,dflt:10,description:"Sets the amount of padding (in px) along the x direction."},y:{valType:"number",description:["Sets the y position with respect to `yref` of the color bar (in plot fraction).","When `yref` is *paper*, defaults to 0.5 when `orientation` is *v* and","1.02 when `orientation` is *h*.","When `yref` is *container*, defaults to 0.5 when `orientation` is *v* and","1 when `orientation` is *h*.","Must be between *0* and *1* if `yref` is *container*","and between *-2* and *3* if `yref` is *paper*."].join(" ")},yref:{valType:"enumerated",dflt:"paper",values:["container","paper"],editType:"layoutstyle",description:["Sets the container `y` refers to.","*container* spans the entire `height` of the plot.","*paper* refers to the height of the plotting area only."].join(" ")},yanchor:{valType:"enumerated",values:["top","middle","bottom"],description:["Sets this color bar's vertical position anchor","This anchor binds the `y` position to the *top*, *middle*","or *bottom* of the color bar.","Defaults to *middle* when `orientation` is *v* and","*bottom* when `orientation` is *h*."].join(" ")},ypad:{valType:"number",min:0,dflt:10,description:"Sets the amount of padding (in px) along the y direction."},outlinecolor:wa.linecolor,outlinewidth:wa.linewidth,bordercolor:wa.linecolor,borderwidth:{valType:"number",min:0,dflt:0,description:["Sets the width (in px) or the border enclosing this color bar."].join(" ")},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",description:"Sets the color of padded area."},tickmode:wa.minor.tickmode,nticks:wa.nticks,tick0:wa.tick0,dtick:wa.dtick,tickvals:wa.tickvals,ticktext:wa.ticktext,ticks:WZ({},wa.ticks,{dflt:""}),ticklabeloverflow:WZ({},wa.ticklabeloverflow,{description:["Determines how we handle tick labels that would overflow either the graph div or the domain of the axis.","The default value for inside tick labels is *hide past domain*.","In other cases the default is *hide past div*."].join(" ")}),ticklabelposition:{valType:"enumerated",values:["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"],dflt:"outside",description:["Determines where tick labels are drawn relative to the ticks.","Left and right options are used when `orientation` is *h*,","top and bottom when `orientation` is *v*."].join(" ")},ticklen:wa.ticklen,tickwidth:wa.tickwidth,tickcolor:wa.tickcolor,ticklabelstep:wa.ticklabelstep,showticklabels:wa.showticklabels,labelalias:wa.labelalias,tickfont:cL({description:"Sets the color bar's tick label font"}),tickangle:wa.tickangle,tickformat:wa.tickformat,tickformatstops:wa.tickformatstops,tickprefix:wa.tickprefix,showtickprefix:wa.showtickprefix,ticksuffix:wa.ticksuffix,showticksuffix:wa.showticksuffix,separatethousands:wa.separatethousands,exponentformat:wa.exponentformat,minexponent:wa.minexponent,showexponent:wa.showexponent,title:{text:{valType:"string",description:["Sets the title of the color bar.","Note that before the existence of `title.text`, the title's","contents used to be defined as the `title` attribute itself.","This behavior has been deprecated."].join(" ")},font:cL({description:["Sets this color bar's title font.","Note that the title's font used to be set","by the now deprecated `titlefont` attribute."].join(" ")}),side:{valType:"enumerated",values:["right","top","bottom"],description:["Determines the location of color bar's title","with respect to the color bar.","Defaults to *top* when `orientation` if *v* and ","defaults to *right* when `orientation` if *h*.","Note that the title's location used to be set","by the now deprecated `titleside` attribute."].join(" ")}},_deprecated:{title:{valType:"string",description:["Deprecated in favor of color bar's `title.text`.","Note that value of color bar's `title` is no longer a simple","*string* but a set of sub-attributes."].join(" ")},titlefont:cL({description:"Deprecated in favor of color bar's `title.font`."}),titleside:{valType:"enumerated",values:["right","top","bottom"],dflt:"top",description:"Deprecated in favor of color bar's `title.side`."}}},"colorbars","from-root")});var Da=J((g8t,JZ)=>{"use strict";var vWe=rA(),dWe=_1().counter,pWe=Vb(),ZZ=Pp().scales,gWe=pWe(ZZ);function n2(e){return"`"+e+"`"}JZ.exports=function(t,r){t=t||"",r=r||{};var n=r.cLetter||"c",i="onlyIfNumerical"in r?r.onlyIfNumerical:Boolean(t),a="noScale"in r?r.noScale:t==="marker.line",o="showScaleDflt"in r?r.showScaleDflt:n==="z",s=typeof r.colorscaleDflt=="string"?ZZ[r.colorscaleDflt]:null,l=r.editTypeOverride||"",u=t?t+".":"",f,c;"colorAttr"in r?(f=r.colorAttr,c=r.colorAttr):(f={z:"z",c:"color"}[n],c="in "+n2(u+f));var h=i?" Has an effect only if "+c+" is set to a numerical array.":"",d=n+"auto",v=n+"min",m=n+"max",b=n+"mid",g=n2(u+d),_=n2(u+v),T=n2(u+m),w=_+" and "+T,k={};k[v]=k[m]=void 0;var x={};x[d]=!1;var M={};return f==="color"&&(M.color={valType:"color",arrayOk:!0,editType:l||"style",description:["Sets the",t,"color.","It accepts either a specific color","or an array of numbers that are mapped to the colorscale","relative to the max and min values of the array or relative to",w,"if set."].join(" ")},r.anim&&(M.color.anim=!0)),M[d]={valType:"boolean",dflt:!0,editType:"calc",impliedEdits:k,description:["Determines whether or not the color domain is computed","with respect to the input data (here "+c+") or the bounds set in",w+h,"Defaults to `false` when",w,"are set by the user."].join(" ")},M[v]={valType:"number",dflt:null,editType:l||"plot",impliedEdits:x,description:["Sets the lower bound of the color domain."+h,"Value should have the same units as",c,"and if set,",T,"must be set as well."].join(" ")},M[m]={valType:"number",dflt:null,editType:l||"plot",impliedEdits:x,description:["Sets the upper bound of the color domain."+h,"Value should have the same units as",c,"and if set,",_,"must be set as well."].join(" ")},M[b]={valType:"number",dflt:null,editType:"calc",impliedEdits:k,description:["Sets the mid-point of the color domain by scaling",_,"and/or",T,"to be equidistant to this point."+h,"Value should have the same units as",c+".","Has no effect when",g,"is `false`."].join(" ")},M.colorscale={valType:"colorscale",editType:"calc",dflt:s,impliedEdits:{autocolorscale:!1},description:["Sets the colorscale."+h,"The colorscale must be an array containing","arrays mapping a normalized value to an","rgb, rgba, hex, hsl, hsv, or named color string.","At minimum, a mapping for the lowest (0) and highest (1)","values are required. For example,","`[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`.","To control the bounds of the colorscale in color space,","use",w+".","Alternatively, `colorscale` may be a palette name string","of the following list: "+gWe+"."].join(" ")},M.autocolorscale={valType:"boolean",dflt:r.autoColorDflt!==!1,editType:"calc",impliedEdits:{colorscale:void 0},description:["Determines whether the colorscale is a default palette (`autocolorscale: true`)","or the palette determined by",n2(u+"colorscale")+"."+h,"In case `colorscale` is unspecified or `autocolorscale` is true, the default","palette will be chosen according to whether numbers in the `color` array are","all positive, all negative or mixed."].join(" ")},M.reversescale={valType:"boolean",dflt:!1,editType:"plot",description:["Reverses the color mapping if true."+h,"If true,",_,"will correspond to the last color","in the array and",T,"will correspond to the first color."].join(" ")},a||(M.showscale={valType:"boolean",dflt:o,editType:"calc",description:["Determines whether or not a colorbar is displayed for this trace."+h].join(" ")},M.colorbar=vWe),r.noColorAxis||(M.coloraxis={valType:"subplotid",regex:dWe("coloraxis"),dflt:null,editType:"calc",description:["Sets a reference to a shared color axis.","References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc.","Settings for these shared color axes are set in the layout, under","`layout.coloraxis`, `layout.coloraxis2`, etc.","Note that multiple color scales can be linked to the same color axis."].join(" ")}),M}});var dL=J((m8t,$Z)=>{"use strict";var mWe=cn().extendFlat,yWe=Da(),hL=Pp().scales,vL="Note that `autocolorscale` must be true for this attribute to work.";$Z.exports={editType:"calc",colorscale:{editType:"calc",sequential:{valType:"colorscale",dflt:hL.Reds,editType:"calc",description:["Sets the default sequential colorscale for positive values.",vL].join(" ")},sequentialminus:{valType:"colorscale",dflt:hL.Blues,editType:"calc",description:["Sets the default sequential colorscale for negative values.",vL].join(" ")},diverging:{valType:"colorscale",dflt:hL.RdBu,editType:"calc",description:["Sets the default diverging colorscale.",vL].join(" ")}},coloraxis:mWe({_isSubplotObj:!0,editType:"calc",description:[""].join(" ")},yWe("",{colorAttr:"corresponding trace color array(s)",noColorAxis:!0,showScaleDflt:!0}))}});var pL=J((y8t,KZ)=>{"use strict";var xWe=gt();KZ.exports=function(t){return xWe.isPlainObject(t.colorbar)}});var yL=J(mL=>{"use strict";var gL=dn(),QZ=gt(),eJ=oi(),bWe=eJ.ONEDAY,wWe=eJ.ONEWEEK;mL.dtick=function(e,t){var r=t==="log",n=t==="date",i=t==="category",a=n?bWe:1;if(!e)return a;if(gL(e))return e=Number(e),e<=0?a:i?Math.max(1,Math.round(e)):n?Math.max(.1,e):e;if(typeof e!="string"||!(n||r))return a;var o=e.charAt(0),s=e.substr(1);return s=gL(s)?Number(s):0,s<=0||!(n&&o==="M"&&s===Math.round(s)||r&&o==="L"||r&&o==="D"&&(s===1||s===2))?a:e};mL.tick0=function(e,t,r,n){if(t==="date")return QZ.cleanDate(e,QZ.dateTick0(r,n%wWe===0?1:0));if(!(n==="D1"||n==="D2"))return gL(e)?Number(e):0}});var Wp=J((b8t,rJ)=>{"use strict";var tJ=yL(),_We=gt().isArrayOrTypedArray,TWe=fl().isTypedArraySpec,AWe=fl().decodeTypedArraySpec;rJ.exports=function(t,r,n,i,a){a||(a={});var o=a.isMinor,s=o?t.minor||{}:t,l=o?r.minor:r,u=o?"minor.":"";function f(_){var T=s[_];return TWe(T)&&(T=AWe(T)),T!==void 0?T:(l._template||{})[_]}var c=f("tick0"),h=f("dtick"),d=f("tickvals"),v=_We(d)?"array":h?"linear":"auto",m=n(u+"tickmode",v);if(m==="auto"||m==="sync")n(u+"nticks");else if(m==="linear"){var b=l.dtick=tJ.dtick(h,i);l.tick0=tJ.tick0(c,i,r.calendar,b)}else if(i!=="multicategory"){var g=n(u+"tickvals");g===void 0?l.tickmode="auto":o||n("ticktext")}}});var N1=J((w8t,iJ)=>{"use strict";var xL=gt(),nJ=hl();iJ.exports=function(t,r,n,i){var a=i.isMinor,o=a?t.minor||{}:t,s=a?r.minor:r,l=a?nJ.minor:nJ,u=a?"minor.":"",f=xL.coerce2(o,s,l,"ticklen",a?(r.ticklen||5)*.6:void 0),c=xL.coerce2(o,s,l,"tickwidth",a?r.tickwidth||1:void 0),h=xL.coerce2(o,s,l,"tickcolor",(a?r.tickcolor:void 0)||s.color),d=n(u+"ticks",!a&&i.outerTicks||f||c||h?"outside":"");d||(delete s.ticklen,delete s.tickwidth,delete s.tickcolor)}});var bL=J((_8t,aJ)=>{"use strict";aJ.exports=function(t){var r=["showexponent","showtickprefix","showticksuffix"],n=r.filter(function(a){return t[a]!==void 0}),i=function(a){return t[a]===t[n[0]]};if(n.every(i)||n.length===1)return t[n[0]]}});var Bu=J((T8t,oJ)=>{"use strict";var nA=gt(),MWe=ki();oJ.exports=function(t,r,n){var i=n.name,a=n.inclusionAttr||"visible",o=r[i],s=nA.isArrayOrTypedArray(t[i])?t[i]:[],l=r[i]=[],u=MWe.arrayTemplater(r,i,a),f,c;for(f=0;f<s.length;f++){var h=s[f];nA.isPlainObject(h)?c=u.newItem(h):(c=u.newItem({}),c[a]=!1),c._index=f,c[a]!==!1&&n.handleItemDefaults(h,c,r,n),l.push(c)}var d=u.defaultItems();for(f=0;f<d.length;f++)c=d[f],c._index=l.length,n.handleItemDefaults({},c,r,n,{}),l.push(c);if(nA.isArrayOrTypedArray(o)){var v=Math.min(o.length,l.length);for(f=0;f<v;f++)nA.relinkPrivateKeys(l[f],o[f])}return l}});var Xp=J((A8t,lJ)=>{"use strict";var wL=gt(),kWe=qr().contrast,sJ=hl(),SWe=bL(),CWe=Bu();lJ.exports=function(t,r,n,i,a){a||(a={});var o=n("labelalias");wL.isPlainObject(o)||delete r.labelalias;var s=SWe(t),l=n("showticklabels");if(l){a.noTicklabelshift||n("ticklabelshift"),a.noTicklabelstandoff||n("ticklabelstandoff");var u=a.font||{},f=r.color,c=r.ticklabelposition||"",h=c.indexOf("inside")!==-1?kWe(a.bgColor):f&&f!==sJ.color.dflt?f:u.color;if(wL.coerceFont(n,"tickfont",u,{overrideDflt:{color:h}}),!a.noTicklabelstep&&i!=="multicategory"&&i!=="log"&&n("ticklabelstep"),!a.noAng){var d=n("tickangle");!a.noAutotickangles&&d==="auto"&&n("autotickangles")}if(i!=="category"){var v=n("tickformat");CWe(t,r,{name:"tickformatstops",inclusionAttr:"enabled",handleItemDefaults:EWe}),r.tickformatstops.length||delete r.tickformatstops,!a.noExp&&!v&&i!=="date"&&(n("showexponent",s),n("exponentformat"),n("minexponent"),n("separatethousands"))}}};function EWe(e,t){function r(i,a){return wL.coerce(e,t,sJ.tickformatstops,i,a)}var n=r("enabled");n&&(r("dtickrange"),r("value"))}});var Zp=J((M8t,uJ)=>{"use strict";var LWe=bL();uJ.exports=function(t,r,n,i,a){a||(a={});var o=a.tickSuffixDflt,s=LWe(t),l=n("tickprefix");l&&n("showtickprefix",s);var u=n("ticksuffix",o);u&&n("showticksuffix",s)}});var _L=J((k8t,fJ)=>{"use strict";var u0=gt(),DWe=ki(),RWe=Wp(),PWe=N1(),IWe=Xp(),qWe=Zp(),FWe=rA();fJ.exports=function(t,r,n){var i=DWe.newContainer(r,"colorbar"),a=t.colorbar||{};function o(y,E){return u0.coerce(a,i,FWe,y,E)}var s=n.margin||{t:0,b:0,l:0,r:0},l=n.width-s.l-s.r,u=n.height-s.t-s.b,f=o("orientation"),c=f==="v",h=o("thicknessmode");o("thickness",h==="fraction"?30/(c?l:u):30);var d=o("lenmode");o("len",d==="fraction"?1:c?u:l);var v=o("yref"),m=o("xref"),b=v==="paper",g=m==="paper",_,T,w,k="left";c?(w="middle",k=g?"left":"right",_=g?1.02:1,T=.5):(w=b?"bottom":"top",k="center",_=.5,T=b?1.02:1),u0.coerce(a,i,{x:{valType:"number",min:g?-2:0,max:g?3:1,dflt:_}},"x"),u0.coerce(a,i,{y:{valType:"number",min:b?-2:0,max:b?3:1,dflt:T}},"y"),o("xanchor",k),o("xpad"),o("yanchor",w),o("ypad"),u0.noneOrAll(a,i,["x","y"]),o("outlinecolor"),o("outlinewidth"),o("bordercolor"),o("borderwidth"),o("bgcolor");var x=u0.coerce(a,i,{ticklabelposition:{valType:"enumerated",dflt:"outside",values:c?["outside","inside","outside top","inside top","outside bottom","inside bottom"]:["outside","inside","outside left","inside left","outside right","inside right"]}},"ticklabelposition");o("ticklabeloverflow",x.indexOf("inside")!==-1?"hide past domain":"hide past div"),RWe(a,i,o,"linear");var M=n.font,A={noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0,outerTicks:!1,font:M};x.indexOf("inside")!==-1&&(A.bgColor="black"),qWe(a,i,o,"linear",A),IWe(a,i,o,"linear",A),PWe(a,i,o,"linear",A),o("title.text",n._dfltTitle.colorbar);var p=i.showticklabels?i.tickfont:M,S=u0.extendFlat({},M,{family:p.family,size:u0.bigFont(p.size)});u0.coerceFont(o,"title.font",S),o("title.side",c?"top":"right")}});var vl=J((S8t,vJ)=>{"use strict";var cJ=dn(),AL=gt(),zWe=pL(),NWe=_L(),hJ=Pp().isValid,OWe=zr().traceIs;function TL(e,t){var r=t.slice(0,t.length-1);return t?AL.nestedProperty(e,r).get()||{}:e}vJ.exports=function e(t,r,n,i,a){var o=a.prefix,s=a.cLetter,l="_module"in r,u=TL(t,o),f=TL(r,o),c=TL(r._template||{},o)||{},h=function(){return delete t.coloraxis,delete r.coloraxis,e(t,r,n,i,a)};if(l){var d=n._colorAxes||{},v=i(o+"coloraxis");if(v){var m=OWe(r,"contour")&&AL.nestedProperty(r,"contours.coloring").get()||"heatmap",b=d[v];b?(b[2].push(h),b[0]!==m&&(b[0]=!1,AL.warn(["Ignoring coloraxis:",v,"setting","as it is linked to incompatible colorscales."].join(" ")))):d[v]=[m,r,[h]];return}}var g=u[s+"min"],_=u[s+"max"],T=cJ(g)&&cJ(_)&&g<_,w=i(o+s+"auto",!T);w?i(o+s+"mid"):(i(o+s+"min"),i(o+s+"max"));var k=u.colorscale,x=c.colorscale,M;if(k!==void 0&&(M=!hJ(k)),x!==void 0&&(M=!hJ(x)),i(o+"autocolorscale",M),i(o+"colorscale"),i(o+"reversescale"),o!=="marker.line."){var A;o&&l&&(A=zWe(u));var p=i(o+"showscale",A);p&&(o&&c&&(f._template=c),NWe(u,f,n))}}});var mJ=J((C8t,gJ)=>{"use strict";var dJ=gt(),BWe=ki(),pJ=dL(),UWe=vl();gJ.exports=function(t,r){function n(c,h){return dJ.coerce(t,r,pJ,c,h)}n("colorscale.sequential"),n("colorscale.sequentialminus"),n("colorscale.diverging");var i=r._colorAxes,a,o;function s(c,h){return dJ.coerce(a,o,pJ.coloraxis,c,h)}for(var l in i){var u=i[l];if(u[0])a=t[l]||{},o=BWe.newContainer(r,l,"coloraxis"),o._name=l,UWe(a,o,r,s,{prefix:"",cLetter:"c"});else{for(var f=0;f<u[2].length;f++)u[2][f]();delete r._colorAxes[l]}}}});var xJ=J((E8t,yJ)=>{"use strict";var HWe=gt(),jWe=nu().hasColorscale,VWe=nu().extractOpts;yJ.exports=function(t,r){function n(f,c){var h=f["_"+c];h!==void 0&&(f[c]=h)}function i(f,c){var h=c.container?HWe.nestedProperty(f,c.container).get():f;if(h)if(h.coloraxis)h._colorAx=r[h.coloraxis];else{var d=VWe(h),v=d.auto;(v||d.min===void 0)&&n(h,c.min),(v||d.max===void 0)&&n(h,c.max),d.autocolorscale&&n(h,"colorscale")}}for(var a=0;a<t.length;a++){var o=t[a],s=o._module.colorbar;if(s)if(Array.isArray(s))for(var l=0;l<s.length;l++)i(o,s[l]);else i(o,s);jWe(o,"marker.line")&&i(o,{container:"marker.line",min:"cmin",max:"cmax"})}for(var u in r._colorAxes)i(r[u],{min:"cmin",max:"cmax"})}});var Uu=J((L8t,wJ)=>{"use strict";var bJ=dn(),ML=gt(),YWe=nu().extractOpts;wJ.exports=function(t,r,n){var i=t._fullLayout,a=n.vals,o=n.containerStr,s=o?ML.nestedProperty(r,o).get():r,l=YWe(s),u=l.auto!==!1,f=l.min,c=l.max,h=l.mid,d=function(){return ML.aggNums(Math.min,null,a)},v=function(){return ML.aggNums(Math.max,null,a)};if(f===void 0?f=d():u&&(s._colorAx&&bJ(f)?f=Math.min(f,d()):f=d()),c===void 0?c=v():u&&(s._colorAx&&bJ(c)?c=Math.max(c,v()):c=v()),u&&h!==void 0&&(c-h>h-f?f=h-(c-h):c-h<h-f&&(c=h+(h-f))),f===c&&(f-=.5,c+=.5),l._sync("min",f),l._sync("max",c),l.autocolorscale){var m;f*c<0?m=i.colorscale.diverging:f>=0?m=i.colorscale.sequential:m=i.colorscale.sequentialminus,l._sync("colorscale",m)}}});var Qa=J((D8t,_J)=>{"use strict";var iA=Pp(),O1=nu();_J.exports={moduleType:"component",name:"colorscale",attributes:Da(),layoutAttributes:dL(),supplyLayoutDefaults:mJ(),handleDefaults:vl(),crossTraceDefaults:xJ(),calc:Uu(),scales:iA.scales,defaultScale:iA.defaultScale,getScale:iA.get,isValidScale:iA.isValid,hasColorscale:O1.hasColorscale,extractOpts:O1.extractOpts,extractScale:O1.extractScale,flipScale:O1.flipScale,makeColorScaleFunc:O1.makeColorScaleFunc,makeColorScaleFuncFromTrace:O1.makeColorScaleFuncFromTrace}});var fs=J((R8t,AJ)=>{"use strict";var TJ=gt(),GWe=fl().isTypedArraySpec;AJ.exports={hasLines:function(e){return e.visible&&e.mode&&e.mode.indexOf("lines")!==-1},hasMarkers:function(e){return e.visible&&(e.mode&&e.mode.indexOf("markers")!==-1||e.type==="splom")},hasText:function(e){return e.visible&&e.mode&&e.mode.indexOf("text")!==-1},isBubble:function(e){var t=e.marker;return TJ.isPlainObject(t)&&(TJ.isArrayOrTypedArray(t.size)||GWe(t.size))}}});var kL=J((P8t,MJ)=>{"use strict";var WWe=dn();MJ.exports=function(t,r){r||(r=2);var n=t.marker,i=n.sizeref||1,a=n.sizemin||0,o=n.sizemode==="area"?function(s){return Math.sqrt(s/i)}:function(s){return s/i};return function(s){var l=o(s/r);return WWe(l)&&l>0?Math.max(l,a):0}}});var Qf=J(dl=>{"use strict";var kJ=gt();dl.getSubplot=function(e){return e.subplot||e.xaxis+e.yaxis||e.geo};dl.isTraceInSubplots=function(e,t){if(e.type==="splom"){for(var r=e.xaxes||[],n=e.yaxes||[],i=0;i<r.length;i++)for(var a=0;a<n.length;a++)if(t.indexOf(r[i]+n[a])!==-1)return!0;return!1}return t.indexOf(dl.getSubplot(e))!==-1};dl.flat=function(e,t){for(var r=new Array(e.length),n=0;n<e.length;n++)r[n]=t;return r};dl.p2c=function(e,t){for(var r=new Array(e.length),n=0;n<e.length;n++)r[n]=e[n].p2c(t);return r};dl.getDistanceFunction=function(e,t,r,n){return e==="closest"?n||dl.quadrature(t,r):e.charAt(0)==="x"?t:r};dl.getClosest=function(e,t,r){if(r.index!==!1)r.index>=0&&r.index<e.length?r.distance=0:r.index=!1;else for(var n=0;n<e.length;n++){var i=t(e[n]);i<=r.distance&&(r.index=n,r.distance=i)}return r};dl.inbox=function(e,t,r){return e*t<0||e===0?r:1/0};dl.quadrature=function(e,t){return function(r){var n=e(r),i=t(r);return Math.sqrt(n*n+i*i)}};dl.makeEventData=function(e,t,r){var n="index"in e?e.index:e.pointNumber,i={data:t._input,fullData:t,curveNumber:t.index,pointNumber:n};if(t._indexToPoints){var a=t._indexToPoints[n];a.length===1?i.pointIndex=a[0]:i.pointIndices=a}else i.pointIndex=n;return t._module.eventData?i=t._module.eventData(i,e,t,r,n):("xVal"in e?i.x=e.xVal:"x"in e&&(i.x=e.x),"yVal"in e?i.y=e.yVal:"y"in e&&(i.y=e.y),e.xa&&(i.xaxis=e.xa),e.ya&&(i.yaxis=e.ya),e.zLabelVal!==void 0&&(i.z=e.zLabelVal)),dl.appendArrayPointValue(i,t,n),i};dl.appendArrayPointValue=function(e,t,r){var n=t._arrayAttrs;if(n)for(var i=0;i<n.length;i++){var a=n[i],o=SJ(a);if(e[o]===void 0){var s=kJ.nestedProperty(t,a).get(),l=CJ(s,r);l!==void 0&&(e[o]=l)}}};dl.appendArrayMultiPointValues=function(e,t,r){var n=t._arrayAttrs;if(n)for(var i=0;i<n.length;i++){var a=n[i],o=SJ(a);if(e[o]===void 0){for(var s=kJ.nestedProperty(t,a).get(),l=new Array(r.length),u=0;u<r.length;u++)l[u]=CJ(s,r[u]);e[o]=l}}};var XWe={ids:"id",locations:"location",labels:"label",values:"value","marker.colors":"color",parents:"parent"};function SJ(e){return XWe[e]||e}function CJ(e,t){if(Array.isArray(t)){if(Array.isArray(e)&&Array.isArray(e[t[0]]))return e[t[0]][t[1]]}else return e[t]}var ZWe={x:!0,y:!0},JWe={"x unified":!0,"y unified":!0};dl.isUnifiedHover=function(e){return typeof e!="string"?!1:!!JWe[e]};dl.isXYhover=function(e){return typeof e!="string"?!1:!!ZWe[e]}});var CL=J((q8t,EJ)=>{EJ.exports=KWe;var SL={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},$We=/([astvzqmhlc])([^astvzqmhlc]*)/ig;function KWe(e){var t=[];return e.replace($We,function(r,n,i){var a=n.toLowerCase();for(i=eXe(i),a=="m"&&i.length>2&&(t.push([n].concat(i.splice(0,2))),a="l",n=n=="m"?"l":"L");;){if(i.length==SL[a])return i.unshift(n),t.push(i);if(i.length<SL[a])throw new Error("malformed path data");t.push([n].concat(i.splice(0,SL[a])))}}),t}var QWe=/-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/ig;function eXe(e){var t=e.match(QWe);return t?t.map(Number):[]}});var FJ=J((F8t,qJ)=>{"use strict";var tXe=CL(),mr=Nr().round,Cn="M0,0Z",LJ=Math.sqrt(2),f0=Math.sqrt(3),EL=Math.PI,LL=Math.cos,DL=Math.sin;qJ.exports={circle:{n:0,f:function(e,t,r){if(En(t))return Cn;var n=mr(e,2),i="M"+n+",0A"+n+","+n+" 0 1,1 0,-"+n+"A"+n+","+n+" 0 0,1 "+n+",0Z";return r?Ln(t,r,i):i}},square:{n:1,f:function(e,t,r){if(En(t))return Cn;var n=mr(e,2);return Ln(t,r,"M"+n+","+n+"H-"+n+"V-"+n+"H"+n+"Z")}},diamond:{n:2,f:function(e,t,r){if(En(t))return Cn;var n=mr(e*1.3,2);return Ln(t,r,"M"+n+",0L0,"+n+"L-"+n+",0L0,-"+n+"Z")}},cross:{n:3,f:function(e,t,r){if(En(t))return Cn;var n=mr(e*.4,2),i=mr(e*1.2,2);return Ln(t,r,"M"+i+","+n+"H"+n+"V"+i+"H-"+n+"V"+n+"H-"+i+"V-"+n+"H-"+n+"V-"+i+"H"+n+"V-"+n+"H"+i+"Z")}},x:{n:4,f:function(e,t,r){if(En(t))return Cn;var n=mr(e*.8/LJ,2),i="l"+n+","+n,a="l"+n+",-"+n,o="l-"+n+",-"+n,s="l-"+n+","+n;return Ln(t,r,"M0,"+n+i+a+o+a+o+s+o+s+i+s+i+"Z")}},"triangle-up":{n:5,f:function(e,t,r){if(En(t))return Cn;var n=mr(e*2/f0,2),i=mr(e/2,2),a=mr(e,2);return Ln(t,r,"M-"+n+","+i+"H"+n+"L0,-"+a+"Z")}},"triangle-down":{n:6,f:function(e,t,r){if(En(t))return Cn;var n=mr(e*2/f0,2),i=mr(e/2,2),a=mr(e,2);return Ln(t,r,"M-"+n+",-"+i+"H"+n+"L0,"+a+"Z")}},"triangle-left":{n:7,f:function(e,t,r){if(En(t))return Cn;var n=mr(e*2/f0,2),i=mr(e/2,2),a=mr(e,2);return Ln(t,r,"M"+i+",-"+n+"V"+n+"L-"+a+",0Z")}},"triangle-right":{n:8,f:function(e,t,r){if(En(t))return Cn;var n=mr(e*2/f0,2),i=mr(e/2,2),a=mr(e,2);return Ln(t,r,"M-"+i+",-"+n+"V"+n+"L"+a+",0Z")}},"triangle-ne":{n:9,f:function(e,t,r){if(En(t))return Cn;var n=mr(e*.6,2),i=mr(e*1.2,2);return Ln(t,r,"M-"+i+",-"+n+"H"+n+"V"+i+"Z")}},"triangle-se":{n:10,f:function(e,t,r){if(En(t))return Cn;var n=mr(e*.6,2),i=mr(e*1.2,2);return Ln(t,r,"M"+n+",-"+i+"V"+n+"H-"+i+"Z")}},"triangle-sw":{n:11,f:function(e,t,r){if(En(t))return Cn;var n=mr(e*.6,2),i=mr(e*1.2,2);return Ln(t,r,"M"+i+","+n+"H-"+n+"V-"+i+"Z")}},"triangle-nw":{n:12,f:function(e,t,r){if(En(t))return Cn;var n=mr(e*.6,2),i=mr(e*1.2,2);return Ln(t,r,"M-"+n+","+i+"V-"+n+"H"+i+"Z")}},pentagon:{n:13,f:function(e,t,r){if(En(t))return Cn;var n=mr(e*.951,2),i=mr(e*.588,2),a=mr(-e,2),o=mr(e*-.309,2),s=mr(e*.809,2);return Ln(t,r,"M"+n+","+o+"L"+i+","+s+"H-"+i+"L-"+n+","+o+"L0,"+a+"Z")}},hexagon:{n:14,f:function(e,t,r){if(En(t))return Cn;var n=mr(e,2),i=mr(e/2,2),a=mr(e*f0/2,2);return Ln(t,r,"M"+a+",-"+i+"V"+i+"L0,"+n+"L-"+a+","+i+"V-"+i+"L0,-"+n+"Z")}},hexagon2:{n:15,f:function(e,t,r){if(En(t))return Cn;var n=mr(e,2),i=mr(e/2,2),a=mr(e*f0/2,2);return Ln(t,r,"M-"+i+","+a+"H"+i+"L"+n+",0L"+i+",-"+a+"H-"+i+"L-"+n+",0Z")}},octagon:{n:16,f:function(e,t,r){if(En(t))return Cn;var n=mr(e*.924,2),i=mr(e*.383,2);return Ln(t,r,"M-"+i+",-"+n+"H"+i+"L"+n+",-"+i+"V"+i+"L"+i+","+n+"H-"+i+"L-"+n+","+i+"V-"+i+"Z")}},star:{n:17,f:function(e,t,r){if(En(t))return Cn;var n=e*1.4,i=mr(n*.225,2),a=mr(n*.951,2),o=mr(n*.363,2),s=mr(n*.588,2),l=mr(-n,2),u=mr(n*-.309,2),f=mr(n*.118,2),c=mr(n*.809,2),h=mr(n*.382,2);return Ln(t,r,"M"+i+","+u+"H"+a+"L"+o+","+f+"L"+s+","+c+"L0,"+h+"L-"+s+","+c+"L-"+o+","+f+"L-"+a+","+u+"H-"+i+"L0,"+l+"Z")}},hexagram:{n:18,f:function(e,t,r){if(En(t))return Cn;var n=mr(e*.66,2),i=mr(e*.38,2),a=mr(e*.76,2);return Ln(t,r,"M-"+a+",0l-"+i+",-"+n+"h"+a+"l"+i+",-"+n+"l"+i+","+n+"h"+a+"l-"+i+","+n+"l"+i+","+n+"h-"+a+"l-"+i+","+n+"l-"+i+",-"+n+"h-"+a+"Z")}},"star-triangle-up":{n:19,f:function(e,t,r){if(En(t))return Cn;var n=mr(e*f0*.8,2),i=mr(e*.8,2),a=mr(e*1.6,2),o=mr(e*4,2),s="A "+o+","+o+" 0 0 1 ";return Ln(t,r,"M-"+n+","+i+s+n+","+i+s+"0,-"+a+s+"-"+n+","+i+"Z")}},"star-triangle-down":{n:20,f:function(e,t,r){if(En(t))return Cn;var n=mr(e*f0*.8,2),i=mr(e*.8,2),a=mr(e*1.6,2),o=mr(e*4,2),s="A "+o+","+o+" 0 0 1 ";return Ln(t,r,"M"+n+",-"+i+s+"-"+n+",-"+i+s+"0,"+a+s+n+",-"+i+"Z")}},"star-square":{n:21,f:function(e,t,r){if(En(t))return Cn;var n=mr(e*1.1,2),i=mr(e*2,2),a="A "+i+","+i+" 0 0 1 ";return Ln(t,r,"M-"+n+",-"+n+a+"-"+n+","+n+a+n+","+n+a+n+",-"+n+a+"-"+n+",-"+n+"Z")}},"star-diamond":{n:22,f:function(e,t,r){if(En(t))return Cn;var n=mr(e*1.4,2),i=mr(e*1.9,2),a="A "+i+","+i+" 0 0 1 ";return Ln(t,r,"M-"+n+",0"+a+"0,"+n+a+n+",0"+a+"0,-"+n+a+"-"+n+",0Z")}},"diamond-tall":{n:23,f:function(e,t,r){if(En(t))return Cn;var n=mr(e*.7,2),i=mr(e*1.4,2);return Ln(t,r,"M0,"+i+"L"+n+",0L0,-"+i+"L-"+n+",0Z")}},"diamond-wide":{n:24,f:function(e,t,r){if(En(t))return Cn;var n=mr(e*1.4,2),i=mr(e*.7,2);return Ln(t,r,"M0,"+i+"L"+n+",0L0,-"+i+"L-"+n+",0Z")}},hourglass:{n:25,f:function(e,t,r){if(En(t))return Cn;var n=mr(e,2);return Ln(t,r,"M"+n+","+n+"H-"+n+"L"+n+",-"+n+"H-"+n+"Z")},noDot:!0},bowtie:{n:26,f:function(e,t,r){if(En(t))return Cn;var n=mr(e,2);return Ln(t,r,"M"+n+","+n+"V-"+n+"L-"+n+","+n+"V-"+n+"Z")},noDot:!0},"circle-cross":{n:27,f:function(e,t,r){if(En(t))return Cn;var n=mr(e,2);return Ln(t,r,"M0,"+n+"V-"+n+"M"+n+",0H-"+n+"M"+n+",0A"+n+","+n+" 0 1,1 0,-"+n+"A"+n+","+n+" 0 0,1 "+n+",0Z")},needLine:!0,noDot:!0},"circle-x":{n:28,f:function(e,t,r){if(En(t))return Cn;var n=mr(e,2),i=mr(e/LJ,2);return Ln(t,r,"M"+i+","+i+"L-"+i+",-"+i+"M"+i+",-"+i+"L-"+i+","+i+"M"+n+",0A"+n+","+n+" 0 1,1 0,-"+n+"A"+n+","+n+" 0 0,1 "+n+",0Z")},needLine:!0,noDot:!0},"square-cross":{n:29,f:function(e,t,r){if(En(t))return Cn;var n=mr(e,2);return Ln(t,r,"M0,"+n+"V-"+n+"M"+n+",0H-"+n+"M"+n+","+n+"H-"+n+"V-"+n+"H"+n+"Z")},needLine:!0,noDot:!0},"square-x":{n:30,f:function(e,t,r){if(En(t))return Cn;var n=mr(e,2);return Ln(t,r,"M"+n+","+n+"L-"+n+",-"+n+"M"+n+",-"+n+"L-"+n+","+n+"M"+n+","+n+"H-"+n+"V-"+n+"H"+n+"Z")},needLine:!0,noDot:!0},"diamond-cross":{n:31,f:function(e,t,r){if(En(t))return Cn;var n=mr(e*1.3,2);return Ln(t,r,"M"+n+",0L0,"+n+"L-"+n+",0L0,-"+n+"ZM0,-"+n+"V"+n+"M-"+n+",0H"+n)},needLine:!0,noDot:!0},"diamond-x":{n:32,f:function(e,t,r){if(En(t))return Cn;var n=mr(e*1.3,2),i=mr(e*.65,2);return Ln(t,r,"M"+n+",0L0,"+n+"L-"+n+",0L0,-"+n+"ZM-"+i+",-"+i+"L"+i+","+i+"M-"+i+","+i+"L"+i+",-"+i)},needLine:!0,noDot:!0},"cross-thin":{n:33,f:function(e,t,r){if(En(t))return Cn;var n=mr(e*1.4,2);return Ln(t,r,"M0,"+n+"V-"+n+"M"+n+",0H-"+n)},needLine:!0,noDot:!0,noFill:!0},"x-thin":{n:34,f:function(e,t,r){if(En(t))return Cn;var n=mr(e,2);return Ln(t,r,"M"+n+","+n+"L-"+n+",-"+n+"M"+n+",-"+n+"L-"+n+","+n)},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(e,t,r){if(En(t))return Cn;var n=mr(e*1.2,2),i=mr(e*.85,2);return Ln(t,r,"M0,"+n+"V-"+n+"M"+n+",0H-"+n+"M"+i+","+i+"L-"+i+",-"+i+"M"+i+",-"+i+"L-"+i+","+i)},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(e,t,r){if(En(t))return Cn;var n=mr(e/2,2),i=mr(e,2);return Ln(t,r,"M"+n+","+i+"V-"+i+"M"+(n-i)+",-"+i+"V"+i+"M"+i+","+n+"H-"+i+"M-"+i+","+(n-i)+"H"+i)},needLine:!0,noFill:!0},"y-up":{n:37,f:function(e,t,r){if(En(t))return Cn;var n=mr(e*1.2,2),i=mr(e*1.6,2),a=mr(e*.8,2);return Ln(t,r,"M-"+n+","+a+"L0,0M"+n+","+a+"L0,0M0,-"+i+"L0,0")},needLine:!0,noDot:!0,noFill:!0},"y-down":{n:38,f:function(e,t,r){if(En(t))return Cn;var n=mr(e*1.2,2),i=mr(e*1.6,2),a=mr(e*.8,2);return Ln(t,r,"M-"+n+",-"+a+"L0,0M"+n+",-"+a+"L0,0M0,"+i+"L0,0")},needLine:!0,noDot:!0,noFill:!0},"y-left":{n:39,f:function(e,t,r){if(En(t))return Cn;var n=mr(e*1.2,2),i=mr(e*1.6,2),a=mr(e*.8,2);return Ln(t,r,"M"+a+","+n+"L0,0M"+a+",-"+n+"L0,0M-"+i+",0L0,0")},needLine:!0,noDot:!0,noFill:!0},"y-right":{n:40,f:function(e,t,r){if(En(t))return Cn;var n=mr(e*1.2,2),i=mr(e*1.6,2),a=mr(e*.8,2);return Ln(t,r,"M-"+a+","+n+"L0,0M-"+a+",-"+n+"L0,0M"+i+",0L0,0")},needLine:!0,noDot:!0,noFill:!0},"line-ew":{n:41,f:function(e,t,r){if(En(t))return Cn;var n=mr(e*1.4,2);return Ln(t,r,"M"+n+",0H-"+n)},needLine:!0,noDot:!0,noFill:!0},"line-ns":{n:42,f:function(e,t,r){if(En(t))return Cn;var n=mr(e*1.4,2);return Ln(t,r,"M0,"+n+"V-"+n)},needLine:!0,noDot:!0,noFill:!0},"line-ne":{n:43,f:function(e,t,r){if(En(t))return Cn;var n=mr(e,2);return Ln(t,r,"M"+n+",-"+n+"L-"+n+","+n)},needLine:!0,noDot:!0,noFill:!0},"line-nw":{n:44,f:function(e,t,r){if(En(t))return Cn;var n=mr(e,2);return Ln(t,r,"M"+n+","+n+"L-"+n+",-"+n)},needLine:!0,noDot:!0,noFill:!0},"arrow-up":{n:45,f:function(e,t,r){if(En(t))return Cn;var n=mr(e,2),i=mr(e*2,2);return Ln(t,r,"M0,0L-"+n+","+i+"H"+n+"Z")},backoff:1,noDot:!0},"arrow-down":{n:46,f:function(e,t,r){if(En(t))return Cn;var n=mr(e,2),i=mr(e*2,2);return Ln(t,r,"M0,0L-"+n+",-"+i+"H"+n+"Z")},noDot:!0},"arrow-left":{n:47,f:function(e,t,r){if(En(t))return Cn;var n=mr(e*2,2),i=mr(e,2);return Ln(t,r,"M0,0L"+n+",-"+i+"V"+i+"Z")},noDot:!0},"arrow-right":{n:48,f:function(e,t,r){if(En(t))return Cn;var n=mr(e*2,2),i=mr(e,2);return Ln(t,r,"M0,0L-"+n+",-"+i+"V"+i+"Z")},noDot:!0},"arrow-bar-up":{n:49,f:function(e,t,r){if(En(t))return Cn;var n=mr(e,2),i=mr(e*2,2);return Ln(t,r,"M-"+n+",0H"+n+"M0,0L-"+n+","+i+"H"+n+"Z")},backoff:1,needLine:!0,noDot:!0},"arrow-bar-down":{n:50,f:function(e,t,r){if(En(t))return Cn;var n=mr(e,2),i=mr(e*2,2);return Ln(t,r,"M-"+n+",0H"+n+"M0,0L-"+n+",-"+i+"H"+n+"Z")},needLine:!0,noDot:!0},"arrow-bar-left":{n:51,f:function(e,t,r){if(En(t))return Cn;var n=mr(e*2,2),i=mr(e,2);return Ln(t,r,"M0,-"+i+"V"+i+"M0,0L"+n+",-"+i+"V"+i+"Z")},needLine:!0,noDot:!0},"arrow-bar-right":{n:52,f:function(e,t,r){if(En(t))return Cn;var n=mr(e*2,2),i=mr(e,2);return Ln(t,r,"M0,-"+i+"V"+i+"M0,0L-"+n+",-"+i+"V"+i+"Z")},needLine:!0,noDot:!0},arrow:{n:53,f:function(e,t,r){if(En(t))return Cn;var n=EL/2.5,i=2*e*LL(n),a=2*e*DL(n);return Ln(t,r,"M0,0L"+-i+","+a+"L"+i+","+a+"Z")},backoff:.9,noDot:!0},"arrow-wide":{n:54,f:function(e,t,r){if(En(t))return Cn;var n=EL/4,i=2*e*LL(n),a=2*e*DL(n);return Ln(t,r,"M0,0L"+-i+","+a+"A "+2*e+","+2*e+" 0 0 1 "+i+","+a+"Z")},backoff:.4,noDot:!0}};function En(e){return e===null}var DJ,RJ,PJ,IJ;function Ln(e,t,r){if((!e||e%360===0)&&!t)return r;if(PJ===e&&IJ===t&&DJ===r)return RJ;PJ=e,IJ=t,DJ=r;function n(b,g){var _=LL(b),T=DL(b),w=g[0],k=g[1]+(t||0);return[w*_-k*T,w*T+k*_]}for(var i=e/180*EL,a=0,o=0,s=tXe(r),l="",u=0;u<s.length;u++){var f=s[u],c=f[0],h=a,d=o;if(c==="M"||c==="L")a=+f[1],o=+f[2];else if(c==="m"||c==="l")a+=+f[1],o+=+f[2];else if(c==="H")a=+f[1];else if(c==="h")a+=+f[1];else if(c==="V")o=+f[1];else if(c==="v")o+=+f[1];else if(c==="A"){a=+f[1],o=+f[2];var v=n(i,[+f[6],+f[7]]);f[6]=v[0],f[7]=v[1],f[3]=+f[3]+e}(c==="H"||c==="V")&&(c="L"),(c==="h"||c==="v")&&(c="l"),(c==="m"||c==="l")&&(a-=h,o-=d);var m=n(i,[a,o]);(c==="H"||c==="V")&&(c="L"),(c==="M"||c==="L"||c==="m"||c==="l")&&(f[1]=m[0],f[2]=m[1]),f[0]=c,l+=f[0]+f.slice(1).join(",")}return RJ=l,l}});var ln=J((z8t,r$)=>{"use strict";var cs=Nr(),Yi=gt(),rXe=Yi.numberFormat,Qp=dn(),zL=ls(),oA=zr(),Ws=qr(),nXe=Qa(),a2=Yi.strTranslate,sA=ca(),iXe=Gh(),aXe=Vo(),oXe=aXe.LINE_SPACING,GJ=w1().DESELECTDIM,sXe=fs(),lXe=kL(),uXe=Qf().appendArrayPointValue,wr=r$.exports={};wr.font=function(e,t){var r=t.variant,n=t.style,i=t.weight,a=t.color,o=t.size,s=t.family,l=t.shadow,u=t.lineposition,f=t.textcase;s&&e.style("font-family",s),o+1&&e.style("font-size",o+"px"),a&&e.call(Ws.fill,a),i&&e.style("font-weight",i),n&&e.style("font-style",n),r&&e.style("font-variant",r),f&&e.style("text-transform",RL(cXe(f))),l&&e.style("text-shadow",l==="auto"?sA.makeTextShadow(Ws.contrast(a)):RL(l)),u&&e.style("text-decoration-line",RL(hXe(u)))};function RL(e){return e==="none"?void 0:e}var fXe={normal:"none",lower:"lowercase",upper:"uppercase","word caps":"capitalize"};function cXe(e){return fXe[e]}function hXe(e){return e.replace("under","underline").replace("over","overline").replace("through","line-through").split("+").join(" ")}wr.setPosition=function(e,t,r){e.attr("x",t).attr("y",r)};wr.setSize=function(e,t,r){e.attr("width",t).attr("height",r)};wr.setRect=function(e,t,r,n,i){e.call(wr.setPosition,t,r).call(wr.setSize,n,i)};wr.translatePoint=function(e,t,r,n){var i=r.c2p(e.x),a=n.c2p(e.y);if(Qp(i)&&Qp(a)&&t.node())t.node().nodeName==="text"?t.attr("x",i).attr("y",a):t.attr("transform",a2(i,a));else return!1;return!0};wr.translatePoints=function(e,t,r){e.each(function(n){var i=cs.select(this);wr.translatePoint(n,i,t,r)})};wr.hideOutsideRangePoint=function(e,t,r,n,i,a){t.attr("display",r.isPtWithinRange(e,i)&&n.isPtWithinRange(e,a)?null:"none")};wr.hideOutsideRangePoints=function(e,t){if(t._hasClipOnAxisFalse){var r=t.xaxis,n=t.yaxis;e.each(function(i){var a=i[0].trace,o=a.xcalendar,s=a.ycalendar,l=oA.traceIs(a,"bar-like")?".bartext":".point,.textpoint";e.selectAll(l).each(function(u){wr.hideOutsideRangePoint(u,cs.select(this),r,n,o,s)})})}};wr.crispRound=function(e,t,r){return!t||!Qp(t)?r||0:e._context.staticPlot?t:t<1?1:Math.round(t)};wr.singleLineStyle=function(e,t,r,n,i){t.style("fill","none");var a=(((e||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||"";Ws.stroke(t,n||a.color),wr.dashLine(t,s,o)};wr.lineGroupStyle=function(e,t,r,n){e.style("fill","none").each(function(i){var a=(((i||[])[0]||{}).trace||{}).line||{},o=t||a.width||0,s=n||a.dash||"";cs.select(this).call(Ws.stroke,r||a.color).call(wr.dashLine,s,o)})};wr.dashLine=function(e,t,r){r=+r||0,t=wr.dashStyle(t,r),e.style({"stroke-dasharray":t,"stroke-width":r+"px"})};wr.dashStyle=function(e,t){t=+t||1;var r=Math.max(t,3);return e==="solid"?e="":e==="dot"?e=r+"px,"+r+"px":e==="dash"?e=3*r+"px,"+3*r+"px":e==="longdash"?e=5*r+"px,"+5*r+"px":e==="dashdot"?e=3*r+"px,"+r+"px,"+r+"px,"+r+"px":e==="longdashdot"&&(e=5*r+"px,"+2*r+"px,"+r+"px,"+2*r+"px"),e};function WJ(e,t,r,n){var i=t.fillpattern,a=t.fillgradient,o=i&&wr.getPatternAttr(i.shape,0,"");if(o){var s=wr.getPatternAttr(i.bgcolor,0,null),l=wr.getPatternAttr(i.fgcolor,0,null),u=i.fgopacity,f=wr.getPatternAttr(i.size,0,8),c=wr.getPatternAttr(i.solidity,0,.3),h=t.uid;wr.pattern(e,"point",r,h,o,f,c,void 0,i.fillmode,s,l,u)}else if(a&&a.type!=="none"){var d=a.type,v="scatterfill-"+t.uid;if(n&&(v="legendfill-"+t.uid),!n&&(a.start!==void 0||a.stop!==void 0)){var m,b;d==="horizontal"?(m={x:a.start,y:0},b={x:a.stop,y:0}):d==="vertical"&&(m={x:0,y:a.start},b={x:0,y:a.stop}),m.x=t._xA.c2p(m.x===void 0?t._extremes.x.min[0].val:m.x,!0),m.y=t._yA.c2p(m.y===void 0?t._extremes.y.min[0].val:m.y,!0),b.x=t._xA.c2p(b.x===void 0?t._extremes.x.max[0].val:b.x,!0),b.y=t._yA.c2p(b.y===void 0?t._extremes.y.max[0].val:b.y,!0),e.call(JJ,r,v,"linear",a.colorscale,"fill",m,b,!0,!1)}else d==="horizontal"&&(d=d+"reversed"),e.call(wr.gradient,r,v,d,a.colorscale,"fill")}else t.fillcolor&&e.call(Ws.fill,t.fillcolor)}wr.singleFillStyle=function(e,t){var r=cs.select(e.node()),n=r.data(),i=((n[0]||[])[0]||{}).trace||{};WJ(e,i,t,!1)};wr.fillGroupStyle=function(e,t,r){e.style("stroke-width",0).each(function(n){var i=cs.select(this);n[0].trace&&WJ(i,n[0].trace,t,r)})};var zJ=FJ();wr.symbolNames=[];wr.symbolFuncs=[];wr.symbolBackOffs=[];wr.symbolNeedLines={};wr.symbolNoDot={};wr.symbolNoFill={};wr.symbolList=[];Object.keys(zJ).forEach(function(e){var t=zJ[e],r=t.n;wr.symbolList.push(r,String(r),e,r+100,String(r+100),e+"-open"),wr.symbolNames[r]=e,wr.symbolFuncs[r]=t.f,wr.symbolBackOffs[r]=t.backoff||0,t.needLine&&(wr.symbolNeedLines[r]=!0),t.noDot?wr.symbolNoDot[r]=!0:wr.symbolList.push(r+200,String(r+200),e+"-dot",r+300,String(r+300),e+"-open-dot"),t.noFill&&(wr.symbolNoFill[r]=!0)});var vXe=wr.symbolNames.length,dXe="M0,0.5L0.5,0L0,-0.5L-0.5,0Z";wr.symbolNumber=function(e){if(Qp(e))e=+e;else if(typeof e=="string"){var t=0;e.indexOf("-open")>0&&(t=100,e=e.replace("-open","")),e.indexOf("-dot")>0&&(t+=200,e=e.replace("-dot","")),e=wr.symbolNames.indexOf(e),e>=0&&(e+=t)}return e%100>=vXe||e>=400?0:Math.floor(Math.max(e,0))};function XJ(e,t,r,n){var i=e%100;return wr.symbolFuncs[i](t,r,n)+(e>=200?dXe:"")}var NJ=rXe("~f"),ZJ={radial:{type:"radial"},radialreversed:{type:"radial",reversed:!0},horizontal:{type:"linear",start:{x:1,y:0},stop:{x:0,y:0}},horizontalreversed:{type:"linear",start:{x:1,y:0},stop:{x:0,y:0},reversed:!0},vertical:{type:"linear",start:{x:0,y:1},stop:{x:0,y:0}},verticalreversed:{type:"linear",start:{x:0,y:1},stop:{x:0,y:0},reversed:!0}};wr.gradient=function(e,t,r,n,i,a){var o=ZJ[n];return JJ(e,t,r,o.type,i,a,o.start,o.stop,!1,o.reversed)};function JJ(e,t,r,n,i,a,o,s,l,u){var f=i.length,c;n==="linear"?c={node:"linearGradient",attrs:{x1:o.x,y1:o.y,x2:s.x,y2:s.y,gradientUnits:l?"userSpaceOnUse":"objectBoundingBox"},reversed:u}:n==="radial"&&(c={node:"radialGradient",reversed:u});for(var h=new Array(f),d=0;d<f;d++)c.reversed?h[f-1-d]=[NJ((1-i[d][0])*100),i[d][1]]:h[d]=[NJ(i[d][0]*100),i[d][1]];var v=t._fullLayout,m="g"+v._uid+"-"+r,b=v._defs.select(".gradients").selectAll("#"+m).data([n+h.join(";")],Yi.identity);b.exit().remove(),b.enter().append(c.node).each(function(){var g=cs.select(this);c.attrs&&g.attr(c.attrs),g.attr("id",m);var _=g.selectAll("stop").data(h);_.exit().remove(),_.enter().append("stop"),_.each(function(T){var w=zL(T[1]);cs.select(this).attr({offset:T[0]+"%","stop-color":Ws.tinyRGB(w),"stop-opacity":w.getAlpha()})})}),e.style(a,NL(m,t)).style(a+"-opacity",null),e.classed("gradient_filled",!0)}wr.pattern=function(e,t,r,n,i,a,o,s,l,u,f,c){var h=t==="legend";s&&(l==="overlay"?(u=s,f=Ws.contrast(u)):(u=void 0,f=s));var d=r._fullLayout,v="p"+d._uid+"-"+n,m,b,g=function(C,L,R,I,P){return I+(P-I)*(C-L)/(R-L)},_,T,w,k,x={},M=zL(f),A=Ws.tinyRGB(M),p=M.getAlpha(),S=c*p;switch(i){case"/":m=a*Math.sqrt(2),b=a*Math.sqrt(2),_="M-"+m/4+","+b/4+"l"+m/2+",-"+b/2+"M0,"+b+"L"+m+",0M"+m/4*3+","+b/4*5+"l"+m/2+",-"+b/2,T=o*a,k="path",x={d:_,opacity:S,stroke:A,"stroke-width":T+"px"};break;case"\\":m=a*Math.sqrt(2),b=a*Math.sqrt(2),_="M"+m/4*3+",-"+b/4+"l"+m/2+","+b/2+"M0,0L"+m+","+b+"M-"+m/4+","+b/4*3+"l"+m/2+","+b/2,T=o*a,k="path",x={d:_,opacity:S,stroke:A,"stroke-width":T+"px"};break;case"x":m=a*Math.sqrt(2),b=a*Math.sqrt(2),_="M-"+m/4+","+b/4+"l"+m/2+",-"+b/2+"M0,"+b+"L"+m+",0M"+m/4*3+","+b/4*5+"l"+m/2+",-"+b/2+"M"+m/4*3+",-"+b/4+"l"+m/2+","+b/2+"M0,0L"+m+","+b+"M-"+m/4+","+b/4*3+"l"+m/2+","+b/2,T=a-a*Math.sqrt(1-o),k="path",x={d:_,opacity:S,stroke:A,"stroke-width":T+"px"};break;case"|":m=a,b=a,k="path",_="M"+m/2+",0L"+m/2+","+b,T=o*a,k="path",x={d:_,opacity:S,stroke:A,"stroke-width":T+"px"};break;case"-":m=a,b=a,k="path",_="M0,"+b/2+"L"+m+","+b/2,T=o*a,k="path",x={d:_,opacity:S,stroke:A,"stroke-width":T+"px"};break;case"+":m=a,b=a,k="path",_="M"+m/2+",0L"+m/2+","+b+"M0,"+b/2+"L"+m+","+b/2,T=a-a*Math.sqrt(1-o),k="path",x={d:_,opacity:S,stroke:A,"stroke-width":T+"px"};break;case".":m=a,b=a,o<Math.PI/4?w=Math.sqrt(o*a*a/Math.PI):w=g(o,Math.PI/4,1,a/2,a/Math.sqrt(2)),k="circle",x={cx:m/2,cy:b/2,r:w,opacity:S,fill:A};break}var y=[i||"noSh",u||"noBg",f||"noFg",a,o].join(";"),E=d._defs.select(".patterns").selectAll("#"+v).data([y],Yi.identity);E.exit().remove(),E.enter().append("pattern").each(function(){var C=cs.select(this);if(C.attr({id:v,width:m+"px",height:b+"px",patternUnits:"userSpaceOnUse",patternTransform:h?"scale(0.8)":""}),u){var L=zL(u),R=Ws.tinyRGB(L),I=L.getAlpha(),P=C.selectAll("rect").data([0]);P.exit().remove(),P.enter().append("rect").attr({width:m+"px",height:b+"px",fill:R,"fill-opacity":I})}var D=C.selectAll(k).data([0]);D.exit().remove(),D.enter().append(k).attr(x)}),e.style("fill",NL(v,r)).style("fill-opacity",null),e.classed("pattern_filled",!0)};wr.initGradients=function(e){var t=e._fullLayout,r=Yi.ensureSingle(t._defs,"g","gradients");r.selectAll("linearGradient,radialGradient").remove(),cs.select(e).selectAll(".gradient_filled").classed("gradient_filled",!1)};wr.initPatterns=function(e){var t=e._fullLayout,r=Yi.ensureSingle(t._defs,"g","patterns");r.selectAll("pattern").remove(),cs.select(e).selectAll(".pattern_filled").classed("pattern_filled",!1)};wr.getPatternAttr=function(e,t,r){return e&&Yi.isArrayOrTypedArray(e)?t<e.length?e[t]:r:e};wr.pointStyle=function(e,t,r,n){if(e.size()){var i=wr.makePointStyleFns(t);e.each(function(a){wr.singlePointStyle(a,cs.select(this),t,i,r,n)})}};wr.singlePointStyle=function(e,t,r,n,i,a){var o=r.marker,s=o.line;if(a&&a.i>=0&&e.i===void 0&&(e.i=a.i),t.style("opacity",n.selectedOpacityFn?n.selectedOpacityFn(e):e.mo===void 0?o.opacity:e.mo),n.ms2mrc){var l;e.ms==="various"||o.size==="various"?l=3:l=n.ms2mrc(e.ms),e.mrc=l,n.selectedSizeFn&&(l=e.mrc=n.selectedSizeFn(e));var u=wr.symbolNumber(e.mx||o.symbol)||0;e.om=u%200>=100;var f=BL(e,r),c=OL(e,r);t.attr("d",XJ(u,l,f,c))}var h=!1,d,v,m;if(e.so)m=s.outlierwidth,v=s.outliercolor,d=o.outliercolor;else{var b=(s||{}).width;m=(e.mlw+1||b+1||(e.trace?(e.trace.marker.line||{}).width:0)+1)-1||0,"mlc"in e?v=e.mlcc=n.lineScale(e.mlc):Yi.isArrayOrTypedArray(s.color)?v=Ws.defaultLine:v=s.color,Yi.isArrayOrTypedArray(o.color)&&(d=Ws.defaultLine,h=!0),"mc"in e?d=e.mcc=n.markerScale(e.mc):d=o.color||o.colors||"rgba(0,0,0,0)",n.selectedColorFn&&(d=n.selectedColorFn(e))}if(e.om)t.call(Ws.stroke,d).style({"stroke-width":(m||1)+"px",fill:"none"});else{t.style("stroke-width",(e.isBlank?0:m)+"px");var g=o.gradient,_=e.mgt;_?h=!0:_=g&&g.type,Yi.isArrayOrTypedArray(_)&&(_=_[0],ZJ[_]||(_=0));var T=o.pattern,w=T&&wr.getPatternAttr(T.shape,e.i,"");if(_&&_!=="none"){var k=e.mgc;k?h=!0:k=g.color;var x=r.uid;h&&(x+="-"+e.i),wr.gradient(t,i,x,_,[[0,k],[1,d]],"fill")}else if(w){var M=!1,A=T.fgcolor;!A&&a&&a.color&&(A=a.color,M=!0);var p=wr.getPatternAttr(A,e.i,a&&a.color||null),S=wr.getPatternAttr(T.bgcolor,e.i,null),y=T.fgopacity,E=wr.getPatternAttr(T.size,e.i,8),C=wr.getPatternAttr(T.solidity,e.i,.3);M=M||e.mcc||Yi.isArrayOrTypedArray(T.shape)||Yi.isArrayOrTypedArray(T.bgcolor)||Yi.isArrayOrTypedArray(T.fgcolor)||Yi.isArrayOrTypedArray(T.size)||Yi.isArrayOrTypedArray(T.solidity);var L=r.uid;M&&(L+="-"+e.i),wr.pattern(t,"point",i,L,w,E,C,e.mcc,T.fillmode,S,p,y)}else Yi.isArrayOrTypedArray(d)?Ws.fill(t,d[e.i]):Ws.fill(t,d);m&&Ws.stroke(t,v)}};wr.makePointStyleFns=function(e){var t={},r=e.marker;return t.markerScale=wr.tryColorscale(r,""),t.lineScale=wr.tryColorscale(r,"line"),oA.traceIs(e,"symbols")&&(t.ms2mrc=sXe.isBubble(e)?lXe(e):function(){return(r.size||6)/2}),e.selectedpoints&&Yi.extendFlat(t,wr.makeSelectedPointStyleFns(e)),t};wr.makeSelectedPointStyleFns=function(e){var t={},r=e.selected||{},n=e.unselected||{},i=e.marker||{},a=r.marker||{},o=n.marker||{},s=i.opacity,l=a.opacity,u=o.opacity,f=l!==void 0,c=u!==void 0;(Yi.isArrayOrTypedArray(s)||f||c)&&(t.selectedOpacityFn=function(w){var k=w.mo===void 0?i.opacity:w.mo;return w.selected?f?l:k:c?u:GJ*k});var h=i.color,d=a.color,v=o.color;(d||v)&&(t.selectedColorFn=function(w){var k=w.mcc||h;return w.selected?d||k:v||k});var m=i.size,b=a.size,g=o.size,_=b!==void 0,T=g!==void 0;return oA.traceIs(e,"symbols")&&(_||T)&&(t.selectedSizeFn=function(w){var k=w.mrc||m/2;return w.selected?_?b/2:k:T?g/2:k}),t};wr.makeSelectedTextStyleFns=function(e){var t={},r=e.selected||{},n=e.unselected||{},i=e.textfont||{},a=r.textfont||{},o=n.textfont||{},s=i.color,l=a.color,u=o.color;return t.selectedTextColorFn=function(f){var c=f.tc||s;return f.selected?l||c:u||(l?c:Ws.addOpacity(c,GJ))},t};wr.selectedPointStyle=function(e,t){if(!(!e.size()||!t.selectedpoints)){var r=wr.makeSelectedPointStyleFns(t),n=t.marker||{},i=[];r.selectedOpacityFn&&i.push(function(a,o){a.style("opacity",r.selectedOpacityFn(o))}),r.selectedColorFn&&i.push(function(a,o){Ws.fill(a,r.selectedColorFn(o))}),r.selectedSizeFn&&i.push(function(a,o){var s=o.mx||n.symbol||0,l=r.selectedSizeFn(o);a.attr("d",XJ(wr.symbolNumber(s),l,BL(o,t),OL(o,t))),o.mrc2=l}),i.length&&e.each(function(a){for(var o=cs.select(this),s=0;s<i.length;s++)i[s](o,a)})}};wr.tryColorscale=function(e,t){var r=t?Yi.nestedProperty(e,t).get():e;if(r){var n=r.color;if((r.colorscale||r._colorAx)&&Yi.isArrayOrTypedArray(n))return nXe.makeColorScaleFuncFromTrace(r)}return Yi.identity};var PL={start:1,end:-1,middle:0,bottom:1,top:-1};function $J(e,t,r,n,i){var a=cs.select(e.node().parentNode),o=t.indexOf("top")!==-1?"top":t.indexOf("bottom")!==-1?"bottom":"middle",s=t.indexOf("left")!==-1?"end":t.indexOf("right")!==-1?"start":"middle",l=n?n/.8+1:0,u=(sA.lineCount(e)-1)*oXe+1,f=PL[s]*l,c=r*.75+PL[o]*l+(PL[o]-1)*u*r/2;e.attr("text-anchor",s),i||a.attr("transform",a2(f,c))}function KJ(e,t){var r=e.ts||t.textfont.size;return Qp(r)&&r>0?r:0}wr.textPointStyle=function(e,t,r){if(e.size()){var n;if(t.selectedpoints){var i=wr.makeSelectedTextStyleFns(t);n=i.selectedTextColorFn}var a=t.texttemplate,o=r._fullLayout;e.each(function(s){var l=cs.select(this),u=a?Yi.extractOption(s,t,"txt","texttemplate"):Yi.extractOption(s,t,"tx","text");if(!u&&u!==0){l.remove();return}if(a){var f=t._module.formatLabels,c=f?f(s,t,o):{},h={};uXe(h,t,s.i);var d=t._meta||{};u=Yi.texttemplateString(u,c,o._d3locale,h,s,d)}var v=s.tp||t.textposition,m=KJ(s,t),b=n?n(s):s.tc||t.textfont.color;l.call(wr.font,{family:s.tf||t.textfont.family,weight:s.tw||t.textfont.weight,style:s.ty||t.textfont.style,variant:s.tv||t.textfont.variant,textcase:s.tC||t.textfont.textcase,lineposition:s.tE||t.textfont.lineposition,shadow:s.tS||t.textfont.shadow,size:m,color:b}).text(u).call(sA.convertToTspans,r).call($J,v,m,s.mrc)})}};wr.selectedTextStyle=function(e,t){if(!(!e.size()||!t.selectedpoints)){var r=wr.makeSelectedTextStyleFns(t);e.each(function(n){var i=cs.select(this),a=r.selectedTextColorFn(n),o=n.tp||t.textposition,s=KJ(n,t);Ws.fill(i,a);var l=oA.traceIs(t,"bar-like");$J(i,o,s,n.mrc2||n.mrc,l)})}};var OJ=.5;wr.smoothopen=function(e,t){if(e.length<3)return"M"+e.join("L");var r="M"+e[0],n=[],i;for(i=1;i<e.length-1;i++)n.push(aA(e[i-1],e[i],e[i+1],t));for(r+="Q"+n[0][0]+" "+e[1],i=2;i<e.length-1;i++)r+="C"+n[i-2][1]+" "+n[i-1][0]+" "+e[i];return r+="Q"+n[e.length-3][1]+" "+e[e.length-1],r};wr.smoothclosed=function(e,t){if(e.length<3)return"M"+e.join("L")+"Z";var r="M"+e[0],n=e.length-1,i=[aA(e[n],e[0],e[1],t)],a;for(a=1;a<n;a++)i.push(aA(e[a-1],e[a],e[a+1],t));for(i.push(aA(e[n-1],e[n],e[0],t)),a=1;a<=n;a++)r+="C"+i[a-1][1]+" "+i[a][0]+" "+e[a];return r+="C"+i[n][1]+" "+i[0][0]+" "+e[0]+"Z",r};var QJ,e$;function B1(e,t,r){return r&&(e=t$(e)),t?Kp(e[1]):$p(e[0])}function $p(e){var t=cs.round(e,2);return QJ=t,t}function Kp(e){var t=cs.round(e,2);return e$=t,t}function aA(e,t,r,n){var i=e[0]-t[0],a=e[1]-t[1],o=r[0]-t[0],s=r[1]-t[1],l=Math.pow(i*i+a*a,OJ/2),u=Math.pow(o*o+s*s,OJ/2),f=(u*u*i-l*l*o)*n,c=(u*u*a-l*l*s)*n,h=3*u*(l+u),d=3*l*(l+u);return[[$p(t[0]+(h&&f/h)),Kp(t[1]+(h&&c/h))],[$p(t[0]-(d&&f/d)),Kp(t[1]-(d&&c/d))]]}var pXe={hv:function(e,t,r){return"H"+$p(t[0])+"V"+B1(t,1,r)},vh:function(e,t,r){return"V"+Kp(t[1])+"H"+B1(t,0,r)},hvh:function(e,t,r){return"H"+$p((e[0]+t[0])/2)+"V"+Kp(t[1])+"H"+B1(t,0,r)},vhv:function(e,t,r){return"V"+Kp((e[1]+t[1])/2)+"H"+$p(t[0])+"V"+B1(t,1,r)}},gXe=function(e,t,r){return"L"+B1(t,0,r)+","+B1(t,1,r)};wr.steps=function(e){var t=pXe[e]||gXe;return function(r){for(var n="M"+$p(r[0][0])+","+Kp(r[0][1]),i=r.length,a=1;a<i;a++)n+=t(r[a-1],r[a],a===i-1);return n}};function t$(e,t){var r=e.backoff,n=e.trace,i=e.d,a=e.i;if(r&&n&&n.marker&&n.marker.angle%360===0&&n.line&&n.line.shape!=="spline"){var o=Yi.isArrayOrTypedArray(r),s=e,l=t?t[0]:QJ||0,u=t?t[1]:e$||0,f=s[0],c=s[1],h=f-l,d=c-u,v=Math.atan2(d,h),m=o?r[a]:r;if(m==="auto"){var b=s.i;n.type==="scatter"&&b--;var g=s.marker,_=g.symbol;Yi.isArrayOrTypedArray(_)&&(_=_[b]);var T=g.size;Yi.isArrayOrTypedArray(T)&&(T=T[b]),m=g?wr.symbolBackOffs[wr.symbolNumber(_)]*T:0,m+=wr.getMarkerStandoff(i[b],n)||0}var w=f-m*Math.cos(v),k=c-m*Math.sin(v);(w<=f&&w>=l||w>=f&&w<=l)&&(k<=c&&k>=u||k>=c&&k<=u)&&(e=[w,k])}return e}wr.applyBackoff=t$;wr.makeTester=function(){var e=Yi.ensureSingleById(cs.select("body"),"svg","js-plotly-tester",function(r){r.attr(iXe.svgAttrs).style({position:"absolute",left:"-10000px",top:"-10000px",width:"9000px",height:"9000px","z-index":"1"})}),t=Yi.ensureSingle(e,"path","js-reference-point",function(r){r.attr("d","M0,0H1V1H0Z").style({"stroke-width":0,fill:"black"})});wr.tester=e,wr.testref=t};wr.savedBBoxes={};var IL=0,mXe=1e4;wr.bBox=function(e,t,r){r||(r=BJ(e));var n;if(r){if(n=wr.savedBBoxes[r],n)return Yi.extendFlat({},n)}else if(e.childNodes.length===1){var i=e.childNodes[0];if(r=BJ(i),r){var a=+i.getAttribute("x")||0,o=+i.getAttribute("y")||0,s=i.getAttribute("transform");if(!s){var l=wr.bBox(i,!1,r);return a&&(l.left+=a,l.right+=a),o&&(l.top+=o,l.bottom+=o),l}if(r+="~"+a+"~"+o+"~"+s,n=wr.savedBBoxes[r],n)return Yi.extendFlat({},n)}}var u,f;t?u=e:(f=wr.tester.node(),u=e.cloneNode(!0),f.appendChild(u)),cs.select(u).attr("transform",null).call(sA.positionText,0,0);var c=u.getBoundingClientRect(),h=wr.testref.node().getBoundingClientRect();t||f.removeChild(u);var d={height:c.height,width:c.width,left:c.left-h.left,top:c.top-h.top,right:c.right-h.left,bottom:c.bottom-h.top};return IL>=mXe&&(wr.savedBBoxes={},IL=0),r&&(wr.savedBBoxes[r]=d),IL++,Yi.extendFlat({},d)};function BJ(e){var t=e.getAttribute("data-unformatted");if(t!==null)return t+e.getAttribute("data-math")+e.getAttribute("text-anchor")+e.getAttribute("style")}wr.setClipUrl=function(e,t,r){e.attr("clip-path",NL(t,r))};function NL(e,t){if(!e)return null;var r=t._context,n=r._exportedPlot?"":r._baseUrl||"";return n?"url('"+n+"#"+e+"')":"url(#"+e+")"}wr.getTranslate=function(e){var t=/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,r=e.attr?"attr":"getAttribute",n=e[r]("transform")||"",i=n.replace(t,function(a,o,s){return[o,s].join(" ")}).split(" ");return{x:+i[0]||0,y:+i[1]||0}};wr.setTranslate=function(e,t,r){var n=/(\btranslate\(.*?\);?)/,i=e.attr?"attr":"getAttribute",a=e.attr?"attr":"setAttribute",o=e[i]("transform")||"";return t=t||0,r=r||0,o=o.replace(n,"").trim(),o+=a2(t,r),o=o.trim(),e[a]("transform",o),o};wr.getScale=function(e){var t=/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,r=e.attr?"attr":"getAttribute",n=e[r]("transform")||"",i=n.replace(t,function(a,o,s){return[o,s].join(" ")}).split(" ");return{x:+i[0]||1,y:+i[1]||1}};wr.setScale=function(e,t,r){var n=/(\bscale\(.*?\);?)/,i=e.attr?"attr":"getAttribute",a=e.attr?"attr":"setAttribute",o=e[i]("transform")||"";return t=t||1,r=r||1,o=o.replace(n,"").trim(),o+="scale("+t+","+r+")",o=o.trim(),e[a]("transform",o),o};var yXe=/\s*sc.*/;wr.setPointGroupScale=function(e,t,r){if(t=t||1,r=r||1,!!e){var n=t===1&&r===1?"":"scale("+t+","+r+")";e.each(function(){var i=(this.getAttribute("transform")||"").replace(yXe,"");i+=n,i=i.trim(),this.setAttribute("transform",i)})}};var xXe=/translate\([^)]*\)\s*$/;wr.setTextPointsScale=function(e,t,r){e&&e.each(function(){var n,i=cs.select(this),a=i.select("text");if(a.node()){var o=parseFloat(a.attr("x")||0),s=parseFloat(a.attr("y")||0),l=(i.attr("transform")||"").match(xXe);t===1&&r===1?n=[]:n=[a2(o,s),"scale("+t+","+r+")",a2(-o,-s)],l&&n.push(l),i.attr("transform",n.join(""))}})};function OL(e,t){var r;return e&&(r=e.mf),r===void 0&&(r=t.marker&&t.marker.standoff||0),!t._geo&&!t._xA?-r:r}wr.getMarkerStandoff=OL;var i2=Math.atan2,Jp=Math.cos,U1=Math.sin;function UJ(e,t){var r=t[0],n=t[1];return[r*Jp(e)-n*U1(e),r*U1(e)+n*Jp(e)]}var HJ,jJ,VJ,YJ,qL,FL;function BL(e,t){var r=e.ma;r===void 0&&(r=t.marker.angle,(!r||Yi.isArrayOrTypedArray(r))&&(r=0));var n,i,a=t.marker.angleref;if(a==="previous"||a==="north"){if(t._geo){var o=t._geo.project(e.lonlat);n=o[0],i=o[1]}else{var s=t._xA,l=t._yA;if(s&&l)n=s.c2p(e.x),i=l.c2p(e.y);else return 90}if(t._geo){var u=e.lonlat[0],f=e.lonlat[1],c=t._geo.project([u,f+1e-5]),h=t._geo.project([u+1e-5,f]),d=i2(h[1]-i,h[0]-n),v=i2(c[1]-i,c[0]-n),m;if(a==="north")m=r/180*Math.PI;else if(a==="previous"){var b=u/180*Math.PI,g=f/180*Math.PI,_=HJ/180*Math.PI,T=jJ/180*Math.PI,w=_-b,k=Jp(T)*U1(w),x=U1(T)*Jp(g)-Jp(T)*U1(g)*Jp(w);m=-i2(k,x)-Math.PI,HJ=u,jJ=f}var M=UJ(d,[Jp(m),0]),A=UJ(v,[U1(m),0]);r=i2(M[1]+A[1],M[0]+A[0])/Math.PI*180,a==="previous"&&!(FL===t.uid&&e.i===qL+1)&&(r=null)}if(a==="previous"&&!t._geo)if(FL===t.uid&&e.i===qL+1&&Qp(n)&&Qp(i)){var p=n-VJ,S=i-YJ,y=t.line&&t.line.shape||"",E=y.slice(y.length-1);E==="h"&&(S=0),E==="v"&&(p=0),r+=i2(S,p)/Math.PI*180+90}else r=null}return VJ=n,YJ=i,qL=e.i,FL=t.uid,r}wr.getMarkerAngle=BL});var tg=J((N8t,o$)=>{"use strict";var H1=Nr(),bXe=dn(),wXe=ea(),UL=zr(),eg=gt(),n$=eg.strTranslate,lA=ln(),uA=qr(),j1=ca(),i$=w1(),_Xe=Vo().OPPOSITE_SIDE,a$=/ [XY][0-9]* /,HL=1.6,jL=1.6;function TXe(e,t,r){var n=e._fullLayout,i=r.propContainer,a=r.propName,o=r.placeholder,s=r.traceIndex,l=r.avoid||{},u=r.attributes,f=r.transform,c=r.containerGroup,h=1,d=i.title,v=(d&&d.text?d.text:"").trim(),m=!1,b=d&&d.font?d.font:{},g=b.family,_=b.size,T=b.color,w=b.weight,k=b.style,x=b.variant,M=b.textcase,A=b.lineposition,p=b.shadow,S=r.subtitlePropName,y=!!S,E=r.subtitlePlaceholder,C=(i.title||{}).subtitle||{text:"",font:{}},L=C.text.trim(),R=!1,I=1,P=C.font,D=P.family,q=P.size,N=P.color,U=P.weight,G=P.style,ee=P.variant,Q=P.textcase,j=P.lineposition,O=P.shadow,Z;a==="title.text"?Z="titleText":a.indexOf("axis")!==-1?Z="axisTitleText":a.indexOf("colorbar"!==-1)&&(Z="colorbarTitleText");var K=e._context.edits[Z];function $(Re,ze){return Re===void 0||ze===void 0?!1:Re.replace(a$," % ")===ze.replace(a$," % ")}v===""?h=0:$(v,o)&&(K||(v=""),h=.2,m=!0),y&&(L===""?I=0:$(L,E)&&(K||(L=""),I=.2,R=!0)),r._meta?v=eg.templateString(v,r._meta):n._meta&&(v=eg.templateString(v,n._meta));var oe=v||L||K,te;c||(c=eg.ensureSingle(n._infolayer,"g","g-"+t),te=n._hColorbarMoveTitle);var V=c.selectAll("text."+t).data(oe?[0]:[]);V.enter().append("text"),V.text(v).attr("class",t),V.exit().remove();var ne=null,W=t+"-subtitle",fe=L||K;if(y&&fe&&(ne=c.selectAll("text."+W).data(fe?[0]:[]),ne.enter().append("text"),ne.text(L).attr("class",W),ne.exit().remove()),!oe)return c;function ge(Re,ze){eg.syncOrAsync([Ce,Ne],{title:Re,subtitle:ze})}function Ce(Re){var ze=Re.title,Be=Re.subtitle,tt;!f&&te&&(f={}),f?(tt="",f.rotate&&(tt+="rotate("+[f.rotate,u.x,u.y]+")"),(f.offset||te)&&(tt+=n$(0,(f.offset||0)-(te||0)))):tt=null,ze.attr("transform",tt);function rt(Fe){if(Fe){var ke=H1.select(Fe.node().parentNode).select("."+W);if(!ke.empty()){var Ue=Fe.node().getBBox();if(Ue.height){var Ge=Ue.y+Ue.height+HL*q;ke.attr("y",Ge)}}}}if(ze.style("opacity",h*uA.opacity(T)).call(lA.font,{color:uA.rgb(T),size:H1.round(_,2),family:g,weight:w,style:k,variant:x,textcase:M,shadow:p,lineposition:A}).attr(u).call(j1.convertToTspans,e,rt),Be){var ce=c.select("."+t+"-math-group"),Ee=ze.node().getBBox(),Ae=ce.node()?ce.node().getBBox():void 0,Pe=Ae?Ae.y+Ae.height+HL*q:Ee.y+Ee.height+jL*q,He=eg.extendFlat({},u,{y:Pe});Be.attr("transform",tt),Be.style("opacity",I*uA.opacity(N)).call(lA.font,{color:uA.rgb(N),size:H1.round(q,2),family:D,weight:U,style:G,variant:ee,textcase:Q,shadow:O,lineposition:j}).attr(He).call(j1.convertToTspans,e)}return wXe.previousPromises(e)}function Ne(Re){var ze=Re.title,Be=H1.select(ze.node().parentNode);if(l&&l.selection&&l.side&&v){Be.attr("transform",null);var tt=_Xe[l.side],rt=l.side==="left"||l.side==="top"?-1:1,ce=bXe(l.pad)?l.pad:2,Ee=lA.bBox(Be.node()),Ae={t:0,b:0,l:0,r:0},Pe=e._fullLayout._reservedMargin;for(var He in Pe)for(var Fe in Pe[He]){var ke=Pe[He][Fe];Ae[Fe]=Math.max(Ae[Fe],ke)}var Ue={left:Ae.l,top:Ae.t,right:n.width-Ae.r,bottom:n.height-Ae.b},Ge=l.maxShift||rt*(Ue[l.side]-Ee[l.side]),lt=0;if(Ge<0)lt=Ge;else{var it=l.offsetLeft||0,wt=l.offsetTop||0;Ee.left-=it,Ee.right-=it,Ee.top-=wt,Ee.bottom-=wt,l.selection.each(function(){var Tt=lA.bBox(this);eg.bBoxIntersect(Ee,Tt,ce)&&(lt=Math.max(lt,rt*(Tt[l.side]-Ee[tt])+ce))}),lt=Math.min(Ge,lt),i._titleScoot=Math.abs(lt)}if(lt>0||Ge<0){var _t={left:[-lt,0],right:[lt,0],top:[0,-lt],bottom:[0,lt]}[l.side];Be.attr("transform",n$(_t[0],_t[1]))}}}V.call(ge,ne);function pe(Re,ze){Re.text(ze).on("mouseover.opacity",function(){H1.select(this).transition().duration(i$.SHOW_PLACEHOLDER).style("opacity",1)}).on("mouseout.opacity",function(){H1.select(this).transition().duration(i$.HIDE_PLACEHOLDER).style("opacity",0)})}if(K&&(v?V.on(".opacity",null):(pe(V,o),m=!0),V.call(j1.makeEditable,{gd:e}).on("edit",function(Re){s!==void 0?UL.call("_guiRestyle",e,a,Re,s):UL.call("_guiRelayout",e,a,Re)}).on("cancel",function(){this.text(this.attr("data-unformatted")).call(ge)}).on("input",function(Re){this.text(Re||" ").call(j1.positionText,u.x,u.y)}),y)){if(y&&!v){var me=V.node().getBBox(),Ie=me.y+me.height+jL*q;ne.attr("y",Ie)}L?ne.on(".opacity",null):(pe(ne,E),R=!0),ne.call(j1.makeEditable,{gd:e}).on("edit",function(Re){UL.call("_guiRelayout",e,"title.subtitle.text",Re)}).on("cancel",function(){this.text(this.attr("data-unformatted")).call(ge)}).on("input",function(Re){this.text(Re||" ").call(j1.positionText,ne.attr("x"),ne.attr("y"))})}return V.classed("js-placeholder",m),ne&&ne.classed("js-placeholder",R),c}o$.exports={draw:TXe,SUBTITLE_PADDING_EM:jL,SUBTITLE_PADDING_MATHJAX_EM:HL}});var Zv=J((O8t,c$)=>{"use strict";var AXe=Nr(),MXe=m1().utcFormat,ta=gt(),kXe=ta.numberFormat,Xh=dn(),c0=ta.cleanNumber,SXe=ta.ms2DateTime,s$=ta.dateTime2ms,Zh=ta.ensureNumber,l$=ta.isArrayOrTypedArray,h0=oi(),fA=h0.FP_SAFE,eh=h0.BADNUM,CXe=h0.LOG_CLIP,EXe=h0.ONEWEEK,cA=h0.ONEDAY,hA=h0.ONEHOUR,u$=h0.ONEMIN,f$=h0.ONESEC,vA=jo(),gA=Eo(),dA=gA.HOUR_PATTERN,pA=gA.WEEKDAY_PATTERN;function o2(e){return Math.pow(10,e)}function VL(e){return e!=null}c$.exports=function(t,r){r=r||{};var n=t._id||"x",i=n.charAt(0);function a(w,k){if(w>0)return Math.log(w)/Math.LN10;if(w<=0&&k&&t.range&&t.range.length===2){var x=t.range[0],M=t.range[1];return .5*(x+M-2*CXe*Math.abs(x-M))}else return eh}function o(w,k,x,M){if((M||{}).msUTC&&Xh(w))return+w;var A=s$(w,x||t.calendar);if(A===eh)if(Xh(w)){w=+w;var p=Math.floor(ta.mod(w+.05,1)*10),S=Math.round(w-p/10);A=s$(new Date(S))+p/10}else return eh;return A}function s(w,k,x){return SXe(w,k,x||t.calendar)}function l(w){return t._categories[Math.round(w)]}function u(w){if(VL(w)){if(t._categoriesMap===void 0&&(t._categoriesMap={}),t._categoriesMap[w]!==void 0)return t._categoriesMap[w];t._categories.push(typeof w=="number"?String(w):w);var k=t._categories.length-1;return t._categoriesMap[w]=k,k}return eh}function f(w,k){for(var x=new Array(k),M=0;M<k;M++){var A=(w[0]||[])[M],p=(w[1]||[])[M];x[M]=c([A,p])}return x}function c(w){if(t._categoriesMap)return t._categoriesMap[w]}function h(w){var k=c(w);if(k!==void 0)return k;if(Xh(w))return+w}function d(w){return Xh(w)?+w:c(w)}function v(w,k,x){return AXe.round(x+k*w,2)}function m(w,k,x){return(w-x)/k}var b=function(k){return Xh(k)?v(k,t._m,t._b):eh},g=function(w){return m(w,t._m,t._b)};if(t.rangebreaks){var _=i==="y";b=function(w){if(!Xh(w))return eh;var k=t._rangebreaks.length;if(!k)return v(w,t._m,t._b);var x=_;t.range[0]>t.range[1]&&(x=!x);for(var M=x?-1:1,A=M*w,p=0,S=0;S<k;S++){var y=M*t._rangebreaks[S].min,E=M*t._rangebreaks[S].max;if(A<y)break;if(A>E)p=S+1;else{p=A<(y+E)/2?S:S+1;break}}var C=t._B[p]||0;return isFinite(C)?v(w,t._m2,C):0},g=function(w){var k=t._rangebreaks.length;if(!k)return m(w,t._m,t._b);for(var x=0,M=0;M<k&&!(w<t._rangebreaks[M].pmin);M++)w>t._rangebreaks[M].pmax&&(x=M+1);return m(w,t._m2,t._B[x])}}t.c2l=t.type==="log"?a:Zh,t.l2c=t.type==="log"?o2:Zh,t.l2p=b,t.p2l=g,t.c2p=t.type==="log"?function(w,k){return b(a(w,k))}:b,t.p2c=t.type==="log"?function(w){return o2(g(w))}:g,["linear","-"].indexOf(t.type)!==-1?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=c0,t.c2d=t.c2r=t.l2d=t.l2r=Zh,t.d2p=t.r2p=function(w){return t.l2p(c0(w))},t.p2d=t.p2r=g,t.cleanPos=Zh):t.type==="log"?(t.d2r=t.d2l=function(w,k){return a(c0(w),k)},t.r2d=t.r2c=function(w){return o2(c0(w))},t.d2c=t.r2l=c0,t.c2d=t.l2r=Zh,t.c2r=a,t.l2d=o2,t.d2p=function(w,k){return t.l2p(t.d2r(w,k))},t.p2d=function(w){return o2(g(w))},t.r2p=function(w){return t.l2p(c0(w))},t.p2r=g,t.cleanPos=Zh):t.type==="date"?(t.d2r=t.r2d=ta.identity,t.d2c=t.r2c=t.d2l=t.r2l=o,t.c2d=t.c2r=t.l2d=t.l2r=s,t.d2p=t.r2p=function(w,k,x){return t.l2p(o(w,0,x))},t.p2d=t.p2r=function(w,k,x){return s(g(w),k,x)},t.cleanPos=function(w){return ta.cleanDate(w,eh,t.calendar)}):t.type==="category"?(t.d2c=t.d2l=u,t.r2d=t.c2d=t.l2d=l,t.d2r=t.d2l_noadd=h,t.r2c=function(w){var k=d(w);return k!==void 0?k:t.fraction2r(.5)},t.l2r=t.c2r=Zh,t.r2l=d,t.d2p=function(w){return t.l2p(t.r2c(w))},t.p2d=function(w){return l(g(w))},t.r2p=t.d2p,t.p2r=g,t.cleanPos=function(w){return typeof w=="string"&&w!==""?w:Zh(w)}):t.type==="multicategory"&&(t.r2d=t.c2d=t.l2d=l,t.d2r=t.d2l_noadd=h,t.r2c=function(w){var k=h(w);return k!==void 0?k:t.fraction2r(.5)},t.r2c_just_indices=c,t.l2r=t.c2r=Zh,t.r2l=h,t.d2p=function(w){return t.l2p(t.r2c(w))},t.p2d=function(w){return l(g(w))},t.r2p=t.d2p,t.p2r=g,t.cleanPos=function(w){return Array.isArray(w)||typeof w=="string"&&w!==""?w:Zh(w)},t.setupMultiCategory=function(w){var k=t._traceIndices,x,M,A=t._matchGroup;if(A&&t._categories.length===0){for(var p in A)if(p!==n){var S=r[vA.id2name(p)];k=k.concat(S._traceIndices)}}var y=[[0,{}],[0,{}]],E=[];for(x=0;x<k.length;x++){var C=w[k[x]];if(i in C){var L=C[i],R=C._length||ta.minRowLength(L);if(l$(L[0])&&l$(L[1]))for(M=0;M<R;M++){var I=L[0][M],P=L[1][M];VL(I)&&VL(P)&&(E.push([I,P]),I in y[0][1]||(y[0][1][I]=y[0][0]++),P in y[1][1]||(y[1][1][P]=y[1][0]++))}}}for(E.sort(function(D,q){var N=y[0][1],U=N[D[0]]-N[q[0]];if(U)return U;var G=y[1][1];return G[D[1]]-G[q[1]]}),x=0;x<E.length;x++)u(E[x])}),t.fraction2r=function(w){var k=t.r2l(t.range[0]),x=t.r2l(t.range[1]);return t.l2r(k+w*(x-k))},t.r2fraction=function(w){var k=t.r2l(t.range[0]),x=t.r2l(t.range[1]);return(t.r2l(w)-k)/(x-k)},t.limitRange=function(w){var k=t.minallowed,x=t.maxallowed;if(!(k===void 0&&x===void 0)){w||(w="range");var M=ta.nestedProperty(t,w).get(),A=ta.simpleMap(M,t.r2l),p=A[1]<A[0];p&&A.reverse();var S=ta.simpleMap([k,x],t.r2l);if(k!==void 0&&A[0]<S[0]&&(M[p?1:0]=k),x!==void 0&&A[1]>S[1]&&(M[p?0:1]=x),M[0]===M[1]){var y=t.l2r(k),E=t.l2r(x);if(k!==void 0){var C=y+1;x!==void 0&&(C=Math.min(C,E)),M[p?1:0]=C}if(x!==void 0){var L=E+1;k!==void 0&&(L=Math.max(L,y)),M[p?0:1]=L}}}},t.cleanRange=function(w,k){t._cleanRange(w,k),t.limitRange(w)},t._cleanRange=function(w,k){k||(k={}),w||(w="range");var x=ta.nestedProperty(t,w).get(),M,A;if(t.type==="date"?A=ta.dfltRange(t.calendar):i==="y"?A=gA.DFLTRANGEY:t._name==="realaxis"?A=[0,1]:A=k.dfltRange||gA.DFLTRANGEX,A=A.slice(),(t.rangemode==="tozero"||t.rangemode==="nonnegative")&&(A[0]=0),!x||x.length!==2){ta.nestedProperty(t,w).set(A);return}var p=x[0]===null,S=x[1]===null;for(t.type==="date"&&!t.autorange&&(x[0]=ta.cleanDate(x[0],eh,t.calendar),x[1]=ta.cleanDate(x[1],eh,t.calendar)),M=0;M<2;M++)if(t.type==="date"){if(!ta.isDateTime(x[M],t.calendar)){t[w]=A;break}if(t.r2l(x[0])===t.r2l(x[1])){var y=ta.constrain(t.r2l(x[0]),ta.MIN_MS+1e3,ta.MAX_MS-1e3);x[0]=t.l2r(y-1e3),x[1]=t.l2r(y+1e3);break}}else{if(!Xh(x[M]))if(!(p||S)&&Xh(x[1-M]))x[M]=x[1-M]*(M?10:.1);else{t[w]=A;break}if(x[M]<-fA?x[M]=-fA:x[M]>fA&&(x[M]=fA),x[0]===x[1]){var E=Math.max(1,Math.abs(x[0]*1e-6));x[0]-=E,x[1]+=E}}},t.setScale=function(w){var k=r._size;if(t.overlaying){var x=vA.getFromId({_fullLayout:r},t.overlaying);t.domain=x.domain}var M=w&&t._r?"_r":"range",A=t.calendar;t.cleanRange(M);var p=t.r2l(t[M][0],A),S=t.r2l(t[M][1],A),y=i==="y";if(y?(t._offset=k.t+(1-t.domain[1])*k.h,t._length=k.h*(t.domain[1]-t.domain[0]),t._m=t._length/(p-S),t._b=-t._m*S):(t._offset=k.l+t.domain[0]*k.w,t._length=k.w*(t.domain[1]-t.domain[0]),t._m=t._length/(S-p),t._b=-t._m*p),t._rangebreaks=[],t._lBreaks=0,t._m2=0,t._B=[],t.rangebreaks){var E,C;if(t._rangebreaks=t.locateBreaks(Math.min(p,S),Math.max(p,S)),t._rangebreaks.length){for(E=0;E<t._rangebreaks.length;E++)C=t._rangebreaks[E],t._lBreaks+=Math.abs(C.max-C.min);var L=y;p>S&&(L=!L),L&&t._rangebreaks.reverse();var R=L?-1:1;for(t._m2=R*t._length/(Math.abs(S-p)-t._lBreaks),t._B.push(-t._m2*(y?S:p)),E=0;E<t._rangebreaks.length;E++)C=t._rangebreaks[E],t._B.push(t._B[t._B.length-1]-R*t._m2*(C.max-C.min));for(E=0;E<t._rangebreaks.length;E++)C=t._rangebreaks[E],C.pmin=b(C.min),C.pmax=b(C.max)}}if(!isFinite(t._m)||!isFinite(t._b)||t._length<0)throw r._replotting=!1,new Error("Something went wrong with axis scaling")},t.maskBreaks=function(w){var k=t.rangebreaks||[],x,M,A,p,S;k._cachedPatterns||(k._cachedPatterns=k.map(function(N){return N.enabled&&N.bounds?ta.simpleMap(N.bounds,N.pattern?c0:t.d2c):null})),k._cachedValues||(k._cachedValues=k.map(function(N){return N.enabled&&N.values?ta.simpleMap(N.values,t.d2c).sort(ta.sorterAsc):null}));for(var y=0;y<k.length;y++){var E=k[y];if(E.enabled){if(E.bounds){var C=E.pattern;switch(x=k._cachedPatterns[y],M=x[0],A=x[1],C){case pA:S=new Date(w),p=S.getUTCDay(),M>A&&(A+=7,p<M&&(p+=7));break;case dA:S=new Date(w);var L=S.getUTCHours(),R=S.getUTCMinutes(),I=S.getUTCSeconds(),P=S.getUTCMilliseconds();p=L+(R/60+I/3600+P/36e5),M>A&&(A+=24,p<M&&(p+=24));break;case"":p=w;break}if(p>=M&&p<A)return eh}else for(var D=k._cachedValues[y],q=0;q<D.length;q++)if(M=D[q],A=M+E.dvalue,w>=M&&w<A)return eh}}return w},t.locateBreaks=function(w,k){var x,M,A,p,S=[];if(!t.rangebreaks)return S;var y=t.rangebreaks.slice().sort(function(G,ee){return G.pattern===pA&&ee.pattern===dA?-1:ee.pattern===pA&&G.pattern===dA?1:0}),E=function(G,ee){if(G=ta.constrain(G,w,k),ee=ta.constrain(ee,w,k),G!==ee){for(var Q=!0,j=0;j<S.length;j++){var O=S[j];G<O.max&&ee>=O.min&&(G<O.min&&(O.min=G),ee>O.max&&(O.max=ee),Q=!1)}Q&&S.push({min:G,max:ee})}};for(x=0;x<y.length;x++){var C=y[x];if(C.enabled)if(C.bounds){var L=w,R=k;C.pattern&&(L=Math.floor(L)),M=ta.simpleMap(C.bounds,C.pattern?c0:t.r2l),A=M[0],p=M[1];var I=new Date(L),P,D;switch(C.pattern){case pA:D=EXe,P=((p<A?7:0)+(p-A))*cA,L+=A*cA-(I.getUTCDay()*cA+I.getUTCHours()*hA+I.getUTCMinutes()*u$+I.getUTCSeconds()*f$+I.getUTCMilliseconds());break;case dA:D=cA,P=((p<A?24:0)+(p-A))*hA,L+=A*hA-(I.getUTCHours()*hA+I.getUTCMinutes()*u$+I.getUTCSeconds()*f$+I.getUTCMilliseconds());break;default:L=Math.min(M[0],M[1]),R=Math.max(M[0],M[1]),D=R-L,P=D}for(var q=L;q<R;q+=D)E(q,q+P)}else for(var N=ta.simpleMap(C.values,t.d2c),U=0;U<N.length;U++)A=N[U],p=A+C.dvalue,E(A,p)}return S.sort(function(G,ee){return G.min-ee.min}),S},t.makeCalcdata=function(w,k,x){var M,A,p,S,y=t.type,E=y==="date"&&w[k+"calendar"];if(k in w){if(M=w[k],S=w._length||ta.minRowLength(M),ta.isTypedArray(M)&&(y==="linear"||y==="log")){if(S===M.length)return M;if(M.subarray)return M.subarray(0,S)}if(y==="multicategory")return f(M,S);for(A=new Array(S),p=0;p<S;p++)A[p]=t.d2c(M[p],0,E,x)}else{var C=k+"0"in w?t.d2c(w[k+"0"],0,E):0,L=w["d"+k]?Number(w["d"+k]):1;for(M=w[{x:"y",y:"x"}[k]],S=w._length||M.length,A=new Array(S),p=0;p<S;p++)A[p]=C+p*L}if(t.rangebreaks)for(p=0;p<S;p++)A[p]=t.maskBreaks(A[p]);return A},t.isValidRange=function(w,k){return Array.isArray(w)&&w.length===2&&(k&&w[0]===null||Xh(t.r2l(w[0])))&&(k&&w[1]===null||Xh(t.r2l(w[1])))},t.getAutorangeDflt=function(w,k){var x=!t.isValidRange(w,"nullOk");return x&&k&&k.reverseDflt?x="reversed":w&&(w[0]===null&&w[1]===null?x=!0:w[0]===null&&w[1]!==null?x="min":w[0]!==null&&w[1]===null&&(x="max")),x},t.isReversed=function(){var w=t.autorange;return w==="reversed"||w==="min reversed"||w==="max reversed"},t.isPtWithinRange=function(w,k){var x=t.c2l(w[i],null,k),M=t.r2l(t.range[0]),A=t.r2l(t.range[1]);return M<A?M<=x&&x<=A:A<=x&&x<=M},t._emptyCategories=function(){t._categories=[],t._categoriesMap={}},t.clearCalc=function(){var w=t._matchGroup;if(w){var k=null,x=null;for(var M in w){var A=r[vA.id2name(M)];if(A._categories){k=A._categories,x=A._categoriesMap;break}}k&&x?(t._categories=k,t._categoriesMap=x):t._emptyCategories()}else t._emptyCategories();if(t._initialCategories)for(var p=0;p<t._initialCategories.length;p++)u(t._initialCategories[p])},t.sortByInitialCategories=function(){var w=[];if(t._emptyCategories(),t._initialCategories)for(var k=0;k<t._initialCategories.length;k++)u(t._initialCategories[k]);w=w.concat(t._traceIndices);var x=t._matchGroup;for(var M in x)if(n!==M){var A=r[vA.id2name(M)];A._categories=t._categories,A._categoriesMap=t._categoriesMap,w=w.concat(A._traceIndices)}return w};var T=r._d3locale;t.type==="date"&&(t._dateFormat=T?T.timeFormat:MXe,t._extraFormat=r._extraFormat),t._separators=r.separators,t._numFormat=T?T.numberFormat:kXe,delete t._minDtick,delete t._forceTick0}});var V1=J((B8t,p$)=>{"use strict";var h$=dn(),YL=gt(),LXe=oi().BADNUM,mA=YL.isArrayOrTypedArray,DXe=YL.isDateTime,RXe=YL.cleanNumber,v$=Math.round;p$.exports=function(t,r,n){var i=t,a=n.noMultiCategory;if(mA(i)&&!i.length)return"-";if(!a&&zXe(i))return"multicategory";if(a&&Array.isArray(i[0])){for(var o=[],s=0;s<i.length;s++)if(mA(i[s]))for(var l=0;l<i[s].length;l++)o.push(i[s][l]);i=o}if(qXe(i,r))return"date";var u=n.autotypenumbers!=="strict";return FXe(i,u)?"category":IXe(i,u)?"linear":"-"};function PXe(e,t){return t?h$(e):typeof e=="number"}function IXe(e,t){for(var r=e.length,n=0;n<r;n++)if(PXe(e[n],t))return!0;return!1}function qXe(e,t){for(var r=e.length,n=d$(r),i=0,a=0,o={},s=0;s<r;s+=n){var l=v$(s),u=e[l],f=String(u);o[f]||(o[f]=1,DXe(u,t)&&i++,h$(u)&&a++)}return i>a*2}function d$(e){return Math.max(1,(e-1)/1e3)}function FXe(e,t){for(var r=e.length,n=d$(r),i=0,a=0,o={},s=0;s<r;s+=n){var l=v$(s),u=e[l],f=String(u);if(!o[f]){o[f]=1;var c=typeof u;c==="boolean"?a++:(t?RXe(u)!==LXe:c==="number")?i++:c==="string"&&a++}}return a>i*2}function zXe(e){return mA(e[0])&&mA(e[1])}});var ec=J((U8t,T$)=>{"use strict";var NXe=Nr(),x$=dn(),v0=gt(),yA=oi().FP_SAFE,OXe=zr(),BXe=ln(),b$=jo(),UXe=b$.getFromId,HXe=b$.isLinked;T$.exports={applyAutorangeOptions:_$,getAutoRange:GL,makePadFn:WL,doAutoRange:VXe,findExtremes:YXe,concatExtremes:JL};function GL(e,t){var r,n,i=[],a=e._fullLayout,o=WL(a,t,0),s=WL(a,t,1),l=JL(e,t),u=l.min,f=l.max;if(u.length===0||f.length===0)return v0.simpleMap(t.range,t.r2l);var c=u[0].val,h=f[0].val;for(r=1;r<u.length&&c===h;r++)c=Math.min(c,u[r].val);for(r=1;r<f.length&&c===h;r++)h=Math.max(h,f[r].val);var d=t.autorange,v=d==="reversed"||d==="min reversed"||d==="max reversed";if(!v&&t.range){var m=v0.simpleMap(t.range,t.r2l);v=m[1]<m[0]}t.autorange==="reversed"&&(t.autorange=!0);var b=t.rangemode,g=b==="tozero",_=b==="nonnegative",T=t._length,w=T/10,k=0,x,M,A,p,S,y;for(r=0;r<u.length;r++)for(x=u[r],n=0;n<f.length;n++)M=f[n],y=M.val-x.val-g$(t,x.val,M.val),y>0&&(S=T-o(x)-s(M),S>w?y/S>k&&(A=x,p=M,k=y/S):y/T>k&&(A={val:x.val,nopad:1},p={val:M.val,nopad:1},k=y/T));function E(P,D){return Math.max(P,s(D))}if(c===h){var C=c-1,L=c+1;if(g)if(c===0)i=[0,1];else{var R=(c>0?f:u).reduce(E,0),I=c/(1-Math.min(.5,R/T));i=c>0?[0,I]:[I,0]}else _?i=[Math.max(0,C),Math.max(1,L)]:i=[C,L]}else g?(A.val>=0&&(A={val:0,nopad:1}),p.val<=0&&(p={val:0,nopad:1})):_&&(A.val-k*o(A)<0&&(A={val:0,nopad:1}),p.val<=0&&(p={val:1,nopad:1})),k=(p.val-A.val-g$(t,x.val,M.val))/(T-o(A)-s(p)),i=[A.val-k*o(A),p.val+k*s(p)];return i=_$(i,t),t.limitRange&&t.limitRange(),v&&i.reverse(),v0.simpleMap(i,t.l2r||Number)}function g$(e,t,r){var n=0;if(e.rangebreaks)for(var i=e.locateBreaks(t,r),a=0;a<i.length;a++){var o=i[a];n+=o.max-o.min}return n}function WL(e,t,r){var n=.05*t._length,i=t._anchorAxis||{};if((t.ticklabelposition||"").indexOf("inside")!==-1||(i.ticklabelposition||"").indexOf("inside")!==-1){var a=t.isReversed();if(!a){var o=v0.simpleMap(t.range,t.r2l);a=o[1]<o[0]}a&&(r=!r)}var s=0;return HXe(e,t._id)||(s=jXe(e,t,r)),n=Math.max(s,n),t.constrain==="domain"&&t._inputDomain&&(n*=(t._inputDomain[1]-t._inputDomain[0])/(t.domain[1]-t.domain[0])),function(u){return u.nopad?0:u.pad+(u.extrapad?n:s)}}var m$=3;function jXe(e,t,r){var n=0,i=t._id.charAt(0)==="x";for(var a in e._plots){var o=e._plots[a];if(!(t._id!==o.xaxis._id&&t._id!==o.yaxis._id)){var s=(i?o.yaxis:o.xaxis)||{};if((s.ticklabelposition||"").indexOf("inside")!==-1&&(!r&&(s.side==="left"||s.side==="bottom")||r&&(s.side==="top"||s.side==="right"))){if(s._vals){var l=v0.deg2rad(s._tickAngles[s._id+"tick"]||0),u=Math.abs(Math.cos(l)),f=Math.abs(Math.sin(l));if(!s._vals[0].bb){var c=s._id+"tick",h=s._selections[c];h.each(function(_){var T=NXe.select(this),w=T.select(".text-math-group");w.empty()&&(_.bb=BXe.bBox(T.node()))})}for(var d=0;d<s._vals.length;d++){var v=s._vals[d],m=v.bb;if(m){var b=2*m$+m.width,g=2*m$+m.height;n=Math.max(n,i?Math.max(b*u,g*f):Math.max(g*u,b*f))}}}s.ticks==="inside"&&s.ticklabelposition==="inside"&&(n+=s.ticklen||0)}}}return n}function JL(e,t,r){var n=t._id,i=e._fullData,a=e._fullLayout,o=[],s=[],l,u,f;function c(b,g){for(l=0;l<g.length;l++){var _=b[g[l]],T=(_._extremes||{})[n];if(_.visible===!0&&T){for(u=0;u<T.min.length;u++)f=T.min[u],XL(o,f.val,f.pad,{extrapad:f.extrapad});for(u=0;u<T.max.length;u++)f=T.max[u],ZL(s,f.val,f.pad,{extrapad:f.extrapad})}}}if(c(i,t._traceIndices),c(a.annotations||[],t._annIndices||[]),c(a.shapes||[],t._shapeIndices||[]),t._matchGroup&&!r){for(var h in t._matchGroup)if(h!==t._id){var d=UXe(e,h),v=JL(e,d,!0),m=t._length/d._length;for(u=0;u<v.min.length;u++)f=v.min[u],XL(o,f.val,f.pad*m,{extrapad:f.extrapad});for(u=0;u<v.max.length;u++)f=v.max[u],ZL(s,f.val,f.pad*m,{extrapad:f.extrapad})}}return{min:o,max:s}}function VXe(e,t,r){if(t.setScale(),t.autorange){t.range=r?r.slice():GL(e,t),t._r=t.range.slice(),t._rl=v0.simpleMap(t._r,t.r2l);var n=t._input,i={};i[t._attr+".range"]=t.range,i[t._attr+".autorange"]=t.autorange,OXe.call("_storeDirectGUIEdit",e.layout,e._fullLayout._preGUI,i),n.range=t.range.slice(),n.autorange=t.autorange}var a=t._anchorAxis;if(a&&a.rangeslider){var o=a.rangeslider[t._name];o&&o.rangemode==="auto"&&(o.range=GL(e,t)),a._input.rangeslider[t._name]=v0.extendFlat({},o)}}function YXe(e,t,r){r||(r={}),e._m||e.setScale();var n=[],i=[],a=t.length,o=r.padded||!1,s=r.tozero&&(e.type==="linear"||e.type==="-"),l=e.type==="log",u=!1,f=r.vpadLinearized||!1,c,h,d,v,m,b,g,_,T;function w(E){if(Array.isArray(E))return u=!0,function(L){return Math.max(Number(E[L]||0),0)};var C=Math.max(Number(E||0),0);return function(){return C}}var k=w((e._m>0?r.ppadplus:r.ppadminus)||r.ppad||0),x=w((e._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),M=w(r.vpadplus||r.vpad),A=w(r.vpadminus||r.vpad);if(!u){if(_=1/0,T=-1/0,l)for(c=0;c<a;c++)h=t[c],h<_&&h>0&&(_=h),h>T&&h<yA&&(T=h);else for(c=0;c<a;c++)h=t[c],h<_&&h>-yA&&(_=h),h>T&&h<yA&&(T=h);t=[_,T],a=2}var p={tozero:s,extrapad:o};function S(E){d=t[E],x$(d)&&(b=k(E),g=x(E),f?(v=e.c2l(d)-A(E),m=e.c2l(d)+M(E)):(_=d-A(E),T=d+M(E),l&&_<T/10&&(_=T/10),v=e.c2l(_),m=e.c2l(T)),s&&(v=Math.min(0,v),m=Math.max(0,m)),y$(v)&&XL(n,v,g,p),y$(m)&&ZL(i,m,b,p))}var y=Math.min(6,a);for(c=0;c<y;c++)S(c);for(c=a-1;c>=y;c--)S(c);return{min:n,max:i,opts:r}}function XL(e,t,r,n){w$(e,t,r,n,GXe)}function ZL(e,t,r,n){w$(e,t,r,n,WXe)}function w$(e,t,r,n,i){for(var a=n.tozero,o=n.extrapad,s=!0,l=0;l<e.length&&s;l++){var u=e[l];if(i(u.val,t)&&u.pad>=r&&(u.extrapad||!o)){s=!1;break}else i(t,u.val)&&u.pad<=r&&(o||!u.extrapad)&&(e.splice(l,1),l--)}if(s){var f=a&&t===0;e.push({val:t,pad:f?0:r,extrapad:f?!1:o})}}function y$(e){return x$(e)&&Math.abs(e)<yA}function GXe(e,t){return e<=t}function WXe(e,t){return e>=t}function XXe(e,t){var r=t.autorangeoptions;return r&&r.minallowed!==void 0&&xA(t,r.minallowed,r.maxallowed)?r.minallowed:r&&r.clipmin!==void 0&&xA(t,r.clipmin,r.clipmax)?Math.max(e,t.d2l(r.clipmin)):e}function ZXe(e,t){var r=t.autorangeoptions;return r&&r.maxallowed!==void 0&&xA(t,r.minallowed,r.maxallowed)?r.maxallowed:r&&r.clipmax!==void 0&&xA(t,r.clipmin,r.clipmax)?Math.min(e,t.d2l(r.clipmax)):e}function xA(e,t,r){return t!==void 0&&r!==void 0?(t=e.d2l(t),r=e.d2l(r),t<r):!0}function _$(e,t){if(!t||!t.autorangeoptions)return e;var r=e[0],n=e[1],i=t.autorangeoptions.include;if(i!==void 0){var a=t.d2l(r),o=t.d2l(n);v0.isArrayOrTypedArray(i)||(i=[i]);for(var s=0;s<i.length;s++){var l=t.d2l(i[s]);a>=l&&(a=l,r=l),o<=l&&(o=l,n=l)}}return r=XXe(r,t),n=ZXe(n,t),[r,n]}});var nn=J((H8t,Y$)=>{"use strict";var tc=Nr(),Do=dn(),Y1=ea(),l2=zr(),pn=gt(),G1=pn.strTranslate,rg=ca(),JXe=tg(),u2=qr(),Mf=ln(),$Xe=hl(),A$=yL(),Xs=oi(),KXe=Xs.ONEMAXYEAR,_A=Xs.ONEAVGYEAR,TA=Xs.ONEMINYEAR,QXe=Xs.ONEMAXQUARTER,eD=Xs.ONEAVGQUARTER,AA=Xs.ONEMINQUARTER,eZe=Xs.ONEMAXMONTH,W1=Xs.ONEAVGMONTH,MA=Xs.ONEMINMONTH,kf=Xs.ONEWEEK,ql=Xs.ONEDAY,d0=ql/2,$h=Xs.ONEHOUR,f2=Xs.ONEMIN,kA=Xs.ONESEC,tZe=Xs.ONEMILLI,rZe=Xs.ONEMICROSEC,ng=Xs.MINUS_SIGN,EA=Xs.BADNUM,tD={K:"zeroline"},rD={K:"gridline",L:"path"},nD={K:"minor-gridline",L:"path"},q$={K:"tick",L:"path"},M$={K:"tick",L:"text"},k$={width:["x","r","l","xl","xr"],height:["y","t","b","yt","yb"],right:["r","xr"],left:["l","xl"],top:["t","yt"],bottom:["b","yb"]},LA=Vo(),s2=LA.MID_SHIFT,ig=LA.CAP_SHIFT,c2=LA.LINE_SPACING,nZe=LA.OPPOSITE_SIDE,SA=3,hr=Y$.exports={};hr.setConvert=Zv();var iZe=V1(),Jv=jo(),aZe=Jv.idSort,oZe=Jv.isLinked;hr.id2name=Jv.id2name;hr.name2id=Jv.name2id;hr.cleanId=Jv.cleanId;hr.list=Jv.list;hr.listIds=Jv.listIds;hr.getFromId=Jv.getFromId;hr.getFromTrace=Jv.getFromTrace;var F$=ec();hr.getAutoRange=F$.getAutoRange;hr.findExtremes=F$.findExtremes;var sZe=1e-4;function sD(e){var t=(e[1]-e[0])*sZe;return[e[0]-t,e[1]+t]}hr.coerceRef=function(e,t,r,n,i,a){var o=n.charAt(n.length-1),s=r._fullLayout._subplots[o+"axis"],l=n+"ref",u={};return i||(i=s[0]||(typeof a=="string"?a:a[0])),a||(a=i),s=s.concat(s.map(function(f){return f+" domain"})),u[l]={valType:"enumerated",values:s.concat(a?typeof a=="string"?[a]:a:[]),dflt:i},pn.coerce(e,t,u,l)};hr.getRefType=function(e){return e===void 0?e:e==="paper"?"paper":e==="pixel"?"pixel":/( domain)$/.test(e)?"domain":"range"};hr.coercePosition=function(e,t,r,n,i,a){var o,s,l=hr.getRefType(n);if(l!=="range")o=pn.ensureNumber,s=r(i,a);else{var u=hr.getFromId(t,n);a=u.fraction2r(a),s=r(i,a),o=u.cleanPos}e[i]=o(s)};hr.cleanPosition=function(e,t,r){var n=r==="paper"||r==="pixel"?pn.ensureNumber:hr.getFromId(t,r).cleanPos;return n(e)};hr.redrawComponents=function(e,t){t=t||hr.listIds(e);var r=e._fullLayout;function n(i,a,o,s){for(var l=l2.getComponentMethod(i,a),u={},f=0;f<t.length;f++)for(var c=r[hr.id2name(t[f])],h=c[o],d=0;d<h.length;d++){var v=h[d];if(!u[v]&&(l(e,v),u[v]=1,s))return}}n("annotations","drawOne","_annIndices"),n("shapes","drawOne","_shapeIndices"),n("images","draw","_imgIndices",!0),n("selections","drawOne","_selectionIndices")};var lZe=hr.getDataConversions=function(e,t,r,n){var i,a=r==="x"||r==="y"||r==="z"?r:n;if(pn.isArrayOrTypedArray(a)){if(i={type:iZe(n,void 0,{autotypenumbers:e._fullLayout.autotypenumbers}),_categories:[]},hr.setConvert(i),i.type==="category")for(var o=0;o<n.length;o++)i.d2c(n[o])}else i=hr.getFromTrace(e,t,a);return i?{d2c:i.d2c,c2d:i.c2d}:a==="ids"?{d2c:C$,c2d:C$}:{d2c:S$,c2d:S$}};function S$(e){return+e}function C$(e){return String(e)}hr.getDataToCoordFunc=function(e,t,r,n){return lZe(e,t,r,n).d2c};hr.counterLetter=function(e){var t=e.charAt(0);if(t==="x")return"y";if(t==="y")return"x"};hr.minDtick=function(e,t,r,n){["log","category","multicategory"].indexOf(e.type)!==-1||!n?e._minDtick=0:e._minDtick===void 0?(e._minDtick=t,e._forceTick0=r):e._minDtick&&((e._minDtick/t+1e-6)%1<2e-6&&((r-e._forceTick0)/t%1+1.000001)%1<2e-6?(e._minDtick=t,e._forceTick0=r):((t/e._minDtick+1e-6)%1>2e-6||((r-e._forceTick0)/e._minDtick%1+1.000001)%1>2e-6)&&(e._minDtick=0))};hr.saveRangeInitial=function(e,t){for(var r=hr.list(e,"",!0),n=!1,i=0;i<r.length;i++){var a=r[i],o=a._rangeInitial0===void 0&&a._rangeInitial1===void 0,s=o||a.range[0]!==a._rangeInitial0||a.range[1]!==a._rangeInitial1,l=a.autorange;(o&&l!==!0||t&&s)&&(a._rangeInitial0=l==="min"||l==="max reversed"?void 0:a.range[0],a._rangeInitial1=l==="max"||l==="min reversed"?void 0:a.range[1],a._autorangeInitial=l,n=!0)}return n};hr.saveShowSpikeInitial=function(e,t){for(var r=hr.list(e,"",!0),n=!1,i="on",a=0;a<r.length;a++){var o=r[a],s=o._showSpikeInitial===void 0,l=s||o.showspikes!==o._showspikes;(s||t&&l)&&(o._showSpikeInitial=o.showspikes,n=!0),i==="on"&&!o.showspikes&&(i="off")}return e._fullLayout._cartesianSpikesEnabled=i,n};hr.autoBin=function(e,t,r,n,i,a){var o=pn.aggNums(Math.min,null,e),s=pn.aggNums(Math.max,null,e);if(t.type==="category"||t.type==="multicategory")return{start:o-.5,end:s+.5,size:Math.max(1,Math.round(a)||1),_dataSpan:s-o};i||(i=t.calendar);var l;if(t.type==="log"?l={type:"linear",range:[o,s]}:l={type:t.type,range:pn.simpleMap([o,s],t.c2r,0,i),calendar:i},hr.setConvert(l),a=a&&A$.dtick(a,l.type),a)l.dtick=a,l.tick0=A$.tick0(void 0,l.type,i);else{var u;if(r)u=(s-o)/r;else{var f=pn.distinctVals(e),c=Math.pow(10,Math.floor(Math.log(f.minDiff)/Math.LN10)),h=c*pn.roundUp(f.minDiff/c,[.9,1.9,4.9,9.9],!0);u=Math.max(h,2*pn.stdev(e)/Math.pow(e.length,n?.25:.4)),Do(u)||(u=1)}hr.autoTicks(l,u)}var d=l.dtick,v=hr.tickIncrement(hr.tickFirst(l),d,"reverse",i),m,b;if(typeof d=="number")v=uZe(v,e,l,o,s),b=1+Math.floor((s-v)/d),m=v+b*d;else for(l.dtick.charAt(0)==="M"&&(v=fZe(v,e,d,o,i)),m=v,b=0;m<=s;)m=hr.tickIncrement(m,d,!1,i),b++;return{start:t.c2r(v,0,i),end:t.c2r(m,0,i),size:d,_dataSpan:s-o}};function uZe(e,t,r,n,i){var a=0,o=0,s=0,l=0;function u(d){return(1+(d-e)*100/r.dtick)%100<2}for(var f=0;f<t.length;f++)t[f]%1===0?s++:Do(t[f])||l++,u(t[f])&&a++,u(t[f]+r.dtick/2)&&o++;var c=t.length-l;if(s===c&&r.type!=="date")r.dtick<1?e=n-.5*r.dtick:(e-=.5,e+r.dtick<n&&(e+=r.dtick));else if(o<c*.1&&(a>c*.3||u(n)||u(i))){var h=r.dtick/2;e+=e+h<n?h:-h}return e}function fZe(e,t,r,n,i){var a=pn.findExactDates(t,i),o=.8;if(a.exactDays>o){var s=Number(r.substr(1));a.exactYears>o&&s%12===0?e=hr.tickIncrement(e,"M6","reverse")+ql*1.5:a.exactMonths>o?e=hr.tickIncrement(e,"M1","reverse")+ql*15.5:e-=d0;var l=hr.tickIncrement(e,r);if(l<=n)return l}return e}hr.prepMinorTicks=function(e,t,r){if(!t.minor.dtick){delete e.dtick;var n=t.dtick&&Do(t._tmin),i;if(n){var a=hr.tickIncrement(t._tmin,t.dtick,!0);i=[t._tmin,a*.99+t._tmin*.01]}else{var o=pn.simpleMap(t.range,t.r2l);i=[o[0],.8*o[0]+.2*o[1]]}if(e.range=pn.simpleMap(i,t.l2r),e._isMinor=!0,hr.prepTicks(e,r),n){var s=Do(t.dtick),l=Do(e.dtick),u=s?t.dtick:+t.dtick.substring(1),f=l?e.dtick:+e.dtick.substring(1);s&&l?$L(u,f)?u===2*kf&&f===2*ql&&(e.dtick=kf):u===2*kf&&f===3*ql?e.dtick=kf:u===kf&&!(t._input.minor||{}).nticks?e.dtick=ql:E$(u/f,2.5)?e.dtick=u/2:e.dtick=u:String(t.dtick).charAt(0)==="M"?l?e.dtick="M1":$L(u,f)?u>=12&&f===2&&(e.dtick="M3"):e.dtick=t.dtick:String(e.dtick).charAt(0)==="L"?String(t.dtick).charAt(0)==="L"?$L(u,f)||(e.dtick=E$(u/f,2.5)?t.dtick/2:t.dtick):e.dtick="D1":e.dtick==="D2"&&+t.dtick>1&&(e.dtick=1)}e.range=t.range}t.minor._tick0Init===void 0&&(e.tick0=t.tick0)};function $L(e,t){return Math.abs((e/t+.5)%1-.5)<.001}function E$(e,t){return Math.abs(e/t-1)<.001}hr.prepTicks=function(e,t){var r=pn.simpleMap(e.range,e.r2l,void 0,void 0,t);if(e.tickmode==="auto"||!e.dtick){var n=e.nticks,i;n||(e.type==="category"||e.type==="multicategory"?(i=e.tickfont?pn.bigFont(e.tickfont.size||12):15,n=e._length/i):(i=e._id.charAt(0)==="y"?40:80,n=pn.constrain(e._length/i,4,9)+1),e._name==="radialaxis"&&(n*=2)),e.minor&&e.minor.tickmode!=="array"||e.tickmode==="array"&&(n*=100),e._roughDTick=Math.abs(r[1]-r[0])/n,hr.autoTicks(e,e._roughDTick),e._minDtick>0&&e.dtick<e._minDtick*2&&(e.dtick=e._minDtick,e.tick0=e.l2r(e._forceTick0))}e.ticklabelmode==="period"&&cZe(e),e.tick0||(e.tick0=e.type==="date"?"2000-01-01":0),e.type==="date"&&e.dtick<.1&&(e.dtick=.1),B$(e)};function KL(e){return+e.substring(1)}function cZe(e){var t;function r(){return!(Do(e.dtick)||e.dtick.charAt(0)!=="M")}var n=r(),i=hr.getTickFormat(e);if(i){var a=e._dtickInit!==e.dtick;/%[fLQsSMX]/.test(i)||(/%[HI]/.test(i)?(t=$h,a&&!n&&e.dtick<$h&&(e.dtick=$h)):/%p/.test(i)?(t=d0,a&&!n&&e.dtick<d0&&(e.dtick=d0)):/%[Aadejuwx]/.test(i)?(t=ql,a&&!n&&e.dtick<ql&&(e.dtick=ql)):/%[UVW]/.test(i)?(t=kf,a&&!n&&e.dtick<kf&&(e.dtick=kf)):/%[Bbm]/.test(i)?(t=W1,a&&(n?KL(e.dtick)<1:e.dtick<MA)&&(e.dtick="M1")):/%[q]/.test(i)?(t=eD,a&&(n?KL(e.dtick)<3:e.dtick<AA)&&(e.dtick="M3")):/%[Yy]/.test(i)&&(t=_A,a&&(n?KL(e.dtick)<12:e.dtick<TA)&&(e.dtick="M12")))}n=r(),n&&e.tick0===e._dowTick0&&(e.tick0=e._rawTick0),e._definedDelta=t}function hZe(e,t,r){for(var n=0;n<e.length;n++){var i=e[n].value,a=n,o=n+1;n<e.length-1?(a=n,o=n+1):n>0?(a=n-1,o=n):(a=n,o=n);var s=e[a].value,l=e[o].value,u=Math.abs(l-s),f=r||u,c=0;f>=TA?u>=TA&&u<=KXe?c=u:c=_A:r===eD&&f>=AA?u>=AA&&u<=QXe?c=u:c=eD:f>=MA?u>=MA&&u<=eZe?c=u:c=W1:r===kf&&f>=kf?c=kf:f>=ql?c=ql:r===d0&&f>=d0?c=d0:r===$h&&f>=$h&&(c=$h);var h;c>=u&&(c=u,h=!0);var d=i+c;if(t.rangebreaks&&c>0){for(var v=84,m=0,b=0;b<v;b++){var g=(b+.5)/v;t.maskBreaks(i*(1-g)+g*d)!==EA&&m++}c*=m/v,c||(e[n].drop=!0),h&&u>kf&&(c=u)}(c>0||n===0)&&(e[n].periodX=i+c/2)}}hr.calcTicks=function(t,r){for(var n=t.type,i=t.calendar,a=t.ticklabelstep,o=t.ticklabelmode==="period",s=t.range[0]>t.range[1],l=!t.ticklabelindex||pn.isArrayOrTypedArray(t.ticklabelindex)?t.ticklabelindex:[t.ticklabelindex],u=pn.simpleMap(t.range,t.r2l,void 0,void 0,r),f=u[1]<u[0],c=Math.min(u[0],u[1]),h=Math.max(u[0],u[1]),d=Math.max(1e3,t._length||0),v=[],m=[],b=[],g=[],_=[],T=t.minor&&(t.minor.ticks||t.minor.showgrid),w=1;w>=(T?0:1);w--){var k=!w;w?(t._dtickInit=t.dtick,t._tick0Init=t.tick0):(t.minor._dtickInit=t.minor.dtick,t.minor._tick0Init=t.minor.tick0);var x=w?t:pn.extendFlat({},t,t.minor);if(k?hr.prepMinorTicks(x,t,r):hr.prepTicks(x,r),x.tickmode==="array"){w?(b=[],v=L$(t,!k)):(g=[],m=L$(t,!k));continue}if(x.tickmode==="sync"){b=[],v=vZe(t);continue}var M=sD(u),A=M[0],p=M[1],S=Do(x.dtick),y=n==="log"&&!(S||x.dtick.charAt(0)==="L"),E=hr.tickFirst(x,r);if(w){if(t._tmin=E,E<A!==f)break;(n==="category"||n==="multicategory")&&(p=f?Math.max(-.5,p):Math.min(t._categories.length-.5,p))}var C=null,L=E,R;if(w){var I;S?I=t.dtick:n==="date"?typeof t.dtick=="string"&&t.dtick.charAt(0)==="M"&&(I=W1*t.dtick.substring(1)):I=t._roughDTick,R=Math.round((t.r2l(L)-t.r2l(t.tick0))/I)-1}var P=x.dtick;for(x.rangebreaks&&x._tick0Init!==x.tick0&&(L=QL(L,t),f||(L=hr.tickIncrement(L,P,!f,i))),w&&o&&(L=hr.tickIncrement(L,P,!f,i),R--);f?L>=p:L<=p;L=hr.tickIncrement(L,P,f,i)){if(w&&R++,x.rangebreaks&&!f){if(L<A)continue;if(x.maskBreaks(L)===EA&&QL(L,x)>=h)break}if(b.length>d||L===C)break;C=L;var D={value:L};w?(y&&L!==(L|0)&&(D.simpleLabel=!0),a>1&&R%a&&(D.skipLabel=!0),b.push(D)):(D.minor=!0,g.push(D))}}if(!g||g.length<2)l=!1;else{var q=(g[1].value-g[0].value)*(s?-1:1);zZe(q,t.tickformat)||(l=!1)}if(!l)_=b;else{var N=b.concat(g);o&&b.length&&(N=N.slice(1)),N=N.sort(function(Ie,Re){return Ie.value-Re.value}).filter(function(Ie,Re,ze){return Re===0||Ie.value!==ze[Re-1].value});var U=N.map(function(Ie,Re){return Ie.minor===void 0&&!Ie.skipLabel?Re:null}).filter(function(Ie){return Ie!==null});U.forEach(function(Ie){l.map(function(Re){var ze=Ie+Re;ze>=0&&ze<N.length&&pn.pushUnique(_,N[ze])})})}if(T){var G=t.minor.ticks==="inside"&&t.ticks==="outside"||t.minor.ticks==="outside"&&t.ticks==="inside";if(!G){for(var ee=b.map(function(Ie){return Ie.value}),Q=[],j=0;j<g.length;j++){var O=g[j],Z=O.value;if(ee.indexOf(Z)===-1){for(var K=!1,$=0;!K&&$<b.length;$++)1e7+b[$].value===1e7+Z&&(K=!0);K||Q.push(O)}}g=Q}}o&&hZe(_,t,t._definedDelta);var oe;if(t.rangebreaks){var te=t._id.charAt(0)==="y",V=1;t.tickmode==="auto"&&(V=t.tickfont?t.tickfont.size:12);var ne=NaN;for(oe=b.length-1;oe>-1;oe--){if(b[oe].drop){b.splice(oe,1);continue}b[oe].value=QL(b[oe].value,t);var W=t.c2p(b[oe].value);(te?ne>W-V:ne<W+V)?b.splice(f?oe+1:oe,1):ne=W}}fD(t)&&Math.abs(u[1]-u[0])===360&&b.pop(),t._tmax=(b[b.length-1]||{}).value,t._prevDateHead="",t._inCalcTicks=!0;var fe,ge=function(Ie){Ie.text="",t._prevDateHead=fe};b=b.concat(g);function Ce(Ie,Re){var ze=hr.tickText(Ie,Re.value,!1,Re.simpleLabel),Be=Re.periodX;return Be!==void 0&&(ze.periodX=Be,(Be>h||Be<c)&&(Be>h&&(ze.periodX=h),Be<c&&(ze.periodX=c),ge(ze))),ze}var Ne;for(oe=0;oe<b.length;oe++){var pe=b[oe].minor,me=b[oe].value;pe?(l&&_.indexOf(b[oe])!==-1?Ne=Ce(t,b[oe]):Ne={x:me},Ne.minor=!0,m.push(Ne)):(fe=t._prevDateHead,Ne=Ce(t,b[oe]),(b[oe].skipLabel||l&&_.indexOf(b[oe])===-1)&&ge(Ne),v.push(Ne))}return v=v.concat(m),t._inCalcTicks=!1,o&&v.length&&(v[0].noTick=!0),v};function z$(e,t){return e.rangebreaks&&(t=t.filter(function(r){return e.maskBreaks(r.x)!==EA})),t}function vZe(e){var t=e._mainAxis,r=[];if(t._vals){for(var n=0;n<t._vals.length;n++)if(!t._vals[n].noTick){var i=t.l2p(t._vals[n].x),a=e.p2l(i),o=hr.tickText(e,a);t._vals[n].minor&&(o.minor=!0,o.text=""),r.push(o)}}return r=z$(e,r),r}function L$(e,t){var r=pn.simpleMap(e.range,e.r2l),n=sD(r),i=Math.min(n[0],n[1]),a=Math.max(n[0],n[1]),o=e.type==="category"?e.d2l_noadd:e.d2l;e.type==="log"&&String(e.dtick).charAt(0)!=="L"&&(e.dtick="L"+Math.pow(10,Math.floor(Math.min(e.range[0],e.range[1]))-1));for(var s=[],l=0;l<=1;l++)if(!(t!==void 0&&(t&&l||t===!1&&!l))&&!(l&&!e.minor)){var u=l?e.minor.tickvals:e.tickvals,f=l?[]:e.ticktext;if(u){pn.isArrayOrTypedArray(f)||(f=[]);for(var c=0;c<u.length;c++){var h=o(u[c]);if(h>i&&h<a){var d=hr.tickText(e,h,!1,String(f[c]));l&&(d.minor=!0,d.text=""),s.push(d)}}}}return s=z$(e,s),s}var bA=[2,5,10],D$=[1,2,3,6,12],R$=[1,2,5,10,15,30],dZe=[1,2,3,7,14],N$=[-.046,0,.301,.477,.602,.699,.778,.845,.903,.954,1],O$=[-.301,0,.301,.699,1],pZe=[15,30,45,90,180];function Jh(e,t,r){return t*pn.roundUp(e/t,r)}hr.autoTicks=function(e,t,r){var n;function i(c){return Math.pow(c,Math.floor(Math.log(t)/Math.LN10))}if(e.type==="date"){e.tick0=pn.dateTick0(e.calendar,0);var a=2*t;if(a>_A)t/=_A,n=i(10),e.dtick="M"+12*Jh(t,n,bA);else if(a>W1)t/=W1,e.dtick="M"+Jh(t,1,D$);else if(a>ql){if(e.dtick=Jh(t,ql,e._hasDayOfWeekBreaks?[1,2,7,14]:dZe),!r){var o=hr.getTickFormat(e),s=e.ticklabelmode==="period";s&&(e._rawTick0=e.tick0),/%[uVW]/.test(o)?e.tick0=pn.dateTick0(e.calendar,2):e.tick0=pn.dateTick0(e.calendar,1),s&&(e._dowTick0=e.tick0)}}else a>$h?e.dtick=Jh(t,$h,D$):a>f2?e.dtick=Jh(t,f2,R$):a>kA?e.dtick=Jh(t,kA,R$):(n=i(10),e.dtick=Jh(t,n,bA))}else if(e.type==="log"){e.tick0=0;var l=pn.simpleMap(e.range,e.r2l);if(e._isMinor&&(t*=1.5),t>.7)e.dtick=Math.ceil(t);else if(Math.abs(l[1]-l[0])<1){var u=1.5*Math.abs((l[1]-l[0])/t);t=Math.abs(Math.pow(10,l[1])-Math.pow(10,l[0]))/u,n=i(10),e.dtick="L"+Jh(t,n,bA)}else e.dtick=t>.3?"D2":"D1"}else e.type==="category"||e.type==="multicategory"?(e.tick0=0,e.dtick=Math.ceil(Math.max(t,1))):fD(e)?(e.tick0=0,n=1,e.dtick=Jh(t,n,pZe)):(e.tick0=0,n=i(10),e.dtick=Jh(t,n,bA));if(e.dtick===0&&(e.dtick=1),!Do(e.dtick)&&typeof e.dtick!="string"){var f=e.dtick;throw e.dtick=1,"ax.dtick error: "+String(f)}};function B$(e){var t=e.dtick;if(e._tickexponent=0,!Do(t)&&typeof t!="string"&&(t=1),(e.type==="category"||e.type==="multicategory")&&(e._tickround=null),e.type==="date"){var r=e.r2l(e.tick0),n=e.l2r(r).replace(/(^-|i)/g,""),i=n.length;if(String(t).charAt(0)==="M")i>10||n.substr(5)!=="01-01"?e._tickround="d":e._tickround=+t.substr(1)%12===0?"y":"m";else if(t>=ql&&i<=10||t>=ql*15)e._tickround="d";else if(t>=f2&&i<=16||t>=$h)e._tickround="M";else if(t>=kA&&i<=19||t>=f2)e._tickround="S";else{var a=e.l2r(r+t).replace(/^-/,"").length;e._tickround=Math.max(i,a)-20,e._tickround<0&&(e._tickround=4)}}else if(Do(t)||t.charAt(0)==="L"){var o=e.range.map(e.r2d||Number);Do(t)||(t=Number(t.substr(1))),e._tickround=2-Math.floor(Math.log(t)/Math.LN10+.01);var s=Math.max(Math.abs(o[0]),Math.abs(o[1])),l=Math.floor(Math.log(s)/Math.LN10+.01),u=e.minexponent===void 0?3:e.minexponent;Math.abs(l)>u&&(CA(e.exponentformat)&&!lD(l)?e._tickexponent=3*Math.round((l-1)/3):e._tickexponent=l)}else e._tickround=null}hr.tickIncrement=function(e,t,r,n){var i=r?-1:1;if(Do(t))return pn.increment(e,i*t);var a=t.charAt(0),o=i*Number(t.substr(1));if(a==="M")return pn.incrementMonth(e,o,n);if(a==="L")return Math.log(Math.pow(10,e)+o)/Math.LN10;if(a==="D"){var s=t==="D2"?O$:N$,l=e+i*.01,u=pn.roundUp(pn.mod(l,1),s,r);return Math.floor(l)+Math.log(tc.round(Math.pow(10,u),1))/Math.LN10}throw"unrecognized dtick "+String(t)};hr.tickFirst=function(e,t){var r=e.r2l||Number,n=pn.simpleMap(e.range,r,void 0,void 0,t),i=n[1]<n[0],a=i?Math.floor:Math.ceil,o=sD(n)[0],s=e.dtick,l=r(e.tick0);if(Do(s)){var u=a((o-l)/s)*s+l;return(e.type==="category"||e.type==="multicategory")&&(u=pn.constrain(u,0,e._categories.length-1)),u}var f=s.charAt(0),c=Number(s.substr(1));if(f==="M"){for(var h=0,d=l,v,m,b;h<10;){if(v=hr.tickIncrement(d,s,i,e.calendar),(v-o)*(d-o)<=0)return i?Math.min(d,v):Math.max(d,v);m=(o-(d+v)/2)/(v-d),b=f+(Math.abs(Math.round(m))||1)*c,d=hr.tickIncrement(d,b,m<0?!i:i,e.calendar),h++}return pn.error("tickFirst did not converge",e),d}else{if(f==="L")return Math.log(a((Math.pow(10,o)-l)/c)*c+l)/Math.LN10;if(f==="D"){var g=s==="D2"?O$:N$,_=pn.roundUp(pn.mod(o,1),g,i);return Math.floor(o)+Math.log(tc.round(Math.pow(10,_),1))/Math.LN10}else throw"unrecognized dtick "+String(s)}};hr.tickText=function(e,t,r,n){var i=U$(e,t),a=e.tickmode==="array",o=r||a,s=e.type,l=s==="category"?e.d2l_noadd:e.d2l,u,f=function(b){var g=e.l2p(b);return g>=0&&g<=e._length?b:null};if(a&&pn.isArrayOrTypedArray(e.ticktext)){var c=pn.simpleMap(e.range,e.r2l),h=(Math.abs(c[1]-c[0])-(e._lBreaks||0))/1e4;for(u=0;u<e.ticktext.length&&!(Math.abs(t-l(e.tickvals[u]))<h);u++);if(u<e.ticktext.length)return i.text=String(e.ticktext[u]),i.xbnd=[f(i.x-.5),f(i.x+e.dtick-.5)],i}function d(b){if(b===void 0)return!0;if(r)return b==="none";var g={first:e._tmin,last:e._tmax}[b];return b!=="all"&&t!==g}var v=r?"never":e.exponentformat!=="none"&&d(e.showexponent)?"hide":"";if(s==="date"?gZe(e,i,r,o):s==="log"?mZe(e,i,r,o,v):s==="category"?yZe(e,i):s==="multicategory"?xZe(e,i,r):fD(e)?wZe(e,i,r,o,v):bZe(e,i,r,o,v),n||(e.tickprefix&&!d(e.showtickprefix)&&(i.text=e.tickprefix+i.text),e.ticksuffix&&!d(e.showticksuffix)&&(i.text+=e.ticksuffix)),e.labelalias&&e.labelalias.hasOwnProperty(i.text)){var m=e.labelalias[i.text];typeof m=="string"&&(i.text=m)}return(e.tickson==="boundaries"||e.showdividers)&&(i.xbnd=[f(i.x-.5),f(i.x+e.dtick-.5)]),i};hr.hoverLabelText=function(e,t,r){r&&(e=pn.extendFlat({},e,{hoverformat:r}));var n=pn.isArrayOrTypedArray(t)?t[0]:t,i=pn.isArrayOrTypedArray(t)?t[1]:void 0;if(i!==void 0&&i!==n)return hr.hoverLabelText(e,n,r)+" - "+hr.hoverLabelText(e,i,r);var a=e.type==="log"&&n<=0,o=hr.tickText(e,e.c2l(a?-n:n),"hover").text;return a?n===0?"0":ng+o:o};function U$(e,t,r){var n=e.tickfont||{};return{x:t,dx:0,dy:0,text:r||"",fontSize:n.size,font:n.family,fontWeight:n.weight,fontStyle:n.style,fontVariant:n.variant,fontTextcase:n.textcase,fontLineposition:n.lineposition,fontShadow:n.shadow,fontColor:n.color}}function gZe(e,t,r,n){var i=e._tickround,a=r&&e.hoverformat||hr.getTickFormat(e);n=!a&&n,n&&(Do(i)?i=4:i={y:"m",m:"d",d:"M",M:"S",S:4}[i]);var o=pn.formatDate(t.x,a,i,e._dateFormat,e.calendar,e._extraFormat),s,l=o.indexOf(`
|
|
`);if(l!==-1&&(s=o.substr(l+1),o=o.substr(0,l)),n&&(s!==void 0&&(o==="00:00:00"||o==="00:00")?(o=s,s=""):o.length===8&&(o=o.replace(/:00$/,""))),s)if(r)i==="d"?o+=", "+s:o=s+(o?", "+o:"");else if(!e._inCalcTicks||e._prevDateHead!==s)e._prevDateHead=s,o+="<br>"+s;else{var u=v2(e),f=e._trueSide||e.side;(!u&&f==="top"||u&&f==="bottom")&&(o+="<br> ")}t.text=o}function mZe(e,t,r,n,i){var a=e.dtick,o=t.x,s=e.tickformat,l=typeof a=="string"&&a.charAt(0);if(i==="never"&&(i=""),n&&l!=="L"&&(a="L3",l="L"),s||l==="L")t.text=h2(Math.pow(10,o),e,i,n);else if(Do(a)||l==="D"&&pn.mod(o+.01,1)<.1){var u=Math.round(o),f=Math.abs(u),c=e.exponentformat;c==="power"||CA(c)&&lD(u)?(u===0?t.text=1:u===1?t.text="10":t.text="10<sup>"+(u>1?"":ng)+f+"</sup>",t.fontSize*=1.25):(c==="e"||c==="E")&&f>2?t.text="1"+c+(u>0?"+":ng)+f:(t.text=h2(Math.pow(10,o),e,"","fakehover"),a==="D1"&&e._id.charAt(0)==="y"&&(t.dy-=t.fontSize/6))}else if(l==="D")t.text=String(Math.round(Math.pow(10,pn.mod(o,1)))),t.fontSize*=.75;else throw"unrecognized dtick "+String(a);if(e.dtick==="D1"){var h=String(t.text).charAt(0);(h==="0"||h==="1")&&(e._id.charAt(0)==="y"?t.dx-=t.fontSize/4:(t.dy+=t.fontSize/2,t.dx+=(e.range[1]>e.range[0]?1:-1)*t.fontSize*(o<0?.5:.25)))}}function yZe(e,t){var r=e._categories[Math.round(t.x)];r===void 0&&(r=""),t.text=String(r)}function xZe(e,t,r){var n=Math.round(t.x),i=e._categories[n]||[],a=i[1]===void 0?"":String(i[1]),o=i[0]===void 0?"":String(i[0]);r?t.text=o+" - "+a:(t.text=a,t.text2=o)}function bZe(e,t,r,n,i){i==="never"?i="":e.showexponent==="all"&&Math.abs(t.x/e.dtick)<1e-6&&(i="hide"),t.text=h2(t.x,e,i,n)}function wZe(e,t,r,n,i){if(e.thetaunit==="radians"&&!r){var a=t.x/180;if(a===0)t.text="0";else{var o=_Ze(a);if(o[1]>=100)t.text=h2(pn.deg2rad(t.x),e,i,n);else{var s=t.x<0;o[1]===1?o[0]===1?t.text="\u03C0":t.text=o[0]+"\u03C0":t.text=["<sup>",o[0],"</sup>","\u2044","<sub>",o[1],"</sub>","\u03C0"].join(""),s&&(t.text=ng+t.text)}}}else t.text=h2(t.x,e,i,n)}function _Ze(e){function t(s,l){return Math.abs(s-l)<=1e-6}function r(s,l){return t(l,0)?s:r(l,s%l)}function n(s){for(var l=1;!t(Math.round(s*l)/l,s);)l*=10;return l}var i=n(e),a=e*i,o=Math.abs(r(a,i));return[Math.round(a/o),Math.round(i/o)]}var TZe=["f","p","n","\u03BC","m","","k","M","G","T"];function CA(e){return e==="SI"||e==="B"}function lD(e){return e>14||e<-15}function h2(e,t,r,n){var i=e<0,a=t._tickround,o=r||t.exponentformat||"B",s=t._tickexponent,l=hr.getTickFormat(t),u=t.separatethousands;if(n){var f={exponentformat:o,minexponent:t.minexponent,dtick:t.showexponent==="none"?t.dtick:Do(e)&&Math.abs(e)||1,range:t.showexponent==="none"?t.range.map(t.r2d):[0,e||1]};B$(f),a=(Number(f._tickround)||0)+4,s=f._tickexponent,t.hoverformat&&(l=t.hoverformat)}if(l)return t._numFormat(l)(e).replace(/-/g,ng);var c=Math.pow(10,-a)/2;if(o==="none"&&(s=0),e=Math.abs(e),e<c)e="0",i=!1;else{if(e+=c,s&&(e*=Math.pow(10,-s),a+=s),a===0)e=String(Math.floor(e));else if(a<0){e=String(Math.round(e)),e=e.substr(0,e.length+a);for(var h=a;h<0;h++)e+="0"}else{e=String(e);var d=e.indexOf(".")+1;d&&(e=e.substr(0,d+a).replace(/\.?0+$/,""))}e=pn.numSeparate(e,t._separators,u)}if(s&&o!=="hide"){CA(o)&&lD(s)&&(o="power");var v;s<0?v=ng+-s:o!=="power"?v="+"+s:v=String(s),o==="e"||o==="E"?e+=o+v:o==="power"?e+="\xD710<sup>"+v+"</sup>":o==="B"&&s===9?e+="B":CA(o)&&(e+=TZe[s/3+5])}return i?ng+e:e}hr.getTickFormat=function(e){var t;function r(l){return typeof l!="string"?l:Number(l.replace("M",""))*W1}function n(l,u){var f=["L","D"];if(typeof l==typeof u){if(typeof l=="number")return l-u;var c=f.indexOf(l.charAt(0)),h=f.indexOf(u.charAt(0));return c===h?Number(l.replace(/(L|D)/g,""))-Number(u.replace(/(L|D)/g,"")):c-h}else return typeof l=="number"?1:-1}function i(l,u,f){var c=f||function(v){return v},h=u[0],d=u[1];return(!h&&typeof h!="number"||c(h)<=c(l))&&(!d&&typeof d!="number"||c(d)>=c(l))}function a(l,u){var f=u[0]===null,c=u[1]===null,h=n(l,u[0])>=0,d=n(l,u[1])<=0;return(f||h)&&(c||d)}var o,s;if(e.tickformatstops&&e.tickformatstops.length>0)switch(e.type){case"date":case"linear":{for(t=0;t<e.tickformatstops.length;t++)if(s=e.tickformatstops[t],s.enabled&&i(e.dtick,s.dtickrange,r)){o=s;break}break}case"log":{for(t=0;t<e.tickformatstops.length;t++)if(s=e.tickformatstops[t],s.enabled&&a(e.dtick,s.dtickrange)){o=s;break}break}default:}return o?o.value:e.tickformat};hr.getSubplots=function(e,t){var r=e._fullLayout._subplots,n=r.cartesian.concat(r.gl2d||[]),i=t?hr.findSubplotsWithAxis(n,t):n;return i.sort(function(a,o){var s=a.substr(1).split("y"),l=o.substr(1).split("y");return s[0]===l[0]?+s[1]-+l[1]:+s[0]-+l[0]}),i};hr.findSubplotsWithAxis=function(e,t){for(var r=new RegExp(t._id.charAt(0)==="x"?"^"+t._id+"y":t._id+"$"),n=[],i=0;i<e.length;i++){var a=e[i];r.test(a)&&n.push(a)}return n};hr.makeClipPaths=function(e){var t=e._fullLayout;if(!t._hasOnlyLargeSploms){var r={_offset:0,_length:t.width,_id:""},n={_offset:0,_length:t.height,_id:""},i=hr.list(e,"x",!0),a=hr.list(e,"y",!0),o=[],s,l;for(s=0;s<i.length;s++)for(o.push({x:i[s],y:n}),l=0;l<a.length;l++)s===0&&o.push({x:r,y:a[l]}),o.push({x:i[s],y:a[l]});var u=t._clips.selectAll(".axesclip").data(o,function(f){return f.x._id+f.y._id});u.enter().append("clipPath").classed("axesclip",!0).attr("id",function(f){return"clip"+t._uid+f.x._id+f.y._id}).append("rect"),u.exit().remove(),u.each(function(f){tc.select(this).select("rect").attr({x:f.x._offset||0,y:f.y._offset||0,width:f.x._length||1,height:f.y._length||1})})}};hr.draw=function(e,t,r){var n=e._fullLayout;t==="redraw"&&n._paper.selectAll("g.subplot").each(function(l){var u=l[0],f=n._plots[u];if(f){var c=f.xaxis,h=f.yaxis;f.xaxislayer.selectAll("."+c._id+"tick").remove(),f.yaxislayer.selectAll("."+h._id+"tick").remove(),f.xaxislayer.selectAll("."+c._id+"tick2").remove(),f.yaxislayer.selectAll("."+h._id+"tick2").remove(),f.xaxislayer.selectAll("."+c._id+"divider").remove(),f.yaxislayer.selectAll("."+h._id+"divider").remove(),f.minorGridlayer&&f.minorGridlayer.selectAll("path").remove(),f.gridlayer&&f.gridlayer.selectAll("path").remove(),f.zerolinelayer&&f.zerolinelayer.selectAll("path").remove(),n._infolayer.select(".g-"+c._id+"title").remove(),n._infolayer.select(".g-"+h._id+"title").remove()}});var i=!t||t==="redraw"?hr.listIds(e):t,a=hr.list(e),o=a.filter(function(l){return l.autoshift}).map(function(l){return l.overlaying});i.map(function(l){var u=hr.getFromId(e,l);if(u.tickmode==="sync"&&u.overlaying){var f=i.findIndex(function(c){return c===u.overlaying});f>=0&&i.unshift(i.splice(f,1).shift())}});var s={false:{left:0,right:0}};return pn.syncOrAsync(i.map(function(l){return function(){if(l){var u=hr.getFromId(e,l);r||(r={}),r.axShifts=s,r.overlayingShiftedAx=o;var f=hr.drawOne(e,u,r);return u._shiftPusher&&oD(u,u._fullDepth||0,s,!0),u._r=u.range.slice(),u._rl=pn.simpleMap(u._r,u.r2l),f}}}))};hr.drawOne=function(e,t,r){r=r||{};var n=r.axShifts||{},i=r.overlayingShiftedAx||[],a,o,s;t.setScale();var l=e._fullLayout,u=t._id,f=u.charAt(0),c=hr.counterLetter(u),h=l._plots[t._mainSubplot];if(!h)return;if(t._shiftPusher=t.autoshift||i.indexOf(t._id)!==-1||i.indexOf(t.overlaying)!==-1,t._shiftPusher&t.anchor==="free"){var d=t.linewidth/2||0;t.ticks==="inside"&&(d+=t.ticklen),oD(t,d,n,!0),oD(t,t.shift||0,n,!1)}(r.skipTitle!==!0||t._shift===void 0)&&(t._shift=FZe(t,n));var v=h[f+"axislayer"],m=t._mainLinePosition,b=m+=t._shift,g=t._mainMirrorPosition,_=t._vals=hr.calcTicks(t),T=[t.mirror,b,g].join("_");for(a=0;a<_.length;a++)_[a].axInfo=T;t._selections={},t._tickAngles&&(t._prevTickAngles=t._tickAngles),t._tickAngles={},t._depth=null;var w={};function k(pe){var me=u+(pe||"tick");return w[me]||(w[me]=SZe(t,me,b)),w[me]}if(t.visible){var x=hr.makeTransTickFn(t),M=hr.makeTransTickLabelFn(t),A,p,S=t.ticks==="inside",y=t.ticks==="outside";if(t.tickson==="boundaries"){var E=AZe(t,_);p=hr.clipEnds(t,E),A=S?p:E}else p=hr.clipEnds(t,_),A=S&&t.ticklabelmode!=="period"?p:_;var C=t._gridVals=p,L=kZe(t,_);if(!l._hasOnlyLargeSploms){var R=t._subplotsWith,I={};for(a=0;a<R.length;a++){o=R[a],s=l._plots[o];var P=s[c+"axis"],D=P._mainAxis._id;if(!I[D]){I[D]=1;var q=f==="x"?"M0,"+P._offset+"v"+P._length:"M"+P._offset+",0h"+P._length;hr.drawGrid(e,t,{vals:C,counterAxis:P,layer:s.gridlayer.select("."+u),minorLayer:s.minorGridlayer.select("."+u),path:q,transFn:x}),hr.drawZeroLine(e,t,{counterAxis:P,layer:s.zerolinelayer,path:q,transFn:x})}}}var N,U=hr.getTickSigns(t),G=hr.getTickSigns(t,"minor");if(t.ticks||t.minor&&t.minor.ticks){var ee=hr.makeTickPath(t,b,U[2]),Q=hr.makeTickPath(t,b,G[2],{minor:!0}),j,O,Z,K;if(t._anchorAxis&&t.mirror&&t.mirror!==!0?(j=hr.makeTickPath(t,g,U[3]),O=hr.makeTickPath(t,g,G[3],{minor:!0}),Z=ee+j,K=Q+O):(j="",O="",Z=ee,K=Q),t.showdividers&&y&&t.tickson==="boundaries"){var $={};for(a=0;a<L.length;a++)$[L[a].x]=1;N=function(pe){return $[pe.x]?j:Z}}else N=function(pe){return pe.minor?K:Z}}if(hr.drawTicks(e,t,{vals:A,layer:v,path:N,transFn:x}),t.mirror==="allticks"){var oe=Object.keys(t._linepositions||{});for(a=0;a<oe.length;a++){o=oe[a],s=l._plots[o];var te=t._linepositions[o]||[],V=te[0],ne=te[1],W=te[2],fe=hr.makeTickPath(t,V,W?U[0]:G[0],{minor:W})+hr.makeTickPath(t,ne,W?U[1]:G[1],{minor:W});hr.drawTicks(e,t,{vals:A,layer:s[f+"axislayer"],path:fe,transFn:x})}}var ge=[];if(ge.push(function(){return hr.drawLabels(e,t,{vals:_,layer:v,plotinfo:s,transFn:M,labelFns:hr.makeLabelFns(t,b)})}),t.type==="multicategory"){var Ce={x:2,y:10}[f];ge.push(function(){var pe={x:"height",y:"width"}[f],me=k()[pe]+Ce+(t._tickAngles[u+"tick"]?t.tickfont.size*c2:0);return hr.drawLabels(e,t,{vals:MZe(t,_),layer:v,cls:u+"tick2",repositionOnUpdate:!0,secondary:!0,transFn:x,labelFns:hr.makeLabelFns(t,b+me*U[4])})}),ge.push(function(){return t._depth=U[4]*(k("tick2")[t.side]-b),EZe(e,t,{vals:L,layer:v,path:hr.makeTickPath(t,b,U[4],{len:t._depth}),transFn:x})})}else t.title.hasOwnProperty("standoff")&&ge.push(function(){t._depth=U[4]*(k()[t.side]-b)});var Ne=l2.getComponentMethod("rangeslider","isVisible")(t);return!r.skipTitle&&!(Ne&&t.side==="bottom")&&ge.push(function(){return LZe(e,t)}),ge.push(function(){var pe=t.side.charAt(0),me=nZe[t.side].charAt(0),Ie=hr.getPxPosition(e,t),Re=y?t.ticklen:0,ze,Be,tt,rt;(t.automargin||Ne||t._shiftPusher)&&(t.type==="multicategory"?ze=k("tick2"):(ze=k(),f==="x"&&pe==="b"&&(t._depth=Math.max(ze.width>0?ze.bottom-Ie:0,Re))));var ce=0,Ee=0;if(t._shiftPusher&&(ce=Math.max(Re,ze.height>0?pe==="l"?Ie-ze.left:ze.right-Ie:0),t.title.text!==l._dfltTitle[f]&&(Ee=(t._titleStandoff||0)+(t._titleScoot||0),pe==="l"&&(Ee+=I$(t))),t._fullDepth=Math.max(ce,Ee)),t.automargin){Be={x:0,y:0,r:0,l:0,t:0,b:0};var Ae=[0,1],Pe=typeof t._shift=="number"?t._shift:0;if(f==="x"){if(pe==="b"?Be[pe]=t._depth:(Be[pe]=t._depth=Math.max(ze.width>0?Ie-ze.top:0,Re),Ae.reverse()),ze.width>0){var He=ze.right-(t._offset+t._length);He>0&&(Be.xr=1,Be.r=He);var Fe=t._offset-ze.left;Fe>0&&(Be.xl=0,Be.l=Fe)}}else if(pe==="l"?(t._depth=Math.max(ze.height>0?Ie-ze.left:0,Re),Be[pe]=t._depth-Pe):(t._depth=Math.max(ze.height>0?ze.right-Ie:0,Re),Be[pe]=t._depth+Pe,Ae.reverse()),ze.height>0){var ke=ze.bottom-(t._offset+t._length);ke>0&&(Be.yb=0,Be.b=ke);var Ue=t._offset-ze.top;Ue>0&&(Be.yt=1,Be.t=Ue)}Be[c]=t.anchor==="free"?t.position:t._anchorAxis.domain[Ae[0]],t.title.text!==l._dfltTitle[f]&&(Be[pe]+=I$(t)+(t.title.standoff||0)),t.mirror&&t.anchor!=="free"&&(tt={x:0,y:0,r:0,l:0,t:0,b:0},tt[me]=t.linewidth,t.mirror&&t.mirror!==!0&&(tt[me]+=Re),t.mirror===!0||t.mirror==="ticks"?tt[c]=t._anchorAxis.domain[Ae[1]]:(t.mirror==="all"||t.mirror==="allticks")&&(tt[c]=[t._counterDomainMin,t._counterDomainMax][Ae[1]]))}Ne&&(rt=l2.getComponentMethod("rangeslider","autoMarginOpts")(e,t)),typeof t.automargin=="string"&&(P$(Be,t.automargin),P$(tt,t.automargin)),Y1.autoMargin(e,uD(t),Be),Y1.autoMargin(e,j$(t),tt),Y1.autoMargin(e,V$(t),rt)}),pn.syncOrAsync(ge)}};function P$(e,t){if(e){var r=Object.keys(k$).reduce(function(n,i){return t.indexOf(i)!==-1&&k$[i].forEach(function(a){n[a]=1}),n},{});Object.keys(e).forEach(function(n){r[n]||(n.length===1?e[n]=0:delete e[n])})}}function AZe(e,t){var r=[],n,i=function(a,o){var s=a.xbnd[o];s!==null&&r.push(pn.extendFlat({},a,{x:s}))};if(t.length){for(n=0;n<t.length;n++)i(t[n],0);i(t[n-1],1)}return r}function MZe(e,t){for(var r=[],n={},i=0;i<t.length;i++){var a=t[i];n[a.text2]?n[a.text2].push(a.x):n[a.text2]=[a.x]}for(var o in n)r.push(U$(e,pn.interp(n[o],.5),o));return r}function kZe(e,t){var r=[],n,i,a=t.length&&t[t.length-1].x<t[0].x,o=function(l,u){var f=l.xbnd[u];f!==null&&r.push(pn.extendFlat({},l,{x:f}))};if(e.showdividers&&t.length){for(n=0;n<t.length;n++){var s=t[n];s.text2!==i&&o(s,a?1:0),i=s.text2}o(t[n-1],a?0:1)}return r}function SZe(e,t,r){var n,i,a,o;if(e._selections[t].size())n=1/0,i=-1/0,a=1/0,o=-1/0,e._selections[t].each(function(){var l=aD(this),u=Mf.bBox(l.node().parentNode);n=Math.min(n,u.top),i=Math.max(i,u.bottom),a=Math.min(a,u.left),o=Math.max(o,u.right)});else{var s=hr.makeLabelFns(e,r);n=i=s.yFn({dx:0,dy:0,fontSize:0}),a=o=s.xFn({dx:0,dy:0,fontSize:0})}return{top:n,bottom:i,left:a,right:o,height:i-n,width:o-a}}hr.getTickSigns=function(e,t){var r=e._id.charAt(0),n={x:"top",y:"right"}[r],i=e.side===n?1:-1,a=[-1,1,i,-i],o=t?(e.minor||{}).ticks:e.ticks;return o!=="inside"==(r==="x")&&(a=a.map(function(s){return-s})),e.side&&a.push({l:-1,t:-1,r:1,b:1}[e.side.charAt(0)]),a};hr.makeTransTickFn=function(e){return e._id.charAt(0)==="x"?function(t){return G1(e._offset+e.l2p(t.x),0)}:function(t){return G1(0,e._offset+e.l2p(t.x))}};hr.makeTransTickLabelFn=function(e){var t=CZe(e),r=e.ticklabelshift||0,n=e.ticklabelstandoff||0,i=t[0],a=t[1],o=e.range[0]>e.range[1],s=e.ticklabelposition&&e.ticklabelposition.indexOf("inside")!==-1,l=!s;if(r){var u=o?-1:1;r=r*u}if(n){var f=e.side,c=s&&(f==="top"||f==="left")||l&&(f==="bottom"||f==="right")?1:-1;n=n*c}return e._id.charAt(0)==="x"?function(h){return G1(i+e._offset+e.l2p(iD(h))+r,a+n)}:function(h){return G1(a+n,i+e._offset+e.l2p(iD(h))+r)}};function iD(e){return e.periodX!==void 0?e.periodX:e.x}function CZe(e){var t=e.ticklabelposition||"",r=function(d){return t.indexOf(d)!==-1},n=r("top"),i=r("left"),a=r("right"),o=r("bottom"),s=r("inside"),l=o||i||n||a;if(!l&&!s)return[0,0];var u=e.side,f=l?(e.tickwidth||0)/2:0,c=SA,h=e.tickfont?e.tickfont.size:12;return(o||n)&&(f+=h*ig,c+=(e.linewidth||0)/2),(i||a)&&(f+=(e.linewidth||0)/2,c+=SA),s&&u==="top"&&(c-=h*(1-ig)),(i||n)&&(f=-f),(u==="bottom"||u==="right")&&(c=-c),[l?f:0,s?c:0]}hr.makeTickPath=function(e,t,r,n){n||(n={});var i=n.minor;if(i&&!e.minor)return"";var a=n.len!==void 0?n.len:i?e.minor.ticklen:e.ticklen,o=e._id.charAt(0),s=(e.linewidth||1)/2;return o==="x"?"M0,"+(t+s*r)+"v"+a*r:"M"+(t+s*r)+",0h"+a*r};hr.makeLabelFns=function(e,t,r){var n=e.ticklabelposition||"",i=function(E){return n.indexOf(E)!==-1},a=i("top"),o=i("left"),s=i("right"),l=i("bottom"),u=l||o||a||s,f=i("inside"),c=n==="inside"&&e.ticks==="inside"||!f&&e.ticks==="outside"&&e.tickson!=="boundaries",h=0,d=0,v=c?e.ticklen:0;if(f?v*=-1:u&&(v=0),c&&(h+=v,r)){var m=pn.deg2rad(r);h=v*Math.cos(m)+1,d=v*Math.sin(m)}e.showticklabels&&(c||e.showline)&&(h+=.2*e.tickfont.size),h+=(e.linewidth||1)/2*(f?-1:1);var b={labelStandoff:h,labelShift:d},g,_,T,w,k=0,x=e.side,M=e._id.charAt(0),A=e.tickangle,p;if(M==="x")p=!f&&x==="bottom"||f&&x==="top",w=p?1:-1,f&&(w*=-1),g=d*w,_=t+h*w,T=p?1:-.2,Math.abs(A)===90&&(f?T+=s2:A===-90&&x==="bottom"?T=ig:A===90&&x==="top"?T=s2:T=.5,k=s2/2*(A/90)),b.xFn=function(E){return E.dx+g+k*E.fontSize},b.yFn=function(E){return E.dy+_+E.fontSize*T},b.anchorFn=function(E,C){if(u){if(o)return"end";if(s)return"start"}return!Do(C)||C===0||C===180?"middle":C*w<0!==f?"end":"start"},b.heightFn=function(E,C,L){return C<-60||C>60?-.5*L:e.side==="top"!==f?-L:0};else if(M==="y"){if(p=!f&&x==="left"||f&&x==="right",w=p?1:-1,f&&(w*=-1),g=h,_=d*w,T=0,!f&&Math.abs(A)===90&&(A===-90&&x==="left"||A===90&&x==="right"?T=ig:T=.5),f){var S=Do(A)?+A:0;if(S!==0){var y=pn.deg2rad(S);k=Math.abs(Math.sin(y))*ig*w,T=0}}b.xFn=function(E){return E.dx+t-(g+E.fontSize*T)*w+k*E.fontSize},b.yFn=function(E){return E.dy+_+E.fontSize*s2},b.anchorFn=function(E,C){return Do(C)&&Math.abs(C)===90?"middle":p?"end":"start"},b.heightFn=function(E,C,L){return e.side==="right"&&(C*=-1),C<-30?-L:C<30?-.5*L:0}}return b};function DA(e){return[e.text,e.x,e.axInfo,e.font,e.fontSize,e.fontColor].join("_")}hr.drawTicks=function(e,t,r){r=r||{};var n=t._id+"tick",i=[].concat(t.minor&&t.minor.ticks?r.vals.filter(function(o){return o.minor&&!o.noTick}):[]).concat(t.ticks?r.vals.filter(function(o){return!o.minor&&!o.noTick}):[]),a=r.layer.selectAll("path."+n).data(i,DA);a.exit().remove(),a.enter().append("path").classed(n,1).classed("ticks",1).classed("crisp",r.crisp!==!1).each(function(o){return u2.stroke(tc.select(this),o.minor?t.minor.tickcolor:t.tickcolor)}).style("stroke-width",function(o){return Mf.crispRound(e,o.minor?t.minor.tickwidth:t.tickwidth,1)+"px"}).attr("d",r.path).style("display",null),RA(t,[q$]),a.attr("transform",r.transFn)};hr.drawGrid=function(e,t,r){if(r=r||{},t.tickmode!=="sync"){var n=t._id+"grid",i=t.minor&&t.minor.showgrid,a=i?r.vals.filter(function(g){return g.minor}):[],o=t.showgrid?r.vals.filter(function(g){return!g.minor}):[],s=r.counterAxis;if(s&&hr.shouldShowZeroLine(e,t,s))for(var l=t.tickmode==="array",u=0;u<o.length;u++){var f=o[u].x;if(l?!f:Math.abs(f)<t.dtick/100)if(o=o.slice(0,u).concat(o.slice(u+1)),l)u--;else break}t._gw=Mf.crispRound(e,t.gridwidth,1);for(var c=i?Mf.crispRound(e,t.minor.gridwidth,1):0,h=r.layer,d=r.minorLayer,v=1;v>=0;v--){var m=v?h:d;if(m){var b=m.selectAll("path."+n).data(v?o:a,DA);b.exit().remove(),b.enter().append("path").classed(n,1).classed("crisp",r.crisp!==!1),b.attr("transform",r.transFn).attr("d",r.path).each(function(g){return u2.stroke(tc.select(this),g.minor?t.minor.gridcolor:t.gridcolor||"#ddd")}).style("stroke-dasharray",function(g){return Mf.dashStyle(g.minor?t.minor.griddash:t.griddash,g.minor?t.minor.gridwidth:t.gridwidth)}).style("stroke-width",function(g){return(g.minor?c:t._gw)+"px"}).style("display",null),typeof r.path=="function"&&b.attr("d",r.path)}}RA(t,[rD,nD])}};hr.drawZeroLine=function(e,t,r){r=r||r;var n=t._id+"zl",i=hr.shouldShowZeroLine(e,t,r.counterAxis),a=r.layer.selectAll("path."+n).data(i?[{x:0,id:t._id}]:[]);a.exit().remove(),a.enter().append("path").classed(n,1).classed("zl",1).classed("crisp",r.crisp!==!1).each(function(){r.layer.selectAll("path").sort(function(o,s){return aZe(o.id,s.id)})}),a.attr("transform",r.transFn).attr("d",r.path).call(u2.stroke,t.zerolinecolor||u2.defaultLine).style("stroke-width",Mf.crispRound(e,t.zerolinewidth,t._gw||1)+"px").style("display",null),RA(t,[tD])};hr.drawLabels=function(e,t,r){r=r||{};var n=e._fullLayout,i=t._id,a=r.cls||i+"tick",o=r.vals.filter(function(D){return D.text}),s=r.labelFns,l=r.secondary?0:t.tickangle,u=(t._prevTickAngles||{})[a],f=r.layer.selectAll("g."+a).data(t.showticklabels?o:[],DA),c=[];f.enter().append("g").classed(a,1).append("text").attr("text-anchor","middle").each(function(D){var q=tc.select(this),N=e._promises.length;q.call(rg.positionText,s.xFn(D),s.yFn(D)).call(Mf.font,{family:D.font,size:D.fontSize,color:D.fontColor,weight:D.fontWeight,style:D.fontStyle,variant:D.fontVariant,textcase:D.fontTextcase,lineposition:D.fontLineposition,shadow:D.fontShadow}).text(D.text).call(rg.convertToTspans,e),e._promises[N]?c.push(e._promises.pop().then(function(){h(q,l)})):h(q,l)}),RA(t,[M$]),f.exit().remove(),r.repositionOnUpdate&&f.each(function(D){tc.select(this).select("text").call(rg.positionText,s.xFn(D),s.yFn(D))});function h(D,q){D.each(function(N){var U=tc.select(this),G=U.select(".text-math-group"),ee=s.anchorFn(N,q),Q=r.transFn.call(U.node(),N)+(Do(q)&&+q!=0?" rotate("+q+","+s.xFn(N)+","+(s.yFn(N)-N.fontSize/2)+")":""),j=rg.lineCount(U),O=c2*N.fontSize,Z=s.heightFn(N,Do(q)?+q:0,(j-1)*O);if(Z&&(Q+=G1(0,Z)),G.empty()){var K=U.select("text");K.attr({transform:Q,"text-anchor":ee}),K.style("opacity",1),t._adjustTickLabelsOverflow&&t._adjustTickLabelsOverflow()}else{var $=Mf.bBox(G.node()).width,oe=$*{end:-.5,start:.5}[ee];G.attr("transform",Q+G1(oe,0))}})}t._adjustTickLabelsOverflow=function(){var D=t.ticklabeloverflow;if(!(!D||D==="allow")){var q=D.indexOf("hide")!==-1,N=t._id.charAt(0)==="x",U=0,G=N?e._fullLayout.width:e._fullLayout.height;if(D.indexOf("domain")!==-1){var ee=pn.simpleMap(t.range,t.r2l);U=t.l2p(ee[0])+t._offset,G=t.l2p(ee[1])+t._offset}var Q=Math.min(U,G),j=Math.max(U,G),O=t.side,Z=1/0,K=-1/0;f.each(function(V){var ne=tc.select(this),W=ne.select(".text-math-group");if(W.empty()){var fe=Mf.bBox(ne.node()),ge=0;N?(fe.right>j||fe.left<Q)&&(ge=1):(fe.bottom>j||fe.top+(t.tickangle?0:V.fontSize/4)<Q)&&(ge=1);var Ce=ne.select("text");ge?q&&Ce.style("opacity",0):(Ce.style("opacity",1),O==="bottom"||O==="right"?Z=Math.min(Z,N?fe.top:fe.left):Z=-1/0,O==="top"||O==="left"?K=Math.max(K,N?fe.bottom:fe.right):K=1/0)}});for(var $ in n._plots){var oe=n._plots[$];if(!(t._id!==oe.xaxis._id&&t._id!==oe.yaxis._id)){var te=N?oe.yaxis:oe.xaxis;te&&(te["_visibleLabelMin_"+t._id]=Z,te["_visibleLabelMax_"+t._id]=K)}}}},t._hideCounterAxisInsideTickLabels=function(D){var q=t._id.charAt(0)==="x",N=[];for(var U in n._plots){var G=n._plots[U];t._id!==G.xaxis._id&&t._id!==G.yaxis._id||N.push(q?G.yaxis:G.xaxis)}N.forEach(function(ee,Q){ee&&v2(ee)&&(D||[tD,nD,rD,q$,M$]).forEach(function(j){var O=j.K==="tick"&&j.L==="text"&&t.ticklabelmode==="period",Z=n._plots[t._mainSubplot],K;j.K===tD.K?K=Z.zerolinelayer.selectAll("."+t._id+"zl"):j.K===nD.K?K=Z.minorGridlayer.selectAll("."+t._id):j.K===rD.K?K=Z.gridlayer.selectAll("."+t._id):K=Z[t._id.charAt(0)+"axislayer"],K.each(function(){var $=tc.select(this);j.L&&($=$.selectAll(j.L)),$.each(function(oe){var te=t.l2p(O?iD(oe):oe.x)+t._offset,V=tc.select(this);te<t["_visibleLabelMax_"+ee._id]&&te>t["_visibleLabelMin_"+ee._id]?V.style("display","none"):j.K==="tick"&&!Q&&V.style("display",null)})})})})},h(f,u+1?u:l);function d(){return c.length&&Promise.all(c)}var v=null;function m(){if(h(f,l),o.length&&t.autotickangles&&(t.type!=="log"||String(t.dtick).charAt(0)!=="D")){v=t.autotickangles[0];var D=0,q=[],N,U=1;f.each(function(ze){D=Math.max(D,ze.fontSize);var Be=t.l2p(ze.x),tt=aD(this),rt=Mf.bBox(tt.node());U=Math.max(U,rg.lineCount(tt)),q.push({top:0,bottom:10,height:10,left:Be-rt.width/2,right:Be+rt.width/2+2,width:rt.width+2})});var G=(t.tickson==="boundaries"||t.showdividers)&&!r.secondary,ee=o.length,Q=Math.abs((o[ee-1].x-o[0].x)*t._m)/(ee-1),j=G?Q/2:Q,O=G?t.ticklen:D*1.25*U,Z=Math.sqrt(Math.pow(j,2)+Math.pow(O,2)),K=j/Z,$=t.autotickangles.map(function(ze){return ze*Math.PI/180}),oe=$.find(function(ze){return Math.abs(Math.cos(ze))<=K});oe===void 0&&(oe=$.reduce(function(ze,Be){return Math.abs(Math.cos(ze))<Math.abs(Math.cos(Be))?ze:Be},$[0]));var te=oe*(180/Math.PI);if(G){var V=2;for(t.ticks&&(V+=t.tickwidth/2),N=0;N<q.length;N++){var ne=o[N].xbnd,W=q[N];if(ne[0]!==null&&W.left-t.l2p(ne[0])<V||ne[1]!==null&&t.l2p(ne[1])-W.right<V){v=te;break}}}else{var fe=t.ticklabelposition||"",ge=function(ze){return fe.indexOf(ze)!==-1},Ce=ge("top"),Ne=ge("left"),pe=ge("right"),me=ge("bottom"),Ie=me||Ne||Ce||pe,Re=Ie?(t.tickwidth||0)+2*SA:0;for(N=0;N<q.length-1;N++)if(pn.bBoxIntersect(q[N],q[N+1],Re)){v=te;break}}v&&h(f,v)}}t._selections&&(t._selections[a]=f);var b=[d];t.automargin&&n._redrawFromAutoMarginCount&&u===90?(v=u,b.push(function(){h(f,u)})):b.push(m),t._tickAngles&&b.push(function(){t._tickAngles[a]=v===null?Do(l)?l:0:v});var g=function(){var D=0,q=0;return f.each(function(N,U){var G=aD(this),ee=G.select(".text-math-group");if(ee.empty()){var Q;t._vals[U]&&(Q=t._vals[U].bb||Mf.bBox(G.node()),t._vals[U].bb=Q),D=Math.max(D,Q.width),q=Math.max(q,Q.height)}}),{labelsMaxW:D,labelsMaxH:q}},_=t._anchorAxis;if(_&&(_.autorange||_.insiderange)&&v2(t)&&!oZe(n,t._id)&&(n._insideTickLabelsUpdaterange||(n._insideTickLabelsUpdaterange={}),_.autorange&&(n._insideTickLabelsUpdaterange[_._name+".autorange"]=_.autorange,b.push(g)),_.insiderange)){var T=g(),w=t._id.charAt(0)==="y"?T.labelsMaxW:T.labelsMaxH;w+=2*SA,t.ticklabelposition==="inside"&&(w+=t.ticklen||0);var k=t.side==="right"||t.side==="top"?1:-1,x=k===1?1:0,M=k===1?0:1,A=[];A[M]=_.range[M];var p=_.range,S=_.r2p(p[x]),y=_.r2p(p[M]),E=n._insideTickLabelsUpdaterange[_._name+".range"];if(E){var C=_.r2p(E[x]),L=_.r2p(E[M]),R=k*(t._id.charAt(0)==="y"?1:-1);R*S<R*C&&(S=C,A[x]=p[x]=E[x]),R*y>R*L&&(y=L,A[M]=p[M]=E[M])}var I=Math.abs(y-S);I-w>0?(I-=w,w*=1+w/I):w=0,t._id.charAt(0)!=="y"&&(w=-w),A[x]=_.p2r(_.r2p(p[x])+k*w),_.autorange==="min"||_.autorange==="max reversed"?(A[0]=null,_._rangeInitial0=void 0,_._rangeInitial1=void 0):(_.autorange==="max"||_.autorange==="min reversed")&&(A[1]=null,_._rangeInitial0=void 0,_._rangeInitial1=void 0),n._insideTickLabelsUpdaterange[_._name+".range"]=A}var P=pn.syncOrAsync(b);return P&&P.then&&e._promises.push(P),P};function EZe(e,t,r){var n=t._id+"divider",i=r.vals,a=r.layer.selectAll("path."+n).data(i,DA);a.exit().remove(),a.enter().insert("path",":first-child").classed(n,1).classed("crisp",1).call(u2.stroke,t.dividercolor).style("stroke-width",Mf.crispRound(e,t.dividerwidth,1)+"px"),a.attr("transform",r.transFn).attr("d",r.path)}hr.getPxPosition=function(e,t){var r=e._fullLayout._size,n=t._id.charAt(0),i=t.side,a;if(t.anchor!=="free"?a=t._anchorAxis:n==="x"?a={_offset:r.t+(1-(t.position||0))*r.h,_length:0}:n==="y"&&(a={_offset:r.l+(t.position||0)*r.w+t._shift,_length:0}),i==="top"||i==="left")return a._offset;if(i==="bottom"||i==="right")return a._offset+a._length};function I$(e){var t=e.title.font.size,r=(e.title.text.match(rg.BR_TAG_ALL)||[]).length;return e.title.hasOwnProperty("standoff")?t*(ig+r*c2):r?t*(r+1)*c2:t}function LZe(e,t){var r=e._fullLayout,n=t._id,i=n.charAt(0),a=t.title.font.size,o,s=(t.title.text.match(rg.BR_TAG_ALL)||[]).length;if(t.title.hasOwnProperty("standoff"))t.side==="bottom"||t.side==="right"?o=t._depth+t.title.standoff+a*ig:(t.side==="top"||t.side==="left")&&(o=t._depth+t.title.standoff+a*(s2+s*c2));else{var l=v2(t);if(t.type==="multicategory")o=t._depth;else{var u=1.5*a;l&&(u=.5*a,t.ticks==="outside"&&(u+=t.ticklen)),o=10+u+(t.linewidth?t.linewidth-1:0)}l||(i==="x"?o+=t.side==="top"?a*(t.showticklabels?1:0):a*(t.showticklabels?1.5:.5):o+=t.side==="right"?a*(t.showticklabels?1:.5):a*(t.showticklabels?.5:0))}var f=hr.getPxPosition(e,t),c,h,d;i==="x"?(h=t._offset+t._length/2,d=t.side==="top"?f-o:f+o):(d=t._offset+t._length/2,h=t.side==="right"?f+o:f-o,c={rotate:"-90",offset:0});var v;if(t.type!=="multicategory"){var m=t._selections[t._id+"tick"];if(v={selection:m,side:t.side},m&&m.node()&&m.node().parentNode){var b=Mf.getTranslate(m.node().parentNode);v.offsetLeft=b.x,v.offsetTop=b.y}t.title.hasOwnProperty("standoff")&&(v.pad=0)}return t._titleStandoff=o,JXe.draw(e,n+"title",{propContainer:t,propName:t._name+".title.text",placeholder:r._dfltTitle[i],avoid:v,transform:c,attributes:{x:h,y:d,"text-anchor":"middle"}})}hr.shouldShowZeroLine=function(e,t,r){var n=pn.simpleMap(t.range,t.r2l);return n[0]*n[1]<=0&&t.zeroline&&(t.type==="linear"||t.type==="-")&&!(t.rangebreaks&&t.maskBreaks(0)===EA)&&(H$(t,0)||!DZe(e,t,r,n)||RZe(e,t))};hr.clipEnds=function(e,t){return t.filter(function(r){return H$(e,r.x)})};function H$(e,t){var r=e.l2p(t);return r>1&&r<e._length-1}function DZe(e,t,r,n){var i=r._mainAxis;if(!i)return;var a=e._fullLayout,o=t._id.charAt(0),s=hr.counterLetter(t._id),l=t._offset+(Math.abs(n[0])<Math.abs(n[1])==(o==="x")?0:t._length);function u(v){if(!v.showline||!v.linewidth)return!1;var m=Math.max((v.linewidth+t.zerolinewidth)/2,1);function b(T){return typeof T=="number"&&Math.abs(T-l)<m}if(b(v._mainLinePosition)||b(v._mainMirrorPosition))return!0;var g=v._linepositions||{};for(var _ in g)if(b(g[_][0])||b(g[_][1]))return!0}var f=a._plots[r._mainSubplot];if(!(f.mainplotinfo||f).overlays.length)return u(r,l);for(var c=hr.list(e,s),h=0;h<c.length;h++){var d=c[h];if(d._mainAxis===i&&u(d,l))return!0}}function RZe(e,t){for(var r=e._fullData,n=t._mainSubplot,i=t._id.charAt(0),a=0;a<r.length;a++){var o=r[a];if(o.visible===!0&&o.xaxis+o.yaxis===n&&(l2.traceIs(o,"bar-like")&&o.orientation==={x:"h",y:"v"}[i]||o.fill&&o.fill.charAt(o.fill.length-1)===i))return!0}return!1}function aD(e){var t=tc.select(e),r=t.select(".text-math-group");return r.empty()?t.select("text"):r}hr.allowAutoMargin=function(e){for(var t=hr.list(e,"",!0),r=0;r<t.length;r++){var n=t[r];n.automargin&&(Y1.allowAutoMargin(e,uD(n)),n.mirror&&Y1.allowAutoMargin(e,j$(n))),l2.getComponentMethod("rangeslider","isVisible")(n)&&Y1.allowAutoMargin(e,V$(n))}};function uD(e){return e._id+".automargin"}function j$(e){return uD(e)+".mirror"}function V$(e){return e._id+".rangeslider"}hr.swap=function(e,t){for(var r=PZe(e,t),n=0;n<r.length;n++)IZe(e,r[n].x,r[n].y)};function PZe(e,t){var r=[],n,i;for(n=0;n<t.length;n++){var a=[],o=e._fullData[t[n]].xaxis,s=e._fullData[t[n]].yaxis;if(!(!o||!s)){for(i=0;i<r.length;i++)(r[i].x.indexOf(o)!==-1||r[i].y.indexOf(s)!==-1)&&a.push(i);if(!a.length){r.push({x:[o],y:[s]});continue}var l=r[a[0]],u;if(a.length>1)for(i=1;i<a.length;i++)u=r[a[i]],wA(l.x,u.x),wA(l.y,u.y);wA(l.x,[o]),wA(l.y,[s])}}return r}function wA(e,t){for(var r=0;r<t.length;r++)e.indexOf(t[r])===-1&&e.push(t[r])}function IZe(e,t,r){var n=[],i=[],a=e.layout,o,s;for(o=0;o<t.length;o++)n.push(hr.getFromId(e,t[o]));for(o=0;o<r.length;o++)i.push(hr.getFromId(e,r[o]));var l=Object.keys($Xe),u=["anchor","domain","overlaying","position","side","tickangle","editType"],f=["linear","log"];for(o=0;o<l.length;o++){var c=l[o],h=n[0][c],d=i[0][c],v=!0,m=!1,b=!1;if(!(c.charAt(0)==="_"||typeof h=="function"||u.indexOf(c)!==-1)){for(s=1;s<n.length&&v;s++){var g=n[s][c];c==="type"&&f.indexOf(h)!==-1&&f.indexOf(g)!==-1&&h!==g?m=!0:g!==h&&(v=!1)}for(s=1;s<i.length&&v;s++){var _=i[s][c];c==="type"&&f.indexOf(d)!==-1&&f.indexOf(_)!==-1&&d!==_?b=!0:i[s][c]!==d&&(v=!1)}v&&(m&&(a[n[0]._name].type="linear"),b&&(a[i[0]._name].type="linear"),qZe(a,c,n,i,e._fullLayout._dfltTitle))}}for(o=0;o<e._fullLayout.annotations.length;o++){var T=e._fullLayout.annotations[o];t.indexOf(T.xref)!==-1&&r.indexOf(T.yref)!==-1&&pn.swapAttrs(a.annotations[o],["?"])}}function qZe(e,t,r,n,i){var a=pn.nestedProperty,o=a(e[r[0]._name],t).get(),s=a(e[n[0]._name],t).get(),l;for(t==="title"&&(o&&o.text===i.x&&(o.text=i.y),s&&s.text===i.y&&(s.text=i.x)),l=0;l<r.length;l++)a(e,r[l]._name+"."+t).set(s);for(l=0;l<n.length;l++)a(e,n[l]._name+"."+t).set(o)}function fD(e){return e._id==="angularaxis"}function QL(e,t){for(var r=t._rangebreaks.length,n=0;n<r;n++){var i=t._rangebreaks[n];if(e>=i.min&&e<i.max)return i.max}return e}function v2(e){return(e.ticklabelposition||"").indexOf("inside")!==-1}function RA(e,t){v2(e._anchorAxis||{})&&e._hideCounterAxisInsideTickLabels&&e._hideCounterAxisInsideTickLabels(t)}function oD(e,t,r,n){var i=e.anchor!=="free"&&(e.overlaying===void 0||e.overlaying===!1)?e._id:e.overlaying,a;n?a=e.side==="right"?t:-t:a=t,i in r||(r[i]={}),e.side in r[i]||(r[i][e.side]=0),r[i][e.side]+=a}function FZe(e,t){return e.autoshift?t[e.overlaying][e.side]:e.shift||0}function zZe(e,t){return/%f/.test(t)?e>=rZe:/%L/.test(t)?e>=tZe:/%[SX]/.test(t)?e>=kA:/%M/.test(t)?e>=f2:/%[HI]/.test(t)?e>=$h:/%p/.test(t)?e>=d0:/%[Aadejuwx]/.test(t)?e>=ql:/%[UVW]/.test(t)?e>=kf:/%[Bbm]/.test(t)?e>=MA:/%[q]/.test(t)?e>=AA:/%[Yy]/.test(t)?e>=TA:!0}});var cD=J((j8t,G$)=>{"use strict";G$.exports=function(t,r,n){var i,a;if(n){var o=r==="reversed"||r==="min reversed"||r==="max reversed";i=n[o?1:0],a=n[o?0:1]}var s=t("autorangeoptions.minallowed",a===null?i:void 0),l=t("autorangeoptions.maxallowed",i===null?a:void 0);s===void 0&&t("autorangeoptions.clipmin"),l===void 0&&t("autorangeoptions.clipmax"),t("autorangeoptions.include")}});var hD=J((V8t,W$)=>{"use strict";var NZe=cD();W$.exports=function(t,r,n,i){var a=r._template||{},o=r.type||a.type||"-";n("minallowed"),n("maxallowed");var s=n("range");if(!s){var l;!i.noInsiderange&&o!=="log"&&(l=n("insiderange"),l&&(l[0]===null||l[1]===null)&&(r.insiderange=!1,l=void 0),l&&(s=n("range",l)))}var u=r.getAutorangeDflt(s,i),f=n("autorange",u),c;s&&(s[0]===null&&s[1]===null||(s[0]===null||s[1]===null)&&(f==="reversed"||f===!0)||s[0]!==null&&(f==="min"||f==="max reversed")||s[1]!==null&&(f==="max"||f==="min reversed"))&&(s=void 0,delete r.range,r.autorange=!0,c=!0),c||(u=r.getAutorangeDflt(s,i),f=n("autorange",u)),f&&(NZe(n,f,s),(o==="linear"||o==="-")&&n("rangemode")),r.cleanRange()}});var vD=J((Y8t,X$)=>{var OZe={left:0,top:0};X$.exports=BZe;function BZe(e,t,r){t=t||e.currentTarget||e.srcElement,Array.isArray(r)||(r=[0,0]);var n=e.clientX||0,i=e.clientY||0,a=UZe(t);return r[0]=n-a.left,r[1]=i-a.top,r}function UZe(e){return e===window||e===document||e===document.body?OZe:e.getBoundingClientRect()}});var d2=J((G8t,Z$)=>{"use strict";var HZe=HE();function jZe(){var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch{e=!1}return e}Z$.exports=HZe&&jZe()});var $$=J((W8t,J$)=>{"use strict";J$.exports=function(t,r,n,i,a){var o=(t-n)/(i-n),s=o+r/(i-n),l=(o+s)/2;return a==="left"||a==="bottom"?o:a==="center"||a==="middle"?l:a==="right"||a==="top"?s:o<2/3-l?o:s>4/3-l?s:l}});var eK=J((X8t,Q$)=>{"use strict";var K$=gt(),VZe=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];Q$.exports=function(t,r,n,i){return n==="left"?t=0:n==="center"?t=1:n==="right"?t=2:t=K$.constrain(Math.floor(t*3),0,2),i==="bottom"?r=0:i==="middle"?r=1:i==="top"?r=2:r=K$.constrain(Math.floor(r*3),0,2),VZe[r][t]}});var rK=J((Z8t,tK)=>{"use strict";var YZe=P1(),GZe=zT(),WZe=Ob().getGraphDiv,XZe=zb(),dD=tK.exports={};dD.wrapped=function(e,t,r){e=WZe(e),e._fullLayout&&GZe.clear(e._fullLayout._uid+XZe.HOVERID),dD.raw(e,t,r)};dD.raw=function(t,r){var n=t._fullLayout,i=t._hoverdata;r||(r={}),!(r.target&&!t._dragged&&YZe.triggerHandler(t,"plotly_beforehover",r)===!1)&&(n._hoverlayer.selectAll("g").remove(),n._hoverlayer.selectAll("line").remove(),n._hoverlayer.selectAll("circle").remove(),t._hoverdata=void 0,r.target&&i&&t.emit("plotly_unhover",{event:r,points:i}))}});var iu=J((J8t,aK)=>{"use strict";var ZZe=vD(),pD=VE(),JZe=d2(),$Ze=gt().removeElement,KZe=Eo(),ag=aK.exports={};ag.align=$$();ag.getCursor=eK();var nK=rK();ag.unhover=nK.wrapped;ag.unhoverRaw=nK.raw;ag.init=function(t){var r=t.gd,n=1,i=r._context.doubleClickDelay,a=t.element,o,s,l,u,f,c,h,d;r._mouseDownTime||(r._mouseDownTime=0),a.style.pointerEvents="all",a.onmousedown=b,JZe?(a._ontouchstart&&a.removeEventListener("touchstart",a._ontouchstart),a._ontouchstart=b,a.addEventListener("touchstart",b,{passive:!1})):a.ontouchstart=b;function v(T,w,k){return Math.abs(T)<k&&(T=0),Math.abs(w)<k&&(w=0),[T,w]}var m=t.clampFn||v;function b(T){r._dragged=!1,r._dragging=!0;var w=gD(T);o=w[0],s=w[1],h=T.target,c=T,d=T.buttons===2||T.ctrlKey,typeof T.clientX>"u"&&typeof T.clientY>"u"&&(T.clientX=o,T.clientY=s),l=new Date().getTime(),l-r._mouseDownTime<i?n+=1:(n=1,r._mouseDownTime=l),t.prepFn&&t.prepFn(T,o,s),pD&&!d?(f=iK(),f.style.cursor=window.getComputedStyle(a).cursor):pD||(f=document,u=window.getComputedStyle(document.documentElement).cursor,document.documentElement.style.cursor=window.getComputedStyle(a).cursor),document.addEventListener("mouseup",_),document.addEventListener("touchend",_),t.dragmode!==!1&&(T.preventDefault(),document.addEventListener("mousemove",g),document.addEventListener("touchmove",g,{passive:!1}))}function g(T){T.preventDefault();var w=gD(T),k=t.minDrag||KZe.MINDRAG,x=m(w[0]-o,w[1]-s,k),M=x[0],A=x[1];(M||A)&&(r._dragged=!0,ag.unhover(r,T)),r._dragged&&t.moveFn&&!d&&(r._dragdata={element:a,dx:M,dy:A},t.moveFn(M,A))}function _(T){if(delete r._dragdata,t.dragmode!==!1&&(T.preventDefault(),document.removeEventListener("mousemove",g),document.removeEventListener("touchmove",g)),document.removeEventListener("mouseup",_),document.removeEventListener("touchend",_),pD?$Ze(f):u&&(f.documentElement.style.cursor=u,u=null),!r._dragging){r._dragged=!1;return}if(r._dragging=!1,new Date().getTime()-r._mouseDownTime>i&&(n=Math.max(n-1,1)),r._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(n,c),!d){var w;try{w=new MouseEvent("click",T)}catch{var k=gD(T);w=document.createEvent("MouseEvents"),w.initMouseEvent("click",T.bubbles,T.cancelable,T.view,T.detail,T.screenX,T.screenY,k[0],k[1],T.ctrlKey,T.altKey,T.shiftKey,T.metaKey,T.button,T.relatedTarget)}h.dispatchEvent(w)}r._dragging=!1,r._dragged=!1}};function iK(){var e=document.createElement("div");e.className="dragcover";var t=e.style;return t.position="fixed",t.left=0,t.right=0,t.top=0,t.bottom=0,t.zIndex=999999999,t.background="none",document.body.appendChild(e),e}ag.coverSlip=iK;function gD(e){return ZZe(e.changedTouches?e.changedTouches[0]:e,document.body)}});var th=J(($8t,oK)=>{"use strict";oK.exports=function(t,r){(t.attr("class")||"").split(" ").forEach(function(n){n.indexOf("cursor-")===0&&t.classed(n,!1)}),r&&t.classed("cursor-"+r,!0)}});var uK=J((K8t,lK)=>{"use strict";var mD=th(),p2="data-savedcursor",sK="!!";lK.exports=function(t,r){var n=t.attr(p2);if(r){if(!n){for(var i=(t.attr("class")||"").split(" "),a=0;a<i.length;a++){var o=i[a];o.indexOf("cursor-")===0&&t.attr(p2,o.substr(7)).classed(o,!1)}t.attr(p2)||t.attr(p2,sK)}mD(t,r)}else n&&(t.attr(p2,null),n===sK?mD(t):mD(t,n))}});var xD=J((Q8t,fK)=>{"use strict";var yD=xa(),QZe=Ho();fK.exports={_isSubplotObj:!0,visible:{valType:"boolean",dflt:!0,editType:"legend",description:["Determines whether or not this legend is visible."].join(" ")},bgcolor:{valType:"color",editType:"legend",description:["Sets the legend background color.","Defaults to `layout.paper_bgcolor`."].join(" ")},bordercolor:{valType:"color",dflt:QZe.defaultLine,editType:"legend",description:"Sets the color of the border enclosing the legend."},borderwidth:{valType:"number",min:0,dflt:0,editType:"legend",description:"Sets the width (in px) of the border enclosing the legend."},font:yD({editType:"legend",description:"Sets the font used to text the legend items."}),grouptitlefont:yD({editType:"legend",description:["Sets the font for group titles in legend.","Defaults to `legend.font` with its size increased about 10%."].join(" ")}),orientation:{valType:"enumerated",values:["v","h"],dflt:"v",editType:"legend",description:"Sets the orientation of the legend."},traceorder:{valType:"flaglist",flags:["reversed","grouped"],extras:["normal"],editType:"legend",description:["Determines the order at which the legend items are displayed.","If *normal*, the items are displayed top-to-bottom in the same","order as the input data.","If *reversed*, the items are displayed in the opposite order","as *normal*.","If *grouped*, the items are displayed in groups","(when a trace `legendgroup` is provided).","if *grouped+reversed*, the items are displayed in the opposite order","as *grouped*."].join(" ")},tracegroupgap:{valType:"number",min:0,dflt:10,editType:"legend",description:["Sets the amount of vertical space (in px) between legend groups."].join(" ")},entrywidth:{valType:"number",min:0,editType:"legend",description:["Sets the width (in px or fraction) of the legend.","Use 0 to size the entry based on the text width,","when `entrywidthmode` is set to *pixels*."].join(" ")},entrywidthmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"pixels",editType:"legend",description:"Determines what entrywidth means."},indentation:{valType:"number",min:-15,dflt:0,editType:"legend",description:"Sets the indentation (in px) of the legend entries."},itemsizing:{valType:"enumerated",values:["trace","constant"],dflt:"trace",editType:"legend",description:["Determines if the legend items symbols scale with their corresponding *trace* attributes","or remain *constant* independent of the symbol size on the graph."].join(" ")},itemwidth:{valType:"number",min:30,dflt:30,editType:"legend",description:"Sets the width (in px) of the legend item symbols (the part other than the title.text)."},itemclick:{valType:"enumerated",values:["toggle","toggleothers",!1],dflt:"toggle",editType:"legend",description:["Determines the behavior on legend item click.","*toggle* toggles the visibility of the item clicked on the graph.","*toggleothers* makes the clicked item the sole visible item on the graph.","*false* disables legend item click interactions."].join(" ")},itemdoubleclick:{valType:"enumerated",values:["toggle","toggleothers",!1],dflt:"toggleothers",editType:"legend",description:["Determines the behavior on legend item double-click.","*toggle* toggles the visibility of the item clicked on the graph.","*toggleothers* makes the clicked item the sole visible item on the graph.","*false* disables legend item double-click interactions."].join(" ")},groupclick:{valType:"enumerated",values:["toggleitem","togglegroup"],dflt:"togglegroup",editType:"legend",description:["Determines the behavior on legend group item click.","*toggleitem* toggles the visibility of the individual item clicked on the graph.","*togglegroup* toggles the visibility of all items in the same legendgroup as the item clicked on the graph."].join(" ")},x:{valType:"number",editType:"legend",description:["Sets the x position with respect to `xref` (in normalized coordinates) of the legend.","When `xref` is *paper*, defaults to *1.02* for vertical legends and","defaults to *0* for horizontal legends.","When `xref` is *container*, defaults to *1* for vertical legends and","defaults to *0* for horizontal legends.","Must be between *0* and *1* if `xref` is *container*.","and between *-2* and *3* if `xref` is *paper*."].join(" ")},xref:{valType:"enumerated",dflt:"paper",values:["container","paper"],editType:"layoutstyle",description:["Sets the container `x` refers to.","*container* spans the entire `width` of the plot.","*paper* refers to the width of the plotting area only."].join(" ")},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left",editType:"legend",description:["Sets the legend's horizontal position anchor.","This anchor binds the `x` position to the *left*, *center*","or *right* of the legend.","Value *auto* anchors legends to the right for `x` values greater than or equal to 2/3,","anchors legends to the left for `x` values less than or equal to 1/3 and","anchors legends with respect to their center otherwise."].join(" ")},y:{valType:"number",editType:"legend",description:["Sets the y position with respect to `yref` (in normalized coordinates) of the legend.","When `yref` is *paper*, defaults to *1* for vertical legends,","defaults to *-0.1* for horizontal legends on graphs w/o range sliders and","defaults to *1.1* for horizontal legends on graph with one or multiple range sliders.","When `yref` is *container*, defaults to *1*.","Must be between *0* and *1* if `yref` is *container*","and between *-2* and *3* if `yref` is *paper*."].join(" ")},yref:{valType:"enumerated",dflt:"paper",values:["container","paper"],editType:"layoutstyle",description:["Sets the container `y` refers to.","*container* spans the entire `height` of the plot.","*paper* refers to the height of the plotting area only."].join(" ")},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],editType:"legend",description:["Sets the legend's vertical position anchor","This anchor binds the `y` position to the *top*, *middle*","or *bottom* of the legend.","Value *auto* anchors legends at their bottom for `y` values less than or equal to 1/3,","anchors legends to at their top for `y` values greater than or equal to 2/3 and","anchors legends with respect to their middle otherwise."].join(" ")},uirevision:{valType:"any",editType:"none",description:["Controls persistence of legend-driven changes in trace and pie label","visibility. Defaults to `layout.uirevision`."].join(" ")},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"legend",description:["Sets the vertical alignment of the symbols with respect to their associated text."].join(" ")},title:{text:{valType:"string",dflt:"",editType:"legend",description:["Sets the title of the legend."].join(" ")},font:yD({editType:"legend",description:["Sets this legend's title font.","Defaults to `legend.font` with its size increased about 20%."].join(" ")}),side:{valType:"enumerated",values:["top","left","top left","top center","top right"],editType:"legend",description:["Determines the location of legend's title","with respect to the legend items.","Defaulted to *top* with `orientation` is *h*.","Defaulted to *left* with `orientation` is *v*.","The *top left* options could be used to expand","top center and top right are for horizontal alignment","legend area in both x and y sides."].join(" ")},editType:"legend"},editType:"legend"}});var IA=J(PA=>{"use strict";PA.isGrouped=function(t){return(t.traceorder||"").indexOf("grouped")!==-1};PA.isVertical=function(t){return t.orientation!=="h"};PA.isReversed=function(t){return(t.traceorder||"").indexOf("reversed")!==-1}});var _D=J((tRt,cK)=>{"use strict";var bD=zr(),Sf=gt(),eJe=ki(),tJe=Qi(),rJe=xD(),nJe=zp(),wD=IA();function iJe(e,t,r,n){var i=t[e]||{},a=eJe.newContainer(r,e);function o(P,D){return Sf.coerce(i,a,rJe,P,D)}var s=Sf.coerceFont(o,"font",r.font);o("bgcolor",r.paper_bgcolor),o("bordercolor");var l=o("visible");if(l){for(var u,f=function(P,D){var q=u._input,N=u;return Sf.coerce(q,N,tJe,P,D)},c=r.font||{},h=Sf.coerceFont(o,"grouptitlefont",c,{overrideDflt:{size:Math.round(c.size*1.1)}}),d=0,v=!1,m="normal",b=(r.shapes||[]).filter(function(P){return P.showlegend}),g=n.concat(b).filter(function(P){return e===(P.legend||"legend")}),_=0;_<g.length;_++)if(u=g[_],!!u.visible){var T=u._isShape;(u.showlegend||u._dfltShowLegend&&!(u._module&&u._module.attributes&&u._module.attributes.showlegend&&u._module.attributes.showlegend.dflt===!1))&&(d++,u.showlegend&&(v=!0,(!T&&bD.traceIs(u,"pie-like")||u._input.showlegend===!0)&&d++),Sf.coerceFont(f,"legendgrouptitle.font",h)),(!T&&bD.traceIs(u,"bar")&&r.barmode==="stack"||["tonextx","tonexty"].indexOf(u.fill)!==-1)&&(m=wD.isGrouped({traceorder:m})?"grouped+reversed":"reversed"),u.legendgroup!==void 0&&u.legendgroup!==""&&(m=wD.isReversed({traceorder:m})?"reversed+grouped":"grouped")}var w=Sf.coerce(t,r,nJe,"showlegend",v&&d>(e==="legend"?1:0));if(w===!1&&(r[e]=void 0),!(w===!1&&!i.uirevision)&&(o("uirevision",r.uirevision),w!==!1)){o("borderwidth");var k=o("orientation"),x=o("yref"),M=o("xref"),A=k==="h",p=x==="paper",S=M==="paper",y,E,C,L="left";A?(y=0,bD.getComponentMethod("rangeslider","isVisible")(t.xaxis)?p?(E=1.1,C="bottom"):(E=1,C="top"):p?(E=-.1,C="top"):(E=0,C="bottom")):(E=1,C="auto",S?y=1.02:(y=1,L="right")),Sf.coerce(i,a,{x:{valType:"number",editType:"legend",min:S?-2:0,max:S?3:1,dflt:y}},"x"),Sf.coerce(i,a,{y:{valType:"number",editType:"legend",min:p?-2:0,max:p?3:1,dflt:E}},"y"),o("traceorder",m),wD.isGrouped(r[e])&&o("tracegroupgap"),o("entrywidth"),o("entrywidthmode"),o("indentation"),o("itemsizing"),o("itemwidth"),o("itemclick"),o("itemdoubleclick"),o("groupclick"),o("xanchor",L),o("yanchor",C),o("valign"),Sf.noneOrAll(i,a,["x","y"]);var R=o("title.text");if(R){o("title.side",A?"left":"top");var I=Sf.extendFlat({},s,{size:Sf.bigFont(s.size)});Sf.coerceFont(o,"title.font",I)}}}}cK.exports=function(t,r,n){var i,a=n.slice(),o=r.shapes;if(o)for(i=0;i<o.length;i++){var s=o[i];if(s.showlegend){var l={_input:s._input,visible:s.visible,showlegend:s.showlegend,legend:s.legend};a.push(l)}}var u=["legend"];for(i=0;i<a.length;i++)Sf.pushUnique(u,a[i].legend);for(r._legends=[],i=0;i<u.length;i++){var f=u[i];iJe(f,t,r,a),r[f]&&r[f].visible&&(r[f]._id=f),r._legends.push(f)}}});var vK=J((rRt,hK)=>{"use strict";var p0=zr(),qA=gt(),aJe=qA.pushUnique,TD=!0;hK.exports=function(t,r,n){var i=r._fullLayout;if(r._dragged||r._editing)return;var a=i.legend.itemclick,o=i.legend.itemdoubleclick,s=i.legend.groupclick;n===1&&a==="toggle"&&o==="toggleothers"&&TD&&r.data&&r._context.showTips&&qA.notifier(qA._(r,"Double-click on legend to isolate one trace"),"long"),TD=!1;var l;if(n===1?l=a:n===2&&(l=o),!l)return;var u=s==="togglegroup",f=i.hiddenlabels?i.hiddenlabels.slice():[],c=t.data()[0][0];if(c.groupTitle&&c.noClick)return;var h=r._fullData,d=(i.shapes||[]).filter(function(Ie){return Ie.showlegend}),v=h.concat(d),m=c.trace;m._isShape&&(m=m._fullInput);var b=m.legendgroup,g,_,T,w,k,x,M={},A=[],p=[],S=[];function y(Ie,Re){var ze=A.indexOf(Ie),Be=M.visible;return Be||(Be=M.visible=[]),A.indexOf(Ie)===-1&&(A.push(Ie),ze=A.length-1),Be[ze]=Re,ze}var E=(i.shapes||[]).map(function(Ie){return Ie._input}),C=!1;function L(Ie,Re){E[Ie].visible=Re,C=!0}function R(Ie,Re){if(!(c.groupTitle&&!u)){var ze=Ie._fullInput||Ie,Be=ze._isShape,tt=ze.index;if(tt===void 0&&(tt=ze._index),p0.hasTransform(ze,"groupby")){var rt=p[tt];if(!rt){var ce=p0.getTransformIndices(ze,"groupby"),Ee=ce[ce.length-1];rt=qA.keyedContainer(ze,"transforms["+Ee+"].styles","target","value.visible"),p[tt]=rt}var Ae=rt.get(Ie._group);Ae===void 0&&(Ae=!0),Ae!==!1&&rt.set(Ie._group,Re),S[tt]=y(tt,ze.visible!==!1)}else{var Pe=ze.visible===!1?!1:Re;Be?L(tt,Pe):y(tt,Pe)}}}var I=m.legend,P=m._fullInput,D=P&&P._isShape;if(!D&&p0.traceIs(m,"pie-like")){var q=c.label,N=f.indexOf(q);if(l==="toggle")N===-1?f.push(q):f.splice(N,1);else if(l==="toggleothers"){var U=N!==-1,G=[];for(g=0;g<r.calcdata.length;g++){var ee=r.calcdata[g];for(_=0;_<ee.length;_++){var Q=ee[_],j=Q.label;I===ee[0].trace.legend&&q!==j&&(f.indexOf(j)===-1&&(U=!0),aJe(f,j),G.push(j))}}if(!U)for(var O=0;O<G.length;O++){var Z=f.indexOf(G[O]);Z!==-1&&f.splice(Z,1)}}p0.call("_guiRelayout",r,"hiddenlabels",f)}else{var K=b&&b.length,$=[],oe;if(K)for(g=0;g<v.length;g++)oe=v[g],oe.visible&&oe.legendgroup===b&&$.push(g);if(l==="toggle"){var te;switch(m.visible){case!0:te="legendonly";break;case!1:te=!1;break;case"legendonly":te=!0;break}if(K)if(u)for(g=0;g<v.length;g++){var V=v[g];V.visible!==!1&&V.legendgroup===b&&R(V,te)}else R(m,te);else R(m,te)}else if(l==="toggleothers"){var ne,W,fe,ge,Ce,Ne=!0;for(g=0;g<v.length;g++)if(Ce=v[g],ne=Ce===m,fe=Ce.showlegend!==!0,!(ne||fe)&&(W=K&&Ce.legendgroup===b,!W&&Ce.legend===I&&Ce.visible===!0&&!p0.traceIs(Ce,"notLegendIsolatable"))){Ne=!1;break}for(g=0;g<v.length;g++)if(Ce=v[g],!(Ce.visible===!1||Ce.legend!==I)&&!p0.traceIs(Ce,"notLegendIsolatable"))switch(m.visible){case"legendonly":R(Ce,!0);break;case!0:ge=Ne?!0:"legendonly",ne=Ce===m,fe=Ce.showlegend!==!0&&!Ce.legendgroup,W=ne||K&&Ce.legendgroup===b,R(Ce,W||fe?!0:ge);break}}for(g=0;g<p.length;g++)if(T=p[g],!!T){var pe=T.constructUpdate(),me=Object.keys(pe);for(_=0;_<me.length;_++)w=me[_],x=M[w]=M[w]||[],x[S[g]]=pe[w]}for(k=Object.keys(M),g=0;g<k.length;g++)for(w=k[g],_=0;_<A.length;_++)M[w].hasOwnProperty(_)||(M[w][_]=void 0);C?p0.call("_guiUpdate",r,M,{shapes:E},A):p0.call("_guiRestyle",r,M,A)}}});var AD=J((nRt,dK)=>{"use strict";dK.exports={scrollBarWidth:6,scrollBarMinHeight:20,scrollBarColor:"#808BA4",scrollBarMargin:4,scrollBarEnterAttrs:{rx:20,ry:3,width:0,height:0},titlePad:2,itemGap:5}});var mK=J((iRt,gK)=>{"use strict";var pK=zr(),MD=IA();gK.exports=function(t,r,n){var i=r._inHover,a=MD.isGrouped(r),o=MD.isReversed(r),s={},l=[],u=!1,f={},c=0,h=0,d,v;function m(P,D,q){if(r.visible!==!1&&!(n&&P!==r._id))if(D===""||!MD.isGrouped(r)){var N="~~i"+c;l.push(N),s[N]=[q],c++}else l.indexOf(D)===-1?(l.push(D),u=!0,s[D]=[q]):s[D].push(q)}for(d=0;d<t.length;d++){var b=t[d],g=b[0],_=g.trace,T=_.legend,w=_.legendgroup;if(!(!i&&(!_.visible||!_.showlegend)))if(pK.traceIs(_,"pie-like"))for(f[w]||(f[w]={}),v=0;v<b.length;v++){var k=b[v].label;f[w][k]||(m(T,w,{label:k,color:b[v].color,i:b[v].i,trace:_,pts:b[v].pts}),f[w][k]=!0,h=Math.max(h,(k||"").length))}else m(T,w,g),h=Math.max(h,(_.name||"").length)}if(!l.length)return[];var x=!u||!a,M=[];for(d=0;d<l.length;d++){var A=s[l[d]];x?M.push(A[0]):M.push(A)}for(x&&(M=[M]),d=0;d<M.length;d++){var p=1/0;for(v=0;v<M[d].length;v++){var S=M[d][v].trace.legendrank;p>S&&(p=S)}M[d][0]._groupMinRank=p,M[d][0]._preGroupSort=d}var y=function(P,D){return P[0]._groupMinRank-D[0]._groupMinRank||P[0]._preGroupSort-D[0]._preGroupSort},E=function(P,D){return P.trace.legendrank-D.trace.legendrank||P._preSort-D._preSort};for(M.forEach(function(P,D){P[0]._preGroupSort=D}),M.sort(y),d=0;d<M.length;d++){M[d].forEach(function(P,D){P._preSort=D}),M[d].sort(E);var C=M[d][0].trace,L=null;for(v=0;v<M[d].length;v++){var R=M[d][v].trace.legendgrouptitle;if(R&&R.text){L=R,i&&(R.font=r._groupTitleFont);break}}if(o&&M[d].reverse(),L){var I=!1;for(v=0;v<M[d].length;v++)if(pK.traceIs(M[d][v].trace,"pie-like")){I=!0;break}M[d].unshift({i:-1,groupTitle:L,noClick:I,trace:{showlegend:C.showlegend,legendgroup:C.legendgroup,visible:r.groupclick==="toggleitem"?!0:C.visible}})}for(v=0;v<M[d].length;v++)M[d][v]=[M[d][v]]}return r._lgroupsLength=M.length,r._maxNameLength=h,M}});var g0=J(og=>{"use strict";var FA=gt();function yK(e){return e.indexOf("e")!==-1?e.replace(/[.]?0+e/,"e"):e.indexOf(".")!==-1?e.replace(/[.]?0+$/,""):e}og.formatPiePercent=function(t,r){var n=yK((t*100).toPrecision(3));return FA.numSeparate(n,r)+"%"};og.formatPieValue=function(t,r){var n=yK(t.toPrecision(10));return FA.numSeparate(n,r)};og.getFirstFilled=function(t,r){if(FA.isArrayOrTypedArray(t))for(var n=0;n<r.length;n++){var i=t[r[n]];if(i||i===0||i==="")return i}};og.castOption=function(t,r){if(FA.isArrayOrTypedArray(t))return og.getFirstFilled(t,r);if(t)return t};og.getRotationAngle=function(e){return(e==="auto"?0:e)*Math.PI/180}});var bK=J((oRt,xK)=>{"use strict";var oJe=ln(),sJe=qr();xK.exports=function(t,r,n,i){var a=n.marker.pattern;a&&a.shape?oJe.pointStyle(t,n,i,r):sJe.fill(t,r.color)}});var X1=J((sRt,TK)=>{"use strict";var wK=qr(),_K=g0().castOption,lJe=bK();TK.exports=function(t,r,n,i){var a=n.marker.line,o=_K(a.color,r.pts)||wK.defaultLine,s=_K(a.width,r.pts)||0;t.call(lJe,r,n,i).style("stroke-width",s).call(wK.stroke,o)}});var ED=J((lRt,EK)=>{"use strict";var Fl=Nr(),kD=zr(),pl=gt(),AK=pl.strTranslate,au=ln(),rc=qr(),SD=nu().extractOpts,zA=fs(),uJe=X1(),fJe=g0().castOption,cJe=AD(),MK=12,kK=5,sg=2,hJe=10,Z1=5;EK.exports=function(t,r,n){var i=r._fullLayout;n||(n=i.legend);var a=n.itemsizing==="constant",o=n.itemwidth,s=(o+cJe.itemGap*2)/2,l=AK(s,0),u=function(M,A,p,S){var y;if(M+1)y=M;else if(A&&A.width>0)y=A.width;else return 0;return a?S:Math.min(y,p)};t.each(function(M){var A=Fl.select(this),p=pl.ensureSingle(A,"g","layers");p.style("opacity",M[0].trace.opacity);var S=n.indentation,y=n.valign,E=M[0].lineHeight,C=M[0].height;if(y==="middle"&&S===0||!E||!C)p.attr("transform",null);else{var L={top:1,bottom:-1}[y],R=L*(.5*(E-C+3))||0,I=n.indentation;p.attr("transform",AK(I,R))}var P=p.selectAll("g.legendfill").data([M]);P.enter().append("g").classed("legendfill",!0);var D=p.selectAll("g.legendlines").data([M]);D.enter().append("g").classed("legendlines",!0);var q=p.selectAll("g.legendsymbols").data([M]);q.enter().append("g").classed("legendsymbols",!0),q.selectAll("g.legendpoints").data([M]).enter().append("g").classed("legendpoints",!0)}).each(x).each(h).each(v).each(d).each(b).each(w).each(T).each(f).each(c).each(g).each(_);function f(M){var A=SK(M),p=A.showFill,S=A.showLine,y=A.showGradientLine,E=A.showGradientFill,C=A.anyFill,L=A.anyLine,R=M[0],I=R.trace,P,D,q=SD(I),N=q.colorscale,U=q.reversescale,G=function($){if($.size())if(p)au.fillGroupStyle($,r,!0);else{var oe="legendfill-"+I.uid;au.gradient($,r,oe,CD(U),N,"fill")}},ee=function($){if($.size()){var oe="legendline-"+I.uid;au.lineGroupStyle($),au.gradient($,r,oe,CD(U),N,"stroke")}},Q=zA.hasMarkers(I)||!C?"M5,0":L?"M5,-2":"M5,-3",j=Fl.select(this),O=j.select(".legendfill").selectAll("path").data(p||E?[M]:[]);if(O.enter().append("path").classed("js-fill",!0),O.exit().remove(),O.attr("d",Q+"h"+o+"v6h-"+o+"z").call(G),S||y){var Z=u(void 0,I.line,hJe,kK);D=pl.minExtend(I,{line:{width:Z}}),P=[pl.minExtend(R,{trace:D})]}var K=j.select(".legendlines").selectAll("path").data(S||y?[P]:[]);K.enter().append("path").classed("js-line",!0),K.exit().remove(),K.attr("d",Q+(y?"l"+o+",0.0001":"h"+o)).call(S?au.lineGroupStyle:ee)}function c(M){var A=SK(M),p=A.anyFill,S=A.anyLine,y=A.showLine,E=A.showMarker,C=M[0],L=C.trace,R=!E&&!S&&!p&&zA.hasText(L),I,P;function D(O,Z,K,$){var oe=pl.nestedProperty(L,O).get(),te=pl.isArrayOrTypedArray(oe)&&Z?Z(oe):oe;if(a&&te&&$!==void 0&&(te=$),K){if(te<K[0])return K[0];if(te>K[1])return K[1]}return te}function q(O){return C._distinct&&C.index&&O[C.index]?O[C.index]:O[0]}if(E||R||y){var N={},U={};if(E){N.mc=D("marker.color",q),N.mx=D("marker.symbol",q),N.mo=D("marker.opacity",pl.mean,[.2,1]),N.mlc=D("marker.line.color",q),N.mlw=D("marker.line.width",pl.mean,[0,5],sg),U.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var G=D("marker.size",pl.mean,[2,16],MK);N.ms=G,U.marker.size=G}y&&(U.line={width:D("line.width",q,[0,10],kK)}),R&&(N.tx="Aa",N.tp=D("textposition",q),N.ts=10,N.tc=D("textfont.color",q),N.tf=D("textfont.family",q),N.tw=D("textfont.weight",q),N.ty=D("textfont.style",q),N.tv=D("textfont.variant",q),N.tC=D("textfont.textcase",q),N.tE=D("textfont.lineposition",q),N.tS=D("textfont.shadow",q)),I=[pl.minExtend(C,N)],P=pl.minExtend(L,U),P.selectedpoints=null,P.texttemplate=null}var ee=Fl.select(this).select("g.legendpoints"),Q=ee.selectAll("path.scatterpts").data(E?I:[]);Q.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform",l),Q.exit().remove(),Q.call(au.pointStyle,P,r),E&&(I[0].mrc=3);var j=ee.selectAll("g.pointtext").data(R?I:[]);j.enter().append("g").classed("pointtext",!0).append("text").attr("transform",l),j.exit().remove(),j.selectAll("text").call(au.textPointStyle,P,r)}function h(M){var A=M[0].trace,p=A.type==="waterfall";if(M[0]._distinct&&p){var S=M[0].trace[M[0].dir].marker;return M[0].mc=S.color,M[0].mlw=S.line.width,M[0].mlc=S.line.color,m(M,this,"waterfall")}var y=[];A.visible&&p&&(y=M[0].hasTotals?[["increasing","M-6,-6V6H0Z"],["totals","M6,6H0L-6,-6H-0Z"],["decreasing","M6,6V-6H0Z"]]:[["increasing","M-6,-6V6H6Z"],["decreasing","M6,6V-6H-6Z"]]);var E=Fl.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(y);E.enter().append("path").classed("legendwaterfall",!0).attr("transform",l).style("stroke-miterlimit",1),E.exit().remove(),E.each(function(C){var L=Fl.select(this),R=A[C[0]].marker,I=u(void 0,R.line,Z1,sg);L.attr("d",C[1]).style("stroke-width",I+"px").call(rc.fill,R.color),I&&L.call(rc.stroke,R.line.color)})}function d(M){m(M,this)}function v(M){m(M,this,"funnel")}function m(M,A,p){var S=M[0].trace,y=S.marker||{},E=y.line||{},C=y.cornerradius?"M6,3a3,3,0,0,1-3,3H-3a3,3,0,0,1-3-3V-3a3,3,0,0,1,3-3H3a3,3,0,0,1,3,3Z":"M6,6H-6V-6H6Z",L=p?S.visible&&S.type===p:kD.traceIs(S,"bar"),R=Fl.select(A).select("g.legendpoints").selectAll("path.legend"+p).data(L?[M]:[]);R.enter().append("path").classed("legend"+p,!0).attr("d",C).attr("transform",l),R.exit().remove(),R.each(function(I){var P=Fl.select(this),D=I[0],q=u(D.mlw,y.line,Z1,sg);P.style("stroke-width",q+"px");var N=D.mcc;if(!n._inHover&&"mc"in D){var U=SD(y),G=U.mid;G===void 0&&(G=(U.max+U.min)/2),N=au.tryColorscale(y,"")(G)}var ee=N||D.mc||y.color,Q=y.pattern,j=Q&&au.getPatternAttr(Q.shape,0,"");if(j){var O=au.getPatternAttr(Q.bgcolor,0,null),Z=au.getPatternAttr(Q.fgcolor,0,null),K=Q.fgopacity,$=CK(Q.size,8,10),oe=CK(Q.solidity,.5,1),te="legend-"+S.uid;P.call(au.pattern,"legend",r,te,j,$,oe,N,Q.fillmode,O,Z,K)}else P.call(rc.fill,ee);q&&rc.stroke(P,D.mlc||E.color)})}function b(M){var A=M[0].trace,p=Fl.select(this).select("g.legendpoints").selectAll("path.legendbox").data(A.visible&&kD.traceIs(A,"box-violin")?[M]:[]);p.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform",l),p.exit().remove(),p.each(function(){var S=Fl.select(this);if((A.boxpoints==="all"||A.points==="all")&&rc.opacity(A.fillcolor)===0&&rc.opacity((A.line||{}).color)===0){var y=pl.minExtend(A,{marker:{size:a?MK:pl.constrain(A.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});p.call(au.pointStyle,y,r)}else{var E=u(void 0,A.line,Z1,sg);S.style("stroke-width",E+"px").call(rc.fill,A.fillcolor),E&&rc.stroke(S,A.line.color)}})}function g(M){var A=M[0].trace,p=Fl.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(A.visible&&A.type==="candlestick"?[M,M]:[]);p.enter().append("path").classed("legendcandle",!0).attr("d",function(S,y){return y?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"}).attr("transform",l).style("stroke-miterlimit",1),p.exit().remove(),p.each(function(S,y){var E=Fl.select(this),C=A[y?"increasing":"decreasing"],L=u(void 0,C.line,Z1,sg);E.style("stroke-width",L+"px").call(rc.fill,C.fillcolor),L&&rc.stroke(E,C.line.color)})}function _(M){var A=M[0].trace,p=Fl.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(A.visible&&A.type==="ohlc"?[M,M]:[]);p.enter().append("path").classed("legendohlc",!0).attr("d",function(S,y){return y?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"}).attr("transform",l).style("stroke-miterlimit",1),p.exit().remove(),p.each(function(S,y){var E=Fl.select(this),C=A[y?"increasing":"decreasing"],L=u(void 0,C.line,Z1,sg);E.style("fill","none").call(au.dashLine,C.line.dash,L),L&&rc.stroke(E,C.line.color)})}function T(M){k(M,this,"pie")}function w(M){k(M,this,"funnelarea")}function k(M,A,p){var S=M[0],y=S.trace,E=p?y.visible&&y.type===p:kD.traceIs(y,p),C=Fl.select(A).select("g.legendpoints").selectAll("path.legend"+p).data(E?[M]:[]);if(C.enter().append("path").classed("legend"+p,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",l),C.exit().remove(),C.size()){var L=y.marker||{},R=u(fJe(L.line.width,S.pts),L.line,Z1,sg),I="pieLike",P=pl.minExtend(y,{marker:{line:{width:R}}},I),D=pl.minExtend(S,{trace:P},I);uJe(C,D,P,r)}}function x(M){var A=M[0].trace,p,S=[];if(A.visible)switch(A.type){case"histogram2d":case"heatmap":S=[["M-15,-2V4H15V-2Z"]],p=!0;break;case"choropleth":case"choroplethmapbox":S=[["M-6,-6V6H6V-6Z"]],p=!0;break;case"densitymapbox":S=[["M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"]],p="radial";break;case"cone":S=[["M-6,2 A2,2 0 0,0 -6,6 V6L6,4Z"],["M-6,-6 A2,2 0 0,0 -6,-2 L6,-4Z"],["M-6,-2 A2,2 0 0,0 -6,2 L6,0Z"]],p=!1;break;case"streamtube":S=[["M-6,2 A2,2 0 0,0 -6,6 H6 A2,2 0 0,1 6,2 Z"],["M-6,-6 A2,2 0 0,0 -6,-2 H6 A2,2 0 0,1 6,-6 Z"],["M-6,-2 A2,2 0 0,0 -6,2 H6 A2,2 0 0,1 6,-2 Z"]],p=!1;break;case"surface":S=[["M-6,-6 A2,3 0 0,0 -6,0 H6 A2,3 0 0,1 6,-6 Z"],["M-6,1 A2,3 0 0,1 -6,6 H6 A2,3 0 0,0 6,0 Z"]],p=!0;break;case"mesh3d":S=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],p=!1;break;case"volume":S=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],p=!0;break;case"isosurface":S=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6 A12,24 0 0,0 6,-6 L0,6Z"]],p=!1;break}var y=Fl.select(this).select("g.legendpoints").selectAll("path.legend3dandfriends").data(S);y.enter().append("path").classed("legend3dandfriends",!0).attr("transform",l).style("stroke-miterlimit",1),y.exit().remove(),y.each(function(E,C){var L=Fl.select(this),R=SD(A),I=R.colorscale,P=R.reversescale,D=function(G){if(G.size()){var ee="legendfill-"+A.uid;au.gradient(G,r,ee,CD(P,p==="radial"),I,"fill")}},q;if(I){if(!p){var U=I.length;q=C===0?I[P?U-1:0][1]:C===1?I[P?0:U-1][1]:I[Math.floor((U-1)/2)][1]}}else{var N=A.vertexcolor||A.facecolor||A.color;q=pl.isArrayOrTypedArray(N)?N[C]||N[0]:N}L.attr("d",E[0]),q?L.call(rc.fill,q):L.call(D)})}};function CD(e,t){var r=t?"radial":"horizontal";return r+(e?"":"reversed")}function SK(e){var t=e[0].trace,r=t.contours,n=zA.hasLines(t),i=zA.hasMarkers(t),a=t.visible&&t.fill&&t.fill!=="none",o=!1,s=!1;if(r){var l=r.coloring;l==="lines"?o=!0:n=l==="none"||l==="heatmap"||r.showlines,r.type==="constraint"?a=r._operation!=="=":(l==="fill"||l==="heatmap")&&(s=!0)}return{showMarker:i,showLine:n,showFill:a,showGradientLine:o,showGradientFill:s,anyLine:n||o,anyFill:a||s}}function CK(e,t,r){return e&&pl.isArrayOrTypedArray(e)?t:e>r?r:e}});var PD=J((uRt,OK)=>{"use strict";var Hu=Nr(),po=gt(),DD=ea(),m0=zr(),LK=P1(),LD=iu(),Ro=ln(),OA=qr(),lg=ca(),DK=vK(),Yo=AD(),RD=Vo(),zK=RD.LINE_SPACING,$1=RD.FROM_TL,RK=RD.FROM_BR,PK=mK(),vJe=ED(),IK=IA(),J1=1,dJe=/^legend[0-9]*$/;OK.exports=function(t,r){if(r)qK(t,r);else{var n=t._fullLayout,i=n._legends,a=n._infolayer.selectAll('[class^="legend"]');a.each(function(){var u=Hu.select(this),f=u.attr("class"),c=f.split(" ")[0];c.match(dJe)&&i.indexOf(c)===-1&&u.remove()});for(var o=0;o<i.length;o++){var s=i[o],l=t._fullLayout[s];qK(t,l)}}};function pJe(e,t,r){if(!(t.title.side!=="top center"&&t.title.side!=="top right")){var n=t.title.font,i=n.size*zK,a=0,o=e.node(),s=Ro.bBox(o).width;t.title.side==="top center"?a=.5*(t._width-2*r-2*Yo.titlePad-s):t.title.side==="top right"&&(a=t._width-2*r-2*Yo.titlePad-s),lg.positionText(e,r+Yo.titlePad+a,r+i)}}function qK(e,t){var r=t||{},n=e._fullLayout,i=jA(r),a,o,s=r._inHover;if(s?(o=r.layer,a="hover"):(o=n._infolayer,a=i),!!o){a+=n._uid,e._legendMouseDownTime||(e._legendMouseDownTime=0);var l;if(s){if(!r.entries)return;l=PK(r.entries,r)}else{for(var u=(e.calcdata||[]).slice(),f=n.shapes,c=0;c<f.length;c++){var h=f[c];if(h.showlegend){var d={_isShape:!0,_fullInput:h,index:h._index,name:h.name||h.label.text||"shape "+h._index,legend:h.legend,legendgroup:h.legendgroup,legendgrouptitle:h.legendgrouptitle,legendrank:h.legendrank,legendwidth:h.legendwidth,showlegend:h.showlegend,visible:h.visible,opacity:h.opacity,mode:h.type==="line"?"lines":"markers",line:h.line,marker:{line:h.line,color:h.fillcolor,size:12,symbol:h.type==="rect"?"square":h.type==="circle"?"circle":"hexagon2"}};u.push([{trace:d}])}}l=n.showlegend&&PK(u,r,n._legends.length>1)}var v=n.hiddenlabels||[];if(!s&&(!n.showlegend||!l.length))return o.selectAll("."+i).remove(),n._topdefs.select("#"+a).remove(),DD.autoMargin(e,i);var m=po.ensureSingle(o,"g",i,function(A){s||A.attr("pointer-events","all")}),b=po.ensureSingleById(n._topdefs,"clipPath",a,function(A){A.append("rect")}),g=po.ensureSingle(m,"rect","bg",function(A){A.attr("shape-rendering","crispEdges")});g.call(OA.stroke,r.bordercolor).call(OA.fill,r.bgcolor).style("stroke-width",r.borderwidth+"px");var _=po.ensureSingle(m,"g","scrollbox"),T=r.title;r._titleWidth=0,r._titleHeight=0;var w;T.text?(w=po.ensureSingle(_,"text",i+"titletext"),w.attr("text-anchor","start").call(Ro.font,T.font).text(T.text),BA(w,_,e,r,J1)):_.selectAll("."+i+"titletext").remove();var k=po.ensureSingle(m,"rect","scrollbar",function(A){A.attr(Yo.scrollBarEnterAttrs).call(OA.fill,Yo.scrollBarColor)}),x=_.selectAll("g.groups").data(l);x.enter().append("g").attr("class","groups"),x.exit().remove();var M=x.selectAll("g.traces").data(po.identity);M.enter().append("g").attr("class","traces"),M.exit().remove(),M.style("opacity",function(A){var p=A[0].trace;return m0.traceIs(p,"pie-like")?v.indexOf(A[0].label)!==-1?.5:1:p.visible==="legendonly"?.5:1}).each(function(){Hu.select(this).call(gJe,e,r)}).call(vJe,e,r).each(function(){s||Hu.select(this).call(mJe,e,i)}),po.syncOrAsync([DD.previousPromises,function(){return bJe(e,x,M,r)},function(){var A=n._size,p=r.borderwidth,S=r.xref==="paper",y=r.yref==="paper";if(T.text&&pJe(w,r,p),!s){var E,C;S?E=A.l+A.w*r.x-$1[UA(r)]*r._width:E=n.width*r.x-$1[UA(r)]*r._width,y?C=A.t+A.h*(1-r.y)-$1[HA(r)]*r._effHeight:C=n.height*(1-r.y)-$1[HA(r)]*r._effHeight;var L=wJe(e,i,E,C);if(L)return;if(n.margin.autoexpand){var R=E,I=C;E=S?po.constrain(E,0,n.width-r._width):R,C=y?po.constrain(C,0,n.height-r._effHeight):I,E!==R&&po.log("Constrain "+i+".x to make legend fit inside graph"),C!==I&&po.log("Constrain "+i+".y to make legend fit inside graph")}Ro.setTranslate(m,E,C)}if(k.on(".drag",null),m.on("wheel",null),s||r._height<=r._maxHeight||e._context.staticPlot){var P=r._effHeight;s&&(P=r._height),g.attr({width:r._width-p,height:P-p,x:p/2,y:p/2}),Ro.setTranslate(_,0,0),b.select("rect").attr({width:r._width-2*p,height:P-2*p,x:p,y:p}),Ro.setClipUrl(_,a,e),Ro.setRect(k,0,0,0,0),delete r._scrollY}else{var D=Math.max(Yo.scrollBarMinHeight,r._effHeight*r._effHeight/r._height),q=r._effHeight-D-2*Yo.scrollBarMargin,N=r._height-r._effHeight,U=q/N,G=Math.min(r._scrollY||0,N);g.attr({width:r._width-2*p+Yo.scrollBarWidth+Yo.scrollBarMargin,height:r._effHeight-p,x:p/2,y:p/2}),b.select("rect").attr({width:r._width-2*p+Yo.scrollBarWidth+Yo.scrollBarMargin,height:r._effHeight-2*p,x:p,y:p+G}),Ro.setClipUrl(_,a,e),oe(G,D,U),m.on("wheel",function(){G=po.constrain(r._scrollY+Hu.event.deltaY/q*N,0,N),oe(G,D,U),G!==0&&G!==N&&Hu.event.preventDefault()});var ee,Q,j,O=function(fe,ge,Ce){var Ne=(Ce-ge)/U+fe;return po.constrain(Ne,0,N)},Z=function(fe,ge,Ce){var Ne=(ge-Ce)/U+fe;return po.constrain(Ne,0,N)},K=Hu.behavior.drag().on("dragstart",function(){var fe=Hu.event.sourceEvent;fe.type==="touchstart"?ee=fe.changedTouches[0].clientY:ee=fe.clientY,j=G}).on("drag",function(){var fe=Hu.event.sourceEvent;fe.buttons===2||fe.ctrlKey||(fe.type==="touchmove"?Q=fe.changedTouches[0].clientY:Q=fe.clientY,G=O(j,ee,Q),oe(G,D,U))});k.call(K);var $=Hu.behavior.drag().on("dragstart",function(){var fe=Hu.event.sourceEvent;fe.type==="touchstart"&&(ee=fe.changedTouches[0].clientY,j=G)}).on("drag",function(){var fe=Hu.event.sourceEvent;fe.type==="touchmove"&&(Q=fe.changedTouches[0].clientY,G=Z(j,ee,Q),oe(G,D,U))});_.call($)}function oe(fe,ge,Ce){r._scrollY=e._fullLayout[i]._scrollY=fe,Ro.setTranslate(_,0,-fe),Ro.setRect(k,r._width,Yo.scrollBarMargin+fe*Ce,Yo.scrollBarWidth,ge),b.select("rect").attr("y",p+fe)}if(e._context.edits.legendPosition){var te,V,ne,W;m.classed("cursor-move",!0),LD.init({element:m.node(),gd:e,prepFn:function(fe){if(fe.target!==k.node()){var ge=Ro.getTranslate(m);ne=ge.x,W=ge.y}},moveFn:function(fe,ge){if(ne!==void 0&&W!==void 0){var Ce=ne+fe,Ne=W+ge;Ro.setTranslate(m,Ce,Ne),te=LD.align(Ce,r._width,A.l,A.l+A.w,r.xanchor),V=LD.align(Ne+r._height,-r._height,A.t+A.h,A.t,r.yanchor)}},doneFn:function(){if(te!==void 0&&V!==void 0){var fe={};fe[i+".x"]=te,fe[i+".y"]=V,m0.call("_guiRelayout",e,fe)}},clickFn:function(fe,ge){var Ce=o.selectAll("g.traces").filter(function(){var Ne=this.getBoundingClientRect();return ge.clientX>=Ne.left&&ge.clientX<=Ne.right&&ge.clientY>=Ne.top&&ge.clientY<=Ne.bottom});Ce.size()>0&&NK(e,m,Ce,fe,ge)}})}}],e)}}function NA(e,t,r){var n=e[0],i=n.width,a=t.entrywidthmode,o=n.trace.legendwidth||t.entrywidth;return a==="fraction"?t._maxWidth*o:r+(o||i)}function NK(e,t,r,n,i){var a=r.data()[0][0].trace,o={event:i,node:r.node(),curveNumber:a.index,expandedIndex:a._expandedIndex,data:e.data,layout:e.layout,frames:e._transitionData._frames,config:e._context,fullData:e._fullData,fullLayout:e._fullLayout};a._group&&(o.group=a._group),m0.traceIs(a,"pie-like")&&(o.label=r.datum()[0].label);var s=LK.triggerHandler(e,"plotly_legendclick",o);if(n===1){if(s===!1)return;t._clickTimeout=setTimeout(function(){e._fullLayout&&DK(r,e,n)},e._context.doubleClickDelay)}else if(n===2){t._clickTimeout&&clearTimeout(t._clickTimeout),e._legendMouseDownTime=0;var l=LK.triggerHandler(e,"plotly_legenddoubleclick",o);l!==!1&&s!==!1&&DK(r,e,n)}}function gJe(e,t,r){var n=jA(r),i=e.data()[0][0],a=i.trace,o=m0.traceIs(a,"pie-like"),s=!r._inHover&&t._context.edits.legendText&&!o,l=r._maxNameLength,u,f;i.groupTitle?(u=i.groupTitle.text,f=i.groupTitle.font):(f=r.font,r.entries?u=i.text:(u=o?i.label:a.name,a._meta&&(u=po.templateString(u,a._meta))));var c=po.ensureSingle(e,"text",n+"text");c.attr("text-anchor","start").call(Ro.font,f).text(s?FK(u,l):u);var h=r.indentation+r.itemwidth+Yo.itemGap*2;lg.positionText(c,h,0),s?c.call(lg.makeEditable,{gd:t,text:u}).call(BA,e,t,r).on("edit",function(d){this.text(FK(d,l)).call(BA,e,t,r);var v=i.trace._fullInput||{},m={};if(m0.hasTransform(v,"groupby")){var b=m0.getTransformIndices(v,"groupby"),g=b[b.length-1],_=po.keyedContainer(v,"transforms["+g+"].styles","target","value.name");_.set(i.trace._group,d),m=_.constructUpdate()}else m.name=d;return v._isShape?m0.call("_guiRelayout",t,"shapes["+a.index+"].name",m.name):m0.call("_guiRestyle",t,m,a.index)}):BA(c,e,t,r)}function FK(e,t){var r=Math.max(4,t);if(e&&e.trim().length>=r/2)return e;e=e||"";for(var n=r-e.length;n>0;n--)e+=" ";return e}function mJe(e,t,r){var n=t._context.doubleClickDelay,i,a=1,o=po.ensureSingle(e,"rect",r+"toggle",function(s){t._context.staticPlot||s.style("cursor","pointer").attr("pointer-events","all"),s.call(OA.fill,"rgba(0,0,0,0)")});t._context.staticPlot||(o.on("mousedown",function(){i=new Date().getTime(),i-t._legendMouseDownTime<n?a+=1:(a=1,t._legendMouseDownTime=i)}),o.on("mouseup",function(){if(!(t._dragged||t._editing)){var s=t._fullLayout[r];new Date().getTime()-t._legendMouseDownTime>n&&(a=Math.max(a-1,1)),NK(t,s,e,a,Hu.event)}}))}function BA(e,t,r,n,i){n._inHover&&e.attr("data-notex",!0),lg.convertToTspans(e,r,function(){yJe(t,r,n,i)})}function yJe(e,t,r,n){var i=e.data()[0][0];if(!r._inHover&&i&&!i.trace.showlegend){e.remove();return}var a=e.select("g[class*=math-group]"),o=a.node(),s=jA(r);r||(r=t._fullLayout[s]);var l=r.borderwidth,u;n===J1?u=r.title.font:i.groupTitle?u=i.groupTitle.font:u=r.font;var f=u.size*zK,c,h;if(o){var d=Ro.bBox(o);c=d.height,h=d.width,n===J1?Ro.setTranslate(a,l,l+c*.75):Ro.setTranslate(a,0,c*.25)}else{var v="."+s+(n===J1?"title":"")+"text",m=e.select(v),b=lg.lineCount(m),g=m.node();if(c=f*b,h=g?Ro.bBox(g).width:0,n===J1)r.title.side==="left"&&(h+=Yo.itemGap*2),lg.positionText(m,l+Yo.titlePad,l+f);else{var _=Yo.itemGap*2+r.indentation+r.itemwidth;i.groupTitle&&(_=Yo.itemGap,h-=r.indentation+r.itemwidth),lg.positionText(m,_,-f*((b-1)/2-.3))}}n===J1?(r._titleWidth=h,r._titleHeight=c):(i.lineHeight=f,i.height=Math.max(c,16)+3,i.width=h)}function xJe(e){var t=0,r=0,n=e.title.side;return n&&(n.indexOf("left")!==-1&&(t=e._titleWidth),n.indexOf("top")!==-1&&(r=e._titleHeight)),[t,r]}function bJe(e,t,r,n){var i=e._fullLayout,a=jA(n);n||(n=i[a]);var o=i._size,s=IK.isVertical(n),l=IK.isGrouped(n),u=n.entrywidthmode==="fraction",f=n.borderwidth,c=2*f,h=Yo.itemGap,d=n.indentation+n.itemwidth+h*2,v=2*(f+h),m=HA(n),b=n.y<0||n.y===0&&m==="top",g=n.y>1||n.y===1&&m==="bottom",_=n.tracegroupgap,T={};n._maxHeight=Math.max(b||g?i.height/2:o.h,30);var w=0;n._width=0,n._height=0;var k=xJe(n);if(s)r.each(function(j){var O=j[0].height;Ro.setTranslate(this,f+k[0],f+k[1]+n._height+O/2+h),n._height+=O,n._width=Math.max(n._width,j[0].width)}),w=d+n._width,n._width+=h+d+c,n._height+=v,l&&(t.each(function(j,O){Ro.setTranslate(this,0,O*n.tracegroupgap)}),n._height+=(n._lgroupsLength-1)*n.tracegroupgap);else{var x=UA(n),M=n.x<0||n.x===0&&x==="right",A=n.x>1||n.x===1&&x==="left",p=g||b,S=i.width/2;n._maxWidth=Math.max(M?p&&x==="left"?o.l+o.w:S:A?p&&x==="right"?o.r+o.w:S:o.w,2*d);var y=0,E=0;r.each(function(j){var O=NA(j,n,d);y=Math.max(y,O),E+=O}),w=null;var C=0;if(l){var L=0,R=0,I=0;t.each(function(){var j=0,O=0;Hu.select(this).selectAll("g.traces").each(function(K){var $=NA(K,n,d),oe=K[0].height;Ro.setTranslate(this,k[0],k[1]+f+h+oe/2+O),O+=oe,j=Math.max(j,$),T[K[0].trace.legendgroup]=j});var Z=j+h;R>0&&Z+f+R>n._maxWidth?(C=Math.max(C,R),R=0,I+=L+_,L=O):L=Math.max(L,O),Ro.setTranslate(this,R,I),R+=Z}),n._width=Math.max(C,R)+f,n._height=I+L+v}else{var P=r.size(),D=E+c+(P-1)*h<n._maxWidth,q=0,N=0,U=0,G=0;r.each(function(j){var O=j[0].height,Z=NA(j,n,d,l),K=D?Z:y;u||(K+=h),K+f+N-h>=n._maxWidth&&(C=Math.max(C,G),N=0,U+=q,n._height+=q,q=0),Ro.setTranslate(this,k[0]+f+N,k[1]+f+U+O/2+h),G=N+Z+h,N+=K,q=Math.max(q,O)}),D?(n._width=N+c,n._height=q+v):(n._width=Math.max(C,G)+c,n._height+=q+v)}}n._width=Math.ceil(Math.max(n._width+k[0],n._titleWidth+2*(f+Yo.titlePad))),n._height=Math.ceil(Math.max(n._height+k[1],n._titleHeight+2*(f+Yo.itemGap))),n._effHeight=Math.min(n._height,n._maxHeight);var ee=e._context.edits,Q=ee.legendText||ee.legendPosition;r.each(function(j){var O=Hu.select(this).select("."+a+"toggle"),Z=j[0].height,K=j[0].trace.legendgroup,$=NA(j,n,d);l&&K!==""&&($=T[K]);var oe=Q?d:w||$;!s&&!u&&(oe+=h/2),Ro.setRect(O,0,-Z/2,oe,Z)})}function wJe(e,t,r,n){var i=e._fullLayout,a=i[t],o=UA(a),s=HA(a),l=a.xref==="paper",u=a.yref==="paper";e._fullLayout._reservedMargin[t]={};var f=a.y<.5?"b":"t",c=a.x<.5?"l":"r",h={r:i.width-r,l:r+a._width,b:i.height-n,t:n+a._effHeight};if(l&&u)return DD.autoMargin(e,t,{x:a.x,y:a.y,l:a._width*$1[o],r:a._width*RK[o],b:a._effHeight*RK[s],t:a._effHeight*$1[s]});l?e._fullLayout._reservedMargin[t][f]=h[f]:u||a.orientation==="v"?e._fullLayout._reservedMargin[t][c]=h[c]:e._fullLayout._reservedMargin[t][f]=h[f]}function UA(e){return po.isRightAnchor(e)?"right":po.isCenterAnchor(e)?"center":"left"}function HA(e){return po.isBottomAnchor(e)?"bottom":po.isMiddleAnchor(e)?"middle":"top"}function jA(e){return e._id||"legend"}});var zD=J(FD=>{"use strict";var ug=Nr(),$v=dn(),BK=ls(),eo=gt(),_Je=eo.pushUnique,ID=eo.strTranslate,TJe=eo.strRotate,AJe=P1(),nc=ca(),MJe=uK(),Kh=ln(),hs=qr(),VA=iu(),Qh=nn(),kJe=Eo().zindexSeparator,Q1=zr(),rh=Qf(),fg=zb(),SJe=_D(),CJe=PD(),XK=fg.YANGLE,qD=Math.PI*XK/180,EJe=1/Math.sin(qD),LJe=Math.cos(qD),DJe=Math.sin(qD),Ra=fg.HOVERARROWSIZE,ti=fg.HOVERTEXTPAD,UK={box:!0,ohlc:!0,violin:!0,candlestick:!0},RJe={scatter:!0,scattergl:!0,splom:!0};function HK(e,t){return e.distance-t.distance}FD.hover=function(t,r,n,i){t=eo.getGraphDiv(t);var a=r.target;eo.throttle(t._fullLayout._uid+fg.HOVERID,fg.HOVERMINTIME,function(){PJe(t,r,n,i,a)})};FD.loneHover=function(t,r){var n=!0;Array.isArray(t)||(n=!1,t=[t]);var i=r.gd,a=QK(i),o=eQ(i),s=t.map(function(b){var g=b._x0||b.x0||b.x||0,_=b._x1||b.x1||b.x||0,T=b._y0||b.y0||b.y||0,w=b._y1||b.y1||b.y||0,k=b.eventData;if(k){var x=Math.min(g,_),M=Math.max(g,_),A=Math.min(T,w),p=Math.max(T,w),S=b.trace;if(Q1.traceIs(S,"gl3d")){var y=i._fullLayout[S.scene]._scene.container,E=y.offsetLeft,C=y.offsetTop;x+=E,M+=E,A+=C,p+=C}k.bbox={x0:x+o,x1:M+o,y0:A+a,y1:p+a},r.inOut_bbox&&r.inOut_bbox.push(k.bbox)}else k=!1;return{color:b.color||hs.defaultLine,x0:b.x0||b.x||0,x1:b.x1||b.x||0,y0:b.y0||b.y||0,y1:b.y1||b.y||0,xLabel:b.xLabel,yLabel:b.yLabel,zLabel:b.zLabel,text:b.text,name:b.name,idealAlign:b.idealAlign,borderColor:b.borderColor,fontFamily:b.fontFamily,fontSize:b.fontSize,fontColor:b.fontColor,fontWeight:b.fontWeight,fontStyle:b.fontStyle,fontVariant:b.fontVariant,nameLength:b.nameLength,textAlign:b.textAlign,trace:b.trace||{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:b.hovertemplate||!1,hovertemplateLabels:b.hovertemplateLabels||!1,eventData:k}}),l=!1,u=JK(s,{gd:i,hovermode:"closest",rotateLabels:l,bgColor:r.bgColor||hs.background,container:ug.select(r.container),outerContainer:r.outerContainer||r.container}),f=u.hoverLabels,c=5,h=0,d=0;f.sort(function(b,g){return b.y0-g.y0}).each(function(b,g){var _=b.y0-b.by/2;_-c<h?b.offset=h-_+c:b.offset=0,h=_+b.by+b.offset,g===r.anchorIndex&&(d=b.offset)}).each(function(b){b.offset-=d});var v=i._fullLayout._invScaleX,m=i._fullLayout._invScaleY;return KK(f,l,v,m),n?f:f.node()};function PJe(e,t,r,n,i){r||(r="xy"),typeof r=="string"&&(r=r.split(kJe)[0]);var a=Array.isArray(r)?r:[r],o,s=e._fullLayout,l=s.hoversubplots,u=s._plots||[],f=u[r],c=s._has("cartesian"),h=t.hovermode||s.hovermode,d=(h||"").charAt(0)==="x",v=(h||"").charAt(0)==="y",m,b;if(c&&(d||v)&&l==="axis"){for(var g=a.length,_=0;_<g;_++)if(o=a[_],u[o]){m=Qh.getFromId(e,o,"x"),b=Qh.getFromId(e,o,"y");var T=(d?m:b)._subplotsWith;if(T&&T.length)for(var w=0;w<T.length;w++)_Je(a,T[w])}}if(f&&l!=="single"){var k=f.overlays.map(function(or){return or.id});a=a.concat(k)}for(var x=a.length,M=new Array(x),A=new Array(x),p=!1,S=0;S<x;S++)if(o=a[S],u[o])p=!0,M[S]=u[o].xaxis,A[S]=u[o].yaxis;else if(s[o]&&s[o]._subplot){var y=s[o]._subplot;M[S]=y.xaxis,A[S]=y.yaxis}else{eo.warn("Unrecognized subplot: "+o);return}if(h&&!p&&(h="closest"),["x","y","closest","x unified","y unified"].indexOf(h)===-1||!e.calcdata||e.querySelector(".zoombox")||e._dragging)return VA.unhoverRaw(e,t);var E=s.hoverdistance;E===-1&&(E=1/0);var C=s.spikedistance;C===-1&&(C=1/0);var L=[],R=[],I,P,D,q,N,U,G,ee,Q,j,O,Z,K,$={hLinePoint:null,vLinePoint:null},oe=!1;if(Array.isArray(t))for(h="array",D=0;D<t.length;D++)N=e.calcdata[t[D].curveNumber||0],N&&(U=N[0].trace,N[0].trace.hoverinfo!=="skip"&&(R.push(N),U.orientation==="h"&&(oe=!0)));else{var te=e.calcdata.slice();for(te.sort(function(or,tn){var Lr=or[0].trace.zorder||0,Gr=tn[0].trace.zorder||0;return Lr-Gr}),q=0;q<te.length;q++)N=te[q],U=N[0].trace,U.hoverinfo!=="skip"&&rh.isTraceInSubplots(U,a)&&(R.push(N),U.orientation==="h"&&(oe=!0));var V=!i,ne,W;if(V)"xpx"in t?ne=t.xpx:ne=M[0]._length/2,"ypx"in t?W=t.ypx:W=A[0]._length/2;else{if(AJe.triggerHandler(e,"plotly_beforehover",t)===!1)return;var fe=i.getBoundingClientRect();ne=t.clientX-fe.left,W=t.clientY-fe.top,s._calcInverseTransform(e);var ge=eo.apply3DTransform(s._invTransform)(ne,W);if(ne=ge[0],W=ge[1],ne<0||ne>M[0]._length||W<0||W>A[0]._length)return VA.unhoverRaw(e,t)}if(t.pointerX=ne+M[0]._offset,t.pointerY=W+A[0]._offset,"xval"in t?I=rh.flat(a,t.xval):I=rh.p2c(M,ne),"yval"in t?P=rh.flat(a,t.yval):P=rh.p2c(A,W),!$v(I[0])||!$v(P[0]))return eo.warn("Fx.hover failed",t,e),VA.unhoverRaw(e,t)}var Ce=1/0;function Ne(or,tn){for(q=0;q<R.length;q++)if(N=R[q],!(!N||!N[0]||!N[0].trace)&&(U=N[0].trace,!(U.visible!==!0||U._length===0)&&["carpet","contourcarpet"].indexOf(U._module.name)===-1)){if(Q=h,rh.isUnifiedHover(Q)&&(Q=Q.charAt(0)),U.type==="splom"?(ee=0,G=a[ee]):(G=rh.getSubplot(U),ee=a.indexOf(G)),Z={cd:N,trace:U,xa:M[ee],ya:A[ee],maxHoverDistance:E,maxSpikeDistance:C,index:!1,distance:Math.min(Ce,E),spikeDistance:1/0,xSpike:void 0,ySpike:void 0,color:hs.defaultLine,name:U.name,x0:void 0,x1:void 0,y0:void 0,y1:void 0,xLabelVal:void 0,yLabelVal:void 0,zLabelVal:void 0,text:void 0},s[G]&&(Z.subplot=s[G]._subplot),s._splomScenes&&s._splomScenes[U.uid]&&(Z.scene=s._splomScenes[U.uid]),Q==="array"){var Lr=t[q];"pointNumber"in Lr?(Z.index=Lr.pointNumber,Q="closest"):(Q="","xval"in Lr&&(j=Lr.xval,Q="x"),"yval"in Lr&&(O=Lr.yval,Q=Q?"closest":"y"))}else or!==void 0&&tn!==void 0?(j=or,O=tn):(j=I[ee],O=P[ee]);if(K=L.length,E!==0)if(U._module&&U._module.hoverPoints){var Gr=U._module.hoverPoints(Z,j,O,Q,{finiteRange:!0,hoverLayer:s._hoverlayer,hoversubplots:l,gd:e});if(Gr)for(var sn,Hr=0;Hr<Gr.length;Hr++)sn=Gr[Hr],$v(sn.x0)&&$v(sn.y0)&&L.push(zJe(sn,h))}else eo.log("Unrecognized trace type in hover:",U);if(h==="closest"&&L.length>K&&(L.splice(0,K),Ce=L[0].distance),c&&C!==0&&L.length===0){Z.distance=C,Z.index=!1;var Br=U._module.hoverPoints(Z,j,O,"closest",{hoverLayer:s._hoverlayer});if(Br&&(Br=Br.filter(function(wn){return wn.spikeDistance<=C})),Br&&Br.length){var qn,kn=Br.filter(function(wn){return wn.xa.showspikes&&wn.xa.spikesnap!=="hovered data"});if(kn.length){var Yn=kn[0];$v(Yn.x0)&&$v(Yn.y0)&&(qn=me(Yn),(!$.vLinePoint||$.vLinePoint.spikeDistance>qn.spikeDistance)&&($.vLinePoint=qn))}var Wn=Br.filter(function(wn){return wn.ya.showspikes&&wn.ya.spikesnap!=="hovered data"});if(Wn.length){var Fn=Wn[0];$v(Fn.x0)&&$v(Fn.y0)&&(qn=me(Fn),(!$.hLinePoint||$.hLinePoint.spikeDistance>qn.spikeDistance)&&($.hLinePoint=qn))}}}}}Ne();function pe(or,tn,Lr){for(var Gr=null,sn=1/0,Hr,Br=0;Br<or.length;Br++)m&&m._id!==or[Br].xa._id||b&&b._id!==or[Br].ya._id||(Hr=or[Br].spikeDistance,Lr&&Br===0&&(Hr=-1/0),Hr<=sn&&Hr<=tn&&(Gr=or[Br],sn=Hr));return Gr}function me(or){return or?{xa:or.xa,ya:or.ya,x:or.xSpike!==void 0?or.xSpike:(or.x0+or.x1)/2,y:or.ySpike!==void 0?or.ySpike:(or.y0+or.y1)/2,distance:or.distance,spikeDistance:or.spikeDistance,curveNumber:or.trace.index,color:or.color,pointNumber:or.index}:null}var Ie={fullLayout:s,container:s._hoverlayer,event:t},Re=e._spikepoints,ze={vLinePoint:$.vLinePoint,hLinePoint:$.hLinePoint};e._spikepoints=ze;var Be=function(){var or=L.filter(function(Lr){return m&&m._id===Lr.xa._id&&b&&b._id===Lr.ya._id}),tn=L.filter(function(Lr){return!(m&&m._id===Lr.xa._id&&b&&b._id===Lr.ya._id)});or.sort(HK),tn.sort(HK),L=or.concat(tn),L=OJe(L,h)};Be();var tt=h.charAt(0),rt=(tt==="x"||tt==="y")&&L[0]&&RJe[L[0].trace.type];if(c&&C!==0&&L.length!==0){var ce=L.filter(function(or){return or.ya.showspikes}),Ee=pe(ce,C,rt);$.hLinePoint=me(Ee);var Ae=L.filter(function(or){return or.xa.showspikes}),Pe=pe(Ae,C,rt);$.vLinePoint=me(Pe)}if(L.length===0){var He=VA.unhoverRaw(e,t);return c&&($.hLinePoint!==null||$.vLinePoint!==null)&&YK(Re)&&VK(e,$,Ie),He}if(c&&YK(Re)&&VK(e,$,Ie),rh.isXYhover(Q)&&L[0].length!==0&&L[0].trace.type!=="splom"){var Fe=L[0];UK[Fe.trace.type]?L=L.filter(function(or){return or.trace.index===Fe.trace.index}):L=[Fe];var ke=L.length,Ue=WK("x",Fe,s),Ge=WK("y",Fe,s);Ne(Ue,Ge);var lt=[],it={},wt=0,_t=function(or){var tn=UK[or.trace.type]?ZK(or):or.trace.index;if(!it[tn])wt++,it[tn]=wt,lt.push(or);else{var Lr=it[tn]-1,Gr=lt[Lr];Lr>0&&Math.abs(or.distance)<Math.abs(Gr.distance)&&(lt[Lr]=or)}},Tt;for(Tt=0;Tt<ke;Tt++)_t(L[Tt]);for(Tt=L.length-1;Tt>ke-1;Tt--)_t(L[Tt]);L=lt,Be()}var nt=e._hoverdata,bt=[],At=QK(e),Ye=eQ(e);for(D=0;D<L.length;D++){var je=L[D],$e=rh.makeEventData(je,je.trace,je.cd);if(je.hovertemplate!==!1){var ve=!1;je.cd[je.index]&&je.cd[je.index].ht&&(ve=je.cd[je.index].ht),je.hovertemplate=ve||je.trace.hovertemplate||!1}if(je.xa&&je.ya){var Y=je.x0+je.xa._offset,ie=je.x1+je.xa._offset,Te=je.y0+je.ya._offset,Ve=je.y1+je.ya._offset,at=Math.min(Y,ie),ft=Math.max(Y,ie),Ht=Math.min(Te,Ve),Xt=Math.max(Te,Ve);$e.bbox={x0:at+Ye,x1:ft+Ye,y0:Ht+At,y1:Xt+At}}je.eventData=[$e],bt.push($e)}e._hoverdata=bt;var St=h==="y"&&(R.length>1||L.length>1)||h==="closest"&&oe&&L.length>1,Vt=hs.combine(s.plot_bgcolor||hs.background,s.paper_bgcolor),er=JK(L,{gd:e,hovermode:h,rotateLabels:St,bgColor:Vt,container:s._hoverlayer,outerContainer:s._paper.node(),commonLabelOpts:s.hoverlabel,hoverdistance:s.hoverdistance}),_r=er.hoverLabels;if(rh.isUnifiedHover(h)||(qJe(_r,St,s,er.commonLabelBoundingBox),KK(_r,St,s._invScaleX,s._invScaleY)),i&&i.tagName){var br=Q1.getComponentMethod("annotations","hasClickToShow")(e,bt);MJe(ug.select(i),br?"pointer":"")}!i||n||!NJe(e,t,nt)||(nt&&e.emit("plotly_unhover",{event:t,points:nt}),e.emit("plotly_hover",{event:t,points:e._hoverdata,xaxes:M,yaxes:A,xvals:I,yvals:P}))}function ZK(e){return[e.trace.index,e.index,e.x0,e.y0,e.name,e.attr,e.xa?e.xa._id:"",e.ya?e.ya._id:""].join(",")}var IJe=/<extra>([\s\S]*)<\/extra>/;function JK(e,t){var r=t.gd,n=r._fullLayout,i=t.hovermode,a=t.rotateLabels,o=t.bgColor,s=t.container,l=t.outerContainer,u=t.commonLabelOpts||{};if(e.length===0)return[[]];var f=t.fontFamily||fg.HOVERFONT,c=t.fontSize||fg.HOVERFONTSIZE,h=t.fontWeight||n.font.weight,d=t.fontStyle||n.font.style,v=t.fontVariant||n.font.variant,m=t.fontTextcase||n.font.textcase,b=t.fontLineposition||n.font.lineposition,g=t.fontShadow||n.font.shadow,_=e[0],T=_.xa,w=_.ya,k=i.charAt(0),x=k+"Label",M=_[x];if(M===void 0&&T.type==="multicategory")for(var A=0;A<e.length&&(M=e[A][x],M===void 0);A++);var p=K1(r,l),S=p.top,y=p.width,E=p.height,C=M!==void 0&&_.distance<=t.hoverdistance&&(i==="x"||i==="y");if(C){var L=!0,R,I;for(R=0;R<e.length;R++)if(L&&e[R].zLabel===void 0&&(L=!1),I=e[R].hoverinfo||e[R].trace.hoverinfo,I){var P=Array.isArray(I)?I:I.split("+");if(P.indexOf("all")===-1&&P.indexOf(i)===-1){C=!1;break}}L&&(C=!1)}var D=s.selectAll("g.axistext").data(C?[0]:[]);D.enter().append("g").classed("axistext",!0),D.exit().remove();var q={minX:0,maxX:0,minY:0,maxY:0};if(D.each(function(){var Ae=ug.select(this),Pe=eo.ensureSingle(Ae,"path","",function(at){at.style({"stroke-width":"1px"})}),He=eo.ensureSingle(Ae,"text","",function(at){at.attr("data-notex",1)}),Fe=u.bgcolor||hs.defaultLine,ke=u.bordercolor||hs.contrast(Fe),Ue=hs.contrast(Fe),Ge=u.font,lt={weight:Ge.weight||h,style:Ge.style||d,variant:Ge.variant||v,textcase:Ge.textcase||m,lineposition:Ge.lineposition||b,shadow:Ge.shadow||g,family:Ge.family||f,size:Ge.size||c,color:Ge.color||Ue};Pe.style({fill:Fe,stroke:ke}),He.text(M).call(Kh.font,lt).call(nc.positionText,0,0).call(nc.convertToTspans,r),Ae.attr("transform","");var it=K1(r,He.node()),wt,_t;if(i==="x"){var Tt=T.side==="top"?"-":"";He.attr("text-anchor","middle").call(nc.positionText,0,T.side==="top"?S-it.bottom-Ra-ti:S-it.top+Ra+ti),wt=T._offset+(_.x0+_.x1)/2,_t=w._offset+(T.side==="top"?0:w._length);var nt=it.width/2+ti,bt=wt;wt<nt?bt=nt:wt>n.width-nt&&(bt=n.width-nt),Pe.attr("d","M"+(wt-bt)+",0L"+(wt-bt+Ra)+","+Tt+Ra+"H"+nt+"v"+Tt+(ti*2+it.height)+"H"+-nt+"V"+Tt+Ra+"H"+(wt-bt-Ra)+"Z"),wt=bt,q.minX=wt-nt,q.maxX=wt+nt,T.side==="top"?(q.minY=_t-(ti*2+it.height),q.maxY=_t-ti):(q.minY=_t+ti,q.maxY=_t+(ti*2+it.height))}else{var At,Ye,je;w.side==="right"?(At="start",Ye=1,je="",wt=T._offset+T._length):(At="end",Ye=-1,je="-",wt=T._offset),_t=w._offset+(_.y0+_.y1)/2,He.attr("text-anchor",At),Pe.attr("d","M0,0L"+je+Ra+","+Ra+"V"+(ti+it.height/2)+"h"+je+(ti*2+it.width)+"V-"+(ti+it.height/2)+"H"+je+Ra+"V-"+Ra+"Z"),q.minY=_t-(ti+it.height/2),q.maxY=_t+(ti+it.height/2),w.side==="right"?(q.minX=wt+Ra,q.maxX=wt+Ra+(ti*2+it.width)):(q.minX=wt-Ra-(ti*2+it.width),q.maxX=wt-Ra);var $e=it.height/2,ve=S-it.top-$e,Y="clip"+n._uid+"commonlabel"+w._id,ie;if(wt<it.width+2*ti+Ra){ie="M-"+(Ra+ti)+"-"+$e+"h-"+(it.width-ti)+"V"+$e+"h"+(it.width-ti)+"Z";var Te=it.width-wt+ti;nc.positionText(He,Te,ve),At==="end"&&He.selectAll("tspan").each(function(){var at=ug.select(this),ft=Kh.tester.append("text").text(at.text()).call(Kh.font,lt),Ht=K1(r,ft.node());Math.round(Ht.width)<Math.round(it.width)&&at.attr("x",Te-Ht.width),ft.remove()})}else nc.positionText(He,Ye*(ti+Ra),ve),ie=null;var Ve=n._topclips.selectAll("#"+Y).data(ie?[0]:[]);Ve.enter().append("clipPath").attr("id",Y).append("path"),Ve.exit().remove(),Ve.select("path").attr("d",ie),Kh.setClipUrl(He,ie?Y:null,r)}Ae.attr("transform",ID(wt,_t))}),rh.isUnifiedHover(i)){s.selectAll("g.hovertext").remove();var N=e.filter(function(Ae){return Ae.hoverinfo!=="none"});if(N.length===0)return[];var U=n.hoverlabel,G=U.font,ee={showlegend:!0,legend:{title:{text:M,font:G},font:G,bgcolor:U.bgcolor,bordercolor:U.bordercolor,borderwidth:1,tracegroupgap:7,traceorder:n.legend?n.legend.traceorder:void 0,orientation:"v"}},Q={font:G};SJe(ee,Q,r._fullData);var j=Q.legend;j.entries=[];for(var O=0;O<N.length;O++){var Z=N[O];if(Z.hoverinfo!=="none"){var K=jK(Z,!0,i,n,M),$=K[0],oe=K[1];Z.name=oe,oe!==""?Z.text=oe+" : "+$:Z.text=$;var te=Z.cd[Z.index];te&&(te.mc&&(Z.mc=te.mc),te.mcc&&(Z.mc=te.mcc),te.mlc&&(Z.mlc=te.mlc),te.mlcc&&(Z.mlc=te.mlcc),te.mlw&&(Z.mlw=te.mlw),te.mrc&&(Z.mrc=te.mrc),te.dir&&(Z.dir=te.dir)),Z._distinct=!0,j.entries.push([Z])}}j.entries.sort(function(Ae,Pe){return Ae[0].trace.index-Pe[0].trace.index}),j.layer=s,j._inHover=!0,j._groupTitleFont=U.grouptitlefont,CJe(r,j);var V=s.select("g.legend"),ne=K1(r,V.node()),W=ne.width+2*ti,fe=ne.height+2*ti,ge=N[0],Ce=(ge.x0+ge.x1)/2,Ne=(ge.y0+ge.y1)/2,pe=!(Q1.traceIs(ge.trace,"bar-like")||Q1.traceIs(ge.trace,"box-violin")),me,Ie;k==="y"?pe?(Ie=Ne-ti,me=Ne+ti):(Ie=Math.min.apply(null,N.map(function(Ae){return Math.min(Ae.y0,Ae.y1)})),me=Math.max.apply(null,N.map(function(Ae){return Math.max(Ae.y0,Ae.y1)}))):Ie=me=eo.mean(N.map(function(Ae){return(Ae.y0+Ae.y1)/2}))-fe/2;var Re,ze;k==="x"?pe?(Re=Ce+ti,ze=Ce-ti):(Re=Math.max.apply(null,N.map(function(Ae){return Math.max(Ae.x0,Ae.x1)})),ze=Math.min.apply(null,N.map(function(Ae){return Math.min(Ae.x0,Ae.x1)}))):Re=ze=eo.mean(N.map(function(Ae){return(Ae.x0+Ae.x1)/2}))-W/2;var Be=T._offset,tt=w._offset;me+=tt,Re+=Be,ze+=Be-W,Ie+=tt-fe;var rt,ce;return Re+W<y&&Re>=0?rt=Re:ze+W<y&&ze>=0?rt=ze:Be+W<y?rt=Be:Re-Ce<Ce-ze+W?rt=y-W:rt=0,rt+=ti,me+fe<E&&me>=0?ce=me:Ie+fe<E&&Ie>=0?ce=Ie:tt+fe<E?ce=tt:me-Ne<Ne-Ie+fe?ce=E-fe:ce=0,ce+=ti,V.attr("transform",ID(rt-1,ce-1)),V}var Ee=s.selectAll("g.hovertext").data(e,function(Ae){return ZK(Ae)});return Ee.enter().append("g").classed("hovertext",!0).each(function(){var Ae=ug.select(this);Ae.append("rect").call(hs.fill,hs.addOpacity(o,.8)),Ae.append("text").classed("name",!0),Ae.append("path").style("stroke-width","1px"),Ae.append("text").classed("nums",!0).call(Kh.font,{weight:h,style:d,variant:v,textcase:m,lineposition:b,shadow:g,family:f,size:c})}),Ee.exit().remove(),Ee.each(function(Ae){var Pe=ug.select(this).attr("transform",""),He=Ae.color;Array.isArray(He)&&(He=He[Ae.eventData[0].pointNumber]);var Fe=Ae.bgcolor||He,ke=hs.combine(hs.opacity(Fe)?Fe:hs.defaultLine,o),Ue=hs.combine(hs.opacity(He)?He:hs.defaultLine,o),Ge=Ae.borderColor||hs.contrast(ke),lt=jK(Ae,C,i,n,M,Pe),it=lt[0],wt=lt[1],_t=Pe.select("text.nums").call(Kh.font,{family:Ae.fontFamily||f,size:Ae.fontSize||c,color:Ae.fontColor||Ge,weight:Ae.fontWeight||h,style:Ae.fontStyle||d,variant:Ae.fontVariant||v,textcase:Ae.fontTextcase||m,lineposition:Ae.fontLineposition||b,shadow:Ae.fontShadow||g}).text(it).attr("data-notex",1).call(nc.positionText,0,0).call(nc.convertToTspans,r),Tt=Pe.select("text.name"),nt=0,bt=0;if(wt&&wt!==it){Tt.call(Kh.font,{family:Ae.fontFamily||f,size:Ae.fontSize||c,color:Ue,weight:Ae.fontWeight||h,style:Ae.fontStyle||d,variant:Ae.fontVariant||v,textcase:Ae.fontTextcase||m,lineposition:Ae.fontLineposition||b,shadow:Ae.fontShadow||g}).text(wt).attr("data-notex",1).call(nc.positionText,0,0).call(nc.convertToTspans,r);var At=K1(r,Tt.node());nt=At.width+2*ti,bt=At.height+2*ti}else Tt.remove(),Pe.select("rect").remove();Pe.select("path").style({fill:ke,stroke:Ge});var Ye=Ae.xa._offset+(Ae.x0+Ae.x1)/2,je=Ae.ya._offset+(Ae.y0+Ae.y1)/2,$e=Math.abs(Ae.x1-Ae.x0),ve=Math.abs(Ae.y1-Ae.y0),Y=K1(r,_t.node()),ie=Y.width/n._invScaleX,Te=Y.height/n._invScaleY;Ae.ty0=(S-Y.top)/n._invScaleY,Ae.bx=ie+2*ti,Ae.by=Math.max(Te+2*ti,bt),Ae.anchor="start",Ae.txwidth=ie,Ae.tx2width=nt,Ae.offset=0;var Ve=(ie+Ra+ti+nt)*n._invScaleX,at,ft;if(a)Ae.pos=Ye,at=je+ve/2+Ve<=E,ft=je-ve/2-Ve>=0,(Ae.idealAlign==="top"||!at)&&ft?(je-=ve/2,Ae.anchor="end"):at?(je+=ve/2,Ae.anchor="start"):Ae.anchor="middle",Ae.crossPos=je;else{if(Ae.pos=je,at=Ye+$e/2+Ve<=y,ft=Ye-$e/2-Ve>=0,(Ae.idealAlign==="left"||!at)&&ft)Ye-=$e/2,Ae.anchor="end";else if(at)Ye+=$e/2,Ae.anchor="start";else{Ae.anchor="middle";var Ht=Ve/2,Xt=Ye+Ht-y,St=Ye-Ht;Xt>0&&(Ye-=Xt),St<0&&(Ye+=-St)}Ae.crossPos=Ye}_t.attr("text-anchor",Ae.anchor),nt&&Tt.attr("text-anchor",Ae.anchor),Pe.attr("transform",ID(Ye,je)+(a?TJe(XK):""))}),{hoverLabels:Ee,commonLabelBoundingBox:q}}function jK(e,t,r,n,i,a){var o="",s="";e.nameOverride!==void 0&&(e.name=e.nameOverride),e.name&&(e.trace._meta&&(e.name=eo.templateString(e.name,e.trace._meta)),o=GK(e.name,e.nameLength));var l=r.charAt(0),u=l==="x"?"y":"x";e.zLabel!==void 0?(e.xLabel!==void 0&&(s+="x: "+e.xLabel+"<br>"),e.yLabel!==void 0&&(s+="y: "+e.yLabel+"<br>"),e.trace.type!=="choropleth"&&e.trace.type!=="choroplethmapbox"&&(s+=(s?"z: ":"")+e.zLabel)):t&&e[l+"Label"]===i?s=e[u+"Label"]||"":e.xLabel===void 0?e.yLabel!==void 0&&e.trace.type!=="scattercarpet"&&(s=e.yLabel):e.yLabel===void 0?s=e.xLabel:s="("+e.xLabel+", "+e.yLabel+")",(e.text||e.text===0)&&!Array.isArray(e.text)&&(s+=(s?"<br>":"")+e.text),e.extraText!==void 0&&(s+=(s?"<br>":"")+e.extraText),a&&s===""&&!e.hovertemplate&&(o===""&&a.remove(),s=o);var f=e.hovertemplate||!1;if(f){var c=e.hovertemplateLabels||e;e[l+"Label"]!==i&&(c[l+"other"]=c[l+"Val"],c[l+"otherLabel"]=c[l+"Label"]),s=eo.hovertemplateString(f,c,n._d3locale,e.eventData[0]||{},e.trace._meta),s=s.replace(IJe,function(h,d){return o=GK(d,e.nameLength),""})}return[s,o]}function qJe(e,t,r,n){var i=t?"xa":"ya",a=t?"ya":"xa",o=0,s=1,l=e.size(),u=new Array(l),f=0,c=n.minX,h=n.maxX,d=n.minY,v=n.maxY,m=function(I){return I*r._invScaleX},b=function(I){return I*r._invScaleY};e.each(function(I){var P=I[i],D=I[a],q=P._id.charAt(0)==="x",N=P.range;f===0&&N&&N[0]>N[1]!==q&&(s=-1);var U=0,G=q?r.width:r.height;if(r.hovermode==="x"||r.hovermode==="y"){var ee=$K(I,t),Q=I.anchor,j=Q==="end"?-1:1,O,Z;if(Q==="middle")O=I.crossPos+(q?b(ee.y-I.by/2):m(I.bx/2+I.tx2width/2)),Z=O+(q?b(I.by):m(I.bx));else if(q)O=I.crossPos+b(Ra+ee.y)-b(I.by/2-Ra),Z=O+b(I.by);else{var K=m(j*Ra+ee.x),$=K+m(j*I.bx);O=I.crossPos+Math.min(K,$),Z=I.crossPos+Math.max(K,$)}q?d!==void 0&&v!==void 0&&Math.min(Z,v)-Math.max(O,d)>1&&(D.side==="left"?(U=D._mainLinePosition,G=r.width):G=D._mainLinePosition):c!==void 0&&h!==void 0&&Math.min(Z,h)-Math.max(O,c)>1&&(D.side==="top"?(U=D._mainLinePosition,G=r.height):G=D._mainLinePosition)}u[f++]=[{datum:I,traceIndex:I.trace.index,dp:0,pos:I.pos,posref:I.posref,size:I.by*(q?EJe:1)/2,pmin:U,pmax:G}]}),u.sort(function(I,P){return I[0].posref-P[0].posref||s*(P[0].traceIndex-I[0].traceIndex)});var g,_,T,w,k,x,M;function A(I){var P=I[0],D=I[I.length-1];if(_=P.pmin-P.pos-P.dp+P.size,T=D.pos+D.dp+D.size-P.pmax,_>.01){for(k=I.length-1;k>=0;k--)I[k].dp+=_;g=!1}if(!(T<.01)){if(_<-.01){for(k=I.length-1;k>=0;k--)I[k].dp-=T;g=!1}if(g){var q=0;for(w=0;w<I.length;w++)x=I[w],x.pos+x.dp+x.size>P.pmax&&q++;for(w=I.length-1;w>=0&&!(q<=0);w--)x=I[w],x.pos>P.pmax-1&&(x.del=!0,q--);for(w=0;w<I.length&&!(q<=0);w++)if(x=I[w],x.pos<P.pmin+1)for(x.del=!0,q--,T=x.size*2,k=I.length-1;k>=0;k--)I[k].dp-=T;for(w=I.length-1;w>=0&&!(q<=0);w--)x=I[w],x.pos+x.dp+x.size>P.pmax&&(x.del=!0,q--)}}}for(;!g&&o<=l;){for(o++,g=!0,w=0;w<u.length-1;){var p=u[w],S=u[w+1],y=p[p.length-1],E=S[0];if(_=y.pos+y.dp+y.size-E.pos-E.dp+E.size,_>.01){for(k=S.length-1;k>=0;k--)S[k].dp+=_;for(p.push.apply(p,S),u.splice(w+1,1),M=0,k=p.length-1;k>=0;k--)M+=p[k].dp;for(T=M/p.length,k=p.length-1;k>=0;k--)p[k].dp-=T;g=!1}else w++}u.forEach(A)}for(w=u.length-1;w>=0;w--){var C=u[w];for(k=C.length-1;k>=0;k--){var L=C[k],R=L.datum;R.offset=L.dp,R.del=L.del}}}function $K(e,t){var r=0,n=e.offset;return t&&(n*=-DJe,r=e.offset*LJe),{x:r,y:n}}function FJe(e){var t={start:1,end:-1,middle:0}[e.anchor],r=t*(Ra+ti),n=r+t*(e.txwidth+ti),i=e.anchor==="middle";return i&&(r-=e.tx2width/2,n+=e.txwidth/2+ti),{alignShift:t,textShiftX:r,text2ShiftX:n}}function KK(e,t,r,n){var i=function(o){return o*r},a=function(o){return o*n};e.each(function(o){var s=ug.select(this);if(o.del)return s.remove();var l=s.select("text.nums"),u=o.anchor,f=u==="end"?-1:1,c=FJe(o),h=$K(o,t),d=h.x,v=h.y,m=u==="middle";s.select("path").attr("d",m?"M-"+i(o.bx/2+o.tx2width/2)+","+a(v-o.by/2)+"h"+i(o.bx)+"v"+a(o.by)+"h-"+i(o.bx)+"Z":"M0,0L"+i(f*Ra+d)+","+a(Ra+v)+"v"+a(o.by/2-Ra)+"h"+i(f*o.bx)+"v-"+a(o.by)+"H"+i(f*Ra+d)+"V"+a(v-Ra)+"Z");var b=d+c.textShiftX,g=v+o.ty0-o.by/2+ti,_=o.textAlign||"auto";_!=="auto"&&(_==="left"&&u!=="start"?(l.attr("text-anchor","start"),b=m?-o.bx/2-o.tx2width/2+ti:-o.bx-ti):_==="right"&&u!=="end"&&(l.attr("text-anchor","end"),b=m?o.bx/2-o.tx2width/2-ti:o.bx+ti)),l.call(nc.positionText,i(b),a(g)),o.tx2width&&(s.select("text.name").call(nc.positionText,i(c.text2ShiftX+c.alignShift*ti+d),a(v+o.ty0-o.by/2+ti)),s.select("rect").call(Kh.setRect,i(c.text2ShiftX+(c.alignShift-1)*o.tx2width/2+d),a(v-o.by/2-1),i(o.tx2width),a(o.by+2)))})}function zJe(e,t){var r=e.index,n=e.trace||{},i=e.cd[0],a=e.cd[r]||{};function o(h){return h||$v(h)&&h===0}var s=Array.isArray(r)?function(h,d){var v=eo.castOption(i,r,h);return o(v)?v:eo.extractOption({},n,"",d)}:function(h,d){return eo.extractOption(a,n,h,d)};function l(h,d,v){var m=s(d,v);o(m)&&(e[h]=m)}if(l("hoverinfo","hi","hoverinfo"),l("bgcolor","hbg","hoverlabel.bgcolor"),l("borderColor","hbc","hoverlabel.bordercolor"),l("fontFamily","htf","hoverlabel.font.family"),l("fontSize","hts","hoverlabel.font.size"),l("fontColor","htc","hoverlabel.font.color"),l("fontWeight","htw","hoverlabel.font.weight"),l("fontStyle","hty","hoverlabel.font.style"),l("fontVariant","htv","hoverlabel.font.variant"),l("nameLength","hnl","hoverlabel.namelength"),l("textAlign","hta","hoverlabel.align"),e.posref=t==="y"||t==="closest"&&n.orientation==="h"?e.xa._offset+(e.x0+e.x1)/2:e.ya._offset+(e.y0+e.y1)/2,e.x0=eo.constrain(e.x0,0,e.xa._length),e.x1=eo.constrain(e.x1,0,e.xa._length),e.y0=eo.constrain(e.y0,0,e.ya._length),e.y1=eo.constrain(e.y1,0,e.ya._length),e.xLabelVal!==void 0&&(e.xLabel="xLabel"in e?e.xLabel:Qh.hoverLabelText(e.xa,e.xLabelVal,n.xhoverformat),e.xVal=e.xa.c2d(e.xLabelVal)),e.yLabelVal!==void 0&&(e.yLabel="yLabel"in e?e.yLabel:Qh.hoverLabelText(e.ya,e.yLabelVal,n.yhoverformat),e.yVal=e.ya.c2d(e.yLabelVal)),e.zLabelVal!==void 0&&e.zLabel===void 0&&(e.zLabel=String(e.zLabelVal)),!isNaN(e.xerr)&&!(e.xa.type==="log"&&e.xerr<=0)){var u=Qh.tickText(e.xa,e.xa.c2l(e.xerr),"hover").text;e.xerrneg!==void 0?e.xLabel+=" +"+u+" / -"+Qh.tickText(e.xa,e.xa.c2l(e.xerrneg),"hover").text:e.xLabel+=" \xB1 "+u,t==="x"&&(e.distance+=1)}if(!isNaN(e.yerr)&&!(e.ya.type==="log"&&e.yerr<=0)){var f=Qh.tickText(e.ya,e.ya.c2l(e.yerr),"hover").text;e.yerrneg!==void 0?e.yLabel+=" +"+f+" / -"+Qh.tickText(e.ya,e.ya.c2l(e.yerrneg),"hover").text:e.yLabel+=" \xB1 "+f,t==="y"&&(e.distance+=1)}var c=e.hoverinfo||e.trace.hoverinfo;return c&&c!=="all"&&(c=Array.isArray(c)?c:c.split("+"),c.indexOf("x")===-1&&(e.xLabel=void 0),c.indexOf("y")===-1&&(e.yLabel=void 0),c.indexOf("z")===-1&&(e.zLabel=void 0),c.indexOf("text")===-1&&(e.text=void 0),c.indexOf("name")===-1&&(e.name=void 0)),e}function VK(e,t,r){var n=r.container,i=r.fullLayout,a=i._size,o=r.event,s=!!t.hLinePoint,l=!!t.vLinePoint,u,f;if(n.selectAll(".spikeline").remove(),!!(l||s)){var c=hs.combine(i.plot_bgcolor,i.paper_bgcolor);if(s){var h=t.hLinePoint,d,v;u=h&&h.xa,f=h&&h.ya;var m=f.spikesnap;m==="cursor"?(d=o.pointerX,v=o.pointerY):(d=u._offset+h.x,v=f._offset+h.y);var b=BK.readability(h.color,c)<1.5?hs.contrast(c):h.color,g=f.spikemode,_=f.spikethickness,T=f.spikecolor||b,w=Qh.getPxPosition(e,f),k,x;if(g.indexOf("toaxis")!==-1||g.indexOf("across")!==-1){if(g.indexOf("toaxis")!==-1&&(k=w,x=d),g.indexOf("across")!==-1){var M=f._counterDomainMin,A=f._counterDomainMax;f.anchor==="free"&&(M=Math.min(M,f.position),A=Math.max(A,f.position)),k=a.l+M*a.w,x=a.l+A*a.w}n.insert("line",":first-child").attr({x1:k,x2:x,y1:v,y2:v,"stroke-width":_,stroke:T,"stroke-dasharray":Kh.dashStyle(f.spikedash,_)}).classed("spikeline",!0).classed("crisp",!0),n.insert("line",":first-child").attr({x1:k,x2:x,y1:v,y2:v,"stroke-width":_+2,stroke:c}).classed("spikeline",!0).classed("crisp",!0)}g.indexOf("marker")!==-1&&n.insert("circle",":first-child").attr({cx:w+(f.side!=="right"?_:-_),cy:v,r:_,fill:T}).classed("spikeline",!0)}if(l){var p=t.vLinePoint,S,y;u=p&&p.xa,f=p&&p.ya;var E=u.spikesnap;E==="cursor"?(S=o.pointerX,y=o.pointerY):(S=u._offset+p.x,y=f._offset+p.y);var C=BK.readability(p.color,c)<1.5?hs.contrast(c):p.color,L=u.spikemode,R=u.spikethickness,I=u.spikecolor||C,P=Qh.getPxPosition(e,u),D,q;if(L.indexOf("toaxis")!==-1||L.indexOf("across")!==-1){if(L.indexOf("toaxis")!==-1&&(D=P,q=y),L.indexOf("across")!==-1){var N=u._counterDomainMin,U=u._counterDomainMax;u.anchor==="free"&&(N=Math.min(N,u.position),U=Math.max(U,u.position)),D=a.t+(1-U)*a.h,q=a.t+(1-N)*a.h}n.insert("line",":first-child").attr({x1:S,x2:S,y1:D,y2:q,"stroke-width":R,stroke:I,"stroke-dasharray":Kh.dashStyle(u.spikedash,R)}).classed("spikeline",!0).classed("crisp",!0),n.insert("line",":first-child").attr({x1:S,x2:S,y1:D,y2:q,"stroke-width":R+2,stroke:c}).classed("spikeline",!0).classed("crisp",!0)}L.indexOf("marker")!==-1&&n.insert("circle",":first-child").attr({cx:S,cy:P-(u.side!=="top"?R:-R),r:R,fill:I}).classed("spikeline",!0)}}}function NJe(e,t,r){if(!r||r.length!==e._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=e._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber)||String(i.pointNumbers)!==String(a.pointNumbers))return!0}return!1}function YK(e,t){return!t||t.vLinePoint!==e._spikepoints.vLinePoint||t.hLinePoint!==e._spikepoints.hLinePoint}function GK(e,t){return nc.plainText(e||"",{len:t,allowedTags:["br","sub","sup","b","i","em","s","u"]})}function OJe(e,t){for(var r=t.charAt(0),n=[],i=[],a=[],o=0;o<e.length;o++){var s=e[o];Q1.traceIs(s.trace,"bar-like")||Q1.traceIs(s.trace,"box-violin")?a.push(s):s.trace[r+"period"]?i.push(s):n.push(s)}return n.concat(i).concat(a)}function WK(e,t,r){var n=t[e+"a"],i=t[e+"Val"],a=t.cd[0];if(n.type==="category"||n.type==="multicategory")i=n._categoriesMap[i];else if(n.type==="date"){var o=t.trace[e+"periodalignment"];if(o){var s=t.cd[t.index],l=s[e+"Start"];l===void 0&&(l=s[e]);var u=s[e+"End"];u===void 0&&(u=s[e]);var f=u-l;o==="end"?i+=f:o==="middle"&&(i+=f/2)}i=n.d2c(i)}return a&&a.t&&a.t.posLetter===n._id&&(r.boxmode==="group"||r.violinmode==="group")&&(i+=a.t.dPos),i}function QK(e){return e.offsetTop+e.clientTop}function eQ(e){return e.offsetLeft+e.clientLeft}function K1(e,t){var r=e._fullLayout,n=t.getBoundingClientRect(),i=n.left,a=n.top,o=i+n.width,s=a+n.height,l=eo.apply3DTransform(r._invTransform)(i,a),u=eo.apply3DTransform(r._invTransform)(o,s),f=l[0],c=l[1],h=u[0],d=u[1];return{x:f,y:c,width:h-f,height:d-c,top:Math.min(c,d),left:Math.min(f,h),right:Math.max(f,h),bottom:Math.max(c,d)}}});var g2=J((cRt,tQ)=>{"use strict";var BJe=gt(),UJe=qr(),HJe=Qf().isUnifiedHover;tQ.exports=function(t,r,n,i){i=i||{};var a=r.legend;function o(s){i.font[s]||(i.font[s]=a?r.legend.font[s]:r.font[s])}r&&HJe(r.hovermode)&&(i.font||(i.font={}),o("size"),o("family"),o("color"),o("weight"),o("style"),o("variant"),a?(i.bgcolor||(i.bgcolor=UJe.combine(r.legend.bgcolor,r.paper_bgcolor)),i.bordercolor||(i.bordercolor=r.legend.bordercolor)):i.bgcolor||(i.bgcolor=r.paper_bgcolor)),n("hoverlabel.bgcolor",i.bgcolor),n("hoverlabel.bordercolor",i.bordercolor),n("hoverlabel.namelength",i.namelength),BJe.coerceFont(n,"hoverlabel.font",i.font),n("hoverlabel.align",i.align)}});var nQ=J((hRt,rQ)=>{"use strict";var jJe=gt(),VJe=g2(),YJe=Uv();rQ.exports=function(t,r){function n(i,a){return jJe.coerce(t,r,YJe,i,a)}VJe(t,r,n)}});var oQ=J((vRt,aQ)=>{"use strict";var iQ=gt(),GJe=b1(),WJe=g2();aQ.exports=function(t,r,n,i){function a(s,l){return iQ.coerce(t,r,GJe,s,l)}var o=iQ.extendFlat({},i.hoverlabel);r.hovertemplate&&(o.namelength=-1),WJe(t,r,a,o)}});var ND=J((dRt,sQ)=>{"use strict";var XJe=gt(),ZJe=Uv();sQ.exports=function(t,r){function n(i,a){return r[i]!==void 0?r[i]:XJe.coerce(t,r,ZJe,i,a)}return n("clickmode"),n("hoversubplots"),n("hovermode")}});var fQ=J((pRt,uQ)=>{"use strict";var lQ=gt(),JJe=Uv(),$Je=ND(),KJe=g2();uQ.exports=function(t,r){function n(u,f){return lQ.coerce(t,r,JJe,u,f)}var i=$Je(t,r);i&&(n("hoverdistance"),n("spikedistance"));var a=n("dragmode");a==="select"&&n("selectdirection");var o=r._has("mapbox"),s=r._has("geo"),l=r._basePlotModules.length;r.dragmode==="zoom"&&((o||s)&&l===1||o&&s&&l===2)&&(r.dragmode="pan"),KJe(t,r,n),lQ.coerceFont(n,"hoverlabel.grouptitlefont",r.hoverlabel.font)}});var vQ=J((gRt,hQ)=>{"use strict";var OD=gt(),cQ=zr();hQ.exports=function(t){var r=t.calcdata,n=t._fullLayout;function i(u){return function(f){return OD.coerceHoverinfo({hoverinfo:f},{_module:u._module},n)}}for(var a=0;a<r.length;a++){var o=r[a],s=o[0].trace;if(!cQ.traceIs(s,"pie-like")){var l=cQ.traceIs(s,"2dMap")?QJe:OD.fillArray;l(s.hoverinfo,o,"hi",i(s)),s.hovertemplate&&l(s.hovertemplate,o,"ht"),s.hoverlabel&&(l(s.hoverlabel.bgcolor,o,"hbg"),l(s.hoverlabel.bordercolor,o,"hbc"),l(s.hoverlabel.font.size,o,"hts"),l(s.hoverlabel.font.color,o,"htc"),l(s.hoverlabel.font.family,o,"htf"),l(s.hoverlabel.font.weight,o,"htw"),l(s.hoverlabel.font.style,o,"hty"),l(s.hoverlabel.font.variant,o,"htv"),l(s.hoverlabel.namelength,o,"hnl"),l(s.hoverlabel.align,o,"hta"))}}};function QJe(e,t,r,n){n=n||OD.identity,Array.isArray(e)&&(t[0][r]=n(e))}});var pQ=J((mRt,dQ)=>{"use strict";var e$e=zr(),t$e=zD().hover;dQ.exports=function(t,r,n){var i=e$e.getComponentMethod("annotations","onClick")(t,t._hoverdata);n!==void 0&&t$e(t,r,n,!0);function a(){t.emit("plotly_click",{points:t._hoverdata,event:r})}t._hoverdata&&r&&r.target&&(i&&i.then?i.then(a):a(),r.stopImmediatePropagation&&r.stopImmediatePropagation())}});var go=J((yRt,yQ)=>{"use strict";var r$e=Nr(),YA=gt(),n$e=iu(),m2=Qf(),gQ=Uv(),mQ=zD();yQ.exports={moduleType:"component",name:"fx",constants:zb(),schema:{layout:gQ},attributes:b1(),layoutAttributes:gQ,supplyLayoutGlobalDefaults:nQ(),supplyDefaults:oQ(),supplyLayoutDefaults:fQ(),calc:vQ(),getDistanceFunction:m2.getDistanceFunction,getClosest:m2.getClosest,inbox:m2.inbox,quadrature:m2.quadrature,appendArrayPointValue:m2.appendArrayPointValue,castHoverOption:a$e,castHoverinfo:o$e,hover:mQ.hover,unhover:n$e.unhover,loneHover:mQ.loneHover,loneUnhover:i$e,click:pQ()};function i$e(e){var t=YA.isD3Selection(e)?e:r$e.select(e);t.selectAll("g.hovertext").remove(),t.selectAll(".spikeline").remove()}function a$e(e,t,r){return YA.castOption(e,t,"hoverlabel."+r)}function o$e(e,t,r){function n(i){return YA.coerceHoverinfo({hoverinfo:i},{_module:e._module},t)}return YA.castOption(e,r,"hoverinfo",n)}});var y0=J(Kv=>{"use strict";Kv.selectMode=function(e){return e==="lasso"||e==="select"};Kv.drawMode=function(e){return e==="drawclosedpath"||e==="drawopenpath"||e==="drawline"||e==="drawrect"||e==="drawcircle"};Kv.openMode=function(e){return e==="drawline"||e==="drawopenpath"};Kv.rectMode=function(e){return e==="select"||e==="drawline"||e==="drawrect"||e==="drawcircle"};Kv.freeMode=function(e){return e==="lasso"||e==="drawclosedpath"||e==="drawopenpath"};Kv.selectingOrDrawing=function(e){return Kv.freeMode(e)||Kv.rectMode(e)}});var y2=J((bRt,xQ)=>{"use strict";xQ.exports=function(t){var r=t._fullLayout;r._glcanvas&&r._glcanvas.size()&&r._glcanvas.each(function(n){n.regl&&n.regl.clear({color:!0,depth:!0})})}});var GA=J((wRt,bQ)=>{"use strict";bQ.exports={undo:{width:857.1,height:1e3,path:"m857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z",transform:"matrix(1 0 0 -1 0 850)"},home:{width:928.6,height:1e3,path:"m786 296v-267q0-15-11-26t-25-10h-214v214h-143v-214h-214q-15 0-25 10t-11 26v267q0 1 0 2t0 2l321 264 321-264q1-1 1-4z m124 39l-34-41q-5-5-12-6h-2q-7 0-12 3l-386 322-386-322q-7-4-13-4-7 2-12 7l-35 41q-4 5-3 13t6 12l401 334q18 15 42 15t43-15l136-114v109q0 8 5 13t13 5h107q8 0 13-5t5-13v-227l122-102q5-5 6-12t-4-13z",transform:"matrix(1 0 0 -1 0 850)"},"camera-retro":{width:1e3,height:1e3,path:"m518 386q0 8-5 13t-13 5q-37 0-63-27t-26-63q0-8 5-13t13-5 12 5 5 13q0 23 16 38t38 16q8 0 13 5t5 13z m125-73q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z m-572-320h858v71h-858v-71z m643 320q0 89-62 152t-152 62-151-62-63-152 63-151 151-63 152 63 62 151z m-571 358h214v72h-214v-72z m-72-107h858v143h-462l-36-71h-360v-72z m929 143v-714q0-30-21-51t-50-21h-858q-29 0-50 21t-21 51v714q0 30 21 51t50 21h858q29 0 50-21t21-51z",transform:"matrix(1 0 0 -1 0 850)"},zoombox:{width:1e3,height:1e3,path:"m1000-25l-250 251c40 63 63 138 63 218 0 224-182 406-407 406-224 0-406-182-406-406s183-406 407-406c80 0 155 22 218 62l250-250 125 125z m-812 250l0 438 437 0 0-438-437 0z m62 375l313 0 0-312-313 0 0 312z",transform:"matrix(1 0 0 -1 0 850)"},pan:{width:1e3,height:1e3,path:"m1000 350l-187 188 0-125-250 0 0 250 125 0-188 187-187-187 125 0 0-250-250 0 0 125-188-188 186-187 0 125 252 0 0-250-125 0 187-188 188 188-125 0 0 250 250 0 0-126 187 188z",transform:"matrix(1 0 0 -1 0 850)"},zoom_plus:{width:875,height:1e3,path:"m1 787l0-875 875 0 0 875-875 0z m687-500l-187 0 0-187-125 0 0 187-188 0 0 125 188 0 0 187 125 0 0-187 187 0 0-125z",transform:"matrix(1 0 0 -1 0 850)"},zoom_minus:{width:875,height:1e3,path:"m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z",transform:"matrix(1 0 0 -1 0 850)"},autoscale:{width:1e3,height:1e3,path:"m250 850l-187 0-63 0 0-62 0-188 63 0 0 188 187 0 0 62z m688 0l-188 0 0-62 188 0 0-188 62 0 0 188 0 62-62 0z m-875-938l0 188-63 0 0-188 0-62 63 0 187 0 0 62-187 0z m875 188l0-188-188 0 0-62 188 0 62 0 0 62 0 188-62 0z m-125 188l-1 0-93-94-156 156 156 156 92-93 2 0 0 250-250 0 0-2 93-92-156-156-156 156 94 92 0 2-250 0 0-250 0 0 93 93 157-156-157-156-93 94 0 0 0-250 250 0 0 0-94 93 156 157 156-157-93-93 0 0 250 0 0 250z",transform:"matrix(1 0 0 -1 0 850)"},tooltip_basic:{width:1500,height:1e3,path:"m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z",transform:"matrix(1 0 0 -1 0 850)"},tooltip_compare:{width:1125,height:1e3,path:"m187 786l0 2-187-188 188-187 0 0 937 0 0 373-938 0z m0-499l0 1-187-188 188-188 0 0 937 0 0 376-938-1z",transform:"matrix(1 0 0 -1 0 850)"},plotlylogo:{width:1542,height:1e3,path:"m0-10h182v-140h-182v140z m228 146h183v-286h-183v286z m225 714h182v-1000h-182v1000z m225-285h182v-715h-182v715z m225 142h183v-857h-183v857z m231-428h182v-429h-182v429z m225-291h183v-138h-183v138z",transform:"matrix(1 0 0 -1 0 850)"},"z-axis":{width:1e3,height:1e3,path:"m833 5l-17 108v41l-130-65 130-66c0 0 0 38 0 39 0-1 36-14 39-25 4-15-6-22-16-30-15-12-39-16-56-20-90-22-187-23-279-23-261 0-341 34-353 59 3 60 228 110 228 110-140-8-351-35-351-116 0-120 293-142 474-142 155 0 477 22 477 142 0 50-74 79-163 96z m-374 94c-58-5-99-21-99-40 0-24 65-43 144-43 79 0 143 19 143 43 0 19-42 34-98 40v216h87l-132 135-133-135h88v-216z m167 515h-136v1c16 16 31 34 46 52l84 109v54h-230v-71h124v-1c-16-17-28-32-44-51l-89-114v-51h245v72z",transform:"matrix(1 0 0 -1 0 850)"},"3d_rotate":{width:1e3,height:1e3,path:"m922 660c-5 4-9 7-14 11-359 263-580-31-580-31l-102 28 58-400c0 1 1 1 2 2 118 108 351 249 351 249s-62 27-100 42c88 83 222 183 347 122 16-8 30-17 44-27-2 1-4 2-6 4z m36-329c0 0 64 229-88 296-62 27-124 14-175-11 157-78 225-208 249-266 8-19 11-31 11-31 2 5 6 15 11 32-5-13-8-20-8-20z m-775-239c70-31 117-50 198-32-121 80-199 346-199 346l-96-15-58-12c0 0 55-226 155-287z m603 133l-317-139c0 0 4-4 19-14 7-5 24-15 24-15s-177-147-389 4c235-287 536-112 536-112l31-22 100 299-4-1z m-298-153c6-4 14-9 24-15 0 0-17 10-24 15z",transform:"matrix(1 0 0 -1 0 850)"},camera:{width:1e3,height:1e3,path:"m500 450c-83 0-150-67-150-150 0-83 67-150 150-150 83 0 150 67 150 150 0 83-67 150-150 150z m400 150h-120c-16 0-34 13-39 29l-31 93c-6 15-23 28-40 28h-340c-16 0-34-13-39-28l-31-94c-6-15-23-28-40-28h-120c-55 0-100-45-100-100v-450c0-55 45-100 100-100h800c55 0 100 45 100 100v450c0 55-45 100-100 100z m-400-550c-138 0-250 112-250 250 0 138 112 250 250 250 138 0 250-112 250-250 0-138-112-250-250-250z m365 380c-19 0-35 16-35 35 0 19 16 35 35 35 19 0 35-16 35-35 0-19-16-35-35-35z",transform:"matrix(1 0 0 -1 0 850)"},movie:{width:1e3,height:1e3,path:"m938 413l-188-125c0 37-17 71-44 94 64 38 107 107 107 187 0 121-98 219-219 219-121 0-219-98-219-219 0-61 25-117 66-156h-115c30 33 49 76 49 125 0 103-84 187-187 187s-188-84-188-187c0-57 26-107 65-141-38-22-65-62-65-109v-250c0-70 56-126 125-126h500c69 0 125 56 125 126l188-126c34 0 62 28 62 63v375c0 35-28 63-62 63z m-750 0c-69 0-125 56-125 125s56 125 125 125 125-56 125-125-56-125-125-125z m406-1c-87 0-157 70-157 157 0 86 70 156 157 156s156-70 156-156-70-157-156-157z",transform:"matrix(1 0 0 -1 0 850)"},question:{width:857.1,height:1e3,path:"m500 82v107q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h107q8 0 13 5t5 13z m143 375q0 49-31 91t-77 65-95 23q-136 0-207-119-9-14 4-24l74-55q4-4 10-4 9 0 14 7 30 38 48 51 19 14 48 14 27 0 48-15t21-33q0-21-11-34t-38-25q-35-16-65-48t-29-70v-20q0-8 5-13t13-5h107q8 0 13 5t5 13q0 10 12 27t30 28q18 10 28 16t25 19 25 27 16 34 7 45z m214-107q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z",transform:"matrix(1 0 0 -1 0 850)"},disk:{width:857.1,height:1e3,path:"m214-7h429v214h-429v-214z m500 0h72v500q0 8-6 21t-11 20l-157 156q-5 6-19 12t-22 5v-232q0-22-15-38t-38-16h-322q-22 0-37 16t-16 38v232h-72v-714h72v232q0 22 16 38t37 16h465q22 0 38-16t15-38v-232z m-214 518v178q0 8-5 13t-13 5h-107q-7 0-13-5t-5-13v-178q0-8 5-13t13-5h107q7 0 13 5t5 13z m357-18v-518q0-22-15-38t-38-16h-750q-23 0-38 16t-16 38v750q0 22 16 38t38 16h517q23 0 50-12t42-26l156-157q16-15 27-42t11-49z",transform:"matrix(1 0 0 -1 0 850)"},drawopenpath:{width:70,height:70,path:"M33.21,85.65a7.31,7.31,0,0,1-2.59-.48c-8.16-3.11-9.27-19.8-9.88-41.3-.1-3.58-.19-6.68-.35-9-.15-2.1-.67-3.48-1.43-3.79-2.13-.88-7.91,2.32-12,5.86L3,32.38c1.87-1.64,11.55-9.66,18.27-6.9,2.13.87,4.75,3.14,5.17,9,.17,2.43.26,5.59.36,9.25a224.17,224.17,0,0,0,1.5,23.4c1.54,10.76,4,12.22,4.48,12.4.84.32,2.79-.46,5.76-3.59L43,80.07C41.53,81.57,37.68,85.64,33.21,85.65ZM74.81,69a11.34,11.34,0,0,0,6.09-6.72L87.26,44.5,74.72,32,56.9,38.35c-2.37.86-5.57,3.42-6.61,6L38.65,72.14l8.42,8.43ZM55,46.27a7.91,7.91,0,0,1,3.64-3.17l14.8-5.3,8,8L76.11,60.6l-.06.19a6.37,6.37,0,0,1-3,3.43L48.25,74.59,44.62,71Zm16.57,7.82A6.9,6.9,0,1,0,64.64,61,6.91,6.91,0,0,0,71.54,54.09Zm-4.05,0a2.85,2.85,0,1,1-2.85-2.85A2.86,2.86,0,0,1,67.49,54.09Zm-4.13,5.22L60.5,56.45,44.26,72.7l2.86,2.86ZM97.83,35.67,84.14,22l-8.57,8.57L89.26,44.24Zm-13.69-8,8,8-2.85,2.85-8-8Z",transform:"matrix(1 0 0 1 -15 -15)"},drawclosedpath:{width:90,height:90,path:"M88.41,21.12a26.56,26.56,0,0,0-36.18,0l-2.07,2-2.07-2a26.57,26.57,0,0,0-36.18,0,23.74,23.74,0,0,0,0,34.8L48,90.12a3.22,3.22,0,0,0,4.42,0l36-34.21a23.73,23.73,0,0,0,0-34.79ZM84,51.24,50.16,83.35,16.35,51.25a17.28,17.28,0,0,1,0-25.47,20,20,0,0,1,27.3,0l4.29,4.07a3.23,3.23,0,0,0,4.44,0l4.29-4.07a20,20,0,0,1,27.3,0,17.27,17.27,0,0,1,0,25.46ZM66.76,47.68h-33v6.91h33ZM53.35,35H46.44V68h6.91Z",transform:"matrix(1 0 0 1 -5 -5)"},lasso:{width:1031,height:1e3,path:"m1018 538c-36 207-290 336-568 286-277-48-473-256-436-463 10-57 36-108 76-151-13-66 11-137 68-183 34-28 75-41 114-42l-55-70 0 0c-2-1-3-2-4-3-10-14-8-34 5-45 14-11 34-8 45 4 1 1 2 3 2 5l0 0 113 140c16 11 31 24 45 40 4 3 6 7 8 11 48-3 100 0 151 9 278 48 473 255 436 462z m-624-379c-80 14-149 48-197 96 42 42 109 47 156 9 33-26 47-66 41-105z m-187-74c-19 16-33 37-39 60 50-32 109-55 174-68-42-25-95-24-135 8z m360 75c-34-7-69-9-102-8 8 62-16 128-68 170-73 59-175 54-244-5-9 20-16 40-20 61-28 159 121 317 333 354s407-60 434-217c28-159-121-318-333-355z",transform:"matrix(1 0 0 -1 0 850)"},selectbox:{width:1e3,height:1e3,path:"m0 850l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-285l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z",transform:"matrix(1 0 0 -1 0 850)"},drawline:{width:70,height:70,path:"M60.64,62.3a11.29,11.29,0,0,0,6.09-6.72l6.35-17.72L60.54,25.31l-17.82,6.4c-2.36.86-5.57,3.41-6.6,6L24.48,65.5l8.42,8.42ZM40.79,39.63a7.89,7.89,0,0,1,3.65-3.17l14.79-5.31,8,8L61.94,54l-.06.19a6.44,6.44,0,0,1-3,3.43L34.07,68l-3.62-3.63Zm16.57,7.81a6.9,6.9,0,1,0-6.89,6.9A6.9,6.9,0,0,0,57.36,47.44Zm-4,0a2.86,2.86,0,1,1-2.85-2.85A2.86,2.86,0,0,1,53.32,47.44Zm-4.13,5.22L46.33,49.8,30.08,66.05l2.86,2.86ZM83.65,29,70,15.34,61.4,23.9,75.09,37.59ZM70,21.06l8,8-2.84,2.85-8-8ZM87,80.49H10.67V87H87Z",transform:"matrix(1 0 0 1 -15 -15)"},drawrect:{width:80,height:80,path:"M78,22V79H21V22H78m9-9H12V88H87V13ZM68,46.22H31V54H68ZM53,32H45.22V69H53Z",transform:"matrix(1 0 0 1 -10 -10)"},drawcircle:{width:80,height:80,path:"M50,84.72C26.84,84.72,8,69.28,8,50.3S26.84,15.87,50,15.87,92,31.31,92,50.3,73.16,84.72,50,84.72Zm0-60.59c-18.6,0-33.74,11.74-33.74,26.17S31.4,76.46,50,76.46,83.74,64.72,83.74,50.3,68.6,24.13,50,24.13Zm17.15,22h-34v7.11h34Zm-13.8-13H46.24v34h7.11Z",transform:"matrix(1 0 0 1 -10 -10)"},eraseshape:{width:80,height:80,path:"M82.77,78H31.85L6,49.57,31.85,21.14H82.77a8.72,8.72,0,0,1,8.65,8.77V69.24A8.72,8.72,0,0,1,82.77,78ZM35.46,69.84H82.77a.57.57,0,0,0,.49-.6V29.91a.57.57,0,0,0-.49-.61H35.46L17,49.57Zm32.68-34.7-24,24,5,5,24-24Zm-19,.53-5,5,24,24,5-5Z",transform:"matrix(1 0 0 1 -10 -10)"},spikeline:{width:1e3,height:1e3,path:"M512 409c0-57-46-104-103-104-57 0-104 47-104 104 0 57 47 103 104 103 57 0 103-46 103-103z m-327-39l92 0 0 92-92 0z m-185 0l92 0 0 92-92 0z m370-186l92 0 0 93-92 0z m0-184l92 0 0 92-92 0z",transform:"matrix(1.5 0 0 -1.5 0 850)"},pencil:{width:1792,height:1792,path:"M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z",transform:"matrix(1 0 0 1 0 1)"},newplotlylogo:{name:"newplotlylogo",svg:["<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 132 132'>","<defs>"," <style>"," .cls-0{fill:#000;}"," .cls-1{fill:#FFF;}"," .cls-2{fill:#F26;}"," .cls-3{fill:#D69;}"," .cls-4{fill:#BAC;}"," .cls-5{fill:#9EF;}"," </style>","</defs>"," <title>plotly-logomark</title>"," <g id='symbol'>"," <rect class='cls-0' x='0' y='0' width='132' height='132' rx='18' ry='18'/>"," <circle class='cls-5' cx='102' cy='30' r='6'/>"," <circle class='cls-4' cx='78' cy='30' r='6'/>"," <circle class='cls-4' cx='78' cy='54' r='6'/>"," <circle class='cls-3' cx='54' cy='30' r='6'/>"," <circle class='cls-2' cx='30' cy='30' r='6'/>"," <circle class='cls-2' cx='30' cy='54' r='6'/>"," <path class='cls-1' d='M30,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,30,72Z'/>"," <path class='cls-1' d='M78,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,78,72Z'/>"," <path class='cls-1' d='M54,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,54,48Z'/>"," <path class='cls-1' d='M102,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,102,48Z'/>"," </g>","</svg>"].join("")}}});var XA=J((_Rt,wQ)=>{"use strict";var WA=32;wQ.exports={CIRCLE_SIDES:WA,i000:0,i090:WA/4,i180:WA/2,i270:WA/4*3,cos45:Math.cos(Math.PI/4),sin45:Math.sin(Math.PI/4),SQRT2:Math.sqrt(2)}});var ZA=J((TRt,TQ)=>{"use strict";var s$e=gt().strTranslate;function _Q(e,t){switch(e.type){case"log":return e.p2d(t);case"date":return e.p2r(t,0,e.calendar);default:return e.p2r(t)}}function l$e(e,t){switch(e.type){case"log":return e.d2p(t);case"date":return e.r2p(t,0,e.calendar);default:return e.r2p(t)}}function u$e(e){var t=e._id.charAt(0)==="y"?1:0;return function(r){return _Q(e,r[t])}}function f$e(e){return s$e(e.xaxis._offset,e.yaxis._offset)}TQ.exports={p2r:_Q,r2p:l$e,axValue:u$e,getTransform:f$e}});var x0=J(Qv=>{"use strict";var c$e=CL(),kQ=XA(),ey=kQ.CIRCLE_SIDES,BD=kQ.SQRT2,SQ=ZA(),AQ=SQ.p2r,MQ=SQ.r2p,h$e=[0,3,4,5,6,1,2],v$e=[0,3,4,1,2];Qv.writePaths=function(e){var t=e.length;if(!t)return"M0,0Z";for(var r="",n=0;n<t;n++)for(var i=e[n].length,a=0;a<i;a++){var o=e[n][a][0];if(o==="Z")r+="Z";else for(var s=e[n][a].length,l=0;l<s;l++){var u=l;o==="Q"||o==="S"?u=v$e[l]:o==="C"&&(u=h$e[l]),r+=e[n][a][u],l>0&&l<s-1&&(r+=",")}}return r};Qv.readPaths=function(e,t,r,n){var i=c$e(e),a=[],o=-1,s=function(){o++,a[o]=[]},l,u=0,f=0,c,h,d=function(){c=u,h=f};d();for(var v=0;v<i.length;v++){var m=[],b,g,_,T,w=i[v][0],k=w;switch(w){case"M":s(),u=+i[v][1],f=+i[v][2],m.push([k,u,f]),d();break;case"Q":case"S":b=+i[v][1],_=+i[v][2],u=+i[v][3],f=+i[v][4],m.push([k,u,f,b,_]);break;case"C":b=+i[v][1],_=+i[v][2],g=+i[v][3],T=+i[v][4],u=+i[v][5],f=+i[v][6],m.push([k,u,f,b,_,g,T]);break;case"T":case"L":u=+i[v][1],f=+i[v][2],m.push([k,u,f]);break;case"H":k="L",u=+i[v][1],m.push([k,u,f]);break;case"V":k="L",f=+i[v][1],m.push([k,u,f]);break;case"A":k="L";var x=+i[v][1],M=+i[v][2];+i[v][4]||(x=-x,M=-M);var A=u-x,p=f;for(l=1;l<=ey/2;l++){var S=2*Math.PI*l/ey;m.push([k,A+x*Math.cos(S),p+M*Math.sin(S)])}break;case"Z":(u!==c||f!==h)&&(u=c,f=h,m.push([k,u,f]));break}for(var y=(r||{}).domain,E=t._fullLayout._size,C=r&&r.xsizemode==="pixel",L=r&&r.ysizemode==="pixel",R=n===!1,I=0;I<m.length;I++){for(l=0;l+2<7;l+=2){var P=m[I][l+1],D=m[I][l+2];P===void 0||D===void 0||(u=P,f=D,r&&(r.xaxis&&r.xaxis.p2r?(R&&(P-=r.xaxis._offset),C?P=MQ(r.xaxis,r.xanchor)+P:P=AQ(r.xaxis,P)):(R&&(P-=E.l),y?P=y.x[0]+P/E.w:P=P/E.w),r.yaxis&&r.yaxis.p2r?(R&&(D-=r.yaxis._offset),L?D=MQ(r.yaxis,r.yanchor)-D:D=AQ(r.yaxis,D)):(R&&(D-=E.t),y?D=y.y[1]-D/E.h:D=1-D/E.h)),m[I][l+1]=P,m[I][l+2]=D)}a[o].push(m[I].slice())}}return a};function x2(e,t){return Math.abs(e-t)<=1e-6}function JA(e,t){var r=t[1]-e[1],n=t[2]-e[2];return Math.sqrt(r*r+n*n)}Qv.pointsOnRectangle=function(e){var t=e.length;if(t!==5)return!1;for(var r=1;r<3;r++){var n=e[0][r]-e[1][r],i=e[3][r]-e[2][r];if(!x2(n,i))return!1;var a=e[0][r]-e[3][r],o=e[1][r]-e[2][r];if(!x2(a,o))return!1}return!x2(e[0][1],e[1][1])&&!x2(e[0][1],e[3][1])?!1:!!(JA(e[0],e[1])*JA(e[0],e[3]))};Qv.pointsOnEllipse=function(e){var t=e.length;if(t!==ey+1)return!1;t=ey;for(var r=0;r<t;r++){var n=(t*2-r)%t,i=(t/2+n)%t,a=(t/2+r)%t;if(!x2(JA(e[r],e[a]),JA(e[n],e[i])))return!1}return!0};Qv.handleEllipse=function(e,t,r){if(!e)return[t,r];var n=Qv.ellipseOver({x0:t[0],y0:t[1],x1:r[0],y1:r[1]}),i=(n.x1+n.x0)/2,a=(n.y1+n.y0)/2,o=(n.x1-n.x0)/2,s=(n.y1-n.y0)/2;o||(o=s=s/BD),s||(s=o=o/BD);for(var l=[],u=0;u<ey;u++){var f=u*2*Math.PI/ey;l.push([i+o*Math.cos(f),a+s*Math.sin(f)])}return l};Qv.ellipseOver=function(e){var t=e.x0,r=e.y0,n=e.x1,i=e.y1,a=n-t,o=i-r;t-=a,r-=o;var s=(t+n)/2,l=(r+i)/2,u=BD;return a*=u,o*=u,{x0:s-a,y0:l-o,x1:s+a,y1:l+o}};Qv.fixDatesForPaths=function(e,t,r){var n=t.type==="date",i=r.type==="date";if(!n&&!i)return e;for(var a=0;a<e.length;a++)for(var o=0;o<e[a].length;o++)for(var s=0;s+2<e[a][o].length;s+=2)n&&(e[a][o][s+1]=e[a][o][s+1].replace(" ","_")),i&&(e[a][o][s+2]=e[a][o][s+2].replace(" ","_"));return e}});var QA=J((MRt,qQ)=>{"use strict";var RQ=y0(),d$e=RQ.drawMode,p$e=RQ.openMode,ty=XA(),CQ=ty.i000,EQ=ty.i090,LQ=ty.i180,DQ=ty.i270,g$e=ty.cos45,m$e=ty.sin45,PQ=ZA(),$A=PQ.p2r,b0=PQ.r2p,y$e=l0(),x$e=y$e.clearOutline,KA=x0(),b$e=KA.readPaths,w$e=KA.writePaths,_$e=KA.ellipseOver,T$e=KA.fixDatesForPaths;function A$e(e,t){if(e.length){var r=e[0][0];if(r){var n=t.gd,i=t.isActiveShape,a=t.dragmode,o=(n.layout||{}).shapes||[];if(!d$e(a)&&i!==void 0){var s=n._fullLayout._activeShapeIndex;if(s<o.length)switch(n._fullLayout.shapes[s].type){case"rect":a="drawrect";break;case"circle":a="drawcircle";break;case"line":a="drawline";break;case"path":var l=o[s].path||"";l[l.length-1]==="Z"?a="drawclosedpath":a="drawopenpath";break}}var u=IQ(e,t,a);x$e(n);for(var f=t.editHelpers,c=(f||{}).modifyItem,h=[],d=0;d<o.length;d++){var v=n._fullLayout.shapes[d];if(h[d]=v._input,i!==void 0&&d===n._fullLayout._activeShapeIndex){var m=u;switch(v.type){case"line":case"rect":case"circle":c("x0",m.x0-(v.x0shift||0)),c("x1",m.x1-(v.x1shift||0)),c("y0",m.y0-(v.y0shift||0)),c("y1",m.y1-(v.y1shift||0));break;case"path":c("path",m.path);break}}}return i===void 0?(h.push(u),h):f?f.getUpdateObj():{}}}}function IQ(e,t,r){var n=e[0][0],i=t.gd,a=n.getAttribute("d"),o=i._fullLayout.newshape,s=t.plotinfo,l=t.isActiveShape,u=s.xaxis,f=s.yaxis,c=!!s.domain||!s.xaxis,h=!!s.domain||!s.yaxis,d=p$e(r),v=b$e(a,i,s,l),m={editable:!0,visible:o.visible,name:o.name,showlegend:o.showlegend,legend:o.legend,legendwidth:o.legendwidth,legendgroup:o.legendgroup,legendgrouptitle:{text:o.legendgrouptitle.text,font:o.legendgrouptitle.font},legendrank:o.legendrank,label:o.label,xref:c?"paper":u._id,yref:h?"paper":f._id,layer:o.layer,opacity:o.opacity,line:{color:o.line.color,width:o.line.width,dash:o.line.dash}};d||(m.fillcolor=o.fillcolor,m.fillrule=o.fillrule);var b;if(v.length===1&&(b=v[0]),b&&b.length===5&&r==="drawrect")m.type="rect",m.x0=b[0][1],m.y0=b[0][2],m.x1=b[2][1],m.y1=b[2][2];else if(b&&r==="drawline")m.type="line",m.x0=b[0][1],m.y0=b[0][2],m.x1=b[1][1],m.y1=b[1][2];else if(b&&r==="drawcircle"){m.type="circle";var g=b[CQ][1],_=b[EQ][1],T=b[LQ][1],w=b[DQ][1],k=b[CQ][2],x=b[EQ][2],M=b[LQ][2],A=b[DQ][2],p=s.xaxis&&(s.xaxis.type==="date"||s.xaxis.type==="log"),S=s.yaxis&&(s.yaxis.type==="date"||s.yaxis.type==="log");p&&(g=b0(s.xaxis,g),_=b0(s.xaxis,_),T=b0(s.xaxis,T),w=b0(s.xaxis,w)),S&&(k=b0(s.yaxis,k),x=b0(s.yaxis,x),M=b0(s.yaxis,M),A=b0(s.yaxis,A));var y=(_+w)/2,E=(k+M)/2,C=(w-_+T-g)/2,L=(A-x+M-k)/2,R=_$e({x0:y,y0:E,x1:y+C*g$e,y1:E+L*m$e});p&&(R.x0=$A(s.xaxis,R.x0),R.x1=$A(s.xaxis,R.x1)),S&&(R.y0=$A(s.yaxis,R.y0),R.y1=$A(s.yaxis,R.y1)),m.x0=R.x0,m.y0=R.y0,m.x1=R.x1,m.y1=R.y1}else m.type="path",u&&f&&T$e(v,u,f),m.path=w$e(v),b=null;return m}qQ.exports={newShapes:A$e,createShapeObj:IQ}});var HD=J((kRt,FQ)=>{"use strict";var M$e=y0(),k$e=M$e.selectMode,S$e=l0(),C$e=S$e.clearOutline,UD=x0(),E$e=UD.readPaths,L$e=UD.writePaths,D$e=UD.fixDatesForPaths;FQ.exports=function(t,r){if(t.length){var n=t[0][0];if(n){var i=n.getAttribute("d"),a=r.gd,o=a._fullLayout.newselection,s=r.plotinfo,l=s.xaxis,u=s.yaxis,f=r.isActiveSelection,c=r.dragmode,h=(a.layout||{}).selections||[];if(!k$e(c)&&f!==void 0){var d=a._fullLayout._activeSelectionIndex;if(d<h.length)switch(a._fullLayout.selections[d].type){case"rect":c="select";break;case"path":c="lasso";break}}var v=E$e(i,a,s,f),m={xref:l._id,yref:u._id,opacity:o.opacity,line:{color:o.line.color,width:o.line.width,dash:o.line.dash}},b;v.length===1&&(b=v[0]),b&&b.length===5&&c==="select"?(m.type="rect",m.x0=b[0][1],m.y0=b[0][2],m.x1=b[2][1],m.y1=b[2][2]):(m.type="path",l&&u&&D$e(v,l,u),m.path=L$e(v),b=null),C$e(a);for(var g=r.editHelpers,_=(g||{}).modifyItem,T=[],w=0;w<h.length;w++){var k=a._fullLayout.selections[w];if(!k){T[w]=k;continue}if(T[w]=k._input,f!==void 0&&w===a._fullLayout._activeSelectionIndex){var x=m;switch(k.type){case"rect":_("x0",x.x0),_("x1",x.x1),_("y0",x.y0),_("y1",x.y1);break;case"path":_("path",x.path);break}}}return f===void 0?(T.push(m),T):g?g.getUpdateObj():{}}}}});var b2=J((SRt,zQ)=>{"use strict";zQ.exports={segmentRE:/[MLHVQCTSZ][^MLHVQCTSZ]*/g,paramRE:/[^\s,]+/g,paramIsX:{M:{0:!0,drawn:0},L:{0:!0,drawn:0},H:{0:!0,drawn:0},V:{},Q:{0:!0,2:!0,drawn:2},C:{0:!0,2:!0,4:!0,drawn:4},T:{0:!0,drawn:0},S:{0:!0,2:!0,drawn:2},Z:{}},paramIsY:{M:{1:!0,drawn:1},L:{1:!0,drawn:1},H:{},V:{0:!0,drawn:0},Q:{1:!0,3:!0,drawn:3},C:{1:!0,3:!0,5:!0,drawn:5},T:{1:!0,drawn:1},S:{1:!0,3:!0,drawn:5},Z:{}},numParams:{M:2,L:2,H:1,V:1,Q:4,C:6,T:2,S:4,Z:0}}});var w0=J(Cs=>{"use strict";var cg=b2(),NQ=gt(),eM=nn();Cs.rangeToShapePosition=function(e){return e.type==="log"?e.r2d:function(t){return t}};Cs.shapePositionToRange=function(e){return e.type==="log"?e.d2r:function(t){return t}};Cs.decodeDate=function(e){return function(t){return t.replace&&(t=t.replace("_"," ")),e(t)}};Cs.encodeDate=function(e){return function(t){return e(t).replace(" ","_")}};Cs.extractPathCoords=function(e,t,r){var n=[],i=e.match(cg.segmentRE);return i.forEach(function(a){var o=t[a.charAt(0)].drawn;if(o!==void 0){var s=a.substr(1).match(cg.paramRE);if(!(!s||s.length<o)){var l=s[o],u=r?l:NQ.cleanNumber(l);n.push(u)}}}),n};Cs.getDataToPixel=function(e,t,r,n,i){var a=e._fullLayout._size,o;if(t)if(i==="domain")o=function(l){return t._length*(n?1-l:l)+t._offset};else{var s=Cs.shapePositionToRange(t);o=function(l){var u=w2(t,r);return t._offset+t.r2p(s(l,!0))+u},t.type==="date"&&(o=Cs.decodeDate(o))}else n?o=function(l){return a.t+a.h*(1-l)}:o=function(l){return a.l+a.w*l};return o};Cs.getPixelToData=function(e,t,r,n){var i=e._fullLayout._size,a;if(t)if(n==="domain")a=function(s){var l=(s-t._offset)/t._length;return r?1-l:l};else{var o=Cs.rangeToShapePosition(t);a=function(s){return o(t.p2r(s-t._offset))}}else r?a=function(s){return 1-(s-i.t)/i.h}:a=function(s){return(s-i.l)/i.w};return a};Cs.roundPositionForSharpStrokeRendering=function(e,t){var r=Math.round(t%2)===1,n=Math.round(e);return r?n+.5:n};Cs.makeShapesOptionsAndPlotinfo=function(e,t){var r=e._fullLayout.shapes[t]||{},n=e._fullLayout._plots[r.xref+r.yref],i=!!n;return i?n._hadPlotinfo=!0:(n={},r.xref&&r.xref!=="paper"&&(n.xaxis=e._fullLayout[r.xref+"axis"]),r.yref&&r.yref!=="paper"&&(n.yaxis=e._fullLayout[r.yref+"axis"])),n.xsizemode=r.xsizemode,n.ysizemode=r.ysizemode,n.xanchor=r.xanchor,n.yanchor=r.yanchor,{options:r,plotinfo:n}};Cs.makeSelectionsOptionsAndPlotinfo=function(e,t){var r=e._fullLayout.selections[t]||{},n=e._fullLayout._plots[r.xref+r.yref],i=!!n;return i?n._hadPlotinfo=!0:(n={},r.xref&&(n.xaxis=e._fullLayout[r.xref+"axis"]),r.yref&&(n.yaxis=e._fullLayout[r.yref+"axis"])),{options:r,plotinfo:n}};Cs.getPathString=function(e,t){var r=t.type,n=eM.getRefType(t.xref),i=eM.getRefType(t.yref),a=eM.getFromId(e,t.xref),o=eM.getFromId(e,t.yref),s=e._fullLayout._size,l,u,f,c,h=w2(a,t.x0shift),d=w2(a,t.x1shift),v=w2(o,t.y0shift),m=w2(o,t.y1shift),b,g,_,T;if(a?n==="domain"?u=function(C){return a._offset+a._length*C}:(l=Cs.shapePositionToRange(a),u=function(C){return a._offset+a.r2p(l(C,!0))}):u=function(C){return s.l+s.w*C},o?i==="domain"?c=function(C){return o._offset+o._length*(1-C)}:(f=Cs.shapePositionToRange(o),c=function(C){return o._offset+o.r2p(f(C,!0))}):c=function(C){return s.t+s.h*(1-C)},r==="path")return a&&a.type==="date"&&(u=Cs.decodeDate(u)),o&&o.type==="date"&&(c=Cs.decodeDate(c)),R$e(t,u,c);if(t.xsizemode==="pixel"){var w=u(t.xanchor);b=w+t.x0+h,g=w+t.x1+d}else b=u(t.x0)+h,g=u(t.x1)+d;if(t.ysizemode==="pixel"){var k=c(t.yanchor);_=k-t.y0+v,T=k-t.y1+m}else _=c(t.y0)+v,T=c(t.y1)+m;if(r==="line")return"M"+b+","+_+"L"+g+","+T;if(r==="rect")return"M"+b+","+_+"H"+g+"V"+T+"H"+b+"Z";var x=(b+g)/2,M=(_+T)/2,A=Math.abs(x-b),p=Math.abs(M-_),S="A"+A+","+p,y=x+A+","+M,E=x+","+(M-p);return"M"+y+S+" 0 1,1 "+E+S+" 0 0,1 "+y+"Z"};function R$e(e,t,r){var n=e.path,i=e.xsizemode,a=e.ysizemode,o=e.xanchor,s=e.yanchor;return n.replace(cg.segmentRE,function(l){var u=0,f=l.charAt(0),c=cg.paramIsX[f],h=cg.paramIsY[f],d=cg.numParams[f],v=l.substr(1).replace(cg.paramRE,function(m){return c[u]?i==="pixel"?m=t(o)+Number(m):m=t(m):h[u]&&(a==="pixel"?m=r(s)-Number(m):m=r(m)),u++,u>d&&(m="X"),m});return u>d&&(v=v.replace(/[\s,]*X.*/,""),NQ.log("Ignoring extra params in segment "+l)),f+v})}function w2(e,t){t=t||0;var r=0;return t&&e&&(e.type==="category"||e.type==="multicategory")&&(r=(e.r2p(1)-e.r2p(0))*t),r}});var VD=J((ERt,HQ)=>{"use strict";var P$e=gt(),ry=nn(),OQ=ca(),BQ=ln(),I$e=x0().readPaths,jD=w0(),q$e=jD.getPathString,UQ=MT(),F$e=Vo().FROM_TL;HQ.exports=function(t,r,n,i){if(i.selectAll(".shape-label").remove(),!!(n.label.text||n.label.texttemplate)){var a;if(n.label.texttemplate){var o={};if(n.type!=="path"){var s=ry.getFromId(t,n.xref),l=ry.getFromId(t,n.yref);for(var u in UQ){var f=UQ[u](n,s,l);f!==void 0&&(o[u]=f)}}a=P$e.texttemplateStringForShapes(n.label.texttemplate,{},t._fullLayout._d3locale,o)}else a=n.label.text;var c={"data-index":r},h=n.label.font,d={"data-notex":1},v=i.append("g").attr(c).classed("shape-label",!0),m=v.append("text").attr(d).classed("shape-label-text",!0).text(a),b,g,_,T;if(n.path){var w=q$e(t,n),k=I$e(w,t);b=1/0,_=1/0,g=-1/0,T=-1/0;for(var x=0;x<k.length;x++)for(var M=0;M<k[x].length;M++)for(var A=k[x][M],p=1;p<A.length;p+=2){var S=A[p],y=A[p+1];b=Math.min(b,S),g=Math.max(g,S),_=Math.min(_,y),T=Math.max(T,y)}}else{var E=ry.getFromId(t,n.xref),C=n.x0shift,L=n.x1shift,R=ry.getRefType(n.xref),I=ry.getFromId(t,n.yref),P=n.y0shift,D=n.y1shift,q=ry.getRefType(n.yref),N=function(K,$){var oe=jD.getDataToPixel(t,E,$,!1,R);return oe(K)},U=function(K,$){var oe=jD.getDataToPixel(t,I,$,!0,q);return oe(K)};b=N(n.x0,C),g=N(n.x1,L),_=U(n.y0,P),T=U(n.y1,D)}var G=n.label.textangle;G==="auto"&&(n.type==="line"?G=z$e(b,_,g,T):G=0),m.call(function(K){return K.call(BQ.font,h).attr({}),OQ.convertToTspans(K,t),K});var ee=BQ.bBox(m.node()),Q=N$e(b,_,g,T,n,G,ee),j=Q.textx,O=Q.texty,Z=Q.xanchor;m.attr({"text-anchor":{left:"start",center:"middle",right:"end"}[Z],y:O,x:j,transform:"rotate("+G+","+j+","+O+")"}).call(OQ.positionText,j,O)}};function z$e(e,t,r,n){var i,a;return a=Math.abs(r-e),r>=e?i=t-n:i=n-t,-180/Math.PI*Math.atan2(i,a)}function N$e(e,t,r,n,i,a,o){var s=i.label.textposition,l=i.label.textangle,u=i.label.padding,f=i.type,c=Math.PI/180*a,h=Math.sin(c),d=Math.cos(c),v=i.label.xanchor,m=i.label.yanchor,b,g,_,T;if(f==="line"){s==="start"?(b=e,g=t):s==="end"?(b=r,g=n):(b=(e+r)/2,g=(t+n)/2),v==="auto"&&(s==="start"?l==="auto"?r>e?v="left":r<e?v="right":v="center":r>e?v="right":r<e?v="left":v="center":s==="end"?l==="auto"?r>e?v="right":r<e?v="left":v="center":r>e?v="left":r<e?v="right":v="center":v="center");var w={left:1,center:0,right:-1},k={bottom:-1,middle:0,top:1};if(l==="auto"){var x=k[m];_=-u*h*x,T=u*d*x}else{var M=w[v],A=k[m];_=u*M,T=u*A}b=b+_,g=g+T}else _=u+3,s.indexOf("right")!==-1?(b=Math.max(e,r)-_,v==="auto"&&(v="right")):s.indexOf("left")!==-1?(b=Math.min(e,r)+_,v==="auto"&&(v="left")):(b=(e+r)/2,v==="auto"&&(v="center")),s.indexOf("top")!==-1?g=Math.min(t,n):s.indexOf("bottom")!==-1?g=Math.max(t,n):g=(t+n)/2,T=u,m==="bottom"?g=g-T:m==="top"&&(g=g+T);var p=F$e[m],S=i.label.font.size,y=o.height,E=(y*p-S)*h,C=-(y*p-S)*d;return{textx:b+E,texty:g+C,xanchor:v}}});var nM=J((LRt,JQ)=>{"use strict";var O$e=gt(),B$e=O$e.strTranslate,jQ=iu(),GQ=y0(),U$e=GQ.drawMode,WQ=GQ.selectMode,XQ=zr(),VQ=qr(),rM=XA(),H$e=rM.i000,j$e=rM.i090,V$e=rM.i180,Y$e=rM.i270,G$e=l0(),ZQ=G$e.clearOutlineControllers,GD=x0(),tM=GD.pointsOnRectangle,YD=GD.pointsOnEllipse,W$e=GD.writePaths,X$e=QA().newShapes,Z$e=QA().createShapeObj,J$e=HD(),$$e=VD();JQ.exports=function e(t,r,n,i){i||(i=0);var a=n.gd;function o(){e(t,r,n,i++),(YD(t[0])||n.hasText)&&s({redrawing:!0})}function s(P){var D={};n.isActiveShape!==void 0&&(n.isActiveShape=!1,D=X$e(r,n)),n.isActiveSelection!==void 0&&(n.isActiveSelection=!1,D=J$e(r,n),a._fullLayout._reselect=!0),Object.keys(D).length&&XQ.call((P||{}).redrawing?"relayout":"_guiRelayout",a,D)}var l=a._fullLayout,u=l._zoomlayer,f=n.dragmode,c=U$e(f),h=WQ(f);(c||h)&&(a._fullLayout._outlining=!0),ZQ(a),r.attr("d",W$e(t));var d,v,m,b,g;if(!i&&(n.isActiveShape||n.isActiveSelection)){g=K$e([],t);var _=u.append("g").attr("class","outline-controllers");S(_),I()}if(c&&n.hasText){var T=u.select(".label-temp"),w=Z$e(r,n,n.dragmode);$$e(a,"label-temp",w,T)}function k(P){m=+P.srcElement.getAttribute("data-i"),b=+P.srcElement.getAttribute("data-j"),d[m][b].moveFn=x}function x(P,D){if(t.length){var q=g[m][b][1],N=g[m][b][2],U=t[m],G=U.length;if(tM(U)){var ee=P,Q=D;if(n.isActiveSelection){var j=YQ(U,b);j[1]===U[b][1]?Q=0:ee=0}for(var O=0;O<G;O++)if(O!==b){var Z=U[O];Z[1]===U[b][1]&&(Z[1]=q+ee),Z[2]===U[b][2]&&(Z[2]=N+Q)}if(U[b][1]=q+ee,U[b][2]=N+Q,!tM(U))for(var K=0;K<G;K++)for(var $=0;$<U[K].length;$++)U[K][$]=g[m][K][$]}else U[b][1]=q+P,U[b][2]=N+D;o()}}function M(){s()}function A(){if(t.length&&t[m]&&t[m].length){for(var P=[],D=0;D<t[m].length;D++)D!==b&&P.push(t[m][D]);P.length>1&&!(P.length===2&&P[1][0]==="Z")&&(b===0&&(P[0][0]="M"),t[m]=P,o(),s())}}function p(P,D){if(P===2){m=+D.srcElement.getAttribute("data-i"),b=+D.srcElement.getAttribute("data-j");var q=t[m];!tM(q)&&!YD(q)&&A()}}function S(P){d=[];for(var D=0;D<t.length;D++){var q=t[D],N=tM(q),U=!N&&YD(q);d[D]=[];for(var G=q.length,ee=0;ee<G;ee++)if(q[ee][0]!=="Z"&&!(U&&ee!==H$e&&ee!==j$e&&ee!==V$e&&ee!==Y$e)){var Q=N&&n.isActiveSelection,j;Q&&(j=YQ(q,ee));var O=q[ee][1],Z=q[ee][2],K=P.append(Q?"rect":"circle").attr("data-i",D).attr("data-j",ee).style({fill:VQ.background,stroke:VQ.defaultLine,"stroke-width":1,"shape-rendering":"crispEdges"});if(Q){var $=j[1]-O,oe=j[2]-Z,te=oe?5:Math.max(Math.min(25,Math.abs($)-5),5),V=$?5:Math.max(Math.min(25,Math.abs(oe)-5),5);K.classed(oe?"cursor-ew-resize":"cursor-ns-resize",!0).attr("width",te).attr("height",V).attr("x",O-te/2).attr("y",Z-V/2).attr("transform",B$e($/2,oe/2))}else K.classed("cursor-grab",!0).attr("r",5).attr("cx",O).attr("cy",Z);d[D][ee]={element:K.node(),gd:a,prepFn:k,doneFn:M,clickFn:p},jQ.init(d[D][ee])}}}function y(P,D){if(t.length)for(var q=0;q<t.length;q++)for(var N=0;N<t[q].length;N++)for(var U=0;U+2<t[q][N].length;U+=2)t[q][N][U+1]=g[q][N][U+1]+P,t[q][N][U+2]=g[q][N][U+2]+D}function E(P,D){y(P,D),o()}function C(P){m=+P.srcElement.getAttribute("data-i"),m||(m=0),v[m].moveFn=E}function L(){s()}function R(P){P===2&&Q$e(a)}function I(){if(v=[],!!t.length){var P=0;v[P]={element:r[0][0],gd:a,prepFn:C,doneFn:L,clickFn:R},jQ.init(v[P])}}};function K$e(e,t){for(var r=0;r<t.length;r++){var n=t[r];e[r]=[];for(var i=0;i<n.length;i++){e[r][i]=[];for(var a=0;a<n[i].length;a++)e[r][i][a]=n[i][a]}}return e}function YQ(e,t){var r=e[t][1],n=e[t][2],i=e.length,a,o,s;return a=(t+1)%i,o=e[a][1],s=e[a][2],o===r&&s===n&&(a=(t+2)%i,o=e[a][1],s=e[a][2]),[a,o,s]}function Q$e(e){if(WQ(e._fullLayout.dragmode)){ZQ(e);var t=e._fullLayout._activeSelectionIndex,r=(e.layout||{}).selections||[];if(t<r.length){for(var n=[],i=0;i<r.length;i++)i!==t&&n.push(r[i]);delete e._fullLayout._activeSelectionIndex;var a=e._fullLayout.selections[t];e._fullLayout._deselect={xref:a.xref,yref:a.yref},XQ.call("_guiRelayout",e,{selections:n})}}}});var sM=J((DRt,oee)=>{"use strict";var eKe=Nr(),ree=zr(),$Q=gt(),ny=nn(),tKe=x0().readPaths,rKe=nM(),aM=VD(),nee=l0().clearOutlineControllers,WD=qr(),ZD=ln(),nKe=ki().arrayEditor,KQ=iu(),QQ=th(),hg=b2(),ju=w0(),XD=ju.getPathString;oee.exports={draw:JD,drawOne:iee,eraseActiveShape:oKe,drawLabel:aM};function JD(e){var t=e._fullLayout;t._shapeUpperLayer.selectAll("path").remove(),t._shapeLowerLayer.selectAll("path").remove(),t._shapeUpperLayer.selectAll("text").remove(),t._shapeLowerLayer.selectAll("text").remove();for(var r in t._plots){var n=t._plots[r].shapelayer;n&&(n.selectAll("path").remove(),n.selectAll("text").remove())}for(var i=0;i<t.shapes.length;i++)t.shapes[i].visible===!0&&iee(e,i)}function iM(e){return!!e._fullLayout._outlining}function oM(e){return!e._context.edits.shapePosition}function iee(e,t){e._fullLayout._paperdiv.selectAll('.shapelayer [data-index="'+t+'"]').remove();var r=ju.makeShapesOptionsAndPlotinfo(e,t),n=r.options,i=r.plotinfo;if(!n._input||n.visible!==!0)return;if(n.layer==="above")o(e._fullLayout._shapeUpperLayer);else if(n.xref==="paper"||n.yref==="paper")o(e._fullLayout._shapeLowerLayer);else if(n.layer==="between")o(i.shapelayerBetween);else if(i._hadPlotinfo){var a=i.mainplotinfo||i;o(a.shapelayer)}else o(e._fullLayout._shapeLowerLayer);function o(s){var l=XD(e,n),u={"data-index":t,"fill-rule":n.fillrule,d:l},f=n.opacity,c=n.fillcolor,h=n.line.width?n.line.color:"rgba(0,0,0,0)",d=n.line.width,v=n.line.dash;!d&&n.editable===!0&&(d=5,v="solid");var m=l[l.length-1]!=="Z",b=oM(e)&&n.editable&&e._fullLayout._activeShapeIndex===t;b&&(c=m?"rgba(0,0,0,0)":e._fullLayout.activeshape.fillcolor,f=e._fullLayout.activeshape.opacity);var g=s.append("g").classed("shape-group",!0).attr({"data-index":t}),_=g.append("path").attr(u).style("opacity",f).call(WD.stroke,h).call(WD.fill,c).call(ZD.dashLine,v,d);aee(g,e,n),aM(e,t,n,g);var T;if((b||e._context.edits.shapePosition)&&(T=nKe(e.layout,"shapes",n)),b){_.style({cursor:"move"});var w={element:_.node(),plotinfo:i,gd:e,editHelpers:T,hasText:n.label.text||n.label.texttemplate,isActiveShape:!0},k=tKe(l,e);rKe(k,_,w)}else e._context.edits.shapePosition?iKe(e,_,n,t,s,T):n.editable===!0&&_.style("pointer-events",m||WD.opacity(c)*f<=.5?"stroke":"all");_.node().addEventListener("click",function(){return aKe(e,_)})}}function aee(e,t,r){var n=(r.xref+r.yref).replace(/paper/g,"").replace(/[xyz][1-9]* *domain/g,"");ZD.setClipUrl(e,n?"clip"+t._fullLayout._uid+n:null,t)}function iKe(e,t,r,n,i,a){var o=10,s=10,l=r.xsizemode==="pixel",u=r.ysizemode==="pixel",f=r.type==="line",c=r.type==="path",h=a.modifyItem,d,v,m,b,g,_,T,w,k,x,M,A,p,S,y,E=eKe.select(t.node().parentNode),C=ny.getFromId(e,r.xref),L=ny.getRefType(r.xref),R=ny.getFromId(e,r.yref),I=ny.getRefType(r.yref),P=r.x0shift,D=r.x1shift,q=r.y0shift,N=r.y1shift,U=function(pe,me){var Ie=ju.getDataToPixel(e,C,me,!1,L);return Ie(pe)},G=function(pe,me){var Ie=ju.getDataToPixel(e,R,me,!0,I);return Ie(pe)},ee=ju.getPixelToData(e,C,!1,L),Q=ju.getPixelToData(e,R,!0,I),j=K(),O={element:j.node(),gd:e,prepFn:te,doneFn:V,clickFn:ne},Z;KQ.init(O),j.node().onmousemove=oe;function K(){return f?$():t}function $(){var pe=10,me=Math.max(r.line.width,pe),Ie=i.append("g").attr("data-index",n).attr("drag-helper",!0);Ie.append("path").attr("d",t.attr("d")).style({cursor:"move","stroke-width":me,"stroke-opacity":"0"});var Re={"fill-opacity":"0"},ze=Math.max(me/2,pe);return Ie.append("circle").attr({"data-line-point":"start-point",cx:l?U(r.xanchor)+r.x0:U(r.x0,P),cy:u?G(r.yanchor)-r.y0:G(r.y0,q),r:ze}).style(Re).classed("cursor-grab",!0),Ie.append("circle").attr({"data-line-point":"end-point",cx:l?U(r.xanchor)+r.x1:U(r.x1,D),cy:u?G(r.yanchor)-r.y1:G(r.y1,N),r:ze}).style(Re).classed("cursor-grab",!0),Ie}function oe(pe){if(iM(e)){Z=null;return}if(f)pe.target.tagName==="path"?Z="move":Z=pe.target.attributes["data-line-point"].value==="start-point"?"resize-over-start-point":"resize-over-end-point";else{var me=O.element.getBoundingClientRect(),Ie=me.right-me.left,Re=me.bottom-me.top,ze=pe.clientX-me.left,Be=pe.clientY-me.top,tt=!c&&Ie>o&&Re>s&&!pe.shiftKey?KQ.getCursor(ze/Ie,1-Be/Re):"move";QQ(t,tt),Z=tt.split("-")[0]}}function te(pe){iM(e)||(l&&(g=U(r.xanchor)),u&&(_=G(r.yanchor)),r.type==="path"?y=r.path:(d=l?r.x0:U(r.x0),v=u?r.y0:G(r.y0),m=l?r.x1:U(r.x1),b=u?r.y1:G(r.y1)),d<m?(k=d,p="x0",x=m,S="x1"):(k=m,p="x1",x=d,S="x0"),!u&&v<b||u&&v>b?(T=v,M="y0",w=b,A="y1"):(T=b,M="y1",w=v,A="y0"),oe(pe),ge(i,r),Ne(t,r,e),O.moveFn=Z==="move"?W:fe,O.altKey=pe.altKey)}function V(){iM(e)||(QQ(t),Ce(i),aee(t,e,r),ree.call("_guiRelayout",e,a.getUpdateObj()))}function ne(){iM(e)||Ce(i)}function W(pe,me){if(r.type==="path"){var Ie=function(Be){return Be},Re=Ie,ze=Ie;l?h("xanchor",r.xanchor=ee(g+pe)):(Re=function(tt){return ee(U(tt)+pe)},C&&C.type==="date"&&(Re=ju.encodeDate(Re))),u?h("yanchor",r.yanchor=Q(_+me)):(ze=function(tt){return Q(G(tt)+me)},R&&R.type==="date"&&(ze=ju.encodeDate(ze))),h("path",r.path=eee(y,Re,ze))}else l?h("xanchor",r.xanchor=ee(g+pe)):(h("x0",r.x0=ee(d+pe)),h("x1",r.x1=ee(m+pe))),u?h("yanchor",r.yanchor=Q(_+me)):(h("y0",r.y0=Q(v+me)),h("y1",r.y1=Q(b+me)));t.attr("d",XD(e,r)),ge(i,r),aM(e,n,r,E)}function fe(pe,me){if(c){var Ie=function(it){return it},Re=Ie,ze=Ie;l?h("xanchor",r.xanchor=ee(g+pe)):(Re=function(wt){return ee(U(wt)+pe)},C&&C.type==="date"&&(Re=ju.encodeDate(Re))),u?h("yanchor",r.yanchor=Q(_+me)):(ze=function(wt){return Q(G(wt)+me)},R&&R.type==="date"&&(ze=ju.encodeDate(ze))),h("path",r.path=eee(y,Re,ze))}else if(f){if(Z==="resize-over-start-point"){var Be=d+pe,tt=u?v-me:v+me;h("x0",r.x0=l?Be:ee(Be)),h("y0",r.y0=u?tt:Q(tt))}else if(Z==="resize-over-end-point"){var rt=m+pe,ce=u?b-me:b+me;h("x1",r.x1=l?rt:ee(rt)),h("y1",r.y1=u?ce:Q(ce))}}else{var Ee=function(it){return Z.indexOf(it)!==-1},Ae=Ee("n"),Pe=Ee("s"),He=Ee("w"),Fe=Ee("e"),ke=Ae?T+me:T,Ue=Pe?w+me:w,Ge=He?k+pe:k,lt=Fe?x+pe:x;u&&(Ae&&(ke=T-me),Pe&&(Ue=w-me)),(!u&&Ue-ke>s||u&&ke-Ue>s)&&(h(M,r[M]=u?ke:Q(ke)),h(A,r[A]=u?Ue:Q(Ue))),lt-Ge>o&&(h(p,r[p]=l?Ge:ee(Ge)),h(S,r[S]=l?lt:ee(lt)))}t.attr("d",XD(e,r)),ge(i,r),aM(e,n,r,E)}function ge(pe,me){(l||u)&&Ie();function Ie(){var Re=me.type!=="path",ze=pe.selectAll(".visual-cue").data([0]),Be=1;ze.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":Be}).classed("visual-cue",!0);var tt=U(l?me.xanchor:$Q.midRange(Re?[me.x0,me.x1]:ju.extractPathCoords(me.path,hg.paramIsX))),rt=G(u?me.yanchor:$Q.midRange(Re?[me.y0,me.y1]:ju.extractPathCoords(me.path,hg.paramIsY)));if(tt=ju.roundPositionForSharpStrokeRendering(tt,Be),rt=ju.roundPositionForSharpStrokeRendering(rt,Be),l&&u){var ce="M"+(tt-1-Be)+","+(rt-1-Be)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";ze.attr("d",ce)}else if(l){var Ee="M"+(tt-1-Be)+","+(rt-9-Be)+"v18 h2 v-18 Z";ze.attr("d",Ee)}else{var Ae="M"+(tt-9-Be)+","+(rt-1-Be)+"h18 v2 h-18 Z";ze.attr("d",Ae)}}}function Ce(pe){pe.selectAll(".visual-cue").remove()}function Ne(pe,me,Ie){var Re=me.xref,ze=me.yref,Be=ny.getFromId(Ie,Re),tt=ny.getFromId(Ie,ze),rt="";Re!=="paper"&&!Be.autorange&&(rt+=Re),ze!=="paper"&&!tt.autorange&&(rt+=ze),ZD.setClipUrl(pe,rt?"clip"+Ie._fullLayout._uid+rt:null,Ie)}}function eee(e,t,r){return e.replace(hg.segmentRE,function(n){var i=0,a=n.charAt(0),o=hg.paramIsX[a],s=hg.paramIsY[a],l=hg.numParams[a],u=n.substr(1).replace(hg.paramRE,function(f){return i>=l||(o[i]?f=t(f):s[i]&&(f=r(f)),i++),f});return a+u})}function aKe(e,t){if(oM(e)){var r=t.node(),n=+r.getAttribute("data-index");if(n>=0){if(n===e._fullLayout._activeShapeIndex){tee(e);return}e._fullLayout._activeShapeIndex=n,e._fullLayout._deactivateShape=tee,JD(e)}}}function tee(e){if(oM(e)){var t=e._fullLayout._activeShapeIndex;t>=0&&(nee(e),delete e._fullLayout._activeShapeIndex,JD(e))}}function oKe(e){if(oM(e)){nee(e);var t=e._fullLayout._activeShapeIndex,r=(e.layout||{}).shapes||[];if(t<r.length){for(var n=[],i=0;i<r.length;i++)i!==t&&n.push(r[i]);return delete e._fullLayout._activeShapeIndex,ree.call("_guiRelayout",e,{shapes:n})}}}});var e8=J((RRt,hee)=>{"use strict";var ic=zr(),see=ea(),lee=jo(),_i=GA(),sKe=sM().eraseActiveShape,iy=gt(),ri=iy._,Ti=hee.exports={};Ti.toImage={name:"toImage",title:function(e){var t=e._context.toImageButtonOptions||{},r=t.format||"png";return r==="png"?ri(e,"Download plot as a png"):ri(e,"Download plot")},icon:_i.camera,click:function(e){var t=e._context.toImageButtonOptions,r={format:t.format||"png"};iy.notifier(ri(e,"Taking snapshot - this may take a few seconds"),"long"),r.format!=="svg"&&iy.isIE()&&(iy.notifier(ri(e,"IE only supports svg. Changing format to svg."),"long"),r.format="svg"),["filename","width","height","scale"].forEach(function(n){n in t&&(r[n]=t[n])}),ic.call("downloadImage",e,r).then(function(n){iy.notifier(ri(e,"Snapshot succeeded")+" - "+n,"long")}).catch(function(){iy.notifier(ri(e,"Sorry, there was a problem downloading your snapshot!"),"long")})}};Ti.sendDataToCloud={name:"sendDataToCloud",title:function(e){return ri(e,"Edit in Chart Studio")},icon:_i.disk,click:function(e){see.sendDataToCloud(e)}};Ti.editInChartStudio={name:"editInChartStudio",title:function(e){return ri(e,"Edit in Chart Studio")},icon:_i.pencil,click:function(e){see.sendDataToCloud(e)}};Ti.zoom2d={name:"zoom2d",_cat:"zoom",title:function(e){return ri(e,"Zoom")},attr:"dragmode",val:"zoom",icon:_i.zoombox,click:zl};Ti.pan2d={name:"pan2d",_cat:"pan",title:function(e){return ri(e,"Pan")},attr:"dragmode",val:"pan",icon:_i.pan,click:zl};Ti.select2d={name:"select2d",_cat:"select",title:function(e){return ri(e,"Box Select")},attr:"dragmode",val:"select",icon:_i.selectbox,click:zl};Ti.lasso2d={name:"lasso2d",_cat:"lasso",title:function(e){return ri(e,"Lasso Select")},attr:"dragmode",val:"lasso",icon:_i.lasso,click:zl};Ti.drawclosedpath={name:"drawclosedpath",title:function(e){return ri(e,"Draw closed freeform")},attr:"dragmode",val:"drawclosedpath",icon:_i.drawclosedpath,click:zl};Ti.drawopenpath={name:"drawopenpath",title:function(e){return ri(e,"Draw open freeform")},attr:"dragmode",val:"drawopenpath",icon:_i.drawopenpath,click:zl};Ti.drawline={name:"drawline",title:function(e){return ri(e,"Draw line")},attr:"dragmode",val:"drawline",icon:_i.drawline,click:zl};Ti.drawrect={name:"drawrect",title:function(e){return ri(e,"Draw rectangle")},attr:"dragmode",val:"drawrect",icon:_i.drawrect,click:zl};Ti.drawcircle={name:"drawcircle",title:function(e){return ri(e,"Draw circle")},attr:"dragmode",val:"drawcircle",icon:_i.drawcircle,click:zl};Ti.eraseshape={name:"eraseshape",title:function(e){return ri(e,"Erase active shape")},icon:_i.eraseshape,click:sKe};Ti.zoomIn2d={name:"zoomIn2d",_cat:"zoomin",title:function(e){return ri(e,"Zoom in")},attr:"zoom",val:"in",icon:_i.zoom_plus,click:zl};Ti.zoomOut2d={name:"zoomOut2d",_cat:"zoomout",title:function(e){return ri(e,"Zoom out")},attr:"zoom",val:"out",icon:_i.zoom_minus,click:zl};Ti.autoScale2d={name:"autoScale2d",_cat:"autoscale",title:function(e){return ri(e,"Autoscale")},attr:"zoom",val:"auto",icon:_i.autoscale,click:zl};Ti.resetScale2d={name:"resetScale2d",_cat:"resetscale",title:function(e){return ri(e,"Reset axes")},attr:"zoom",val:"reset",icon:_i.home,click:zl};Ti.hoverClosestCartesian={name:"hoverClosestCartesian",_cat:"hoverclosest",title:function(e){return ri(e,"Show closest data on hover")},attr:"hovermode",val:"closest",icon:_i.tooltip_basic,gravity:"ne",click:zl};Ti.hoverCompareCartesian={name:"hoverCompareCartesian",_cat:"hoverCompare",title:function(e){return ri(e,"Compare data on hover")},attr:"hovermode",val:function(e){return e._fullLayout._isHoriz?"y":"x"},icon:_i.tooltip_compare,gravity:"ne",click:zl};function zl(e,t){var r=t.currentTarget,n=r.getAttribute("data-attr"),i=r.getAttribute("data-val")||!0,a=e._fullLayout,o={},s=lee.list(e,null,!0),l=a._cartesianSpikesEnabled,u,f;if(n==="zoom"){var c=i==="in"?.5:2,h=(1+c)/2,d=(1-c)/2,v;for(f=0;f<s.length;f++)if(u=s[f],!u.fixedrange)if(v=u._name,i==="auto")o[v+".autorange"]=!0;else if(i==="reset")u._rangeInitial0===void 0&&u._rangeInitial1===void 0?o[v+".autorange"]=!0:u._rangeInitial0===void 0?(o[v+".autorange"]=u._autorangeInitial,o[v+".range"]=[null,u._rangeInitial1]):u._rangeInitial1===void 0?(o[v+".range"]=[u._rangeInitial0,null],o[v+".autorange"]=u._autorangeInitial):o[v+".range"]=[u._rangeInitial0,u._rangeInitial1],u._showSpikeInitial!==void 0&&(o[v+".showspikes"]=u._showSpikeInitial,l==="on"&&!u._showSpikeInitial&&(l="off"));else{var m=[u.r2l(u.range[0]),u.r2l(u.range[1])],b=[h*m[0]+d*m[1],h*m[1]+d*m[0]];o[v+".range[0]"]=u.l2r(b[0]),o[v+".range[1]"]=u.l2r(b[1])}}else n==="hovermode"&&(i==="x"||i==="y")&&(i=a._isHoriz?"y":"x",r.setAttribute("data-val",i)),o[n]=i;a._cartesianSpikesEnabled=l,ic.call("_guiRelayout",e,o)}Ti.zoom3d={name:"zoom3d",_cat:"zoom",title:function(e){return ri(e,"Zoom")},attr:"scene.dragmode",val:"zoom",icon:_i.zoombox,click:uM};Ti.pan3d={name:"pan3d",_cat:"pan",title:function(e){return ri(e,"Pan")},attr:"scene.dragmode",val:"pan",icon:_i.pan,click:uM};Ti.orbitRotation={name:"orbitRotation",title:function(e){return ri(e,"Orbital rotation")},attr:"scene.dragmode",val:"orbit",icon:_i["3d_rotate"],click:uM};Ti.tableRotation={name:"tableRotation",title:function(e){return ri(e,"Turntable rotation")},attr:"scene.dragmode",val:"turntable",icon:_i["z-axis"],click:uM};function uM(e,t){for(var r=t.currentTarget,n=r.getAttribute("data-attr"),i=r.getAttribute("data-val")||!0,a=e._fullLayout._subplots.gl3d||[],o={},s=n.split("."),l=0;l<a.length;l++)o[a[l]+"."+s[1]]=i;var u=i==="pan"?i:"zoom";o.dragmode=u,ic.call("_guiRelayout",e,o)}Ti.resetCameraDefault3d={name:"resetCameraDefault3d",_cat:"resetCameraDefault",title:function(e){return ri(e,"Reset camera to default")},attr:"resetDefault",icon:_i.home,click:$D};Ti.resetCameraLastSave3d={name:"resetCameraLastSave3d",_cat:"resetCameraLastSave",title:function(e){return ri(e,"Reset camera to last save")},attr:"resetLastSave",icon:_i.movie,click:$D};function $D(e,t){for(var r=t.currentTarget,n=r.getAttribute("data-attr"),i=n==="resetLastSave",a=n==="resetDefault",o=e._fullLayout,s=o._subplots.gl3d||[],l={},u=0;u<s.length;u++){var f=s[u],c=f+".camera",h=f+".aspectratio",d=f+".aspectmode",v=o[f]._scene,m;i?(l[c+".up"]=v.viewInitial.up,l[c+".eye"]=v.viewInitial.eye,l[c+".center"]=v.viewInitial.center,m=!0):a&&(l[c+".up"]=null,l[c+".eye"]=null,l[c+".center"]=null,m=!0),m&&(l[h+".x"]=v.viewInitial.aspectratio.x,l[h+".y"]=v.viewInitial.aspectratio.y,l[h+".z"]=v.viewInitial.aspectratio.z,l[d]=v.viewInitial.aspectmode)}ic.call("_guiRelayout",e,l)}Ti.hoverClosest3d={name:"hoverClosest3d",_cat:"hoverclosest",title:function(e){return ri(e,"Toggle show closest data on hover")},attr:"hovermode",val:null,toggle:!0,icon:_i.tooltip_basic,gravity:"ne",click:lKe};function uee(e,t){var r=t.currentTarget,n=r._previousVal,i=e._fullLayout,a=i._subplots.gl3d||[],o=["xaxis","yaxis","zaxis"],s={},l={};if(n)l=n,r._previousVal=null;else{for(var u=0;u<a.length;u++){var f=a[u],c=i[f],h=f+".hovermode";s[h]=c.hovermode,l[h]=!1;for(var d=0;d<3;d++){var v=o[d],m=f+"."+v+".showspikes";l[m]=!1,s[m]=c[v].showspikes}}r._previousVal=s}return l}function lKe(e,t){var r=uee(e,t);ic.call("_guiRelayout",e,r)}Ti.zoomInGeo={name:"zoomInGeo",_cat:"zoomin",title:function(e){return ri(e,"Zoom in")},attr:"zoom",val:"in",icon:_i.zoom_plus,click:KD};Ti.zoomOutGeo={name:"zoomOutGeo",_cat:"zoomout",title:function(e){return ri(e,"Zoom out")},attr:"zoom",val:"out",icon:_i.zoom_minus,click:KD};Ti.resetGeo={name:"resetGeo",_cat:"reset",title:function(e){return ri(e,"Reset")},attr:"reset",val:null,icon:_i.autoscale,click:KD};Ti.hoverClosestGeo={name:"hoverClosestGeo",_cat:"hoverclosest",title:function(e){return ri(e,"Toggle show closest data on hover")},attr:"hovermode",val:null,toggle:!0,icon:_i.tooltip_basic,gravity:"ne",click:QD};function KD(e,t){for(var r=t.currentTarget,n=r.getAttribute("data-attr"),i=r.getAttribute("data-val")||!0,a=e._fullLayout,o=a._subplots.geo||[],s=0;s<o.length;s++){var l=o[s],u=a[l];if(n==="zoom"){var f=u.projection.scale,c=i==="in"?2*f:.5*f;ic.call("_guiRelayout",e,l+".projection.scale",c)}}n==="reset"&&lM(e,"geo")}Ti.hoverClosestGl2d={name:"hoverClosestGl2d",_cat:"hoverclosest",title:function(e){return ri(e,"Toggle show closest data on hover")},attr:"hovermode",val:null,toggle:!0,icon:_i.tooltip_basic,gravity:"ne",click:QD};Ti.hoverClosestPie={name:"hoverClosestPie",_cat:"hoverclosest",title:function(e){return ri(e,"Toggle show closest data on hover")},attr:"hovermode",val:"closest",icon:_i.tooltip_basic,gravity:"ne",click:QD};function fee(e){var t=e._fullLayout;return t.hovermode?!1:t._has("cartesian")?t._isHoriz?"y":"x":"closest"}function QD(e){var t=fee(e);ic.call("_guiRelayout",e,"hovermode",t)}Ti.resetViewSankey={name:"resetSankeyGroup",title:function(e){return ri(e,"Reset view")},icon:_i.home,click:function(e){for(var t={"node.groups":[],"node.x":[],"node.y":[]},r=0;r<e._fullData.length;r++){var n=e._fullData[r]._viewInitial;t["node.groups"].push(n.node.groups.slice()),t["node.x"].push(n.node.x.slice()),t["node.y"].push(n.node.y.slice())}ic.call("restyle",e,t)}};Ti.toggleHover={name:"toggleHover",title:function(e){return ri(e,"Toggle show closest data on hover")},attr:"hovermode",val:null,toggle:!0,icon:_i.tooltip_basic,gravity:"ne",click:function(e,t){var r=uee(e,t);r.hovermode=fee(e),ic.call("_guiRelayout",e,r)}};Ti.resetViews={name:"resetViews",title:function(e){return ri(e,"Reset views")},icon:_i.home,click:function(e,t){var r=t.currentTarget;r.setAttribute("data-attr","zoom"),r.setAttribute("data-val","reset"),zl(e,t),r.setAttribute("data-attr","resetLastSave"),$D(e,t),lM(e,"geo"),lM(e,"mapbox")}};Ti.toggleSpikelines={name:"toggleSpikelines",title:function(e){return ri(e,"Toggle Spike Lines")},icon:_i.spikeline,attr:"_cartesianSpikesEnabled",val:"on",click:function(e){var t=e._fullLayout,r=t._cartesianSpikesEnabled;t._cartesianSpikesEnabled=r==="on"?"off":"on",ic.call("_guiRelayout",e,uKe(e))}};function uKe(e){for(var t=e._fullLayout,r=t._cartesianSpikesEnabled==="on",n=lee.list(e,null,!0),i={},a=0;a<n.length;a++){var o=n[a];i[o._name+".showspikes"]=r?!0:o._showSpikeInitial}return i}Ti.resetViewMapbox={name:"resetViewMapbox",_cat:"resetView",title:function(e){return ri(e,"Reset view")},attr:"reset",icon:_i.home,click:function(e){lM(e,"mapbox")}};Ti.zoomInMapbox={name:"zoomInMapbox",_cat:"zoomin",title:function(e){return ri(e,"Zoom in")},attr:"zoom",val:"in",icon:_i.zoom_plus,click:cee};Ti.zoomOutMapbox={name:"zoomOutMapbox",_cat:"zoomout",title:function(e){return ri(e,"Zoom out")},attr:"zoom",val:"out",icon:_i.zoom_minus,click:cee};function cee(e,t){for(var r=t.currentTarget,n=r.getAttribute("data-val"),i=e._fullLayout,a=i._subplots.mapbox||[],o=1.05,s={},l=0;l<a.length;l++){var u=a[l],f=i[u].zoom,c=n==="in"?o*f:f/o;s[u+".zoom"]=c}ic.call("_guiRelayout",e,s)}function lM(e,t){for(var r=e._fullLayout,n=r._subplots[t]||[],i={},a=0;a<n.length;a++)for(var o=n[a],s=r[o]._subplot,l=s.viewInitial,u=Object.keys(l),f=0;f<u.length;f++){var c=u[f];i[o+"."+c]=l[c]}ic.call("_guiRelayout",e,i)}});var t8=J((PRt,gee)=>{"use strict";var vee=e8(),fKe=Object.keys(vee),dee=["drawline","drawopenpath","drawclosedpath","drawcircle","drawrect","eraseshape"],pee=["v1hovermode","hoverclosest","hovercompare","togglehover","togglespikelines"].concat(dee),ay=[],cKe=function(e){if(pee.indexOf(e._cat||e.name)===-1){var t=e.name,r=(e._cat||e.name).toLowerCase();ay.indexOf(t)===-1&&ay.push(t),ay.indexOf(r)===-1&&ay.push(r)}};fKe.forEach(function(e){cKe(vee[e])});ay.sort();gee.exports={DRAW_MODES:dee,backButtons:pee,foreButtons:ay}});var r8=J((IRt,yee)=>{"use strict";var mee=t8();yee.exports={editType:"modebar",orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"modebar",description:"Sets the orientation of the modebar."},bgcolor:{valType:"color",editType:"modebar",description:"Sets the background color of the modebar."},color:{valType:"color",editType:"modebar",description:"Sets the color of the icons in the modebar."},activecolor:{valType:"color",editType:"modebar",description:"Sets the color of the active or hovered on icons in the modebar."},uirevision:{valType:"any",editType:"none",description:["Controls persistence of user-driven changes related to the modebar,","including `hovermode`, `dragmode`, and `showspikes` at both the","root level and inside subplots. Defaults to `layout.uirevision`."].join(" ")},add:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar",description:["Determines which predefined modebar buttons to add.","Please note that these buttons will only be shown if they are","compatible with all trace types used in a graph.","Similar to `config.modeBarButtonsToAdd` option.","This may include *"+mee.backButtons.join("*, *")+"*."].join(" ")},remove:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar",description:["Determines which predefined modebar buttons to remove.","Similar to `config.modeBarButtonsToRemove` option.","This may include *"+mee.foreButtons.join("*, *")+"*."].join(" ")}}});var bee=J((qRt,xee)=>{"use strict";var hKe=gt(),_2=qr(),vKe=ki(),dKe=r8();xee.exports=function(t,r){var n=t.modebar||{},i=vKe.newContainer(r,"modebar");function a(s,l){return hKe.coerce(n,i,dKe,s,l)}a("orientation"),a("bgcolor",_2.addOpacity(r.paper_bgcolor,.5));var o=_2.contrast(_2.rgb(r.modebar.bgcolor));a("color",_2.addOpacity(o,.3)),a("activecolor",_2.addOpacity(o,.7)),a("uirevision",r.uirevision),a("add"),a("remove")}});var Aee=J((FRt,Tee)=>{"use strict";var n8=Nr(),pKe=dn(),ed=gt(),wee=GA(),gKe=iT().version,mKe=new DOMParser;function _ee(e){this.container=e.container,this.element=document.createElement("div"),this.update(e.graphInfo,e.buttons),this.container.appendChild(this.element)}var ev=_ee.prototype;ev.update=function(e,t){this.graphInfo=e;var r=this.graphInfo._context,n=this.graphInfo._fullLayout,i="modebar-"+n._uid;this.element.setAttribute("id",i),this._uid=i,this.element.className="modebar",r.displayModeBar==="hover"&&(this.element.className+=" modebar--hover ease-bg"),n.modebar.orientation==="v"&&(this.element.className+=" vertical",t=t.reverse());var a=n.modebar,o=r.displayModeBar==="hover"?".js-plotly-plot .plotly:hover ":"";ed.deleteRelatedStyleRule(i),ed.addRelatedStyleRule(i,o+"#"+i+" .modebar-group","background-color: "+a.bgcolor),ed.addRelatedStyleRule(i,"#"+i+" .modebar-btn .icon path","fill: "+a.color),ed.addRelatedStyleRule(i,"#"+i+" .modebar-btn:hover .icon path","fill: "+a.activecolor),ed.addRelatedStyleRule(i,"#"+i+" .modebar-btn.active .icon path","fill: "+a.activecolor);var s=!this.hasButtons(t),l=this.hasLogo!==r.displaylogo,u=this.locale!==r.locale;if(this.locale=r.locale,(s||l||u)&&(this.removeAllButtons(),this.updateButtons(t),r.watermark||r.displaylogo)){var f=this.getLogo();r.watermark&&(f.className=f.className+" watermark"),n.modebar.orientation==="v"?this.element.insertBefore(f,this.element.childNodes[0]):this.element.appendChild(f),this.hasLogo=!0}this.updateActiveButton()};ev.updateButtons=function(e){var t=this;this.buttons=e,this.buttonElements=[],this.buttonsNames=[],this.buttons.forEach(function(r){var n=t.createGroup();r.forEach(function(i){var a=i.name;if(!a)throw new Error("must provide button 'name' in button config");if(t.buttonsNames.indexOf(a)!==-1)throw new Error("button name '"+a+"' is taken");t.buttonsNames.push(a);var o=t.createButton(i);t.buttonElements.push(o),n.appendChild(o)}),t.element.appendChild(n)})};ev.createGroup=function(){var e=document.createElement("div");return e.className="modebar-group",e};ev.createButton=function(e){var t=this,r=document.createElement("a");r.setAttribute("rel","tooltip"),r.className="modebar-btn";var n=e.title;n===void 0?n=e.name:typeof n=="function"&&(n=n(this.graphInfo)),(n||n===0)&&r.setAttribute("data-title",n),e.attr!==void 0&&r.setAttribute("data-attr",e.attr);var i=e.val;i!==void 0&&(typeof i=="function"&&(i=i(this.graphInfo)),r.setAttribute("data-val",i));var a=e.click;if(typeof a!="function")throw new Error("must provide button 'click' function in button config");r.addEventListener("click",function(s){e.click(t.graphInfo,s),t.updateActiveButton(s.currentTarget)}),r.setAttribute("data-toggle",e.toggle||!1),e.toggle&&n8.select(r).classed("active",!0);var o=e.icon;return typeof o=="function"?r.appendChild(o()):r.appendChild(this.createIcon(o||wee.question)),r.setAttribute("data-gravity",e.gravity||"n"),r};ev.createIcon=function(e){var t=pKe(e.height)?Number(e.height):e.ascent-e.descent,r="http://www.w3.org/2000/svg",n;if(e.path){n=document.createElementNS(r,"svg"),n.setAttribute("viewBox",[0,0,e.width,t].join(" ")),n.setAttribute("class","icon");var i=document.createElementNS(r,"path");i.setAttribute("d",e.path),e.transform?i.setAttribute("transform",e.transform):e.ascent!==void 0&&i.setAttribute("transform","matrix(1 0 0 -1 0 "+e.ascent+")"),n.appendChild(i)}if(e.svg){var a=mKe.parseFromString(e.svg,"application/xml");n=a.childNodes[0]}return n.setAttribute("height","1em"),n.setAttribute("width","1em"),n};ev.updateActiveButton=function(e){var t=this.graphInfo._fullLayout,r=e!==void 0?e.getAttribute("data-attr"):null;this.buttonElements.forEach(function(n){var i=n.getAttribute("data-val")||!0,a=n.getAttribute("data-attr"),o=n.getAttribute("data-toggle")==="true",s=n8.select(n);if(o)a===r&&s.classed("active",!s.classed("active"));else{var l=a===null?a:ed.nestedProperty(t,a).get();s.classed("active",l===i)}})};ev.hasButtons=function(e){var t=this.buttons;if(!t||e.length!==t.length)return!1;for(var r=0;r<e.length;++r){if(e[r].length!==t[r].length)return!1;for(var n=0;n<e[r].length;n++)if(e[r][n].name!==t[r][n].name)return!1}return!0};function yKe(e){return e+" (v"+gKe+")"}ev.getLogo=function(){var e=this.createGroup(),t=document.createElement("a");return t.href="https://plotly.com/",t.target="_blank",t.setAttribute("data-title",yKe(ed._(this.graphInfo,"Produced with Plotly.js"))),t.className="modebar-btn plotlyjsicon modebar-btn--logo",t.appendChild(this.createIcon(wee.newplotlylogo)),e.appendChild(t),e};ev.removeAllButtons=function(){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.hasLogo=!1};ev.destroy=function(){ed.removeElement(this.container.querySelector(".modebar")),ed.deleteRelatedStyleRule(this._uid)};function xKe(e,t){var r=e._fullLayout,n=new _ee({graphInfo:e,container:r._modebardiv.node(),buttons:t});return r._privateplot&&n8.select(n.element).append("span").classed("badge-private float--left",!0).text("PRIVATE"),n}Tee.exports=xKe});var See=J((zRt,kee)=>{"use strict";var bKe=jo(),Mee=fs(),i8=zr(),wKe=Qf().isUnifiedHover,_Ke=Aee(),fM=e8(),TKe=t8().DRAW_MODES,AKe=gt().extendDeep;kee.exports=function(t){var r=t._fullLayout,n=t._context,i=r._modeBar;if(!n.displayModeBar&&!n.watermark){i&&(i.destroy(),delete r._modeBar);return}if(!Array.isArray(n.modeBarButtonsToRemove))throw new Error(["*modeBarButtonsToRemove* configuration options","must be an array."].join(" "));if(!Array.isArray(n.modeBarButtonsToAdd))throw new Error(["*modeBarButtonsToAdd* configuration options","must be an array."].join(" "));var a=n.modeBarButtons,o;Array.isArray(a)&&a.length?o=LKe(a):!n.displayModeBar&&n.watermark?o=[]:o=MKe(t),i?i.update(t,o):r._modeBar=_Ke(t,o)};function MKe(e){var t=e._fullLayout,r=e._fullData,n=e._context;function i(D,q){if(typeof q=="string"){if(q.toLowerCase()===D.toLowerCase())return!0}else{var N=q.name,U=q._cat||q.name;if(N===D||U===D.toLowerCase())return!0}return!1}var a=t.modebar.add;typeof a=="string"&&(a=[a]);var o=t.modebar.remove;typeof o=="string"&&(o=[o]);var s=n.modeBarButtonsToAdd.concat(a.filter(function(D){for(var q=0;q<n.modeBarButtonsToRemove.length;q++)if(i(D,n.modeBarButtonsToRemove[q]))return!1;return!0})),l=n.modeBarButtonsToRemove.concat(o.filter(function(D){for(var q=0;q<n.modeBarButtonsToAdd.length;q++)if(i(D,n.modeBarButtonsToAdd[q]))return!1;return!0})),u=t._has("cartesian"),f=t._has("gl3d"),c=t._has("geo"),h=t._has("pie"),d=t._has("funnelarea"),v=t._has("gl2d"),m=t._has("ternary"),b=t._has("mapbox"),g=t._has("polar"),_=t._has("smith"),T=t._has("sankey"),w=kKe(t),k=wKe(t.hovermode),x=[];function M(D){if(D.length){for(var q=[],N=0;N<D.length;N++){for(var U=D[N],G=fM[U],ee=G.name.toLowerCase(),Q=(G._cat||G.name).toLowerCase(),j=!1,O=0;O<l.length;O++){var Z=l[O].toLowerCase();if(Z===ee||Z===Q){j=!0;break}}j||q.push(fM[U])}x.push(q)}}var A=["toImage"];n.showEditInChartStudio?A.push("editInChartStudio"):n.showSendToCloud&&A.push("sendDataToCloud"),M(A);var p=[],S=[],y=[],E=[];(u||v||h||d||m)+c+f+b+g+_>1?(S=["toggleHover"],y=["resetViews"]):c?(p=["zoomInGeo","zoomOutGeo"],S=["hoverClosestGeo"],y=["resetGeo"]):f?(S=["hoverClosest3d"],y=["resetCameraDefault3d","resetCameraLastSave3d"]):b?(p=["zoomInMapbox","zoomOutMapbox"],S=["toggleHover"],y=["resetViewMapbox"]):v?S=["hoverClosestGl2d"]:h?S=["hoverClosestPie"]:T?(S=["hoverClosestCartesian","hoverCompareCartesian"],y=["resetViewSankey"]):S=["toggleHover"],u&&S.push("toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"),(CKe(r)||k)&&(S=[]),(u||v)&&!w&&(p=["zoomIn2d","zoomOut2d","autoScale2d"],y[0]!=="resetViews"&&(y=["resetScale2d"])),f?E=["zoom3d","pan3d","orbitRotation","tableRotation"]:(u||v)&&!w||m?E=["zoom2d","pan2d"]:b||c?E=["pan2d"]:g&&(E=["zoom2d"]),SKe(r)&&E.push("select2d","lasso2d");var C=[],L=function(D){C.indexOf(D)===-1&&S.indexOf(D)!==-1&&C.push(D)};if(Array.isArray(s)){for(var R=[],I=0;I<s.length;I++){var P=s[I];typeof P=="string"?(P=P.toLowerCase(),TKe.indexOf(P)!==-1?(t._has("mapbox")||t._has("cartesian"))&&E.push(P):P==="togglespikelines"?L("toggleSpikelines"):P==="togglehover"?L("toggleHover"):P==="hovercompare"?L("hoverCompareCartesian"):P==="hoverclosest"?(L("hoverClosestCartesian"),L("hoverClosestGeo"),L("hoverClosest3d"),L("hoverClosestGl2d"),L("hoverClosestPie")):P==="v1hovermode"&&(L("hoverClosestCartesian"),L("hoverCompareCartesian"),L("hoverClosestGeo"),L("hoverClosest3d"),L("hoverClosestGl2d"),L("hoverClosestPie"))):R.push(P)}s=R}return M(E),M(p.concat(y)),M(C),EKe(x,s)}function kKe(e){for(var t=bKe.list({_fullLayout:e},null,!0),r=0;r<t.length;r++)if(!t[r].fixedrange)return!1;return!0}function SKe(e){for(var t=!1,r=0;r<e.length&&!t;r++){var n=e[r];!n._module||!n._module.selectPoints||(i8.traceIs(n,"scatter-like")?(Mee.hasMarkers(n)||Mee.hasText(n))&&(t=!0):i8.traceIs(n,"box-violin")?(n.boxpoints==="all"||n.points==="all")&&(t=!0):t=!0)}return t}function CKe(e){for(var t=0;t<e.length;t++)if(!i8.traceIs(e[t],"noHover"))return!1;return!0}function EKe(e,t){if(t.length)if(Array.isArray(t[0]))for(var r=0;r<t.length;r++)e.push(t[r]);else e.push(t);return e}function LKe(e){for(var t=AKe([],e),r=0;r<t.length;r++)for(var n=t[r],i=0;i<n.length;i++){var a=n[i];if(typeof a=="string")if(fM[a]!==void 0)t[r][i]=fM[a];else throw new Error(["*modeBarButtons* configuration options","invalid button name"].join(" "))}return t}});var a8=J((NRt,Cee)=>{"use strict";Cee.exports={moduleType:"component",name:"modebar",layoutAttributes:r8(),supplyLayoutDefaults:bee(),manage:See()}});var o8=J((ORt,Eee)=>{"use strict";var DKe=Vo().FROM_BL;Eee.exports=function(t,r,n){n===void 0&&(n=DKe[t.constraintoward||"center"]);var i=[t.r2l(t.range[0]),t.r2l(t.range[1])],a=i[0]+(i[1]-i[0])*n;t.range=t._input.range=[t.l2r(a+(i[0]-a)*r),t.l2r(a+(i[1]-a)*r)],t.setScale()}});var _0=J(T2=>{"use strict";var vg=gt(),s8=ec(),nh=jo().id2name,RKe=hl(),Lee=o8(),PKe=Zv(),IKe=oi().ALMOST_EQUAL,qKe=Vo().FROM_BL;T2.handleDefaults=function(e,t,r){var n=r.axIds,i=r.axHasImage,a=t._axisConstraintGroups=[],o=t._axisMatchGroups=[],s,l,u,f,c,h,d,v;for(s=0;s<n.length;s++)f=nh(n[s]),c=e[f],h=t[f],FKe(c,h,{axIds:n,layoutOut:t,hasImage:i[f]});function m(A,p){for(s=0;s<A.length;s++){l=A[s];for(u in l)t[nh(u)][p]=l}}for(m(o,"_matchGroup"),s=0;s<a.length;s++){l=a[s];for(u in l)if(h=t[nh(u)],h.fixedrange){for(var b in l){var g=nh(b);(e[g]||{}).fixedrange===!1&&vg.warn("fixedrange was specified as false for axis "+g+" but was overridden because another axis in its constraint group has fixedrange true"),t[g].fixedrange=!0}break}}for(s=0;s<a.length;){l=a[s];for(u in l){h=t[nh(u)],h._matchGroup&&Object.keys(h._matchGroup).length===Object.keys(l).length&&(a.splice(s,1),s--);break}s++}m(a,"_constraintGroup");var _=["constrain","range","autorange","rangemode","rangebreaks","categoryorder","categoryarray"],T=!1,w=!1;function k(){v=h[d],d==="rangebreaks"&&(w=h._hasDayOfWeekBreaks)}for(s=0;s<o.length;s++){l=o[s];for(var x=0;x<_.length;x++){d=_[x],v=null;var M;for(u in l)if(f=nh(u),c=e[f],h=t[f],d in h){if(!h.matches&&(M=h,d in c)){k();break}v===null&&d in c&&k()}if(d==="range"&&v&&c.range&&c.range.length===2&&c.range[0]!==null&&c.range[1]!==null&&(T=!0),d==="autorange"&&v===null&&T&&(v=!1),v===null&&d in M&&(v=M[d]),v!==null)for(u in l)h=t[nh(u)],h[d]=d==="range"?v.slice():v,d==="rangebreaks"&&(h._hasDayOfWeekBreaks=w,PKe(h,t))}}};function FKe(e,t,r){var n=r.axIds,i=r.layoutOut,a=r.hasImage,o=i._axisConstraintGroups,s=i._axisMatchGroups,l=t._id,u=l.charAt(0),f=((i._splomAxes||{})[u]||{})[l]||{},c=t._id,h=c.charAt(0)==="x";t._matchGroup=null,t._constraintGroup=null;function d(E,C){return vg.coerce(e,t,RKe,E,C)}d("constrain",a?"domain":"range"),vg.coerce(e,t,{constraintoward:{valType:"enumerated",values:h?["left","center","right"]:["bottom","middle","top"],dflt:h?"center":"middle"}},"constraintoward");var v=t.type,m,b,g=[];for(m=0;m<n.length;m++)if(b=n[m],b!==c){var _=i[nh(b)];_.type===v&&g.push(b)}var T=Pee(o,c);if(T){var w=[];for(m=0;m<g.length;m++)b=g[m],T[b]||w.push(b);g=w}var k=g.length,x,M;k&&(e.matches||f.matches)&&(x=vg.coerce(e,t,{matches:{valType:"enumerated",values:g,dflt:g.indexOf(f.matches)!==-1?f.matches:void 0}},"matches"));var A=a&&!h?t.anchor:void 0;if(k&&!x&&(e.scaleanchor||A)&&(M=vg.coerce(e,t,{scaleanchor:{valType:"enumerated",values:g.concat([!1])}},"scaleanchor",A)),x){t._matchGroup=l8(s,c,x,1);var p=i[nh(x)],S=Dee(i,t)/Dee(i,p);h!==(x.charAt(0)==="x")&&(S=(h?"x":"y")+S),l8(o,c,x,S)}else e.matches&&n.indexOf(e.matches)!==-1&&vg.warn("ignored "+t._name+'.matches: "'+e.matches+'" to avoid an infinite loop');if(M){var y=d("scaleratio");y||(y=t.scaleratio=1),l8(o,c,M,y)}else e.scaleanchor&&n.indexOf(e.scaleanchor)!==-1&&vg.warn("ignored "+t._name+'.scaleanchor: "'+e.scaleanchor+'" to avoid either an infinite loop and possibly inconsistent scaleratios, or because this axis declares a *matches* constraint.')}function Dee(e,t){var r=t.domain;return r||(r=e[nh(t.overlaying)].domain),r[1]-r[0]}function Pee(e,t){for(var r=0;r<e.length;r++)if(e[r][t])return e[r];return null}function l8(e,t,r,n){var i,a,o,s,l,u=Pee(e,t);u===null?(u={},u[t]=1,l=e.length,e.push(u)):l=e.indexOf(u);var f=Object.keys(u);for(i=0;i<e.length;i++)if(o=e[i],i!==l&&o[r]){var c=o[r];for(a=0;a<f.length;a++)s=f[a],o[s]=u8(c,u8(n,u[s]));e.splice(l,1);return}if(n!==1)for(a=0;a<f.length;a++){var h=f[a];u[h]=u8(n,u[h])}u[r]=1}function u8(e,t){var r="",n="",i,a;typeof e=="string"&&(r=e.match(/^[xy]*/)[0],i=r.length,e=+e.substr(i)),typeof t=="string"&&(n=t.match(/^[xy]*/)[0],a=n.length,t=+t.substr(a));var o=e*t;return!i&&!a?o:!i||!a||r.charAt(0)===n.charAt(0)?r+n+e*t:i===a?o:(i>a?r.substr(a):n.substr(i))+o}function zKe(e,t){for(var r=t._size,n=r.h/r.w,i={},a=Object.keys(e),o=0;o<a.length;o++){var s=a[o],l=e[s];if(typeof l=="string"){var u=l.match(/^[xy]*/)[0],f=u.length;l=+l.substr(f);for(var c=u.charAt(0)==="y"?n:1/n,h=0;h<f;h++)l*=c}i[s]=l}return i}T2.enforce=function(t){var r=t._fullLayout,n=r._axisConstraintGroups||[],i,a,o,s,l,u,f,c;for(i=0;i<n.length;i++){o=zKe(n[i],r);var h=Object.keys(o),d=1/0,v=0,m=1/0,b={},g={},_=!1;for(a=0;a<h.length;a++)s=h[a],g[s]=l=r[nh(s)],l._inputDomain?l.domain=l._inputDomain.slice():l._inputDomain=l.domain.slice(),l._inputRange||(l._inputRange=l.range.slice()),l.setScale(),b[s]=u=Math.abs(l._m)/o[s],d=Math.min(d,u),(l.constrain==="domain"||!l._constraintShrinkable)&&(m=Math.min(m,u)),delete l._constraintShrinkable,v=Math.max(v,u),l.constrain==="domain"&&(_=!0);if(!(d>IKe*v&&!_)){for(a=0;a<h.length;a++)if(s=h[a],u=b[s],l=g[s],f=l.constrain,u!==m||f==="domain")if(c=u/m,f==="range")Lee(l,c);else{var T=l._inputDomain,w=(l.domain[1]-l.domain[0])/(T[1]-T[0]),k=(l.r2l(l.range[1])-l.r2l(l.range[0]))/(l.r2l(l._inputRange[1])-l.r2l(l._inputRange[0]));if(c/=w,c*k<1){l.domain=l._input.domain=T.slice(),Lee(l,c);continue}if(k<1&&(l.range=l._input.range=l._inputRange.slice(),c*=k),l.autorange){var x=l.r2l(l.range[0]),M=l.r2l(l.range[1]),A=(x+M)/2,p=A,S=A,y=Math.abs(M-A),E=A-y*c*1.0001,C=A+y*c*1.0001,L=s8.makePadFn(r,l,0),R=s8.makePadFn(r,l,1);Ree(l,c);var I=Math.abs(l._m),P=s8.concatExtremes(t,l),D=P.min,q=P.max,N,U;for(U=0;U<D.length;U++)N=D[U].val-L(D[U])/I,N>E&&N<p&&(p=N);for(U=0;U<q.length;U++)N=q[U].val+R(q[U])/I,N<C&&N>S&&(S=N);var G=(S-p)/(2*y);c/=G,p=l.l2r(p),S=l.l2r(S),l.range=l._input.range=x<M?[p,S]:[S,p]}Ree(l,c)}}}};T2.getAxisGroup=function(t,r){for(var n=t._axisMatchGroups,i=0;i<n.length;i++){var a=n[i];if(a[r])return"g"+i}return r};T2.clean=function(t,r){if(r._inputDomain){for(var n=!1,i=r._id,a=t._fullLayout._axisConstraintGroups,o=0;o<a.length;o++)if(a[o][i]){n=!0;break}(!n||r.constrain!=="domain")&&(r._input.domain=r.domain=r._inputDomain,delete r._inputDomain)}};function Ree(e,t){var r=e._inputDomain,n=qKe[e.constraintoward],i=r[0]+(r[1]-r[0])*n;e.domain=e._input.domain=[i+(r[0]-i)/t,i+(r[1]-i)/t],e.setScale()}});var k2=J(vs=>{"use strict";var hM=Nr(),Nl=zr(),Cf=ea(),ac=gt(),f8=ca(),c8=y2(),A2=qr(),oy=ln(),Iee=tg(),Oee=a8(),M2=nn(),td=Vo(),Bee=_0(),NKe=Bee.enforce,OKe=Bee.clean,qee=ec().doAutoRange,Uee="start",BKe="middle",Hee="end",UKe=Eo().zindexSeparator;vs.layoutStyles=function(e){return ac.syncOrAsync([Cf.doAutoMargin,jKe],e)};function HKe(e,t,r){for(var n=0;n<r.length;n++){var i=r[n][0],a=r[n][1];if(!(i[0]>=e[1]||i[1]<=e[0])&&a[0]<t[1]&&a[1]>t[0])return!0}return!1}function jKe(e){var t=e._fullLayout,r=t._size,n=r.p,i=M2.list(e,"",!0),a,o,s,l,u,f;if(t._paperdiv.style({width:e._context.responsive&&t.autosize&&!e._context._hasZeroWidth&&!e.layout.width?"100%":t.width+"px",height:e._context.responsive&&t.autosize&&!e._context._hasZeroHeight&&!e.layout.height?"100%":t.height+"px"}).selectAll(".main-svg").call(oy.setSize,t.width,t.height),e._context.setBackground(e,t.paper_bgcolor),vs.drawMainTitle(e),Oee.manage(e),!t._has("cartesian"))return Cf.previousPromises(e);function c(te,V,ne){var W=te._lw/2;if(te._id.charAt(0)==="x"){if(V){if(ne==="top")return V._offset-n-W}else return r.t+r.h*(1-(te.position||0))+W%1;return V._offset+V._length+n+W}if(V){if(ne==="right")return V._offset+V._length+n+W}else return r.l+r.w*(te.position||0)+W%1;return V._offset-n-W}for(a=0;a<i.length;a++){l=i[a];var h=l._anchorAxis;l._linepositions={},l._lw=oy.crispRound(e,l.linewidth,1),l._mainLinePosition=c(l,h,l.side),l._mainMirrorPosition=l.mirror&&h?c(l,h,td.OPPOSITE_SIDE[l.side]):null}var d=[],v=[],m=[],b=A2.opacity(t.paper_bgcolor)===1&&A2.opacity(t.plot_bgcolor)===1&&t.paper_bgcolor===t.plot_bgcolor;for(o in t._plots)if(s=t._plots[o],s.mainplot)s.bg&&s.bg.remove(),s.bg=void 0;else{var g=s.xaxis.domain,_=s.yaxis.domain,T=s.plotgroup;if(HKe(g,_,m)&&o.indexOf(UKe)===-1){var w=T.node(),k=s.bg=ac.ensureSingle(T,"rect","bg");w.insertBefore(k.node(),w.childNodes[0]),v.push(o)}else T.select("rect.bg").remove(),m.push([g,_]),b||(d.push(o),v.push(o))}var x=t._bgLayer.selectAll(".bg").data(d);for(x.enter().append("rect").classed("bg",!0),x.exit().remove(),x.each(function(te){t._plots[te].bg=hM.select(this)}),a=0;a<v.length;a++)s=t._plots[v[a]],u=s.xaxis,f=s.yaxis,s.bg&&u._offset!==void 0&&f._offset!==void 0&&s.bg.call(oy.setRect,u._offset-n,f._offset-n,u._length+2*n,f._length+2*n).call(A2.fill,t.plot_bgcolor).style("stroke-width",0);if(!t._hasOnlyLargeSploms)for(o in t._plots){s=t._plots[o],u=s.xaxis,f=s.yaxis;var M=s.clipId="clip"+t._uid+o+"plot",A=ac.ensureSingleById(t._clips,"clipPath",M,function(te){te.classed("plotclip",!0).append("rect")});s.clipRect=A.select("rect").attr({width:u._length,height:f._length}),oy.setTranslate(s.plot,u._offset,f._offset);var p,S;s._hasClipOnAxisFalse?(p=null,S=M):(p=M,S=null),oy.setClipUrl(s.plot,p,e),s.layerClipId=S}var y,E,C,L,R,I,P,D,q,N,U,G,ee;function Q(te){return"M"+y+","+te+"H"+E}function j(te){return"M"+u._offset+","+te+"h"+u._length}function O(te){return"M"+te+","+D+"V"+P}function Z(te){return f._shift!==void 0&&(te+=f._shift),"M"+te+","+f._offset+"v"+f._length}function K(te,V,ne){if(!te.showline||o!==te._mainSubplot)return"";if(!te._anchorAxis)return ne(te._mainLinePosition);var W=V(te._mainLinePosition);return te.mirror&&(W+=V(te._mainMirrorPosition)),W}for(o in t._plots){s=t._plots[o],u=s.xaxis,f=s.yaxis;var $="M0,0";Fee(u,o)&&(R=cM(u,"left",f,i),y=u._offset-(R?n+R:0),I=cM(u,"right",f,i),E=u._offset+u._length+(I?n+I:0),C=c(u,f,"bottom"),L=c(u,f,"top"),ee=!u._anchorAxis||o!==u._mainSubplot,ee&&(u.mirror==="allticks"||u.mirror==="all")&&(u._linepositions[o]=[C,L]),$=K(u,Q,j),ee&&u.showline&&(u.mirror==="all"||u.mirror==="allticks")&&($+=Q(C)+Q(L)),s.xlines.style("stroke-width",u._lw+"px").call(A2.stroke,u.showline?u.linecolor:"rgba(0,0,0,0)")),s.xlines.attr("d",$);var oe="M0,0";Fee(f,o)&&(U=cM(f,"bottom",u,i),P=f._offset+f._length+(U?n:0),G=cM(f,"top",u,i),D=f._offset-(G?n:0),q=c(f,u,"left"),N=c(f,u,"right"),ee=!f._anchorAxis||o!==f._mainSubplot,ee&&(f.mirror==="allticks"||f.mirror==="all")&&(f._linepositions[o]=[q,N]),oe=K(f,O,Z),ee&&f.showline&&(f.mirror==="all"||f.mirror==="allticks")&&(oe+=O(q)+O(N)),s.ylines.style("stroke-width",f._lw+"px").call(A2.stroke,f.showline?f.linecolor:"rgba(0,0,0,0)")),s.ylines.attr("d",oe)}return M2.makeClipPaths(e),Cf.previousPromises(e)}function Fee(e,t){return(e.ticks||e.showline)&&(t===e._mainSubplot||e.mirror==="all"||e.mirror==="allticks")}function zee(e,t,r){if(!r.showline||!r._lw)return!1;if(r.mirror==="all"||r.mirror==="allticks")return!0;var n=r._anchorAxis;if(!n)return!1;var i=td.FROM_BL[t];return r.side===t?n.domain[i]===e.domain[i]:r.mirror&&n.domain[1-i]===e.domain[1-i]}function cM(e,t,r,n){if(zee(e,t,r))return r._lw;for(var i=0;i<n.length;i++){var a=n[i];if(a._mainAxis===r._mainAxis&&zee(e,t,a))return a._lw}return 0}vs.drawMainTitle=function(e){var t=e._fullLayout.title,r=e._fullLayout,n=JKe(r),i=$Ke(r),a=ZKe(r,i),o=XKe(r,n);if(Iee.draw(e,"gtitle",{propContainer:r,propName:"title.text",subtitlePropName:"title.subtitle.text",placeholder:r._dfltTitle.plot,subtitlePlaceholder:r._dfltTitle.subtitle,attributes:{x:o,y:a,"text-anchor":n,dy:i}}),t.text&&t.automargin){var s=hM.selectAll(".gtitle"),l=oy.bBox(hM.selectAll(".g-gtitle").node()).height,u=GKe(e,t,l);if(u>0){WKe(e,a,u,l),s.attr({x:o,y:a,"text-anchor":n,dy:Nee(t.yanchor)}).call(f8.positionText,o,a);var f=(t.text.match(f8.BR_TAG_ALL)||[]).length;if(f){var c=td.LINE_SPACING*f+td.MID_SHIFT;t.y===0&&(c=-c),s.selectAll(".line").each(function(){var b=+this.getAttribute("dy").slice(0,-2)-c+"em";this.setAttribute("dy",b)})}var h=hM.selectAll(".gtitle-subtitle");if(h.node()){var d=s.node().getBBox(),v=d.y+d.height,m=v+Iee.SUBTITLE_PADDING_EM*t.subtitle.font.size;h.attr({x:o,y:m,"text-anchor":n,dy:Nee(t.yanchor)}).call(f8.positionText,o,m)}}}};function VKe(e,t,r,n,i){var a=t.yref==="paper"?e._fullLayout._size.h:e._fullLayout.height,o=ac.isTopAnchor(t)?n:n-i,s=r==="b"?a-o:o;return ac.isTopAnchor(t)&&r==="t"||ac.isBottomAnchor(t)&&r==="b"?!1:s<i}function YKe(e,t,r,n,i){var a=0;return r==="middle"&&(a+=i/2),e==="t"?(r==="top"&&(a+=i),a+=n-t*n):(r==="bottom"&&(a+=i),a+=t*n),a}function GKe(e,t,r){var n=t.y,i=t.yanchor,a=n>.5?"t":"b",o=e._fullLayout.margin[a],s=0;return t.yref==="paper"?s=r+t.pad.t+t.pad.b:t.yref==="container"&&(s=YKe(a,n,i,e._fullLayout.height,r)+t.pad.t+t.pad.b),s>o?s:0}function WKe(e,t,r,n){var i="title.automargin",a=e._fullLayout.title,o=a.y>.5?"t":"b",s={x:a.x,y:a.y,t:0,b:0},l={};a.yref==="paper"&&VKe(e,a,o,t,n)?s[o]=r:a.yref==="container"&&(l[o]=r,e._fullLayout._reservedMargin[i]=l),Cf.allowAutoMargin(e,i),Cf.autoMargin(e,i,s)}function XKe(e,t){var r=e.title,n=e._size,i=0;switch(t===Uee?i=r.pad.l:t===Hee&&(i=-r.pad.r),r.xref){case"paper":return n.l+n.w*r.x+i;case"container":default:return e.width*r.x+i}}function ZKe(e,t){var r=e.title,n=e._size,i=0;if(t==="0em"||!t?i=-r.pad.b:t===td.CAP_SHIFT+"em"&&(i=r.pad.t),r.y==="auto")return n.t/2;switch(r.yref){case"paper":return n.t+n.h-n.h*r.y+i;case"container":default:return e.height-e.height*r.y+i}}function Nee(e){return e==="top"?td.CAP_SHIFT+.3+"em":e==="bottom"?"-0.3em":td.MID_SHIFT+"em"}function JKe(e){var t=e.title,r=BKe;return ac.isRightAnchor(t)?r=Hee:ac.isLeftAnchor(t)&&(r=Uee),r}function $Ke(e){var t=e.title,r="0em";return ac.isTopAnchor(t)?r=td.CAP_SHIFT+"em":ac.isMiddleAnchor(t)&&(r=td.MID_SHIFT+"em"),r}vs.doTraceStyle=function(e){var t=e.calcdata,r=[],n;for(n=0;n<t.length;n++){var i=t[n],a=i[0]||{},o=a.trace||{},s=o._module||{},l=s.arraysToCalcdata;l&&l(i,o);var u=s.editStyle;u&&r.push({fn:u,cd0:a})}if(r.length){for(n=0;n<r.length;n++){var f=r[n];f.fn(e,f.cd0)}c8(e),vs.redrawReglTraces(e)}return Cf.style(e),Nl.getComponentMethod("legend","draw")(e),Cf.previousPromises(e)};vs.doColorBars=function(e){return Nl.getComponentMethod("colorbar","draw")(e),Cf.previousPromises(e)};vs.layoutReplot=function(e){var t=e.layout;return e.layout=void 0,Nl.call("_doPlot",e,"",t)};vs.doLegend=function(e){return Nl.getComponentMethod("legend","draw")(e),Cf.previousPromises(e)};vs.doTicksRelayout=function(e){return M2.draw(e,"redraw"),e._fullLayout._hasOnlyLargeSploms&&(Nl.subplotsRegistry.splom.updateGrid(e),c8(e),vs.redrawReglTraces(e)),vs.drawMainTitle(e),Cf.previousPromises(e)};vs.doModeBar=function(e){var t=e._fullLayout;Oee.manage(e);for(var r=0;r<t._basePlotModules.length;r++){var n=t._basePlotModules[r].updateFx;n&&n(e)}return Cf.previousPromises(e)};vs.doCamera=function(e){for(var t=e._fullLayout,r=t._subplots.gl3d,n=0;n<r.length;n++){var i=t[r[n]],a=i._scene;a.setViewport(i)}};vs.drawData=function(e){var t=e._fullLayout;c8(e);for(var r=t._basePlotModules,n=0;n<r.length;n++)r[n].plot(e);return vs.redrawReglTraces(e),Cf.style(e),Nl.getComponentMethod("selections","draw")(e),Nl.getComponentMethod("shapes","draw")(e),Nl.getComponentMethod("annotations","draw")(e),Nl.getComponentMethod("images","draw")(e),t._replotting=!1,Cf.previousPromises(e)};vs.redrawReglTraces=function(e){var t=e._fullLayout;if(t._has("regl")){var r=e._fullData,n=[],i=[],a,o;for(t._hasOnlyLargeSploms&&t._splomGrid.draw(),a=0;a<r.length;a++){var s=r[a];s.visible===!0&&s._length!==0&&(s.type==="splom"?t._splomScenes[s.uid].draw():s.type==="scattergl"?ac.pushUnique(n,s.xaxis+s.yaxis):s.type==="scatterpolargl"&&ac.pushUnique(i,s.subplot))}for(a=0;a<n.length;a++)o=t._plots[n[a]],o._scene&&o._scene.draw();for(a=0;a<i.length;a++)o=t[i[a]]._subplot,o._scene&&o._scene.draw()}};vs.doAutoRangeAndConstraints=function(e){for(var t=M2.list(e,"",!0),r,n={},i=0;i<t.length;i++)if(r=t[i],!n[r._id]){n[r._id]=1,OKe(e,r),qee(e,r);var a=r._matchGroup;if(a)for(var o in a){var s=M2.getFromId(e,o);qee(e,s,r.range),n[o]=1}}NKe(e)};vs.finalDraw=function(e){Nl.getComponentMethod("rangeslider","draw")(e),Nl.getComponentMethod("rangeselector","draw")(e)};vs.drawMarginPushers=function(e){Nl.getComponentMethod("legend","draw")(e),Nl.getComponentMethod("rangeselector","draw")(e),Nl.getComponentMethod("sliders","draw")(e),Nl.getComponentMethod("updatemenus","draw")(e),Nl.getComponentMethod("colorbar","draw")(e)}});var d8=J((HRt,Wee)=>{"use strict";var KKe=x0().readPaths,QKe=nM(),jee=l0().clearOutlineControllers,h8=qr(),Vee=ln(),eQe=ki().arrayEditor,Yee=w0(),tQe=Yee.getPathString;Wee.exports={draw:vM,drawOne:Gee,activateLastSelection:iQe};function vM(e){var t=e._fullLayout;jee(e),t._selectionLayer.selectAll("path").remove();for(var r in t._plots){var n=t._plots[r].selectionLayer;n&&n.selectAll("path").remove()}for(var i=0;i<t.selections.length;i++)Gee(e,i)}function dM(e){return e._context.editSelection}function Gee(e,t){e._fullLayout._paperdiv.selectAll('.selectionlayer [data-index="'+t+'"]').remove();var r=Yee.makeSelectionsOptionsAndPlotinfo(e,t),n=r.options,i=r.plotinfo;if(!n._input)return;a(e._fullLayout._selectionLayer);function a(o){var s=tQe(e,n),l={"data-index":t,"fill-rule":"evenodd",d:s},u=n.opacity,f="rgba(0,0,0,0)",c=n.line.color||h8.contrast(e._fullLayout.plot_bgcolor),h=n.line.width,d=n.line.dash;h||(h=5,d="solid");var v=dM(e)&&e._fullLayout._activeSelectionIndex===t;v&&(f=e._fullLayout.activeselection.fillcolor,u=e._fullLayout.activeselection.opacity);for(var m=[],b=1;b>=0;b--){var g=o.append("path").attr(l).style("opacity",b?.1:u).call(h8.stroke,c).call(h8.fill,f).call(Vee.dashLine,b?"solid":d,b?4+h:h);if(rQe(g,e,n),v){var _=eQe(e.layout,"selections",n);g.style({cursor:"move"});var T={element:g.node(),plotinfo:i,gd:e,editHelpers:_,isActiveSelection:!0},w=KKe(s,e);QKe(w,g,T)}else g.style("pointer-events",b?"all":"none");m[b]=g}var k=m[0],x=m[1];x.node().addEventListener("click",function(){return nQe(e,k)})}}function rQe(e,t,r){var n=r.xref+r.yref;Vee.setClipUrl(e,"clip"+t._fullLayout._uid+n,t)}function nQe(e,t){if(dM(e)){var r=t.node(),n=+r.getAttribute("data-index");if(n>=0){if(n===e._fullLayout._activeSelectionIndex){v8(e);return}e._fullLayout._activeSelectionIndex=n,e._fullLayout._deactivateSelection=v8,vM(e)}}}function iQe(e){if(dM(e)){var t=e._fullLayout.selections.length-1;e._fullLayout._activeSelectionIndex=t,e._fullLayout._deactivateSelection=v8,vM(e)}}function v8(e){if(dM(e)){var t=e._fullLayout._activeSelectionIndex;t>=0&&(jee(e),delete e._fullLayout._activeSelectionIndex,vM(e))}}});var Zee=J((jRt,Xee)=>{function aQe(){var e,t=0,r=!1;function n(i,a){return e.list.push({type:i,data:a?JSON.parse(JSON.stringify(a)):void 0}),e}return e={list:[],segmentId:function(){return t++},checkIntersection:function(i,a){return n("check",{seg1:i,seg2:a})},segmentChop:function(i,a){return n("div_seg",{seg:i,pt:a}),n("chop",{seg:i,pt:a})},statusRemove:function(i){return n("pop_seg",{seg:i})},segmentUpdate:function(i){return n("seg_update",{seg:i})},segmentNew:function(i,a){return n("new_seg",{seg:i,primary:a})},segmentRemove:function(i){return n("rem_seg",{seg:i})},tempStatus:function(i,a,o){return n("temp_status",{seg:i,above:a,below:o})},rewind:function(i){return n("rewind",{seg:i})},status:function(i,a,o){return n("status",{seg:i,above:a,below:o})},vert:function(i){return i===r?e:(r=i,n("vert",{x:i}))},log:function(i){return typeof i!="string"&&(i=JSON.stringify(i,!1," ")),n("log",{txt:i})},reset:function(){return n("reset")},selected:function(i){return n("selected",{segs:i})},chainStart:function(i){return n("chain_start",{seg:i})},chainRemoveHead:function(i,a){return n("chain_rem_head",{index:i,pt:a})},chainRemoveTail:function(i,a){return n("chain_rem_tail",{index:i,pt:a})},chainNew:function(i,a){return n("chain_new",{pt1:i,pt2:a})},chainMatch:function(i){return n("chain_match",{index:i})},chainClose:function(i){return n("chain_close",{index:i})},chainAddHead:function(i,a){return n("chain_add_head",{index:i,pt:a})},chainAddTail:function(i,a){return n("chain_add_tail",{index:i,pt:a})},chainConnect:function(i,a){return n("chain_con",{index1:i,index2:a})},chainReverse:function(i){return n("chain_rev",{index:i})},chainJoin:function(i,a){return n("chain_join",{index1:i,index2:a})},done:function(){return n("done")}},e}Xee.exports=aQe});var $ee=J((VRt,Jee)=>{function oQe(e){typeof e!="number"&&(e=1e-10);var t={epsilon:function(r){return typeof r=="number"&&(e=r),e},pointAboveOrOnLine:function(r,n,i){var a=n[0],o=n[1],s=i[0],l=i[1],u=r[0],f=r[1];return(s-a)*(f-o)-(l-o)*(u-a)>=-e},pointBetween:function(r,n,i){var a=r[1]-n[1],o=i[0]-n[0],s=r[0]-n[0],l=i[1]-n[1],u=s*o+a*l;if(u<e)return!1;var f=o*o+l*l;return!(u-f>-e)},pointsSameX:function(r,n){return Math.abs(r[0]-n[0])<e},pointsSameY:function(r,n){return Math.abs(r[1]-n[1])<e},pointsSame:function(r,n){return t.pointsSameX(r,n)&&t.pointsSameY(r,n)},pointsCompare:function(r,n){return t.pointsSameX(r,n)?t.pointsSameY(r,n)?0:r[1]<n[1]?-1:1:r[0]<n[0]?-1:1},pointsCollinear:function(r,n,i){var a=r[0]-n[0],o=r[1]-n[1],s=n[0]-i[0],l=n[1]-i[1];return Math.abs(a*l-s*o)<e},linesIntersect:function(r,n,i,a){var o=n[0]-r[0],s=n[1]-r[1],l=a[0]-i[0],u=a[1]-i[1],f=o*u-s*l;if(Math.abs(f)<e)return!1;var c=r[0]-i[0],h=r[1]-i[1],d=(l*h-u*c)/f,v=(o*h-s*c)/f,m={alongA:0,alongB:0,pt:[r[0]+d*o,r[1]+d*s]};return d<=-e?m.alongA=-2:d<e?m.alongA=-1:d-1<=-e?m.alongA=0:d-1<e?m.alongA=1:m.alongA=2,v<=-e?m.alongB=-2:v<e?m.alongB=-1:v-1<=-e?m.alongB=0:v-1<e?m.alongB=1:m.alongB=2,m},pointInsideRegion:function(r,n){for(var i=r[0],a=r[1],o=n[n.length-1][0],s=n[n.length-1][1],l=!1,u=0;u<n.length;u++){var f=n[u][0],c=n[u][1];c-a>e!=s-a>e&&(o-f)*(a-c)/(s-c)+f-i>e&&(l=!l),o=f,s=c}return l}};return t}Jee.exports=oQe});var Qee=J((YRt,Kee)=>{var sQe={create:function(){var e={root:{root:!0,next:null},exists:function(t){return!(t===null||t===e.root)},isEmpty:function(){return e.root.next===null},getHead:function(){return e.root.next},insertBefore:function(t,r){for(var n=e.root,i=e.root.next;i!==null;){if(r(i)){t.prev=i.prev,t.next=i,i.prev.next=t,i.prev=t;return}n=i,i=i.next}n.next=t,t.prev=n,t.next=null},findTransition:function(t){for(var r=e.root,n=e.root.next;n!==null&&!t(n);)r=n,n=n.next;return{before:r===e.root?null:r,after:n,insert:function(i){return i.prev=r,i.next=n,r.next=i,n!==null&&(n.prev=i),i}}}};return e},node:function(e){return e.prev=null,e.next=null,e.remove=function(){e.prev.next=e.next,e.next&&(e.next.prev=e.prev),e.prev=null,e.next=null},e}};Kee.exports=sQe});var tte=J((GRt,ete)=>{var S2=Qee();function lQe(e,t,r){function n(v,m){return{id:r?r.segmentId():-1,start:v,end:m,myFill:{above:null,below:null},otherFill:null}}function i(v,m,b){return{id:r?r.segmentId():-1,start:v,end:m,myFill:{above:b.myFill.above,below:b.myFill.below},otherFill:null}}var a=S2.create();function o(v,m,b,g,_,T){var w=t.pointsCompare(m,_);return w!==0?w:t.pointsSame(b,T)?0:v!==g?v?1:-1:t.pointAboveOrOnLine(b,g?_:T,g?T:_)?1:-1}function s(v,m){a.insertBefore(v,function(b){var g=o(v.isStart,v.pt,m,b.isStart,b.pt,b.other.pt);return g<0})}function l(v,m){var b=S2.node({isStart:!0,pt:v.start,seg:v,primary:m,other:null,status:null});return s(b,v.end),b}function u(v,m,b){var g=S2.node({isStart:!1,pt:m.end,seg:m,primary:b,other:v,status:null});v.other=g,s(g,v.pt)}function f(v,m){var b=l(v,m);return u(b,v,m),b}function c(v,m){r&&r.segmentChop(v.seg,m),v.other.remove(),v.seg.end=m,v.other.pt=m,s(v.other,v.pt)}function h(v,m){var b=i(m,v.seg.end,v.seg);return c(v,m),f(b,v.primary)}function d(v,m){var b=S2.create();function g(R,I){var P=R.seg.start,D=R.seg.end,q=I.seg.start,N=I.seg.end;return t.pointsCollinear(P,q,N)?t.pointsCollinear(D,q,N)||t.pointAboveOrOnLine(D,q,N)?1:-1:t.pointAboveOrOnLine(P,q,N)?1:-1}function _(R){return b.findTransition(function(I){var P=g(R,I.ev);return P>0})}function T(R,I){var P=R.seg,D=I.seg,q=P.start,N=P.end,U=D.start,G=D.end;r&&r.checkIntersection(P,D);var ee=t.linesIntersect(q,N,U,G);if(ee===!1){if(!t.pointsCollinear(q,N,U)||t.pointsSame(q,G)||t.pointsSame(N,U))return!1;var Q=t.pointsSame(q,U),j=t.pointsSame(N,G);if(Q&&j)return I;var O=!Q&&t.pointBetween(q,U,G),Z=!j&&t.pointBetween(N,U,G);if(Q)return Z?h(I,N):h(R,G),I;O&&(j||(Z?h(I,N):h(R,G)),h(I,q))}else ee.alongA===0&&(ee.alongB===-1?h(R,U):ee.alongB===0?h(R,ee.pt):ee.alongB===1&&h(R,G)),ee.alongB===0&&(ee.alongA===-1?h(I,q):ee.alongA===0?h(I,ee.pt):ee.alongA===1&&h(I,N));return!1}for(var w=[];!a.isEmpty();){var k=a.getHead();if(r&&r.vert(k.pt[0]),k.isStart){let R=function(){if(M){var I=T(k,M);if(I)return I}return A?T(k,A):!1};var L=R;r&&r.segmentNew(k.seg,k.primary);var x=_(k),M=x.before?x.before.ev:null,A=x.after?x.after.ev:null;r&&r.tempStatus(k.seg,M?M.seg:!1,A?A.seg:!1);var p=R();if(p){if(e){var S;k.seg.myFill.below===null?S=!0:S=k.seg.myFill.above!==k.seg.myFill.below,S&&(p.seg.myFill.above=!p.seg.myFill.above)}else p.seg.otherFill=k.seg.myFill;r&&r.segmentUpdate(p.seg),k.other.remove(),k.remove()}if(a.getHead()!==k){r&&r.rewind(k.seg);continue}if(e){var S;k.seg.myFill.below===null?S=!0:S=k.seg.myFill.above!==k.seg.myFill.below,A?k.seg.myFill.below=A.seg.myFill.above:k.seg.myFill.below=v,S?k.seg.myFill.above=!k.seg.myFill.below:k.seg.myFill.above=k.seg.myFill.below}else if(k.seg.otherFill===null){var y;A?k.primary===A.primary?y=A.seg.otherFill.above:y=A.seg.myFill.above:y=k.primary?m:v,k.seg.otherFill={above:y,below:y}}r&&r.status(k.seg,M?M.seg:!1,A?A.seg:!1),k.other.status=x.insert(S2.node({ev:k}))}else{var E=k.status;if(E===null)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(b.exists(E.prev)&&b.exists(E.next)&&T(E.prev.ev,E.next.ev),r&&r.statusRemove(E.ev.seg),E.remove(),!k.primary){var C=k.seg.myFill;k.seg.myFill=k.seg.otherFill,k.seg.otherFill=C}w.push(k.seg)}a.getHead().remove()}return r&&r.done(),w}return e?{addRegion:function(v){for(var m,b=v[v.length-1],g=0;g<v.length;g++){m=b,b=v[g];var _=t.pointsCompare(m,b);_!==0&&f(n(_<0?m:b,_<0?b:m),!0)}},calculate:function(v){return d(v,!1)}}:{calculate:function(v,m,b,g){return v.forEach(function(_){f(i(_.start,_.end,_),!0)}),b.forEach(function(_){f(i(_.start,_.end,_),!1)}),d(m,g)}}}ete.exports=lQe});var nte=J((WRt,rte)=>{function uQe(e,t,r){var n=[],i=[];return e.forEach(function(a){var o=a.start,s=a.end;if(t.pointsSame(o,s)){console.warn("PolyBool: Warning: Zero-length segment detected; your epsilon is probably too small or too large");return}r&&r.chainStart(a);var l={index:0,matches_head:!1,matches_pt1:!1},u={index:0,matches_head:!1,matches_pt1:!1},f=l;function c(L,R,I){return f.index=L,f.matches_head=R,f.matches_pt1=I,f===l?(f=u,!1):(f=null,!0)}for(var h=0;h<n.length;h++){var d=n[h],v=d[0],m=d[1],b=d[d.length-1],g=d[d.length-2];if(t.pointsSame(v,o)){if(c(h,!0,!0))break}else if(t.pointsSame(v,s)){if(c(h,!0,!1))break}else if(t.pointsSame(b,o)){if(c(h,!1,!0))break}else if(t.pointsSame(b,s)&&c(h,!1,!1))break}if(f===l){n.push([o,s]),r&&r.chainNew(o,s);return}if(f===u){r&&r.chainMatch(l.index);var _=l.index,T=l.matches_pt1?s:o,w=l.matches_head,d=n[_],k=w?d[0]:d[d.length-1],x=w?d[1]:d[d.length-2],M=w?d[d.length-1]:d[0],A=w?d[d.length-2]:d[1];if(t.pointsCollinear(x,k,T)&&(w?(r&&r.chainRemoveHead(l.index,T),d.shift()):(r&&r.chainRemoveTail(l.index,T),d.pop()),k=x),t.pointsSame(M,T)){n.splice(_,1),t.pointsCollinear(A,M,k)&&(w?(r&&r.chainRemoveTail(l.index,k),d.pop()):(r&&r.chainRemoveHead(l.index,k),d.shift())),r&&r.chainClose(l.index),i.push(d);return}w?(r&&r.chainAddHead(l.index,T),d.unshift(T)):(r&&r.chainAddTail(l.index,T),d.push(T));return}function p(L){r&&r.chainReverse(L),n[L].reverse()}function S(L,R){var I=n[L],P=n[R],D=I[I.length-1],q=I[I.length-2],N=P[0],U=P[1];t.pointsCollinear(q,D,N)&&(r&&r.chainRemoveTail(L,D),I.pop(),D=q),t.pointsCollinear(D,N,U)&&(r&&r.chainRemoveHead(R,N),P.shift()),r&&r.chainJoin(L,R),n[L]=I.concat(P),n.splice(R,1)}var y=l.index,E=u.index;r&&r.chainConnect(y,E);var C=n[y].length<n[E].length;l.matches_head?u.matches_head?C?(p(y),S(y,E)):(p(E),S(E,y)):S(E,y):u.matches_head?S(y,E):C?(p(y),S(E,y)):(p(E),S(y,E))}),i}rte.exports=uQe});var ate=J((XRt,ite)=>{function C2(e,t,r){var n=[];return e.forEach(function(i){var a=(i.myFill.above?8:0)+(i.myFill.below?4:0)+(i.otherFill&&i.otherFill.above?2:0)+(i.otherFill&&i.otherFill.below?1:0);t[a]!==0&&n.push({id:r?r.segmentId():-1,start:i.start,end:i.end,myFill:{above:t[a]===1,below:t[a]===2},otherFill:null})}),r&&r.selected(n),n}var fQe={union:function(e,t){return C2(e,[0,2,1,0,2,2,0,0,1,0,1,0,0,0,0,0],t)},intersect:function(e,t){return C2(e,[0,0,0,0,0,2,0,2,0,0,1,1,0,2,1,0],t)},difference:function(e,t){return C2(e,[0,0,0,0,2,0,2,0,1,1,0,0,0,1,2,0],t)},differenceRev:function(e,t){return C2(e,[0,2,1,0,0,0,1,1,0,2,0,2,0,0,0,0],t)},xor:function(e,t){return C2(e,[0,2,1,0,2,0,0,1,1,0,0,2,0,1,2,0],t)}};ite.exports=fQe});var ste=J((ZRt,ote)=>{var cQe={toPolygon:function(e,t){function r(a){if(a.length<=0)return e.segments({inverted:!1,regions:[]});function o(u){var f=u.slice(0,u.length-1);return e.segments({inverted:!1,regions:[f]})}for(var s=o(a[0]),l=1;l<a.length;l++)s=e.selectDifference(e.combine(s,o(a[l])));return s}if(t.type==="Polygon")return e.polygon(r(t.coordinates));if(t.type==="MultiPolygon"){for(var n=e.segments({inverted:!1,regions:[]}),i=0;i<t.coordinates.length;i++)n=e.selectUnion(e.combine(n,r(t.coordinates[i])));return e.polygon(n)}throw new Error("PolyBool: Cannot convert GeoJSON object to PolyBool polygon")},fromPolygon:function(e,t,r){r=e.polygon(e.segments(r));function n(d,v){return t.pointInsideRegion([(d[0][0]+d[1][0])*.5,(d[0][1]+d[1][1])*.5],v)}function i(d){return{region:d,children:[]}}var a=i(null);function o(d,v){for(var m=0;m<d.children.length;m++){var b=d.children[m];if(n(v,b.region)){o(b,v);return}}for(var g=i(v),m=0;m<d.children.length;m++){var b=d.children[m];n(b.region,v)&&(g.children.push(b),d.children.splice(m,1),m--)}d.children.push(g)}for(var s=0;s<r.regions.length;s++){var l=r.regions[s];l.length<3||o(a,l)}function u(d,v){for(var m=0,b=d[d.length-1][0],g=d[d.length-1][1],_=[],T=0;T<d.length;T++){var w=d[T][0],k=d[T][1];_.push([w,k]),m+=k*b-w*g,b=w,g=k}var x=m<0;return x!==v&&_.reverse(),_.push([_[0][0],_[0][1]]),_}var f=[];function c(d){var v=[u(d.region,!1)];f.push(v);for(var m=0;m<d.children.length;m++)v.push(h(d.children[m]))}function h(d){for(var v=0;v<d.children.length;v++)c(d.children[v]);return u(d.region,!0)}for(var s=0;s<a.children.length;s++)c(a.children[s]);return f.length<=0?{type:"Polygon",coordinates:[]}:f.length==1?{type:"Polygon",coordinates:f[0]}:{type:"MultiPolygon",coordinates:f}}};ote.exports=cQe});var cte=J((JRt,fte)=>{var hQe=Zee(),vQe=$ee(),lte=tte(),dQe=nte(),E2=ate(),ute=ste(),oc=!1,L2=vQe(),Vu;Vu={buildLog:function(e){return e===!0?oc=hQe():e===!1&&(oc=!1),oc===!1?!1:oc.list},epsilon:function(e){return L2.epsilon(e)},segments:function(e){var t=lte(!0,L2,oc);return e.regions.forEach(t.addRegion),{segments:t.calculate(e.inverted),inverted:e.inverted}},combine:function(e,t){var r=lte(!1,L2,oc);return{combined:r.calculate(e.segments,e.inverted,t.segments,t.inverted),inverted1:e.inverted,inverted2:t.inverted}},selectUnion:function(e){return{segments:E2.union(e.combined,oc),inverted:e.inverted1||e.inverted2}},selectIntersect:function(e){return{segments:E2.intersect(e.combined,oc),inverted:e.inverted1&&e.inverted2}},selectDifference:function(e){return{segments:E2.difference(e.combined,oc),inverted:e.inverted1&&!e.inverted2}},selectDifferenceRev:function(e){return{segments:E2.differenceRev(e.combined,oc),inverted:!e.inverted1&&e.inverted2}},selectXor:function(e){return{segments:E2.xor(e.combined,oc),inverted:e.inverted1!==e.inverted2}},polygon:function(e){return{regions:dQe(e.segments,L2,oc),inverted:e.inverted}},polygonFromGeoJSON:function(e){return ute.toPolygon(Vu,e)},polygonToGeoJSON:function(e){return ute.fromPolygon(Vu,L2,e)},union:function(e,t){return D2(e,t,Vu.selectUnion)},intersect:function(e,t){return D2(e,t,Vu.selectIntersect)},difference:function(e,t){return D2(e,t,Vu.selectDifference)},differenceRev:function(e,t){return D2(e,t,Vu.selectDifferenceRev)},xor:function(e,t){return D2(e,t,Vu.selectXor)}};function D2(e,t,r){var n=Vu.segments(e),i=Vu.segments(t),a=Vu.combine(n,i),o=r(a);return Vu.polygon(o)}typeof window=="object"&&(window.PolyBool=Vu);fte.exports=Vu});var vte=J(($Rt,hte)=>{hte.exports=function(t,r,n,i){var a=t[0],o=t[1],s=!1;n===void 0&&(n=0),i===void 0&&(i=r.length);for(var l=i-n,u=0,f=l-1;u<l;f=u++){var c=r[u+n][0],h=r[u+n][1],d=r[f+n][0],v=r[f+n][1],m=h>o!=v>o&&a<(d-c)*(o-h)/(v-h)+c;m&&(s=!s)}return s}});var R2=J((KRt,dte)=>{"use strict";var p8=wT().dot,pM=oi().BADNUM,gM=dte.exports={};gM.tester=function(t){var r=t.slice(),n=r[0][0],i=n,a=r[0][1],o=a,s;for((r[r.length-1][0]!==r[0][0]||r[r.length-1][1]!==r[0][1])&&r.push(r[0]),s=1;s<r.length;s++)n=Math.min(n,r[s][0]),i=Math.max(i,r[s][0]),a=Math.min(a,r[s][1]),o=Math.max(o,r[s][1]);var l=!1,u;r.length===5&&(r[0][0]===r[1][0]?r[2][0]===r[3][0]&&r[0][1]===r[3][1]&&r[1][1]===r[2][1]&&(l=!0,u=function(v){return v[0]===r[0][0]}):r[0][1]===r[1][1]&&r[2][1]===r[3][1]&&r[0][0]===r[3][0]&&r[1][0]===r[2][0]&&(l=!0,u=function(v){return v[1]===r[0][1]}));function f(v,m){var b=v[0],g=v[1];return!(b===pM||b<n||b>i||g===pM||g<a||g>o||m&&u(v))}function c(v,m){var b=v[0],g=v[1];if(b===pM||b<n||b>i||g===pM||g<a||g>o)return!1;var _=r.length,T=r[0][0],w=r[0][1],k=0,x,M,A,p,S;for(x=1;x<_;x++)if(M=T,A=w,T=r[x][0],w=r[x][1],p=Math.min(M,T),!(b<p||b>Math.max(M,T)||g>Math.max(A,w)))if(g<Math.min(A,w))b!==p&&k++;else{if(T===M?S=g:S=A+(b-M)*(w-A)/(T-M),g===S)return!(x===1&&m);g<=S&&b!==p&&k++}return k%2===1}var h=!0,d=r[0];for(s=1;s<r.length;s++)if(d[0]!==r[s][0]||d[1]!==r[s][1]){h=!1;break}return{xmin:n,xmax:i,ymin:a,ymax:o,pts:r,contains:l?f:c,isRect:l,degenerate:h}};gM.isSegmentBent=function(t,r,n,i){var a=t[r],o=[t[n][0]-a[0],t[n][1]-a[1]],s=p8(o,o),l=Math.sqrt(s),u=[-o[1]/l,o[0]/l],f,c,h;for(f=r+1;f<n;f++)if(c=[t[f][0]-a[0],t[f][1]-a[1]],h=p8(c,o),h<0||h>s||Math.abs(p8(c,u))>i)return!0;return!1};gM.filter=function(t,r){var n=[t[0]],i=0,a=0;function o(l){t.push(l);var u=n.length,f=i;n.splice(a+1);for(var c=f+1;c<t.length;c++)(c===t.length-1||gM.isSegmentBent(t,f,c+1,r))&&(n.push(t[c]),n.length<u-2&&(i=c,a=n.length-1),f=c)}if(t.length>1){var s=t.pop();o(s)}return{addPt:o,raw:t,filtered:n}}});var gte=J((QRt,pte)=>{"use strict";pte.exports={BENDPX:1.5,MINSELECT:12,SELECTDELAY:100,SELECTID:"-select"}});var Nte=J((ePt,zte)=>{"use strict";var mte=cte(),pQe=vte(),q2=zr(),gQe=ln().dashStyle,P2=qr(),mQe=go(),yQe=Qf().makeEventData,B2=y0(),xQe=B2.freeMode,bQe=B2.rectMode,F2=B2.drawMode,x8=B2.openMode,b8=B2.selectMode,yte=w0(),xte=b2(),Ate=nM(),Mte=l0().clearOutline,kte=x0(),g8=kte.handleEllipse,wQe=kte.readPaths,_Qe=QA().newShapes,TQe=HD(),AQe=d8().activateLastSelection,yM=gt(),MQe=yM.sorterAsc,Ste=R2(),I2=zT(),sc=jo().getFromId,kQe=y2(),SQe=k2().redrawReglTraces,xM=gte(),tv=xM.MINSELECT,CQe=Ste.filter,w8=Ste.tester,_8=ZA(),bte=_8.p2r,EQe=_8.axValue,LQe=_8.getTransform;function T8(e){return e.subplot!==void 0}function DQe(e,t,r,n,i){var a=!T8(n),o=xQe(i),s=bQe(i),l=x8(i),u=F2(i),f=b8(i),c=i==="drawline",h=i==="drawcircle",d=c||h,v=n.gd,m=v._fullLayout,b=f&&m.newselection.mode==="immediate"&&a,g=m._zoomlayer,_=n.element.getBoundingClientRect(),T=n.plotinfo,w=LQe(T),k=t-_.left,x=r-_.top;m._calcInverseTransform(v);var M=yM.apply3DTransform(m._invTransform)(k,x);k=M[0],x=M[1];var A=m._invScaleX,p=m._invScaleY,S=k,y=x,E="M"+k+","+x,C=n.xaxes[0],L=n.yaxes[0],R=C._length,I=L._length,P=e.altKey&&!(F2(i)&&l),D,q,N,U,G,ee,Q;Ete(e,v,n),o&&(D=CQe([[k,x]],xM.BENDPX));var j=g.selectAll("path.select-outline-"+T.id).data([1]),O=u?m.newshape:m.newselection;u&&(n.hasText=O.label.text||O.label.texttemplate);var Z=u&&!l?O.fillcolor:"rgba(0,0,0,0)",K=O.line.color||(a?P2.contrast(v._fullLayout.plot_bgcolor):"#7f7f7f");j.enter().append("path").attr("class","select-outline select-outline-"+T.id).style({opacity:u?O.opacity/2:1,"stroke-dasharray":gQe(O.line.dash,O.line.width),"stroke-width":O.line.width+"px","shape-rendering":"crispEdges"}).call(P2.stroke,K).call(P2.fill,Z).attr("fill-rule","evenodd").classed("cursor-move",!!u).attr("transform",w).attr("d",E+"Z");var $=g.append("path").attr("class","zoombox-corners").style({fill:P2.background,stroke:P2.defaultLine,"stroke-width":1}).attr("transform",w).attr("d","M0,0Z");if(u&&n.hasText){var oe=g.select(".label-temp");oe.empty()&&(oe=g.append("g").classed("label-temp",!0).classed("select-outline",!0).style({opacity:.8}))}var te=m._uid+xM.SELECTID,V=[],ne=bM(v,n.xaxes,n.yaxes,n.subplot);b&&!e.shiftKey&&(n._clearSubplotSelections=function(){if(a){var fe=C._id,ge=L._id;Ite(v,fe,ge,ne);for(var Ce=(v.layout||{}).selections||[],Ne=[],pe=!1,me=0;me<Ce.length;me++){var Ie=m.selections[me];Ie.xref!==fe||Ie.yref!==ge?Ne.push(Ce[me]):pe=!0}pe&&(v._fullLayout._noEmitSelectedAtStart=!0,q2.call("_guiRelayout",v,{selections:Ne}))}});var W=YQe(n);n.moveFn=function(fe,ge){n._clearSubplotSelections&&(n._clearSubplotSelections(),n._clearSubplotSelections=void 0),S=Math.max(0,Math.min(R,A*fe+k)),y=Math.max(0,Math.min(I,p*ge+x));var Ce=Math.abs(S-k),Ne=Math.abs(y-x);if(s){var pe,me,Ie;if(f){var Re=m.selectdirection;switch(Re==="any"?Ne<Math.min(Ce*.6,tv)?pe="h":Ce<Math.min(Ne*.6,tv)?pe="v":pe="d":pe=Re,pe){case"h":me=h?I/2:0,Ie=I;break;case"v":me=h?R/2:0,Ie=R;break}}if(u)switch(m.newshape.drawdirection){case"vertical":pe="h",me=h?I/2:0,Ie=I;break;case"horizontal":pe="v",me=h?R/2:0,Ie=R;break;case"ortho":Ce<Ne?(pe="h",me=x,Ie=y):(pe="v",me=k,Ie=S);break;default:pe="d"}pe==="h"?(U=d?g8(h,[S,me],[S,Ie]):[[k,me],[k,Ie],[S,Ie],[S,me]],U.xmin=d?S:Math.min(k,S),U.xmax=d?S:Math.max(k,S),U.ymin=Math.min(me,Ie),U.ymax=Math.max(me,Ie),$.attr("d","M"+U.xmin+","+(x-tv)+"h-4v"+2*tv+"h4ZM"+(U.xmax-1)+","+(x-tv)+"h4v"+2*tv+"h-4Z")):pe==="v"?(U=d?g8(h,[me,y],[Ie,y]):[[me,x],[me,y],[Ie,y],[Ie,x]],U.xmin=Math.min(me,Ie),U.xmax=Math.max(me,Ie),U.ymin=d?y:Math.min(x,y),U.ymax=d?y:Math.max(x,y),$.attr("d","M"+(k-tv)+","+U.ymin+"v-4h"+2*tv+"v4ZM"+(k-tv)+","+(U.ymax-1)+"v4h"+2*tv+"v-4Z")):pe==="d"&&(U=d?g8(h,[k,x],[S,y]):[[k,x],[k,y],[S,y],[S,x]],U.xmin=Math.min(k,S),U.xmax=Math.max(k,S),U.ymin=Math.min(x,y),U.ymax=Math.max(x,y),$.attr("d","M0,0Z"))}else o&&(D.addPt([S,y]),U=D.filtered);if(n.selectionDefs&&n.selectionDefs.length?(N=Lte(n.mergedPolygons,U,P),U.subtract=P,q=A8(n.selectionDefs.concat([U]))):(N=[U],q=w8(U)),Ate(Rte(N,l),j,n),f){var ze=y8(v,!1),Be=ze.eventData?ze.eventData.points.slice():[];ze=y8(v,!1,q,ne,n),q=ze.selectionTesters,Q=ze.eventData;var tt;D?tt=D.filtered:tt=qte(N),I2.throttle(te,xM.SELECTDELAY,function(){V=Pte(q,ne);for(var rt=V.slice(),ce=0;ce<Be.length;ce++){for(var Ee=Be[ce],Ae=!1,Pe=0;Pe<rt.length;Pe++)if(rt[Pe].curveNumber===Ee.curveNumber&&rt[Pe].pointNumber===Ee.pointNumber){Ae=!0;break}Ae||rt.push(Ee)}rt.length&&(Q||(Q={}),Q.points=rt),W(Q,tt),GQe(v,Q)})}},n.clickFn=function(fe,ge){if($.remove(),v._fullLayout._activeShapeIndex>=0){v._fullLayout._deactivateShape(v);return}if(!u){var Ce=m.clickmode;I2.done(te).then(function(){if(I2.clear(te),fe===2){for(j.remove(),G=0;G<ne.length;G++)ee=ne[G],ee._module.selectPoints(ee,!1);if(N2(v,ne),z2(n),k8(v),ne.length){var Ne=ne[0].xaxis,pe=ne[0].yaxis;if(Ne&&pe){for(var me=[],Ie=v._fullLayout.selections,Re=0;Re<Ie.length;Re++){var ze=Ie[Re];ze&&(ze.xref!==Ne._id||ze.yref!==pe._id)&&me.push(ze)}me.length<Ie.length&&(v._fullLayout._noEmitSelectedAtStart=!0,q2.call("_guiRelayout",v,{selections:me}))}}}else Ce.indexOf("select")>-1&&Cte(ge,v,n.xaxes,n.yaxes,n.subplot,n,j),Ce==="event"&&O2(v,void 0);mQe.click(v,ge,T.id)}).catch(yM.error)}},n.doneFn=function(){$.remove(),I2.done(te).then(function(){I2.clear(te),!b&&U&&n.selectionDefs&&(U.subtract=P,n.selectionDefs.push(U),n.mergedPolygons.length=0,[].push.apply(n.mergedPolygons,N)),(b||u)&&z2(n,b),n.doneFnCompleted&&n.doneFnCompleted(V),f&&O2(v,Q)}).catch(yM.error)}}function Cte(e,t,r,n,i,a,o){var s=t._hoverdata,l=t._fullLayout,u=l.clickmode,f=u.indexOf("event")>-1,c=[],h,d,v,m,b,g,_,T,w,k;if(FQe(s)){Ete(e,t,a),h=bM(t,r,n,i);var x=zQe(s,h),M=x.pointNumbers.length>0;if(M?NQe(h,x):OQe(h)&&(_=_te(x))){for(o&&o.remove(),k=0;k<h.length;k++)d=h[k],d._module.selectPoints(d,!1);N2(t,h),z2(a),f&&k8(t)}else{T=e.shiftKey&&(_!==void 0?_:_te(x)),v=RQe(x.pointNumber,x.searchInfo,T);var A=a.selectionDefs.concat([v]);for(m=A8(A,m),k=0;k<h.length;k++)if(b=h[k]._module.selectPoints(h[k],m),g=Dte(b,h[k]),c.length)for(var p=0;p<g.length;p++)c.push(g[p]);else c=g;if(w={points:c},N2(t,h,w),v&&a&&a.selectionDefs.push(v),o){var S=a.mergedPolygons,y=x8(a.dragmode);Ate(Rte(S,y),o,a)}f&&O2(t,w)}}}function RQe(e,t,r){return{pointNumber:e,searchInfo:t,subtract:!!r}}function m8(e){return"pointNumber"in e&&"searchInfo"in e}function PQe(e){return{xmin:0,xmax:0,ymin:0,ymax:0,pts:[],contains:function(t,r,n,i){var a=e.searchInfo.cd[0].trace._expandedIndex,o=i.cd[0].trace._expandedIndex;return o===a&&n===e.pointNumber},isRect:!1,degenerate:!1,subtract:!!e.subtract}}function A8(e){if(!e.length)return;for(var t=[],r=m8(e[0])?0:e[0][0][0],n=r,i=m8(e[0])?0:e[0][0][1],a=i,o=0;o<e.length;o++)if(m8(e[o]))t.push(PQe(e[o]));else{var s=w8(e[o]);s.subtract=!!e[o].subtract,t.push(s),r=Math.min(r,s.xmin),n=Math.max(n,s.xmax),i=Math.min(i,s.ymin),a=Math.max(a,s.ymax)}function l(u,f,c,h){for(var d=!1,v=0;v<t.length;v++)t[v].contains(u,f,c,h)&&(d=!t[v].subtract);return d}return{xmin:r,xmax:n,ymin:i,ymax:a,pts:[],contains:l,isRect:!1,degenerate:!1}}function Ete(e,t,r){var n=t._fullLayout,i=r.plotinfo,a=r.dragmode,o=n._lastSelectedSubplot&&n._lastSelectedSubplot===i.id,s=(e.shiftKey||e.altKey)&&!(F2(a)&&x8(a));o&&s&&i.selection&&i.selection.selectionDefs&&!r.selectionDefs?(r.selectionDefs=i.selection.selectionDefs,r.mergedPolygons=i.selection.mergedPolygons):(!s||!i.selection)&&z2(r),o||(Mte(t),n._lastSelectedSubplot=i.id)}function IQe(e){return e._fullLayout._activeShapeIndex>=0}function qQe(e){return e._fullLayout._activeSelectionIndex>=0}function z2(e,t){var r=e.dragmode,n=e.plotinfo,i=e.gd;IQe(i)&&i._fullLayout._deactivateShape(i),qQe(i)&&i._fullLayout._deactivateSelection(i);var a=i._fullLayout,o=a._zoomlayer,s=F2(r),l=b8(r);if(s||l){var u=o.selectAll(".select-outline-"+n.id);if(u&&i._fullLayout._outlining){var f;s&&(f=_Qe(u,e)),f&&q2.call("_guiRelayout",i,{shapes:f});var c;l&&!T8(e)&&(c=TQe(u,e)),c&&(i._fullLayout._noEmitSelectedAtStart=!0,q2.call("_guiRelayout",i,{selections:c}).then(function(){t&&AQe(i)})),i._fullLayout._outlining=!1}}n.selection={},n.selection.selectionDefs=e.selectionDefs=[],n.selection.mergedPolygons=e.mergedPolygons=[]}function wte(e){return e._id}function bM(e,t,r,n){if(!e.calcdata)return[];var i=[],a=t.map(wte),o=r.map(wte),s,l,u;for(u=0;u<e.calcdata.length;u++)if(s=e.calcdata[u],l=s[0].trace,!(l.visible!==!0||!l._module||!l._module.selectPoints))if(T8({subplot:n})&&(l.subplot===n||l.geo===n))i.push(mM(l._module,s,t[0],r[0]));else if(l.type==="splom"){if(l._xaxes[a[0]]&&l._yaxes[o[0]]){var f=mM(l._module,s,t[0],r[0]);f.scene=e._fullLayout._splomScenes[l.uid],i.push(f)}}else if(l.type==="sankey"){var c=mM(l._module,s,t[0],r[0]);i.push(c)}else{if(a.indexOf(l.xaxis)===-1&&(!l._xA||!l._xA.overlaying)||o.indexOf(l.yaxis)===-1&&(!l._yA||!l._yA.overlaying))continue;i.push(mM(l._module,s,sc(e,l.xaxis),sc(e,l.yaxis)))}return i}function mM(e,t,r,n){return{_module:e,cd:t,xaxis:r,yaxis:n}}function FQe(e){return e&&Array.isArray(e)&&e[0].hoverOnBox!==!0}function zQe(e,t){var r=e[0],n=-1,i=[],a,o;for(o=0;o<t.length;o++)if(a=t[o],r.fullData._expandedIndex===a.cd[0].trace._expandedIndex){if(r.hoverOnBox===!0)break;r.pointNumber!==void 0?n=r.pointNumber:r.binNumber!==void 0&&(n=r.binNumber,i=r.pointNumbers);break}return{pointNumber:n,pointNumbers:i,searchInfo:a}}function _te(e){var t=e.searchInfo.cd[0].trace,r=e.pointNumber,n=e.pointNumbers,i=n.length>0,a=i?n[0]:r;return t.selectedpoints?t.selectedpoints.indexOf(a)>-1:!1}function NQe(e,t){var r=[],n,i,a,o;for(o=0;o<e.length;o++)n=e[o],n.cd[0].trace.selectedpoints&&n.cd[0].trace.selectedpoints.length>0&&r.push(n);if(r.length===1&&(a=r[0]===t.searchInfo,a&&(i=t.searchInfo.cd[0].trace,i.selectedpoints.length===t.pointNumbers.length))){for(o=0;o<t.pointNumbers.length;o++)if(i.selectedpoints.indexOf(t.pointNumbers[o])<0)return!1;return!0}return!1}function OQe(e){var t=0,r,n,i;for(i=0;i<e.length;i++)if(r=e[i],n=r.cd[0].trace,n.selectedpoints&&(n.selectedpoints.length>1||(t+=n.selectedpoints.length,t>1)))return!1;return t===1}function N2(e,t,r){var n;for(n=0;n<t.length;n++){var i=t[n].cd[0].trace._fullInput,a=e._fullLayout._tracePreGUI[i.uid]||{};a.selectedpoints===void 0&&(a.selectedpoints=i._input.selectedpoints||null)}var o;if(r){var s=r.points||[];for(n=0;n<t.length;n++)o=t[n].cd[0].trace,o._input.selectedpoints=o._fullInput.selectedpoints=[],o._fullInput!==o&&(o.selectedpoints=[]);for(var l=0;l<s.length;l++){var u=s[l],f=u.data,c=u.fullData,h=u.pointIndex,d=u.pointIndices;d?([].push.apply(f.selectedpoints,d),o._fullInput!==o&&[].push.apply(c.selectedpoints,d)):(f.selectedpoints.push(h),o._fullInput!==o&&c.selectedpoints.push(h))}}else for(n=0;n<t.length;n++)o=t[n].cd[0].trace,delete o.selectedpoints,delete o._input.selectedpoints,o._fullInput!==o&&delete o._fullInput.selectedpoints;BQe(e,t)}function BQe(e,t){for(var r=!1,n=0;n<t.length;n++){var i=t[n],a=i.cd;q2.traceIs(a[0].trace,"regl")&&(r=!0);var o=i._module,s=o.styleOnSelect||o.style;s&&(s(e,a,a[0].node3),a[0].nodeRangePlot3&&s(e,a,a[0].nodeRangePlot3))}r&&(kQe(e),SQe(e))}function Lte(e,t,r){for(var n=r?mte.difference:mte.union,i=n({regions:e},{regions:[t]}),a=i.regions.reverse(),o=0;o<a.length;o++){var s=a[o];s.subtract=M8(s,a.slice(0,o))}return a}function Dte(e,t){if(Array.isArray(e))for(var r=t.cd,n=t.cd[0].trace,i=0;i<e.length;i++)e[i]=yQe(e[i],n,r);return e}function Rte(e,t){for(var r=[],n=0;n<e.length;n++){r[n]=[];for(var i=0;i<e[n].length;i++){r[n][i]=[],r[n][i][0]=i?"L":"M";for(var a=0;a<e[n][i].length;a++)r[n][i].push(e[n][i][a])}t||r[n].push(["Z",r[n][0][1],r[n][0][2]])}return r}function Pte(e,t){for(var r=[],n,i=[],a,o=0;o<t.length;o++){var s=t[o];a=s._module.selectPoints(s,e),i.push(a),n=Dte(a,s),r=r.concat(n)}return r}function y8(e,t,r,n,i){var a=!!n,o,s,l;i&&(o=i.plotinfo,s=i.xaxes[0]._id,l=i.yaxes[0]._id);var u=[],f=[],c=Tte(e),h=e._fullLayout;if(o){var d=h._zoomlayer,v=h.dragmode,m=F2(v),b=b8(v);if(m||b){var g=sc(e,s,"x"),_=sc(e,l,"y");if(g&&_){var T=d.selectAll(".select-outline-"+o.id);if(T&&e._fullLayout._outlining&&T.length){for(var w=T[0][0],k=w.getAttribute("d"),x=wQe(k,e,o),M=[],A=0;A<x.length;A++){for(var p=x[A],S=[],y=0;y<p.length;y++)S.push([T0(g,p[y][1]),T0(_,p[y][2])]);S.xref=s,S.yref=l,S.subtract=M8(S,M),M.push(S)}c=c.concat(M)}}}}var E=s&&l?[s+l]:h._subplots.cartesian;UQe(e);for(var C={},L=0;L<E.length;L++){var R=E[L],I=R.indexOf("y"),P=R.slice(0,I),D=R.slice(I),q=s&&l?r:void 0;if(q=jQe(c,P,D,q),q){var N=n;if(!a){var U=sc(e,P,"x"),G=sc(e,D,"y");N=bM(e,[U],[G],R);for(var ee=0;ee<N.length;ee++){var Q=N[ee],j=Q.cd[0],O=j.trace;if(Q._module.name==="scattergl"&&!j.t.xpx){var Z=O.x,K=O.y,$=O._length;j.t.xpx=[],j.t.ypx=[];for(var oe=0;oe<$;oe++)j.t.xpx[oe]=U.c2p(Z[oe]),j.t.ypx[oe]=G.c2p(K[oe])}Q._module.name==="splom"&&(C[O.uid]||(C[O.uid]=!0))}}var te=Pte(q,N);u=u.concat(te),f=f.concat(N)}}var V={points:u};N2(e,f,V);var ne=h.clickmode,W=ne.indexOf("event")>-1&&t;if(!o&&t){var fe=Tte(e,!0);if(fe.length){var ge=fe[0].xref,Ce=fe[0].yref;if(ge&&Ce){var Ne=qte(fe),pe=Fte([sc(e,ge,"x"),sc(e,Ce,"y")]);pe(V,Ne)}}e._fullLayout._noEmitSelectedAtStart?e._fullLayout._noEmitSelectedAtStart=!1:W&&O2(e,V),h._reselect=!1}if(!o&&h._deselect){var me=h._deselect;s=me.xref,l=me.yref,HQe(s,l,f)||Ite(e,s,l,n),W&&(V.points.length?O2(e,V):k8(e)),h._deselect=!1}return{eventData:V,selectionTesters:r}}function UQe(e){var t=e.calcdata;if(t)for(var r=0;r<t.length;r++){var n=t[r][0],i=n.trace,a=e._fullLayout._splomScenes;if(a){var o=a[i.uid];o&&(o.selectBatch=[])}}}function HQe(e,t,r){for(var n=0;n<r.length;n++){var i=r[n];if(i.xaxis&&i.xaxis._id===e&&i.yaxis&&i.yaxis._id===t)return!0}return!1}function Ite(e,t,r,n){n=bM(e,[sc(e,t,"x")],[sc(e,r,"y")],t+r);for(var i=0;i<n.length;i++){var a=n[i];a._module.selectPoints(a,!1)}N2(e,n)}function jQe(e,t,r,n){for(var i,a=0;a<e.length;a++){var o=e[a];if(!(t!==o.xref||r!==o.yref))if(i){var s=!!o.subtract;i=Lte(i,o,s),n=A8(i)}else i=[o],n=w8(o)}return n}function Tte(e,t){for(var r=[],n=e._fullLayout,i=n.selections,a=i.length,o=0;o<a;o++)if(!(t&&o!==n._activeSelectionIndex)){var s=i[o];if(s){var l=s.xref,u=s.yref,f=sc(e,l,"x"),c=sc(e,u,"y"),h,d,v,m,b;if(s.type==="rect"){b=[];var g=T0(f,s.x0),_=T0(f,s.x1),T=T0(c,s.y0),w=T0(c,s.y1);b=[[g,T],[g,w],[_,w],[_,T]],h=Math.min(g,_),d=Math.max(g,_),v=Math.min(T,w),m=Math.max(T,w),b.xmin=h,b.xmax=d,b.ymin=v,b.ymax=m,b.xref=l,b.yref=u,b.subtract=!1,b.isRect=!0,r.push(b)}else if(s.type==="path")for(var k=s.path.split("Z"),x=[],M=0;M<k.length;M++){var A=k[M];if(A){A+="Z";var p=yte.extractPathCoords(A,xte.paramIsX,"raw"),S=yte.extractPathCoords(A,xte.paramIsY,"raw");h=1/0,d=-1/0,v=1/0,m=-1/0,b=[];for(var y=0;y<p.length;y++){var E=T0(f,p[y]),C=T0(c,S[y]);b.push([E,C]),h=Math.min(E,h),d=Math.max(E,d),v=Math.min(C,v),m=Math.max(C,m)}b.xmin=h,b.xmax=d,b.ymin=v,b.ymax=m,b.xref=l,b.yref=u,b.subtract=M8(b,x),x.push(b),r.push(b)}}}}return r}function M8(e,t){for(var r=!1,n=0;n<t.length;n++)for(var i=t[n],a=0;a<e.length;a++)if(pQe(e[a],i)){r=!r;break}return r}function T0(e,t){return e.type==="date"&&(t=t.replace("_"," ")),e.type==="log"?e.c2p(t):e.r2p(t,null,e.calendar)}function qte(e){for(var t=e.length,r=[],n=0;n<t;n++){var i=e[n];r=r.concat(i),r=r.concat([i[0]])}return VQe(r)}function VQe(e){return e.isRect=e.length===5&&e[0][0]===e[4][0]&&e[0][1]===e[4][1]&&e[0][0]===e[1][0]&&e[2][0]===e[3][0]&&e[0][1]===e[3][1]&&e[1][1]===e[2][1]||e[0][1]===e[1][1]&&e[2][1]===e[3][1]&&e[0][0]===e[3][0]&&e[1][0]===e[2][0],e.isRect&&(e.xmin=Math.min(e[0][0],e[2][0]),e.xmax=Math.max(e[0][0],e[2][0]),e.ymin=Math.min(e[0][1],e[2][1]),e.ymax=Math.max(e[0][1],e[2][1])),e}function Fte(e){return function(t,r){for(var n,i,a=0;a<e.length;a++){var o=e[a],s=o._id,l=s.charAt(0);if(r.isRect){n||(n={});var u=r[l+"min"],f=r[l+"max"];u!==void 0&&f!==void 0&&(n[s]=[bte(o,u),bte(o,f)].sort(MQe))}else i||(i={}),i[s]=r.map(EQe(o))}n&&(t.range=n),i&&(t.lassoPoints=i)}}function YQe(e){var t=e.plotinfo;return t.fillRangeItems||Fte(e.xaxes.concat(e.yaxes))}function GQe(e,t){e.emit("plotly_selecting",t)}function O2(e,t){t&&(t.selections=(e.layout||{}).selections||[]),e.emit("plotly_selected",t)}function k8(e){e.emit("plotly_deselect",null)}zte.exports={reselect:y8,prepSelect:DQe,clearOutline:Mte,clearSelectionsCache:z2,selectOnClick:Cte}});var S8=J((tPt,Ote)=>{"use strict";Ote.exports=[{path:"",backoff:0},{path:"M-2.4,-3V3L0.6,0Z",backoff:.6},{path:"M-3.7,-2.5V2.5L1.3,0Z",backoff:1.3},{path:"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z",backoff:1.55},{path:"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z",backoff:1.6},{path:"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z",backoff:2},{path:"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z",backoff:0,noRotate:!0},{path:"M2,2V-2H-2V2Z",backoff:0,noRotate:!0}]});var U2=J((rPt,Bte)=>{"use strict";Bte.exports={axisRefDescription:function(e,t,r){return["If set to a",e,"axis id (e.g. *"+e+"* or","*"+e+"2*), the `"+e+"` position refers to a",e,"coordinate. If set to *paper*, the `"+e+"`","position refers to the distance from the",t,"of the plotting","area in normalized coordinates where *0* (*1*) corresponds to the",t,"("+r+"). If set to a",e,"axis ID followed by","*domain* (separated by a space), the position behaves like for","*paper*, but refers to the distance in fractions of the domain","length from the",t,"of the domain of that axis: e.g.,","*"+e+"2 domain* refers to the domain of the second",e," axis and a",e,"position of 0.5 refers to the","point between the",t,"and the",r,"of the domain of the","second",e,"axis."].join(" ")}}});var dg=J((nPt,Yte)=>{"use strict";var Ute=S8(),Hte=xa(),wM=Eo(),WQe=ki().templatedArray,_M=U2();function jte(e){return["In order for absolute positioning of the arrow to work, *a"+e+"ref* must be exactly the same as *"+e+"ref*, otherwise *a"+e+"ref* will revert to *pixel* (explained next).","For relative positioning, *a"+e+"ref* can be set to *pixel*,","in which case the *a"+e+"* value is specified in pixels","relative to *"+e+"*.","Absolute positioning is useful","for trendline annotations which should continue to indicate","the correct trend when zoomed. Relative positioning is useful","for specifying the text offset for an annotated point."].join(" ")}function Vte(e,t,r){return["Sets the",e,"component of the arrow tail about the arrow head.","If `a"+e+"ref` is `pixel`, a positive (negative)","component corresponds to an arrow pointing","from",r,"to",t,"("+t,"to",r+").","If `a"+e+"ref` is not `pixel` and is exactly the same as `"+e+"ref`,","this is an absolute value on that axis,","like `"+e+"`, specified in the same coordinates as `"+e+"ref`."].join(" ")}Yte.exports=WQe("annotation",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw",description:["Determines whether or not this annotation is visible."].join(" ")},text:{valType:"string",editType:"calc+arraydraw",description:["Sets the text associated with this annotation.","Plotly uses a subset of HTML tags to do things like","newline (<br>), bold (<b></b>), italics (<i></i>),","hyperlinks (<a href='...'></a>). Tags <em>, <sup>, <sub>, <s>, <u>","<span> are also supported."].join(" ")},textangle:{valType:"angle",dflt:0,editType:"calc+arraydraw",description:["Sets the angle at which the `text` is drawn","with respect to the horizontal."].join(" ")},font:Hte({editType:"calc+arraydraw",colorEditType:"arraydraw",description:"Sets the annotation text font."}),width:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw",description:["Sets an explicit width for the text box. null (default) lets the","text set the box width. Wider text will be clipped.","There is no automatic wrapping; use <br> to start a new line."].join(" ")},height:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw",description:["Sets an explicit height for the text box. null (default) lets the","text set the box height. Taller text will be clipped."].join(" ")},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw",description:"Sets the opacity of the annotation (text + arrow)."},align:{valType:"enumerated",values:["left","center","right"],dflt:"center",editType:"arraydraw",description:["Sets the horizontal alignment of the `text` within the box.","Has an effect only if `text` spans two or more lines","(i.e. `text` contains one or more <br> HTML tags) or if an","explicit width is set to override the text width."].join(" ")},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"arraydraw",description:["Sets the vertical alignment of the `text` within the box.","Has an effect only if an explicit height is set to override","the text height."].join(" ")},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw",description:"Sets the background color of the annotation."},bordercolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw",description:["Sets the color of the border enclosing the annotation `text`."].join(" ")},borderpad:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw",description:["Sets the padding (in px) between the `text`","and the enclosing border."].join(" ")},borderwidth:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw",description:["Sets the width (in px) of the border enclosing","the annotation `text`."].join(" ")},showarrow:{valType:"boolean",dflt:!0,editType:"calc+arraydraw",description:["Determines whether or not the annotation is drawn with an arrow.","If *true*, `text` is placed near the arrow's tail.","If *false*, `text` lines up with the `x` and `y` provided."].join(" ")},arrowcolor:{valType:"color",editType:"arraydraw",description:"Sets the color of the annotation arrow."},arrowhead:{valType:"integer",min:0,max:Ute.length,dflt:1,editType:"arraydraw",description:"Sets the end annotation arrow head style."},startarrowhead:{valType:"integer",min:0,max:Ute.length,dflt:1,editType:"arraydraw",description:"Sets the start annotation arrow head style."},arrowside:{valType:"flaglist",flags:["end","start"],extras:["none"],dflt:"end",editType:"arraydraw",description:"Sets the annotation arrow head position."},arrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw",description:["Sets the size of the end annotation arrow head, relative to `arrowwidth`.","A value of 1 (default) gives a head about 3x as wide as the line."].join(" ")},startarrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw",description:["Sets the size of the start annotation arrow head, relative to `arrowwidth`.","A value of 1 (default) gives a head about 3x as wide as the line."].join(" ")},arrowwidth:{valType:"number",min:.1,editType:"calc+arraydraw",description:"Sets the width (in px) of annotation arrow line."},standoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw",description:["Sets a distance, in pixels, to move the end arrowhead away from the","position it is pointing at, for example to point at the edge of","a marker independent of zoom. Note that this shortens the arrow","from the `ax` / `ay` vector, in contrast to `xshift` / `yshift`","which moves everything by this amount."].join(" ")},startstandoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw",description:["Sets a distance, in pixels, to move the start arrowhead away from the","position it is pointing at, for example to point at the edge of","a marker independent of zoom. Note that this shortens the arrow","from the `ax` / `ay` vector, in contrast to `xshift` / `yshift`","which moves everything by this amount."].join(" ")},ax:{valType:"any",editType:"calc+arraydraw",description:[Vte("x","left","right")].join(" ")},ay:{valType:"any",editType:"calc+arraydraw",description:[Vte("y","top","bottom")].join(" ")},axref:{valType:"enumerated",dflt:"pixel",values:["pixel",wM.idRegex.x.toString()],editType:"calc",description:["Indicates in what coordinates the tail of the","annotation (ax,ay) is specified.",_M.axisRefDescription("x","left","right"),jte("x")].join(" ")},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",wM.idRegex.y.toString()],editType:"calc",description:["Indicates in what coordinates the tail of the","annotation (ax,ay) is specified.",_M.axisRefDescription("y","bottom","top"),jte("y")].join(" ")},xref:{valType:"enumerated",values:["paper",wM.idRegex.x.toString()],editType:"calc",description:["Sets the annotation's x coordinate axis.",_M.axisRefDescription("x","left","right")].join(" ")},x:{valType:"any",editType:"calc+arraydraw",description:["Sets the annotation's x position.","If the axis `type` is *log*, then you must take the","log of your desired range.","If the axis `type` is *date*, it should be date strings,","like date data, though Date objects and unix milliseconds","will be accepted and converted to strings.","If the axis `type` is *category*, it should be numbers,","using the scale where each category is assigned a serial","number from zero in the order it appears."].join(" ")},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw",description:["Sets the text box's horizontal position anchor","This anchor binds the `x` position to the *left*, *center*","or *right* of the annotation.","For example, if `x` is set to 1, `xref` to *paper* and","`xanchor` to *right* then the right-most portion of the","annotation lines up with the right-most edge of the","plotting area.","If *auto*, the anchor is equivalent to *center* for","data-referenced annotations or if there is an arrow,","whereas for paper-referenced with no arrow, the anchor picked","corresponds to the closest side."].join(" ")},xshift:{valType:"number",dflt:0,editType:"calc+arraydraw",description:["Shifts the position of the whole annotation and arrow to the","right (positive) or left (negative) by this many pixels."].join(" ")},yref:{valType:"enumerated",values:["paper",wM.idRegex.y.toString()],editType:"calc",description:["Sets the annotation's y coordinate axis.",_M.axisRefDescription("y","bottom","top")].join(" ")},y:{valType:"any",editType:"calc+arraydraw",description:["Sets the annotation's y position.","If the axis `type` is *log*, then you must take the","log of your desired range.","If the axis `type` is *date*, it should be date strings,","like date data, though Date objects and unix milliseconds","will be accepted and converted to strings.","If the axis `type` is *category*, it should be numbers,","using the scale where each category is assigned a serial","number from zero in the order it appears."].join(" ")},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"auto",editType:"calc+arraydraw",description:["Sets the text box's vertical position anchor","This anchor binds the `y` position to the *top*, *middle*","or *bottom* of the annotation.","For example, if `y` is set to 1, `yref` to *paper* and","`yanchor` to *top* then the top-most portion of the","annotation lines up with the top-most edge of the","plotting area.","If *auto*, the anchor is equivalent to *middle* for","data-referenced annotations or if there is an arrow,","whereas for paper-referenced with no arrow, the anchor picked","corresponds to the closest side."].join(" ")},yshift:{valType:"number",dflt:0,editType:"calc+arraydraw",description:["Shifts the position of the whole annotation and arrow up","(positive) or down (negative) by this many pixels."].join(" ")},clicktoshow:{valType:"enumerated",values:[!1,"onoff","onout"],dflt:!1,editType:"arraydraw",description:["Makes this annotation respond to clicks on the plot.","If you click a data point that exactly matches the `x` and `y`","values of this annotation, and it is hidden (visible: false),","it will appear. In *onoff* mode, you must click the same point","again to make it disappear, so if you click multiple points,","you can show multiple annotations. In *onout* mode, a click","anywhere else in the plot (on another data point or not) will","hide this annotation.","If you need to show/hide this annotation in response to different","`x` or `y` values, you can set `xclick` and/or `yclick`. This is","useful for example to label the side of a bar. To label markers","though, `standoff` is preferred over `xclick` and `yclick`."].join(" ")},xclick:{valType:"any",editType:"arraydraw",description:["Toggle this annotation when clicking a data point whose `x` value","is `xclick` rather than the annotation's `x` value."].join(" ")},yclick:{valType:"any",editType:"arraydraw",description:["Toggle this annotation when clicking a data point whose `y` value","is `yclick` rather than the annotation's `y` value."].join(" ")},hovertext:{valType:"string",editType:"arraydraw",description:["Sets text to appear when hovering over this annotation.","If omitted or blank, no hover label will appear."].join(" ")},hoverlabel:{bgcolor:{valType:"color",editType:"arraydraw",description:["Sets the background color of the hover label.","By default uses the annotation's `bgcolor` made opaque,","or white if it was transparent."].join(" ")},bordercolor:{valType:"color",editType:"arraydraw",description:["Sets the border color of the hover label.","By default uses either dark grey or white, for maximum","contrast with `hoverlabel.bgcolor`."].join(" ")},font:Hte({editType:"arraydraw",description:["Sets the hover label text font.","By default uses the global hover font and size,","with color from `hoverlabel.bordercolor`."].join(" ")}),editType:"arraydraw"},captureevents:{valType:"boolean",editType:"arraydraw",description:["Determines whether the annotation text box captures mouse move","and click events, or allows those events to pass through to data","points in the plot that may be behind the annotation. By default","`captureevents` is *false* unless `hovertext` is provided.","If you use the event `plotly_clickannotation` without `hovertext`","you must explicitly enable `captureevents`."].join(" ")},editType:"calc",_deprecated:{ref:{valType:"string",editType:"calc",description:["Obsolete. Set `xref` and `yref` separately instead."].join(" ")}}})});var pg=J((iPt,Gte)=>{"use strict";Gte.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20,eventDataKeys:[]}});var gg=J((aPt,Wte)=>{"use strict";Wte.exports=function(t){return{valType:"color",editType:"style",anim:!0,description:["Sets the fill color.","Defaults to a half-transparent variant of the line color,","marker color, or marker line color, whichever is available."+(t?" If fillgradient is specified, fillcolor is ignored except for setting the background color of the hover label, if any.":"")].join(" ")}}});var ds=J((oPt,ere)=>{"use strict";var Xte=Ga().axisHoverFormat,XQe=Jn().texttemplateAttrs,ZQe=Jn().hovertemplateAttrs,Zte=Da(),JQe=xa(),$Qe=Ss().dash,KQe=Ss().pattern,QQe=ln(),Jte=pg(),TM=cn().extendFlat,eet=gg();function $te(e){return{valType:"any",dflt:0,editType:"calc",description:["Only relevant when the axis `type` is *date*.","Sets the period positioning in milliseconds or *M<n>* on the "+e+" axis.","Special values in the form of *M<n>* could be used to declare","the number of months. In this case `n` must be a positive integer."].join(" ")}}function Kte(e){return{valType:"any",editType:"calc",description:["Only relevant when the axis `type` is *date*.","Sets the base for period positioning in milliseconds or date string on the "+e+" axis.","When `"+e+"period` is round number of weeks,","the `"+e+"period0` by default would be on a Sunday i.e. 2000-01-02,","otherwise it would be at 2000-01-01."].join(" ")}}function Qte(e){return{valType:"enumerated",values:["start","middle","end"],dflt:"middle",editType:"calc",description:["Only relevant when the axis `type` is *date*.","Sets the alignment of data points on the "+e+" axis."].join(" ")}}ere.exports={x:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0,description:"Sets the x coordinates."},x0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",anim:!0,description:["Alternate to `x`.","Builds a linear space of x coordinates.","Use with `dx`","where `x0` is the starting coordinate and `dx` the step."].join(" ")},dx:{valType:"number",dflt:1,editType:"calc",anim:!0,description:["Sets the x coordinate step.","See `x0` for more info."].join(" ")},y:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0,description:"Sets the y coordinates."},y0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",anim:!0,description:["Alternate to `y`.","Builds a linear space of y coordinates.","Use with `dy`","where `y0` is the starting coordinate and `dy` the step."].join(" ")},dy:{valType:"number",dflt:1,editType:"calc",anim:!0,description:["Sets the y coordinate step.","See `y0` for more info."].join(" ")},xperiod:$te("x"),yperiod:$te("y"),xperiod0:Kte("x0"),yperiod0:Kte("y0"),xperiodalignment:Qte("x"),yperiodalignment:Qte("y"),xhoverformat:Xte("x"),yhoverformat:Xte("y"),offsetgroup:{valType:"string",dflt:"",editType:"calc",description:["Set several traces linked to the same position axis","or matching axes to the same","offsetgroup where bars of the same position coordinate will line up."].join(" ")},alignmentgroup:{valType:"string",dflt:"",editType:"calc",description:["Set several traces linked to the same position axis","or matching axes to the same","alignmentgroup. This controls whether bars compute their positional","range dependently or independently."].join(" ")},stackgroup:{valType:"string",dflt:"",editType:"calc",description:["Set several scatter traces (on the same subplot) to the same","stackgroup in order to add their y values (or their x values if","`orientation` is *h*). If blank or omitted this trace will not be","stacked. Stacking also turns `fill` on by default, using *tonexty*","(*tonextx*) if `orientation` is *h* (*v*) and sets the default","`mode` to *lines* irrespective of point count.","You can only stack on a numeric (linear or log) axis.","Traces in a `stackgroup` will only fill to (or be filled to) other","traces in the same group. With multiple `stackgroup`s or some","traces stacked and some not, if fill-linked traces are not already","consecutive, the later ones will be pushed down in the drawing order."].join(" ")},orientation:{valType:"enumerated",values:["v","h"],editType:"calc",description:["Only relevant in the following cases:","1. when `scattermode` is set to *group*.","2. when `stackgroup` is used, and only the first","`orientation` found in the `stackgroup` will be used - including","if `visible` is *legendonly* but not if it is `false`. Sets the","stacking direction. With *v* (*h*), the y (x) values of subsequent","traces are added. Also affects the default value of `fill`."].join(" ")},groupnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc",description:["Only relevant when `stackgroup` is used, and only the first","`groupnorm` found in the `stackgroup` will be used - including","if `visible` is *legendonly* but not if it is `false`.","Sets the normalization for the sum of this `stackgroup`.","With *fraction*, the value of each trace at each location is","divided by the sum of all trace values at that location.","*percent* is the same but multiplied by 100 to show percentages.","If there are multiple subplots, or multiple `stackgroup`s on one","subplot, each will be normalized within its own set."].join(" ")},stackgaps:{valType:"enumerated",values:["infer zero","interpolate"],dflt:"infer zero",editType:"calc",description:["Only relevant when `stackgroup` is used, and only the first","`stackgaps` found in the `stackgroup` will be used - including","if `visible` is *legendonly* but not if it is `false`.","Determines how we handle locations at which other traces in this","group have data but this one does not.","With *infer zero* we insert a zero at these locations.","With *interpolate* we linearly interpolate between existing","values, and extrapolate a constant beyond the existing values."].join(" ")},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc",description:["Sets text elements associated with each (x,y) pair.","If a single string, the same string appears over","all the data points.","If an array of string, the items are mapped in order to the","this trace's (x,y) coordinates.","If trace `hoverinfo` contains a *text* flag and *hovertext* is not set,","these elements will be seen in the hover labels."].join(" ")},texttemplate:XQe({},{}),hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style",description:["Sets hover text elements associated with each (x,y) pair.","If a single string, the same string appears over","all the data points.","If an array of string, the items are mapped in order to the","this trace's (x,y) coordinates.","To be seen, trace `hoverinfo` must contain a *text* flag."].join(" ")},mode:{valType:"flaglist",flags:["lines","markers","text"],extras:["none"],editType:"calc",description:["Determines the drawing mode for this scatter trace.","If the provided `mode` includes *text* then the `text` elements","appear at the coordinates. Otherwise, the `text` elements","appear on hover.","If there are less than "+Jte.PTS_LINESONLY+" points","and the trace is not stacked","then the default is *lines+markers*. Otherwise, *lines*."].join(" ")},hoveron:{valType:"flaglist",flags:["points","fills"],editType:"style",description:["Do the hover effects highlight individual points (markers or","line points) or do they highlight filled regions?","If the fill is *toself* or *tonext* and there are no markers","or text, then the default is *fills*, otherwise it is *points*."].join(" ")},hovertemplate:ZQe({},{keys:Jte.eventDataKeys}),line:{color:{valType:"color",editType:"style",anim:!0,description:"Sets the line color."},width:{valType:"number",min:0,dflt:2,editType:"style",anim:!0,description:"Sets the line width (in px)."},shape:{valType:"enumerated",values:["linear","spline","hv","vh","hvh","vhv"],dflt:"linear",editType:"plot",description:["Determines the line shape.","With *spline* the lines are drawn using spline interpolation.","The other available values correspond to step-wise line shapes."].join(" ")},smoothing:{valType:"number",min:0,max:1.3,dflt:1,editType:"plot",description:["Has an effect only if `shape` is set to *spline*","Sets the amount of smoothing.","*0* corresponds to no smoothing (equivalent to a *linear* shape)."].join(" ")},dash:TM({},$Qe,{editType:"style"}),backoff:{valType:"number",min:0,dflt:"auto",arrayOk:!0,editType:"plot",description:["Sets the line back off from the end point of the nth line segment (in px).","This option is useful e.g. to avoid overlap with arrowhead markers.","With *auto* the lines would trim before markers if `marker.angleref` is set to *previous*."].join(" ")},simplify:{valType:"boolean",dflt:!0,editType:"plot",description:["Simplifies lines by removing nearly-collinear points. When transitioning","lines, it may be desirable to disable this so that the number of points","along the resulting SVG path is unaffected."].join(" ")},editType:"plot"},connectgaps:{valType:"boolean",dflt:!1,editType:"calc",description:["Determines whether or not gaps","(i.e. {nan} or missing values)","in the provided data arrays are connected."].join(" ")},cliponaxis:{valType:"boolean",dflt:!0,editType:"plot",description:["Determines whether or not markers and text nodes","are clipped about the subplot axes.","To show markers and text nodes above axis lines and tick labels,","make sure to set `xaxis.layer` and `yaxis.layer` to *below traces*."].join(" ")},fill:{valType:"enumerated",values:["none","tozeroy","tozerox","tonexty","tonextx","toself","tonext"],editType:"calc",description:["Sets the area to fill with a solid color.","Defaults to *none* unless this trace is stacked, then it gets","*tonexty* (*tonextx*) if `orientation` is *v* (*h*)","Use with `fillcolor` if not *none*.","*tozerox* and *tozeroy* fill to x=0 and y=0 respectively.","*tonextx* and *tonexty* fill between the endpoints of this","trace and the endpoints of the trace before it, connecting those","endpoints with straight lines (to make a stacked area graph);","if there is no trace before it, they behave like *tozerox* and","*tozeroy*.","*toself* connects the endpoints of the trace (or each segment","of the trace if it has gaps) into a closed shape.","*tonext* fills the space between two traces if one completely","encloses the other (eg consecutive contour lines), and behaves like","*toself* if there is no trace before it. *tonext* should not be","used if one trace does not enclose the other.","Traces in a `stackgroup` will only fill to (or be filled to) other","traces in the same group. With multiple `stackgroup`s or some","traces stacked and some not, if fill-linked traces are not already","consecutive, the later ones will be pushed down in the drawing order."].join(" ")},fillcolor:eet(!0),fillgradient:TM({type:{valType:"enumerated",values:["radial","horizontal","vertical","none"],dflt:"none",editType:"calc",description:["Sets the type/orientation of the color gradient for the fill.","Defaults to *none*."].join(" ")},start:{valType:"number",editType:"calc",description:["Sets the gradient start value.","It is given as the absolute position on the axis determined by","the orientiation. E.g., if orientation is *horizontal*, the","gradient will be horizontal and start from the x-position","given by start. If omitted, the gradient starts at the lowest","value of the trace along the respective axis.","Ignored if orientation is *radial*."].join(" ")},stop:{valType:"number",editType:"calc",description:["Sets the gradient end value.","It is given as the absolute position on the axis determined by","the orientiation. E.g., if orientation is *horizontal*, the","gradient will be horizontal and end at the x-position","given by end. If omitted, the gradient ends at the highest","value of the trace along the respective axis.","Ignored if orientation is *radial*."].join(" ")},colorscale:{valType:"colorscale",editType:"style",description:["Sets the fill gradient colors as a color scale.","The color scale is interpreted as a gradient","applied in the direction specified by *orientation*,","from the lowest to the highest value of the scatter","plot along that axis, or from the center to the most","distant point from it, if orientation is *radial*."].join(" ")},editType:"calc",description:["Sets a fill gradient.","If not specified, the fillcolor is used instead."].join(" ")}),fillpattern:KQe,marker:TM({symbol:{valType:"enumerated",values:QQe.symbolList,dflt:"circle",arrayOk:!0,editType:"style",description:["Sets the marker symbol type.","Adding 100 is equivalent to appending *-open* to a symbol name.","Adding 200 is equivalent to appending *-dot* to a symbol name.","Adding 300 is equivalent to appending *-open-dot*","or *dot-open* to a symbol name."].join(" ")},opacity:{valType:"number",min:0,max:1,arrayOk:!0,editType:"style",anim:!0,description:"Sets the marker opacity."},angle:{valType:"angle",dflt:0,arrayOk:!0,editType:"plot",anim:!1,description:["Sets the marker angle in respect to `angleref`."].join(" ")},angleref:{valType:"enumerated",values:["previous","up"],dflt:"up",editType:"plot",anim:!1,description:["Sets the reference for marker angle.","With *previous*, angle 0 points along the line from the previous point to this one.","With *up*, angle 0 points toward the top of the screen."].join(" ")},standoff:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"plot",anim:!0,description:["Moves the marker away from the data point in the direction of `angle` (in px).","This can be useful for example if you have another marker at this","location and you want to point an arrowhead marker at it."].join(" ")},size:{valType:"number",min:0,dflt:6,arrayOk:!0,editType:"calc",anim:!0,description:"Sets the marker size (in px)."},maxdisplayed:{valType:"number",min:0,dflt:0,editType:"plot",description:["Sets a maximum number of points to be drawn on the graph.","*0* corresponds to no limit."].join(" ")},sizeref:{valType:"number",dflt:1,editType:"calc",description:["Has an effect only if `marker.size` is set to a numerical array.","Sets the scale factor used to determine the rendered size of","marker points. Use with `sizemin` and `sizemode`."].join(" ")},sizemin:{valType:"number",min:0,dflt:0,editType:"calc",description:["Has an effect only if `marker.size` is set to a numerical array.","Sets the minimum size (in px) of the rendered marker points."].join(" ")},sizemode:{valType:"enumerated",values:["diameter","area"],dflt:"diameter",editType:"calc",description:["Has an effect only if `marker.size` is set to a numerical array.","Sets the rule for which the data in `size` is converted","to pixels."].join(" ")},line:TM({width:{valType:"number",min:0,arrayOk:!0,editType:"style",anim:!0,description:"Sets the width (in px) of the lines bounding the marker points."},editType:"calc"},Zte("marker.line",{anim:!0})),gradient:{type:{valType:"enumerated",values:["radial","horizontal","vertical","none"],arrayOk:!0,dflt:"none",editType:"calc",description:["Sets the type of gradient used to fill the markers"].join(" ")},color:{valType:"color",arrayOk:!0,editType:"calc",description:["Sets the final color of the gradient fill:","the center color for radial, the right for horizontal,","or the bottom for vertical."].join(" ")},editType:"calc"},editType:"calc"},Zte("marker",{anim:!0})),selected:{marker:{opacity:{valType:"number",min:0,max:1,editType:"style",description:"Sets the marker opacity of selected points."},color:{valType:"color",editType:"style",description:"Sets the marker color of selected points."},size:{valType:"number",min:0,editType:"style",description:"Sets the marker size of selected points."},editType:"style"},textfont:{color:{valType:"color",editType:"style",description:"Sets the text font color of selected points."},editType:"style"},editType:"style"},unselected:{marker:{opacity:{valType:"number",min:0,max:1,editType:"style",description:"Sets the marker opacity of unselected points, applied only when a selection exists."},color:{valType:"color",editType:"style",description:"Sets the marker color of unselected points, applied only when a selection exists."},size:{valType:"number",min:0,editType:"style",description:"Sets the marker size of unselected points, applied only when a selection exists."},editType:"style"},textfont:{color:{valType:"color",editType:"style",description:"Sets the text font color of unselected points, applied only when a selection exists."},editType:"style"},editType:"style"},textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"middle center",arrayOk:!0,editType:"calc",description:["Sets the positions of the `text` elements","with respects to the (x,y) coordinates."].join(" ")},textfont:JQe({editType:"calc",colorEditType:"style",arrayOk:!0,description:"Sets the text font."}),zorder:{valType:"integer",dflt:0,editType:"plot",description:["Sets the layer on which this trace is displayed, relative to","other SVG traces on the same subplot. SVG traces with higher `zorder`","appear in front of those with lower `zorder`."].join(" ")}}});var C8=J((sPt,ire)=>{"use strict";var tre=dg(),rre=ds().line,tet=Ss().dash,AM=cn().extendFlat,ret=La().overrideAll,net=ki().templatedArray,nre=U2();ire.exports=ret(net("selection",{type:{valType:"enumerated",values:["rect","path"],description:["Specifies the selection type to be drawn.","If *rect*, a rectangle is drawn linking","(`x0`,`y0`), (`x1`,`y0`), (`x1`,`y1`) and (`x0`,`y1`).","If *path*, draw a custom SVG path using `path`."].join(" ")},xref:AM({},tre.xref,{description:["Sets the selection's x coordinate axis.",nre.axisRefDescription("x","left","right")].join(" ")}),yref:AM({},tre.yref,{description:["Sets the selection's x coordinate axis.",nre.axisRefDescription("y","bottom","top")].join(" ")}),x0:{valType:"any",description:"Sets the selection's starting x position."},x1:{valType:"any",description:"Sets the selection's end x position."},y0:{valType:"any",description:"Sets the selection's starting y position."},y1:{valType:"any",description:"Sets the selection's end y position."},path:{valType:"string",editType:"arraydraw",description:["For `type` *path* - a valid SVG path similar to `shapes.path` in data coordinates.","Allowed segments are: M, L and Z."].join(" ")},opacity:{valType:"number",min:0,max:1,dflt:.7,editType:"arraydraw",description:"Sets the opacity of the selection."},line:{color:rre.color,width:AM({},rre.width,{min:1,dflt:1}),dash:AM({},tet,{dflt:"dot"})}}),"arraydraw","from-root")});var lre=J((lPt,sre)=>{"use strict";var are=gt(),MM=nn(),iet=Bu(),aet=C8(),ore=w0();sre.exports=function(t,r){iet(t,r,{name:"selections",handleItemDefaults:oet});for(var n=r.selections,i=0;i<n.length;i++){var a=n[i];a&&a.path===void 0&&(a.x0===void 0||a.x1===void 0||a.y0===void 0||a.y1===void 0)&&(r.selections[i]=null)}};function oet(e,t,r){function n(x,M){return are.coerce(e,t,aet,x,M)}var i=n("path"),a=i?"path":"rect",o=n("type",a),s=o!=="path";s&&delete t.path,n("opacity"),n("line.color"),n("line.width"),n("line.dash");for(var l=["x","y"],u=0;u<2;u++){var f=l[u],c={_fullLayout:r},h,d,v,m=MM.coerceRef(e,t,c,f);if(h=MM.getFromId(c,m),h._selectionIndices.push(t._index),v=ore.rangeToShapePosition(h),d=ore.shapePositionToRange(h),s){var b=f+"0",g=f+"1",_=e[b],T=e[g];e[b]=d(e[b],!0),e[g]=d(e[g],!0),MM.coercePosition(t,c,n,m,b),MM.coercePosition(t,c,n,m,g);var w=t[b],k=t[g];w!==void 0&&k!==void 0&&(t[b]=v(w),t[g]=v(k),e[b]=_,e[g]=T)}}s&&are.noneOrAll(e,t,["x0","x1","y0","y1"])}});var fre=J((uPt,ure)=>{"use strict";ure.exports=function(t,r,n){n("newselection.mode");var i=n("newselection.line.width");i&&(n("newselection.line.color"),n("newselection.line.dash")),n("activeselection.fillcolor"),n("activeselection.opacity")}});var H2=J((fPt,vre)=>{"use strict";var set=zr(),cre=gt(),hre=jo();vre.exports=function(t){return function(n,i){var a=n[t];if(Array.isArray(a))for(var o=set.subplotsRegistry.cartesian,s=o.idRegex,l=i._subplots,u=l.xaxis,f=l.yaxis,c=l.cartesian,h=i._has("cartesian")||i._has("gl2d"),d=0;d<a.length;d++){var v=a[d];if(cre.isPlainObject(v)){var m=hre.cleanId(v.xref,"x",!1),b=hre.cleanId(v.yref,"y",!1),g=s.x.test(m),_=s.y.test(b);if(g||_){h||cre.pushUnique(i._basePlotModules,o);var T=!1;g&&u.indexOf(m)===-1&&(u.push(m),T=!0),_&&f.indexOf(b)===-1&&(f.push(b),T=!0),T&&g&&_&&c.push(m+b)}}}}}});var ml=J((cPt,pre)=>{"use strict";var dre=d8(),j2=Nte();pre.exports={moduleType:"component",name:"selections",layoutAttributes:C8(),supplyLayoutDefaults:lre(),supplyDrawNewSelectionDefaults:fre(),includeBasePlot:H2()("selections"),draw:dre.draw,drawOne:dre.drawOne,reselect:j2.reselect,prepSelect:j2.prepSelect,clearOutline:j2.clearOutline,clearSelectionsCache:j2.clearSelectionsCache,selectOnClick:j2.selectOnClick}});var q8=J((hPt,qre)=>{"use strict";var P8=Nr(),lc=gt(),gre=lc.numberFormat,uet=ls(),fet=d2(),kM=zr(),Mre=lc.strTranslate,cet=ca(),mre=qr(),A0=ln(),het=go(),yre=nn(),vet=th(),det=iu(),kre=y0(),SM=kre.selectingOrDrawing,pet=kre.freeMode,get=Vo().FROM_TL,met=y2(),yet=k2().redrawReglTraces,xet=ea(),L8=jo().getFromId,bet=ml().prepSelect,wet=ml().clearOutline,_et=ml().selectOnClick,E8=o8(),I8=Eo(),xre=I8.MINDRAG,ou=I8.MINZOOM,bre=!0;function Tet(e,t,r,n,i,a,o,s){var l=e._fullLayout._zoomlayer,u=o+s==="nsew",f=(o+s).length===1,c,h,d,v,m,b,g,_,T,w,k,x,M,A,p,S,y,E,C,L,R,I,P;r+=t.yaxis._shift;function D(){if(c=t.xaxis,h=t.yaxis,T=c._length,w=h._length,g=c._offset,_=h._offset,d={},d[c._id]=c,v={},v[h._id]=h,o&&s)for(var Fe=t.overlays,ke=0;ke<Fe.length;ke++){var Ue=Fe[ke].xaxis;d[Ue._id]=Ue;var Ge=Fe[ke].yaxis;v[Ge._id]=Ge}m=Are(d),b=Are(v),M=wre(m,s),A=wre(b,o),p=!A&&!M,x=Tre(e,e._fullLayout._axisMatchGroups,d,v),k=Tre(e,e._fullLayout._axisConstraintGroups,d,v,x);var lt=k.isSubplotConstrained||x.isSubplotConstrained;S=s||lt,y=o||lt;var it=e._fullLayout;E=it._has("scattergl"),C=it._has("splom"),L=it._has("svg")}D();var q=ket(A+M,e._fullLayout.dragmode,u),N=Cre(t,o+s+"drag",q,r,n,i,a);if(p&&!u)return N.onmousedown=null,N.style.pointerEvents="none",N;var U={element:N,gd:e,plotinfo:t};U.prepFn=function(Fe,ke,Ue){var Ge=U.dragmode,lt=e._fullLayout.dragmode;lt!==Ge&&(U.dragmode=lt),D(),I=e._fullLayout._invScaleX,P=e._fullLayout._invScaleY,p||(u?Fe.shiftKey?lt==="pan"?lt="zoom":SM(lt)||(lt="pan"):Fe.ctrlKey&&(lt="pan"):lt="pan"),pet(lt)?U.minDrag=1:U.minDrag=void 0,SM(lt)?(U.xaxes=m,U.yaxes=b,bet(Fe,ke,Ue,U,lt)):(U.clickFn=ee,SM(Ge)&&G(),p||(lt==="zoom"?(U.moveFn=fe,U.doneFn=Ce,U.minDrag=1,W(Fe,ke,Ue)):lt==="pan"&&(U.moveFn=ze,U.doneFn=ce))),e._fullLayout._redrag=function(){var it=e._dragdata;if(it&&it.element===N){var wt=e._fullLayout.dragmode;SM(wt)||(D(),Ee([0,0,T,w]),U.moveFn(it.dx,it.dy))}}};function G(){U.plotinfo.selection=!1,wet(e)}function ee(Fe,ke){var Ue=U.gd;if(Ue._fullLayout._activeShapeIndex>=0){Ue._fullLayout._deactivateShape(Ue);return}var Ge=Ue._fullLayout.clickmode;if(R8(Ue),Fe===2&&!f&&rt(),u)Ge.indexOf("select")>-1&&_et(ke,Ue,m,b,t.id,U),Ge.indexOf("event")>-1&&het.click(Ue,ke,t.id);else if(Fe===1&&f){var lt=o?h:c,it=o==="s"||s==="w"?0:1,wt=lt._name+".range["+it+"]",_t=Aet(lt,it),Tt="left",nt="middle";if(lt.fixedrange)return;o?(nt=o==="n"?"top":"bottom",lt.side==="right"&&(Tt="right")):s==="e"&&(Tt="right"),Ue._context.showAxisRangeEntryBoxes&&P8.select(N).call(cet.makeEditable,{gd:Ue,immediate:!0,background:Ue._fullLayout.paper_bgcolor,text:String(_t),fill:lt.tickfont?lt.tickfont.color:"#444",horizontalAlign:Tt,verticalAlign:nt}).on("edit",function(bt){var At=lt.d2r(bt);At!==void 0&&kM.call("_guiRelayout",Ue,wt,At)})}}det.init(U);var Q,j,O,Z,K,$,oe,te,V,ne;function W(Fe,ke,Ue){var Ge=N.getBoundingClientRect();Q=ke-Ge.left,j=Ue-Ge.top,e._fullLayout._calcInverseTransform(e);var lt=lc.apply3DTransform(e._fullLayout._invTransform)(Q,j);Q=lt[0],j=lt[1],O={l:Q,r:Q,w:0,t:j,b:j,h:0},Z=e._hmpixcount?e._hmlumcount/e._hmpixcount:uet(e._fullLayout.plot_bgcolor).getLuminance(),K="M0,0H"+T+"V"+w+"H0V0",$=!1,oe="xy",ne=!1,te=Ere(l,Z,g,_,K),V=Lre(l,g,_)}function fe(Fe,ke){if(e._transitioningWithDuration)return!1;var Ue=Math.max(0,Math.min(T,I*Fe+Q)),Ge=Math.max(0,Math.min(w,P*ke+j)),lt=Math.abs(Ue-Q),it=Math.abs(Ge-j);O.l=Math.min(Q,Ue),O.r=Math.max(Q,Ue),O.t=Math.min(j,Ge),O.b=Math.max(j,Ge);function wt(){oe="",O.r=O.l,O.t=O.b,V.attr("d","M0,0Z")}if(k.isSubplotConstrained)lt>ou||it>ou?(oe="xy",lt/T>it/w?(it=lt*w/T,j>Ge?O.t=j-it:O.b=j+it):(lt=it*T/w,Q>Ue?O.l=Q-lt:O.r=Q+lt),V.attr("d",CM(O))):wt();else if(x.isSubplotConstrained)if(lt>ou||it>ou){oe="xy";var _t=Math.min(O.l/T,(w-O.b)/w),Tt=Math.max(O.r/T,(w-O.t)/w);O.l=_t*T,O.r=Tt*T,O.b=(1-_t)*w,O.t=(1-Tt)*w,V.attr("d",CM(O))}else wt();else!A||it<Math.min(Math.max(lt*.6,xre),ou)?lt<xre||!M?wt():(O.t=0,O.b=w,oe="x",V.attr("d",Set(O,j))):!M||lt<Math.min(it*.6,ou)?(O.l=0,O.r=T,oe="y",V.attr("d",Cet(O,Q))):(oe="xy",V.attr("d",CM(O)));O.w=O.r-O.l,O.h=O.b-O.t,oe&&(ne=!0),e._dragged=ne,Dre(te,V,O,K,$,Z),ge(),e.emit("plotly_relayouting",R),$=!0}function ge(){R={},(oe==="xy"||oe==="x")&&(D8(m,O.l/T,O.r/T,R,k.xaxes),Be("x",R)),(oe==="xy"||oe==="y")&&(D8(b,(w-O.b)/w,(w-O.t)/w,R,k.yaxes),Be("y",R))}function Ce(){ge(),R8(e),ce(),Pre(e)}var Ne=[0,0,T,w],pe=null,me=I8.REDRAWDELAY,Ie=t.mainplot?e._fullLayout._plots[t.mainplot]:t;function Re(Fe){if(!e._context._scrollZoom.cartesian&&!e._fullLayout._enablescrollzoom)return;if(G(),e._transitioningWithDuration){Fe.preventDefault(),Fe.stopPropagation();return}D(),clearTimeout(pe);var ke=-Fe.deltaY;if(isFinite(ke)||(ke=Fe.wheelDelta/10),!isFinite(ke)){lc.log("Did not find wheel motion attributes: ",Fe);return}var Ue=Math.exp(-Math.min(Math.max(ke,-20),20)/200),Ge=Ie.draglayer.select(".nsewdrag").node().getBoundingClientRect(),lt=(Fe.clientX-Ge.left)/Ge.width,it=(Ge.bottom-Fe.clientY)/Ge.height,wt;function _t(Tt,nt,bt){if(Tt.fixedrange)return;var At=lc.simpleMap(Tt.range,Tt.r2l),Ye=At[0]+(At[1]-At[0])*nt;function je($e){return Tt.l2r(Ye+($e-Ye)*bt)}Tt.range=At.map(je)}if(S){for(s||(lt=.5),wt=0;wt<m.length;wt++)_t(m[wt],lt,Ue);Be("x"),Ne[2]*=Ue,Ne[0]+=Ne[2]*lt*(1/Ue-1)}if(y){for(o||(it=.5),wt=0;wt<b.length;wt++)_t(b[wt],it,Ue);Be("y"),Ne[3]*=Ue,Ne[1]+=Ne[3]*(1-it)*(1/Ue-1)}Ee(Ne),tt(),e.emit("plotly_relayouting",R),pe=setTimeout(function(){e._fullLayout&&(Ne=[0,0,T,w],ce())},me),Fe.preventDefault()}o.length*s.length!==1&&Ire(N,Re);function ze(Fe,ke){if(Fe=Fe*I,ke=ke*P,e._transitioningWithDuration)return;if(e._fullLayout._replotting=!0,M==="ew"||A==="ns"){var Ue=M?-Fe:0,Ge=A?-ke:0;if(x.isSubplotConstrained){if(M&&A){var lt=(Fe/T-ke/w)/2;Fe=lt*T,ke=-lt*w,Ue=-Fe,Ge=-ke}A?Ue=-Ge*T/w:Ge=-Ue*w/T}M&&(_re(m,Fe),Be("x")),A&&(_re(b,ke),Be("y")),Ee([Ue,Ge,T,w]),tt(),e.emit("plotly_relayouting",R);return}function it(je,$e,ve){for(var Y=1-$e,ie,Te,Ve=0;Ve<je.length;Ve++){var at=je[Ve];if(!at.fixedrange){ie=at,Te=at._rl[Y]+(at._rl[$e]-at._rl[Y])/Met(ve/at._length);var ft=at.l2r(Te);ft!==!1&&ft!==void 0&&(at.range[$e]=ft)}}return ie._length*(ie._rl[$e]-Te)/(ie._rl[$e]-ie._rl[Y])}var wt=M==="w"==(A==="n")?1:-1;if(M&&A&&(k.isSubplotConstrained||x.isSubplotConstrained)){var _t=(Fe/T+wt*ke/w)/2;Fe=_t*T,ke=wt*_t*w}var Tt,nt;if(M==="w"?Fe=it(m,0,Fe):M==="e"?Fe=it(m,1,-Fe):M||(Fe=0),A==="n"?ke=it(b,1,ke):A==="s"?ke=it(b,0,-ke):A||(ke=0),Tt=M==="w"?Fe:0,nt=A==="n"?ke:0,k.isSubplotConstrained&&!x.isSubplotConstrained||x.isSubplotConstrained&&M&&A&&wt>0){var bt;if(x.isSubplotConstrained||!M&&A.length===1){for(bt=0;bt<m.length;bt++)m[bt].range=m[bt]._r.slice(),E8(m[bt],1-ke/w);Fe=ke*T/w,Tt=Fe/2}if(x.isSubplotConstrained||!A&&M.length===1){for(bt=0;bt<b.length;bt++)b[bt].range=b[bt]._r.slice(),E8(b[bt],1-Fe/T);ke=Fe*w/T,nt=ke/2}}(!x.isSubplotConstrained||!A)&&Be("x"),(!x.isSubplotConstrained||!M)&&Be("y");var At=T-Fe,Ye=w-ke;x.isSubplotConstrained&&!(M&&A)&&(M?(nt=Tt?0:Fe*w/T,Ye=At*w/T):(Tt=nt?0:ke*T/w,At=Ye*T/w)),Ee([Tt,nt,At,Ye]),tt(),e.emit("plotly_relayouting",R)}function Be(Fe,ke){for(var Ue=x.isSubplotConstrained?{x:b,y:m}[Fe]:x[Fe+"axes"],Ge=x.isSubplotConstrained?{x:m,y:b}[Fe]:[],lt=0;lt<Ue.length;lt++){var it=Ue[lt],wt=it._id,_t=x.xLinks[wt]||x.yLinks[wt],Tt=Ge[0]||d[_t]||v[_t];Tt&&(ke?(ke[it._name+".range[0]"]=ke[Tt._name+".range[0]"],ke[it._name+".range[1]"]=ke[Tt._name+".range[1]"]):it.range=Tt.range.slice())}}function tt(){var Fe=[],ke;function Ue(wt){for(ke=0;ke<wt.length;ke++)wt[ke].fixedrange||Fe.push(wt[ke]._id)}function Ge(wt,_t){for(ke=0;ke<wt.length;ke++){var Tt=wt[ke],nt=Tt[_t];!Tt.fixedrange&&nt.tickmode==="sync"&&Fe.push(nt._id)}}for(S&&(Ue(m),Ue(k.xaxes),Ue(x.xaxes),Ge(t.overlays,"xaxis")),y&&(Ue(b),Ue(k.yaxes),Ue(x.yaxes),Ge(t.overlays,"yaxis")),R={},ke=0;ke<Fe.length;ke++){var lt=Fe[ke],it=L8(e,lt);yre.drawOne(e,it,{skipTitle:!0}),R[it._name+".range[0]"]=it.range[0],R[it._name+".range[1]"]=it.range[1]}yre.redrawComponents(e,Fe)}function rt(){if(!e._transitioningWithDuration){var Fe=e._context.doubleClick,ke=[];M&&(ke=ke.concat(m)),A&&(ke=ke.concat(b)),x.xaxes&&(ke=ke.concat(x.xaxes)),x.yaxes&&(ke=ke.concat(x.yaxes));var Ue={},Ge,lt;if(Fe==="reset+autosize")for(Fe="autosize",lt=0;lt<ke.length;lt++){Ge=ke[lt];var it=Ge._rangeInitial0,wt=Ge._rangeInitial1,_t=it!==void 0||wt!==void 0;if(_t&&(it!==void 0&&it!==Ge.range[0]||wt!==void 0&&wt!==Ge.range[1])||!_t&&Ge.autorange!==!0){Fe="reset";break}}if(Fe==="autosize")for(lt=0;lt<ke.length;lt++)Ge=ke[lt],Ge.fixedrange||(Ue[Ge._name+".autorange"]=!0);else if(Fe==="reset"){for((M||k.isSubplotConstrained)&&(ke=ke.concat(k.xaxes)),A&&!k.isSubplotConstrained&&(ke=ke.concat(k.yaxes)),k.isSubplotConstrained&&(M?A||(ke=ke.concat(b)):ke=ke.concat(m)),lt=0;lt<ke.length;lt++)if(Ge=ke[lt],!Ge.fixedrange){var Tt=Ge._name,nt=Ge._autorangeInitial;Ge._rangeInitial0===void 0&&Ge._rangeInitial1===void 0?Ue[Tt+".autorange"]=!0:Ge._rangeInitial0===void 0?(Ue[Tt+".autorange"]=nt,Ue[Tt+".range"]=[null,Ge._rangeInitial1]):Ge._rangeInitial1===void 0?(Ue[Tt+".range"]=[Ge._rangeInitial0,null],Ue[Tt+".autorange"]=nt):Ue[Tt+".range"]=[Ge._rangeInitial0,Ge._rangeInitial1]}}e.emit("plotly_doubleclick",null),kM.call("_guiRelayout",e,Ue)}}function ce(){Ee([0,0,T,w]),lc.syncOrAsync([xet.previousPromises,function(){e._fullLayout._replotting=!1,kM.call("_guiRelayout",e,R)}],e)}function Ee(Fe){var ke=e._fullLayout,Ue=ke._plots,Ge=ke._subplots.cartesian,lt,it,wt,_t;if(C&&kM.subplotsRegistry.splom.drag(e),E){for(lt=0;lt<Ge.length;lt++)if(it=Ue[Ge[lt]],wt=it.xaxis,_t=it.yaxis,it._scene){wt.limitRange&&wt.limitRange(),_t.limitRange&&_t.limitRange();var Tt=lc.simpleMap(wt.range,wt.r2l),nt=lc.simpleMap(_t.range,_t.r2l);it._scene.update({range:[Tt[0],nt[0],Tt[1],nt[1]]})}}if((C||E)&&(met(e),yet(e)),L){var bt=Fe[2]/c._length,At=Fe[3]/h._length;for(lt=0;lt<Ge.length;lt++){it=Ue[Ge[lt]],wt=it.xaxis,_t=it.yaxis;var Ye=(S||x.isSubplotConstrained)&&!wt.fixedrange&&d[wt._id],je=(y||x.isSubplotConstrained)&&!_t.fixedrange&&v[_t._id],$e,ve,Y,ie;if(Ye?($e=bt,Y=s||x.isSubplotConstrained?Fe[0]:He(wt,$e)):x.xaHash[wt._id]?($e=bt,Y=Fe[0]*wt._length/c._length):x.yaHash[wt._id]?($e=At,Y=A==="ns"?-Fe[1]*wt._length/h._length:He(wt,$e,{n:"top",s:"bottom"}[A])):($e=Ae(wt,bt,At),Y=Pe(wt,$e)),$e>1&&(wt.maxallowed!==void 0&&S===(wt.range[0]<wt.range[1]?"e":"w")||wt.minallowed!==void 0&&S===(wt.range[0]<wt.range[1]?"w":"e"))&&($e=1,Y=0),je?(ve=At,ie=o||x.isSubplotConstrained?Fe[1]:He(_t,ve)):x.yaHash[_t._id]?(ve=At,ie=Fe[1]*_t._length/h._length):x.xaHash[_t._id]?(ve=bt,ie=M==="ew"?-Fe[0]*_t._length/c._length:He(_t,ve,{e:"right",w:"left"}[M])):(ve=Ae(_t,bt,At),ie=Pe(_t,ve)),ve>1&&(_t.maxallowed!==void 0&&y===(_t.range[0]<_t.range[1]?"n":"s")||_t.minallowed!==void 0&&y===(_t.range[0]<_t.range[1]?"s":"n"))&&(ve=1,ie=0),!(!$e&&!ve)){$e||($e=1),ve||(ve=1);var Te=wt._offset-Y/$e,Ve=_t._offset-ie/ve;it.clipRect.call(A0.setTranslate,Y,ie).call(A0.setScale,$e,ve),it.plot.call(A0.setTranslate,Te,Ve).call(A0.setScale,1/$e,1/ve),($e!==it.xScaleFactor||ve!==it.yScaleFactor)&&(A0.setPointGroupScale(it.zoomScalePts,$e,ve),A0.setTextPointsScale(it.zoomScaleTxt,$e,ve)),A0.hideOutsideRangePoints(it.clipOnAxisFalseTraces,it),it.xScaleFactor=$e,it.yScaleFactor=ve}}}}function Ae(Fe,ke,Ue){return Fe.fixedrange?0:S&&k.xaHash[Fe._id]?ke:y&&(k.isSubplotConstrained?k.xaHash:k.yaHash)[Fe._id]?Ue:0}function Pe(Fe,ke){return ke?(Fe.range=Fe._r.slice(),E8(Fe,ke),He(Fe,ke)):0}function He(Fe,ke,Ue){return Fe._length*(1-ke)*get[Ue||Fe.constraintoward||"middle"]}return N}function Sre(e,t,r,n){var i=lc.ensureSingle(e.draglayer,t,r,function(a){a.classed("drag",!0).style({fill:"transparent","stroke-width":0}).attr("data-subplot",e.id)});return i.call(vet,n),i.node()}function Cre(e,t,r,n,i,a,o){var s=Sre(e,"rect",t,r);return P8.select(s).call(A0.setRect,n,i,a,o),s}function wre(e,t){for(var r=0;r<e.length;r++)if(!e[r].fixedrange)return t;return""}function Aet(e,t){var r=e.range[t],n=Math.abs(r-e.range[1-t]),i;return e.type==="date"?r:e.type==="log"?(i=Math.ceil(Math.max(0,-Math.log(n)/Math.LN10))+3,gre("."+i+"g")(Math.pow(10,r))):(i=Math.floor(Math.log(Math.abs(r))/Math.LN10)-Math.floor(Math.log(n)/Math.LN10)+4,gre("."+String(i)+"g")(r))}function D8(e,t,r,n,i){for(var a=0;a<e.length;a++){var o=e[a];if(!o.fixedrange)if(o.rangebreaks){var s=o._id.charAt(0)==="y",l=s?1-t:t,u=s?1-r:r;n[o._name+".range[0]"]=o.l2r(o.p2l(l*o._length)),n[o._name+".range[1]"]=o.l2r(o.p2l(u*o._length))}else{var f=o._rl[0],c=o._rl[1]-f;n[o._name+".range[0]"]=o.l2r(f+c*t),n[o._name+".range[1]"]=o.l2r(f+c*r)}}if(i&&i.length){var h=(t+(1-r))/2;D8(i,h,1-h,n,[])}}function _re(e,t){for(var r=0;r<e.length;r++){var n=e[r];if(!n.fixedrange){if(n.rangebreaks){var i=0,a=n._length,o=n.p2l(i+t)-n.p2l(i),s=n.p2l(a+t)-n.p2l(a),l=(o+s)/2;n.range=[n.l2r(n._rl[0]-l),n.l2r(n._rl[1]-l)]}else n.range=[n.l2r(n._rl[0]-t/n._m),n.l2r(n._rl[1]-t/n._m)];n.limitRange&&n.limitRange()}}}function Met(e){return 1-(e>=0?Math.min(e,.9):1/(1/Math.max(e,-.3)+3.222))}function ket(e,t,r){return e?e==="nsew"?r?"":t==="pan"?"move":"crosshair":e.toLowerCase()+"-resize":"pointer"}function Ere(e,t,r,n,i){return e.append("path").attr("class","zoombox").style({fill:t>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("transform",Mre(r,n)).attr("d",i+"Z")}function Lre(e,t,r){return e.append("path").attr("class","zoombox-corners").style({fill:mre.background,stroke:mre.defaultLine,"stroke-width":1,opacity:0}).attr("transform",Mre(t,r)).attr("d","M0,0Z")}function Dre(e,t,r,n,i,a){e.attr("d",n+"M"+r.l+","+r.t+"v"+r.h+"h"+r.w+"v-"+r.h+"h-"+r.w+"Z"),Rre(e,t,i,a)}function Rre(e,t,r,n){r||(e.transition().style("fill",n>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),t.transition().style("opacity",1).duration(200))}function R8(e){P8.select(e).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function Pre(e){bre&&e.data&&e._context.showTips&&(lc.notifier(lc._(e,"Double-click to zoom back out"),"long"),bre=!1)}function Set(e,t){return"M"+(e.l-.5)+","+(t-ou-.5)+"h-3v"+(2*ou+1)+"h3ZM"+(e.r+.5)+","+(t-ou-.5)+"h3v"+(2*ou+1)+"h-3Z"}function Cet(e,t){return"M"+(t-ou-.5)+","+(e.t-.5)+"v-3h"+(2*ou+1)+"v3ZM"+(t-ou-.5)+","+(e.b+.5)+"v3h"+(2*ou+1)+"v-3Z"}function CM(e){var t=Math.floor(Math.min(e.b-e.t,e.r-e.l,ou)/2);return"M"+(e.l-3.5)+","+(e.t-.5+t)+"h3v"+-t+"h"+t+"v-3h-"+(t+3)+"ZM"+(e.r+3.5)+","+(e.t-.5+t)+"h-3v"+-t+"h"+-t+"v-3h"+(t+3)+"ZM"+(e.r+3.5)+","+(e.b+.5-t)+"h-3v"+t+"h"+-t+"v3h"+(t+3)+"ZM"+(e.l-3.5)+","+(e.b+.5-t)+"h3v"+t+"h"+t+"v3h-"+(t+3)+"Z"}function Tre(e,t,r,n,i){for(var a=!1,o={},s={},l,u,f,c,h=(i||{}).xaHash,d=(i||{}).yaHash,v=0;v<t.length;v++){var m=t[v];for(l in r)if(m[l]){for(f in m)!(i&&(h[f]||d[f]))&&!(f.charAt(0)==="x"?r:n)[f]&&(o[f]=l);for(u in n)!(i&&(h[u]||d[u]))&&m[u]&&(a=!0)}for(u in n)if(m[u])for(c in m)!(i&&(h[c]||d[c]))&&!(c.charAt(0)==="x"?r:n)[c]&&(s[c]=u)}a&&(lc.extendFlat(o,s),s={});var b={},g=[];for(f in o){var _=L8(e,f);g.push(_),b[_._id]=_}var T={},w=[];for(c in s){var k=L8(e,c);w.push(k),T[k._id]=k}return{xaHash:b,yaHash:T,xaxes:g,yaxes:w,xLinks:o,yLinks:s,isSubplotConstrained:a}}function Ire(e,t){if(!fet)e.onwheel!==void 0?e.onwheel=t:e.onmousewheel!==void 0?e.onmousewheel=t:e.isAddedWheelEvent||(e.isAddedWheelEvent=!0,e.addEventListener("wheel",t,{passive:!1}));else{var r=e.onwheel!==void 0?"wheel":"mousewheel";e._onwheel&&e.removeEventListener(r,e._onwheel),e._onwheel=t,e.addEventListener(r,t,{passive:!1})}}function Are(e){var t=[];for(var r in e)t.push(e[r]);return t}qre.exports={makeDragBox:Tet,makeDragger:Sre,makeRectDragger:Cre,makeZoombox:Ere,makeCorners:Lre,updateZoombox:Dre,xyCorners:CM,transitionZoombox:Rre,removeZoombox:R8,showDoubleClickNotifier:Pre,attachWheelEventHandler:Ire}});var F8=J(LM=>{"use strict";var Eet=Nr(),EM=go(),Let=iu(),Det=th(),ih=q8().makeDragBox,ps=Eo().DRAGGERSIZE;LM.initInteractions=function(t){var r=t._fullLayout;if(t._context.staticPlot){Eet.select(t).selectAll(".drag").remove();return}if(!(!r._has("cartesian")&&!r._has("splom"))){var n=Object.keys(r._plots||{}).sort(function(a,o){if((r._plots[a].mainplot&&!0)===(r._plots[o].mainplot&&!0)){var s=a.split("y"),l=o.split("y");return s[0]===l[0]?Number(s[1]||1)-Number(l[1]||1):Number(s[0]||1)-Number(l[0]||1)}return r._plots[a].mainplot?1:-1});n.forEach(function(a){var o=r._plots[a],s=o.xaxis,l=o.yaxis;if(!o.mainplot){var u=ih(t,o,s._offset,l._offset,s._length,l._length,"ns","ew");u.onmousemove=function(h){t._fullLayout._rehover=function(){t._fullLayout._hoversubplot===a&&t._fullLayout._plots[a]&&EM.hover(t,h,a)},EM.hover(t,h,a),t._fullLayout._lasthover=u,t._fullLayout._hoversubplot=a},u.onmouseout=function(h){t._dragging||(t._fullLayout._hoversubplot=null,Let.unhover(t,h))},t._context.showAxisDragHandles&&(ih(t,o,s._offset-ps,l._offset-ps,ps,ps,"n","w"),ih(t,o,s._offset+s._length,l._offset-ps,ps,ps,"n","e"),ih(t,o,s._offset-ps,l._offset+l._length,ps,ps,"s","w"),ih(t,o,s._offset+s._length,l._offset+l._length,ps,ps,"s","e"))}if(t._context.showAxisDragHandles){if(a===s._mainSubplot){var f=s._mainLinePosition;s.side==="top"&&(f-=ps),ih(t,o,s._offset+s._length*.1,f,s._length*.8,ps,"","ew"),ih(t,o,s._offset,f,s._length*.1,ps,"","w"),ih(t,o,s._offset+s._length*.9,f,s._length*.1,ps,"","e")}if(a===l._mainSubplot){var c=l._mainLinePosition;l.side!=="right"&&(c-=ps),ih(t,o,c,l._offset+l._length*.1,ps,l._length*.8,"ns",""),ih(t,o,c,l._offset+l._length*.9,ps,l._length*.1,"s",""),ih(t,o,c,l._offset,ps,l._length*.1,"n","")}}});var i=r._hoverlayer.node();i.onmousemove=function(a){a.target=t._fullLayout._lasthover,EM.hover(t,a,r._hoversubplot)},i.onclick=function(a){a.target=t._fullLayout._lasthover,EM.click(t,a)},i.onmousedown=function(a){t._fullLayout._lasthover.onmousedown(a)},LM.updateFx(t)}};LM.updateFx=function(e){var t=e._fullLayout,r=t.dragmode==="pan"?"move":"crosshair";Det(t._draggers,r)}});var Nre=J((dPt,zre)=>{"use strict";var Fre=zr();zre.exports=function(t){for(var r=Fre.layoutArrayContainers,n=Fre.layoutArrayRegexes,i=t.split("[")[0],a,o,s=0;s<n.length;s++)if(o=t.match(n[s]),o&&o.index===0){a=o[0];break}if(a||(a=r[r.indexOf(i)]),!a)return!1;var l=t.substr(a.length);return l?(o=l.match(/^\[(0|[1-9][0-9]*)\](\.(.+))?$/),o?{array:a,index:Number(o[1]),property:o[3]||""}:!1):{array:a,index:"",property:""}}});var Bre=J(Y2=>{"use strict";var Ret=Bv(),z8=bT(),V2=Kd(),Pet=IT().sorterAsc,N8=zr();Y2.containerArrayMatch=Nre();var Iet=Y2.isAddVal=function(t){return t==="add"||Ret(t)},Ore=Y2.isRemoveVal=function(t){return t===null||t==="remove"};Y2.applyContainerArrayChanges=function(t,r,n,i,a){var o=r.astr,s=N8.getComponentMethod(o,"supplyLayoutDefaults"),l=N8.getComponentMethod(o,"draw"),u=N8.getComponentMethod(o,"drawOne"),f=i.replot||i.recalc||s===z8||l===z8,c=t.layout,h=t._fullLayout;if(n[""]){Object.keys(n).length>1&&V2.warn("Full array edits are incompatible with other edits",o);var d=n[""][""];if(Ore(d))r.set(null);else if(Array.isArray(d))r.set(d);else return V2.warn("Unrecognized full array edit value",o,d),!0;return f?!1:(s(c,h),l(t),!0)}var v=Object.keys(n).map(Number).sort(Pet),m=r.get(),b=m||[],g=a(h,o).get(),_=[],T=-1,w=b.length,k,x,M,A,p,S,y,E;for(k=0;k<v.length;k++){if(M=v[k],A=n[M],p=Object.keys(A),S=A[""],y=Iet(S),M<0||M>b.length-(y?0:1)){V2.warn("index out of range",o,M);continue}if(S!==void 0)p.length>1&&V2.warn("Insertion & removal are incompatible with edits to the same index.",o,M),Ore(S)?_.push(M):y?(S==="add"&&(S={}),b.splice(M,0,S),g&&g.splice(M,0,{})):V2.warn("Unrecognized full object edit value",o,M,S),T===-1&&(T=M);else for(x=0;x<p.length;x++)E=o+"["+M+"].",a(b[M],p[x],E).set(A[p[x]])}for(k=_.length-1;k>=0;k--)b.splice(_[k],1),g&&g.splice(_[k],1);if(b.length?m||r.set(b):r.set(null),f)return!1;if(s(c,h),u!==z8){var C;if(T===-1)C=v;else{for(w=Math.max(b.length,w),C=[],k=0;k<v.length&&(M=v[k],!(M>=T));k++)C.push(M);for(k=T;k<w;k++)C.push(k)}for(k=0;k<C.length;k++)u(t,C[k])}else l(t);return!0}});var Wre=J(uc=>{"use strict";var Vre=dn(),qet=AE(),Yre=zr(),lu=gt(),W2=ea(),Gre=jo(),mg=qr(),X2=Gre.cleanId,Fet=Gre.getFromTrace,G2=Yre.traceIs;uc.clearPromiseQueue=function(e){Array.isArray(e._promises)&&e._promises.length>0&&lu.log("Clearing previous rejected promises from queue."),e._promises=[]};uc.cleanLayout=function(e){var t,r;e||(e={}),e.xaxis1&&(e.xaxis||(e.xaxis=e.xaxis1),delete e.xaxis1),e.yaxis1&&(e.yaxis||(e.yaxis=e.yaxis1),delete e.yaxis1),e.scene1&&(e.scene||(e.scene=e.scene1),delete e.scene1);var n=(W2.subplotsRegistry.cartesian||{}).attrRegex,i=(W2.subplotsRegistry.polar||{}).attrRegex,a=(W2.subplotsRegistry.ternary||{}).attrRegex,o=(W2.subplotsRegistry.gl3d||{}).attrRegex,s=Object.keys(e);for(t=0;t<s.length;t++){var l=s[t];if(n&&n.test(l)){var u=e[l];u.anchor&&u.anchor!=="free"&&(u.anchor=X2(u.anchor)),u.overlaying&&(u.overlaying=X2(u.overlaying)),u.type||(u.isdate?u.type="date":u.islog?u.type="log":u.isdate===!1&&u.islog===!1&&(u.type="linear")),(u.autorange==="withzero"||u.autorange==="tozero")&&(u.autorange=!0,u.rangemode="tozero"),u.insiderange&&delete u.range,delete u.islog,delete u.isdate,delete u.categories,DM(u,"domain")&&delete u.domain,u.autotick!==void 0&&(u.tickmode===void 0&&(u.tickmode=u.autotick?"auto":"linear"),delete u.autotick),su(u)}else if(i&&i.test(l)){var f=e[l];su(f.radialaxis)}else if(a&&a.test(l)){var c=e[l];su(c.aaxis),su(c.baxis),su(c.caxis)}else if(o&&o.test(l)){var h=e[l],d=h.cameraposition;if(Array.isArray(d)&&d[0].length===4){var v=d[0],m=d[1],b=d[2],g=qet([],v),_=[];for(r=0;r<3;++r)_[r]=m[r]+b*g[2+4*r];h.camera={eye:{x:_[0],y:_[1],z:_[2]},center:{x:m[0],y:m[1],z:m[2]},up:{x:0,y:0,z:1}},delete h.cameraposition}su(h.xaxis),su(h.yaxis),su(h.zaxis)}}var T=Array.isArray(e.annotations)?e.annotations.length:0;for(t=0;t<T;t++){var w=e.annotations[t];lu.isPlainObject(w)&&(w.ref&&(w.ref==="paper"?(w.xref="paper",w.yref="paper"):w.ref==="data"&&(w.xref="x",w.yref="y"),delete w.ref),sy(w,"xref"),sy(w,"yref"))}var k=Array.isArray(e.shapes)?e.shapes.length:0;for(t=0;t<k;t++){var x=e.shapes[t];lu.isPlainObject(x)&&(sy(x,"xref"),sy(x,"yref"))}var M=Array.isArray(e.images)?e.images.length:0;for(t=0;t<M;t++){var A=e.images[t];lu.isPlainObject(A)&&(sy(A,"xref"),sy(A,"yref"))}var p=e.legend;return p&&(p.x>3?(p.x=1.02,p.xanchor="left"):p.x<-2&&(p.x=-.02,p.xanchor="right"),p.y>3?(p.y=1.02,p.yanchor="bottom"):p.y<-2&&(p.y=-.02,p.yanchor="top")),su(e),e.dragmode==="rotate"&&(e.dragmode="orbit"),mg.clean(e),e.template&&e.template.layout&&uc.cleanLayout(e.template.layout),e};function sy(e,t){var r=e[t],n=t.charAt(0);r&&r!=="paper"&&(e[t]=X2(r,n,!0))}function su(e){e&&((typeof e.title=="string"||typeof e.title=="number")&&(e.title={text:e.title}),t("titlefont","font"),t("titleposition","position"),t("titleside","side"),t("titleoffset","offset"));function t(r,n){var i=e[r],a=e.title&&e.title[n];i&&!a&&(e.title||(e.title={}),e.title[n]=e[r],delete e[r])}}uc.cleanData=function(e){for(var t=0;t<e.length;t++){var r=e[t],n;if(r.type==="histogramy"&&"xbins"in r&&!("ybins"in r)&&(r.ybins=r.xbins,delete r.xbins),r.error_y&&"opacity"in r.error_y){var i=mg.defaults,a=r.error_y.color||(G2(r,"bar")?mg.defaultLine:i[t%i.length]);r.error_y.color=mg.addOpacity(mg.rgb(a),mg.opacity(a)*r.error_y.opacity),delete r.error_y.opacity}if("bardir"in r&&(r.bardir==="h"&&(G2(r,"bar")||r.type.substr(0,9)==="histogram")&&(r.orientation="h",uc.swapXYData(r)),delete r.bardir),r.type==="histogramy"&&uc.swapXYData(r),(r.type==="histogramx"||r.type==="histogramy")&&(r.type="histogram"),"scl"in r&&!("colorscale"in r)&&(r.colorscale=r.scl,delete r.scl),"reversescl"in r&&!("reversescale"in r)&&(r.reversescale=r.reversescl,delete r.reversescl),r.xaxis&&(r.xaxis=X2(r.xaxis,"x")),r.yaxis&&(r.yaxis=X2(r.yaxis,"y")),G2(r,"gl3d")&&r.scene&&(r.scene=W2.subplotsRegistry.gl3d.cleanId(r.scene)),!G2(r,"pie-like")&&!G2(r,"bar-like"))if(Array.isArray(r.textposition))for(n=0;n<r.textposition.length;n++)r.textposition[n]=Hre(r.textposition[n]);else r.textposition&&(r.textposition=Hre(r.textposition));var o=Yre.getModule(r);if(o&&o.colorbar){var s=o.colorbar.container,l=s?r[s]:r;l&&l.colorscale&&(l.colorscale==="YIGnBu"&&(l.colorscale="YlGnBu"),l.colorscale==="YIOrRd"&&(l.colorscale="YlOrRd"))}if(r.type==="surface"&&lu.isPlainObject(r.contours)){var u=["x","y","z"];for(n=0;n<u.length;n++){var f=r.contours[u[n]];lu.isPlainObject(f)&&(f.highlightColor&&(f.highlightcolor=f.highlightColor,delete f.highlightColor),f.highlightWidth&&(f.highlightwidth=f.highlightWidth,delete f.highlightWidth))}}if(r.type==="candlestick"||r.type==="ohlc"){var c=(r.increasing||{}).showlegend!==!1,h=(r.decreasing||{}).showlegend!==!1,d=Ure(r.increasing),v=Ure(r.decreasing);if(d!==!1&&v!==!1){var m=zet(d,v,c,h);m&&(r.name=m)}else(d||v)&&!r.name&&(r.name=d||v)}if(Array.isArray(r.transforms)){var b=r.transforms;for(n=0;n<b.length;n++){var g=b[n];if(lu.isPlainObject(g))switch(g.type){case"filter":g.filtersrc&&(g.target=g.filtersrc,delete g.filtersrc),g.calendar&&(g.valuecalendar||(g.valuecalendar=g.calendar),delete g.calendar);break;case"groupby":if(g.styles=g.styles||g.style,g.styles&&!Array.isArray(g.styles)){var _=g.styles,T=Object.keys(_);g.styles=[];for(var w=0;w<T.length;w++)g.styles.push({target:T[w],value:_[T[w]]})}break}}}DM(r,"line")&&delete r.line,"marker"in r&&(DM(r.marker,"line")&&delete r.marker.line,DM(r,"marker")&&delete r.marker),mg.clean(r),r.autobinx&&(delete r.autobinx,delete r.xbins),r.autobiny&&(delete r.autobiny,delete r.ybins),su(r),r.colorbar&&su(r.colorbar),r.marker&&r.marker.colorbar&&su(r.marker.colorbar),r.line&&r.line.colorbar&&su(r.line.colorbar),r.aaxis&&su(r.aaxis),r.baxis&&su(r.baxis)}};function Ure(e){if(!lu.isPlainObject(e))return!1;var t=e.name;return delete e.name,delete e.showlegend,(typeof t=="string"||typeof t=="number")&&String(t)}function zet(e,t,r,n){if(r&&!n)return e;if(n&&!r||!e.trim())return t;if(!t.trim())return e;var i=Math.min(e.length,t.length),a;for(a=0;a<i&&e.charAt(a)===t.charAt(a);a++);var o=e.substr(0,a);return o.trim()}function Hre(e){var t="middle",r="center";return typeof e=="string"&&(e.indexOf("top")!==-1?t="top":e.indexOf("bottom")!==-1&&(t="bottom"),e.indexOf("left")!==-1?r="left":e.indexOf("right")!==-1&&(r="right")),t+" "+r}function DM(e,t){return t in e&&typeof e[t]=="object"&&Object.keys(e[t]).length===0}uc.swapXYData=function(e){var t;if(lu.swapAttrs(e,["?","?0","d?","?bins","nbins?","autobin?","?src","error_?"]),Array.isArray(e.z)&&Array.isArray(e.z[0])&&(e.transpose?delete e.transpose:e.transpose=!0),e.error_x&&e.error_y){var r=e.error_y,n="copy_ystyle"in r?r.copy_ystyle:!(r.color||r.thickness||r.width);lu.swapAttrs(e,["error_?.copy_ystyle"]),n&&lu.swapAttrs(e,["error_?.color","error_?.thickness","error_?.width"])}if(typeof e.hoverinfo=="string"){var i=e.hoverinfo.split("+");for(t=0;t<i.length;t++)i[t]==="x"?i[t]="y":i[t]==="y"&&(i[t]="x");e.hoverinfo=i.join("+")}};uc.coerceTraceIndices=function(e,t){if(Vre(t))return[t];if(!Array.isArray(t)||!t.length)return e.data.map(function(i,a){return a});if(Array.isArray(t)){for(var r=[],n=0;n<t.length;n++)lu.isIndex(t[n],e.data.length)?r.push(t[n]):lu.warn("trace index (",t[n],") is not a number or is out of bounds");return r}return t};uc.manageArrayContainers=function(e,t,r){var n=e.obj,i=e.parts,a=i.length,o=i[a-1],s=Vre(o);if(s&&t===null){var l=i.slice(0,a-1).join("."),u=lu.nestedProperty(n,l).get();u.splice(o,1)}else s&&e.get()===void 0&&e.get()===void 0&&(r[e.astr]=null),e.set(t)};var Net=/(\.[^\[\]\.]+|\[[^\[\]\.]+\])$/;function jre(e){var t=e.search(Net);if(t>0)return e.substr(0,t)}uc.hasParent=function(e,t){for(var r=jre(t);r;){if(r in e)return!0;r=jre(r)}return!1};var Oet=["x","y","z"];uc.clearAxisTypes=function(e,t,r){for(var n=0;n<t.length;n++)for(var i=e._fullData[n],a=0;a<3;a++){var o=Fet(e,i,Oet[a]);if(o&&o.type!=="log"){var s=o._name,l=o._id.substr(1);if(l.substr(0,5)==="scene"){if(r[l]!==void 0)continue;s=l+"."+s}var u=s+".type";r[s]===void 0&&r[u]===void 0&&lu.nestedProperty(e.layout,u).set(null)}}}});var jM=J(gi=>{"use strict";var IM=Nr(),Bet=dn(),Uet=VE(),Mr=gt(),ra=Mr.nestedProperty,U8=P1(),uu=RX(),fc=zr(),UM=o0(),hn=ea(),Ol=nn(),Het=hD(),jet=hl(),O8=ln(),Vet=qr(),Yet=F8().initInteractions,Get=Gh(),Wet=ml().clearOutline,Kre=qp().dfltConfig,RM=Bre(),Po=Wre(),zi=k2(),M0=La(),Xet=Eo().AX_NAME_PATTERN,B8=0,Xre=5;function Zet(e,t,r,n){var i;if(e=Mr.getGraphDiv(e),U8.init(e),Mr.isPlainObject(t)){var a=t;t=a.data,r=a.layout,n=a.config,i=a.frames}var o=U8.triggerHandler(e,"plotly_beforeplot",[t,r,n]);if(o===!1)return Promise.reject();!t&&!r&&!Mr.isPlotDiv(e)&&Mr.warn("Calling _doPlot as if redrawing but this container doesn't yet have a plot.",e);function s(){if(i)return gi.addFrames(e,i)}ene(e,n),r||(r={}),IM.select(e).classed("js-plotly-plot",!0),O8.makeTester(),Array.isArray(e._promises)||(e._promises=[]);var l=(e.data||[]).length===0&&Array.isArray(t);Array.isArray(t)&&(Po.cleanData(t),l?e.data=t:e.data.push.apply(e.data,t),e.empty=!1),(!e.layout||l)&&(e.layout=Po.cleanLayout(r)),hn.supplyDefaults(e);var u=e._fullLayout,f=u._has("cartesian");u._replotting=!0,(l||u._shouldCreateBgLayer)&&(mtt(e),u._shouldCreateBgLayer&&delete u._shouldCreateBgLayer),O8.initGradients(e),O8.initPatterns(e),l&&Ol.saveShowSpikeInitial(e);var c=!e.calcdata||e.calcdata.length!==(e._fullData||[]).length;c&&hn.doCalcdata(e);for(var h=0;h<e.calcdata.length;h++)e.calcdata[h][0].trace=e._fullData[h];e._context.responsive?e._responsiveChartHandler||(e._responsiveChartHandler=function(){Mr.isHidden(e)||hn.resize(e)},window.addEventListener("resize",e._responsiveChartHandler)):Mr.clearResponsive(e);var d=Mr.extendFlat({},u._size),v=0;function m(){for(var M=u._basePlotModules,A=0;A<M.length;A++)M[A].drawFramework&&M[A].drawFramework(e);!u._glcanvas&&u._has("gl")&&(u._glcanvas=u._glcontainer.selectAll(".gl-canvas").data([{key:"contextLayer",context:!0,pick:!1},{key:"focusLayer",context:!1,pick:!1},{key:"pickLayer",context:!1,pick:!0}],function(E){return E.key}),u._glcanvas.enter().append("canvas").attr("class",function(E){return"gl-canvas gl-canvas-"+E.key.replace("Layer","")}).style({position:"absolute",top:0,left:0,overflow:"visible","pointer-events":"none"}));var p=e._context.plotGlPixelRatio;if(u._glcanvas){u._glcanvas.attr("width",u.width*p).attr("height",u.height*p).style("width",u.width+"px").style("height",u.height+"px");var S=u._glcanvas.data()[0].regl;if(S&&(Math.floor(u.width*p)!==S._gl.drawingBufferWidth||Math.floor(u.height*p)!==S._gl.drawingBufferHeight)){var y="WebGL context buffer and canvas dimensions do not match due to browser/WebGL bug.";if(v)Mr.error(y);else return Mr.log(y+" Clearing graph and plotting again."),hn.cleanPlot([],{},e._fullData,u),hn.supplyDefaults(e),u=e._fullLayout,hn.doCalcdata(e),v++,m()}}return u.modebar.orientation==="h"?u._modebardiv.style("height",null).style("width","100%"):u._modebardiv.style("width",null).style("height",u.height+"px"),hn.previousPromises(e)}function b(){if(hn.clearAutoMarginIds(e),zi.drawMarginPushers(e),Ol.allowAutoMargin(e),e._fullLayout.title.text&&e._fullLayout.title.automargin&&hn.allowAutoMargin(e,"title.automargin"),u._has("pie"))for(var M=e._fullData,A=0;A<M.length;A++){var p=M[A];p.type==="pie"&&p.automargin&&hn.allowAutoMargin(e,"pie."+p.uid+".automargin")}return hn.doAutoMargin(e),hn.previousPromises(e)}function g(){if(hn.didMarginChange(d,u._size))return Mr.syncOrAsync([b,zi.layoutStyles],e)}function _(){if(!c){T();return}return Mr.syncOrAsync([fc.getComponentMethod("shapes","calcAutorange"),fc.getComponentMethod("annotations","calcAutorange"),T],e)}function T(){e._transitioning||(zi.doAutoRangeAndConstraints(e),l&&Ol.saveRangeInitial(e),fc.getComponentMethod("rangeslider","calcAutorange")(e))}function w(){return Ol.draw(e,l?"":"redraw")}var k=[hn.previousPromises,s,m,b,g];f&&k.push(_),k.push(zi.layoutStyles),f&&k.push(w,function(A){var p=A._fullLayout._insideTickLabelsUpdaterange;if(p)return A._fullLayout._insideTickLabelsUpdaterange=void 0,Z2(A,p).then(function(){Ol.saveRangeInitial(A,!0)})}),k.push(zi.drawData,zi.finalDraw,Yet,hn.addLinks,hn.rehover,hn.redrag,hn.reselect,hn.doAutoMargin,hn.previousPromises);var x=Mr.syncOrAsync(k,e);return(!x||!x.then)&&(x=Promise.resolve()),x.then(function(){return J2(e),e})}function J2(e){var t=e._fullLayout;t._redrawFromAutoMarginCount?t._redrawFromAutoMarginCount--:e.emit("plotly_afterplot")}function Jet(e){return Mr.extendFlat(Kre,e)}function Qre(e,t){try{e._fullLayout._paper.style("background",t)}catch(r){Mr.error(r)}}function $et(e,t){var r=Vet.combine(t,"white");Qre(e,r)}function ene(e,t){if(!e._context){e._context=Mr.extendDeep({},Kre);var r=IM.select("base");e._context._baseUrl=r.size()&&r.attr("href")?window.location.href.split("#")[0]:""}var n=e._context,i,a,o;if(t){for(a=Object.keys(t),i=0;i<a.length;i++)o=a[i],!(o==="editable"||o==="edits")&&o in n&&(o==="setBackground"&&t[o]==="opaque"?n[o]=$et:n[o]=t[o]);t.plot3dPixelRatio&&!n.plotGlPixelRatio&&(n.plotGlPixelRatio=n.plot3dPixelRatio);var s=t.editable;if(s!==void 0)for(n.editable=s,a=Object.keys(n.edits),i=0;i<a.length;i++)n.edits[a[i]]=s;if(t.edits)for(a=Object.keys(t.edits),i=0;i<a.length;i++)o=a[i],o in n.edits&&(n.edits[o]=t.edits[o]);n._exportedPlot=t._exportedPlot}n.staticPlot&&(n.editable=!1,n.edits={},n.autosizable=!1,n.scrollZoom=!1,n.doubleClick=!1,n.showTips=!1,n.showLink=!1,n.displayModeBar=!1),n.displayModeBar==="hover"&&!Uet&&(n.displayModeBar=!0),(n.setBackground==="transparent"||typeof n.setBackground!="function")&&(n.setBackground=Qre),n._hasZeroHeight=n._hasZeroHeight||e.clientHeight===0,n._hasZeroWidth=n._hasZeroWidth||e.clientWidth===0;var l=n.scrollZoom,u=n._scrollZoom={};if(l===!0)u.cartesian=1,u.gl3d=1,u.geo=1,u.mapbox=1;else if(typeof l=="string"){var f=l.split("+");for(i=0;i<f.length;i++)u[f[i]]=1}else l!==!1&&(u.gl3d=1,u.geo=1,u.mapbox=1)}function Ket(e){if(e=Mr.getGraphDiv(e),!Mr.isPlotDiv(e))throw new Error("This element is not a Plotly plot: "+e);return Po.cleanData(e.data),Po.cleanLayout(e.layout),e.calcdata=void 0,gi._doPlot(e).then(function(){return e.emit("plotly_redraw"),e})}function Qet(e,t,r,n){return e=Mr.getGraphDiv(e),hn.cleanPlot([],{},e._fullData||[],e._fullLayout||{}),hn.purge(e),gi._doPlot(e,t,r,n)}function qM(e,t){var r=t+1,n=[],i,a;for(i=0;i<e.length;i++)a=e[i],a<0?n.push(r+a):n.push(a);return n}function FM(e,t,r){var n,i;for(n=0;n<t.length;n++){if(i=t[n],i!==parseInt(i,10))throw new Error("all values in "+r+" must be integers");if(i>=e.data.length||i<-e.data.length)throw new Error(r+" must be valid indices for gd.data.");if(t.indexOf(i,n+1)>-1||i>=0&&t.indexOf(-e.data.length+i)>-1||i<0&&t.indexOf(e.data.length+i)>-1)throw new Error("each index in "+r+" must be unique.")}}function tne(e,t,r){if(!Array.isArray(e.data))throw new Error("gd.data must be an array.");if(typeof t>"u")throw new Error("currentIndices is a required argument.");if(Array.isArray(t)||(t=[t]),FM(e,t,"currentIndices"),typeof r<"u"&&!Array.isArray(r)&&(r=[r]),typeof r<"u"&&FM(e,r,"newIndices"),typeof r<"u"&&t.length!==r.length)throw new Error("current and new indices must be of equal length.")}function ett(e,t,r){var n,i;if(!Array.isArray(e.data))throw new Error("gd.data must be an array.");if(typeof t>"u")throw new Error("traces must be defined.");for(Array.isArray(t)||(t=[t]),n=0;n<t.length;n++)if(i=t[n],typeof i!="object"||Array.isArray(i)||i===null)throw new Error("all values in traces array must be non-array objects");if(typeof r<"u"&&!Array.isArray(r)&&(r=[r]),typeof r<"u"&&r.length!==t.length)throw new Error("if indices is specified, traces.length must equal indices.length")}function ttt(e,t,r,n){var i=Mr.isPlainObject(n);if(!Array.isArray(e.data))throw new Error("gd.data must be an array");if(!Mr.isPlainObject(t))throw new Error("update must be a key:value object");if(typeof r>"u")throw new Error("indices must be an integer or array of integers");FM(e,r,"indices");for(var a in t){if(!Array.isArray(t[a])||t[a].length!==r.length)throw new Error("attribute "+a+" must be an array of length equal to indices array length");if(i&&(!(a in n)||!Array.isArray(n[a])||n[a].length!==t[a].length))throw new Error("when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object")}}function rtt(e,t,r,n){var i=Mr.isPlainObject(n),a=[],o,s,l,u,f;Array.isArray(r)||(r=[r]),r=qM(r,e.data.length-1);for(var c in t)for(var h=0;h<r.length;h++){if(o=e.data[r[h]],l=ra(o,c),s=l.get(),u=t[c][h],!Mr.isArrayOrTypedArray(u))throw new Error("attribute: "+c+" index: "+h+" must be an array");if(!Mr.isArrayOrTypedArray(s))throw new Error("cannot extend missing or non-array attribute: "+c);if(s.constructor!==u.constructor)throw new Error("cannot extend array with an array of a different type: "+c);f=i?n[c][h]:n,Bet(f)||(f=-1),a.push({prop:l,target:s,insert:u,maxp:Math.floor(f)})}return a}function rne(e,t,r,n,i){ttt(e,t,r,n);for(var a=rtt(e,t,r,n),o={},s={},l=0;l<a.length;l++){var u=a[l].prop,f=a[l].maxp,c=i(a[l].target,a[l].insert,f);u.set(c[0]),Array.isArray(o[u.astr])||(o[u.astr]=[]),o[u.astr].push(c[1]),Array.isArray(s[u.astr])||(s[u.astr]=[]),s[u.astr].push(a[l].target.length)}return{update:o,maxPoints:s}}function nne(e,t){var r=new e.constructor(e.length+t.length);return r.set(e),r.set(t,e.length),r}function ine(e,t,r,n){e=Mr.getGraphDiv(e);function i(l,u,f){var c,h;if(Mr.isTypedArray(l))if(f<0){var d=new l.constructor(0),v=nne(l,u);f<0?(c=v,h=d):(c=d,h=v)}else if(c=new l.constructor(f),h=new l.constructor(l.length+u.length-f),f===u.length)c.set(u),h.set(l);else if(f<u.length){var m=u.length-f;c.set(u.subarray(m)),h.set(l),h.set(u.subarray(0,m),l.length)}else{var b=f-u.length,g=l.length-b;c.set(l.subarray(g)),c.set(u,b),h.set(l.subarray(0,g))}else c=l.concat(u),h=f>=0&&f<c.length?c.splice(0,c.length-f):[];return[c,h]}var a=rne(e,t,r,n,i),o=gi.redraw(e),s=[e,a.update,r,a.maxPoints];return uu.add(e,gi.prependTraces,s,ine,arguments),o}function ane(e,t,r,n){e=Mr.getGraphDiv(e);function i(l,u,f){var c,h;if(Mr.isTypedArray(l))if(f<=0){var d=new l.constructor(0),v=nne(u,l);f<0?(c=v,h=d):(c=d,h=v)}else if(c=new l.constructor(f),h=new l.constructor(l.length+u.length-f),f===u.length)c.set(u),h.set(l);else if(f<u.length){var m=u.length-f;c.set(u.subarray(0,m)),h.set(u.subarray(m)),h.set(l,m)}else{var b=f-u.length;c.set(u),c.set(l.subarray(0,b),u.length),h.set(l.subarray(b))}else c=u.concat(l),h=f>=0&&f<c.length?c.splice(f,c.length):[];return[c,h]}var a=rne(e,t,r,n,i),o=gi.redraw(e),s=[e,a.update,r,a.maxPoints];return uu.add(e,gi.extendTraces,s,ane,arguments),o}function one(e,t,r){e=Mr.getGraphDiv(e);var n=[],i=gi.deleteTraces,a=one,o=[e,n],s=[e,t],l,u;for(ett(e,t,r),Array.isArray(t)||(t=[t]),t=t.map(function(f){return Mr.extendFlat({},f)}),Po.cleanData(t),l=0;l<t.length;l++)e.data.push(t[l]);for(l=0;l<t.length;l++)n.push(-t.length+l);if(typeof r>"u")return u=gi.redraw(e),uu.add(e,i,o,a,s),u;Array.isArray(r)||(r=[r]);try{tne(e,n,r)}catch(f){throw e.data.splice(e.data.length-t.length,t.length),f}return uu.startSequence(e),uu.add(e,i,o,a,s),u=gi.moveTraces(e,n,r),uu.stopSequence(e),u}function sne(e,t){e=Mr.getGraphDiv(e);var r=[],n=gi.addTraces,i=sne,a=[e,r,t],o=[e,t],s,l;if(typeof t>"u")throw new Error("indices must be an integer or array of integers.");for(Array.isArray(t)||(t=[t]),FM(e,t,"indices"),t=qM(t,e.data.length-1),t.sort(Mr.sorterDes),s=0;s<t.length;s+=1)l=e.data.splice(t[s],1)[0],r.push(l);var u=gi.redraw(e);return uu.add(e,n,a,i,o),u}function H8(e,t,r){e=Mr.getGraphDiv(e);var n=[],i=[],a=H8,o=H8,s=[e,r,t],l=[e,t,r],u;if(tne(e,t,r),t=Array.isArray(t)?t:[t],typeof r>"u")for(r=[],u=0;u<t.length;u++)r.push(-t.length+u);for(r=Array.isArray(r)?r:[r],t=qM(t,e.data.length-1),r=qM(r,e.data.length-1),u=0;u<e.data.length;u++)t.indexOf(u)===-1&&n.push(e.data[u]);for(u=0;u<t.length;u++)i.push({newIndex:r[u],trace:e.data[t[u]]});for(i.sort(function(c,h){return c.newIndex-h.newIndex}),u=0;u<i.length;u+=1)n.splice(i[u].newIndex,0,i[u].trace);e.data=n;var f=gi.redraw(e);return uu.add(e,a,s,o,l),f}function zM(e,t,r,n){e=Mr.getGraphDiv(e),Po.clearPromiseQueue(e);var i={};if(typeof t=="string")i[t]=r;else if(Mr.isPlainObject(t))i=Mr.extendFlat({},t),n===void 0&&(n=r);else return Mr.warn("Restyle fail.",t,r,n),Promise.reject();Object.keys(i).length&&(e.changed=!0);var a=Po.coerceTraceIndices(e,n),o=lne(e,i,a),s=o.flags;s.calc&&(e.calcdata=void 0),s.clearAxisTypes&&Po.clearAxisTypes(e,a,{});var l=[];s.fullReplot?l.push(gi._doPlot):(l.push(hn.previousPromises),hn.supplyDefaults(e),s.markerSize&&(hn.doCalcdata(e),HM(l)),s.style&&l.push(zi.doTraceStyle),s.colorbars&&l.push(zi.doColorBars),l.push(J2)),l.push(hn.rehover,hn.redrag,hn.reselect),uu.add(e,zM,[e,o.undoit,o.traces],zM,[e,o.redoit,o.traces]);var u=Mr.syncOrAsync(l,e);return(!u||!u.then)&&(u=Promise.resolve()),u.then(function(){return e.emit("plotly_restyle",o.eventData),e})}function rd(e){return e===void 0?null:e}function PM(e,t){return t?function(r,n,i){var a=ra(r,n),o=a.set;return a.set=function(s){var l=(i||"")+n;NM(l,a.get(),s,e),o(s)},a}:ra}function NM(e,t,r,n){if(Array.isArray(t)||Array.isArray(r))for(var i=Array.isArray(t)?t:[],a=Array.isArray(r)?r:[],o=Math.max(i.length,a.length),s=0;s<o;s++)NM(e+"["+s+"]",i[s],a[s],n);else if(Mr.isPlainObject(t)||Mr.isPlainObject(r)){var l=Mr.isPlainObject(t)?t:{},u=Mr.isPlainObject(r)?r:{},f=Mr.extendFlat({},l,u);for(var c in f)NM(e+"."+c,l[c],u[c],n)}else n[e]===void 0&&(n[e]=rd(t))}function ntt(e,t,r){for(var n in r){var i=ra(e,n);NM(n,i.get(),r[n],t)}}function lne(e,t,r){var n=e._fullLayout,i=e._fullData,a=e.data,o=n._guiEditing,s=PM(n._preGUI,o),l=Mr.extendDeepAll({},t),u;une(t);var f=M0.traceFlags(),c={},h={},d;function v(){return r.map(function(){})}function m(V){var ne=Ol.id2name(V);d.indexOf(ne)===-1&&d.push(ne)}function b(V){return"LAYOUT"+V+".autorange"}function g(V){return"LAYOUT"+V+".range"}function _(V){for(var ne=V;ne<i.length;ne++)if(i[ne]._input===a[V])return i[ne]}function T(V,ne,W){if(Array.isArray(V)){V.forEach(function(Ne){T(Ne,ne,W)});return}if(!(V in t||Po.hasParent(t,V))){var fe;if(V.substr(0,6)==="LAYOUT")fe=s(e.layout,V.replace("LAYOUT",""));else{var ge=r[W],Ce=n._tracePreGUI[_(ge)._fullInput.uid];fe=PM(Ce,o)(a[ge],V)}V in h||(h[V]=v()),h[V][W]===void 0&&(h[V][W]=rd(fe.get())),ne!==void 0&&fe.set(ne)}}function w(V){return function(ne){return i[ne][V]}}function k(V){return function(ne,W){return ne===!1?i[r[W]][V]:null}}for(var x in t){if(Po.hasParent(t,x))throw new Error("cannot set "+x+" and a parent attribute simultaneously");var M=t[x],A,p,S,y,E,C;if((x==="autobinx"||x==="autobiny")&&(x=x.charAt(x.length-1)+"bins",Array.isArray(M)?M=M.map(k(x)):M===!1?M=r.map(w(x)):M=null),c[x]=M,x.substr(0,6)==="LAYOUT"){S=s(e.layout,x.replace("LAYOUT","")),h[x]=[rd(S.get())],S.set(Array.isArray(M)?M[0]:M),f.calc=!0;continue}for(h[x]=v(),u=0;u<r.length;u++){A=a[r[u]],p=_(r[u]);var L=n._tracePreGUI[p._fullInput.uid];if(S=PM(L,o)(A,x),y=S.get(),E=Array.isArray(M)?M[u%M.length]:M,E!==void 0){var R=S.parts[S.parts.length-1],I=x.substr(0,x.length-R.length-1),P=I?I+".":"",D=I?ra(p,I).get():p;if(C=UM.getTraceValObject(p,S.parts),C&&C.impliedEdits&&E!==null)for(var q in C.impliedEdits)T(Mr.relativeAttr(x,q),C.impliedEdits[q],u);else if((R==="thicknessmode"||R==="lenmode")&&y!==E&&(E==="fraction"||E==="pixels")&&D){var N=n._size,U=D.orient,G=U==="top"||U==="bottom";if(R==="thicknessmode"){var ee=G?N.h:N.w;T(P+"thickness",D.thickness*(E==="fraction"?1/ee:ee),u)}else{var Q=G?N.w:N.h;T(P+"len",D.len*(E==="fraction"?1/Q:Q),u)}}else if(x==="type"&&(E==="pie"!=(y==="pie")||E==="funnelarea"!=(y==="funnelarea"))){var j="x",O="y";(E==="bar"||y==="bar")&&A.orientation==="h"&&(j="y",O="x"),Mr.swapAttrs(A,["?","?src"],"labels",j),Mr.swapAttrs(A,["d?","?0"],"label",j),Mr.swapAttrs(A,["?","?src"],"values",O),y==="pie"||y==="funnelarea"?(ra(A,"marker.color").set(ra(A,"marker.colors").get()),n._pielayer.selectAll("g.trace").remove()):fc.traceIs(A,"cartesian")&&ra(A,"marker.colors").set(ra(A,"marker.color").get())}h[x][u]=rd(y);var Z=["swapxy","swapxyaxes","orientation","orientationaxes"];if(Z.indexOf(x)!==-1){if(x==="orientation"){S.set(E);var K=A.x&&!A.y?"h":"v";if((S.get()||K)===p.orientation)continue}else x==="orientationaxes"&&(A.orientation={v:"h",h:"v"}[p.orientation]);Po.swapXYData(A),f.calc=f.clearAxisTypes=!0}else hn.dataArrayContainers.indexOf(S.parts[0])!==-1?(Po.manageArrayContainers(S,E,h),f.calc=!0):(C?C.arrayOk&&!fc.traceIs(p,"regl")&&(Mr.isArrayOrTypedArray(E)||Mr.isArrayOrTypedArray(y))?f.calc=!0:M0.update(f,C):f.calc=!0,S.set(E))}}if(["swapxyaxes","orientationaxes"].indexOf(x)!==-1&&Ol.swap(e,r),x==="orientationaxes"){var $=ra(e.layout,"hovermode"),oe=$.get();oe==="x"?$.set("y"):oe==="y"?$.set("x"):oe==="x unified"?$.set("y unified"):oe==="y unified"&&$.set("x unified")}if(["orientation","type"].indexOf(x)!==-1){for(d=[],u=0;u<r.length;u++){var te=a[r[u]];fc.traceIs(te,"cartesian")&&(m(te.xaxis||"x"),m(te.yaxis||"y"))}T(d.map(b),!0,0),T(d.map(g),[0,1],0)}}return(f.calc||f.plot)&&(f.fullReplot=!0),{flags:f,undoit:h,redoit:c,traces:r,eventData:Mr.extendDeepNoArrays([],[l,r])}}function une(e){var t=Mr.counterRegex("axis",".title",!1,!1),r=/colorbar\.title$/,n=Object.keys(e),i,a,o;for(i=0;i<n.length;i++)a=n[i],o=e[a],(a==="title"||t.test(a)||r.test(a))&&(typeof o=="string"||typeof o=="number")?s(a,a.replace("title","title.text")):a.indexOf("titlefont")>-1&&a.indexOf("grouptitlefont")===-1?s(a,a.replace("titlefont","title.font")):a.indexOf("titleposition")>-1?s(a,a.replace("titleposition","title.position")):a.indexOf("titleside")>-1?s(a,a.replace("titleside","title.side")):a.indexOf("titleoffset")>-1&&s(a,a.replace("titleoffset","title.offset"));function s(l,u){e[u]=e[l],delete e[l]}}function Z2(e,t,r){e=Mr.getGraphDiv(e),Po.clearPromiseQueue(e);var n={};if(typeof t=="string")n[t]=r;else if(Mr.isPlainObject(t))n=Mr.extendFlat({},t);else return Mr.warn("Relayout fail.",t,r),Promise.reject();Object.keys(n).length&&(e.changed=!0);var i=dne(e,n),a=i.flags;a.calc&&(e.calcdata=void 0);var o=[hn.previousPromises];a.layoutReplot?o.push(zi.layoutReplot):Object.keys(n).length&&(fne(e,a,i)||hn.supplyDefaults(e),a.legend&&o.push(zi.doLegend),a.layoutstyle&&o.push(zi.layoutStyles),a.axrange&&HM(o,i.rangesAltered),a.ticks&&o.push(zi.doTicksRelayout),a.modebar&&o.push(zi.doModeBar),a.camera&&o.push(zi.doCamera),a.colorbars&&o.push(zi.doColorBars),o.push(J2)),o.push(hn.rehover,hn.redrag,hn.reselect),uu.add(e,Z2,[e,i.undoit],Z2,[e,i.redoit]);var s=Mr.syncOrAsync(o,e);return(!s||!s.then)&&(s=Promise.resolve(e)),s.then(function(){return e.emit("plotly_relayout",i.eventData),e})}function fne(e,t,r){var n=e._fullLayout;if(!t.axrange)return!1;for(var i in t)if(i!=="axrange"&&t[i])return!1;var a,o,s=function(d,v){return Mr.coerce(a,o,jet,d,v)},l={};for(var u in r.rangesAltered){var f=Ol.id2name(u);if(a=e.layout[f],o=n[f],Het(a,o,s,l),o._matchGroup){for(var c in o._matchGroup)if(c!==u){var h=n[Ol.id2name(c)];h.autorange=o.autorange,h.range=o.range.slice(),h._input.range=o.range.slice()}}}return!0}function HM(e,t){var r=t?function(n){var i=[],a=!0;for(var o in t){var s=Ol.getFromId(n,o);if(i.push(o),(s.ticklabelposition||"").indexOf("inside")!==-1&&s._anchorAxis&&i.push(s._anchorAxis._id),s._matchGroup)for(var l in s._matchGroup)t[l]||i.push(l)}return Ol.draw(n,i,{skipTitle:a})}:function(n){return Ol.draw(n,"redraw")};e.push(Wet,zi.doAutoRangeAndConstraints,r,zi.drawData,zi.finalDraw)}var cne=/^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/,hne=/^[xyz]axis[0-9]*\.autorange$/,vne=/^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/;function dne(e,t){var r=e.layout,n=e._fullLayout,i=n._guiEditing,a=PM(n._preGUI,i),o=Object.keys(t),s=Ol.list(e),l=Mr.extendDeepAll({},t),u={},f,c,h;for(une(t),o=Object.keys(t),c=0;c<o.length;c++)if(o[c].indexOf("allaxes")===0){for(h=0;h<s.length;h++){var d=s[h]._id.substr(1),v=d.indexOf("scene")!==-1?d+".":"",m=o[c].replace("allaxes",v+s[h]._name);t[m]||(t[m]=t[o[c]])}delete t[o[c]]}var b=M0.layoutFlags(),g={},_={};function T(Ce,Ne){if(Array.isArray(Ce)){Ce.forEach(function(me){T(me,Ne)});return}if(!(Ce in t||Po.hasParent(t,Ce))){var pe=a(r,Ce);Ce in _||(_[Ce]=rd(pe.get())),Ne!==void 0&&pe.set(Ne)}}var w={},k;function x(Ce){var Ne=Ol.name2id(Ce.split(".")[0]);return w[Ne]=1,Ne}for(var M in t){if(Po.hasParent(t,M))throw new Error("cannot set "+M+" and a parent attribute simultaneously");for(var A=a(r,M),p=t[M],S=A.parts.length,y=S-1;y>0&&typeof A.parts[y]!="string";)y--;var E=A.parts[y],C=A.parts[y-1]+"."+E,L=A.parts.slice(0,y).join("."),R=ra(e.layout,L).get(),I=ra(n,L).get(),P=A.get();if(p!==void 0){g[M]=p,_[M]=E==="reverse"?p:rd(P);var D=UM.getLayoutValObject(n,A.parts);if(D&&D.impliedEdits&&p!==null)for(var q in D.impliedEdits)T(Mr.relativeAttr(M,q),D.impliedEdits[q]);if(["width","height"].indexOf(M)!==-1)if(p){T("autosize",null);var N=M==="height"?"width":"height";T(N,n[N])}else n[M]=e._initialAutoSize[M];else if(M==="autosize")T("width",p?null:n.width),T("height",p?null:n.height);else if(C.match(cne))x(C),ra(n,L+"._inputRange").set(null);else if(C.match(hne)){x(C),ra(n,L+"._inputRange").set(null);var U=ra(n,L).get();U._inputDomain&&(U._input.domain=U._inputDomain.slice())}else C.match(vne)&&ra(n,L+"._inputDomain").set(null);if(E==="type"){k=R;var G=I.type==="linear"&&p==="log",ee=I.type==="log"&&p==="linear";if(G||ee){if(!k||!k.range)T(L+".autorange",!0);else if(I.autorange)G&&(k.range=k.range[1]>k.range[0]?[1,2]:[2,1]);else{var Q=k.range[0],j=k.range[1];G?(Q<=0&&j<=0&&T(L+".autorange",!0),Q<=0?Q=j/1e6:j<=0&&(j=Q/1e6),T(L+".range[0]",Math.log(Q)/Math.LN10),T(L+".range[1]",Math.log(j)/Math.LN10)):(T(L+".range[0]",Math.pow(10,Q)),T(L+".range[1]",Math.pow(10,j)))}Array.isArray(n._subplots.polar)&&n._subplots.polar.length&&n[A.parts[0]]&&A.parts[1]==="radialaxis"&&delete n[A.parts[0]]._subplot.viewInitial["radialaxis.range"],fc.getComponentMethod("annotations","convertCoords")(e,I,p,T),fc.getComponentMethod("images","convertCoords")(e,I,p,T)}else T(L+".autorange",!0),T(L+".range",null);ra(n,L+"._inputRange").set(null)}else if(E.match(Xet)){var O=ra(n,M).get(),Z=(p||{}).type;(!Z||Z==="-")&&(Z="linear"),fc.getComponentMethod("annotations","convertCoords")(e,O,Z,T),fc.getComponentMethod("images","convertCoords")(e,O,Z,T)}var K=RM.containerArrayMatch(M);if(K){f=K.array,c=K.index;var $=K.property,oe=D||{editType:"calc"};c!==""&&$===""&&(RM.isAddVal(p)?_[M]=null:RM.isRemoveVal(p)?_[M]=(ra(r,f).get()||[])[c]:Mr.warn("unrecognized full object value",t)),M0.update(b,oe),u[f]||(u[f]={});var te=u[f][c];te||(te=u[f][c]={}),te[$]=p,delete t[M]}else E==="reverse"?(R.range?R.range.reverse():(T(L+".autorange",!0),R.range=[1,0]),I.autorange?b.calc=!0:b.plot=!0):(M==="dragmode"&&(p===!1&&P!==!1||p!==!1&&P===!1)||n._has("scatter-like")&&n._has("regl")&&M==="dragmode"&&(p==="lasso"||p==="select")&&!(P==="lasso"||P==="select")||n._has("gl2d")?b.plot=!0:D?M0.update(b,D):b.calc=!0,A.set(p))}}for(f in u){var V=RM.applyContainerArrayChanges(e,a(r,f),u[f],b,a);V||(b.plot=!0)}for(var ne in w){k=Ol.getFromId(e,ne);var W=k&&k._constraintGroup;if(W){b.calc=!0;for(var fe in W)w[fe]||(Ol.getFromId(e,fe)._constraintShrinkable=!0)}}(pne(e)||t.height||t.width)&&(b.plot=!0);var ge=n.shapes;for(c=0;c<ge.length;c++)if(ge[c].showlegend){b.calc=!0;break}return(b.plot||b.calc)&&(b.layoutReplot=!0),{flags:b,rangesAltered:w,undoit:_,redoit:g,eventData:l}}function pne(e){var t=e._fullLayout,r=t.width,n=t.height;return e.layout.autosize&&hn.plotAutoSize(e,e.layout,t),t.width!==r||t.height!==n}function OM(e,t,r,n){e=Mr.getGraphDiv(e),Po.clearPromiseQueue(e),Mr.isPlainObject(t)||(t={}),Mr.isPlainObject(r)||(r={}),Object.keys(t).length&&(e.changed=!0),Object.keys(r).length&&(e.changed=!0);var i=Po.coerceTraceIndices(e,n),a=lne(e,Mr.extendFlat({},t),i),o=a.flags,s=dne(e,Mr.extendFlat({},r)),l=s.flags;(o.calc||l.calc)&&(e.calcdata=void 0),o.clearAxisTypes&&Po.clearAxisTypes(e,i,r);var u=[];l.layoutReplot?u.push(zi.layoutReplot):o.fullReplot?u.push(gi._doPlot):(u.push(hn.previousPromises),fne(e,l,s)||hn.supplyDefaults(e),o.style&&u.push(zi.doTraceStyle),(o.colorbars||l.colorbars)&&u.push(zi.doColorBars),l.legend&&u.push(zi.doLegend),l.layoutstyle&&u.push(zi.layoutStyles),l.axrange&&HM(u,s.rangesAltered),l.ticks&&u.push(zi.doTicksRelayout),l.modebar&&u.push(zi.doModeBar),l.camera&&u.push(zi.doCamera),u.push(J2)),u.push(hn.rehover,hn.redrag,hn.reselect),uu.add(e,OM,[e,a.undoit,s.undoit,a.traces],OM,[e,a.redoit,s.redoit,a.traces]);var f=Mr.syncOrAsync(u,e);return(!f||!f.then)&&(f=Promise.resolve(e)),f.then(function(){return e.emit("plotly_update",{data:a.eventData,layout:s.eventData}),e})}function V8(e){return function(r){r._fullLayout._guiEditing=!0;var n=e.apply(null,arguments);return r._fullLayout._guiEditing=!1,n}}var itt=[{pattern:/^hiddenlabels/,attr:"legend.uirevision"},{pattern:/^((x|y)axis\d*)\.((auto)?range|title\.text)/},{pattern:/axis\d*\.showspikes$/,attr:"modebar.uirevision"},{pattern:/(hover|drag)mode$/,attr:"modebar.uirevision"},{pattern:/^(scene\d*)\.camera/},{pattern:/^(geo\d*)\.(projection|center|fitbounds)/},{pattern:/^(ternary\d*\.[abc]axis)\.(min|title\.text)$/},{pattern:/^(polar\d*\.radialaxis)\.((auto)?range|angle|title\.text)/},{pattern:/^(polar\d*\.angularaxis)\.rotation/},{pattern:/^(mapbox\d*)\.(center|zoom|bearing|pitch)/},{pattern:/^legend\.(x|y)$/,attr:"editrevision"},{pattern:/^(shapes|annotations)/,attr:"editrevision"},{pattern:/^title\.text$/,attr:"editrevision"}],att=[{pattern:/^selectedpoints$/,attr:"selectionrevision"},{pattern:/(^|value\.)visible$/,attr:"legend.uirevision"},{pattern:/^dimensions\[\d+\]\.constraintrange/},{pattern:/^node\.(x|y|groups)/},{pattern:/^level$/},{pattern:/(^|value\.)name$/},{pattern:/colorbar\.title\.text$/},{pattern:/colorbar\.(x|y)$/,attr:"editrevision"}];function Zre(e,t){for(var r=0;r<t.length;r++){var n=t[r],i=e.match(n.pattern);if(i){var a=i[1]||"";return{head:a,tail:e.substr(a.length+1),attr:n.attr}}}}function Jre(e,t){var r=ra(t,e).get();if(r!==void 0)return r;var n=e.split(".");for(n.pop();n.length>1;)if(n.pop(),r=ra(t,n.join(".")+".uirevision").get(),r!==void 0)return r;return t.uirevision}function ott(e,t){for(var r=0;r<t.length;r++)if(t[r]._fullInput.uid===e)return r;return-1}function stt(e,t,r){for(var n=0;n<t.length;n++)if(t[n].uid===e)return n;return!t[r]||t[r].uid?-1:r}function $re(e,t){var r=Mr.isPlainObject(e),n=Array.isArray(e);return r||n?(r&&Mr.isPlainObject(t)||n&&Array.isArray(t))&&JSON.stringify(e)===JSON.stringify(t):e===t}function ltt(e,t,r,n){var i=n._preGUI,a,o,s,l,u,f,c,h,d,v,m=[],b={},g={};for(a in i){if(u=Zre(a,itt),u){if(d=u.head,v=u.tail,o=u.attr||d+".uirevision",s=ra(n,o).get(),l=s&&Jre(o,t),l&&l===s){if(f=i[a],f===null&&(f=void 0),c=ra(t,a),h=c.get(),$re(h,f)){h===void 0&&v==="autorange"&&m.push(d),c.set(rd(ra(n,a).get()));continue}else if(v==="autorange"||v.substr(0,6)==="range["){var _=i[d+".range[0]"],T=i[d+".range[1]"],w=i[d+".autorange"];if(w||w===null&&_===null&&T===null){if(!(d in b)){var k=ra(t,d).get();b[d]=k&&(k.autorange||k.autorange!==!1&&(!k.range||k.range.length!==2))}if(b[d]){c.set(rd(ra(n,a).get()));continue}}}}}else Mr.warn("unrecognized GUI edit: "+a);delete i[a],u&&u.tail.substr(0,6)==="range["&&(g[u.head]=1)}for(var x=0;x<m.length;x++){var M=m[x];if(g[M]){var A=ra(t,M).get();A&&delete A.autorange}}var p=n._tracePreGUI;for(var S in p){var y=p[S],E=null,C;for(a in y){if(!E){var L=ott(S,r);if(L<0){delete p[S];break}var R=r[L];C=R._fullInput;var I=stt(S,e,C.index);if(I<0){delete p[S];break}E=e[I]}if(u=Zre(a,att),u){if(u.attr?(s=ra(n,u.attr).get(),l=s&&Jre(u.attr,t)):(s=C.uirevision,l=E.uirevision,l===void 0&&(l=t.uirevision)),l&&l===s&&(f=y[a],f===null&&(f=void 0),c=ra(E,a),h=c.get(),$re(h,f))){c.set(rd(ra(C,a).get()));continue}}else Mr.warn("unrecognized GUI edit: "+a+" in trace uid "+S);delete y[a]}}}function utt(e,t,r,n){var i,a;function o(){return gi.addFrames(e,i)}e=Mr.getGraphDiv(e),Po.clearPromiseQueue(e);var s=e._fullData,l=e._fullLayout;if(!Mr.isPlotDiv(e)||!s||!l)a=gi.newPlot(e,t,r,n);else{if(Mr.isPlainObject(t)){var u=t;t=u.data,r=u.layout,n=u.config,i=u.frames}var f=!1;if(n){var c=Mr.extendDeep({},e._context);e._context=void 0,ene(e,n),f=j8(c,e._context)}e.data=t||[],Po.cleanData(e.data),e.layout=r||{},Po.cleanLayout(e.layout),ltt(e.data,e.layout,s,l),hn.supplyDefaults(e,{skipUpdateCalc:!0});var h=e._fullData,d=e._fullLayout,v=d.datarevision===void 0,m=d.transition,b=ctt(e,l,d,v,m),g=b.newDataRevision,_=ftt(e,s,h,v,m,g);if(pne(e)&&(b.layoutReplot=!0),_.calc||b.calc){e.calcdata=void 0;for(var T=Object.getOwnPropertyNames(d),w=0;w<T.length;w++){var k=T[w],x=k.substring(0,5);if(x==="xaxis"||x==="yaxis"){var M=d[k]._emptyCategories;M&&M()}}}else hn.supplyDefaultsUpdateCalc(e.calcdata,h);var A=[];if(i&&(e._transitionData={},hn.createTransitionData(e),A.push(o)),d.transition&&!f&&(_.anim||b.anim))b.ticks&&A.push(zi.doTicksRelayout),hn.doCalcdata(e),zi.doAutoRangeAndConstraints(e),A.push(function(){return hn.transitionFromReact(e,_,b,l)});else if(_.fullReplot||b.layoutReplot||f)e._fullLayout._skipDefaults=!0,A.push(gi._doPlot);else{for(var p in b.arrays){var S=b.arrays[p];if(S.length){var y=fc.getComponentMethod(p,"drawOne");if(y!==Mr.noop)for(var E=0;E<S.length;E++)y(e,S[E]);else{var C=fc.getComponentMethod(p,"draw");if(C===Mr.noop)throw new Error("cannot draw components: "+p);C(e)}}}A.push(hn.previousPromises),_.style&&A.push(zi.doTraceStyle),(_.colorbars||b.colorbars)&&A.push(zi.doColorBars),b.legend&&A.push(zi.doLegend),b.layoutstyle&&A.push(zi.layoutStyles),b.axrange&&HM(A),b.ticks&&A.push(zi.doTicksRelayout),b.modebar&&A.push(zi.doModeBar),b.camera&&A.push(zi.doCamera),A.push(J2)}A.push(hn.rehover,hn.redrag,hn.reselect),a=Mr.syncOrAsync(A,e),(!a||!a.then)&&(a=Promise.resolve(e))}return a.then(function(){return e.emit("plotly_react",{data:t,layout:r}),e})}function ftt(e,t,r,n,i,a){var o=t.length===r.length;if(!i&&!o)return{fullReplot:!0,calc:!0};var s=M0.traceFlags();s.arrays={},s.nChanges=0,s.nChangesAnim=0;var l,u;function f(d){var v=UM.getTraceValObject(u,d);return!u._module.animatable&&v.anim&&(v.anim=!1),v}var c={getValObject:f,flags:s,immutable:n,transition:i,newDataRevision:a,gd:e},h={};for(l=0;l<t.length;l++)if(r[l]){if(u=r[l]._fullInput,hn.hasMakesDataTransform(u)&&(u=r[l]),h[u.uid])continue;h[u.uid]=1,BM(t[l]._fullInput,u,[],c)}return(s.calc||s.plot)&&(s.fullReplot=!0),i&&s.nChanges&&s.nChangesAnim&&(s.anim=s.nChanges===s.nChangesAnim&&o?"all":"some"),s}function ctt(e,t,r,n,i){var a=M0.layoutFlags();a.arrays={},a.rangesAltered={},a.nChanges=0,a.nChangesAnim=0;function o(l){return UM.getLayoutValObject(r,l)}var s={getValObject:o,flags:a,immutable:n,transition:i,gd:e};return BM(t,r,[],s),(a.plot||a.calc)&&(a.layoutReplot=!0),i&&a.nChanges&&a.nChangesAnim&&(a.anim=a.nChanges===a.nChangesAnim?"all":"some"),a}function BM(e,t,r,n){var i,a,o,s=n.getValObject,l=n.flags,u=n.immutable,f=n.inArray,c=n.arrayIndex;function h(){var L=i.editType;if(f&&L.indexOf("arraydraw")!==-1){Mr.pushUnique(l.arrays[f],c);return}M0.update(l,i),L!=="none"&&l.nChanges++,n.transition&&i.anim&&l.nChangesAnim++,(cne.test(o)||hne.test(o))&&(l.rangesAltered[r[0]]=1),vne.test(o)&&ra(t,"_inputDomain").set(null),a==="datarevision"&&(l.newDataRevision=1)}function d(L){return L.valType==="data_array"||L.arrayOk}for(a in e){if(l.calc&&!n.transition)return;var v=e[a],m=t[a],b=r.concat(a);if(o=b.join("."),!(a.charAt(0)==="_"||typeof v=="function"||v===m)){if((a==="tick0"||a==="dtick")&&r[0]!=="geo"){var g=t.tickmode;if(g==="auto"||g==="array"||!g)continue}if(!(a==="range"&&t.autorange)&&!((a==="zmin"||a==="zmax")&&t.type==="contourcarpet")&&(i=s(b),!!i&&!(i._compareAsJSON&&JSON.stringify(v)===JSON.stringify(m)))){var _=i.valType,T,w=d(i),k=Array.isArray(v),x=Array.isArray(m);if(k&&x){var M="_input_"+a,A=e[M],p=t[M];if(Array.isArray(A)&&A===p)continue}if(m===void 0)w&&k?l.calc=!0:h();else if(i._isLinkedToArray){var S=[],y=!1;f||(l.arrays[a]=S);var E=Math.min(v.length,m.length),C=Math.max(v.length,m.length);if(E!==C)if(i.editType==="arraydraw")y=!0;else{h();continue}for(T=0;T<E;T++)BM(v[T],m[T],b.concat(T),Mr.extendFlat({inArray:a,arrayIndex:T},n));if(y)for(T=E;T<C;T++)S.push(T)}else!_&&Mr.isPlainObject(v)?BM(v,m,b,n):w?k&&x?(u&&(l.calc=!0),(u||n.newDataRevision)&&h()):k!==x?l.calc=!0:h():k&&x?(v.length!==m.length||String(v)!==String(m))&&h():h()}}}for(a in t)if(!(a in e||a.charAt(0)==="_"||typeof t[a]=="function"))if(i=s(r.concat(a)),d(i)&&Array.isArray(t[a])){l.calc=!0;return}else h()}function j8(e,t){var r;for(r in e)if(r.charAt(0)!=="_"){var n=e[r],i=t[r];if(n!==i)if(Mr.isPlainObject(n)&&Mr.isPlainObject(i)){if(j8(n,i))return!0}else if(Array.isArray(n)&&Array.isArray(i)){if(n.length!==i.length)return!0;for(var a=0;a<n.length;a++)if(n[a]!==i[a])if(Mr.isPlainObject(n[a])&&Mr.isPlainObject(i[a])){if(j8(n[a],i[a]))return!0}else return!0}else return!0}}function htt(e,t,r){if(e=Mr.getGraphDiv(e),!Mr.isPlotDiv(e))throw new Error("This element is not a Plotly plot: "+e+". It's likely that you've failed to create a plot before animating it. For more details, see https://plotly.com/javascript/animations/");var n=e._transitionData;n._frameQueue||(n._frameQueue=[]),r=hn.supplyAnimationDefaults(r);var i=r.transition,a=r.frame;n._frameWaitingCnt===void 0&&(n._frameWaitingCnt=0);function o(u){return Array.isArray(i)?u>=i.length?i[0]:i[u]:i}function s(u){return Array.isArray(a)?u>=a.length?a[0]:a[u]:a}function l(u,f){var c=0;return function(){if(u&&++c===f)return u()}}return new Promise(function(u,f){function c(){if(n._frameQueue.length!==0){for(;n._frameQueue.length;){var E=n._frameQueue.pop();E.onInterrupt&&E.onInterrupt()}e.emit("plotly_animationinterrupted",[])}}function h(E){if(E.length!==0){for(var C=0;C<E.length;C++){var L;E[C].type==="byname"?L=hn.computeFrame(e,E[C].name):L=E[C].data;var R=s(C),I=o(C);I.duration=Math.min(I.duration,R.duration);var P={frame:L,name:E[C].name,frameOpts:R,transitionOpts:I};C===E.length-1&&(P.onComplete=l(u,2),P.onInterrupt=f),n._frameQueue.push(P)}r.mode==="immediate"&&(n._lastFrameAt=-1/0),n._animationRaf||m()}}function d(){e.emit("plotly_animated"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}function v(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var E=n._currentFrame=n._frameQueue.shift();if(E){var C=E.name?E.name.toString():null;e._fullLayout._currentFrame=C,n._lastFrameAt=Date.now(),n._timeToNext=E.frameOpts.duration,hn.transition(e,E.frame.data,E.frame.layout,Po.coerceTraceIndices(e,E.frame.traces),E.frameOpts,E.transitionOpts).then(function(){E.onComplete&&E.onComplete()}),e.emit("plotly_animatingframe",{name:C,frame:E.frame,animation:{frame:E.frameOpts,transition:E.transitionOpts}})}else d()}function m(){e.emit("plotly_animating"),n._lastFrameAt=-1/0,n._timeToNext=0,n._runningTransitions=0,n._currentFrame=null;var E=function(){n._animationRaf=window.requestAnimationFrame(E),Date.now()-n._lastFrameAt>n._timeToNext&&v()};E()}var b=0;function g(E){return Array.isArray(i)?b>=i.length?E.transitionOpts=i[b]:E.transitionOpts=i[0]:E.transitionOpts=i,b++,E}var _,T,w=[],k=t==null,x=Array.isArray(t),M=!k&&!x&&Mr.isPlainObject(t);if(M)w.push({type:"object",data:g(Mr.extendFlat({},t))});else if(k||["string","number"].indexOf(typeof t)!==-1)for(_=0;_<n._frames.length;_++)T=n._frames[_],T&&(k||String(T.group)===String(t))&&w.push({type:"byname",name:String(T.name),data:g({name:T.name})});else if(x)for(_=0;_<t.length;_++){var A=t[_];["number","string"].indexOf(typeof A)!==-1?(A=String(A),w.push({type:"byname",name:A,data:g({name:A})})):Mr.isPlainObject(A)&&w.push({type:"object",data:g(Mr.extendFlat({},A))})}for(_=0;_<w.length;_++)if(T=w[_],T.type==="byname"&&!n._frameHash[T.data.name]){Mr.warn('animate failure: frame not found: "'+T.data.name+'"'),f();return}["next","immediate"].indexOf(r.mode)!==-1&&c(),r.direction==="reverse"&&w.reverse();var p=e._fullLayout._currentFrame;if(p&&r.fromcurrent){var S=-1;for(_=0;_<w.length;_++)if(T=w[_],T.type==="byname"&&T.name===p){S=_;break}if(S>0&&S<w.length-1){var y=[];for(_=0;_<w.length;_++)T=w[_],(w[_].type!=="byname"||_>S)&&y.push(T);w=y}}w.length>0?h(w):(e.emit("plotly_animated"),u())})}function vtt(e,t,r){if(e=Mr.getGraphDiv(e),t==null)return Promise.resolve();if(!Mr.isPlotDiv(e))throw new Error("This element is not a Plotly plot: "+e+". It's likely that you've failed to create a plot before adding frames. For more details, see https://plotly.com/javascript/animations/");var n,i,a,o,s=e._transitionData._frames,l=e._transitionData._frameHash;if(!Array.isArray(t))throw new Error("addFrames failure: frameList must be an Array of frame definitions"+t);var u=s.length+t.length*2,f=[],c={};for(n=t.length-1;n>=0;n--)if(Mr.isPlainObject(t[n])){var h=t[n].name,d=(l[h]||c[h]||{}).name,v=t[n].name,m=l[d]||c[d];d&&v&&typeof v=="number"&&m&&B8<Xre&&(B8++,Mr.warn('addFrames: overwriting frame "'+(l[d]||c[d]).name+'" with a frame whose name of type "number" also equates to "'+d+'". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),B8===Xre&&Mr.warn("addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.")),c[h]={name:h},f.push({frame:hn.supplyFrameDefaults(t[n]),index:r&&r[n]!==void 0&&r[n]!==null?r[n]:u+n})}f.sort(function(M,A){return M.index>A.index?-1:M.index<A.index?1:0});var b=[],g=[],_=s.length;for(n=f.length-1;n>=0;n--){if(i=f[n].frame,typeof i.name=="number"&&Mr.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!i.name)for(;l[i.name="frame "+e._transitionData._counter++];);if(l[i.name]){for(a=0;a<s.length&&(s[a]||{}).name!==i.name;a++);b.push({type:"replace",index:a,value:i}),g.unshift({type:"replace",index:a,value:s[a]})}else o=Math.max(0,Math.min(f[n].index,_)),b.push({type:"insert",index:o,value:i}),g.unshift({type:"delete",index:o}),_++}var T=hn.modifyFrames,w=hn.modifyFrames,k=[e,g],x=[e,b];return uu&&uu.add(e,T,k,w,x),hn.modifyFrames(e,b)}function dtt(e,t){if(e=Mr.getGraphDiv(e),!Mr.isPlotDiv(e))throw new Error("This element is not a Plotly plot: "+e);var r,n,i=e._transitionData._frames,a=[],o=[];if(!t)for(t=[],r=0;r<i.length;r++)t.push(r);for(t=t.slice(),t.sort(),r=t.length-1;r>=0;r--)n=t[r],a.push({type:"delete",index:n}),o.unshift({type:"insert",index:n,value:i[n]});var s=hn.modifyFrames,l=hn.modifyFrames,u=[e,o],f=[e,a];return uu&&uu.add(e,s,u,l,f),hn.modifyFrames(e,a)}function ptt(e){e=Mr.getGraphDiv(e);var t=e._fullLayout||{},r=e._fullData||[];return hn.cleanPlot([],{},r,t),hn.purge(e),U8.purge(e),t._container&&t._container.remove(),delete e._context,e}function gtt(e){var t=e._fullLayout,r=e.getBoundingClientRect();if(!Mr.equalDomRects(r,t._lastBBox)){var n=t._invTransform=Mr.inverseTransformMatrix(Mr.getFullTransformMatrix(e));t._invScaleX=Math.sqrt(n[0][0]*n[0][0]+n[0][1]*n[0][1]+n[0][2]*n[0][2]),t._invScaleY=Math.sqrt(n[1][0]*n[1][0]+n[1][1]*n[1][1]+n[1][2]*n[1][2]),t._lastBBox=r}}function mtt(e){var t=IM.select(e),r=e._fullLayout;if(r._calcInverseTransform=gtt,r._calcInverseTransform(e),r._container=t.selectAll(".plot-container").data([0]),r._container.enter().insert("div",":first-child").classed("plot-container",!0).classed("plotly",!0),r._paperdiv=r._container.selectAll(".svg-container").data([0]),r._paperdiv.enter().append("div").classed("user-select-none",!0).classed("svg-container",!0).style("position","relative"),r._glcontainer=r._paperdiv.selectAll(".gl-container").data([{}]),r._glcontainer.enter().append("div").classed("gl-container",!0),r._paperdiv.selectAll(".main-svg").remove(),r._paperdiv.select(".modebar-container").remove(),r._paper=r._paperdiv.insert("svg",":first-child").classed("main-svg",!0),r._toppaper=r._paperdiv.append("svg").classed("main-svg",!0),r._modebardiv=r._paperdiv.append("div"),delete r._modeBar,r._hoverpaper=r._paperdiv.append("svg").classed("main-svg",!0),!r._uid){var n={};IM.selectAll("defs").each(function(){this.id&&(n[this.id.split("-")[1]]=1)}),r._uid=Mr.randstr(n)}r._paperdiv.selectAll(".main-svg").attr(Get.svgAttrs),r._defs=r._paper.append("defs").attr("id","defs-"+r._uid),r._clips=r._defs.append("g").classed("clips",!0),r._topdefs=r._toppaper.append("defs").attr("id","topdefs-"+r._uid),r._topclips=r._topdefs.append("g").classed("clips",!0),r._bgLayer=r._paper.append("g").classed("bglayer",!0),r._draggers=r._paper.append("g").classed("draglayer",!0);var i=r._paper.append("g").classed("layer-below",!0);r._imageLowerLayer=i.append("g").classed("imagelayer",!0),r._shapeLowerLayer=i.append("g").classed("shapelayer",!0),r._cartesianlayer=r._paper.append("g").classed("cartesianlayer",!0),r._polarlayer=r._paper.append("g").classed("polarlayer",!0),r._smithlayer=r._paper.append("g").classed("smithlayer",!0),r._ternarylayer=r._paper.append("g").classed("ternarylayer",!0),r._geolayer=r._paper.append("g").classed("geolayer",!0),r._funnelarealayer=r._paper.append("g").classed("funnelarealayer",!0),r._pielayer=r._paper.append("g").classed("pielayer",!0),r._iciclelayer=r._paper.append("g").classed("iciclelayer",!0),r._treemaplayer=r._paper.append("g").classed("treemaplayer",!0),r._sunburstlayer=r._paper.append("g").classed("sunburstlayer",!0),r._indicatorlayer=r._toppaper.append("g").classed("indicatorlayer",!0),r._glimages=r._paper.append("g").classed("glimages",!0);var a=r._toppaper.append("g").classed("layer-above",!0);r._imageUpperLayer=a.append("g").classed("imagelayer",!0),r._shapeUpperLayer=a.append("g").classed("shapelayer",!0),r._selectionLayer=r._toppaper.append("g").classed("selectionlayer",!0),r._infolayer=r._toppaper.append("g").classed("infolayer",!0),r._menulayer=r._toppaper.append("g").classed("menulayer",!0),r._zoomlayer=r._toppaper.append("g").classed("zoomlayer",!0),r._hoverlayer=r._hoverpaper.append("g").classed("hoverlayer",!0),r._modebardiv.classed("modebar-container",!0).style("position","absolute").style("top","0px").style("right","0px"),e.emit("plotly_framework")}gi.animate=htt;gi.addFrames=vtt;gi.deleteFrames=dtt;gi.addTraces=one;gi.deleteTraces=sne;gi.extendTraces=ine;gi.moveTraces=H8;gi.prependTraces=ane;gi.newPlot=Qet;gi._doPlot=Zet;gi.purge=ptt;gi.react=utt;gi.redraw=Ket;gi.relayout=Z2;gi.restyle=zM;gi.setPlotConfig=Jet;gi.update=OM;gi._guiRelayout=V8(Z2);gi._guiRestyle=V8(zM);gi._guiUpdate=V8(OM);gi._storeDirectGUIEdit=ntt});var yg=J(ah=>{"use strict";var ytt=zr();ah.getDelay=function(e){return e._has&&(e._has("gl3d")||e._has("gl2d")||e._has("mapbox"))?500:0};ah.getRedrawFunc=function(e){return function(){ytt.getComponentMethod("colorbar","draw")(e)}};ah.encodeSVG=function(e){return"data:image/svg+xml,"+encodeURIComponent(e)};ah.encodeJSON=function(e){return"data:application/json,"+encodeURIComponent(e)};var gne=window.URL||window.webkitURL;ah.createObjectURL=function(e){return gne.createObjectURL(e)};ah.revokeObjectURL=function(e){return gne.revokeObjectURL(e)};ah.createBlob=function(e,t){if(t==="svg")return new window.Blob([e],{type:"image/svg+xml;charset=utf-8"});if(t==="full-json")return new window.Blob([e],{type:"application/json;charset=utf-8"});var r=xtt(window.atob(e));return new window.Blob([r],{type:"image/"+t})};ah.octetStream=function(e){document.location.href="data:application/octet-stream"+e};function xtt(e){for(var t=e.length,r=new ArrayBuffer(t),n=new Uint8Array(r),i=0;i<t;i++)n[i]=e.charCodeAt(i);return r}ah.IMAGE_URL_PREFIX=/^data:image\/\w+;base64,/;ah.MSG_IE_BAD_FORMAT="Sorry IE does not support downloading from canvas. Try {format:'svg'} instead."});var YM=J((xPt,mne)=>{"use strict";var G8=Nr(),btt=gt(),wtt=ln(),_tt=qr(),VM=Gh(),Y8=/"/g,$2="TOBESTRIPPED",Ttt=new RegExp('("'+$2+")|("+$2+'")',"g");function Att(e){var t=G8.select("body").append("div").style({display:"none"}).html(""),r=e.replace(/(&[^;]*;)/gi,function(n){return n==="<"?"<":n==="&rt;"?">":n.indexOf("<")!==-1||n.indexOf(">")!==-1?"":t.html(n).text()});return t.remove(),r}function Mtt(e){return e.replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")}mne.exports=function(t,r,n){var i=t._fullLayout,a=i._paper,o=i._toppaper,s=i.width,l=i.height,u;a.insert("rect",":first-child").call(wtt.setRect,0,0,s,l).call(_tt.fill,i.paper_bgcolor);var f=i._basePlotModules||[];for(u=0;u<f.length;u++){var c=f[u];c.toSVG&&c.toSVG(t)}if(o){var h=o.node().childNodes,d=Array.prototype.slice.call(h);for(u=0;u<d.length;u++){var v=d[u];v.childNodes.length&&a.node().appendChild(v)}}i._draggers&&i._draggers.remove(),a.node().style.background="",a.selectAll("text").attr({"data-unformatted":null,"data-math":null}).each(function(){var b=G8.select(this);if(this.style.visibility==="hidden"||this.style.display==="none"){b.remove();return}else b.style({visibility:null,display:null});var g=this.style.fontFamily;g&&g.indexOf('"')!==-1&&b.style("font-family",g.replace(Y8,$2));var _=this.style.fontWeight;_&&(_==="normal"||_==="400")&&b.style("font-weight",void 0);var T=this.style.fontStyle;T&&T==="normal"&&b.style("font-style",void 0);var w=this.style.fontVariant;w&&w==="normal"&&b.style("font-variant",void 0)}),a.selectAll(".gradient_filled,.pattern_filled").each(function(){var b=G8.select(this),g=this.style.fill;g&&g.indexOf("url(")!==-1&&b.style("fill",g.replace(Y8,$2));var _=this.style.stroke;_&&_.indexOf("url(")!==-1&&b.style("stroke",_.replace(Y8,$2))}),(r==="pdf"||r==="eps")&&a.selectAll("#MathJax_SVG_glyphs path").attr("stroke-width",0),a.node().setAttributeNS(VM.xmlns,"xmlns",VM.svg),a.node().setAttributeNS(VM.xmlns,"xmlns:xlink",VM.xlink),r==="svg"&&n&&(a.attr("width",n*s),a.attr("height",n*l),a.attr("viewBox","0 0 "+s+" "+l));var m=new window.XMLSerializer().serializeToString(a.node());return m=Att(m),m=Mtt(m),m=m.replace(Ttt,"'"),btt.isIE()&&(m=m.replace(/"/gi,"'"),m=m.replace(/(\('#)([^']*)('\))/gi,'("#$2")'),m=m.replace(/(\\')/gi,'"')),m}});var GM=J((bPt,xne)=>{"use strict";var yne=gt(),ktt=VT().EventEmitter,ly=yg();function Stt(e){var t=e.emitter||new ktt,r=new Promise(function(n,i){var a=window.Image,o=e.svg,s=e.format||"png";if(yne.isIE()&&s!=="svg"){var l=new Error(ly.MSG_IE_BAD_FORMAT);return i(l),e.promise?r:t.emit("error",l)}var u=e.canvas,f=e.scale||1,c=e.width||300,h=e.height||150,d=f*c,v=f*h,m=u.getContext("2d",{willReadFrequently:!0}),b=new a,g,_;s==="svg"||yne.isSafari()?_=ly.encodeSVG(o):(g=ly.createBlob(o,"svg"),_=ly.createObjectURL(g)),u.width=d,u.height=v,b.onload=function(){var T;switch(g=null,ly.revokeObjectURL(_),s!=="svg"&&m.drawImage(b,0,0,d,v),s){case"jpeg":T=u.toDataURL("image/jpeg");break;case"png":T=u.toDataURL("image/png");break;case"webp":T=u.toDataURL("image/webp");break;case"svg":T=_;break;default:var w="Image format is not jpeg, png, svg or webp.";if(i(new Error(w)),!e.promise)return t.emit("error",w)}n(T),e.promise||t.emit("success",T)},b.onerror=function(T){if(g=null,ly.revokeObjectURL(_),i(T),!e.promise)return t.emit("error",T)},b.src=_});return e.promise?r:t}xne.exports=Stt});var X8=J((wPt,_ne)=>{"use strict";var bne=dn(),wne=jM(),Ctt=ea(),rv=gt(),K2=yg(),Ett=YM(),Ltt=GM(),Dtt=iT().version,W8={format:{valType:"enumerated",values:["png","jpeg","webp","svg","full-json"],dflt:"png",description:"Sets the format of exported image."},width:{valType:"number",min:1,description:["Sets the exported image width.","Defaults to the value found in `layout.width`","If set to *null*, the exported image width will match the current graph width."].join(" ")},height:{valType:"number",min:1,description:["Sets the exported image height.","Defaults to the value found in `layout.height`","If set to *null*, the exported image height will match the current graph height."].join(" ")},scale:{valType:"number",min:0,dflt:1,description:["Sets a scaling for the generated image.","If set, all features of a graphs (e.g. text, line width)","are scaled, unlike simply setting","a bigger *width* and *height*."].join(" ")},setBackground:{valType:"any",dflt:!1,description:["Sets the image background mode.","By default, the image background is determined by `layout.paper_bgcolor`,","the *transparent* mode.","One might consider setting `setBackground` to *opaque*","when exporting a *jpeg* image as JPEGs do not support opacity."].join(" ")},imageDataOnly:{valType:"boolean",dflt:!1,description:["Determines whether or not the return value is prefixed by","the image format's corresponding 'data:image;' spec."].join(" ")}};function Rtt(e,t){t=t||{};var r,n,i,a;rv.isPlainObject(e)?(r=e.data||[],n=e.layout||{},i=e.config||{},a={}):(e=rv.getGraphDiv(e),r=rv.extendDeep([],e.data),n=rv.extendDeep({},e.layout),i=e._context,a=e._fullLayout||{});function o(x){return!(x in t)||rv.validate(t[x],W8[x])}if(!o("width")&&t.width!==null||!o("height")&&t.height!==null)throw new Error("Height and width should be pixel values.");if(!o("format"))throw new Error("Export format is not "+rv.join2(W8.format.values,", "," or ")+".");var s={};function l(x,M){return rv.coerce(t,s,W8,x,M)}var u=l("format"),f=l("width"),c=l("height"),h=l("scale"),d=l("setBackground"),v=l("imageDataOnly"),m=document.createElement("div");m.style.position="absolute",m.style.left="-5000px",document.body.appendChild(m);var b=rv.extendFlat({},n);f?b.width=f:t.width===null&&bne(a.width)&&(b.width=a.width),c?b.height=c:t.height===null&&bne(a.height)&&(b.height=a.height);var g=rv.extendFlat({},i,{_exportedPlot:!0,staticPlot:!0,setBackground:d}),_=K2.getRedrawFunc(m);function T(){return new Promise(function(x){setTimeout(x,K2.getDelay(m._fullLayout))})}function w(){return new Promise(function(x,M){var A=Ett(m,u,h),p=m._fullLayout.width,S=m._fullLayout.height;function y(){wne.purge(m),document.body.removeChild(m)}if(u==="full-json"){var E=Ctt.graphJson(m,!1,"keepdata","object",!0,!0);return E.version=Dtt,E=JSON.stringify(E),y(),x(v?E:K2.encodeJSON(E))}if(y(),u==="svg")return x(v?A:K2.encodeSVG(A));var C=document.createElement("canvas");C.id=rv.randstr(),Ltt({format:u,width:p,height:S,scale:h,canvas:C,svg:A,promise:!0}).then(x).catch(M)})}function k(x){return v?x.replace(K2.IMAGE_URL_PREFIX,""):x}return new Promise(function(x,M){wne.newPlot(m,r,b,g).then(_).then(T).then(w).then(function(A){x(k(A))}).catch(function(A){M(A)})})}_ne.exports=Rtt});var kne=J((_Pt,Mne)=>{"use strict";var hc=gt(),Ptt=ea(),Itt=o0(),qtt=qp().dfltConfig,cc=hc.isPlainObject,k0=Array.isArray,Tne=hc.isArrayOrTypedArray;Mne.exports=function(t,r){t===void 0&&(t=[]),r===void 0&&(r={});var n=Itt.get(),i=[],a={_context:hc.extendFlat({},qtt)},o,s;k0(t)?(a.data=hc.extendDeep([],t),o=t):(a.data=[],o=[],i.push(Io("array","data"))),cc(r)?(a.layout=hc.extendDeep({},r),s=r):(a.layout={},s={},arguments.length>1&&i.push(Io("object","layout"))),Ptt.supplyDefaults(a);for(var l=a._fullData,u=o.length,f=0;f<u;f++){var c=o[f],h=["data",f];if(!cc(c)){i.push(Io("object",h));continue}var d=l[f],v=d.type,m=n.traces[v].attributes;m.type={valType:"enumerated",values:[v]},d.visible===!1&&c.visible!==!1&&i.push(Io("invisible",h)),Q2(c,d,m,i,h);var b=c.transforms,g=d.transforms;if(b){k0(b)||i.push(Io("array",h,["transforms"])),h.push("transforms");for(var _=0;_<b.length;_++){var T=["transforms",_],w=b[_].type;if(!cc(b[_])){i.push(Io("object",h,T));continue}var k=n.transforms[w]?n.transforms[w].attributes:{};k.type={valType:"enumerated",values:Object.keys(n.transforms)},Q2(b[_],g[_],k,i,h,T)}}}var x=a._fullLayout,M=Ftt(n,l);return Q2(s,x,M,i,"layout"),i.length===0?void 0:i};function Q2(e,t,r,n,i,a){a=a||[];for(var o=Object.keys(e),s=0;s<o.length;s++){var l=o[s];if(l!=="transforms"){var u=a.slice();u.push(l);var f=e[l],c=t[l],h=Ott(r,l),d=(h||{}).valType,v=d==="info_array",m=d==="colorscale",b=(h||{}).items;if(!Ntt(r,l))n.push(Io("schema",i,u));else if(cc(f)&&cc(c)&&d!=="any")Q2(f,c,h,n,i,u);else if(v&&k0(f)){f.length>c.length&&n.push(Io("unused",i,u.concat(c.length)));var g=c.length,_=Array.isArray(b);_&&(g=Math.min(g,b.length));var T,w,k,x,M;if(h.dimensions===2)for(w=0;w<g;w++)if(k0(f[w])){f[w].length>c[w].length&&n.push(Io("unused",i,u.concat(w,c[w].length)));var A=c[w].length;for(T=0;T<(_?Math.min(A,b[w].length):A);T++)k=_?b[w][T]:b,x=f[w][T],M=c[w][T],hc.validate(x,k)?M!==x&&M!==+x&&n.push(Io("dynamic",i,u.concat(w,T),x,M)):n.push(Io("value",i,u.concat(w,T),x))}else n.push(Io("array",i,u.concat(w),f[w]));else for(w=0;w<g;w++)k=_?b[w]:b,x=f[w],M=c[w],hc.validate(x,k)?M!==x&&M!==+x&&n.push(Io("dynamic",i,u.concat(w),x,M)):n.push(Io("value",i,u.concat(w),x))}else if(h.items&&!v&&k0(f)){var p=b[Object.keys(b)[0]],S=[],y,E;for(y=0;y<c.length;y++){var C=c[y]._index||y;if(E=u.slice(),E.push(C),cc(f[C])&&cc(c[y])){S.push(C);var L=f[C],R=c[y];cc(L)&&L.visible!==!1&&R.visible===!1?n.push(Io("invisible",i,E)):Q2(L,R,p,n,i,E)}}for(y=0;y<f.length;y++)E=u.slice(),E.push(y),cc(f[y])?S.indexOf(y)===-1&&n.push(Io("unused",i,E)):n.push(Io("object",i,E,f[y]))}else!cc(f)&&cc(c)?n.push(Io("object",i,u,f)):!Tne(f)&&Tne(c)&&!v&&!m?n.push(Io("array",i,u,f)):l in t?hc.validate(f,h)?h.valType==="enumerated"&&(h.coerceNumber&&f!==+c||f!==c)&&n.push(Io("dynamic",i,u,f,c)):n.push(Io("value",i,u,f)):n.push(Io("unused",i,u,f))}}return n}function Ftt(e,t){for(var r=e.layout.layoutAttributes,n=0;n<t.length;n++){var i=t[n],a=e.traces[i.type],o=a.layoutAttributes;o&&(i.subplot?hc.extendFlat(r[a.attributes.subplot.dflt],o):hc.extendFlat(r,o))}return r}var ztt={object:function(e,t){var r;return e==="layout"&&t===""?r="The layout argument":e[0]==="data"&&t===""?r="Trace "+e[1]+" in the data argument":r=xg(e)+"key "+t,r+" must be linked to an object container"},array:function(e,t){var r;return e==="data"?r="The data argument":r=xg(e)+"key "+t,r+" must be linked to an array container"},schema:function(e,t){return xg(e)+"key "+t+" is not part of the schema"},unused:function(e,t,r){var n=cc(r)?"container":"key";return xg(e)+n+" "+t+" did not get coerced"},dynamic:function(e,t,r,n){return[xg(e)+"key",t,"(set to '"+r+"')","got reset to","'"+n+"'","during defaults."].join(" ")},invisible:function(e,t){return(t?xg(e)+"item "+t:"Trace "+e[1])+" got defaulted to be not visible"},value:function(e,t,r){return[xg(e)+"key "+t,"is set to an invalid value ("+r+")"].join(" ")}};function xg(e){return k0(e)?"In data trace "+e[1]+", ":"In "+e+", "}function Io(e,t,r,n,i){r=r||"";var a,o;k0(t)?(a=t[0],o=t[1]):(a=t,o=null);var s=Utt(r),l=ztt[e](t,s,n,i);return hc.log(l),{code:e,container:a,trace:o,path:r,astr:s,msg:l}}function Ntt(e,t){var r=Ane(t),n=r.keyMinusId,i=r.id;return n in e&&e[n]._isSubplotObj&&i?!0:t in e}function Ott(e,t){if(t in e)return e[t];var r=Ane(t);return e[r.keyMinusId]}var Btt=hc.counterRegex("([a-z]+)");function Ane(e){var t=e.match(Btt);return{keyMinusId:t&&t[1],id:t&&t[2]}}function Utt(e){if(!k0(e))return String(e);for(var t="",r=0;r<e.length;r++){var n=e[r];typeof n=="number"?t=t.substr(0,t.length-1)+"["+n+"]":t+=n,r<e.length-1&&(t+=".")}return t}});var Ene=J((TPt,Cne)=>{"use strict";var Sne=gt(),ew=yg();function Htt(e,t,r){var n=document.createElement("a"),i="download"in n,a=new Promise(function(o,s){var l,u;if(Sne.isIE())return l=ew.createBlob(e,"svg"),window.navigator.msSaveBlob(l,t),l=null,o(t);if(i)return l=ew.createBlob(e,r),u=ew.createObjectURL(l),n.href=u,n.download=t,document.body.appendChild(n),n.click(),document.body.removeChild(n),ew.revokeObjectURL(u),l=null,o(t);if(Sne.isSafari()){var f=r==="svg"?",":";base64,";return ew.octetStream(f+encodeURIComponent(e)),o(t)}s(new Error("download error"))});return a}Cne.exports=Htt});var J8=J((APt,Lne)=>{"use strict";var Z8=gt(),jtt=X8(),Vtt=Ene(),Ytt=yg();function Gtt(e,t){var r;return Z8.isPlainObject(e)||(r=Z8.getGraphDiv(e)),t=t||{},t.format=t.format||"png",t.width=t.width||null,t.height=t.height||null,t.imageDataOnly=!0,new Promise(function(n,i){r&&r._snapshotInProgress&&i(new Error("Snapshotting already in progress.")),Z8.isIE()&&t.format!=="svg"&&i(new Error(Ytt.MSG_IE_BAD_FORMAT)),r&&(r._snapshotInProgress=!0);var a=jtt(e,t),o=t.filename||e.fn||"newplot";o+="."+t.format.replace("-","."),a.then(function(s){return r&&(r._snapshotInProgress=!1),Vtt(s,o,t.format)}).then(function(s){n(s)}).catch(function(s){r&&(r._snapshotInProgress=!1),i(s)})})}Lne.exports=Gtt});var qne=J($8=>{"use strict";var Yu=gt(),Gu=Yu.isPlainObject,Dne=o0(),Rne=ea(),Wtt=Qi(),Pne=ki(),Ine=qp().dfltConfig;$8.makeTemplate=function(e){e=Yu.isPlainObject(e)?e:Yu.getGraphDiv(e),e=Yu.extendDeep({_context:Ine},{data:e.data,layout:e.layout}),Rne.supplyDefaults(e);var t=e.data||[],r=e.layout||{};r._basePlotModules=e._fullLayout._basePlotModules,r._modules=e._fullLayout._modules;var n={data:{},layout:{}};t.forEach(function(d){var v={};tw(d,v,Ztt.bind(null,d));var m=Yu.coerce(d,{},Wtt,"type"),b=n.data[m];b||(b=n.data[m]=[]),b.push(v)}),tw(r,n.layout,Xtt.bind(null,r)),delete n.layout.template;var i=r.template;if(Gu(i)){var a=i.layout,o,s,l,u,f,c;Gu(a)&&WM(a,n.layout);var h=i.data;if(Gu(h)){for(s in n.data)if(l=h[s],Array.isArray(l)){for(f=n.data[s],c=f.length,u=l.length,o=0;o<c;o++)WM(l[o%u],f[o]);for(o=c;o<u;o++)f.push(Yu.extendDeep({},l[o]))}for(s in h)s in n.data||(n.data[s]=Yu.extendDeep([],h[s]))}}return n};function WM(e,t){e=Yu.extendDeep({},e);var r=Object.keys(e).sort(),n,i;function a(f,c,h){if(Gu(c)&&Gu(f))WM(f,c);else if(Array.isArray(c)&&Array.isArray(f)){var d=Pne.arrayTemplater({_template:e},h);for(i=0;i<c.length;i++){var v=c[i],m=d.newItem(v)._template;m&&WM(m,v)}var b=d.defaultItems();for(i=0;i<b.length;i++)c.push(b[i]._template);for(i=0;i<c.length;i++)delete c[i].templateitemname}}for(n=0;n<r.length;n++){var o=r[n],s=e[o];if(o in t?a(s,t[o],o):t[o]=s,XM(o)===o)for(var l in t){var u=XM(l);l!==u&&u===o&&!(l in e)&&a(s,t[l],o)}}}function XM(e){return e.replace(/[0-9]+$/,"")}function tw(e,t,r,n,i){var a=i&&r(i);for(var o in e){var s=e[o],l=vc(e,o,n),u=vc(e,o,i),f=r(u);if(!f){var c=XM(o);c!==o&&(u=vc(e,c,i),f=r(u))}if(!(a&&a===f)&&!(!f||f._noTemplating||f.valType==="data_array"||f.arrayOk&&Array.isArray(s)))if(!f.valType&&Gu(s))tw(s,t,r,l,u);else if(f._isLinkedToArray&&Array.isArray(s))for(var h=!1,d=0,v={},m=0;m<s.length;m++){var b=s[m];if(Gu(b)){var g=b.name;if(g)v[g]||(tw(b,t,r,vc(s,d,l),vc(s,d,u)),d++,v[g]=1);else if(!h){var _=Pne.arrayDefaultKey(o),T=vc(e,_,n),w=vc(s,d,l);tw(b,t,r,w,vc(s,d,u));var k=Yu.nestedProperty(t,w),x=Yu.nestedProperty(t,T);x.set(k.get()),k.set(null),h=!0}}}else{var M=Yu.nestedProperty(t,l);M.set(s)}}}function Xtt(e,t){return Dne.getLayoutValObject(e,Yu.nestedProperty({},t).parts)}function Ztt(e,t){return Dne.getTraceValObject(e,Yu.nestedProperty({},t).parts)}function vc(e,t,r){var n;return r?Array.isArray(e)?n=r+"["+t+"]":n=r+"."+t:n=t,n}$8.validateTemplate=function(e,t){var r=Yu.extendDeep({},{_context:Ine,data:e.data,layout:e.layout}),n=r.layout||{};Gu(t)||(t=n.template||{});var i=t.layout,a=t.data,o=[];r.layout=n,r.layout.template=t,Rne.supplyDefaults(r);var s=r._fullLayout,l=r._fullData,u={};function f(T,w){for(var k in T)if(k.charAt(0)!=="_"&&Gu(T[k])){var x=XM(k),M=[],A;for(A=0;A<w.length;A++)M.push(vc(T,k,w[A])),x!==k&&M.push(vc(T,x,w[A]));for(A=0;A<M.length;A++)u[M[A]]=1;f(T[k],M)}}function c(T,w){for(var k in T)if(k.indexOf("defaults")===-1&&Gu(T[k])){var x=vc(T,k,w);u[x]?c(T[k],x):o.push({code:"unused",path:x})}}if(Gu(i)?(f(s,["layout"]),c(i,"layout")):o.push({code:"layout"}),!Gu(a))o.push({code:"data"});else{for(var h={},d,v=0;v<l.length;v++){var m=l[v];d=m.type,h[d]=(h[d]||0)+1,m._fullInput._template||o.push({code:"missing",index:m._fullInput.index,traceType:d})}for(d in a){var b=a[d].length,g=h[d]||0;b>g?o.push({code:"unused",traceType:d,templateCount:b,dataCount:g}):g>b&&o.push({code:"reused",traceType:d,templateCount:b,dataCount:g})}}function _(T,w){for(var k in T)if(k.charAt(0)!=="_"){var x=T[k],M=vc(T,k,w);Gu(x)?(Array.isArray(T)&&x._template===!1&&x.templateitemname&&o.push({code:"missing",path:M,templateitemname:x.templateitemname}),_(x,M)):Array.isArray(x)&&Jtt(x)&&_(x,M)}}if(_({data:l,layout:s},""),o.length)return o.map($tt)};function Jtt(e){for(var t=0;t<e.length;t++)if(Gu(e[t]))return!0}function $tt(e){var t;switch(e.code){case"data":t="The template has no key data.";break;case"layout":t="The template has no key layout.";break;case"missing":e.path?t="There are no templates for item "+e.path+" with name "+e.templateitemname:t="There are no templates for trace "+e.index+", of type "+e.traceType+".";break;case"unused":e.path?t="The template item at "+e.path+" was not used in constructing the plot.":e.dataCount?t="Some of the templates of type "+e.traceType+" were not used. The template has "+e.templateCount+" traces, the data only has "+e.dataCount+" of this type.":t="The template has "+e.templateCount+" traces of type "+e.traceType+" but there are none in the data.";break;case"reused":t="Some of the templates of type "+e.traceType+" were used more than once. The template has "+e.templateCount+" traces, the data has "+e.dataCount+" of this type.";break}return e.msg=t,e}});var zne=J(_a=>{"use strict";var Go=jM();_a._doPlot=Go._doPlot;_a.newPlot=Go.newPlot;_a.restyle=Go.restyle;_a.relayout=Go.relayout;_a.redraw=Go.redraw;_a.update=Go.update;_a._guiRestyle=Go._guiRestyle;_a._guiRelayout=Go._guiRelayout;_a._guiUpdate=Go._guiUpdate;_a._storeDirectGUIEdit=Go._storeDirectGUIEdit;_a.react=Go.react;_a.extendTraces=Go.extendTraces;_a.prependTraces=Go.prependTraces;_a.addTraces=Go.addTraces;_a.deleteTraces=Go.deleteTraces;_a.moveTraces=Go.moveTraces;_a.purge=Go.purge;_a.addFrames=Go.addFrames;_a.deleteFrames=Go.deleteFrames;_a.animate=Go.animate;_a.setPlotConfig=Go.setPlotConfig;var Ktt=Ob().getGraphDiv,Qtt=sM().eraseActiveShape;_a.deleteActiveShape=function(e){return Qtt(Ktt(e))};_a.toImage=X8();_a.validate=kne();_a.downloadImage=J8();var Fne=qne();_a.makeTemplate=Fne.makeTemplate;_a.validateTemplate=Fne.validateTemplate});var rw=J((SPt,Nne)=>{"use strict";var K8=gt(),ert=zr();Nne.exports=function(t,r,n,i){var a=i("x"),o=i("y"),s,l=ert.getComponentMethod("calendars","handleTraceDefaults");if(l(t,r,["x","y"],n),a){var u=K8.minRowLength(a);o?s=Math.min(u,K8.minRowLength(o)):(s=u,i("y0"),i("dy"))}else{if(!o)return 0;s=K8.minRowLength(o),i("x0"),i("dx")}return r._length=s,s}});var nv=J((CPt,Une)=>{"use strict";var One=gt().dateTick0,trt=oi(),rrt=trt.ONEWEEK;function Bne(e,t){return e%rrt===0?One(t,1):One(t,0)}Une.exports=function(t,r,n,i,a){if(a||(a={x:!0,y:!0}),a.x){var o=i("xperiod");o&&(i("xperiod0",Bne(o,r.xcalendar)),i("xperiodalignment"))}if(a.y){var s=i("yperiod");s&&(i("yperiod0",Bne(s,r.ycalendar)),i("yperiodalignment"))}}});var Vne=J((EPt,jne)=>{"use strict";var Hne=["orientation","groupnorm","stackgaps"];jne.exports=function(t,r,n,i){var a=n._scatterStackOpts,o=i("stackgroup");if(o){var s=r.xaxis+r.yaxis,l=a[s];l||(l=a[s]={});var u=l[o],f=!1;u?u.traces.push(r):(u=l[o]={traceIndices:[],traces:[r]},f=!0);for(var c={orientation:r.x&&!r.y?"h":"v"},h=0;h<Hne.length;h++){var d=Hne[h],v=d+"Found";if(!u[v]){var m=t[d]!==void 0,b=d==="orientation";if((m||f)&&(u[d]=i(d,c[d]),b&&(u.fillDflt=u[d]==="h"?"tonextx":"tonexty"),m&&(u[v]=!0,!f&&(delete u.traces[0][d],b))))for(var g=0;g<u.traces.length-1;g++){var _=u.traces[g];_._input.fill!==_.fill&&(_.fill=u.fillDflt)}}}return u}}});var bg=J((LPt,Xne)=>{"use strict";var Yne=qr(),Gne=nu().hasColorscale,Wne=vl(),nrt=fs();Xne.exports=function(t,r,n,i,a,o){var s=nrt.isBubble(t),l=(t.line||{}).color,u;if(o=o||{},l&&(n=l),a("marker.symbol"),a("marker.opacity",s?.7:1),a("marker.size"),o.noAngle||(a("marker.angle"),o.noAngleRef||a("marker.angleref"),o.noStandOff||a("marker.standoff")),a("marker.color",n),Gne(t,"marker")&&Wne(t,r,i,a,{prefix:"marker.",cLetter:"c"}),o.noSelect||(a("selected.marker.color"),a("unselected.marker.color"),a("selected.marker.size"),a("unselected.marker.size")),o.noLine||(l&&!Array.isArray(l)&&r.marker.color!==l?u=l:s?u=Yne.background:u=Yne.defaultLine,a("marker.line.color",u),Gne(t,"marker.line")&&Wne(t,r,i,a,{prefix:"marker.line.",cLetter:"c"}),a("marker.line.width",s?1:0)),s&&(a("marker.sizeref"),a("marker.sizemin"),a("marker.sizemode")),o.gradient){var f=a("marker.gradient.type");f!=="none"&&a("marker.gradient.color")}}});var wg=J((DPt,Zne)=>{"use strict";var irt=gt().isArrayOrTypedArray,art=nu().hasColorscale,ort=vl();Zne.exports=function(t,r,n,i,a,o){o||(o={});var s=(t.marker||{}).color;if(s&&s._inputArray&&(s=s._inputArray),a("line.color",n),art(t,"line"))ort(t,r,i,a,{prefix:"line.",cLetter:"c"});else{var l=(irt(s)?!1:s)||n;a("line.color",l)}a("line.width"),o.noDash||a("line.dash"),o.backoff&&a("line.backoff")}});var nw=J((RPt,Jne)=>{"use strict";Jne.exports=function(t,r,n){var i=n("line.shape");i==="spline"&&n("line.smoothing")}});var _g=J((PPt,$ne)=>{"use strict";var srt=gt();$ne.exports=function(e,t,r,n,i){i=i||{},n("textposition"),srt.coerceFont(n,"textfont",i.font||r.font,i),i.noSelect||(n("selected.textfont.color"),n("unselected.textfont.color"))}});var uy=J((IPt,Qne)=>{"use strict";var ZM=qr(),Kne=gt().isArrayOrTypedArray;function lrt(e){for(var t=ZM.interpolate(e[0][1],e[1][1],.5),r=2;r<e.length;r++){var n=ZM.interpolate(e[r-1][1],e[r][1],.5);t=ZM.interpolate(t,n,e[r-1][0]/e[r][0])}return t}Qne.exports=function(t,r,n,i,a){a||(a={});var o=!1;if(r.marker){var s=r.marker.color,l=(r.marker.line||{}).color;s&&!Kne(s)?o=s:l&&!Kne(l)&&(o=l)}var u;if(a.moduleHasFillgradient){var f=i("fillgradient.type");if(f!=="none"){i("fillgradient.start"),i("fillgradient.stop");var c=i("fillgradient.colorscale");c&&(u=lrt(c))}}i("fillcolor",ZM.addOpacity((r.line||{}).color||o||u||n,.5))}});var nie=J((qPt,rie)=>{"use strict";var eie=gt(),urt=zr(),frt=ds(),crt=pg(),fy=fs(),hrt=rw(),vrt=nv(),drt=Vne(),prt=bg(),grt=wg(),tie=nw(),mrt=_g(),yrt=uy(),xrt=gt().coercePattern;rie.exports=function(t,r,n,i){function a(d,v){return eie.coerce(t,r,frt,d,v)}var o=hrt(t,r,i,a);if(o||(r.visible=!1),!!r.visible){vrt(t,r,i,a),a("xhoverformat"),a("yhoverformat"),a("zorder");var s=drt(t,r,i,a);i.scattermode==="group"&&r.orientation===void 0&&a("orientation","v");var l=!s&&o<crt.PTS_LINESONLY?"lines+markers":"lines";a("text"),a("hovertext"),a("mode",l),fy.hasMarkers(r)&&prt(t,r,n,i,a,{gradient:!0}),fy.hasLines(r)&&(grt(t,r,n,i,a,{backoff:!0}),tie(t,r,a),a("connectgaps"),a("line.simplify")),fy.hasText(r)&&(a("texttemplate"),mrt(t,r,i,a));var u=[];(fy.hasMarkers(r)||fy.hasText(r))&&(a("cliponaxis"),a("marker.maxdisplayed"),u.push("points")),a("fill",s?s.fillDflt:"none"),r.fill!=="none"&&(yrt(t,r,n,a,{moduleHasFillgradient:!0}),fy.hasLines(r)||tie(t,r,a),xrt(a,"fillpattern",r.fillcolor,!1));var f=(r.line||{}).color,c=(r.marker||{}).color;(r.fill==="tonext"||r.fill==="toself")&&u.push("fills"),a("hoveron",u.join("+")||"points"),r.hoveron!=="fills"&&a("hovertemplate");var h=urt.getComponentMethod("errorbars","supplyDefaults");h(t,r,f||c||n,{axis:"y"}),h(t,r,f||c||n,{axis:"x",inherit:"y"}),eie.coerceSelectionMarkerOpacity(r,a)}}});var Tg=J((FPt,iie)=>{"use strict";var brt=_0().getAxisGroup;iie.exports=function(t,r,n,i){var a=r.orientation,o=r[{v:"x",h:"y"}[a]+"axis"],s=brt(n,o)+a,l=n._alignmentOpts||{},u=i("alignmentgroup"),f=l[s];f||(f=l[s]={});var c=f[u];c?c.traces.push(r):c=f[u]={traces:[r],alignmentIndex:Object.keys(f).length,offsetGroups:{}};var h=i("offsetgroup"),d=c.offsetGroups,v=d[h];h&&(v||(v=d[h]={offsetIndex:Object.keys(d).length}),r._offsetIndex=v.offsetIndex)}});var oie=J((zPt,aie)=>{"use strict";var wrt=gt(),_rt=Tg(),Trt=ds();aie.exports=function(t,r){var n,i,a;function o(c){return wrt.coerce(i._input,i,Trt,c)}if(r.scattermode==="group")for(a=0;a<t.length;a++)i=t[a],i.type==="scatter"&&(n=i._input,_rt(n,i,r,o));for(a=0;a<t.length;a++){var s=t[a];if(s.type==="scatter"){var l=s.fill;if(!(l==="none"||l==="toself")&&(s.opacity=void 0,l==="tonexty"||l==="tonextx"))for(var u=a-1;u>=0;u--){var f=t[u];if(f.type==="scatter"&&f.xaxis===s.xaxis&&f.yaxis===s.yaxis){f.opacity=void 0;break}}}}}});var lie=J((NPt,sie)=>{"use strict";var Art=gt(),Mrt=WT();sie.exports=function(e,t){function r(i,a){return Art.coerce(e,t,Mrt,i,a)}var n=t.barmode==="group";t.scattermode==="group"&&r("scattergap",n?t.bargap:.2)}});var iv=J((OPt,fie)=>{"use strict";var krt=dn(),uie=gt(),Srt=uie.dateTime2ms,JM=uie.incrementMonth,Crt=oi(),Ert=Crt.ONEAVGMONTH;fie.exports=function(t,r,n,i){if(r.type!=="date")return{vals:i};var a=t[n+"periodalignment"];if(!a)return{vals:i};var o=t[n+"period"],s;if(krt(o)){if(o=+o,o<=0)return{vals:i}}else if(typeof o=="string"&&o.charAt(0)==="M"){var l=+o.substring(1);if(l>0&&Math.round(l)===l)s=l;else return{vals:i}}for(var u=r.calendar,f=a==="start",c=a==="end",h=t[n+"period0"],d=Srt(h,u)||0,v=[],m=[],b=[],g=i.length,_=0;_<g;_++){var T=i[_],w,k,x;if(s){for(w=Math.round((T-d)/(s*Ert)),x=JM(d,s*w,u);x>T;)x=JM(x,-s,u);for(;x<=T;)x=JM(x,s,u);k=JM(x,-s,u)}else{for(w=Math.round((T-d)/o),x=d+w*o;x>T;)x-=o;for(;x<=T;)x+=o;k=x-o}v[_]=f?k:c?x:(k+x)/2,m[_]=k,b[_]=x}return{vals:v,starts:m,ends:b}}});var Ag=J((BPt,hie)=>{"use strict";var Q8=nu().hasColorscale,eR=Uu(),cie=fs();hie.exports=function(t,r){cie.hasLines(r)&&Q8(r,"line")&&eR(t,r,{vals:r.line.color,containerStr:"line",cLetter:"c"}),cie.hasMarkers(r)&&(Q8(r,"marker")&&eR(t,r,{vals:r.marker.color,containerStr:"marker",cLetter:"c"}),Q8(r,"marker.line")&&eR(t,r,{vals:r.marker.line.color,containerStr:"marker.line",cLetter:"c"}))}});var nd=J((UPt,vie)=>{"use strict";var to=gt();vie.exports=function(t,r){for(var n=0;n<t.length;n++)t[n].i=n;to.mergeArray(r.text,t,"tx"),to.mergeArray(r.texttemplate,t,"txt"),to.mergeArray(r.hovertext,t,"htx"),to.mergeArray(r.customdata,t,"data"),to.mergeArray(r.textposition,t,"tp"),r.textfont&&(to.mergeArrayCastPositive(r.textfont.size,t,"ts"),to.mergeArray(r.textfont.color,t,"tc"),to.mergeArray(r.textfont.family,t,"tf"),to.mergeArray(r.textfont.weight,t,"tw"),to.mergeArray(r.textfont.style,t,"ty"),to.mergeArray(r.textfont.variant,t,"tv"),to.mergeArray(r.textfont.textcase,t,"tC"),to.mergeArray(r.textfont.lineposition,t,"tE"),to.mergeArray(r.textfont.shadow,t,"tS"));var i=r.marker;if(i){to.mergeArrayCastPositive(i.size,t,"ms"),to.mergeArrayCastPositive(i.opacity,t,"mo"),to.mergeArray(i.symbol,t,"mx"),to.mergeArray(i.angle,t,"ma"),to.mergeArray(i.standoff,t,"mf"),to.mergeArray(i.color,t,"mc");var a=i.line;i.line&&(to.mergeArray(a.color,t,"mlc"),to.mergeArrayCastPositive(a.width,t,"mlw"));var o=i.gradient;o&&o.type!=="none"&&(to.mergeArray(o.type,t,"mgt"),to.mergeArray(o.color,t,"mgc"))}}});var oh=J((HPt,pie)=>{"use strict";var die=gt();pie.exports=function(t,r){die.isArrayOrTypedArray(r.selectedpoints)&&die.tagSelected(t,r)}});var Mg=J((jPt,_ie)=>{"use strict";var gie=dn(),rR=gt(),iw=nn(),mie=iv(),tR=oi().BADNUM,nR=fs(),Lrt=Ag(),Drt=nd(),Rrt=oh();function Prt(e,t){var r=e._fullLayout,n=t._xA=iw.getFromId(e,t.xaxis||"x","x"),i=t._yA=iw.getFromId(e,t.yaxis||"y","y"),a=n.makeCalcdata(t,"x"),o=i.makeCalcdata(t,"y"),s=mie(t,n,"x",a),l=mie(t,i,"y",o),u=s.vals,f=l.vals,c=t._length,h=new Array(c),d=t.ids,v=iR(t,r,n,i),m=!1,b,g,_,T,w,k;bie(r,t);var x="x",M="y",A;if(v)rR.pushUnique(v.traceIndices,t._expandedIndex),b=v.orientation==="v",b?(M="s",A="x"):(x="s",A="y"),w=v.stackgaps==="interpolate";else{var p=xie(t,c);yie(e,t,n,i,u,f,p)}var S=!!t.xperiodalignment,y=!!t.yperiodalignment;for(g=0;g<c;g++){var E=h[g]={},C=gie(u[g]),L=gie(f[g]);C&&L?(E[x]=u[g],E[M]=f[g],S&&(E.orig_x=a[g],E.xEnd=s.ends[g],E.xStart=s.starts[g]),y&&(E.orig_y=o[g],E.yEnd=l.ends[g],E.yStart=l.starts[g])):v&&(b?C:L)?(E[A]=b?u[g]:f[g],E.gap=!0,w?(E.s=tR,m=!0):E.s=0):E[x]=E[M]=tR,d&&(E.id=String(d[g]))}if(Drt(h,t),Lrt(e,t),Rrt(h,t),v){for(g=0;g<h.length;)h[g][A]===tR?h.splice(g,1):g++;if(rR.sort(h,function(D,q){return D[A]-q[A]||D.i-q.i}),m){for(g=0;g<h.length-1&&h[g].gap;)g++;for(k=h[g].s,k||(k=h[g].s=0),_=0;_<g;_++)h[_].s=k;for(T=h.length-1;T>g&&h[T].gap;)T--;for(k=h[T].s,_=h.length-1;_>T;_--)h[_].s=k;for(;g<T;)if(g++,h[g].gap){for(_=g+1;h[_].gap;)_++;for(var R=h[g-1][A],I=h[g-1].s,P=(h[_].s-I)/(h[_][A]-R);g<_;)h[g].s=I+(h[g][A]-R)*P,g++}}}return h}function yie(e,t,r,n,i,a,o){var s=t._length,l=e._fullLayout,u=r._id,f=n._id,c=l._firstScatter[wie(t)]===t.uid,h=(iR(t,l,r,n)||{}).orientation,d=t.fill;r._minDtick=0,n._minDtick=0;var v={padded:!0},m={padded:!0};o&&(v.ppad=m.ppad=o);var b=s<2||i[0]!==i[s-1]||a[0]!==a[s-1];b&&(d==="tozerox"||d==="tonextx"&&(c||h==="h"))?v.tozero=!0:!(t.error_y||{}).visible&&(d==="tonexty"||d==="tozeroy"||!nR.hasMarkers(t)&&!nR.hasText(t))&&(v.padded=!1,v.ppad=0),b&&(d==="tozeroy"||d==="tonexty"&&(c||h==="v"))?m.tozero=!0:(d==="tonextx"||d==="tozerox")&&(m.padded=!1),u&&(t._extremes[u]=iw.findExtremes(r,i,v)),f&&(t._extremes[f]=iw.findExtremes(n,a,m))}function xie(e,t){if(nR.hasMarkers(e)){var r=e.marker,n=1.6*(e.marker.sizeref||1),i;if(e.marker.sizemode==="area"?i=function(u){return Math.max(Math.sqrt((u||0)/n),3)}:i=function(u){return Math.max((u||0)/n,3)},rR.isArrayOrTypedArray(r.size)){var a={type:"linear"};iw.setConvert(a);for(var o=a.makeCalcdata(e.marker,"size"),s=new Array(t),l=0;l<t;l++)s[l]=i(o[l]);return s}else return i(r.size)}}function bie(e,t){var r=wie(t),n=e._firstScatter;n[r]||(n[r]=t.uid)}function wie(e){var t=e.stackgroup;return e.xaxis+e.yaxis+e.type+(t?"-"+t:"")}function iR(e,t,r,n){var i=e.stackgroup;if(i){var a=t._scatterStackOpts[r._id+n._id][i],o=a.orientation==="v"?n:r;if(o.type==="linear"||o.type==="log")return a}}_ie.exports={calc:Prt,calcMarkerSize:xie,calcAxisExpansion:yie,setFirstScatter:bie,getStackOpts:iR}});var Aie=J((VPt,Tie)=>{"use strict";Tie.exports=$M;var Irt=gt().distinctVals;function $M(e,t){this.traces=e,this.sepNegVal=t.sepNegVal,this.overlapNoMerge=t.overlapNoMerge;for(var r=1/0,n=t.posAxis._id.charAt(0),i=[],a=0;a<e.length;a++){for(var o=e[a],s=0;s<o.length;s++){var l=o[s],u=l.p;u===void 0&&(u=l[n]),u!==void 0&&i.push(u)}o[0]&&o[0].width1&&(r=Math.min(o[0].width1,r))}this.positions=i;var f=Irt(i);this.distinctPositions=f.vals,f.vals.length===1&&r!==1/0?this.minDiff=r:this.minDiff=Math.min(f.minDiff,r);var c=(t.posAxis||{}).type;(c==="category"||c==="multicategory")&&(this.minDiff=1),this.binWidth=this.minDiff,this.bins={}}$M.prototype.put=function(t,r){var n=this.getLabel(t,r),i=this.bins[n]||0;return this.bins[n]=i+r,i};$M.prototype.get=function(t,r){var n=this.getLabel(t,r);return this.bins[n]||0};$M.prototype.getLabel=function(t,r){var n=r<0&&this.sepNegVal?"v":"^",i=this.overlapNoMerge?t:Math.round(t/this.binWidth);return n+i}});var kg=J((YPt,Die)=>{"use strict";var dc=dn(),S0=gt().isArrayOrTypedArray,cy=oi().BADNUM,qrt=zr(),aw=nn(),Frt=_0().getAxisGroup,KM=Aie();function zrt(e,t){for(var r=t.xaxis,n=t.yaxis,i=e._fullLayout,a=e._fullData,o=e.calcdata,s=[],l=[],u=0;u<a.length;u++){var f=a[u];if(f.visible===!0&&qrt.traceIs(f,"bar")&&f.xaxis===r._id&&f.yaxis===n._id&&(f.orientation==="h"?s.push(o[u]):l.push(o[u]),f._computePh))for(var c=e.calcdata[u],h=0;h<c.length;h++)typeof c[h].ph0=="function"&&(c[h].ph0=c[h].ph0()),typeof c[h].ph1=="function"&&(c[h].ph1=c[h].ph1())}var d={xCat:r.type==="category"||r.type==="multicategory",yCat:n.type==="category"||n.type==="multicategory",mode:i.barmode,norm:i.barnorm,gap:i.bargap,groupgap:i.bargroupgap};oR(e,r,n,l,d),oR(e,n,r,s,d)}function oR(e,t,r,n,i){if(n.length){var a,o,s,l,u;switch(Brt(r,n),i.mode){case"overlay":aR(t,r,n,i);break;case"group":for(a=[],o=[],s=0;s<n.length;s++)l=n[s],u=l[0].trace,u.offset===void 0?o.push(l):a.push(l);o.length&&Urt(e,t,r,o,i),a.length&&aR(t,r,a,i);break;case"stack":case"relative":for(a=[],o=[],s=0;s<n.length;s++)l=n[s],u=l[0].trace,u.base===void 0?o.push(l):a.push(l);Ort(o),o.length&&Hrt(e,t,r,o,i),a.length&&aR(t,r,a,i);break}Nrt(n),Wrt(n,t)}}function Nrt(e){var t,r,n,i,a,o,s;for(t=0;t<e.length;t++)r=e[t],n=r[0].trace,i=r[0].t,i.cornerradiusvalue===void 0&&(a=n.marker?n.marker.cornerradius:void 0,a!==void 0&&(o=dc(a)?+a:+a.slice(0,-1),s=dc(a)?"px":"%",i.cornerradiusvalue=o,i.cornerradiusform=s))}function Ort(e){if(!(e.length<2)){var t,r,n,i,a,o,s;for(t=0;t<e.length&&(r=e[t],n=r[0].trace,a=n.marker?n.marker.cornerradius:void 0,a===void 0);t++);if(a!==void 0)for(o=dc(a)?+a:+a.slice(0,-1),s=dc(a)?"px":"%",t=0;t<e.length;t++)r=e[t],i=r[0].t,i.cornerradiusvalue=o,i.cornerradiusform=s}}function Brt(e,t){var r,n;for(r=0;r<t.length;r++){var i=t[r],a=i[0].trace,o=a.type==="funnel"?a._base:a.base,s,l=a.orientation==="h"?a.xcalendar:a.ycalendar,u=e.type==="category"||e.type==="multicategory"?function(){return null}:e.d2c;if(S0(o)){for(n=0;n<Math.min(o.length,i.length);n++)s=u(o[n],0,l),dc(s)?(i[n].b=+s,i[n].hasB=1):i[n].b=0;for(;n<i.length;n++)i[n].b=0}else{s=u(o,0,l);var f=dc(s);for(s=f?s:0,n=0;n<i.length;n++)i[n].b=s,f&&(i[n].hasB=1)}}}function aR(e,t,r,n){for(var i=0;i<r.length;i++){var a=r[i],o=new KM([a],{posAxis:e,sepNegVal:!1,overlapNoMerge:!n.norm});Mie(e,o,n),n.norm?(Lie(o),sR(t,o,n)):Eie(t,o)}}function Urt(e,t,r,n,i){var a=new KM(n,{posAxis:t,sepNegVal:!1,overlapNoMerge:!i.norm});jrt(e,t,a,i),Yrt(a,t),i.norm?(Lie(a),sR(r,a,i)):Eie(r,a)}function Hrt(e,t,r,n,i){var a=new KM(n,{posAxis:t,sepNegVal:i.mode==="relative",overlapNoMerge:!(i.norm||i.mode==="stack"||i.mode==="relative")});Mie(t,a,i),Vrt(r,a,i);for(var o=0;o<n.length;o++)for(var s=n[o],l=0;l<s.length;l++){var u=s[l];if(u.s!==cy){var f=u.b+u.s===a.get(u.p,u.s);f&&(u._outmost=!0)}}i.norm&&sR(r,a,i)}function Mie(e,t,r){for(var n=t.minDiff,i=t.traces,a=n*(1-r.gap),o=a,s=o*(1-(r.groupgap||0)),l=-s/2,u=0;u<i.length;u++){var f=i[u],c=f[0].t;c.barwidth=s,c.poffset=l,c.bargroupwidth=a,c.bardelta=n}t.binWidth=i[0][0].t.barwidth/100,kie(t),Sie(e,t),Cie(e,t)}function jrt(e,t,r,n){for(var i=e._fullLayout,a=r.positions,o=r.distinctPositions,s=r.minDiff,l=r.traces,u=l.length,f=a.length!==o.length,c=s*(1-n.gap),h=Frt(i,t._id)+l[0][0].trace.orientation,d=i._alignmentOpts[h]||{},v=0;v<u;v++){var m=l[v],b=m[0].trace,g=d[b.alignmentgroup]||{},_=Object.keys(g.offsetGroups||{}).length,T;_?T=c/_:T=f?c/u:c;var w=T*(1-(n.groupgap||0)),k;_?k=((2*b._offsetIndex+1-_)*T-w)/2:k=f?((2*v+1-u)*T-w)/2:-w/2;var x=m[0].t;x.barwidth=w,x.poffset=k,x.bargroupwidth=c,x.bardelta=s}r.binWidth=l[0][0].t.barwidth/100,kie(r),Sie(t,r),Cie(t,r,f)}function kie(e){var t=e.traces,r,n;for(r=0;r<t.length;r++){var i=t[r],a=i[0],o=a.trace,s=a.t,l=o._offset||o.offset,u=s.poffset,f;if(S0(l)){for(f=Array.prototype.slice.call(l,0,i.length),n=0;n<f.length;n++)dc(f[n])||(f[n]=u);for(n=f.length;n<i.length;n++)f.push(u);s.poffset=f}else l!==void 0&&(s.poffset=l);var c=o._width||o.width,h=s.barwidth;if(S0(c)){var d=Array.prototype.slice.call(c,0,i.length);for(n=0;n<d.length;n++)dc(d[n])||(d[n]=h);for(n=d.length;n<i.length;n++)d.push(h);if(s.barwidth=d,l===void 0){for(f=[],n=0;n<i.length;n++)f.push(u+(h-d[n])/2);s.poffset=f}}else c!==void 0&&(s.barwidth=c,l===void 0&&(s.poffset=u+(h-c)/2))}}function Sie(e,t){for(var r=t.traces,n=hy(e),i=0;i<r.length;i++)for(var a=r[i],o=a[0].t,s=o.poffset,l=S0(s),u=o.barwidth,f=S0(u),c=0;c<a.length;c++){var h=a[c],d=h.w=f?u[c]:u;h.p===void 0&&(h.p=h[n],h["orig_"+n]=h[n]);var v=(l?s[c]:s)+d/2;h[n]=h.p+v}}function Cie(e,t,r){var n=t.traces,i=t.minDiff,a=i/2;aw.minDtick(e,t.minDiff,t.distinctPositions[0],r);for(var o=0;o<n.length;o++){var s=n[o],l=s[0],u=l.trace,f=[],c,h,d,v;for(v=0;v<s.length;v++)c=s[v],h=c.p-a,d=c.p+a,f.push(h,d);if(u.width||u.offset){var m=l.t,b=m.poffset,g=m.barwidth,_=S0(b),T=S0(g);for(v=0;v<s.length;v++){c=s[v];var w=_?b[v]:b,k=T?g[v]:g;h=c.p+w,d=h+k,f.push(h,d)}}u._extremes[e._id]=aw.findExtremes(e,f,{padded:!1})}}function Eie(e,t){for(var r=t.traces,n=hy(e),i=0;i<r.length;i++){for(var a=r[i],o=a[0].trace,s=o.type==="scatter",l=o.orientation==="v",u=[],f=!1,c=0;c<a.length;c++){var h=a[c],d=s?0:h.b,v=s?l?h.y:h.x:d+h.s;h[n]=v,u.push(v),h.hasB&&u.push(d),(!h.hasB||!h.b)&&(f=!0)}o._extremes[e._id]=aw.findExtremes(e,u,{tozero:f,padded:!0})}}function Vrt(e,t,r){var n=hy(e),i=t.traces,a,o,s,l,u,f;for(l=0;l<i.length;l++)if(a=i[l],o=a[0].trace,o.type==="funnel")for(u=0;u<a.length;u++)f=a[u],f.s!==cy&&t.put(f.p,-.5*f.s);for(l=0;l<i.length;l++){a=i[l],o=a[0].trace,s=o.type==="funnel";var c=[];for(u=0;u<a.length;u++)if(f=a[u],f.s!==cy){var h;s?h=f.s:h=f.s+f.b;var d=t.put(f.p,h),v=d+h;f.b=d,f[n]=v,r.norm||(c.push(v),f.hasB&&c.push(d))}r.norm||(o._extremes[e._id]=aw.findExtremes(e,c,{tozero:!0,padded:!0}))}}function Lie(e){for(var t=e.traces,r=0;r<t.length;r++)for(var n=t[r],i=0;i<n.length;i++){var a=n[i];a.s!==cy&&e.put(a.p,a.b+a.s)}}function Yrt(e,t){for(var r=e.traces,n=0;n<r.length;n++){var i=r[n],a=i[0].trace;if(a.base===void 0)for(var o=new KM([i],{posAxis:t,sepNegVal:!0,overlapNoMerge:!0}),s=0;s<i.length;s++){var l=i[s];if(l.p!==cy){var u=o.put(l.p,l.b+l.s);u&&(l.b=u)}}}}function sR(e,t,r){var n=t.traces,i=hy(e),a=r.norm==="fraction"?1:100,o=a/1e9,s=e.l2c(e.c2l(0)),l=r.mode==="stack"?a:s;function u(k){return dc(e.c2l(k))&&(k<s-o||k>l+o||!dc(s))}for(var f=0;f<n.length;f++){for(var c=n[f],h=c[0].trace,d=[],v=!1,m=!1,b=0;b<c.length;b++){var g=c[b];if(g.s!==cy){var _=Math.abs(a/t.get(g.p,g.s));g.b*=_,g.s*=_;var T=g.b,w=T+g.s;g[i]=w,d.push(w),m=m||u(w),g.hasB&&(d.push(T),m=m||u(T)),(!g.hasB||!g.b)&&(v=!0)}}h._extremes[e._id]=aw.findExtremes(e,d,{tozero:v,padded:m})}}function Grt(e,t,r,n){for(var i=hy(n),a=0;a<e.length;a++)for(var o=e[a],s=0;s<o.length;s++){var l=o[s],u=l[i];l._sMin=t[u],l._sMax=r[u]}}function Wrt(e,t){var r=hy(t),n={},i,a,o,s=1/0,l=-1/0;for(i=0;i<e.length;i++)for(o=e[i],a=0;a<o.length;a++){var u=o[a].p;dc(u)&&(s=Math.min(s,u),l=Math.max(l,u))}var f=1e4/(l-s),c=n.round=function(A){return String(Math.round(f*(A-s)))},h={},d={},v=e.some(function(A){var p=A[0].trace;return"marker"in p&&p.marker.cornerradius});for(i=0;i<e.length;i++){o=e[i],o[0].t.extents=n;var m=o[0].t.poffset,b=S0(m);for(a=0;a<o.length;a++){var g=o[a],_=g[r]-g.w/2;if(dc(_)){var T=g[r]+g.w/2,w=c(g.p);n[w]?n[w]=[Math.min(_,n[w][0]),Math.max(T,n[w][1])]:n[w]=[_,T]}if(g.p0=g.p+(b?m[a]:m),g.p1=g.p0+g.w,g.s0=g.b,g.s1=g.s0+g.s,v){var k=Math.min(g.s0,g.s1)||0,x=Math.max(g.s0,g.s1)||0,M=g[r];h[M]=M in h?Math.min(h[M],k):k,d[M]=M in d?Math.max(d[M],x):x}}}v&&Grt(e,h,d,t)}function hy(e){return e._id.charAt(0)}Die.exports={crossTraceCalc:zrt,setGroupPositions:oR}});var qie=J((GPt,Iie)=>{"use strict";var Rie=Mg(),Pie=kg().setGroupPositions;function Xrt(e,t){for(var r=t.xaxis,n=t.yaxis,i=e._fullLayout,a=e._fullData,o=e.calcdata,s=[],l=[],u=0;u<a.length;u++){var f=a[u];f.visible===!0&&f.type==="scatter"&&f.xaxis===r._id&&f.yaxis===n._id&&(f.orientation==="h"?s.push(o[u]):f.orientation==="v"&&l.push(o[u]))}var c={mode:i.scattermode,gap:i.scattergap};Pie(e,r,n,l,c),Pie(e,n,r,s,c)}Iie.exports=function(t,r){t._fullLayout.scattermode==="group"&&Xrt(t,r);var n=r.xaxis,i=r.yaxis,a=n._id+i._id,o=t._fullLayout._scatterStackOpts[a];if(o){var s=t.calcdata,l,u,f,c,h,d,v,m,b,g,_,T,w,k,x;for(var M in o){g=o[M];var A=g.traceIndices;if(A.length){for(_=g.stackgaps==="interpolate",T=g.groupnorm,g.orientation==="v"?(w="x",k="y"):(w="y",k="x"),x=new Array(A.length),l=0;l<x.length;l++)x[l]=!1;d=s[A[0]];var p=new Array(d.length);for(l=0;l<d.length;l++)p[l]=d[l][w];for(l=1;l<A.length;l++){for(h=s[A[l]],u=f=0;u<h.length;u++){for(v=h[u][w];v>p[f]&&f<p.length;f++)lR(h,u,p[f],l,x,_,w),u++;if(v!==p[f]){for(c=0;c<l;c++)lR(s[A[c]],f,v,c,x,_,w);p.splice(f,0,v)}f++}for(;f<p.length;f++)lR(h,u,p[f],l,x,_,w),u++}var S=p.length;for(u=0;u<d.length;u++){for(m=d[u][k]=d[u].s,l=1;l<A.length;l++)h=s[A[l]],h[0].trace._rawLength=h[0].trace._length,h[0].trace._length=S,m+=h[u].s,h[u][k]=m;if(T)for(b=(T==="fraction"?m:m/100)||1,l=0;l<A.length;l++){var y=s[A[l]][u];y[k]/=b,y.sNorm=y.s/b}}for(l=0;l<A.length;l++){h=s[A[l]];var E=h[0].trace,C=Rie.calcMarkerSize(E,E._rawLength),L=Array.isArray(C);if(C&&x[l]||L){var R=C;for(C=new Array(S),u=0;u<S;u++)C[u]=h[u].gap?0:L?R[h[u].i]:R}var I=new Array(S),P=new Array(S);for(u=0;u<S;u++)I[u]=h[u].x,P[u]=h[u].y;Rie.calcAxisExpansion(t,E,n,i,I,P,C),h[0].t.orientation=g.orientation}}}}};function lR(e,t,r,n,i,a,o){i[n]=!0;var s={i:null,gap:!0,s:0};if(s[o]=r,e.splice(t,0,s),t&&r===e[t-1][o]){var l=e[t-1];s.s=l.s,s.i=l.i,s.gap=l.gap}else a&&(s.s=Zrt(e,t,r,o));t||(e[0].t=e[1].t,e[0].trace=e[1].trace,delete e[1].t,delete e[1].trace)}function Zrt(e,t,r,n){var i=e[t-1],a=e[t+1];return a?i?i.s+(a.s-i.s)*(r-i[n])/(a[n]-i[n]):a.s:i.s}});var fR=J((WPt,Uie)=>{"use strict";var Jrt=ln(),Oie=oi(),ow=Oie.BADNUM,Bie=Oie.LOG_CLIP,Fie=Bie+.5,zie=Bie-.5,QM=gt(),$rt=QM.segmentsIntersect,Nie=QM.constrain,uR=pg();Uie.exports=function(t,r){var n=r.trace||{},i=r.xaxis,a=r.yaxis,o=i.type==="log",s=a.type==="log",l=i._length,u=a._length,f=r.backoff,c=n.marker,h=r.connectGaps,d=r.baseTolerance,v=r.shape,m=v==="linear",b=n.fill&&n.fill!=="none",g=[],_=uR.minTolerance,T=t.length,w=new Array(T),k=0,x,M,A,p,S,y,E,C,L,R,I,P,D,q,N,U;function G(nt){var bt=t[nt];if(!bt)return!1;var At=r.linearized?i.l2p(bt.x):i.c2p(bt.x),Ye=r.linearized?a.l2p(bt.y):a.c2p(bt.y);if(At===ow){if(o&&(At=i.c2p(bt.x,!0)),At===ow)return!1;s&&Ye===ow&&(At*=Math.abs(i._m*u*(i._m>0?Fie:zie)/(a._m*l*(a._m>0?Fie:zie)))),At*=1e3}if(Ye===ow){if(s&&(Ye=a.c2p(bt.y,!0)),Ye===ow)return!1;Ye*=1e3}return[At,Ye]}function ee(nt,bt,At,Ye){var je=At-nt,$e=Ye-bt,ve=.5-nt,Y=.5-bt,ie=je*je+$e*$e,Te=je*ve+$e*Y;if(Te>0&&Te<ie){var Ve=ve*$e-Y*je;if(Ve*Ve<ie)return!0}}var Q,j;function O(nt,bt){var At=nt[0]/l,Ye=nt[1]/u,je=Math.max(0,-At,At-1,-Ye,Ye-1);return je&&Q!==void 0&&ee(At,Ye,Q,j)&&(je=0),je&&bt&&ee(At,Ye,bt[0]/l,bt[1]/u)&&(je=0),(1+uR.toleranceGrowth*je)*d}function Z(nt,bt){var At=nt[0]-bt[0],Ye=nt[1]-bt[1];return Math.sqrt(At*At+Ye*Ye)}var K=uR.maxScreensAway,$=-l*K,oe=l*(1+K),te=-u*K,V=u*(1+K),ne=[[$,te,oe,te],[oe,te,oe,V],[oe,V,$,V],[$,V,$,te]],W,fe,ge,Ce,Ne,pe;function me(nt,bt){for(var At=[],Ye=0,je=0;je<4;je++){var $e=ne[je],ve=$rt(nt[0],nt[1],bt[0],bt[1],$e[0],$e[1],$e[2],$e[3]);ve&&(!Ye||Math.abs(ve.x-At[0][0])>1||Math.abs(ve.y-At[0][1])>1)&&(ve=[ve.x,ve.y],Ye&&Z(ve,nt)<Z(At[0],nt)?At.unshift(ve):At.push(ve),Ye++)}return At}function Ie(nt){if(nt[0]<$||nt[0]>oe||nt[1]<te||nt[1]>V)return[Nie(nt[0],$,oe),Nie(nt[1],te,V)]}function Re(nt,bt){if(nt[0]===bt[0]&&(nt[0]===$||nt[0]===oe)||nt[1]===bt[1]&&(nt[1]===te||nt[1]===V))return!0}function ze(nt,bt){var At=[],Ye=Ie(nt),je=Ie(bt);return Ye&&je&&Re(Ye,je)||(Ye&&At.push(Ye),je&&At.push(je)),At}function Be(nt,bt,At){return function(Ye,je){var $e=Ie(Ye),ve=Ie(je),Y=[];if($e&&ve&&Re($e,ve))return Y;$e&&Y.push($e),ve&&Y.push(ve);var ie=2*QM.constrain((Ye[nt]+je[nt])/2,bt,At)-(($e||Ye)[nt]+(ve||je)[nt]);if(ie){var Te;$e&&ve?Te=ie>0==$e[nt]>ve[nt]?$e:ve:Te=$e||ve,Te[nt]+=ie}return Y}}var tt;v==="linear"||v==="spline"?tt=me:v==="hv"||v==="vh"?tt=ze:v==="hvh"?tt=Be(0,$,oe):v==="vhv"&&(tt=Be(1,te,V));function rt(nt,bt){var At=bt[0]-nt[0],Ye=(bt[1]-nt[1])/At,je=(nt[1]*bt[0]-bt[1]*nt[0])/At;return je>0?[Ye>0?$:oe,V]:[Ye>0?oe:$,te]}function ce(nt){var bt=nt[0],At=nt[1],Ye=bt===w[k-1][0],je=At===w[k-1][1];if(!(Ye&&je))if(k>1){var $e=bt===w[k-2][0],ve=At===w[k-2][1];Ye&&(bt===$||bt===oe)&&$e?ve?k--:w[k-1]=nt:je&&(At===te||At===V)&&ve?$e?k--:w[k-1]=nt:w[k++]=nt}else w[k++]=nt}function Ee(nt){w[k-1][0]!==nt[0]&&w[k-1][1]!==nt[1]&&ce([ge,Ce]),ce(nt),Ne=null,ge=Ce=0}var Ae=QM.isArrayOrTypedArray(c);function Pe(nt){if(nt&&f&&(nt.i=x,nt.d=t,nt.trace=n,nt.marker=Ae?c[nt.i]:c,nt.backoff=f),Q=nt[0]/l,j=nt[1]/u,W=nt[0]<$?$:nt[0]>oe?oe:0,fe=nt[1]<te?te:nt[1]>V?V:0,W||fe){if(!k)w[k++]=[W||nt[0],fe||nt[1]];else if(Ne){var bt=tt(Ne,nt);bt.length>1&&(Ee(bt[0]),w[k++]=bt[1])}else pe=tt(w[k-1],nt)[0],w[k++]=pe;var At=w[k-1];W&&fe&&(At[0]!==W||At[1]!==fe)?(Ne&&(ge!==W&&Ce!==fe?ce(ge&&Ce?rt(Ne,nt):[ge||W,Ce||fe]):ge&&Ce&&ce([ge,Ce])),ce([W,fe])):ge-W&&Ce-fe&&ce([W||ge,fe||Ce]),Ne=nt,ge=W,Ce=fe}else Ne&&Ee(tt(Ne,nt)[0]),w[k++]=nt}for(x=0;x<T;x++)if(M=G(x),!!M){for(k=0,Ne=null,Pe(M),x++;x<T;x++){if(p=G(x),!p){if(h)continue;break}if(!m||!r.simplify){Pe(p);continue}var He=G(x+1);if(R=Z(p,M),!(!(b&&(k===0||k===T-1))&&R<O(p,He)*_)){for(C=[(p[0]-M[0])/R,(p[1]-M[1])/R],S=M,I=R,P=q=N=0,E=!1,A=p,x++;x<t.length;x++){if(y=He,He=G(x+1),!y){if(h)continue;break}if(L=[y[0]-M[0],y[1]-M[1]],U=L[0]*C[1]-L[1]*C[0],q=Math.min(q,U),N=Math.max(N,U),N-q>O(y,He))break;A=y,D=L[0]*C[0]+L[1]*C[1],D>I?(I=D,p=y,E=!1):D<P&&(P=D,S=y,E=!0)}if(E?(Pe(p),A!==S&&Pe(S)):(S!==M&&Pe(S),A!==p&&Pe(p)),Pe(A),x>=t.length||!y)break;Pe(y),M=y}}Ne&&ce([ge||Ne[0],Ce||Ne[1]]),g.push(w.slice(0,k))}var Fe=v.slice(v.length-1);if(f&&Fe!=="h"&&Fe!=="v"){for(var ke=!1,Ue=-1,Ge=[],lt=0;lt<g.length;lt++)for(var it=0;it<g[lt].length-1;it++){var wt=g[lt][it],_t=g[lt][it+1],Tt=Jrt.applyBackoff(_t,wt);(Tt[0]!==_t[0]||Tt[1]!==_t[1])&&(ke=!0),Ge[Ue+1]||(Ue++,Ge[Ue]=[wt,[Tt[0],Tt[1]]])}return ke?Ge:g}return g}});var Vie=J((XPt,jie)=>{"use strict";var Hie={tonextx:1,tonexty:1,tonext:1};jie.exports=function(t,r,n){var i,a,o,s,l,u={},f=!1,c=-1,h=0,d=-1;for(a=0;a<n.length;a++)i=n[a][0].trace,o=i.stackgroup||"",o?o in u?l=u[o]:(l=u[o]=h,h++):i.fill in Hie&&d>=0?l=d:(l=d=h,h++),l<c&&(f=!0),i._groupIndex=c=l;var v=n.slice();f&&v.sort(function(b,g){var _=b[0].trace,T=g[0].trace;return _._groupIndex-T._groupIndex||_.index-T.index});var m={};for(a=0;a<v.length;a++)i=v[a][0].trace,o=i.stackgroup||"",i.visible===!0?(i._nexttrace=null,i.fill in Hie&&(s=m[o],i._prevtrace=s||null,s&&(s._nexttrace=i)),i._ownfill=i.fill&&(i.fill.substr(0,6)==="tozero"||i.fill==="toself"||i.fill.substr(0,2)==="to"&&!i._prevtrace),m[o]=i):i._prevtrace=i._nexttrace=i._ownfill=null;return v}});var lw=J((ZPt,Wie)=>{"use strict";var sh=Nr(),Krt=zr(),sw=gt(),vy=sw.ensureSingle,Gie=sw.identity,ro=ln(),dy=fs(),Qrt=fR(),ent=Vie(),ek=R2().tester;Wie.exports=function(t,r,n,i,a,o){var s,l,u=!a,f=!!a&&a.duration>0,c=ent(t,r,n);if(s=i.selectAll("g.trace").data(c,function(d){return d[0].trace.uid}),s.enter().append("g").attr("class",function(d){return"trace scatter trace"+d[0].trace.uid}).style("stroke-miterlimit",2),s.order(),tnt(t,s,r),f){o&&(l=o());var h=sh.transition().duration(a.duration).ease(a.easing).each("end",function(){l&&l()}).each("interrupt",function(){l&&l()});h.each(function(){i.selectAll("g.trace").each(function(d,v){Yie(t,v,r,d,c,this,a)})})}else s.each(function(d,v){Yie(t,v,r,d,c,this,a)});u&&s.exit().remove(),i.selectAll("path:not([d])").remove()};function tnt(e,t,r){t.each(function(n){var i=vy(sh.select(this),"g","fills");ro.setClipUrl(i,r.layerClipId,e);var a=n[0].trace,o=[];a._ownfill&&o.push("_ownFill"),a._nexttrace&&o.push("_nextFill");var s=i.selectAll("g").data(o,Gie);s.enter().append("g"),s.exit().each(function(l){a[l]=null}).remove(),s.order().each(function(l){a[l]=vy(sh.select(this),"path","js-fill")})})}function Yie(e,t,r,n,i,a,o){var s=e._context.staticPlot,l;rnt(e,t,r,n,i);var u=!!o&&o.duration>0;function f(Be){return u?Be.transition():Be}var c=r.xaxis,h=r.yaxis,d=n[0].trace,v=d.line,m=sh.select(a),b=vy(m,"g","errorbars"),g=vy(m,"g","lines"),_=vy(m,"g","points"),T=vy(m,"g","text");if(Krt.getComponentMethod("errorbars","plot")(e,b,r,o),d.visible!==!0)return;f(m).style("opacity",d.opacity);var w,k,x=d.fill.charAt(d.fill.length-1);x!=="x"&&x!=="y"&&(x="");var M,A;x==="y"?(M=1,A=h.c2p(0,!0)):x==="x"&&(M=0,A=c.c2p(0,!0)),n[0][r.isRangePlot?"nodeRangePlot3":"node3"]=m;var p="",S=[],y=d._prevtrace,E=null,C=null;y&&(p=y._prevRevpath||"",k=y._nextFill,S=y._ownPolygons,E=y._fillsegments,C=y._fillElement);var L,R,I="",P="",D,q,N,U,G,ee,Q=[];d._polygons=[];var j=[],O=[],Z=sw.noop;if(w=d._ownFill,dy.hasLines(d)||d.fill!=="none"){k&&k.datum(n),["hv","vh","hvh","vhv"].indexOf(v.shape)!==-1?(D=ro.steps(v.shape),q=ro.steps(v.shape.split("").reverse().join(""))):v.shape==="spline"?D=q=function(Be){var tt=Be[Be.length-1];return Be.length>1&&Be[0][0]===tt[0]&&Be[0][1]===tt[1]?ro.smoothclosed(Be.slice(1),v.smoothing):ro.smoothopen(Be,v.smoothing)}:D=q=function(Be){return"M"+Be.join("L")},N=function(Be){return q(Be.reverse())},O=Qrt(n,{xaxis:c,yaxis:h,trace:d,connectGaps:d.connectgaps,baseTolerance:Math.max(v.width||1,3)/4,shape:v.shape,backoff:v.backoff,simplify:v.simplify,fill:d.fill}),j=new Array(O.length);var K=0;for(l=0;l<O.length;l++){var $,oe=O[l];!$||!x?($=oe.slice(),j[K]=$,K++):$.push.apply($,oe)}d._fillElement=null,d._fillExclusionElement=C,d._fillsegments=j.slice(0,K),j=d._fillsegments,O.length&&(U=O[0][0].slice(),G=O[O.length-1],ee=G[G.length-1].slice()),Z=function(Be){return function(tt){if(L=D(tt),R=N(tt),I?x?(I+="L"+L.substr(1),P=R+("L"+P.substr(1))):(I+="Z"+L,P=R+"Z"+P):(I=L,P=R),dy.hasLines(d)){var rt=sh.select(this);if(rt.datum(n),Be)f(rt.style("opacity",0).attr("d",L).call(ro.lineGroupStyle)).style("opacity",1);else{var ce=f(rt);ce.attr("d",L),ro.singleLineStyle(n,ce)}}}}}var te=g.selectAll(".js-line").data(O);f(te.exit()).style("opacity",0).remove(),te.each(Z(!1)),te.enter().append("path").classed("js-line",!0).style("vector-effect",s?"none":"non-scaling-stroke").call(ro.lineGroupStyle).each(Z(!0)),ro.setClipUrl(te,r.layerClipId,e);function V(Be){f(Be).attr("d","M0,0Z")}var ne=function(){var Be=new Array(j.length);for(l=0;l<j.length;l++)Be[l]=ek(j[l]);return Be},W=function(Be){var tt,rt;if(!Be||Be.length===0)for(tt=new Array(j.length),rt=0;rt<j.length;rt++){var ce=j[rt][0].slice(),Ee=j[rt][j[rt].length-1].slice();ce[M]=Ee[M]=A;var Ae=[Ee,ce],Pe=Ae.concat(j[rt]);tt[rt]=ek(Pe)}else{for(tt=new Array(Be.length-1+j.length),rt=0;rt<Be.length-1;rt++)tt[rt]=ek(Be[rt]);var He=Be[Be.length-1].slice();for(He.reverse(),rt=0;rt<j.length;rt++)tt[Be.length-1+rt]=ek(j[rt].concat(He))}return tt};O.length?(w?(w.datum(n),U&&ee&&(x?(U[M]=ee[M]=A,f(w).attr("d","M"+ee+"L"+U+"L"+I.substr(1)).call(ro.singleFillStyle,e),Q=W(null)):(f(w).attr("d",I+"Z").call(ro.singleFillStyle,e),Q=ne())),d._polygons=Q,d._fillElement=w):k&&(d.fill.substr(0,6)==="tonext"&&I&&p?(d.fill==="tonext"?(f(k).attr("d",I+"Z"+p+"Z").call(ro.singleFillStyle,e),Q=ne(),d._polygons=Q.concat(S)):(f(k).attr("d",I+"L"+p.substr(1)+"Z").call(ro.singleFillStyle,e),Q=W(E),d._polygons=Q),d._fillElement=k):V(k)),d._prevRevpath=P):(w?V(w):k&&V(k),d._prevRevpath=null),d._ownPolygons=Q;function fe(Be){return Be.filter(function(tt){return!tt.gap&&tt.vis})}function ge(Be){return Be.filter(function(tt){return tt.vis})}function Ce(Be){return Be.filter(function(tt){return!tt.gap})}function Ne(Be){return Be.id}function pe(Be){if(Be.ids)return Ne}function me(){return!1}function Ie(Be,tt,rt){var ce,Ee,Ae,Pe=rt[0].trace,He=dy.hasMarkers(Pe),Fe=dy.hasText(Pe),ke=pe(Pe),Ue=me,Ge=me;if(He||Fe){var lt=Gie,it=Pe.stackgroup,wt=it&&e._fullLayout._scatterStackOpts[c._id+h._id][it].stackgaps==="infer zero";Pe.marker.maxdisplayed||Pe._needsCull?lt=wt?ge:fe:it&&!wt&&(lt=Ce),He&&(Ue=lt),Fe&&(Ge=lt)}Ee=Be.selectAll("path.point"),ce=Ee.data(Ue,ke);var _t=ce.enter().append("path").classed("point",!0);u&&_t.call(ro.pointStyle,Pe,e).call(ro.translatePoints,c,h).style("opacity",0).transition().style("opacity",1),ce.order();var Tt;He&&(Tt=ro.makePointStyleFns(Pe)),ce.each(function(nt){var bt=sh.select(this),At=f(bt);Ae=ro.translatePoint(nt,At,c,h),Ae?(ro.singlePointStyle(nt,At,Pe,Tt,e),r.layerClipId&&ro.hideOutsideRangePoint(nt,At,c,h,Pe.xcalendar,Pe.ycalendar),Pe.customdata&&bt.classed("plotly-customdata",nt.data!==null&&nt.data!==void 0)):At.remove()}),u?ce.exit().transition().style("opacity",0).remove():ce.exit().remove(),Ee=tt.selectAll("g"),ce=Ee.data(Ge,ke),ce.enter().append("g").classed("textpoint",!0).append("text"),ce.order(),ce.each(function(nt){var bt=sh.select(this),At=f(bt.select("text"));Ae=ro.translatePoint(nt,At,c,h),Ae?r.layerClipId&&ro.hideOutsideRangePoint(nt,bt,c,h,Pe.xcalendar,Pe.ycalendar):bt.remove()}),ce.selectAll("text").call(ro.textPointStyle,Pe,e).each(function(nt){var bt=c.c2p(nt.x),At=h.c2p(nt.y);sh.select(this).selectAll("tspan.line").each(function(){f(sh.select(this)).attr({x:bt,y:At})})}),ce.exit().remove()}_.datum(n),T.datum(n),Ie(_,T,n);var Re=d.cliponaxis===!1,ze=Re?null:r.layerClipId;ro.setClipUrl(_,ze,e),ro.setClipUrl(T,ze,e)}function rnt(e,t,r,n,i){var a=r.xaxis,o=r.yaxis,s=sh.extent(sw.simpleMap(a.range,a.r2c)),l=sh.extent(sw.simpleMap(o.range,o.r2c)),u=n[0].trace;if(dy.hasMarkers(u)){var f=u.marker.maxdisplayed;if(f!==0){var c=n.filter(function(m){return m.x>=s[0]&&m.x<=s[1]&&m.y>=l[0]&&m.y<=l[1]}),h=Math.ceil(c.length/f),d=0;i.forEach(function(m,b){var g=m[0].trace;dy.hasMarkers(g)&&g.marker.maxdisplayed>0&&b<t&&d++});var v=Math.round(d*h/3+Math.floor(d/3)*h/7.1);n.forEach(function(m){delete m.vis}),c.forEach(function(m,b){Math.round((b+v)%h)===0&&(m.vis=!0)})}}}});var pc=J((JPt,Xie)=>{"use strict";Xie.exports={container:"marker",min:"cmin",max:"cmax"}});var cR=J(($Pt,Zie)=>{"use strict";var tk=nn();Zie.exports=function(t,r,n){var i={},a={_fullLayout:n},o=tk.getFromTrace(a,r,"x"),s=tk.getFromTrace(a,r,"y"),l=t.orig_x;l===void 0&&(l=t.x);var u=t.orig_y;return u===void 0&&(u=t.y),i.xLabel=tk.tickText(o,o.c2l(l),!0).text,i.yLabel=tk.tickText(s,s.c2l(u),!0).text,i}});var Ef=J((KPt,Jie)=>{"use strict";var hR=Nr(),py=ln(),nnt=zr();function int(e){var t=hR.select(e).selectAll("g.trace.scatter");t.style("opacity",function(r){return r[0].trace.opacity}),t.selectAll("g.points").each(function(r){var n=hR.select(this),i=r.trace||r[0].trace;vR(n,i,e)}),t.selectAll("g.text").each(function(r){var n=hR.select(this),i=r.trace||r[0].trace;dR(n,i,e)}),t.selectAll("g.trace path.js-line").call(py.lineGroupStyle),t.selectAll("g.trace path.js-fill").call(py.fillGroupStyle,e,!1),nnt.getComponentMethod("errorbars","style")(t)}function vR(e,t,r){py.pointStyle(e.selectAll("path.point"),t,r)}function dR(e,t,r){py.textPointStyle(e.selectAll("text"),t,r)}function ant(e,t,r){var n=t[0].trace;n.selectedpoints?(py.selectedPointStyle(r.selectAll("path.point"),n),py.selectedTextStyle(r.selectAll("text"),n)):(vR(r,n,e),dR(r,n,e))}Jie.exports={style:int,stylePoints:vR,styleText:dR,styleOnSelect:ant}});var rk=J((QPt,$ie)=>{"use strict";var gy=qr(),ont=fs();$ie.exports=function(t,r){var n,i;if(t.mode==="lines")return n=t.line.color,n&&gy.opacity(n)?n:t.fillcolor;if(t.mode==="none")return t.fill?t.fillcolor:"";var a=r.mcc||(t.marker||{}).color,o=r.mlcc||((t.marker||{}).line||{}).color;return i=a&&gy.opacity(a)?a:o&&gy.opacity(o)&&(r.mlw||((t.marker||{}).line||{}).width)?o:"",i?gy.opacity(i)<.3?gy.addOpacity(i,.3):i:(n=(t.line||{}).color,n&&gy.opacity(n)&&ont.hasLines(t)&&t.line.width?n:t.fillcolor)}});var uw=J((eIt,Qie)=>{"use strict";var nk=gt(),Kie=go(),snt=zr(),lnt=rk(),pR=qr(),unt=nk.fillText;Qie.exports=function(t,r,n,i){var a=t.cd,o=a[0].trace,s=t.xa,l=t.ya,u=s.c2p(r),f=l.c2p(n),c=[u,f],h=o.hoveron||"",d=o.mode.indexOf("markers")!==-1?3:.5,v=!!o.xperiodalignment,m=!!o.yperiodalignment;if(h.indexOf("points")!==-1){var b=function(P){if(v){var D=s.c2p(P.xStart),q=s.c2p(P.xEnd);return u>=Math.min(D,q)&&u<=Math.max(D,q)?0:1/0}var N=Math.max(3,P.mrc||0),U=1-1/N,G=Math.abs(s.c2p(P.x)-u);return G<N?U*G/N:G-N+U},g=function(P){if(m){var D=l.c2p(P.yStart),q=l.c2p(P.yEnd);return f>=Math.min(D,q)&&f<=Math.max(D,q)?0:1/0}var N=Math.max(3,P.mrc||0),U=1-1/N,G=Math.abs(l.c2p(P.y)-f);return G<N?U*G/N:G-N+U},_=function(P){var D=Math.max(d,P.mrc||0),q=s.c2p(P.x)-u,N=l.c2p(P.y)-f;return Math.max(Math.sqrt(q*q+N*N)-D,1-d/D)},T=Kie.getDistanceFunction(i,b,g,_);if(Kie.getClosest(a,T,t),t.index!==!1){var w=a[t.index],k=s.c2p(w.x,!0),x=l.c2p(w.y,!0),M=w.mrc||1;t.index=w.i;var A=a[0].t.orientation,p=A&&(w.sNorm||w.s),S=A==="h"?p:w.orig_x!==void 0?w.orig_x:w.x,y=A==="v"?p:w.orig_y!==void 0?w.orig_y:w.y;return nk.extendFlat(t,{color:lnt(o,w),x0:k-M,x1:k+M,xLabelVal:S,y0:x-M,y1:x+M,yLabelVal:y,spikeDistance:_(w),hovertemplate:o.hovertemplate}),unt(w,o,t),snt.getComponentMethod("errorbars","hoverInfo")(w,o,t),[t]}}function E(P){if(!P)return!1;var D=P.node();try{var q=new DOMPoint(c[0],c[1]);return D.isPointInFill(q)}catch{var N=D.ownerSVGElement.createSVGPoint();return N.x=c[0],N.y=c[1],D.isPointInFill(N)}}function C(P){var D,q=[],N=1/0,U=-1/0,G=1/0,ee=-1/0,Q;for(D=0;D<P.length;D++){var j=P[D];j.contains(c)&&(q.push(j),G=Math.min(G,j.ymin),ee=Math.max(ee,j.ymax))}if(q.length===0)return null;G=Math.max(G,0),ee=Math.min(ee,l._length),Q=(G+ee)/2;var O,Z,K,$,oe,te,V;for(D=0;D<q.length;D++)for(Z=q[D].pts,O=1;O<Z.length;O++)te=Z[O-1][1],V=Z[O][1],te>Q!=V>=Q&&($=Z[O-1][0],oe=Z[O][0],V-te&&(K=$+(oe-$)*(Q-te)/(V-te),N=Math.min(N,K),U=Math.max(U,K)));return N=Math.max(N,0),U=Math.min(U,s._length),{x0:N,x1:U,y0:Q,y1:Q}}if(h.indexOf("fills")!==-1&&o._fillElement){var L=E(o._fillElement)&&!E(o._fillExclusionElement);if(L){var R=C(o._polygons);R===null&&(R={x0:c[0],x1:c[0],y0:c[1],y1:c[1]});var I=pR.defaultLine;return pR.opacity(o.fillcolor)?I=o.fillcolor:pR.opacity((o.line||{}).color)&&(I=o.line.color),nk.extendFlat(t,{distance:t.maxHoverDistance,x0:R.x0,x1:R.x1,y0:R.y0,y1:R.y1,color:I,hovertemplate:!1}),delete t.index,o.text&&!nk.isArrayOrTypedArray(o.text)?t.text=String(o.text):t.text=o.name,[t]}}}});var fw=J((tIt,tae)=>{"use strict";var eae=fs();tae.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l,u,f,c,h=!eae.hasMarkers(s)&&!eae.hasText(s);if(h)return[];if(r===!1)for(l=0;l<n.length;l++)n[l].selected=0;else for(l=0;l<n.length;l++)u=n[l],f=i.c2p(u.x),c=a.c2p(u.y),u.i!==null&&r.contains([f,c],!1,l,t)?(o.push({pointNumber:u.i,x:i.c2d(u.x),y:a.c2d(u.y)}),u.selected=1):u.selected=0;return o}});var gR=J((rIt,rae)=>{"use strict";rae.exports={xaxis:{valType:"subplotid",dflt:"x",editType:"calc+clearAxisTypes",description:["Sets a reference between this trace's x coordinates and","a 2D cartesian x axis.","If *x* (the default value), the x coordinates refer to","`layout.xaxis`.","If *x2*, the x coordinates refer to `layout.xaxis2`, and so on."].join(" ")},yaxis:{valType:"subplotid",dflt:"y",editType:"calc+clearAxisTypes",description:["Sets a reference between this trace's y coordinates and","a 2D cartesian y axis.","If *y* (the default value), the y coordinates refer to","`layout.yaxis`.","If *y2*, the y coordinates refer to `layout.yaxis2`, and so on."].join(" ")}}});var yR=J((nIt,aae)=>{"use strict";var cw=zr().traceIs,mR=V1();aae.exports=function(t,r,n,i){n("autotypenumbers",i.autotypenumbersDflt);var a=n("type",(i.splomStash||{}).type);a==="-"&&(fnt(r,i.data),r.type==="-"?r.type="linear":t.type=r.type)};function fnt(e,t){if(e.type==="-"){var r=e._id,n=r.charAt(0),i;r.indexOf("scene")!==-1&&(r=n);var a=cnt(t,r,n);if(a){if(a.type==="histogram"&&n==={v:"y",h:"x"}[a.orientation||"v"]){e.type="linear";return}var o=n+"calendar",s=a[o],l={noMultiCategory:!cw(a,"cartesian")||cw(a,"noMultiCategory")};if(a.type==="box"&&a._hasPreCompStats&&n==={h:"x",v:"y"}[a.orientation||"v"]&&(l.noMultiCategory=!0),l.autotypenumbers=e.autotypenumbers,iae(a,n)){var u=nae(a),f=[];for(i=0;i<t.length;i++){var c=t[i];!cw(c,"box-violin")||(c[n+"axis"]||n)!==r||(c[u]!==void 0?f.push(c[u][0]):c.name!==void 0?f.push(c.name):f.push("text"),c[o]!==s&&(s=void 0))}e.type=mR(f,s,l)}else if(a.type==="splom"){var h=a.dimensions,d=h[a._axesDim[r]];d.visible&&(e.type=mR(d.values,s,l))}else e.type=mR(a[n]||[a[n+"0"]],s,l)}}}function cnt(e,t,r){for(var n=0;n<e.length;n++){var i=e[n];if(i.type==="splom"&&i._length>0&&(i["_"+r+"axes"]||{})[t])return i;if((i[r+"axis"]||r)===t){if(iae(i,r))return i;if((i[r]||[]).length||i[r+"0"])return i}}}function nae(e){return{v:"x",h:"y"}[e.orientation||"v"]}function iae(e,t){var r=nae(e),n=cw(e,"box-violin"),i=cw(e._fullInput||{},"candlestick");return n&&!i&&t===r&&e[r]===void 0&&e[r+"0"]===void 0}});var ik=J((iIt,oae)=>{"use strict";var hnt=fl().isTypedArraySpec;function vnt(e,t){var r=t.dataAttr||e._id.charAt(0),n={},i,a,o;if(t.axData)i=t.axData;else for(i=[],a=0;a<t.data.length;a++){var s=t.data[a];s[r+"axis"]===e._id&&i.push(s)}for(a=0;a<i.length;a++){var l=i[a][r];for(o=0;o<l.length;o++){var u=l[o];u!=null&&(n[u]=1)}}return Object.keys(n)}oae.exports=function(t,r,n,i){if(r.type==="category"){var a=t.categoryarray,o=Array.isArray(a)&&a.length>0||hnt(a),s;o&&(s="array");var l=n("categoryorder",s),u;l==="array"&&(u=n("categoryarray")),!o&&l==="array"&&(l=r.categoryorder="trace"),l==="trace"?r._initialCategories=[]:l==="array"?r._initialCategories=u.slice():(u=vnt(r,i).sort(),l==="category ascending"?r._initialCategories=u:l==="category descending"&&(r._initialCategories=u.reverse()))}}});var ak=J((aIt,lae)=>{"use strict";var sae=ls().mix,dnt=Ho(),pnt=gt();lae.exports=function(t,r,n,i){i=i||{};var a=i.dfltColor;function o(M,A){return pnt.coerce2(t,r,i.attributes,M,A)}var s=o("linecolor",a),l=o("linewidth"),u=n("showline",i.showLine||!!s||!!l);u||(delete r.linecolor,delete r.linewidth);var f=sae(a,i.bgColor,i.blend||dnt.lightFraction).toRgbString(),c=o("gridcolor",f),h=o("gridwidth"),d=o("griddash"),v=n("showgrid",i.showGrid||!!c||!!h||!!d);if(v||(delete r.gridcolor,delete r.gridwidth,delete r.griddash),i.hasMinor){var m=sae(r.gridcolor,i.bgColor,67).toRgbString(),b=o("minor.gridcolor",m),g=o("minor.gridwidth",r.gridwidth||1),_=o("minor.griddash",r.griddash||"solid"),T=n("minor.showgrid",!!b||!!g||!!_);T||(delete r.minor.gridcolor,delete r.minor.gridwidth,delete r.minor.griddash)}if(!i.noZeroLine){var w=o("zerolinecolor",a),k=o("zerolinewidth"),x=n("zeroline",i.showGrid||!!w||!!k);x||(delete r.zerolinecolor,delete r.zerolinewidth)}}});var vw=J((oIt,dae)=>{"use strict";var uae=dn(),gnt=zr(),hw=gt(),mnt=ki(),ynt=Bu(),xR=hl(),fae=Wp(),cae=N1(),xnt=Xp(),bnt=Zp(),wnt=ik(),_nt=ak(),Tnt=hD(),hae=Zv(),ok=Eo().WEEKDAY_PATTERN,Ant=Eo().HOUR_PATTERN;dae.exports=function(t,r,n,i,a){var o=i.letter,s=i.font||{},l=i.splomStash||{},u=n("visible",!i.visibleDflt),f=r._template||{},c=r.type||f.type||"-",h;if(c==="date"){var d=gnt.getComponentMethod("calendars","handleDefaults");d(t,r,"calendar",i.calendar),i.noTicklabelmode||(h=n("ticklabelmode"))}!i.noTicklabelindex&&(c==="date"||c==="linear")&&n("ticklabelindex");var v="";(!i.noTicklabelposition||c==="multicategory")&&(v=hw.coerce(t,r,{ticklabelposition:{valType:"enumerated",dflt:"outside",values:h==="period"?["outside","inside"]:o==="x"?["outside","inside","outside left","inside left","outside right","inside right"]:["outside","inside","outside top","inside top","outside bottom","inside bottom"]}},"ticklabelposition")),i.noTicklabeloverflow||n("ticklabeloverflow",v.indexOf("inside")!==-1?"hide past domain":c==="category"||c==="multicategory"?"allow":"hide past div"),hae(r,a),Tnt(t,r,n,i),wnt(t,r,n,i),c!=="category"&&!i.noHover&&n("hoverformat");var m=n("color"),b=m!==xR.color.dflt?m:s.color,g=l.label||a._dfltTitle[o];if(bnt(t,r,n,c,i),!u)return r;n("title.text",g),hw.coerceFont(n,"title.font",s,{overrideDflt:{size:hw.bigFont(s.size),color:b}}),fae(t,r,n,c);var _=i.hasMinor;if(_&&(mnt.newContainer(r,"minor"),fae(t,r,n,c,{isMinor:!0})),xnt(t,r,n,c,i),cae(t,r,n,i),_){var T=i.isMinor;i.isMinor=!0,cae(t,r,n,i),i.isMinor=T}_nt(t,r,n,{dfltColor:m,bgColor:i.bgColor,showGrid:i.showGrid,hasMinor:_,attributes:xR}),_&&!r.minor.ticks&&!r.minor.showgrid&&delete r.minor,(r.showline||r.ticks)&&n("mirror");var w=c==="multicategory";if(!i.noTickson&&(c==="category"||w)&&(r.ticks||r.showgrid)){var k;w&&(k="boundaries");var x=n("tickson",k);x==="boundaries"&&delete r.ticklabelposition}if(w){var M=n("showdividers");M&&(n("dividercolor"),n("dividerwidth"))}if(c==="date")if(ynt(t,r,{name:"rangebreaks",inclusionAttr:"enabled",handleItemDefaults:Mnt}),!r.rangebreaks.length)delete r.rangebreaks;else{for(var A=0;A<r.rangebreaks.length;A++)if(r.rangebreaks[A].pattern===ok){r._hasDayOfWeekBreaks=!0;break}if(hae(r,a),a._has("scattergl")||a._has("splom"))for(var p=0;p<i.data.length;p++){var S=i.data[p];(S.type==="scattergl"||S.type==="splom")&&(S.visible=!1,hw.warn(S.type+" traces do not work on axes with rangebreaks. Setting trace "+S.index+" to `visible: false`."))}}return r};function Mnt(e,t,r){function n(h,d){return hw.coerce(e,t,xR.rangebreaks,h,d)}var i=n("enabled");if(i){var a=n("bounds");if(a&&a.length>=2){var o="",s,l;if(a.length===2){for(s=0;s<2;s++)if(l=vae(a[s]),l){o=ok;break}}var u=n("pattern",o);if(u===ok)for(s=0;s<2;s++)l=vae(a[s]),l&&(t.bounds[s]=a[s]=l-1);if(u)for(s=0;s<2;s++)switch(l=a[s],u){case ok:if(!uae(l)){t.enabled=!1;return}if(l=+l,l!==Math.floor(l)||l<0||l>=7){t.enabled=!1;return}t.bounds[s]=a[s]=l;break;case Ant:if(!uae(l)){t.enabled=!1;return}if(l=+l,l<0||l>24){t.enabled=!1;return}t.bounds[s]=a[s]=l;break}if(r.autorange===!1){var f=r.range;if(f[0]<f[1]){if(a[0]<f[0]&&a[1]>f[1]){t.enabled=!1;return}}else if(a[0]>f[0]&&a[1]<f[1]){t.enabled=!1;return}}}else{var c=n("values");if(c&&c.length)n("dvalue");else{t.enabled=!1;return}}}}var knt={sun:1,mon:2,tue:3,wed:4,thu:5,fri:6,sat:7};function vae(e){if(typeof e=="string")return knt[e.substr(0,3).toLowerCase()]}});var lk=J((sIt,pae)=>{"use strict";var Snt=dn(),sk=gt();pae.exports=function(t,r,n,i){var a=i.counterAxes||[],o=i.overlayableAxes||[],s=i.letter,l=i.grid,u=i.overlayingDomain,f,c,h,d,v,m;l&&(c=l._domains[s][l._axisMap[r._id]],f=l._anchors[r._id],c&&(h=l[s+"side"].split(" ")[0],d=l.domain[s][h==="right"||h==="top"?1:0])),c=c||[0,1],f=f||(Snt(t.position)?"free":a[0]||"free"),h=h||(s==="x"?"bottom":"left"),d=d||0,v=0,m=!1;var b=sk.coerce(t,r,{anchor:{valType:"enumerated",values:["free"].concat(a),dflt:f}},"anchor"),g=sk.coerce(t,r,{side:{valType:"enumerated",values:s==="x"?["bottom","top"]:["left","right"],dflt:h}},"side");if(b==="free"){if(s==="y"){var _=n("autoshift");_&&(d=g==="left"?u[0]:u[1],m=r.automargin?r.automargin:!0,v=g==="left"?-3:3),n("shift",v)}n("position",d)}n("automargin",m);var T=!1;if(o.length&&(T=sk.coerce(t,r,{overlaying:{valType:"enumerated",values:[!1].concat(o),dflt:!1}},"overlaying")),!T){var w=n("domain",c);w[0]>w[1]-1/4096&&(r.domain=c),sk.noneOrAll(t.domain,r.domain,c),r.tickmode==="sync"&&(r.tickmode="auto")}return n("layer"),r}});var Aae=J((lIt,Tae)=>{"use strict";var Sg=gt(),gae=qr(),Cnt=Qf().isUnifiedHover,Ent=ND(),mae=ki(),Lnt=zp(),yae=hl(),Dnt=yR(),xae=vw(),Rnt=_0(),bae=lk(),wR=jo(),av=wR.id2name,wae=wR.name2id,Pnt=Eo().AX_ID_PATTERN,_ae=zr(),dw=_ae.traceIs,bR=_ae.getComponentMethod;function uk(e,t,r){Array.isArray(e[t])?e[t].push(r):e[t]=[r]}Tae.exports=function(t,r,n){var i=r.autotypenumbers,a={},o={},s={},l={},u={},f={},c={},h={},d={},v={},m,b;for(m=0;m<n.length;m++){var g=n[m];if(!(!dw(g,"cartesian")&&!dw(g,"gl2d"))){var _;if(g.xaxis)_=av(g.xaxis),uk(a,_,g);else if(g.xaxes)for(b=0;b<g.xaxes.length;b++)uk(a,av(g.xaxes[b]),g);var T;if(g.yaxis)T=av(g.yaxis),uk(a,T,g);else if(g.yaxes)for(b=0;b<g.yaxes.length;b++)uk(a,av(g.yaxes[b]),g);if(g.type==="funnel"?g.orientation==="h"?(_&&(o[_]=!0),T&&(c[T]=!0)):T&&(s[T]=!0):g.type==="image"?(T&&(h[T]=!0),_&&(h[_]=!0)):(T&&(u[T]=!0,f[T]=!0),(!dw(g,"carpet")||g.type==="carpet"&&!g._cheater)&&_&&(l[_]=!0)),g.type==="carpet"&&g._cheater&&_&&(o[_]=!0),dw(g,"2dMap")&&(d[_]=!0,d[T]=!0),dw(g,"oriented")){var w=g.orientation==="h"?T:_;v[w]=!0}}}var k=r._subplots,x=k.xaxis,M=k.yaxis,A=Sg.simpleMap(x,av),p=Sg.simpleMap(M,av),S=A.concat(p),y=gae.background;x.length&&M.length&&(y=Sg.coerce(t,r,Lnt,"plot_bgcolor"));var E=gae.combine(y,r.paper_bgcolor),C,L,R,I,P;function D(){var Ee=a[C]||[];P._traceIndices=Ee.map(function(Ae){return Ae._expandedIndex}),P._annIndices=[],P._shapeIndices=[],P._selectionIndices=[],P._imgIndices=[],P._subplotsWith=[],P._counterAxes=[],P._name=P._attr=C,P._id=L}function q(Ee,Ae){return Sg.coerce(I,P,yae,Ee,Ae)}function N(Ee,Ae){return Sg.coerce2(I,P,yae,Ee,Ae)}function U(Ee){return Ee==="x"?M:x}function G(Ee,Ae){for(var Pe=Ee==="x"?A:p,He=[],Fe=0;Fe<Pe.length;Fe++){var ke=Pe[Fe];ke!==Ae&&!(t[ke]||{}).overlaying&&He.push(wae(ke))}return He}var ee={x:U("x"),y:U("y")},Q=ee.x.concat(ee.y),j={},O=[];function Z(){var Ee=I.matches;Pnt.test(Ee)&&Q.indexOf(Ee)===-1&&(j[Ee]=I.type,O=Object.keys(j))}var K=Ent(t,r),$=Cnt(K);for(m=0;m<S.length;m++){C=S[m],L=wae(C),R=C.charAt(0),Sg.isPlainObject(t[C])||(t[C]={}),I=t[C],P=mae.newContainer(r,C,R+"axis"),D();var oe=R==="x"&&!l[C]&&o[C]||R==="y"&&!u[C]&&s[C],te=R==="y"&&(!f[C]&&c[C]||h[C]),V={hasMinor:!0,letter:R,font:r.font,outerTicks:d[C],showGrid:!v[C],data:a[C]||[],bgColor:E,calendar:r.calendar,automargin:!0,visibleDflt:oe,reverseDflt:te,autotypenumbersDflt:i,splomStash:((r._splomAxes||{})[R]||{})[L],noAutotickangles:R==="y"};q("uirevision",r.uirevision),Dnt(I,P,q,V),xae(I,P,q,V,r);var ne=$&&R===K.charAt(0),W=N("spikecolor",$?P.color:void 0),fe=N("spikethickness",$?1.5:void 0),ge=N("spikedash",$?"dot":void 0),Ce=N("spikemode",$?"across":void 0),Ne=N("spikesnap"),pe=q("showspikes",!!ne||!!W||!!fe||!!ge||!!Ce||!!Ne);pe||(delete P.spikecolor,delete P.spikethickness,delete P.spikedash,delete P.spikemode,delete P.spikesnap);var me=av(I.overlaying),Ie=[0,1];if(r[me]!==void 0){var Re=av(r[me].anchor);r[Re]!==void 0&&(Ie=r[Re].domain)}bae(I,P,q,{letter:R,counterAxes:ee[R],overlayableAxes:G(R,C),grid:r.grid,overlayingDomain:Ie}),q("title.standoff"),Z(),P._input=I}for(m=0;m<O.length;){L=O[m++],C=av(L),R=C.charAt(0),Sg.isPlainObject(t[C])||(t[C]={}),I=t[C],P=mae.newContainer(r,C,R+"axis"),D();var ze={letter:R,font:r.font,outerTicks:d[C],showGrid:!v[C],data:[],bgColor:E,calendar:r.calendar,automargin:!0,visibleDflt:!1,reverseDflt:!1,autotypenumbersDflt:i,splomStash:((r._splomAxes||{})[R]||{})[L]};q("uirevision",r.uirevision),P.type=j[L]||"linear",xae(I,P,q,ze,r),bae(I,P,q,{letter:R,counterAxes:ee[R],overlayableAxes:G(R,C),grid:r.grid}),q("fixedrange"),Z(),P._input=I}var Be=bR("rangeslider","handleDefaults"),tt=bR("rangeselector","handleDefaults");for(m=0;m<A.length;m++)C=A[m],I=t[C],P=r[C],Be(t,r,C),P.type==="date"&&tt(I,P,r,p,P.calendar),q("fixedrange");for(m=0;m<p.length;m++){C=p[m],I=t[C],P=r[C];var rt=r[av(P.anchor)],ce=bR("rangeslider","isVisible")(rt);q("fixedrange",ce)}Rnt.handleDefaults(t,r,{axIds:Q.concat(O).sort(wR.idSort),axHasImage:h})}});var Sae=J((uIt,kae)=>{"use strict";var Int=Nr(),Mae=zr(),fk=gt(),Lf=ln(),ck=nn();kae.exports=function(t,r,n,i){var a=t._fullLayout;if(r.length===0){ck.redrawComponents(t);return}function o(b){var g=b.xaxis,_=b.yaxis;a._defs.select("#"+b.clipId+"> rect").call(Lf.setTranslate,0,0).call(Lf.setScale,1,1),b.plot.call(Lf.setTranslate,g._offset,_._offset).call(Lf.setScale,1,1);var T=b.plot.selectAll(".scatterlayer .trace");T.selectAll(".point").call(Lf.setPointGroupScale,1,1),T.selectAll(".textpoint").call(Lf.setTextPointsScale,1,1),T.call(Lf.hideOutsideRangePoints,b)}function s(b,g){var _=b.plotinfo,T=_.xaxis,w=_.yaxis,k=T._length,x=w._length,M=!!b.xr1,A=!!b.yr1,p=[];if(M){var S=fk.simpleMap(b.xr0,T.r2l),y=fk.simpleMap(b.xr1,T.r2l),E=S[1]-S[0],C=y[1]-y[0];p[0]=(S[0]*(1-g)+g*y[0]-S[0])/(S[1]-S[0])*k,p[2]=k*(1-g+g*C/E),T.range[0]=T.l2r(S[0]*(1-g)+g*y[0]),T.range[1]=T.l2r(S[1]*(1-g)+g*y[1])}else p[0]=0,p[2]=k;if(A){var L=fk.simpleMap(b.yr0,w.r2l),R=fk.simpleMap(b.yr1,w.r2l),I=L[1]-L[0],P=R[1]-R[0];p[1]=(L[1]*(1-g)+g*R[1]-L[1])/(L[0]-L[1])*x,p[3]=x*(1-g+g*P/I),w.range[0]=T.l2r(L[0]*(1-g)+g*R[0]),w.range[1]=w.l2r(L[1]*(1-g)+g*R[1])}else p[1]=0,p[3]=x;ck.drawOne(t,T,{skipTitle:!0}),ck.drawOne(t,w,{skipTitle:!0}),ck.redrawComponents(t,[T._id,w._id]);var D=M?k/p[2]:1,q=A?x/p[3]:1,N=M?p[0]:0,U=A?p[1]:0,G=M?p[0]/p[2]*k:0,ee=A?p[1]/p[3]*x:0,Q=T._offset-G,j=w._offset-ee;_.clipRect.call(Lf.setTranslate,N,U).call(Lf.setScale,1/D,1/q),_.plot.call(Lf.setTranslate,Q,j).call(Lf.setScale,D,q),Lf.setPointGroupScale(_.zoomScalePts,1/D,1/q),Lf.setTextPointsScale(_.zoomScaleTxt,1/D,1/q)}var l;i&&(l=i());function u(){for(var b={},g=0;g<r.length;g++){var _=r[g],T=_.plotinfo.xaxis,w=_.plotinfo.yaxis;_.xr1&&(b[T._name+".range"]=_.xr1.slice()),_.yr1&&(b[w._name+".range"]=_.yr1.slice())}return l&&l(),Mae.call("relayout",t,b).then(function(){for(var k=0;k<r.length;k++)o(r[k].plotinfo)})}function f(){for(var b={},g=0;g<r.length;g++){var _=r[g],T=_.plotinfo.xaxis,w=_.plotinfo.yaxis;_.xr0&&(b[T._name+".range"]=_.xr0.slice()),_.yr0&&(b[w._name+".range"]=_.yr0.slice())}return Mae.call("relayout",t,b).then(function(){for(var k=0;k<r.length;k++)o(r[k].plotinfo)})}var c,h,d,v=Int.ease(n.easing);t._transitionData._interruptCallbacks.push(function(){return window.cancelAnimationFrame(d),d=null,f()});function m(){h=Date.now();for(var b=Math.min(1,(h-c)/n.duration),g=v(b),_=0;_<r.length;_++)s(r[_],g);h-c>n.duration?(u(),d=window.cancelAnimationFrame(m)):d=window.requestAnimationFrame(m)}return c=Date.now(),d=window.requestAnimationFrame(m),Promise.resolve()}});var gs=J(yl=>{"use strict";var vk=Nr(),Cae=zr(),Cg=gt(),qnt=ea(),Fnt=ln(),Eae=Nu().getModuleCalcData,C0=jo(),lh=Eo(),znt=Gh(),Ei=Cg.ensureSingle;function hk(e,t,r){return Cg.ensureSingle(e,t,r,function(n){n.datum(r)})}var Eg=lh.zindexSeparator;yl.name="cartesian";yl.attr=["xaxis","yaxis"];yl.idRoot=["x","y"];yl.idRegex=lh.idRegex;yl.attrRegex=lh.attrRegex;yl.attributes=gR();yl.layoutAttributes=hl();yl.supplyLayoutDefaults=Aae();yl.transitionAxes=Sae();yl.finalizeSubplots=function(e,t){var r=t._subplots,n=r.xaxis,i=r.yaxis,a=r.cartesian,o=a.concat(r.gl2d||[]),s={},l={},u,f,c;for(u=0;u<o.length;u++){var h=o[u].split("y");s[h[0]]=1,l["y"+h[1]]=1}for(u=0;u<n.length;u++)f=n[u],s[f]||(c=(e[C0.id2name(f)]||{}).anchor,lh.idRegex.y.test(c)||(c="y"),a.push(f+c),o.push(f+c),l[c]||(l[c]=1,Cg.pushUnique(i,c)));for(u=0;u<i.length;u++)c=i[u],l[c]||(f=(e[C0.id2name(c)]||{}).anchor,lh.idRegex.x.test(f)||(f="x"),a.push(f+c),o.push(f+c),s[f]||(s[f]=1,Cg.pushUnique(n,f)));if(!o.length){f="",c="";for(var d in e)if(lh.attrRegex.test(d)){var v=d.charAt(0);v==="x"?(!f||+d.substr(5)<+f.substr(5))&&(f=d):(!c||+d.substr(5)<+c.substr(5))&&(c=d)}f=f?C0.name2id(f):"x",c=c?C0.name2id(c):"y",n.push(f),i.push(c),a.push(f+c)}};yl.plot=function(e,t,r,n){var i=e._fullLayout,a=i._subplots.cartesian,o=e.calcdata,s;if(!Array.isArray(t))for(t=[],s=0;s<o.length;s++)t.push(s);for(var l=i._zindices,u=0;u<l.length;u++){var f=l[u];for(s=0;s<a.length;s++){var c=a[s],h=i._plots[c];if(u>0){var d=h.id;if(d.indexOf(Eg)!==-1)continue;d+=Eg+(u+1),h=Cg.extendFlat({},h,{id:d,plot:i._cartesianlayer.selectAll(".subplot").select("."+d)})}for(var v=[],m,b=0;b<o.length;b++){var g=o[b],_=g[0].trace;f===(_.zorder||0)&&_.xaxis+_.yaxis===c&&((t.indexOf(_.index)!==-1||_.carpet)&&(m&&m[0].trace.xaxis+m[0].trace.yaxis===c&&["tonextx","tonexty","tonext"].indexOf(_.fill)!==-1&&v.indexOf(m)===-1&&v.push(m),v.push(g)),m=g)}Lae(e,h,v,r,n)}}};function Lae(e,t,r,n,i){for(var a=lh.traceLayerClasses,o=e._fullLayout,s=o._zindices,l=o._modules,u,f,c,h=[],d=[],v=0;v<s.length;v++)for(var m=s[v],b=0;b<l.length;b++){u=l[b];var g=u.name,_=Cae.modules[g].categories;if(_.svg){var T=u.layerName||g+"layer",w=T+(v?Number(v)+1:""),k=u.plot;f=Eae(r,k,m),c=f[0],r=f[1],c.length&&h.push({i:a.indexOf(T),zorder:v,className:w,plotMethod:k,cdModule:c}),_.zoomScale&&d.push("."+w)}}h.sort(function(A,p){return(A.zorder||0)-(p.zorder||0)||A.i-p.i});var x=t.plot.selectAll("g.mlayer").data(h,function(A){return A.className});if(x.enter().append("g").attr("class",function(A){return A.className}).classed("mlayer",!0).classed("rangeplot",t.isRangePlot),x.exit().remove(),x.order(),x.each(function(A){var p=vk.select(this),S=A.className;A.plotMethod(e,t,A.cdModule,p,n,i),lh.clipOnAxisFalseQuery.indexOf("."+S)===-1&&Fnt.setClipUrl(p,t.layerClipId,e)}),o._has("scattergl")&&(u=Cae.getModule("scattergl"),c=Eae(r,u)[0],u.plot(e,t,c)),!e._context.staticPlot&&(t._hasClipOnAxisFalse&&(t.clipOnAxisFalseTraces=t.plot.selectAll(lh.clipOnAxisFalseQuery.join(",")).selectAll(".trace")),d.length)){var M=t.plot.selectAll(d.join(",")).selectAll(".trace");t.zoomScalePts=M.selectAll("path.point"),t.zoomScaleTxt=M.selectAll(".textpoint")}}yl.clean=function(e,t,r,n){var i=n._plots||{},a=t._plots||{},o=n._subplots||{},s,l,u;if(n._hasOnlyLargeSploms&&!t._hasOnlyLargeSploms)for(u in i)s=i[u],s.plotgroup&&s.plotgroup.remove();var f=n._has&&n._has("gl"),c=t._has&&t._has("gl");if(f&&!c)for(u in i)s=i[u],s._scene&&s._scene.destroy();if(o.xaxis&&o.yaxis){var h=C0.listIds({_fullLayout:n});for(l=0;l<h.length;l++){var d=h[l];t[C0.id2name(d)]||n._infolayer.selectAll(".g-"+d+"title").remove()}}var v=n._has&&n._has("cartesian"),m=t._has&&t._has("cartesian");if(v&&!m)Rae(n._cartesianlayer.selectAll(".subplot"),n),n._defs.selectAll(".axesclip").remove(),delete n._axisConstraintGroups,delete n._axisMatchGroups;else if(o.cartesian)for(l=0;l<o.cartesian.length;l++){var b=o.cartesian[l];if(b.indexOf(Eg)===-1&&!a[b]){var g="."+b+",."+b+"-x,."+b+"-y";n._cartesianlayer.selectAll(g).remove(),Pae(b,n)}}};yl.drawFramework=function(e){var t=e._fullLayout,r=e.calcdata,n,i={};for(n=0;n<r.length;n++){var a=r[n][0],o=a.trace,s=o.zorder||0;i[s]||(i[s]=[]),i[s].push(a)}var l=Object.keys(i).map(Number).sort(Cg.sorterAsc);l.length||(l=[0]),t._zindices=l;var u=Nnt(e),f=u.length,c=[];for(n=0;n<f;n++)c[n]=u[n].slice();for(var h=1;h<l.length;h++){var d=[];for(n=0;n<f;n++)d[n]=u[n].slice(),d[n][0]+=Eg+(h+1);c=c.concat(d)}var v=t._cartesianlayer.selectAll(".subplot").data(c,String);v.enter().append("g").attr("class",function(m){return"subplot "+m[0]}),v.order(),v.exit().call(Rae,t),v.each(function(m){var b=m[0],g=b.indexOf(Eg),_=g!==-1,T=_?b.slice(0,g):b,w=t._plots[b];w||(w=Cg.extendFlat({},t._plots[T]),w&&(w.id=b,t._plots[b]=w,t._subplots.cartesian.push(b))),w&&(w.plotgroup=vk.select(this),Dae(e,w),_||(w.draglayer=Ei(t._draggers,"g",b)))})};yl.rangePlot=function(e,t,r){Dae(e,t),Lae(e,t,r),qnt.style(e)};function Nnt(e){var t=e._fullLayout,r=t._zindices.length,n=t._subplots.cartesian,i=n.length,a,o,s,l,u,f,c=[],h=[];for(a=0;a<i;a++){s=n[a],l=t._plots[s],u=l.xaxis,f=l.yaxis;var d=u._mainAxis,v=f._mainAxis,m=d._id+v._id,b=t._plots[m];l.overlays=[],m!==s&&b?(l.mainplot=m,l.mainplotinfo=b,h.push(s)):(l.mainplot=void 0,l.mainplotinfo=void 0,c.push(s))}for(a=0;a<h.length;a++)s=h[a],l=t._plots[s],l.mainplotinfo.overlays.push(l);var g=c.concat(h),_=[];for(a=0;a<i;a++){s=g[a],l=t._plots[s],u=l.xaxis,f=l.yaxis;for(var T=[],w=1;w<=r;w++){var k="";for(w>1&&(k+=Eg+w),T.push(s+k),o=0;o<l.overlays.length;o++)T.push(l.overlays[o].id+k)}T=T.concat([u.layer,f.layer,u.overlaying||"",f.overlaying||""]),_.push(T)}return _}function Dae(e,t){var r=t.plotgroup,n=t.id,i=n.indexOf(Eg),a=i!==-1,o=lh.layerValue2layerClass[t.xaxis.layer],s=lh.layerValue2layerClass[t.yaxis.layer],l=e._fullLayout._hasOnlyLargeSploms;if(t.mainplot){var c=t.mainplotinfo,h=c.plotgroup,d=n+"-x",v=n+"-y";t.minorGridlayer=c.minorGridlayer,t.gridlayer=c.gridlayer,t.zerolinelayer=c.zerolinelayer,Ei(c.overlinesBelow,"path",d),Ei(c.overlinesBelow,"path",v),Ei(c.overaxesBelow,"g",d),Ei(c.overaxesBelow,"g",v),t.plot=Ei(c.overplot,"g",n),Ei(c.overlinesAbove,"path",d),Ei(c.overlinesAbove,"path",v),Ei(c.overaxesAbove,"g",d),Ei(c.overaxesAbove,"g",v),t.xlines=h.select(".overlines-"+o).select("."+d),t.ylines=h.select(".overlines-"+s).select("."+v),t.xaxislayer=h.select(".overaxes-"+o).select("."+d),t.yaxislayer=h.select(".overaxes-"+s).select("."+v)}else if(l)t.xlines=Ei(r,"path","xlines-above"),t.ylines=Ei(r,"path","ylines-above"),t.xaxislayer=Ei(r,"g","xaxislayer-above"),t.yaxislayer=Ei(r,"g","yaxislayer-above");else{if(!a){var u=Ei(r,"g","layer-subplot");t.shapelayer=Ei(u,"g","shapelayer"),t.imagelayer=Ei(u,"g","imagelayer"),t.minorGridlayer=Ei(r,"g","minor-gridlayer"),t.gridlayer=Ei(r,"g","gridlayer"),t.zerolinelayer=Ei(r,"g","zerolinelayer");var f=Ei(r,"g","layer-between");t.shapelayerBetween=Ei(f,"g","shapelayer"),t.imagelayerBetween=Ei(f,"g","imagelayer"),Ei(r,"path","xlines-below"),Ei(r,"path","ylines-below"),t.overlinesBelow=Ei(r,"g","overlines-below"),Ei(r,"g","xaxislayer-below"),Ei(r,"g","yaxislayer-below"),t.overaxesBelow=Ei(r,"g","overaxes-below")}t.overplot=Ei(r,"g","overplot"),t.plot=Ei(t.overplot,"g",n),a||(t.xlines=Ei(r,"path","xlines-above"),t.ylines=Ei(r,"path","ylines-above"),t.overlinesAbove=Ei(r,"g","overlines-above"),Ei(r,"g","xaxislayer-above"),Ei(r,"g","yaxislayer-above"),t.overaxesAbove=Ei(r,"g","overaxes-above"),t.xlines=r.select(".xlines-"+o),t.ylines=r.select(".ylines-"+s),t.xaxislayer=r.select(".xaxislayer-"+o),t.yaxislayer=r.select(".yaxislayer-"+s))}a||(l||(hk(t.minorGridlayer,"g",t.xaxis._id),hk(t.minorGridlayer,"g",t.yaxis._id),t.minorGridlayer.selectAll("g").map(function(m){return m[0]}).sort(C0.idSort),hk(t.gridlayer,"g",t.xaxis._id),hk(t.gridlayer,"g",t.yaxis._id),t.gridlayer.selectAll("g").map(function(m){return m[0]}).sort(C0.idSort)),t.xlines.style("fill","none").classed("crisp",!0),t.ylines.style("fill","none").classed("crisp",!0))}function Rae(e,t){if(e){var r={};e.each(function(l){var u=l[0],f=vk.select(this);f.remove(),Pae(u,t),r[u]=!0});for(var n in t._plots)for(var i=t._plots[n],a=i.overlays||[],o=0;o<a.length;o++){var s=a[o];r[s.id]&&s.plot.selectAll(".trace").remove()}}}function Pae(e,t){t._draggers.selectAll("g."+e).remove(),t._defs.select("#clip"+t._uid+e+"plot").remove()}yl.toSVG=function(e){var t=e._fullLayout._glimages,r=vk.select(e).selectAll(".svg-container"),n=r.filter(function(a,o){return o===r.size()-1}).selectAll(".gl-canvas-context, .gl-canvas-focus");function i(){var a=this,o=a.toDataURL("image/png"),s=t.append("svg:image");s.attr({xmlns:znt.svg,"xlink:href":o,preserveAspectRatio:"none",x:0,y:0,width:a.style.width,height:a.style.height})}n.each(i)};yl.updateFx=F8().updateFx});var qae=J((cIt,Iae)=>{"use strict";var dk=fs();Iae.exports={hasLines:dk.hasLines,hasMarkers:dk.hasMarkers,hasText:dk.hasText,isBubble:dk.isBubble,attributes:ds(),layoutAttributes:WT(),supplyDefaults:nie(),crossTraceDefaults:oie(),supplyLayoutDefaults:lie(),calc:Mg().calc,crossTraceCalc:qie(),arraysToCalcdata:nd(),plot:lw(),colorbar:pc(),formatLabels:cR(),style:Ef().style,styleOnSelect:Ef().styleOnSelect,hoverPoints:uw(),selectPoints:fw(),animatable:!0,moduleType:"trace",name:"scatter",basePlotModule:gs(),categories:["cartesian","svg","symbols","errorBarsOK","showLegend","scatter-like","zoomScale"],meta:{description:["The scatter trace type encompasses line charts, scatter charts, text charts, and bubble charts.","The data visualized as scatter point or lines is set in `x` and `y`.","Text (appearing either on the chart or on hover only) is via `text`.","Bubble charts are achieved by setting `marker.size` and/or `marker.color`","to numerical arrays."].join(" ")}}});var Nae=J((hIt,zae)=>{"use strict";var Ont=Nr(),Bnt=qr(),Fae=S8(),_R=gt(),Unt=_R.strScale,Hnt=_R.strRotate,jnt=_R.strTranslate;zae.exports=function(t,r,n){var i=t.node(),a=Fae[n.arrowhead||0],o=Fae[n.startarrowhead||0],s=(n.arrowwidth||1)*(n.arrowsize||1),l=(n.arrowwidth||1)*(n.startarrowsize||1),u=r.indexOf("start")>=0,f=r.indexOf("end")>=0,c=a.backoff*s+n.standoff,h=o.backoff*l+n.startstandoff,d,v,m,b;if(i.nodeName==="line"){d={x:+t.attr("x1"),y:+t.attr("y1")},v={x:+t.attr("x2"),y:+t.attr("y2")};var g=d.x-v.x,_=d.y-v.y;if(m=Math.atan2(_,g),b=m+Math.PI,c&&h&&c+h>Math.sqrt(g*g+_*_)){L();return}if(c){if(c*c>g*g+_*_){L();return}var T=c*Math.cos(m),w=c*Math.sin(m);v.x+=T,v.y+=w,t.attr({x2:v.x,y2:v.y})}if(h){if(h*h>g*g+_*_){L();return}var k=h*Math.cos(m),x=h*Math.sin(m);d.x-=k,d.y-=x,t.attr({x1:d.x,y1:d.y})}}else if(i.nodeName==="path"){var M=i.getTotalLength(),A="";if(M<c+h){L();return}var p=i.getPointAtLength(0),S=i.getPointAtLength(.1);m=Math.atan2(p.y-S.y,p.x-S.x),d=i.getPointAtLength(Math.min(h,M)),A="0px,"+h+"px,";var y=i.getPointAtLength(M),E=i.getPointAtLength(M-.1);b=Math.atan2(y.y-E.y,y.x-E.x),v=i.getPointAtLength(Math.max(0,M-c));var C=A?h+c:c;A+=M-C+"px,"+M+"px",t.style("stroke-dasharray",A)}function L(){t.style("stroke-dasharray","0px,100px")}function R(I,P,D,q){I.path&&(I.noRotate&&(D=0),Ont.select(i.parentNode).append("path").attr({class:t.attr("class"),d:I.path,transform:jnt(P.x,P.y)+Hnt(D*180/Math.PI)+Unt(q)}).style({fill:Bnt.rgb(n.arrowcolor),"stroke-width":0}))}u&&R(o,d,m,l),f&&R(a,v,b,s)}});var pk=J((vIt,jae)=>{"use strict";var Oae=Nr(),TR=zr(),Vnt=ea(),L0=gt(),AR=L0.strTranslate,gw=nn(),Lg=qr(),id=ln(),Bae=go(),MR=ca(),kR=th(),pw=iu(),Ynt=ki().arrayEditor,Gnt=Nae();jae.exports={draw:Wnt,drawOne:Uae,drawRaw:Hae};function Wnt(e){var t=e._fullLayout;t._infolayer.selectAll(".annotation").remove();for(var r=0;r<t.annotations.length;r++)t.annotations[r].visible&&Uae(e,r);return Vnt.previousPromises(e)}function Uae(e,t){var r=e._fullLayout,n=r.annotations[t]||{},i=gw.getFromId(e,n.xref),a=gw.getFromId(e,n.yref);i&&i.setScale(),a&&a.setScale(),Hae(e,n,t,!1,i,a)}function E0(e,t,r,n,i){var a=i[r],o=i[r+"ref"],s=r.indexOf("y")!==-1,l=gw.getRefType(o)==="domain",u=s?n.h:n.w;return e?l?a+(s?-t:t)/e._length:e.p2r(e.r2p(a)+t):a+(s?-t:t)/u}function Hae(e,t,r,n,i,a){var o=e._fullLayout,s=e._fullLayout._size,l=e._context.edits,u,f;n?(u="annotation-"+n,f=n+".annotations"):(u="annotation",f="annotations");var c=Ynt(e.layout,f,t),h=c.modifyBase,d=c.modifyItem,v=c.getUpdateObj;o._infolayer.selectAll("."+u+'[data-index="'+r+'"]').remove();var m="clip"+o._uid+"_ann"+r;if(!t._input||t.visible===!1){Oae.selectAll("#"+m).remove();return}var b={x:{},y:{}},g=+t.textangle||0,_=o._infolayer.append("g").classed(u,!0).attr("data-index",String(r)).style("opacity",t.opacity),T=_.append("g").classed("annotation-text-g",!0),w=l[t.showarrow?"annotationTail":"annotationPosition"],k=t.captureevents||l.annotationText||w;function x(q){var N={index:r,annotation:t._input,fullAnnotation:t,event:q};return n&&(N.subplotId=n),N}var M=T.append("g").style("pointer-events",k?"all":null).call(kR,"pointer").on("click",function(){e._dragging=!1,e.emit("plotly_clickannotation",x(Oae.event))});t.hovertext&&M.on("mouseover",function(){var q=t.hoverlabel,N=q.font,U=this.getBoundingClientRect(),G=e.getBoundingClientRect();Bae.loneHover({x0:U.left-G.left,x1:U.right-G.left,y:(U.top+U.bottom)/2-G.top,text:t.hovertext,color:q.bgcolor,borderColor:q.bordercolor,fontFamily:N.family,fontSize:N.size,fontColor:N.color,fontWeight:N.weight,fontStyle:N.style,fontVariant:N.variant,fontShadow:N.fontShadow,fontLineposition:N.fontLineposition,fontTextcase:N.fontTextcase},{container:o._hoverlayer.node(),outerContainer:o._paper.node(),gd:e})}).on("mouseout",function(){Bae.loneUnhover(o._hoverlayer.node())});var A=t.borderwidth,p=t.borderpad,S=A+p,y=M.append("rect").attr("class","bg").style("stroke-width",A+"px").call(Lg.stroke,t.bordercolor).call(Lg.fill,t.bgcolor),E=t.width||t.height,C=o._topclips.selectAll("#"+m).data(E?[0]:[]);C.enter().append("clipPath").classed("annclip",!0).attr("id",m).append("rect"),C.exit().remove();var L=t.font,R=o._meta?L0.templateString(t.text,o._meta):t.text,I=M.append("text").classed("annotation-text",!0).text(R);function P(q){return q.call(id.font,L).attr({"text-anchor":{left:"start",right:"end"}[t.align]||"middle"}),MR.convertToTspans(q,e,D),q}function D(){var q=I.selectAll("a");if(q.size()===1&&q.text()===I.text()){var N=M.insert("a",":first-child").attr({"xlink:xlink:href":q.attr("xlink:href"),"xlink:xlink:show":q.attr("xlink:show")}).style({cursor:"pointer"});N.node().appendChild(y.node())}var U=M.select(".annotation-text-math-group"),G=!U.empty(),ee=id.bBox((G?U:I).node()),Q=ee.width,j=ee.height,O=t.width||Q,Z=t.height||j,K=Math.round(O+2*S),$=Math.round(Z+2*S);function oe(Ye,je){return je==="auto"&&(Ye<1/3?je="left":Ye>2/3?je="right":je="center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[je]}for(var te=!1,V=["x","y"],ne=0;ne<V.length;ne++){var W=V[ne],fe=t[W+"ref"]||W,ge=t["a"+W+"ref"],Ce={x:i,y:a}[W],Ne=(g+(W==="x"?0:-90))*Math.PI/180,pe=K*Math.cos(Ne),me=$*Math.sin(Ne),Ie=Math.abs(pe)+Math.abs(me),Re=t[W+"anchor"],ze=t[W+"shift"]*(W==="x"?1:-1),Be=b[W],tt,rt,ce,Ee,Ae,Pe=gw.getRefType(fe);if(Ce&&Pe!=="domain"){var He=Ce.r2fraction(t[W]);(He<0||He>1)&&(ge===fe?(He=Ce.r2fraction(t["a"+W]),(He<0||He>1)&&(te=!0)):te=!0),tt=Ce._offset+Ce.r2p(t[W]),Ee=.5}else{var Fe=Pe==="domain";W==="x"?(ce=t[W],tt=Fe?Ce._offset+Ce._length*ce:tt=s.l+s.w*ce):(ce=1-t[W],tt=Fe?Ce._offset+Ce._length*ce:tt=s.t+s.h*ce),Ee=t.showarrow?.5:ce}if(t.showarrow){Be.head=tt;var ke=t["a"+W];if(Ae=pe*oe(.5,t.xanchor)-me*oe(.5,t.yanchor),ge===fe){var Ue=gw.getRefType(ge);Ue==="domain"?(W==="y"&&(ke=1-ke),Be.tail=Ce._offset+Ce._length*ke):Ue==="paper"?W==="y"?(ke=1-ke,Be.tail=s.t+s.h*ke):Be.tail=s.l+s.w*ke:Be.tail=Ce._offset+Ce.r2p(ke),rt=Ae}else Be.tail=tt+ke,rt=Ae+ke;Be.text=Be.tail+Ae;var Ge=o[W==="x"?"width":"height"];if(fe==="paper"&&(Be.head=L0.constrain(Be.head,1,Ge-1)),ge==="pixel"){var lt=-Math.max(Be.tail-3,Be.text),it=Math.min(Be.tail+3,Be.text)-Ge;lt>0?(Be.tail+=lt,Be.text+=lt):it>0&&(Be.tail-=it,Be.text-=it)}Be.tail+=ze,Be.head+=ze}else Ae=Ie*oe(Ee,Re),rt=Ae,Be.text=tt+Ae;Be.text+=ze,Ae+=ze,rt+=ze,t["_"+W+"padplus"]=Ie/2+rt,t["_"+W+"padminus"]=Ie/2-rt,t["_"+W+"size"]=Ie,t["_"+W+"shift"]=Ae}if(te){M.remove();return}var wt=0,_t=0;if(t.align!=="left"&&(wt=(O-Q)*(t.align==="center"?.5:1)),t.valign!=="top"&&(_t=(Z-j)*(t.valign==="middle"?.5:1)),G)U.select("svg").attr({x:S+wt-1,y:S+_t}).call(id.setClipUrl,E?m:null,e);else{var Tt=S+_t-ee.top,nt=S+wt-ee.left;I.call(MR.positionText,nt,Tt).call(id.setClipUrl,E?m:null,e)}C.select("rect").call(id.setRect,S,S,O,Z),y.call(id.setRect,A/2,A/2,K-A,$-A),M.call(id.setTranslate,Math.round(b.x.text-K/2),Math.round(b.y.text-$/2)),T.attr({transform:"rotate("+g+","+b.x.text+","+b.y.text+")"});var bt=function(Ye,je){_.selectAll(".annotation-arrow-g").remove();var $e=b.x.head,ve=b.y.head,Y=b.x.tail+Ye,ie=b.y.tail+je,Te=b.x.text+Ye,Ve=b.y.text+je,at=L0.rotationXYMatrix(g,Te,Ve),ft=L0.apply2DTransform(at),Ht=L0.apply2DTransform2(at),Xt=+y.attr("width"),St=+y.attr("height"),Vt=Te-.5*Xt,er=Vt+Xt,_r=Ve-.5*St,br=_r+St,or=[[Vt,_r,Vt,br],[Vt,br,er,br],[er,br,er,_r],[er,_r,Vt,_r]].map(Ht);if(!or.reduce(function(wn,Si){return wn^!!L0.segmentsIntersect($e,ve,$e+1e6,ve+1e6,Si[0],Si[1],Si[2],Si[3])},!1)){or.forEach(function(wn){var Si=L0.segmentsIntersect(Y,ie,$e,ve,wn[0],wn[1],wn[2],wn[3]);Si&&(Y=Si.x,ie=Si.y)});var tn=t.arrowwidth,Lr=t.arrowcolor,Gr=t.arrowside,sn=_.append("g").style({opacity:Lg.opacity(Lr)}).classed("annotation-arrow-g",!0),Hr=sn.append("path").attr("d","M"+Y+","+ie+"L"+$e+","+ve).style("stroke-width",tn+"px").call(Lg.stroke,Lg.rgb(Lr));if(Gnt(Hr,Gr,t),l.annotationPosition&&Hr.node().parentNode&&!n){var Br=$e,qn=ve;if(t.standoff){var kn=Math.sqrt(Math.pow($e-Y,2)+Math.pow(ve-ie,2));Br+=t.standoff*(Y-$e)/kn,qn+=t.standoff*(ie-ve)/kn}var Yn=sn.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(Y-Br)+","+(ie-qn),transform:AR(Br,qn)}).style("stroke-width",tn+6+"px").call(Lg.stroke,"rgba(0,0,0,0)").call(Lg.fill,"rgba(0,0,0,0)"),Wn,Fn;pw.init({element:Yn.node(),gd:e,prepFn:function(){var wn=id.getTranslate(M);Wn=wn.x,Fn=wn.y,i&&i.autorange&&h(i._name+".autorange",!0),a&&a.autorange&&h(a._name+".autorange",!0)},moveFn:function(wn,Si){var Aa=ft(Wn,Fn),ia=Aa[0]+wn,An=Aa[1]+Si;M.call(id.setTranslate,ia,An),d("x",E0(i,wn,"x",s,t)),d("y",E0(a,Si,"y",s,t)),t.axref===t.xref&&d("ax",E0(i,wn,"ax",s,t)),t.ayref===t.yref&&d("ay",E0(a,Si,"ay",s,t)),sn.attr("transform",AR(wn,Si)),T.attr({transform:"rotate("+g+","+ia+","+An+")"})},doneFn:function(){TR.call("_guiRelayout",e,v());var wn=document.querySelector(".js-notes-box-panel");wn&&wn.redraw(wn.selectedObj)}})}}};if(t.showarrow&&bt(0,0),w){var At;pw.init({element:M.node(),gd:e,prepFn:function(){At=T.attr("transform")},moveFn:function(Ye,je){var $e="pointer";if(t.showarrow)t.axref===t.xref?d("ax",E0(i,Ye,"ax",s,t)):d("ax",t.ax+Ye),t.ayref===t.yref?d("ay",E0(a,je,"ay",s.w,t)):d("ay",t.ay+je),bt(Ye,je);else{if(n)return;var ve,Y;if(i)ve=E0(i,Ye,"x",s,t);else{var ie=t._xsize/s.w,Te=t.x+(t._xshift-t.xshift)/s.w-ie/2;ve=pw.align(Te+Ye/s.w,ie,0,1,t.xanchor)}if(a)Y=E0(a,je,"y",s,t);else{var Ve=t._ysize/s.h,at=t.y-(t._yshift+t.yshift)/s.h-Ve/2;Y=pw.align(at-je/s.h,Ve,0,1,t.yanchor)}d("x",ve),d("y",Y),(!i||!a)&&($e=pw.getCursor(i?.5:ve,a?.5:Y,t.xanchor,t.yanchor))}T.attr({transform:AR(Ye,je)+At}),kR(M,$e)},clickFn:function(Ye,je){t.captureevents&&e.emit("plotly_clickannotation",x(je))},doneFn:function(){kR(M),TR.call("_guiRelayout",e,v());var Ye=document.querySelector(".js-notes-box-panel");Ye&&Ye.redraw(Ye.selectedObj)}})}}l.annotationText?I.call(MR.makeEditable,{delegate:M,gd:e}).call(P).on("edit",function(q){t.text=q,this.call(P),d("text",q),i&&i.autorange&&h(i._name+".autorange",!0),a&&a.autorange&&h(a._name+".autorange",!0),TR.call("_guiRelayout",e,v())}):I.call(P)}});var Zae=J((dIt,Xae)=>{"use strict";var Vae=gt(),Xnt=zr(),Yae=ki().arrayEditor;Xae.exports={hasClickToShow:Znt,onClick:Jnt};function Znt(e,t){var r=Wae(e,t);return r.on.length>0||r.explicitOff.length>0}function Jnt(e,t){var r=Wae(e,t),n=r.on,i=r.off.concat(r.explicitOff),a={},o=e._fullLayout.annotations,s,l;if(n.length||i.length){for(s=0;s<n.length;s++)l=Yae(e.layout,"annotations",o[n[s]]),l.modifyItem("visible",!0),Vae.extendFlat(a,l.getUpdateObj());for(s=0;s<i.length;s++)l=Yae(e.layout,"annotations",o[i[s]]),l.modifyItem("visible",!1),Vae.extendFlat(a,l.getUpdateObj());return Xnt.call("update",e,{},a)}}function Wae(e,t){var r=e._fullLayout.annotations,n=[],i=[],a=[],o=(t||[]).length,s,l,u,f,c,h,d,v;for(s=0;s<r.length;s++)if(u=r[s],f=u.clicktoshow,f){for(l=0;l<o;l++)if(c=t[l],h=c.xaxis,d=c.yaxis,h._id===u.xref&&d._id===u.yref&&h.d2r(c.x)===Gae(u._xclick,h)&&d.d2r(c.y)===Gae(u._yclick,d)){u.visible?f==="onout"?v=i:v=a:v=n,v.push(s);break}l===o&&u.visible&&f==="onout"&&i.push(s)}return{on:n,off:i,explicitOff:a}}function Gae(e,t){return t.type==="log"?t.l2r(e):t.d2r(e)}});var CR=J((pIt,Jae)=>{"use strict";var SR=gt(),my=qr();Jae.exports=function(t,r,n,i){i("opacity");var a=i("bgcolor"),o=i("bordercolor"),s=my.opacity(o);i("borderpad");var l=i("borderwidth"),u=i("showarrow");i("text",u?" ":n._dfltTitle.annotation),i("textangle"),SR.coerceFont(i,"font",n.font),i("width"),i("align");var f=i("height");if(f&&i("valign"),u){var c=i("arrowside"),h,d;c.indexOf("end")!==-1&&(h=i("arrowhead"),d=i("arrowsize")),c.indexOf("start")!==-1&&(i("startarrowhead",h),i("startarrowsize",d)),i("arrowcolor",s?r.bordercolor:my.defaultLine),i("arrowwidth",(s&&l||1)*2),i("standoff"),i("startstandoff")}var v=i("hovertext"),m=n.hoverlabel||{};if(v){var b=i("hoverlabel.bgcolor",m.bgcolor||(my.opacity(a)?my.rgb(a):my.defaultLine)),g=i("hoverlabel.bordercolor",m.bordercolor||my.contrast(b)),_=SR.extendFlat({},m.font);_.color||(_.color=g),SR.coerceFont(i,"hoverlabel.font",_)}i("captureevents",!!v)}});var Kae=J((gIt,$ae)=>{"use strict";var ER=gt(),Dg=nn(),$nt=Bu(),Knt=CR(),Qnt=dg();$ae.exports=function(t,r){$nt(t,r,{name:"annotations",handleItemDefaults:eit})};function eit(e,t,r){function n(T,w){return ER.coerce(e,t,Qnt,T,w)}var i=n("visible"),a=n("clicktoshow");if(i||a){Knt(e,t,r,n);for(var o=t.showarrow,s=["x","y"],l=[-10,-30],u={_fullLayout:r},f=0;f<2;f++){var c=s[f],h=Dg.coerceRef(e,t,u,c,"","paper");if(h!=="paper"){var d=Dg.getFromId(u,h);d._annIndices.push(t._index)}if(Dg.coercePosition(t,u,n,h,c,.5),o){var v="a"+c,m=Dg.coerceRef(e,t,u,v,"pixel",["pixel","paper"]);m!=="pixel"&&m!==h&&(m=t[v]="pixel");var b=m==="pixel"?l[f]:.4;Dg.coercePosition(t,u,n,m,v,b)}n(c+"anchor"),n(c+"shift")}if(ER.noneOrAll(e,t,["x","y"]),o&&ER.noneOrAll(e,t,["ax","ay"]),a){var g=n("xclick"),_=n("yclick");t._xclick=g===void 0?t.x:Dg.cleanPosition(g,u,t.xref),t._yclick=_===void 0?t.y:Dg.cleanPosition(_,u,t.yref)}}}});var toe=J((mIt,eoe)=>{"use strict";var LR=gt(),Rg=nn(),tit=pk().draw;eoe.exports=function(t){var r=t._fullLayout,n=LR.filterVisible(r.annotations);if(n.length&&t._fullData.length)return LR.syncOrAsync([tit,rit],t)};function rit(e){var t=e._fullLayout;LR.filterVisible(t.annotations).forEach(function(r){var n=Rg.getFromId(e,r.xref),i=Rg.getFromId(e,r.yref),a=Rg.getRefType(r.xref),o=Rg.getRefType(r.yref);r._extremes={},a==="range"&&Qae(r,n),o==="range"&&Qae(r,i)})}function Qae(e,t){var r=t._id,n=r.charAt(0),i=e[n],a=e["a"+n],o=e[n+"ref"],s=e["a"+n+"ref"],l=e["_"+n+"padplus"],u=e["_"+n+"padminus"],f={x:1,y:-1}[n]*e[n+"shift"],c=3*e.arrowsize*e.arrowwidth||0,h=c+f,d=c-f,v=3*e.startarrowsize*e.arrowwidth||0,m=v+f,b=v-f,g;if(s===o){var _=Rg.findExtremes(t,[t.r2c(i)],{ppadplus:h,ppadminus:d}),T=Rg.findExtremes(t,[t.r2c(a)],{ppadplus:Math.max(l,m),ppadminus:Math.max(u,b)});g={min:[_.min[0],T.min[0]],max:[_.max[0],T.max[0]]}}else m=a?m+a:m,b=a?b-a:b,g=Rg.findExtremes(t,[t.r2c(i)],{ppadplus:Math.max(l,h,m),ppadminus:Math.max(u,d,b)});e._extremes[r]=g}});var noe=J((yIt,roe)=>{"use strict";var nit=dn(),iit=vT();roe.exports=function(t,r,n,i){r=r||{};var a=n==="log"&&r.type==="linear",o=n==="linear"&&r.type==="log";if(!(a||o))return;var s=t._fullLayout.annotations,l=r._id.charAt(0),u,f;function c(d){var v=u[d],m=null;a?m=iit(v,r.range):m=Math.pow(10,v),nit(m)||(m=null),i(f+d,m)}for(var h=0;h<s.length;h++)u=s[h],f="annotations["+h+"].",u[l+"ref"]===r._id&&c(l),u["a"+l+"ref"]===r._id&&c("a"+l)}});var ooe=J((xIt,aoe)=>{"use strict";var DR=pk(),ioe=Zae();aoe.exports={moduleType:"component",name:"annotations",layoutAttributes:dg(),supplyLayoutDefaults:Kae(),includeBasePlot:H2()("annotations"),calcAutorange:toe(),draw:DR.draw,drawOne:DR.drawOne,drawRaw:DR.drawRaw,hasClickToShow:ioe.hasClickToShow,onClick:ioe.onClick,convertCoords:noe()}});var gk=J((bIt,soe)=>{"use strict";var fa=dg(),ait=La().overrideAll,oit=ki().templatedArray;soe.exports=ait(oit("annotation",{visible:fa.visible,x:{valType:"any",description:["Sets the annotation's x position."].join(" ")},y:{valType:"any",description:["Sets the annotation's y position."].join(" ")},z:{valType:"any",description:["Sets the annotation's z position."].join(" ")},ax:{valType:"number",description:["Sets the x component of the arrow tail about the arrow head (in pixels)."].join(" ")},ay:{valType:"number",description:["Sets the y component of the arrow tail about the arrow head (in pixels)."].join(" ")},xanchor:fa.xanchor,xshift:fa.xshift,yanchor:fa.yanchor,yshift:fa.yshift,text:fa.text,textangle:fa.textangle,font:fa.font,width:fa.width,height:fa.height,opacity:fa.opacity,align:fa.align,valign:fa.valign,bgcolor:fa.bgcolor,bordercolor:fa.bordercolor,borderpad:fa.borderpad,borderwidth:fa.borderwidth,showarrow:fa.showarrow,arrowcolor:fa.arrowcolor,arrowhead:fa.arrowhead,startarrowhead:fa.startarrowhead,arrowside:fa.arrowside,arrowsize:fa.arrowsize,startarrowsize:fa.startarrowsize,arrowwidth:fa.arrowwidth,standoff:fa.standoff,startstandoff:fa.startstandoff,hovertext:fa.hovertext,hoverlabel:fa.hoverlabel,captureevents:fa.captureevents}),"calc","from-root")});var uoe=J((wIt,loe)=>{"use strict";var RR=gt(),sit=nn(),lit=Bu(),uit=CR(),fit=gk();loe.exports=function(t,r,n){lit(t,r,{name:"annotations",handleItemDefaults:cit,fullLayout:n.fullLayout})};function cit(e,t,r,n){function i(s,l){return RR.coerce(e,t,fit,s,l)}function a(s){var l=s+"axis",u={_fullLayout:{}};return u._fullLayout[l]=r[l],sit.coercePosition(t,u,i,s,s,.5)}var o=i("visible");o&&(uit(e,t,n.fullLayout,i),a("x"),a("y"),a("z"),RR.noneOrAll(e,t,["x","y","z"]),t.xref="x",t.yref="y",t.zref="z",i("xanchor"),i("yanchor"),i("xshift"),i("yshift"),t.showarrow&&(t.axref="pixel",t.ayref="pixel",i("ax",-10),i("ay",-30),RR.noneOrAll(e,t,["ax","ay"])))}});var voe=J((_It,hoe)=>{"use strict";var foe=gt(),coe=nn();hoe.exports=function(t){for(var r=t.fullSceneLayout,n=r.annotations,i=0;i<n.length;i++)hit(n[i],t);t.fullLayout._infolayer.selectAll(".annotation-"+t.id).remove()};function hit(e,t){var r=t.fullSceneLayout,n=r.domain,i=t.fullLayout._size,a={pdata:null,type:"linear",autorange:!1,range:[-1/0,1/0]};e._xa={},foe.extendFlat(e._xa,a),coe.setConvert(e._xa),e._xa._offset=i.l+n.x[0]*i.w,e._xa.l2p=function(){return .5*(1+e._pdata[0]/e._pdata[3])*i.w*(n.x[1]-n.x[0])},e._ya={},foe.extendFlat(e._ya,a),coe.setConvert(e._ya),e._ya._offset=i.t+(1-n.y[1])*i.h,e._ya.l2p=function(){return .5*(1-e._pdata[1]/e._pdata[3])*i.h*(n.y[1]-n.y[0])}}});var IR=J((TIt,doe)=>{"use strict";function PR(e,t){var r=[0,0,0,0],n,i;for(n=0;n<4;++n)for(i=0;i<4;++i)r[i]+=e[4*n+i]*t[n];return r}function vit(e,t){var r=PR(e.projection,PR(e.view,PR(e.model,[t[0],t[1],t[2],1])));return r}doe.exports=vit});var goe=J((AIt,poe)=>{"use strict";var dit=pk().drawRaw,pit=IR(),git=["x","y","z"];poe.exports=function(t){for(var r=t.fullSceneLayout,n=t.dataScale,i=r.annotations,a=0;a<i.length;a++){for(var o=i[a],s=!1,l=0;l<3;l++){var u=git[l],f=o[u],c=r[u+"axis"],h=c.r2fraction(f);if(h<0||h>1){s=!0;break}}s?t.fullLayout._infolayer.select(".annotation-"+t.id+'[data-index="'+a+'"]').remove():(o._pdata=pit(t.glplot.cameraParams,[r.xaxis.r2l(o.x)*n[0],r.yaxis.r2l(o.y)*n[1],r.zaxis.r2l(o.z)*n[2]]),dit(t.graphDiv,o,a,t.id,o._xa,o._ya))}}});var xoe=J((MIt,yoe)=>{"use strict";var mit=zr(),moe=gt();yoe.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:gk()}}},layoutAttributes:gk(),handleDefaults:uoe(),includeBasePlot:yit,convert:voe(),draw:goe()};function yit(e,t){var r=mit.subplotsRegistry.gl3d;if(r)for(var n=r.attrRegex,i=Object.keys(e),a=0;a<i.length;a++){var o=i[a];n.test(o)&&(e[o].annotations||[]).length&&(moe.pushUnique(t._basePlotModules,r),moe.pushUnique(t._subplots.gl3d,o))}}});var qR=J((kIt,Aoe)=>{"use strict";var boe=dg(),woe=xa(),_oe=ds().line,xit=Ss().dash,uh=cn().extendFlat,bit=ki().templatedArray,Toe=U2(),yy=Qi(),wit=Jn().shapeTexttemplateAttrs,_it=MT();Aoe.exports=bit("shape",{visible:uh({},yy.visible,{editType:"calc+arraydraw",description:["Determines whether or not this shape is visible.","If *legendonly*, the shape is not drawn,","but can appear as a legend item","(provided that the legend itself is visible)."].join(" ")}),showlegend:{valType:"boolean",dflt:!1,editType:"calc+arraydraw",description:["Determines whether or not this","shape is shown in the legend."].join(" ")},legend:uh({},yy.legend,{editType:"calc+arraydraw",description:["Sets the reference to a legend to show this shape in.","References to these legends are *legend*, *legend2*, *legend3*, etc.","Settings for these legends are set in the layout, under","`layout.legend`, `layout.legend2`, etc."].join(" ")}),legendgroup:uh({},yy.legendgroup,{editType:"calc+arraydraw",description:["Sets the legend group for this shape.","Traces and shapes part of the same legend group hide/show at the same time","when toggling legend items."].join(" ")}),legendgrouptitle:{text:uh({},yy.legendgrouptitle.text,{editType:"calc+arraydraw"}),font:woe({editType:"calc+arraydraw",description:["Sets this legend group's title font."].join(" ")}),editType:"calc+arraydraw"},legendrank:uh({},yy.legendrank,{editType:"calc+arraydraw",description:["Sets the legend rank for this shape.","Items and groups with smaller ranks are presented on top/left side while","with *reversed* `legend.traceorder` they are on bottom/right side.","The default legendrank is 1000,","so that you can use ranks less than 1000 to place certain items before all unranked items,","and ranks greater than 1000 to go after all unranked items.","When having unranked or equal rank items shapes would be displayed after traces","i.e. according to their order in data and layout."].join(" ")}),legendwidth:uh({},yy.legendwidth,{editType:"calc+arraydraw",description:"Sets the width (in px or fraction) of the legend for this shape."}),type:{valType:"enumerated",values:["circle","rect","path","line"],editType:"calc+arraydraw",description:["Specifies the shape type to be drawn.","If *line*, a line is drawn from (`x0`,`y0`) to (`x1`,`y1`)","with respect to the axes' sizing mode.","If *circle*, a circle is drawn from","((`x0`+`x1`)/2, (`y0`+`y1`)/2))","with radius","(|(`x0`+`x1`)/2 - `x0`|, |(`y0`+`y1`)/2 -`y0`)|)","with respect to the axes' sizing mode.","If *rect*, a rectangle is drawn linking","(`x0`,`y0`), (`x1`,`y0`), (`x1`,`y1`), (`x0`,`y1`), (`x0`,`y0`)","with respect to the axes' sizing mode.","If *path*, draw a custom SVG path using `path`.","with respect to the axes' sizing mode."].join(" ")},layer:{valType:"enumerated",values:["below","above","between"],dflt:"above",editType:"arraydraw",description:["Specifies whether shapes are drawn below gridlines (*below*),","between gridlines and traces (*between*) or above traces (*above*)."].join(" ")},xref:uh({},boe.xref,{description:["Sets the shape's x coordinate axis.",Toe.axisRefDescription("x","left","right")].join(" ")}),xsizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw",description:["Sets the shapes's sizing mode along the x axis.","If set to *scaled*, `x0`, `x1` and x coordinates within `path` refer to","data values on the x axis or a fraction of the plot area's width","(`xref` set to *paper*).","If set to *pixel*, `xanchor` specifies the x position in terms","of data or plot fraction but `x0`, `x1` and x coordinates within `path`","are pixels relative to `xanchor`. This way, the shape can have","a fixed width while maintaining a position relative to data or","plot fraction."].join(" ")},xanchor:{valType:"any",editType:"calc+arraydraw",description:["Only relevant in conjunction with `xsizemode` set to *pixel*.","Specifies the anchor point on the x axis to which `x0`, `x1`","and x coordinates within `path` are relative to.","E.g. useful to attach a pixel sized shape to a certain data value.","No effect when `xsizemode` not set to *pixel*."].join(" ")},x0:{valType:"any",editType:"calc+arraydraw",description:["Sets the shape's starting x position.","See `type` and `xsizemode` for more info."].join(" ")},x1:{valType:"any",editType:"calc+arraydraw",description:["Sets the shape's end x position.","See `type` and `xsizemode` for more info."].join(" ")},x0shift:{valType:"number",dflt:0,min:-1,max:1,editType:"calc",description:["Shifts `x0` away from the center of the category when `xref` is a *category* or","*multicategory* axis. -0.5 corresponds to the start of the category and 0.5","corresponds to the end of the category."].join(" ")},x1shift:{valType:"number",dflt:0,min:-1,max:1,editType:"calc",description:["Shifts `x1` away from the center of the category when `xref` is a *category* or","*multicategory* axis. -0.5 corresponds to the start of the category and 0.5","corresponds to the end of the category."].join(" ")},yref:uh({},boe.yref,{description:["Sets the shape's y coordinate axis.",Toe.axisRefDescription("y","bottom","top")].join(" ")}),ysizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw",description:["Sets the shapes's sizing mode along the y axis.","If set to *scaled*, `y0`, `y1` and y coordinates within `path` refer to","data values on the y axis or a fraction of the plot area's height","(`yref` set to *paper*).","If set to *pixel*, `yanchor` specifies the y position in terms","of data or plot fraction but `y0`, `y1` and y coordinates within `path`","are pixels relative to `yanchor`. This way, the shape can have","a fixed height while maintaining a position relative to data or","plot fraction."].join(" ")},yanchor:{valType:"any",editType:"calc+arraydraw",description:["Only relevant in conjunction with `ysizemode` set to *pixel*.","Specifies the anchor point on the y axis to which `y0`, `y1`","and y coordinates within `path` are relative to.","E.g. useful to attach a pixel sized shape to a certain data value.","No effect when `ysizemode` not set to *pixel*."].join(" ")},y0:{valType:"any",editType:"calc+arraydraw",description:["Sets the shape's starting y position.","See `type` and `ysizemode` for more info."].join(" ")},y1:{valType:"any",editType:"calc+arraydraw",description:["Sets the shape's end y position.","See `type` and `ysizemode` for more info."].join(" ")},y0shift:{valType:"number",dflt:0,min:-1,max:1,editType:"calc",description:["Shifts `y0` away from the center of the category when `yref` is a *category* or","*multicategory* axis. -0.5 corresponds to the start of the category and 0.5","corresponds to the end of the category."].join(" ")},y1shift:{valType:"number",dflt:0,min:-1,max:1,editType:"calc",description:["Shifts `y1` away from the center of the category when `yref` is a *category* or","*multicategory* axis. -0.5 corresponds to the start of the category and 0.5","corresponds to the end of the category."].join(" ")},path:{valType:"string",editType:"calc+arraydraw",description:["For `type` *path* - a valid SVG path with the pixel values","replaced by data values in `xsizemode`/`ysizemode` being *scaled*","and taken unmodified as pixels relative to `xanchor` and `yanchor`","in case of *pixel* size mode.","There are a few restrictions / quirks","only absolute instructions, not relative. So the allowed segments","are: M, L, H, V, Q, C, T, S, and Z","arcs (A) are not allowed because radius rx and ry are relative.","In the future we could consider supporting relative commands,","but we would have to decide on how to handle date and log axes.","Note that even as is, Q and C Bezier paths that are smooth on","linear axes may not be smooth on log, and vice versa.",'no chained "polybezier" commands - specify the segment type for',"each one.","On category axes, values are numbers scaled to the serial numbers","of categories because using the categories themselves there would","be no way to describe fractional positions","On data axes: because space and T are both normal components of path","strings, we can't use either to separate date from time parts.","Therefore we'll use underscore for this purpose:","2015-02-21_13:45:56.789"].join(" ")},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw",description:"Sets the opacity of the shape."},line:{color:uh({},_oe.color,{editType:"arraydraw"}),width:uh({},_oe.width,{editType:"calc+arraydraw"}),dash:uh({},xit,{editType:"arraydraw"}),editType:"calc+arraydraw"},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw",description:["Sets the color filling the shape's interior. Only applies to closed shapes."].join(" ")},fillrule:{valType:"enumerated",values:["evenodd","nonzero"],dflt:"evenodd",editType:"arraydraw",description:["Determines which regions of complex paths constitute the interior.","For more info please visit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule"].join(" ")},editable:{valType:"boolean",dflt:!1,editType:"calc+arraydraw",description:["Determines whether the shape could be activated for edit or not.","Has no effect when the older editable shapes mode is enabled via","`config.editable` or `config.edits.shapePosition`."].join(" ")},label:{text:{valType:"string",dflt:"",editType:"arraydraw",description:["Sets the text to display with shape.","It is also used for legend item if `name` is not provided."].join(" ")},texttemplate:wit({},{keys:Object.keys(_it)}),font:woe({editType:"calc+arraydraw",colorEditType:"arraydraw",description:"Sets the shape label text font."}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right","start","middle","end"],editType:"arraydraw",description:["Sets the position of the label text relative to the shape.","Supported values for rectangles, circles and paths are","*top left*, *top center*, *top right*, *middle left*,","*middle center*, *middle right*, *bottom left*, *bottom center*,","and *bottom right*.","Supported values for lines are *start*, *middle*, and *end*.","Default: *middle center* for rectangles, circles, and paths; *middle* for lines."].join(" ")},textangle:{valType:"angle",dflt:"auto",editType:"calc+arraydraw",description:["Sets the angle at which the label text is drawn","with respect to the horizontal. For lines, angle *auto*","is the same angle as the line. For all other shapes,","angle *auto* is horizontal."].join(" ")},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw",description:["Sets the label's horizontal position anchor","This anchor binds the specified `textposition` to the *left*, *center*","or *right* of the label text.","For example, if `textposition` is set to *top right* and","`xanchor` to *right* then the right-most portion of the","label text lines up with the right-most edge of the","shape."].join(" ")},yanchor:{valType:"enumerated",values:["top","middle","bottom"],editType:"calc+arraydraw",description:["Sets the label's vertical position anchor","This anchor binds the specified `textposition` to the *top*, *middle*","or *bottom* of the label text.","For example, if `textposition` is set to *top right* and","`yanchor` to *top* then the top-most portion of the","label text lines up with the top-most edge of the","shape."].join(" ")},padding:{valType:"number",dflt:3,min:0,editType:"arraydraw",description:"Sets padding (in px) between edge of label and edge of shape."},editType:"arraydraw"},editType:"arraydraw"})});var Soe=J((SIt,koe)=>{"use strict";var mw=gt(),xy=nn(),Tit=Bu(),Ait=qR(),Moe=w0();koe.exports=function(t,r){Tit(t,r,{name:"shapes",handleItemDefaults:kit})};function Mit(e,t){return e?"bottom":t.indexOf("top")!==-1?"top":t.indexOf("bottom")!==-1?"bottom":"middle"}function kit(e,t,r){function n(q,N){return mw.coerce(e,t,Ait,q,N)}t._isShape=!0;var i=n("visible");if(i){var a=n("showlegend");a&&(n("legend"),n("legendwidth"),n("legendgroup"),n("legendgrouptitle.text"),mw.coerceFont(n,"legendgrouptitle.font"),n("legendrank"));var o=n("path"),s=o?"path":"rect",l=n("type",s),u=l!=="path";u&&delete t.path,n("editable"),n("layer"),n("opacity"),n("fillcolor"),n("fillrule");var f=n("line.width");f&&(n("line.color"),n("line.dash"));for(var c=n("xsizemode"),h=n("ysizemode"),d=["x","y"],v=0;v<2;v++){var m=d[v],b=m+"anchor",g=m==="x"?c:h,_={_fullLayout:r},T,w,k,x=xy.coerceRef(e,t,_,m,void 0,"paper"),M=xy.getRefType(x);if(M==="range"?(T=xy.getFromId(_,x),T._shapeIndices.push(t._index),k=Moe.rangeToShapePosition(T),w=Moe.shapePositionToRange(T),(T.type==="category"||T.type==="multicategory")&&(n(m+"0shift"),n(m+"1shift"))):w=k=mw.identity,u){var A=.25,p=.75,S=m+"0",y=m+"1",E=e[S],C=e[y];e[S]=w(e[S],!0),e[y]=w(e[y],!0),g==="pixel"?(n(S,0),n(y,10)):(xy.coercePosition(t,_,n,x,S,A),xy.coercePosition(t,_,n,x,y,p)),t[S]=k(t[S]),t[y]=k(t[y]),e[S]=E,e[y]=C}if(g==="pixel"){var L=e[b];e[b]=w(e[b],!0),xy.coercePosition(t,_,n,x,b,.25),t[b]=k(t[b]),e[b]=L}}u&&mw.noneOrAll(e,t,["x0","x1","y0","y1"]);var R=l==="line",I,P;if(u&&(I=n("label.texttemplate")),I||(P=n("label.text")),P||I){n("label.textangle");var D=n("label.textposition",R?"middle":"middle center");n("label.xanchor"),n("label.yanchor",Mit(R,D)),n("label.padding"),mw.coerceFont(n,"label.font",r.font)}}}});var Loe=J((CIt,Eoe)=>{"use strict";var Sit=qr(),Coe=gt();function Cit(e,t){return e?"bottom":t.indexOf("top")!==-1?"top":t.indexOf("bottom")!==-1?"bottom":"middle"}Eoe.exports=function(t,r,n){n("newshape.visible"),n("newshape.name"),n("newshape.showlegend"),n("newshape.legend"),n("newshape.legendwidth"),n("newshape.legendgroup"),n("newshape.legendgrouptitle.text"),Coe.coerceFont(n,"newshape.legendgrouptitle.font"),n("newshape.legendrank"),n("newshape.drawdirection"),n("newshape.layer"),n("newshape.fillcolor"),n("newshape.fillrule"),n("newshape.opacity");var i=n("newshape.line.width");if(i){var a=(t||{}).plot_bgcolor||"#FFF";n("newshape.line.color",Sit.contrast(a)),n("newshape.line.dash")}var o=t.dragmode==="drawline",s=n("newshape.label.text"),l=n("newshape.label.texttemplate");if(s||l){n("newshape.label.textangle");var u=n("newshape.label.textposition",o?"middle":"middle center");n("newshape.label.xanchor"),n("newshape.label.yanchor",Cit(o,u)),n("newshape.label.padding"),Coe.coerceFont(n,"newshape.label.font",r.font)}n("activeshape.fillcolor"),n("activeshape.opacity")}});var qoe=J((EIt,Ioe)=>{"use strict";var FR=gt(),by=nn(),wy=b2(),Roe=w0();Ioe.exports=function(t){var r=t._fullLayout,n=FR.filterVisible(r.shapes);if(!(!n.length||!t._fullData.length))for(var i=0;i<n.length;i++){var a=n[i];a._extremes={};var o,s,l=by.getRefType(a.xref),u=by.getRefType(a.yref);a.xref!=="paper"&&l!=="domain"&&(o=by.getFromId(t,a.xref),s=Doe(o,a,wy.paramIsX),s&&(a._extremes[o._id]=by.findExtremes(o,s,Eit(a)))),a.yref!=="paper"&&u!=="domain"&&(o=by.getFromId(t,a.yref),s=Doe(o,a,wy.paramIsY),s&&(a._extremes[o._id]=by.findExtremes(o,s,Lit(a))))}};function Eit(e){return Poe(e.line.width,e.xsizemode,e.x0,e.x1,e.path,!1)}function Lit(e){return Poe(e.line.width,e.ysizemode,e.y0,e.y1,e.path,!0)}function Poe(e,t,r,n,i,a){var o=e/2,s=a;if(t==="pixel"){var l=i?Roe.extractPathCoords(i,a?wy.paramIsY:wy.paramIsX):[r,n],u=FR.aggNums(Math.max,null,l),f=FR.aggNums(Math.min,null,l),c=f<0?Math.abs(f)+o:o,h=u>0?u+o:o;return{ppad:o,ppadplus:s?c:h,ppadminus:s?h:c}}else return{ppad:o}}function Doe(e,t,r){var n=e._id.charAt(0)==="x"?"x":"y",i=e.type==="category"||e.type==="multicategory",a,o,s=0,l=0,u=i?e.r2c:e.d2c,f=t[n+"sizemode"]==="scaled";if(f?(a=t[n+"0"],o=t[n+"1"],i&&(s=t[n+"0shift"],l=t[n+"1shift"])):(a=t[n+"anchor"],o=t[n+"anchor"]),a!==void 0)return[u(a)+s,u(o)+l];if(t.path){var c=1/0,h=-1/0,d=t.path.match(wy.segmentRE),v,m,b,g,_;for(e.type==="date"&&(u=Roe.decodeDate(u)),v=0;v<d.length;v++)m=d[v],b=r[m.charAt(0)].drawn,b!==void 0&&(g=d[v].substr(1).match(wy.paramRE),!(!g||g.length<b)&&(_=u(g[b]),_<c&&(c=_),_>h&&(h=_)));if(h>=c)return[c,h]}}});var Noe=J((LIt,zoe)=>{"use strict";var Foe=sM();zoe.exports={moduleType:"component",name:"shapes",layoutAttributes:qR(),supplyLayoutDefaults:Soe(),supplyDrawNewShapeDefaults:Loe(),includeBasePlot:H2()("shapes"),calcAutorange:qoe(),draw:Foe.draw,drawOne:Foe.drawOne}});var zR=J((DIt,Uoe)=>{"use strict";var Ooe=Eo(),Dit=ki().templatedArray,Boe=U2();Uoe.exports=Dit("image",{visible:{valType:"boolean",dflt:!0,editType:"arraydraw",description:["Determines whether or not this image is visible."].join(" ")},source:{valType:"string",editType:"arraydraw",description:["Specifies the URL of the image to be used.","The URL must be accessible from the domain where the","plot code is run, and can be either relative or absolute."].join(" ")},layer:{valType:"enumerated",values:["below","above"],dflt:"above",editType:"arraydraw",description:["Specifies whether images are drawn below or above traces.","When `xref` and `yref` are both set to `paper`,","image is drawn below the entire plot area."].join(" ")},sizex:{valType:"number",dflt:0,editType:"arraydraw",description:["Sets the image container size horizontally.","The image will be sized based on the `position` value.","When `xref` is set to `paper`, units are sized relative","to the plot width.","When `xref` ends with ` domain`, units are sized relative","to the axis width."].join(" ")},sizey:{valType:"number",dflt:0,editType:"arraydraw",description:["Sets the image container size vertically.","The image will be sized based on the `position` value.","When `yref` is set to `paper`, units are sized relative","to the plot height.","When `yref` ends with ` domain`, units are sized relative","to the axis height."].join(" ")},sizing:{valType:"enumerated",values:["fill","contain","stretch"],dflt:"contain",editType:"arraydraw",description:["Specifies which dimension of the image to constrain."].join(" ")},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw",description:"Sets the opacity of the image."},x:{valType:"any",dflt:0,editType:"arraydraw",description:["Sets the image's x position.","When `xref` is set to `paper`, units are sized relative","to the plot height.","See `xref` for more info"].join(" ")},y:{valType:"any",dflt:0,editType:"arraydraw",description:["Sets the image's y position.","When `yref` is set to `paper`, units are sized relative","to the plot height.","See `yref` for more info"].join(" ")},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left",editType:"arraydraw",description:"Sets the anchor for the x position"},yanchor:{valType:"enumerated",values:["top","middle","bottom"],dflt:"top",editType:"arraydraw",description:"Sets the anchor for the y position."},xref:{valType:"enumerated",values:["paper",Ooe.idRegex.x.toString()],dflt:"paper",editType:"arraydraw",description:["Sets the images's x coordinate axis.",Boe.axisRefDescription("x","left","right")].join(" ")},yref:{valType:"enumerated",values:["paper",Ooe.idRegex.y.toString()],dflt:"paper",editType:"arraydraw",description:["Sets the images's y coordinate axis.",Boe.axisRefDescription("y","bottom","top")].join(" ")},editType:"arraydraw"})});var joe=J((RIt,Hoe)=>{"use strict";var Rit=gt(),NR=nn(),Pit=Bu(),Iit=zR(),qit="images";Hoe.exports=function(t,r){var n={name:qit,handleItemDefaults:Fit};Pit(t,r,n)};function Fit(e,t,r){function n(h,d){return Rit.coerce(e,t,Iit,h,d)}var i=n("source"),a=n("visible",!!i);if(!a)return t;n("layer"),n("xanchor"),n("yanchor"),n("sizex"),n("sizey"),n("sizing"),n("opacity");for(var o={_fullLayout:r},s=["x","y"],l=0;l<2;l++){var u=s[l],f=NR.coerceRef(e,t,o,u,"paper",void 0);if(f!=="paper"){var c=NR.getFromId(o,f);c._imgIndices.push(t._index)}NR.coercePosition(t,o,n,f,u,0)}return t}});var Woe=J((PIt,Goe)=>{"use strict";var Voe=Nr(),zit=ln(),_y=nn(),Yoe=jo(),Nit=Gh();Goe.exports=function(t){var r=t._fullLayout,n=[],i={},a=[],o,s;for(s=0;s<r.images.length;s++){var l=r.images[s];if(l.visible)if(l.layer==="below"&&l.xref!=="paper"&&l.yref!=="paper"){o=Yoe.ref2id(l.xref)+Yoe.ref2id(l.yref);var u=r._plots[o];if(!u){a.push(l);continue}u.mainplot&&(o=u.mainplot.id),i[o]||(i[o]=[]),i[o].push(l)}else l.layer==="above"?n.push(l):a.push(l)}var f={x:{left:{sizing:"xMin",offset:0},center:{sizing:"xMid",offset:-1/2},right:{sizing:"xMax",offset:-1}},y:{top:{sizing:"YMin",offset:0},middle:{sizing:"YMid",offset:-1/2},bottom:{sizing:"YMax",offset:-1}}};function c(_){var T=Voe.select(this);if(this._imgSrc!==_.source)if(T.attr("xmlns",Nit.svg),_.source&&_.source.slice(0,5)==="data:")T.attr("xlink:href",_.source),this._imgSrc=_.source;else{var w=new Promise(function(k){var x=new Image;this.img=x,x.setAttribute("crossOrigin","anonymous"),x.onerror=M,x.onload=function(){var A=document.createElement("canvas");A.width=this.width,A.height=this.height;var p=A.getContext("2d",{willReadFrequently:!0});p.drawImage(this,0,0);var S=A.toDataURL("image/png");T.attr("xlink:href",S),k()},T.on("error",M),x.src=_.source,this._imgSrc=_.source;function M(){T.remove(),k()}}.bind(this));t._promises.push(w)}}function h(_){var T=Voe.select(this),w=_y.getFromId(t,_.xref),k=_y.getFromId(t,_.yref),x=_y.getRefType(_.xref)==="domain",M=_y.getRefType(_.yref)==="domain",A=r._size,p,S;w!==void 0?p=typeof _.xref=="string"&&x?w._length*_.sizex:Math.abs(w.l2p(_.sizex)-w.l2p(0)):p=_.sizex*A.w,k!==void 0?S=typeof _.yref=="string"&&M?k._length*_.sizey:Math.abs(k.l2p(_.sizey)-k.l2p(0)):S=_.sizey*A.h;var y=p*f.x[_.xanchor].offset,E=S*f.y[_.yanchor].offset,C=f.x[_.xanchor].sizing+f.y[_.yanchor].sizing,L,R;switch(w!==void 0?L=typeof _.xref=="string"&&x?w._length*_.x+w._offset:w.r2p(_.x)+w._offset:L=_.x*A.w+A.l,L+=y,k!==void 0?R=typeof _.yref=="string"&&M?k._length*(1-_.y)+k._offset:k.r2p(_.y)+k._offset:R=A.h-_.y*A.h+A.t,R+=E,_.sizing){case"fill":C+=" slice";break;case"stretch":C="none";break}T.attr({x:L,y:R,width:p,height:S,preserveAspectRatio:C,opacity:_.opacity});var I=w&&_y.getRefType(_.xref)!=="domain"?w._id:"",P=k&&_y.getRefType(_.yref)!=="domain"?k._id:"",D=I+P;zit.setClipUrl(T,D?"clip"+r._uid+D:null,t)}var d=r._imageLowerLayer.selectAll("image").data(a),v=r._imageUpperLayer.selectAll("image").data(n);d.enter().append("image"),v.enter().append("image"),d.exit().remove(),v.exit().remove(),d.each(function(_){c.bind(this)(_),h.bind(this)(_)}),v.each(function(_){c.bind(this)(_),h.bind(this)(_)});var m=Object.keys(r._plots);for(s=0;s<m.length;s++){o=m[s];var b=r._plots[o];if(b.imagelayer){var g=b.imagelayer.selectAll("image").data(i[o]||[]);g.enter().append("image"),g.exit().remove(),g.each(function(_){c.bind(this)(_),h.bind(this)(_)})}}}});var Joe=J((IIt,Zoe)=>{"use strict";var Xoe=dn(),Oit=vT();Zoe.exports=function(t,r,n,i){r=r||{};var a=n==="log"&&r.type==="linear",o=n==="linear"&&r.type==="log";if(a||o){for(var s=t._fullLayout.images,l=r._id.charAt(0),u,f,c=0;c<s.length;c++)if(u=s[c],f="images["+c+"].",u[l+"ref"]===r._id){var h=u[l],d=u["size"+l],v=null,m=null;if(a){v=Oit(h,r.range);var b=d/Math.pow(10,v)/2;m=2*Math.log(b+Math.sqrt(1+b*b))/Math.LN10}else v=Math.pow(10,h),m=v*(Math.pow(10,d/2)-Math.pow(10,-d/2));Xoe(v)?Xoe(m)||(m=null):(v=null,m=null),i(f+l,v),i(f+"size"+l,m)}}}});var Koe=J((qIt,$oe)=>{"use strict";$oe.exports={moduleType:"component",name:"images",layoutAttributes:zR(),supplyLayoutDefaults:joe(),includeBasePlot:H2()("images"),draw:Woe(),convertCoords:Joe()}});var mk=J((FIt,Qoe)=>{"use strict";Qoe.exports={name:"updatemenus",containerClassName:"updatemenu-container",headerGroupClassName:"updatemenu-header-group",headerClassName:"updatemenu-header",headerArrowClassName:"updatemenu-header-arrow",dropdownButtonGroupClassName:"updatemenu-dropdown-button-group",dropdownButtonClassName:"updatemenu-dropdown-button",buttonClassName:"updatemenu-button",itemRectClassName:"updatemenu-item-rect",itemTextClassName:"updatemenu-item-text",menuIndexAttrName:"updatemenu-active-index",autoMarginIdRoot:"updatemenu-",blankHeaderOpts:{label:" "},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:"#F4FAFF",hoverColor:"#F4FAFF",arrowSymbol:{left:"\u25C4",right:"\u25BA",up:"\u25B2",down:"\u25BC"}}});var OR=J((zIt,tse)=>{"use strict";var Bit=xa(),Uit=Ho(),Hit=cn().extendFlat,jit=La().overrideAll,Vit=kT(),ese=ki().templatedArray,Yit=ese("button",{visible:{valType:"boolean",description:"Determines whether or not this button is visible."},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle",description:["Sets the Plotly method to be called on click.","If the `skip` method is used, the API updatemenu will function as normal","but will perform no API calls and will not bind automatically to state","updates. This may be used to create a component interface and attach to","updatemenu events manually via JavaScript."].join(" ")},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}],description:["Sets the arguments values to be passed to the Plotly","method set in `method` on click."].join(" ")},args2:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}],description:["Sets a 2nd set of `args`,","these arguments values are passed to the Plotly","method set in `method` when clicking this button while in the active state.","Use this to create toggle buttons."].join(" ")},label:{valType:"string",dflt:"",description:"Sets the text label to appear on the button."},execute:{valType:"boolean",dflt:!0,description:["When true, the API method is executed. When false, all other behaviors are the same","and command execution is skipped. This may be useful when hooking into, for example,","the `plotly_buttonclicked` method and executing the API command manually without losing","the benefit of the updatemenu automatically binding to the state of the plot through the","specification of `method` and `args`."].join(" ")}});tse.exports=jit(ese("updatemenu",{_arrayAttrRegexps:[/^updatemenus\[(0|[1-9][0-9]+)\]\.buttons/],visible:{valType:"boolean",description:["Determines whether or not the update menu is visible."].join(" ")},type:{valType:"enumerated",values:["dropdown","buttons"],dflt:"dropdown",description:["Determines whether the buttons are accessible via a dropdown menu","or whether the buttons are stacked horizontally or vertically"].join(" ")},direction:{valType:"enumerated",values:["left","right","up","down"],dflt:"down",description:["Determines the direction in which the buttons are laid out, whether","in a dropdown menu or a row/column of buttons. For `left` and `up`,","the buttons will still appear in left-to-right or top-to-bottom order","respectively."].join(" ")},active:{valType:"integer",min:-1,dflt:0,description:["Determines which button (by index starting from 0) is","considered active."].join(" ")},showactive:{valType:"boolean",dflt:!0,description:"Highlights active dropdown item or active button if true."},buttons:Yit,x:{valType:"number",min:-2,max:3,dflt:-.05,description:"Sets the x position (in normalized coordinates) of the update menu."},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"right",description:["Sets the update menu's horizontal position anchor.","This anchor binds the `x` position to the *left*, *center*","or *right* of the range selector."].join(" ")},y:{valType:"number",min:-2,max:3,dflt:1,description:"Sets the y position (in normalized coordinates) of the update menu."},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top",description:["Sets the update menu's vertical position anchor","This anchor binds the `y` position to the *top*, *middle*","or *bottom* of the range selector."].join(" ")},pad:Hit(Vit({editType:"arraydraw"}),{description:"Sets the padding around the buttons or dropdown menu."}),font:Bit({description:"Sets the font of the update menu button text."}),bgcolor:{valType:"color",description:"Sets the background color of the update menu buttons."},bordercolor:{valType:"color",dflt:Uit.borderLine,description:"Sets the color of the border enclosing the update menu."},borderwidth:{valType:"number",min:0,dflt:1,editType:"arraydraw",description:"Sets the width (in px) of the border enclosing the update menu."}}),"arraydraw","from-root")});var ase=J((NIt,ise)=>{"use strict";var yk=gt(),rse=Bu(),nse=OR(),Git=mk(),Wit=Git.name,Xit=nse.buttons;ise.exports=function(t,r){var n={name:Wit,handleItemDefaults:Zit};rse(t,r,n)};function Zit(e,t,r){function n(o,s){return yk.coerce(e,t,nse,o,s)}var i=rse(e,t,{name:"buttons",handleItemDefaults:Jit}),a=n("visible",i.length>0);a&&(n("active"),n("direction"),n("type"),n("showactive"),n("x"),n("y"),yk.noneOrAll(e,t,["x","y"]),n("xanchor"),n("yanchor"),n("pad.t"),n("pad.r"),n("pad.b"),n("pad.l"),yk.coerceFont(n,"font",r.font),n("bgcolor",r.paper_bgcolor),n("bordercolor"),n("borderwidth"))}function Jit(e,t){function r(i,a){return yk.coerce(e,t,Xit,i,a)}var n=r("visible",e.method==="skip"||Array.isArray(e.args));n&&(r("method"),r("args"),r("args2"),r("label"),r("execute"))}});var lse=J((OIt,sse)=>{"use strict";sse.exports=Ha;var fh=Nr(),ose=qr(),Ty=ln(),xk=gt();function Ha(e,t,r){this.gd=e,this.container=t,this.id=r,this.position=null,this.translateX=null,this.translateY=null,this.hbar=null,this.vbar=null,this.bg=this.container.selectAll("rect.scrollbox-bg").data([0]),this.bg.exit().on(".drag",null).on("wheel",null).remove(),this.bg.enter().append("rect").classed("scrollbox-bg",!0).style("pointer-events","all").attr({opacity:0,x:0,y:0,width:0,height:0})}Ha.barWidth=2;Ha.barLength=20;Ha.barRadius=2;Ha.barPad=1;Ha.barColor="#808BA4";Ha.prototype.enable=function(t,r,n){var i=this.gd._fullLayout,a=i.width,o=i.height;this.position=t;var s=this.position.l,l=this.position.w,u=this.position.t,f=this.position.h,c=this.position.direction,h=c==="down",d=c==="left",v=c==="right",m=c==="up",b=l,g=f,_,T,w,k;!h&&!d&&!v&&!m&&(this.position.direction="down",h=!0);var x=h||m;x?(_=s,T=_+b,h?(w=u,k=Math.min(w+g,o),g=k-w):(k=u+g,w=Math.max(k-g,0),g=k-w)):(w=u,k=w+g,d?(T=s+b,_=Math.max(T-b,0),b=T-_):(_=s,T=Math.min(_+b,a),b=T-_)),this._box={l:_,t:w,w:b,h:g};var M=l>b,A=Ha.barLength+2*Ha.barPad,p=Ha.barWidth+2*Ha.barPad,S=s,y=u+f;y+p>o&&(y=o-p);var E=this.container.selectAll("rect.scrollbar-horizontal").data(M?[0]:[]);E.exit().on(".drag",null).remove(),E.enter().append("rect").classed("scrollbar-horizontal",!0).call(ose.fill,Ha.barColor),M?(this.hbar=E.attr({rx:Ha.barRadius,ry:Ha.barRadius,x:S,y,width:A,height:p}),this._hbarXMin=S+A/2,this._hbarTranslateMax=b-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var C=f>g,L=Ha.barWidth+2*Ha.barPad,R=Ha.barLength+2*Ha.barPad,I=s+l,P=u;I+L>a&&(I=a-L);var D=this.container.selectAll("rect.scrollbar-vertical").data(C?[0]:[]);D.exit().on(".drag",null).remove(),D.enter().append("rect").classed("scrollbar-vertical",!0).call(ose.fill,Ha.barColor),C?(this.vbar=D.attr({rx:Ha.barRadius,ry:Ha.barRadius,x:I,y:P,width:L,height:R}),this._vbarYMin=P+R/2,this._vbarTranslateMax=g-R):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var q=this.id,N=_-.5,U=C?T+L+.5:T+.5,G=w-.5,ee=M?k+p+.5:k+.5,Q=i._topdefs.selectAll("#"+q).data(M||C?[0]:[]);if(Q.exit().remove(),Q.enter().append("clipPath").attr("id",q).append("rect"),M||C?(this._clipRect=Q.select("rect").attr({x:Math.floor(N),y:Math.floor(G),width:Math.ceil(U)-Math.floor(N),height:Math.ceil(ee)-Math.floor(G)}),this.container.call(Ty.setClipUrl,q,this.gd),this.bg.attr({x:s,y:u,width:l,height:f})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(Ty.setClipUrl,null),delete this._clipRect),M||C){var j=fh.behavior.drag().on("dragstart",function(){fh.event.sourceEvent.preventDefault()}).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(j);var O=fh.behavior.drag().on("dragstart",function(){fh.event.sourceEvent.preventDefault(),fh.event.sourceEvent.stopPropagation()}).on("drag",this._onBarDrag.bind(this));M&&this.hbar.on(".drag",null).call(O),C&&this.vbar.on(".drag",null).call(O)}this.setTranslate(r,n)};Ha.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(Ty.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(".drag",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(".drag",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)};Ha.prototype._onBoxDrag=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t-=fh.event.dx),this.vbar&&(r-=fh.event.dy),this.setTranslate(t,r)};Ha.prototype._onBoxWheel=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t+=fh.event.deltaY),this.vbar&&(r+=fh.event.deltaY),this.setTranslate(t,r)};Ha.prototype._onBarDrag=function(){var t=this.translateX,r=this.translateY;if(this.hbar){var n=t+this._hbarXMin,i=n+this._hbarTranslateMax,a=xk.constrain(fh.event.x,n,i),o=(a-n)/(i-n),s=this.position.w-this._box.w;t=o*s}if(this.vbar){var l=r+this._vbarYMin,u=l+this._vbarTranslateMax,f=xk.constrain(fh.event.y,l,u),c=(f-l)/(u-l),h=this.position.h-this._box.h;r=c*h}this.setTranslate(t,r)};Ha.prototype.setTranslate=function(t,r){var n=this.position.w-this._box.w,i=this.position.h-this._box.h;if(t=xk.constrain(t||0,0,n),r=xk.constrain(r||0,0,i),this.translateX=t,this.translateY=r,this.container.call(Ty.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-r),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+r-.5)}),this.hbar){var a=t/n;this.hbar.call(Ty.setTranslate,t+a*this._hbarTranslateMax,r)}if(this.vbar){var o=r/i;this.vbar.call(Ty.setTranslate,t,r+o*this._vbarTranslateMax)}}});var yse=J((BIt,mse)=>{"use strict";var Ay=Nr(),yw=ea(),xw=qr(),My=ln(),Df=gt(),bk=ca(),$it=ki().arrayEditor,fse=Vo().LINE_SPACING,gn=mk(),Kit=lse();mse.exports=function(t){var r=t._fullLayout,n=Df.filterVisible(r[gn.name]);function i(h){yw.autoMargin(t,pse(h))}var a=r._menulayer.selectAll("g."+gn.containerClassName).data(n.length>0?[0]:[]);if(a.enter().append("g").classed(gn.containerClassName,!0).style("cursor","pointer"),a.exit().each(function(){Ay.select(this).selectAll("g."+gn.headerGroupClassName).each(i)}).remove(),n.length!==0){var o=a.selectAll("g."+gn.headerGroupClassName).data(n,Qit);o.enter().append("g").classed(gn.headerGroupClassName,!0);for(var s=Df.ensureSingle(a,"g",gn.dropdownButtonGroupClassName,function(h){h.style("pointer-events","all")}),l=0;l<n.length;l++){var u=n[l];aat(t,u)}var f="updatemenus"+r._uid,c=new Kit(t,s,f);o.enter().size()&&(s.node().parentNode.appendChild(s.node()),s.call(UR)),o.exit().each(function(h){s.call(UR),i(h)}).remove(),o.each(function(h){var d=Ay.select(this),v=h.type==="dropdown"?s:null;yw.manageCommandObserver(t,h,h.buttons,function(m){BR(t,h,h.buttons[m.index],d,v,c,m.index,!0)}),h.type==="dropdown"?(hse(t,d,s,c,h),cse(s,h)&&bw(t,d,s,c,h)):bw(t,d,null,null,h)})}};function Qit(e){return e._index}function eat(e){return+e.attr(gn.menuIndexAttrName)==-1}function cse(e,t){return+e.attr(gn.menuIndexAttrName)===t._index}function BR(e,t,r,n,i,a,o,s){t.active=o,$it(e.layout,gn.name,t).applyUpdate("active",o),t.type==="buttons"?bw(e,n,null,null,t):t.type==="dropdown"&&(i.attr(gn.menuIndexAttrName,"-1"),hse(e,n,i,a,t),s||bw(e,n,i,a,t))}function hse(e,t,r,n,i){var a=Df.ensureSingle(t,"g",gn.headerClassName,function(h){h.style("pointer-events","all")}),o=i._dims,s=i.active,l=i.buttons[s]||gn.blankHeaderOpts,u={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},f={width:o.headerWidth,height:o.headerHeight};a.call(HR,i,l,e).call(gse,i,u,f);var c=Df.ensureSingle(t,"text",gn.headerArrowClassName,function(h){h.attr("text-anchor","end").call(My.font,i.font).text(gn.arrowSymbol[i.direction])});c.attr({x:o.headerWidth-gn.arrowOffsetX+i.pad.l,y:o.headerHeight/2+gn.textOffsetY+i.pad.t}),a.on("click",function(){r.call(UR,String(cse(r,i)?-1:i._index)),bw(e,t,r,n,i)}),a.on("mouseover",function(){a.call(vse)}),a.on("mouseout",function(){a.call(dse,i)}),My.setTranslate(t,o.lx,o.ly)}function bw(e,t,r,n,i){r||(r=t,r.attr("pointer-events","all"));var a=!eat(r)||i.type==="buttons"?i.buttons:[],o=i.type==="dropdown"?gn.dropdownButtonClassName:gn.buttonClassName,s=r.selectAll("g."+o).data(Df.filterVisible(a)),l=s.enter().append("g").classed(o,!0),u=s.exit();i.type==="dropdown"?(l.attr("opacity","0").transition().attr("opacity","1"),u.transition().attr("opacity","0").remove()):u.remove();var f=0,c=0,h=i._dims,d=["up","down"].indexOf(i.direction)!==-1;i.type==="dropdown"&&(d?c=h.headerHeight+gn.gapButtonHeader:f=h.headerWidth+gn.gapButtonHeader),i.type==="dropdown"&&i.direction==="up"&&(c=-gn.gapButtonHeader+gn.gapButton-h.openHeight),i.type==="dropdown"&&i.direction==="left"&&(f=-gn.gapButtonHeader+gn.gapButton-h.openWidth);var v={x:h.lx+f+i.pad.l,y:h.ly+c+i.pad.t,yPad:gn.gapButton,xPad:gn.gapButton,index:0},m={l:v.x+i.borderwidth,t:v.y+i.borderwidth};s.each(function(b,g){var _=Ay.select(this);_.call(HR,i,b,e).call(gse,i,v),_.on("click",function(){Ay.event.defaultPrevented||(b.execute&&(b.args2&&i.active===g?(BR(e,i,b,t,r,n,-1),yw.executeAPICommand(e,b.method,b.args2)):(BR(e,i,b,t,r,n,g),yw.executeAPICommand(e,b.method,b.args))),e.emit("plotly_buttonclicked",{menu:i,button:b,active:i.active}))}),_.on("mouseover",function(){_.call(vse)}),_.on("mouseout",function(){_.call(dse,i),s.call(use,i)})}),s.call(use,i),d?(m.w=Math.max(h.openWidth,h.headerWidth),m.h=v.y-m.t):(m.w=v.x-m.l,m.h=Math.max(h.openHeight,h.headerHeight)),m.direction=i.direction,n&&(s.size()?tat(e,t,r,n,i,m):rat(n))}function tat(e,t,r,n,i,a){var o=i.direction,s=o==="up"||o==="down",l=i._dims,u=i.active,f,c,h;if(s)for(c=0,h=0;h<u;h++)c+=l.heights[h]+gn.gapButton;else for(f=0,h=0;h<u;h++)f+=l.widths[h]+gn.gapButton;n.enable(a,f,c),n.hbar&&n.hbar.attr("opacity","0").transition().attr("opacity","1"),n.vbar&&n.vbar.attr("opacity","0").transition().attr("opacity","1")}function rat(e){var t=!!e.hbar,r=!!e.vbar;t&&e.hbar.transition().attr("opacity","0").each("end",function(){t=!1,r||e.disable()}),r&&e.vbar.transition().attr("opacity","0").each("end",function(){r=!1,t||e.disable()})}function HR(e,t,r,n){e.call(nat,t).call(iat,t,r,n)}function nat(e,t){var r=Df.ensureSingle(e,"rect",gn.itemRectClassName,function(n){n.attr({rx:gn.rx,ry:gn.ry,"shape-rendering":"crispEdges"})});r.call(xw.stroke,t.bordercolor).call(xw.fill,t.bgcolor).style("stroke-width",t.borderwidth+"px")}function iat(e,t,r,n){var i=Df.ensureSingle(e,"text",gn.itemTextClassName,function(s){s.attr({"text-anchor":"start","data-notex":1})}),a=r.label,o=n._fullLayout._meta;o&&(a=Df.templateString(a,o)),i.call(My.font,t.font).text(a).call(bk.convertToTspans,n)}function use(e,t){var r=t.active;e.each(function(n,i){var a=Ay.select(this);i===r&&t.showactive&&a.select("rect."+gn.itemRectClassName).call(xw.fill,gn.activeColor)})}function vse(e){e.select("rect."+gn.itemRectClassName).call(xw.fill,gn.hoverColor)}function dse(e,t){e.select("rect."+gn.itemRectClassName).call(xw.fill,t.bgcolor)}function aat(e,t){var r=t._dims={width1:0,height1:0,heights:[],widths:[],totalWidth:0,totalHeight:0,openWidth:0,openHeight:0,lx:0,ly:0},n=My.tester.selectAll("g."+gn.dropdownButtonClassName).data(Df.filterVisible(t.buttons));n.enter().append("g").classed(gn.dropdownButtonClassName,!0);var i=["up","down"].indexOf(t.direction)!==-1;n.each(function(f,c){var h=Ay.select(this);h.call(HR,t,f,e);var d=h.select("."+gn.itemTextClassName),v=d.node()&&My.bBox(d.node()).width,m=Math.max(v+gn.textPadX,gn.minWidth),b=t.font.size*fse,g=bk.lineCount(d),_=Math.max(b*g,gn.minHeight)+gn.textOffsetY;_=Math.ceil(_),m=Math.ceil(m),r.widths[c]=m,r.heights[c]=_,r.height1=Math.max(r.height1,_),r.width1=Math.max(r.width1,m),i?(r.totalWidth=Math.max(r.totalWidth,m),r.openWidth=r.totalWidth,r.totalHeight+=_+gn.gapButton,r.openHeight+=_+gn.gapButton):(r.totalWidth+=m+gn.gapButton,r.openWidth+=m+gn.gapButton,r.totalHeight=Math.max(r.totalHeight,_),r.openHeight=r.totalHeight)}),i?r.totalHeight-=gn.gapButton:r.totalWidth-=gn.gapButton,r.headerWidth=r.width1+gn.arrowPadX,r.headerHeight=r.height1,t.type==="dropdown"&&(i?(r.width1+=gn.arrowPadX,r.totalHeight=r.height1):r.totalWidth=r.width1,r.totalWidth+=gn.arrowPadX),n.remove();var a=r.totalWidth+t.pad.l+t.pad.r,o=r.totalHeight+t.pad.t+t.pad.b,s=e._fullLayout._size;r.lx=s.l+s.w*t.x,r.ly=s.t+s.h*(1-t.y);var l="left";Df.isRightAnchor(t)&&(r.lx-=a,l="right"),Df.isCenterAnchor(t)&&(r.lx-=a/2,l="center");var u="top";Df.isBottomAnchor(t)&&(r.ly-=o,u="bottom"),Df.isMiddleAnchor(t)&&(r.ly-=o/2,u="middle"),r.totalWidth=Math.ceil(r.totalWidth),r.totalHeight=Math.ceil(r.totalHeight),r.lx=Math.round(r.lx),r.ly=Math.round(r.ly),yw.autoMargin(e,pse(t),{x:t.x,y:t.y,l:a*({right:1,center:.5}[l]||0),r:a*({left:1,center:.5}[l]||0),b:o*({top:1,middle:.5}[u]||0),t:o*({bottom:1,middle:.5}[u]||0)})}function pse(e){return gn.autoMarginIdRoot+e._index}function gse(e,t,r,n){n=n||{};var i=e.select("."+gn.itemRectClassName),a=e.select("."+gn.itemTextClassName),o=t.borderwidth,s=r.index,l=t._dims;My.setTranslate(e,o+r.x,o+r.y);var u=["up","down"].indexOf(t.direction)!==-1,f=n.height||(u?l.heights[s]:l.height1);i.attr({x:0,y:0,width:n.width||(u?l.width1:l.widths[s]),height:f});var c=t.font.size*fse,h=bk.lineCount(a),d=(h-1)*c/2;bk.positionText(a,gn.textOffsetX,f/2-d+gn.textOffsetY),u?r.y+=l.heights[s]+r.yPad:r.x+=l.widths[s]+r.xPad,r.index++}function UR(e,t){e.attr(gn.menuIndexAttrName,t||"-1").selectAll("g."+gn.dropdownButtonClassName).remove()}});var bse=J((UIt,xse)=>{"use strict";var oat=mk();xse.exports={moduleType:"component",name:oat.name,layoutAttributes:OR(),supplyLayoutDefaults:ase(),draw:yse()}});var ww=J((HIt,wse)=>{"use strict";wse.exports={name:"sliders",containerClassName:"slider-container",groupClassName:"slider-group",inputAreaClass:"slider-input-area",railRectClass:"slider-rail-rect",railTouchRectClass:"slider-rail-touch-rect",gripRectClass:"slider-grip-rect",tickRectClass:"slider-tick-rect",inputProxyClass:"slider-input-proxy",labelsClass:"slider-labels",labelGroupClass:"slider-label-group",labelClass:"slider-label",currentValueClass:"slider-current-value",railHeight:5,menuIndexAttrName:"slider-active-index",autoMarginIdRoot:"slider-",minWidth:30,minHeight:30,textPadX:40,arrowOffsetX:4,railRadius:2,railWidth:5,railBorder:4,railBorderWidth:1,railBorderColor:"#bec8d9",railBgColor:"#f8fafc",railInset:8,stepInset:10,gripRadius:10,gripWidth:20,gripHeight:20,gripBorder:20,gripBorderWidth:1,gripBorderColor:"#bec8d9",gripBgColor:"#f6f8fa",gripBgActiveColor:"#dbdde0",labelPadding:8,labelOffset:0,tickWidth:1,tickColor:"#333",tickOffset:25,tickLength:7,minorTickOffset:25,minorTickColor:"#333",minorTickLength:4,currentValuePadding:8,currentValueInset:0}});var jR=J((jIt,Ase)=>{"use strict";var _se=xa(),sat=kT(),lat=cn().extendDeepAll,uat=La().overrideAll,fat=Bb(),Tse=ki().templatedArray,Pg=ww(),cat=Tse("step",{visible:{valType:"boolean",dflt:!0,description:["Determines whether or not this step is included in the slider."].join(" ")},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle",description:["Sets the Plotly method to be called when the slider value is changed.","If the `skip` method is used, the API slider will function as normal","but will perform no API calls and will not bind automatically to state","updates. This may be used to create a component interface and attach to","slider events manually via JavaScript."].join(" ")},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}],description:["Sets the arguments values to be passed to the Plotly","method set in `method` on slide."].join(" ")},label:{valType:"string",description:"Sets the text label to appear on the slider"},value:{valType:"string",description:["Sets the value of the slider step, used to refer to the step programatically.","Defaults to the slider label if not provided."].join(" ")},execute:{valType:"boolean",dflt:!0,description:["When true, the API method is executed. When false, all other behaviors are the same","and command execution is skipped. This may be useful when hooking into, for example,","the `plotly_sliderchange` method and executing the API command manually without losing","the benefit of the slider automatically binding to the state of the plot through the","specification of `method` and `args`."].join(" ")}});Ase.exports=uat(Tse("slider",{visible:{valType:"boolean",dflt:!0,description:["Determines whether or not the slider is visible."].join(" ")},active:{valType:"number",min:0,dflt:0,description:["Determines which button (by index starting from 0) is","considered active."].join(" ")},steps:cat,lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction",description:["Determines whether this slider length","is set in units of plot *fraction* or in *pixels.","Use `len` to set the value."].join(" ")},len:{valType:"number",min:0,dflt:1,description:["Sets the length of the slider","This measure excludes the padding of both ends.","That is, the slider's length is this length minus the","padding on both ends."].join(" ")},x:{valType:"number",min:-2,max:3,dflt:0,description:"Sets the x position (in normalized coordinates) of the slider."},pad:lat(sat({editType:"arraydraw"}),{description:"Set the padding of the slider component along each side."},{t:{dflt:20}}),xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left",description:["Sets the slider's horizontal position anchor.","This anchor binds the `x` position to the *left*, *center*","or *right* of the range selector."].join(" ")},y:{valType:"number",min:-2,max:3,dflt:0,description:"Sets the y position (in normalized coordinates) of the slider."},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top",description:["Sets the slider's vertical position anchor","This anchor binds the `y` position to the *top*, *middle*","or *bottom* of the range selector."].join(" ")},transition:{duration:{valType:"number",min:0,dflt:150,description:"Sets the duration of the slider transition"},easing:{valType:"enumerated",values:fat.transition.easing.values,dflt:"cubic-in-out",description:"Sets the easing function of the slider transition"}},currentvalue:{visible:{valType:"boolean",dflt:!0,description:["Shows the currently-selected value above the slider."].join(" ")},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left",description:["The alignment of the value readout relative to the length of the slider."].join(" ")},offset:{valType:"number",dflt:10,description:["The amount of space, in pixels, between the current value label","and the slider."].join(" ")},prefix:{valType:"string",description:"When currentvalue.visible is true, this sets the prefix of the label."},suffix:{valType:"string",description:"When currentvalue.visible is true, this sets the suffix of the label."},font:_se({description:"Sets the font of the current value label text."})},font:_se({description:"Sets the font of the slider step labels."}),activebgcolor:{valType:"color",dflt:Pg.gripBgActiveColor,description:["Sets the background color of the slider grip","while dragging."].join(" ")},bgcolor:{valType:"color",dflt:Pg.railBgColor,description:"Sets the background color of the slider."},bordercolor:{valType:"color",dflt:Pg.railBorderColor,description:"Sets the color of the border enclosing the slider."},borderwidth:{valType:"number",min:0,dflt:Pg.railBorderWidth,description:"Sets the width (in px) of the border enclosing the slider."},ticklen:{valType:"number",min:0,dflt:Pg.tickLength,description:"Sets the length in pixels of step tick marks"},tickcolor:{valType:"color",dflt:Pg.tickColor,description:"Sets the color of the border enclosing the slider."},tickwidth:{valType:"number",min:0,dflt:1,description:"Sets the tick width (in px)."},minorticklen:{valType:"number",min:0,dflt:Pg.minorTickLength,description:"Sets the length in pixels of minor step tick marks"}}),"arraydraw","from-root")});var Cse=J((VIt,Sse)=>{"use strict";var ky=gt(),Mse=Bu(),kse=jR(),hat=ww(),vat=hat.name,dat=kse.steps;Sse.exports=function(t,r){Mse(t,r,{name:vat,handleItemDefaults:pat})};function pat(e,t,r){function n(c,h){return ky.coerce(e,t,kse,c,h)}for(var i=Mse(e,t,{name:"steps",handleItemDefaults:gat}),a=0,o=0;o<i.length;o++)i[o].visible&&a++;var s;if(a<2?s=t.visible=!1:s=n("visible"),!!s){t._stepCount=a;var l=t._visibleSteps=ky.filterVisible(i),u=n("active");(i[u]||{}).visible||(t.active=l[0]._index),n("x"),n("y"),ky.noneOrAll(e,t,["x","y"]),n("xanchor"),n("yanchor"),n("len"),n("lenmode"),n("pad.t"),n("pad.r"),n("pad.b"),n("pad.l"),ky.coerceFont(n,"font",r.font);var f=n("currentvalue.visible");f&&(n("currentvalue.xanchor"),n("currentvalue.prefix"),n("currentvalue.suffix"),n("currentvalue.offset"),ky.coerceFont(n,"currentvalue.font",t.font)),n("transition.duration"),n("transition.easing"),n("bgcolor"),n("activebgcolor"),n("bordercolor"),n("borderwidth"),n("ticklen"),n("tickwidth"),n("tickcolor"),n("minorticklen")}}function gat(e,t){function r(a,o){return ky.coerce(e,t,dat,a,o)}var n;if(e.method!=="skip"&&!Array.isArray(e.args)?n=t.visible=!1:n=r("visible"),n){r("method"),r("args");var i=r("label","step-"+t._index);r("value",i),r("execute")}}});var Nse=J((YIt,zse)=>{"use strict";var ch=Nr(),wk=ea(),D0=qr(),hh=ln(),Rf=gt(),mat=Rf.strTranslate,_w=ca(),yat=ki().arrayEditor,jn=ww(),GR=Vo(),Dse=GR.LINE_SPACING,VR=GR.FROM_TL,YR=GR.FROM_BR;zse.exports=function(t){var r=t._context.staticPlot,n=t._fullLayout,i=xat(n,t),a=n._infolayer.selectAll("g."+jn.containerClassName).data(i.length>0?[0]:[]);a.enter().append("g").classed(jn.containerClassName,!0).style("cursor",r?null:"ew-resize");function o(f){f._commandObserver&&(f._commandObserver.remove(),delete f._commandObserver),wk.autoMargin(t,Rse(f))}if(a.exit().each(function(){ch.select(this).selectAll("g."+jn.groupClassName).each(o)}).remove(),i.length!==0){var s=a.selectAll("g."+jn.groupClassName).data(i,bat);s.enter().append("g").classed(jn.groupClassName,!0),s.exit().each(o).remove();for(var l=0;l<i.length;l++){var u=i[l];wat(t,u)}s.each(function(f){var c=ch.select(this);kat(f),wk.manageCommandObserver(t,f,f._visibleSteps,function(h){var d=c.data()[0];d.active!==h.index&&(d._dragging||Ise(t,c,d,h.index,!1,!0))}),_at(t,ch.select(this),f)})}};function Rse(e){return jn.autoMarginIdRoot+e._index}function xat(e,t){for(var r=e[jn.name],n=[],i=0;i<r.length;i++){var a=r[i];a.visible&&(a._gd=t,n.push(a))}return n}function bat(e){return e._index}function wat(e,t){var r=hh.tester.selectAll("g."+jn.labelGroupClass).data(t._visibleSteps);r.enter().append("g").classed(jn.labelGroupClass,!0);var n=0,i=0;r.each(function(v){var m=ch.select(this),b=Pse(m,{step:v},t),g=b.node();if(g){var _=hh.bBox(g);i=Math.max(i,_.height),n=Math.max(n,_.width)}}),r.remove();var a=t._dims={};a.inputAreaWidth=Math.max(jn.railWidth,jn.gripHeight);var o=e._fullLayout._size;a.lx=o.l+o.w*t.x,a.ly=o.t+o.h*(1-t.y),t.lenmode==="fraction"?a.outerLength=Math.round(o.w*t.len):a.outerLength=t.len,a.inputAreaStart=0,a.inputAreaLength=Math.round(a.outerLength-t.pad.l-t.pad.r);var s=a.inputAreaLength-2*jn.stepInset,l=s/(t._stepCount-1),u=n+jn.labelPadding;if(a.labelStride=Math.max(1,Math.ceil(u/l)),a.labelHeight=i,a.currentValueMaxWidth=0,a.currentValueHeight=0,a.currentValueTotalHeight=0,a.currentValueMaxLines=1,t.currentvalue.visible){var f=hh.tester.append("g");r.each(function(v){var m=_k(f,t,v.label),b=m.node()&&hh.bBox(m.node())||{width:0,height:0},g=_w.lineCount(m);a.currentValueMaxWidth=Math.max(a.currentValueMaxWidth,Math.ceil(b.width)),a.currentValueHeight=Math.max(a.currentValueHeight,Math.ceil(b.height)),a.currentValueMaxLines=Math.max(a.currentValueMaxLines,g)}),a.currentValueTotalHeight=a.currentValueHeight+t.currentvalue.offset,f.remove()}a.height=a.currentValueTotalHeight+jn.tickOffset+t.ticklen+jn.labelOffset+a.labelHeight+t.pad.t+t.pad.b;var c="left";Rf.isRightAnchor(t)&&(a.lx-=a.outerLength,c="right"),Rf.isCenterAnchor(t)&&(a.lx-=a.outerLength/2,c="center");var h="top";Rf.isBottomAnchor(t)&&(a.ly-=a.height,h="bottom"),Rf.isMiddleAnchor(t)&&(a.ly-=a.height/2,h="middle"),a.outerLength=Math.ceil(a.outerLength),a.height=Math.ceil(a.height),a.lx=Math.round(a.lx),a.ly=Math.round(a.ly);var d={y:t.y,b:a.height*YR[h],t:a.height*VR[h]};t.lenmode==="fraction"?(d.l=0,d.xl=t.x-t.len*VR[c],d.r=0,d.xr=t.x+t.len*YR[c]):(d.x=t.x,d.l=a.outerLength*VR[c],d.r=a.outerLength*YR[c]),wk.autoMargin(e,Rse(t),d)}function _at(e,t,r){(r.steps[r.active]||{}).visible||(r.active=r._visibleSteps[0]._index),t.call(_k,r).call(Cat,r).call(Aat,r).call(Mat,r).call(Sat,e,r).call(Tat,e,r);var n=r._dims;hh.setTranslate(t,n.lx+r.pad.l,n.ly+r.pad.t),t.call(Fse,r,!1),t.call(_k,r)}function _k(e,t,r){if(t.currentvalue.visible){var n=t._dims,i,a;switch(t.currentvalue.xanchor){case"right":i=n.inputAreaLength-jn.currentValueInset-n.currentValueMaxWidth,a="left";break;case"center":i=n.inputAreaLength*.5,a="middle";break;default:i=jn.currentValueInset,a="left"}var o=Rf.ensureSingle(e,"text",jn.labelClass,function(h){h.attr({"text-anchor":a,"data-notex":1})}),s=t.currentvalue.prefix?t.currentvalue.prefix:"";if(typeof r=="string")s+=r;else{var l=t.steps[t.active].label,u=t._gd._fullLayout._meta;u&&(l=Rf.templateString(l,u)),s+=l}t.currentvalue.suffix&&(s+=t.currentvalue.suffix),o.call(hh.font,t.currentvalue.font).text(s).call(_w.convertToTspans,t._gd);var f=_w.lineCount(o),c=(n.currentValueMaxLines+1-f)*t.currentvalue.font.size*Dse;return _w.positionText(o,i,c),o}}function Tat(e,t,r){var n=Rf.ensureSingle(e,"rect",jn.gripRectClass,function(i){i.call(qse,t,e,r).style("pointer-events","all")});n.attr({width:jn.gripWidth,height:jn.gripHeight,rx:jn.gripRadius,ry:jn.gripRadius}).call(D0.stroke,r.bordercolor).call(D0.fill,r.bgcolor).style("stroke-width",r.borderwidth+"px")}function Pse(e,t,r){var n=Rf.ensureSingle(e,"text",jn.labelClass,function(o){o.attr({"text-anchor":"middle","data-notex":1})}),i=t.step.label,a=r._gd._fullLayout._meta;return a&&(i=Rf.templateString(i,a)),n.call(hh.font,r.font).text(i).call(_w.convertToTspans,r._gd),n}function Aat(e,t){var r=Rf.ensureSingle(e,"g",jn.labelsClass),n=t._dims,i=r.selectAll("g."+jn.labelGroupClass).data(n.labelSteps);i.enter().append("g").classed(jn.labelGroupClass,!0),i.exit().remove(),i.each(function(a){var o=ch.select(this);o.call(Pse,a,t),hh.setTranslate(o,WR(t,a.fraction),jn.tickOffset+t.ticklen+t.font.size*Dse+jn.labelOffset+n.currentValueTotalHeight)})}function Ese(e,t,r,n,i){var a=Math.round(n*(r._stepCount-1)),o=r._visibleSteps[a]._index;o!==r.active&&Ise(e,t,r,o,!0,i)}function Ise(e,t,r,n,i,a){var o=r.active;r.active=n,yat(e.layout,jn.name,r).applyUpdate("active",n);var s=r.steps[r.active];t.call(Fse,r,a),t.call(_k,r),e.emit("plotly_sliderchange",{slider:r,step:r.steps[r.active],interaction:i,previousActive:o}),s&&s.method&&i&&(t._nextMethod?(t._nextMethod.step=s,t._nextMethod.doCallback=i,t._nextMethod.doTransition=a):(t._nextMethod={step:s,doCallback:i,doTransition:a},t._nextMethodRaf=window.requestAnimationFrame(function(){var l=t._nextMethod.step;l.method&&(l.execute&&wk.executeAPICommand(e,l.method,l.args),t._nextMethod=null,t._nextMethodRaf=null)})))}function qse(e,t,r){if(t._context.staticPlot)return;var n=r.node(),i=ch.select(t);function a(){return r.data()[0]}function o(){var s=a();t.emit("plotly_sliderstart",{slider:s});var l=r.select("."+jn.gripRectClass);ch.event.stopPropagation(),ch.event.preventDefault(),l.call(D0.fill,s.activebgcolor);var u=Lse(s,ch.mouse(n)[0]);Ese(t,r,s,u,!0),s._dragging=!0;function f(){var h=a(),d=Lse(h,ch.mouse(n)[0]);Ese(t,r,h,d,!1)}i.on("mousemove",f),i.on("touchmove",f);function c(){var h=a();h._dragging=!1,l.call(D0.fill,h.bgcolor),i.on("mouseup",null),i.on("mousemove",null),i.on("touchend",null),i.on("touchmove",null),t.emit("plotly_sliderend",{slider:h,step:h.steps[h.active]})}i.on("mouseup",c),i.on("touchend",c)}e.on("mousedown",o),e.on("touchstart",o)}function Mat(e,t){var r=e.selectAll("rect."+jn.tickRectClass).data(t._visibleSteps),n=t._dims;r.enter().append("rect").classed(jn.tickRectClass,!0),r.exit().remove(),r.attr({width:t.tickwidth+"px","shape-rendering":"crispEdges"}),r.each(function(i,a){var o=a%n.labelStride===0,s=ch.select(this);s.attr({height:o?t.ticklen:t.minorticklen}).call(D0.fill,t.tickcolor),hh.setTranslate(s,WR(t,a/(t._stepCount-1))-.5*t.tickwidth,(o?jn.tickOffset:jn.minorTickOffset)+n.currentValueTotalHeight)})}function kat(e){var t=e._dims;t.labelSteps=[];for(var r=e._stepCount,n=0;n<r;n+=t.labelStride)t.labelSteps.push({fraction:n/(r-1),step:e._visibleSteps[n]})}function Fse(e,t,r){for(var n=e.select("rect."+jn.gripRectClass),i=0,a=0;a<t._stepCount;a++)if(t._visibleSteps[a]._index===t.active){i=a;break}var o=WR(t,i/(t._stepCount-1));if(!t._invokingCommand){var s=n;r&&t.transition.duration>0&&(s=s.transition().duration(t.transition.duration).ease(t.transition.easing)),s.attr("transform",mat(o-jn.gripWidth*.5,t._dims.currentValueTotalHeight))}}function WR(e,t){var r=e._dims;return r.inputAreaStart+jn.stepInset+(r.inputAreaLength-2*jn.stepInset)*Math.min(1,Math.max(0,t))}function Lse(e,t){var r=e._dims;return Math.min(1,Math.max(0,(t-jn.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*jn.stepInset-2*r.inputAreaStart)))}function Sat(e,t,r){var n=r._dims,i=Rf.ensureSingle(e,"rect",jn.railTouchRectClass,function(a){a.call(qse,t,e,r).style("pointer-events","all")});i.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,jn.tickOffset+r.ticklen+n.labelHeight)}).call(D0.fill,r.bgcolor).attr("opacity",0),hh.setTranslate(i,0,n.currentValueTotalHeight)}function Cat(e,t){var r=t._dims,n=r.inputAreaLength-jn.railInset*2,i=Rf.ensureSingle(e,"rect",jn.railRectClass);i.attr({width:n,height:jn.railWidth,rx:jn.railRadius,ry:jn.railRadius,"shape-rendering":"crispEdges"}).call(D0.stroke,t.bordercolor).call(D0.fill,t.bgcolor).style("stroke-width",t.borderwidth+"px"),hh.setTranslate(i,jn.railInset,(r.inputAreaWidth-jn.railWidth)*.5+r.currentValueTotalHeight)}});var Bse=J((GIt,Ose)=>{"use strict";var Eat=ww();Ose.exports={moduleType:"component",name:Eat.name,layoutAttributes:jR(),supplyLayoutDefaults:Cse(),draw:Nse()}});var Tk=J((WIt,Hse)=>{"use strict";var Use=Ho();Hse.exports={bgcolor:{valType:"color",dflt:Use.background,editType:"plot",description:"Sets the background color of the range slider."},bordercolor:{valType:"color",dflt:Use.defaultLine,editType:"plot",description:"Sets the border color of the range slider."},borderwidth:{valType:"integer",dflt:0,min:0,editType:"plot",description:"Sets the border width of the range slider."},autorange:{valType:"boolean",dflt:!0,editType:"calc",impliedEdits:{"range[0]":void 0,"range[1]":void 0},description:["Determines whether or not the range slider range is","computed in relation to the input data.","If `range` is provided, then `autorange` is set to *false*."].join(" ")},range:{valType:"info_array",items:[{valType:"any",editType:"calc",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"calc",impliedEdits:{"^autorange":!1}}],editType:"calc",impliedEdits:{autorange:!1},description:["Sets the range of the range slider.","If not set, defaults to the full xaxis range.","If the axis `type` is *log*, then you must take the","log of your desired range.","If the axis `type` is *date*, it should be date strings,","like date data, though Date objects and unix milliseconds","will be accepted and converted to strings.","If the axis `type` is *category*, it should be numbers,","using the scale where each category is assigned a serial","number from zero in the order it appears."].join(" ")},thickness:{valType:"number",dflt:.15,min:0,max:1,editType:"plot",description:["The height of the range slider as a fraction of the","total plot area height."].join(" ")},visible:{valType:"boolean",dflt:!0,editType:"calc",description:["Determines whether or not the range slider will be visible.","If visible, perpendicular axes will be set to `fixedrange`"].join(" ")},editType:"calc"}});var XR=J((XIt,jse)=>{"use strict";jse.exports={_isSubplotObj:!0,rangemode:{valType:"enumerated",values:["auto","fixed","match"],dflt:"match",editType:"calc",description:["Determines whether or not the range of this axis in","the rangeslider use the same value than in the main plot","when zooming in/out.","If *auto*, the autorange will be used.","If *fixed*, the `range` is used.","If *match*, the current range of the corresponding y-axis on the main subplot is used."].join(" ")},range:{valType:"info_array",items:[{valType:"any",editType:"plot"},{valType:"any",editType:"plot"}],editType:"plot",description:["Sets the range of this axis for the rangeslider."].join(" ")},editType:"calc"}});var Ak=J((ZIt,Vse)=>{"use strict";Vse.exports={name:"rangeslider",containerClassName:"rangeslider-container",bgClassName:"rangeslider-bg",rangePlotClassName:"rangeslider-rangeplot",maskMinClassName:"rangeslider-mask-min",maskMaxClassName:"rangeslider-mask-max",slideBoxClassName:"rangeslider-slidebox",grabberMinClassName:"rangeslider-grabber-min",grabAreaMinClassName:"rangeslider-grabarea-min",handleMinClassName:"rangeslider-handle-min",grabberMaxClassName:"rangeslider-grabber-max",grabAreaMaxClassName:"rangeslider-grabarea-max",handleMaxClassName:"rangeslider-handle-max",maskMinOppAxisClassName:"rangeslider-mask-min-opp-axis",maskMaxOppAxisClassName:"rangeslider-mask-max-opp-axis",maskColor:"rgba(0,0,0,0.4)",maskOppAxisColor:"rgba(0,0,0,0.2)",slideBoxFill:"transparent",slideBoxCursor:"ew-resize",grabAreaFill:"transparent",grabAreaCursor:"col-resize",grabAreaWidth:10,handleWidth:4,handleRadius:1,handleStrokeWidth:1,extraPad:15}});var Wse=J(kk=>{"use strict";var Lat=jo(),Dat=ca(),Yse=Ak(),Rat=Vo().LINE_SPACING,Mk=Yse.name;function Gse(e){var t=e&&e[Mk];return t&&t.visible}kk.isVisible=Gse;kk.makeData=function(e){var t=Lat.list({_fullLayout:e},"x",!0),r=e.margin,n=[];if(!e._has("gl2d"))for(var i=0;i<t.length;i++){var a=t[i];if(Gse(a)){n.push(a);var o=a[Mk];o._id=Mk+a._id,o._height=(e.height-r.b-r.t)*o.thickness,o._offsetShift=Math.floor(o.borderwidth/2)}}e._rangeSliderData=n};kk.autoMarginOpts=function(e,t){var r=e._fullLayout,n=t[Mk],i=t._id.charAt(0),a=0,o=0;if(t.side==="bottom"&&(a=t._depth,t.title.text!==r._dfltTitle[i])){o=1.5*t.title.font.size+10+n._offsetShift;var s=(t.title.text.match(Dat.BR_TAG_ALL)||[]).length;o+=s*t.title.font.size*Rat}return{x:0,y:t._counterDomainMin,l:0,r:0,t:0,b:n._height+a+Math.max(r.margin.b,o),pad:Yse.extraPad+n._offsetShift*2}}});var $se=J(($It,Jse)=>{"use strict";var Sk=gt(),Xse=ki(),Zse=jo(),Pat=Tk(),Iat=XR();Jse.exports=function(t,r,n){var i=t[n],a=r[n];if(!(i.rangeslider||r._requestRangeslider[a._id]))return;Sk.isPlainObject(i.rangeslider)||(i.rangeslider={});var o=i.rangeslider,s=Xse.newContainer(a,"rangeslider");function l(k,x){return Sk.coerce(o,s,Pat,k,x)}var u,f;function c(k,x){return Sk.coerce(u,f,Iat,k,x)}var h=l("visible");if(h){l("bgcolor",r.plot_bgcolor),l("bordercolor"),l("borderwidth"),l("thickness"),l("autorange",!a.isValidRange(o.range)),l("range");var d=r._subplots;if(d)for(var v=d.cartesian.filter(function(k){return k.substr(0,k.indexOf("y"))===Zse.name2id(n)}).map(function(k){return k.substr(k.indexOf("y"),k.length)}),m=Sk.simpleMap(v,Zse.id2name),b=0;b<m.length;b++){var g=m[b];u=o[g]||{},f=Xse.newContainer(s,g,"yaxis");var _=r[g],T;u.range&&_.isValidRange(u.range)&&(T="fixed");var w=c("rangemode",T);w!=="match"&&c("range",_.range.slice())}s._input=o}}});var Qse=J((KIt,Kse)=>{"use strict";var qat=jo().list,Fat=ec().getAutoRange,zat=Ak();Kse.exports=function(t){for(var r=qat(t,"x",!0),n=0;n<r.length;n++){var i=r[n],a=i[zat.name];a&&a.visible&&a.autorange&&(a._input.autorange=!0,a._input.range=a.range=Fat(t,i))}}});var nle=J((QIt,rle)=>{"use strict";var Ck=Nr(),Nat=zr(),Oat=ea(),no=gt(),Ek=no.strTranslate,tle=ln(),R0=qr(),Bat=tg(),Uat=gs(),ZR=jo(),Hat=iu(),jat=th(),Qn=Ak();rle.exports=function(e){for(var t=e._fullLayout,r=t._rangeSliderData,n=0;n<r.length;n++){var i=r[n][Qn.name];i._clipId=i._id+"-"+t._uid}function a(s){return s._name}var o=t._infolayer.selectAll("g."+Qn.containerClassName).data(r,a);o.exit().each(function(s){var l=s[Qn.name];t._topdefs.select("#"+l._clipId).remove()}).remove(),r.length!==0&&(o.enter().append("g").classed(Qn.containerClassName,!0).attr("pointer-events","all"),o.each(function(s){var l=Ck.select(this),u=s[Qn.name],f=t[ZR.id2name(s.anchor)],c=u[ZR.id2name(s.anchor)];if(u.range){var h=no.simpleMap(u.range,s.r2l),d=no.simpleMap(s.range,s.r2l),v;d[0]<d[1]?v=[Math.min(h[0],d[0]),Math.max(h[1],d[1])]:v=[Math.max(h[0],d[0]),Math.min(h[1],d[1])],u.range=u._input.range=no.simpleMap(v,s.l2r)}s.cleanRange("rangeslider.range");var m=t._size,b=s.domain;u._width=m.w*(b[1]-b[0]);var g=Math.round(m.l+m.w*b[0]),_=Math.round(m.t+m.h*(1-s._counterDomainMin)+(s.side==="bottom"?s._depth:0)+u._offsetShift+Qn.extraPad);l.attr("transform",Ek(g,_)),u._rl=no.simpleMap(u.range,s.r2l);var T=u._rl[0],w=u._rl[1],k=w-T;if(u.p2d=function(R){return R/u._width*k+T},u.d2p=function(R){return(R-T)/k*u._width},s.rangebreaks){var x=s.locateBreaks(T,w);if(x.length){var M,A,p=0;for(M=0;M<x.length;M++)A=x[M],p+=A.max-A.min;var S=u._width/(w-T-p),y=[-S*T];for(M=0;M<x.length;M++)A=x[M],y.push(y[y.length-1]-S*(A.max-A.min));for(u.d2p=function(R){for(var I=y[0],P=0;P<x.length;P++){var D=x[P];if(R>=D.max)I=y[P+1];else if(R<D.min)break}return I+S*R},M=0;M<x.length;M++)A=x[M],A.pmin=u.d2p(A.min),A.pmax=u.d2p(A.max);u.p2d=function(R){for(var I=y[0],P=0;P<x.length;P++){var D=x[P];if(R>=D.pmax)I=y[P+1];else if(R<D.pmin)break}return(R-I)/S}}}if(c.rangemode!=="match"){var E=f.r2l(c.range[0]),C=f.r2l(c.range[1]),L=C-E;u.d2pOppAxis=function(R){return(R-E)/L*u._height}}l.call(Wat,e,s,u).call(Xat,e,s,u).call(Zat,e,s,u).call($at,e,s,u,c).call(Kat,e,s,u).call(Qat,e,s,u),Vat(l,e,s,u),Gat(l,e,s,u,f,c),s.side==="bottom"&&Bat.draw(e,s._id+"title",{propContainer:s,propName:s._name+".title",placeholder:t._dfltTitle.x,attributes:{x:s._offset+s._length/2,y:_+u._height+u._offsetShift+10+1.5*s.title.font.size,"text-anchor":"middle"}})}))};function ele(e){return typeof e.clientX=="number"?e.clientX:e.touches&&e.touches.length>0?e.touches[0].clientX:0}function Vat(e,t,r,n){if(t._context.staticPlot)return;var i=e.select("rect."+Qn.slideBoxClassName).node(),a=e.select("rect."+Qn.grabAreaMinClassName).node(),o=e.select("rect."+Qn.grabAreaMaxClassName).node();function s(){var l=Ck.event,u=l.target,f=ele(l),c=f-e.node().getBoundingClientRect().left,h=n.d2p(r._rl[0]),d=n.d2p(r._rl[1]),v=Hat.coverSlip();this.addEventListener("touchmove",m),this.addEventListener("touchend",b),v.addEventListener("mousemove",m),v.addEventListener("mouseup",b);function m(g){var _=ele(g),T=+_-f,w,k,x;switch(u){case i:if(x="ew-resize",h+T>r._length||d+T<0)return;w=h+T,k=d+T;break;case a:if(x="col-resize",h+T>r._length)return;w=h+T,k=d;break;case o:if(x="col-resize",d+T<0)return;w=h,k=d+T;break;default:x="ew-resize",w=c,k=c+T;break}if(k<w){var M=k;k=w,w=M}n._pixelMin=w,n._pixelMax=k,jat(Ck.select(v),x),Yat(e,t,r,n)}function b(){v.removeEventListener("mousemove",m),v.removeEventListener("mouseup",b),this.removeEventListener("touchmove",m),this.removeEventListener("touchend",b),no.removeElement(v)}}e.on("mousedown",s),e.on("touchstart",s)}function Yat(e,t,r,n){function i(s){return r.l2r(no.constrain(s,n._rl[0],n._rl[1]))}var a=i(n.p2d(n._pixelMin)),o=i(n.p2d(n._pixelMax));window.requestAnimationFrame(function(){Nat.call("_guiRelayout",t,r._name+".range",[a,o])})}function Gat(e,t,r,n,i,a){var o=Qn.handleWidth/2;function s(g){return no.constrain(g,0,n._width)}function l(g){return no.constrain(g,0,n._height)}function u(g){return no.constrain(g,-o,n._width+o)}var f=s(n.d2p(r._rl[0])),c=s(n.d2p(r._rl[1]));if(e.select("rect."+Qn.slideBoxClassName).attr("x",f).attr("width",c-f),e.select("rect."+Qn.maskMinClassName).attr("width",f),e.select("rect."+Qn.maskMaxClassName).attr("x",c).attr("width",n._width-c),a.rangemode!=="match"){var h=n._height-l(n.d2pOppAxis(i._rl[1])),d=n._height-l(n.d2pOppAxis(i._rl[0]));e.select("rect."+Qn.maskMinOppAxisClassName).attr("x",f).attr("height",h).attr("width",c-f),e.select("rect."+Qn.maskMaxOppAxisClassName).attr("x",f).attr("y",d).attr("height",n._height-d).attr("width",c-f),e.select("rect."+Qn.slideBoxClassName).attr("y",h).attr("height",d-h)}var v=.5,m=Math.round(u(f-o))-v,b=Math.round(u(c-o))+v;e.select("g."+Qn.grabberMinClassName).attr("transform",Ek(m,v)),e.select("g."+Qn.grabberMaxClassName).attr("transform",Ek(b,v))}function Wat(e,t,r,n){var i=no.ensureSingle(e,"rect",Qn.bgClassName,function(l){l.attr({x:0,y:0,"shape-rendering":"crispEdges"})}),a=n.borderwidth%2===0?n.borderwidth:n.borderwidth-1,o=-n._offsetShift,s=tle.crispRound(t,n.borderwidth);i.attr({width:n._width+a,height:n._height+a,transform:Ek(o,o),"stroke-width":s}).call(R0.stroke,n.bordercolor).call(R0.fill,n.bgcolor)}function Xat(e,t,r,n){var i=t._fullLayout,a=no.ensureSingleById(i._topdefs,"clipPath",n._clipId,function(o){o.append("rect").attr({x:0,y:0})});a.select("rect").attr({width:n._width,height:n._height})}function Zat(e,t,r,n){var i=t.calcdata,a=e.selectAll("g."+Qn.rangePlotClassName).data(r._subplotsWith,no.identity);a.enter().append("g").attr("class",function(s){return Qn.rangePlotClassName+" "+s}).call(tle.setClipUrl,n._clipId,t),a.order(),a.exit().remove();var o;a.each(function(s,l){var u=Ck.select(this),f=l===0,c=ZR.getFromId(t,s,"y"),h=c._name,d=n[h],v={data:[],layout:{xaxis:{type:r.type,domain:[0,1],range:n.range.slice(),calendar:r.calendar},width:n._width,height:n._height,margin:{t:0,b:0,l:0,r:0}},_context:t._context};r.rangebreaks&&(v.layout.xaxis.rangebreaks=r.rangebreaks),v.layout[h]={type:c.type,domain:[0,1],range:d.rangemode!=="match"?d.range.slice():c.range.slice(),calendar:c.calendar},c.rangebreaks&&(v.layout[h].rangebreaks=c.rangebreaks),Oat.supplyDefaults(v);var m=v._fullLayout.xaxis,b=v._fullLayout[h];m.clearCalc(),m.setScale(),b.clearCalc(),b.setScale();var g={id:s,plotgroup:u,xaxis:m,yaxis:b,isRangePlot:!0};f?o=g:(g.mainplot="xy",g.mainplotinfo=o),Uat.rangePlot(t,g,Jat(i,s))})}function Jat(e,t){for(var r=[],n=0;n<e.length;n++){var i=e[n],a=i[0].trace;a.xaxis+a.yaxis===t&&r.push(i)}return r}function $at(e,t,r,n,i){var a=no.ensureSingle(e,"rect",Qn.maskMinClassName,function(u){u.attr({x:0,y:0,"shape-rendering":"crispEdges"})});a.attr("height",n._height).call(R0.fill,Qn.maskColor);var o=no.ensureSingle(e,"rect",Qn.maskMaxClassName,function(u){u.attr({y:0,"shape-rendering":"crispEdges"})});if(o.attr("height",n._height).call(R0.fill,Qn.maskColor),i.rangemode!=="match"){var s=no.ensureSingle(e,"rect",Qn.maskMinOppAxisClassName,function(u){u.attr({y:0,"shape-rendering":"crispEdges"})});s.attr("width",n._width).call(R0.fill,Qn.maskOppAxisColor);var l=no.ensureSingle(e,"rect",Qn.maskMaxOppAxisClassName,function(u){u.attr({y:0,"shape-rendering":"crispEdges"})});l.attr("width",n._width).style("border-top",Qn.maskOppBorder).call(R0.fill,Qn.maskOppAxisColor)}}function Kat(e,t,r,n){if(!t._context.staticPlot){var i=no.ensureSingle(e,"rect",Qn.slideBoxClassName,function(a){a.attr({y:0,cursor:Qn.slideBoxCursor,"shape-rendering":"crispEdges"})});i.attr({height:n._height,fill:Qn.slideBoxFill})}}function Qat(e,t,r,n){var i=no.ensureSingle(e,"g",Qn.grabberMinClassName),a=no.ensureSingle(e,"g",Qn.grabberMaxClassName),o={x:0,width:Qn.handleWidth,rx:Qn.handleRadius,fill:R0.background,stroke:R0.defaultLine,"stroke-width":Qn.handleStrokeWidth,"shape-rendering":"crispEdges"},s={y:Math.round(n._height/4),height:Math.round(n._height/2)},l=no.ensureSingle(i,"rect",Qn.handleMinClassName,function(d){d.attr(o)});l.attr(s);var u=no.ensureSingle(a,"rect",Qn.handleMaxClassName,function(d){d.attr(o)});u.attr(s);var f={width:Qn.grabAreaWidth,x:0,y:0,fill:Qn.grabAreaFill,cursor:t._context.staticPlot?void 0:Qn.grabAreaCursor},c=no.ensureSingle(i,"rect",Qn.grabAreaMinClassName,function(d){d.attr(f)});c.attr("height",n._height);var h=no.ensureSingle(a,"rect",Qn.grabAreaMaxClassName,function(d){d.attr(f)});h.attr("height",n._height)}});var ale=J((eqt,ile)=>{"use strict";var eot=gt(),tot=Tk(),rot=XR(),JR=Wse();ile.exports={moduleType:"component",name:"rangeslider",schema:{subplots:{xaxis:{rangeslider:eot.extendFlat({},tot,{yaxis:rot})}}},layoutAttributes:Tk(),handleDefaults:$se(),calcAutorange:Qse(),draw:nle(),isVisible:JR.isVisible,makeData:JR.makeData,autoMarginOpts:JR.autoMarginOpts}});var Lk=J((tqt,sle)=>{"use strict";var not=xa(),ole=Ho(),iot=ki().templatedArray,aot=iot("button",{visible:{valType:"boolean",dflt:!0,editType:"plot",description:"Determines whether or not this button is visible."},step:{valType:"enumerated",values:["month","year","day","hour","minute","second","all"],dflt:"month",editType:"plot",description:["The unit of measurement that the `count` value will set the range by."].join(" ")},stepmode:{valType:"enumerated",values:["backward","todate"],dflt:"backward",editType:"plot",description:["Sets the range update mode.","If *backward*, the range update shifts the start of range","back *count* times *step* milliseconds.","If *todate*, the range update shifts the start of range","back to the first timestamp from *count* times","*step* milliseconds back.","For example, with `step` set to *year* and `count` set to *1*","the range update shifts the start of the range back to","January 01 of the current year.","Month and year *todate* are currently available only","for the built-in (Gregorian) calendar."].join(" ")},count:{valType:"number",min:0,dflt:1,editType:"plot",description:["Sets the number of steps to take to update the range.","Use with `step` to specify the update interval."].join(" ")},label:{valType:"string",editType:"plot",description:"Sets the text label to appear on the button."},editType:"plot",description:["Sets the specifications for each buttons.","By default, a range selector comes with no buttons."].join(" ")});sle.exports={visible:{valType:"boolean",editType:"plot",description:["Determines whether or not this range selector is visible.","Note that range selectors are only available for x axes of","`type` set to or auto-typed to *date*."].join(" ")},buttons:aot,x:{valType:"number",min:-2,max:3,editType:"plot",description:"Sets the x position (in normalized coordinates) of the range selector."},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left",editType:"plot",description:["Sets the range selector's horizontal position anchor.","This anchor binds the `x` position to the *left*, *center*","or *right* of the range selector."].join(" ")},y:{valType:"number",min:-2,max:3,editType:"plot",description:"Sets the y position (in normalized coordinates) of the range selector."},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"bottom",editType:"plot",description:["Sets the range selector's vertical position anchor","This anchor binds the `y` position to the *top*, *middle*","or *bottom* of the range selector."].join(" ")},font:not({editType:"plot",description:"Sets the font of the range selector button text."}),bgcolor:{valType:"color",dflt:ole.lightLine,editType:"plot",description:"Sets the background color of the range selector buttons."},activecolor:{valType:"color",editType:"plot",description:"Sets the background color of the active range selector button."},bordercolor:{valType:"color",dflt:ole.defaultLine,editType:"plot",description:"Sets the color of the border enclosing the range selector."},borderwidth:{valType:"number",min:0,dflt:0,editType:"plot",description:"Sets the width (in px) of the border enclosing the range selector."},editType:"plot"}});var $R=J((rqt,lle)=>{"use strict";lle.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}});var cle=J((nqt,fle)=>{"use strict";var Dk=gt(),oot=qr(),sot=ki(),lot=Bu(),ule=Lk(),KR=$R();fle.exports=function(t,r,n,i,a){var o=t.rangeselector||{},s=sot.newContainer(r,"rangeselector");function l(d,v){return Dk.coerce(o,s,ule,d,v)}var u=lot(o,s,{name:"buttons",handleItemDefaults:uot,calendar:a}),f=l("visible",u.length>0);if(f){var c=fot(r,n,i);l("x",c[0]),l("y",c[1]),Dk.noneOrAll(t,r,["x","y"]),l("xanchor"),l("yanchor"),Dk.coerceFont(l,"font",n.font);var h=l("bgcolor");l("activecolor",oot.contrast(h,KR.lightAmount,KR.darkAmount)),l("bordercolor"),l("borderwidth")}};function uot(e,t,r,n){var i=n.calendar;function a(l,u){return Dk.coerce(e,t,ule.buttons,l,u)}var o=a("visible");if(o){var s=a("step");s!=="all"&&(i&&i!=="gregorian"&&(s==="month"||s==="year")?t.stepmode="backward":a("stepmode"),a("count")),a("label")}}function fot(e,t,r){for(var n=r.filter(function(s){return t[s].anchor===e._id}),i=0,a=0;a<n.length;a++){var o=t[n[a]].domain;o&&(i=Math.max(o[1],i))}return[e.domain[0],i+KR.yPad]}});var vle=J((iqt,hle)=>{"use strict";var cot=sE(),hot=gt().titleCase;hle.exports=function(t,r){var n=t._name,i={};if(r.step==="all")i[n+".autorange"]=!0;else{var a=vot(t,r);i[n+".range[0]"]=a[0],i[n+".range[1]"]=a[1]}return i};function vot(e,t){var r=e.range,n=new Date(e.r2l(r[1])),i=t.step,a=cot["utc"+hot(i)],o=t.count,s;switch(t.stepmode){case"backward":s=e.l2r(+a.offset(n,-o));break;case"todate":var l=a.offset(n,-o);s=e.l2r(+a.ceil(l));break}var u=r[1];return[s,u]}});var wle=J((aqt,ble)=>{"use strict";var Pk=Nr(),dot=zr(),pot=ea(),dle=qr(),xle=ln(),ad=gt(),ple=ad.strTranslate,Rk=ca(),got=jo(),tP=Vo(),gle=tP.LINE_SPACING,mle=tP.FROM_TL,yle=tP.FROM_BR,eP=$R(),mot=vle();ble.exports=function(t){var r=t._fullLayout,n=r._infolayer.selectAll(".rangeselector").data(yot(t),xot);n.enter().append("g").classed("rangeselector",!0),n.exit().remove(),n.style({cursor:"pointer","pointer-events":"all"}),n.each(function(i){var a=Pk.select(this),o=i,s=o.rangeselector,l=a.selectAll("g.button").data(ad.filterVisible(s.buttons));l.enter().append("g").classed("button",!0),l.exit().remove(),l.each(function(u){var f=Pk.select(this),c=mot(o,u);u._isActive=bot(o,u,c),f.call(QR,s,u),f.call(_ot,s,u,t),f.on("click",function(){t._dragged||dot.call("_guiRelayout",t,c)}),f.on("mouseover",function(){u._isHovered=!0,f.call(QR,s,u)}),f.on("mouseout",function(){u._isHovered=!1,f.call(QR,s,u)})}),Aot(t,l,s,o._name,a)})};function yot(e){for(var t=got.list(e,"x",!0),r=[],n=0;n<t.length;n++){var i=t[n];i.rangeselector&&i.rangeselector.visible&&r.push(i)}return r}function xot(e){return e._id}function bot(e,t,r){if(t.step==="all")return e.autorange===!0;var n=Object.keys(r);return e.range[0]===r[n[0]]&&e.range[1]===r[n[1]]}function QR(e,t,r){var n=ad.ensureSingle(e,"rect","selector-rect",function(i){i.attr("shape-rendering","crispEdges")});n.attr({rx:eP.rx,ry:eP.ry}),n.call(dle.stroke,t.bordercolor).call(dle.fill,wot(t,r)).style("stroke-width",t.borderwidth+"px")}function wot(e,t){return t._isActive||t._isHovered?e.activecolor:e.bgcolor}function _ot(e,t,r,n){function i(o){Rk.convertToTspans(o,n)}var a=ad.ensureSingle(e,"text","selector-text",function(o){o.attr("text-anchor","middle")});a.call(xle.font,t.font).text(Tot(r,n._fullLayout._meta)).call(i)}function Tot(e,t){return e.label?t?ad.templateString(e.label,t):e.label:e.step==="all"?"all":e.count+e.step.charAt(0)}function Aot(e,t,r,n,i){var a=0,o=0,s=r.borderwidth;t.each(function(){var d=Pk.select(this),v=d.select(".selector-text"),m=r.font.size*gle,b=Math.max(m*Rk.lineCount(v),16)+3;o=Math.max(o,b)}),t.each(function(){var d=Pk.select(this),v=d.select(".selector-rect"),m=d.select(".selector-text"),b=m.node()&&xle.bBox(m.node()).width,g=r.font.size*gle,_=Rk.lineCount(m),T=Math.max(b+10,eP.minButtonWidth);d.attr("transform",ple(s+a,s)),v.attr({x:0,y:0,width:T,height:o}),Rk.positionText(m,T/2,o/2-(_-1)*g/2+3),a+=T+5});var l=e._fullLayout._size,u=l.l+l.w*r.x,f=l.t+l.h*(1-r.y),c="left";ad.isRightAnchor(r)&&(u-=a,c="right"),ad.isCenterAnchor(r)&&(u-=a/2,c="center");var h="top";ad.isBottomAnchor(r)&&(f-=o,h="bottom"),ad.isMiddleAnchor(r)&&(f-=o/2,h="middle"),a=Math.ceil(a),o=Math.ceil(o),u=Math.round(u),f=Math.round(f),pot.autoMargin(e,n+"-range-selector",{x:r.x,y:r.y,l:a*mle[c],r:a*yle[c],b:o*yle[h],t:o*mle[h]}),i.attr("transform",ple(u,f))}});var Tle=J((oqt,_le)=>{"use strict";_le.exports={moduleType:"component",name:"rangeselector",schema:{subplots:{xaxis:{rangeselector:Lk()}}},layoutAttributes:Lk(),handleDefaults:cle(),draw:wle()}});var Wa=J(rP=>{"use strict";var Ale=cn().extendFlat;rP.attributes=function(e,t){e=e||{},t=t||{};var r={valType:"info_array",editType:e.editType,items:[{valType:"number",min:0,max:1,editType:e.editType},{valType:"number",min:0,max:1,editType:e.editType}],dflt:[0,1]},n=e.name?e.name+" ":"",i=e.trace?"trace ":"subplot ",a=t.description?" "+t.description:"",o={x:Ale({},r,{description:["Sets the horizontal domain of this ",n,i,"(in plot fraction).",a].join("")}),y:Ale({},r,{description:["Sets the vertical domain of this ",n,i,"(in plot fraction).",a].join("")}),editType:e.editType};return e.noGridCell||(o.row={valType:"integer",min:0,dflt:0,editType:e.editType,description:["If there is a layout grid, use the domain ","for this row in the grid for this ",n,i,".",a].join("")},o.column={valType:"integer",min:0,dflt:0,editType:e.editType,description:["If there is a layout grid, use the domain ","for this column in the grid for this ",n,i,".",a].join("")}),o};rP.defaults=function(e,t,r,n){var i=n&&n.x||[0,1],a=n&&n.y||[0,1],o=t.grid;if(o){var s=r("domain.column");s!==void 0&&(s<o.columns?i=o._domains.x[s]:delete e.domain.column);var l=r("domain.row");l!==void 0&&(l<o.rows?a=o._domains.y[l]:delete e.domain.row)}var u=r("domain.x",i),f=r("domain.y",a);u[0]<u[1]||(e.domain.x=i.slice()),f[0]<f[1]||(e.domain.y=a.slice())}});var Ele=J((lqt,Cle)=>{"use strict";var Mot=gt(),kot=_1().counter,Sot=Wa().attributes,Mle=Eo().idRegex,Cot=ki(),nP={rows:{valType:"integer",min:1,editType:"plot",description:["The number of rows in the grid. If you provide a 2D `subplots`","array or a `yaxes` array, its length is used as the default.","But it's also possible to have a different length, if you","want to leave a row at the end for non-cartesian subplots."].join(" ")},roworder:{valType:"enumerated",values:["top to bottom","bottom to top"],dflt:"top to bottom",editType:"plot",description:["Is the first row the top or the bottom? Note that columns","are always enumerated from left to right."].join(" ")},columns:{valType:"integer",min:1,editType:"plot",description:["The number of columns in the grid. If you provide a 2D `subplots`","array, the length of its longest row is used as the default.","If you give an `xaxes` array, its length is used as the default.","But it's also possible to have a different length, if you","want to leave a row at the end for non-cartesian subplots."].join(" ")},subplots:{valType:"info_array",freeLength:!0,dimensions:2,items:{valType:"enumerated",values:[kot("xy").toString(),""],editType:"plot"},editType:"plot",description:["Used for freeform grids, where some axes may be shared across subplots","but others are not. Each entry should be a cartesian subplot id, like","*xy* or *x3y2*, or ** to leave that cell empty. You may reuse x axes","within the same column, and y axes within the same row.","Non-cartesian subplots and traces that support `domain` can place themselves","in this grid separately using the `gridcell` attribute."].join(" ")},xaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[Mle.x.toString(),""],editType:"plot"},editType:"plot",description:["Used with `yaxes` when the x and y axes are shared across columns and rows.","Each entry should be an x axis id like *x*, *x2*, etc., or ** to","not put an x axis in that column. Entries other than ** must be unique.","Ignored if `subplots` is present. If missing but `yaxes` is present,","will generate consecutive IDs."].join(" ")},yaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[Mle.y.toString(),""],editType:"plot"},editType:"plot",description:["Used with `yaxes` when the x and y axes are shared across columns and rows.","Each entry should be an y axis id like *y*, *y2*, etc., or ** to","not put a y axis in that row. Entries other than ** must be unique.","Ignored if `subplots` is present. If missing but `xaxes` is present,","will generate consecutive IDs."].join(" ")},pattern:{valType:"enumerated",values:["independent","coupled"],dflt:"coupled",editType:"plot",description:["If no `subplots`, `xaxes`, or `yaxes` are given but we do have `rows` and `columns`,","we can generate defaults using consecutive axis IDs, in two ways:","*coupled* gives one x axis per column and one y axis per row.","*independent* uses a new xy pair for each cell, left-to-right across each row","then iterating rows according to `roworder`."].join(" ")},xgap:{valType:"number",min:0,max:1,editType:"plot",description:["Horizontal space between grid cells, expressed as a fraction","of the total width available to one cell. Defaults to 0.1","for coupled-axes grids and 0.2 for independent grids."].join(" ")},ygap:{valType:"number",min:0,max:1,editType:"plot",description:["Vertical space between grid cells, expressed as a fraction","of the total height available to one cell. Defaults to 0.1","for coupled-axes grids and 0.3 for independent grids."].join(" ")},domain:Sot({name:"grid",editType:"plot",noGridCell:!0},{description:["The first and last cells end exactly at the domain","edges, with no grout around the edges."].join(" ")}),xside:{valType:"enumerated",values:["bottom","bottom plot","top plot","top"],dflt:"bottom plot",editType:"plot",description:["Sets where the x axis labels and titles go. *bottom* means","the very bottom of the grid. *bottom plot* is the lowest plot","that each x axis is used in. *top* and *top plot* are similar."].join(" ")},yside:{valType:"enumerated",values:["left","left plot","right plot","right"],dflt:"left plot",editType:"plot",description:["Sets where the y axis labels and titles go. *left* means","the very left edge of the grid. *left plot* is the leftmost plot","that each y axis is used in. *right* and *right plot* are similar."].join(" ")},editType:"plot"};function Ik(e,t,r){var n=t[r+"axes"],i=Object.keys((e._splomAxes||{})[r]||{});if(Array.isArray(n))return n;if(i.length)return i}function Eot(e,t){var r=e.grid||{},n=Ik(t,r,"x"),i=Ik(t,r,"y");if(!e.grid&&!n&&!i)return;var a=Array.isArray(r.subplots)&&Array.isArray(r.subplots[0]),o=Array.isArray(n),s=Array.isArray(i),l=o&&n!==r.xaxes&&s&&i!==r.yaxes,u,f;a?(u=r.subplots.length,f=r.subplots[0].length):(s&&(u=i.length),o&&(f=n.length));var c=Cot.newContainer(t,"grid");function h(x,M){return Mot.coerce(r,c,nP,x,M)}var d=h("rows",u),v=h("columns",f);if(!(d*v>1)){delete t.grid;return}if(!a&&!o&&!s){var m=h("pattern")==="independent";m&&(a=!0)}c._hasSubplotGrid=a;var b=h("roworder"),g=b==="top to bottom",_=a?.2:.1,T=a?.3:.1,w,k;l&&t._splomGridDflt&&(w=t._splomGridDflt.xside,k=t._splomGridDflt.yside),c._domains={x:kle("x",h,_,w,v),y:kle("y",h,T,k,d,g)}}function kle(e,t,r,n,i,a){var o=t(e+"gap",r),s=t("domain."+e);t(e+"side",n);for(var l=new Array(i),u=s[0],f=(s[1]-u)/(i-o),c=f*(1-o),h=0;h<i;h++){var d=u+f*h;l[a?i-1-h:h]=[d,d+c]}return l}function Lot(e,t){var r=t.grid;if(!(!r||!r._domains)){var n=e.grid||{},i=t._subplots,a=r._hasSubplotGrid,o=r.rows,s=r.columns,l=r.pattern==="independent",u,f,c,h,d,v,m,b=r._axisMap={};if(a){var g=n.subplots||[];v=r.subplots=new Array(o);var _=1;for(u=0;u<o;u++){var T=v[u]=new Array(s),w=g[u]||[];for(f=0;f<s;f++)if(l?(d=_===1?"xy":"x"+_+"y"+_,_++):d=w[f],T[f]="",i.cartesian.indexOf(d)!==-1){if(m=d.indexOf("y"),c=d.slice(0,m),h=d.slice(m),b[c]!==void 0&&b[c]!==f||b[h]!==void 0&&b[h]!==u)continue;T[f]=d,b[c]=f,b[h]=u}}}else{var k=Ik(t,n,"x"),x=Ik(t,n,"y");r.xaxes=Sle(k,i.xaxis,s,b,"x"),r.yaxes=Sle(x,i.yaxis,o,b,"y")}var M=r._anchors={},A=r.roworder==="top to bottom";for(var p in b){var S=p.charAt(0),y=r[S+"side"],E,C,L;if(y.length<8)M[p]="free";else if(S==="x"){if(y.charAt(0)==="t"===A?(E=0,C=1,L=o):(E=o-1,C=-1,L=-1),a){var R=b[p];for(u=E;u!==L;u+=C)if(d=v[u][R],!!d&&(m=d.indexOf("y"),d.slice(0,m)===p)){M[p]=d.slice(m);break}}else for(u=E;u!==L;u+=C)if(h=r.yaxes[u],i.cartesian.indexOf(p+h)!==-1){M[p]=h;break}}else if(y.charAt(0)==="l"?(E=0,C=1,L=s):(E=s-1,C=-1,L=-1),a){var I=b[p];for(u=E;u!==L;u+=C)if(d=v[I][u],!!d&&(m=d.indexOf("y"),d.slice(m)===p)){M[p]=d.slice(0,m);break}}else for(u=E;u!==L;u+=C)if(c=r.xaxes[u],i.cartesian.indexOf(c+p)!==-1){M[p]=c;break}}}}function Sle(e,t,r,n,i){var a=new Array(r),o;function s(l,u){t.indexOf(u)!==-1&&n[u]===void 0?(a[l]=u,n[u]=l):a[l]=""}if(Array.isArray(e))for(o=0;o<r;o++)s(o,e[o]);else for(s(0,i),o=1;o<r;o++)s(o,i+(o+1));return a}Cle.exports={moduleType:"component",name:"grid",schema:{layout:{grid:nP}},layoutAttributes:nP,sizeDefaults:Eot,contentDefaults:Lot}});var iP=J((uqt,Lle)=>{"use strict";Lle.exports={visible:{valType:"boolean",editType:"calc",description:["Determines whether or not this set of error bars is visible."].join(" ")},type:{valType:"enumerated",values:["percent","constant","sqrt","data"],editType:"calc",description:["Determines the rule used to generate the error bars.","If *constant`, the bar lengths are of a constant value.","Set this constant in `value`.","If *percent*, the bar lengths correspond to a percentage of","underlying data. Set this percentage in `value`.","If *sqrt*, the bar lengths correspond to the square of the","underlying data.","If *data*, the bar lengths are set with data set `array`."].join(" ")},symmetric:{valType:"boolean",editType:"calc",description:["Determines whether or not the error bars have the same length","in both direction","(top/bottom for vertical bars, left/right for horizontal bars."].join(" ")},array:{valType:"data_array",editType:"calc",description:["Sets the data corresponding the length of each error bar.","Values are plotted relative to the underlying data."].join(" ")},arrayminus:{valType:"data_array",editType:"calc",description:["Sets the data corresponding the length of each error bar in the","bottom (left) direction for vertical (horizontal) bars","Values are plotted relative to the underlying data."].join(" ")},value:{valType:"number",min:0,dflt:10,editType:"calc",description:["Sets the value of either the percentage","(if `type` is set to *percent*) or the constant","(if `type` is set to *constant*) corresponding to the lengths of","the error bars."].join(" ")},valueminus:{valType:"number",min:0,dflt:10,editType:"calc",description:["Sets the value of either the percentage","(if `type` is set to *percent*) or the constant","(if `type` is set to *constant*) corresponding to the lengths of","the error bars in the","bottom (left) direction for vertical (horizontal) bars"].join(" ")},traceref:{valType:"integer",min:0,dflt:0,editType:"style"},tracerefminus:{valType:"integer",min:0,dflt:0,editType:"style"},copy_ystyle:{valType:"boolean",editType:"plot"},copy_zstyle:{valType:"boolean",editType:"style"},color:{valType:"color",editType:"style",description:"Sets the stoke color of the error bars."},thickness:{valType:"number",min:0,dflt:2,editType:"style",description:"Sets the thickness (in px) of the error bars."},width:{valType:"number",min:0,editType:"plot",description:["Sets the width (in px) of the cross-bar at both ends","of the error bars."].join(" ")},editType:"calc",_deprecated:{opacity:{valType:"number",editType:"style",description:["Obsolete.","Use the alpha channel in error bar `color` to set the opacity."].join(" ")}}}});var Ple=J((fqt,Rle)=>{"use strict";var Dle=dn(),Dot=zr(),Rot=gt(),Pot=ki(),Iot=iP();Rle.exports=function(e,t,r,n){var i="error_"+n.axis,a=Pot.newContainer(t,i),o=e[i]||{};function s(v,m){return Rot.coerce(o,a,Iot,v,m)}var l=o.array!==void 0||o.value!==void 0||o.type==="sqrt",u=s("visible",l);if(u!==!1){var f=s("type","array"in o?"data":"percent"),c=!0;f!=="sqrt"&&(c=s("symmetric",!((f==="data"?"arrayminus":"valueminus")in o))),f==="data"?(s("array"),s("traceref"),c||(s("arrayminus"),s("tracerefminus"))):(f==="percent"||f==="constant")&&(s("value"),c||s("valueminus"));var h="copy_"+n.inherit+"style";if(n.inherit){var d=t["error_"+n.inherit];(d||{}).visible&&s(h,!(o.color||Dle(o.thickness)||Dle(o.width)))}(!n.inherit||!a[h])&&(s("color",r),s("thickness"),s("width",Dot.traceIs(t,"gl3d")?0:4))}}});var aP=J((cqt,qle)=>{"use strict";qle.exports=function(t){var r=t.type,n=t.symmetric;if(r==="data"){var i=t.array||[];if(n)return function(u,f){var c=+i[f];return[c,c]};var a=t.arrayminus||[];return function(u,f){var c=+i[f],h=+a[f];return!isNaN(c)||!isNaN(h)?[h||0,c||0]:[NaN,NaN]}}else{var o=Ile(r,t.value),s=Ile(r,t.valueminus);return n||t.valueminus===void 0?function(u){var f=o(u);return[f,f]}:function(u){return[s(u),o(u)]}}};function Ile(e,t){if(e==="percent")return function(r){return Math.abs(r*t/100)};if(e==="constant")return function(){return Math.abs(t)};if(e==="sqrt")return function(r){return Math.sqrt(Math.abs(r))}}});var Nle=J((hqt,zle)=>{"use strict";var oP=dn(),qot=zr(),sP=nn(),Fot=gt(),zot=aP();zle.exports=function(t){for(var r=t.calcdata,n=0;n<r.length;n++){var i=r[n],a=i[0].trace;if(a.visible===!0&&qot.traceIs(a,"errorBarsOK")){var o=sP.getFromId(t,a.xaxis),s=sP.getFromId(t,a.yaxis);Fle(i,a,o,"x"),Fle(i,a,s,"y")}}};function Fle(e,t,r,n){var i=t["error_"+n]||{},a=i.visible&&["linear","log"].indexOf(r.type)!==-1,o=[];if(a){for(var s=zot(i),l=0;l<e.length;l++){var u=e[l],f=u.i;if(f===void 0)f=l;else if(f===null)continue;var c=u[n];if(oP(r.c2l(c))){var h=s(c,f);if(oP(h[0])&&oP(h[1])){var d=u[n+"s"]=c-h[0],v=u[n+"h"]=c+h[1];o.push(d,v)}}}var m=r._id,b=t._extremes[m],g=sP.findExtremes(r,o,Fot.extendFlat({tozero:b.opts.tozero},{padded:!0}));b.min=b.min.concat(g.min),b.max=b.max.concat(g.max)}}});var Ule=J((vqt,Ble)=>{"use strict";var Ole=Nr(),P0=dn(),Not=ln(),Oot=fs();Ble.exports=function(t,r,n,i){var a,o=n.xaxis,s=n.yaxis,l=i&&i.duration>0,u=t._context.staticPlot;r.each(function(f){var c=f[0].trace,h=c.error_x||{},d=c.error_y||{},v;c.ids&&(v=function(_){return _.id});var m=Oot.hasMarkers(c)&&c.marker.maxdisplayed>0;!d.visible&&!h.visible&&(f=[]);var b=Ole.select(this).selectAll("g.errorbar").data(f,v);if(b.exit().remove(),!!f.length){h.visible||b.selectAll("path.xerror").remove(),d.visible||b.selectAll("path.yerror").remove(),b.style("opacity",1);var g=b.enter().append("g").classed("errorbar",!0);l&&g.style("opacity",0).transition().duration(i.duration).style("opacity",1),Not.setClipUrl(b,n.layerClipId,t),b.each(function(_){var T=Ole.select(this),w=Bot(_,o,s);if(!(m&&!_.vis)){var k,x=T.select("path.yerror");if(d.visible&&P0(w.x)&&P0(w.yh)&&P0(w.ys)){var M=d.width;k="M"+(w.x-M)+","+w.yh+"h"+2*M+"m-"+M+",0V"+w.ys,w.noYS||(k+="m-"+M+",0h"+2*M),a=!x.size(),a?x=T.append("path").style("vector-effect",u?"none":"non-scaling-stroke").classed("yerror",!0):l&&(x=x.transition().duration(i.duration).ease(i.easing)),x.attr("d",k)}else x.remove();var A=T.select("path.xerror");if(h.visible&&P0(w.y)&&P0(w.xh)&&P0(w.xs)){var p=(h.copy_ystyle?d:h).width;k="M"+w.xh+","+(w.y-p)+"v"+2*p+"m0,-"+p+"H"+w.xs,w.noXS||(k+="m0,-"+p+"v"+2*p),a=!A.size(),a?A=T.append("path").style("vector-effect",u?"none":"non-scaling-stroke").classed("xerror",!0):l&&(A=A.transition().duration(i.duration).ease(i.easing)),A.attr("d",k)}else A.remove()}})}})};function Bot(e,t,r){var n={x:t.c2p(e.x),y:r.c2p(e.y)};return e.yh!==void 0&&(n.yh=r.c2p(e.yh),n.ys=r.c2p(e.ys),P0(n.ys)||(n.noYS=!0,n.ys=r.c2p(e.ys,!0))),e.xh!==void 0&&(n.xh=t.c2p(e.xh),n.xs=t.c2p(e.xs),P0(n.xs)||(n.noXS=!0,n.xs=t.c2p(e.xs,!0))),n}});var Vle=J((dqt,jle)=>{"use strict";var Uot=Nr(),Hle=qr();jle.exports=function(t){t.each(function(r){var n=r[0].trace,i=n.error_y||{},a=n.error_x||{},o=Uot.select(this);o.selectAll("path.yerror").style("stroke-width",i.thickness+"px").call(Hle.stroke,i.color),a.copy_ystyle&&(a=i),o.selectAll("path.xerror").style("stroke-width",a.thickness+"px").call(Hle.stroke,a.color)})}});var Wle=J((pqt,Gle)=>{"use strict";var Tw=gt(),Yle=La().overrideAll,Aw=iP(),Ig={error_x:Tw.extendFlat({},Aw),error_y:Tw.extendFlat({},Aw)};delete Ig.error_x.copy_zstyle;delete Ig.error_y.copy_zstyle;delete Ig.error_y.copy_ystyle;var Mw={error_x:Tw.extendFlat({},Aw),error_y:Tw.extendFlat({},Aw),error_z:Tw.extendFlat({},Aw)};delete Mw.error_x.copy_ystyle;delete Mw.error_y.copy_ystyle;delete Mw.error_z.copy_ystyle;delete Mw.error_z.copy_zstyle;Gle.exports={moduleType:"component",name:"errorbars",schema:{traces:{scatter:Ig,bar:Ig,histogram:Ig,scatter3d:Yle(Mw,"calc","nested"),scattergl:Yle(Ig,"calc","nested")}},supplyDefaults:Ple(),calc:Nle(),makeComputeError:aP(),plot:Ule(),style:Vle(),hoverInfo:Hot};function Hot(e,t,r){(t.error_y||{}).visible&&(r.yerr=e.yh-e.y,t.error_y.symmetric||(r.yerrneg=e.y-e.ys)),(t.error_x||{}).visible&&(r.xerr=e.xh-e.x,t.error_x.symmetric||(r.xerrneg=e.x-e.xs))}});var Zle=J((gqt,Xle)=>{"use strict";Xle.exports={cn:{colorbar:"colorbar",cbbg:"cbbg",cbfill:"cbfill",cbfills:"cbfills",cbline:"cbline",cblines:"cblines",cbaxis:"cbaxis",cbtitleunshift:"cbtitleunshift",cbtitle:"cbtitle",cboutline:"cboutline",crisp:"crisp",jsPlaceholder:"js-placeholder"}}});var rue=J((mqt,tue)=>{"use strict";var I0=Nr(),lP=ls(),Fk=ea(),Jle=zr(),od=nn(),qk=iu(),gc=gt(),dh=gc.strTranslate,eue=cn().extendFlat,uP=th(),vh=ln(),fP=qr(),jot=tg(),Vot=ca(),Yot=nu().flipScale,Got=vw(),Wot=lk(),Xot=hl(),cP=Vo(),$le=cP.LINE_SPACING,Kle=cP.FROM_TL,Qle=cP.FROM_BR,Pa=Zle().cn;function Zot(e){var t=e._fullLayout,r=t._infolayer.selectAll("g."+Pa.colorbar).data(Jot(e),function(n){return n._id});r.enter().append("g").attr("class",function(n){return n._id}).classed(Pa.colorbar,!0),r.each(function(n){var i=I0.select(this);gc.ensureSingle(i,"rect",Pa.cbbg),gc.ensureSingle(i,"g",Pa.cbfills),gc.ensureSingle(i,"g",Pa.cblines),gc.ensureSingle(i,"g",Pa.cbaxis,function(o){o.classed(Pa.crisp,!0)}),gc.ensureSingle(i,"g",Pa.cbtitleunshift,function(o){o.append("g").classed(Pa.cbtitle,!0)}),gc.ensureSingle(i,"rect",Pa.cboutline);var a=$ot(i,n,e);a&&a.then&&(e._promises||[]).push(a),e._context.edits.colorbarPosition&&Kot(i,n,e)}),r.exit().each(function(n){Fk.autoMargin(e,n._id)}).remove(),r.order()}function Jot(e){var t=e._fullLayout,r=e.calcdata,n=[],i,a,o,s;function l(T){return eue(T,{_fillcolor:null,_line:{color:null,width:null,dash:null},_levels:{start:null,end:null,size:null},_filllevels:null,_fillgradient:null,_zrange:null})}function u(){typeof s.calc=="function"?s.calc(e,o,i):(i._fillgradient=a.reversescale?Yot(a.colorscale):a.colorscale,i._zrange=[a[s.min],a[s.max]])}for(var f=0;f<r.length;f++){var c=r[f];if(o=c[0].trace,!!o._module){var h=o._module.colorbar;if(o.visible===!0&&h)for(var d=Array.isArray(h),v=d?h:[h],m=0;m<v.length;m++){s=v[m];var b=s.container;a=b?o[b]:o,a&&a.showscale&&(i=l(a.colorbar),i._id="cb"+o.uid+(d&&b?"-"+b:""),i._traceIndex=o.index,i._propPrefix=(b?b+".":"")+"colorbar.",i._meta=o._meta,u(),n.push(i))}}}for(var g in t._colorAxes)if(a=t[g],a.showscale){var _=t._colorAxes[g];i=l(a.colorbar),i._id="cb"+g,i._propPrefix=g+".colorbar.",i._meta=t._meta,s={min:"cmin",max:"cmax"},_[0]!=="heatmap"&&(o=_[1],s.calc=o._module.colorbar.calc),u(),n.push(i)}return n}function $ot(e,t,r){var n=t.orientation==="v",i=t.len,a=t.lenmode,o=t.thickness,s=t.thicknessmode,l=t.outlinewidth,u=t.borderwidth,f=t.bgcolor,c=t.xanchor,h=t.yanchor,d=t.xpad,v=t.ypad,m=t.x,b=n?t.y:1-t.y,g=t.yref==="paper",_=t.xref==="paper",T=r._fullLayout,w=T._size,k=t._fillcolor,x=t._line,M=t.title,A=M.side,p=t._zrange||I0.extent((typeof k=="function"?k:x.color).domain()),S=typeof x.color=="function"?x.color:function(){return x.color},y=typeof k=="function"?k:function(){return k},E=t._levels,C=Qot(r,t,p),L=C.fill,R=C.line,I=Math.round(o*(s==="fraction"?n?w.w:w.h:1)),P=I/(n?w.w:w.h),D=Math.round(i*(a==="fraction"?n?w.h:w.w:1)),q=D/(n?w.h:w.w),N=_?w.w:r._fullLayout.width,U=g?w.h:r._fullLayout.height,G=Math.round(n?m*N+d:b*U+v),ee={center:.5,right:1}[c]||0,Q={top:1,middle:.5}[h]||0,j=n?m-ee*P:b-Q*P,O=n?b-Q*q:m-ee*q,Z=Math.round(n?U*(1-O):N*O);t._lenFrac=q,t._thickFrac=P,t._uFrac=j,t._vFrac=O;var K=t._axis=est(r,t,p);K.position=P+(n?m+d/w.w:b+v/w.h);var $=["top","bottom"].indexOf(A)!==-1;if(n&&$&&(K.title.side=A,K.titlex=m+d/w.w,K.titley=O+(M.side==="top"?q-v/w.h:v/w.h)),!n&&!$&&(K.title.side=A,K.titley=b+v/w.h,K.titlex=O+d/w.w),x.color&&t.tickmode==="auto"){K.tickmode="linear",K.tick0=E.start;var oe=E.size,te=gc.constrain(D/50,4,15)+1,V=(p[1]-p[0])/((t.nticks||te)*oe);if(V>1){var ne=Math.pow(10,Math.floor(Math.log(V)/Math.LN10));oe*=ne*gc.roundUp(V/ne,[2,5,10]),(Math.abs(E.start)/E.size+1e-6)%1<2e-6&&(K.tick0=0)}K.dtick=oe}K.domain=n?[O+v/w.h,O+q-v/w.h]:[O+d/w.w,O+q-d/w.w],K.setScale(),e.attr("transform",dh(Math.round(w.l),Math.round(w.t)));var W=e.select("."+Pa.cbtitleunshift).attr("transform",dh(-Math.round(w.l),-Math.round(w.t))),fe=K.ticklabelposition,ge=K.title.font.size,Ce=e.select("."+Pa.cbaxis),Ne,pe=0,me=0;function Ie(rt,ce){var Ee={propContainer:K,propName:t._propPrefix+"title",traceIndex:t._traceIndex,_meta:t._meta,placeholder:T._dfltTitle.colorbar,containerGroup:e.select("."+Pa.cbtitle)},Ae=rt.charAt(0)==="h"?rt.substr(1):"h"+rt;e.selectAll("."+Ae+",."+Ae+"-math-group").remove(),jot.draw(r,rt,eue(Ee,ce||{}))}function Re(){if(n&&$||!n&&!$){var rt,ce;A==="top"&&(rt=d+w.l+N*m,ce=v+w.t+U*(1-O-q)+3+ge*.75),A==="bottom"&&(rt=d+w.l+N*m,ce=v+w.t+U*(1-O)-3-ge*.25),A==="right"&&(ce=v+w.t+U*b+3+ge*.75,rt=d+w.l+N*O),Ie(K._id+"title",{attributes:{x:rt,y:ce,"text-anchor":n?"start":"middle"}})}}function ze(){if(n&&!$||!n&&$){var rt=K.position||0,ce=K._offset+K._length/2,Ee,Ae;if(A==="right")Ae=ce,Ee=w.l+N*rt+10+ge*(K.showticklabels?1:.5);else if(Ee=ce,A==="bottom"&&(Ae=w.t+U*rt+10+(fe.indexOf("inside")===-1?K.tickfont.size:0)+(K.ticks!=="intside"&&t.ticklen||0)),A==="top"){var Pe=M.text.split("<br>").length;Ae=w.t+U*rt+10-I-$le*ge*Pe}Ie((n?"h":"v")+K._id+"title",{avoid:{selection:I0.select(r).selectAll("g."+K._id+"tick"),side:A,offsetTop:n?0:w.t,offsetLeft:n?w.l:0,maxShift:n?T.width:T.height},attributes:{x:Ee,y:Ae,"text-anchor":"middle"},transform:{rotate:n?-90:0,offset:0}})}}function Be(){if(!n&&!$||n&&$){var rt=e.select("."+Pa.cbtitle),ce=rt.select("text"),Ee=[-l/2,l/2],Ae=rt.select(".h"+K._id+"title-math-group").node(),Pe=15.6;ce.node()&&(Pe=parseInt(ce.node().style.fontSize,10)*$le);var He;if(Ae?(He=vh.bBox(Ae),me=He.width,pe=He.height,pe>Pe&&(Ee[1]-=(pe-Pe)/2)):ce.node()&&!ce.classed(Pa.jsPlaceholder)&&(He=vh.bBox(ce.node()),me=He.width,pe=He.height),n){if(pe){if(pe+=5,A==="top")K.domain[1]-=pe/w.h,Ee[1]*=-1;else{K.domain[0]+=pe/w.h;var Fe=Vot.lineCount(ce);Ee[1]+=(1-Fe)*Pe}rt.attr("transform",dh(Ee[0],Ee[1])),K.setScale()}}else me&&(A==="right"&&(K.domain[0]+=(me+ge/2)/w.w),rt.attr("transform",dh(Ee[0],Ee[1])),K.setScale())}e.selectAll("."+Pa.cbfills+",."+Pa.cblines).attr("transform",n?dh(0,Math.round(w.h*(1-K.domain[1]))):dh(Math.round(w.w*K.domain[0]),0)),Ce.attr("transform",n?dh(0,Math.round(-w.t)):dh(Math.round(-w.l),0));var ke=e.select("."+Pa.cbfills).selectAll("rect."+Pa.cbfill).attr("style","").data(L);ke.enter().append("rect").classed(Pa.cbfill,!0).attr("style",""),ke.exit().remove();var Ue=p.map(K.c2p).map(Math.round).sort(function(_t,Tt){return _t-Tt});ke.each(function(_t,Tt){var nt=[Tt===0?p[0]:(L[Tt]+L[Tt-1])/2,Tt===L.length-1?p[1]:(L[Tt]+L[Tt+1])/2].map(K.c2p).map(Math.round);n&&(nt[1]=gc.constrain(nt[1]+(nt[1]>nt[0])?1:-1,Ue[0],Ue[1]));var bt=I0.select(this).attr(n?"x":"y",G).attr(n?"y":"x",I0.min(nt)).attr(n?"width":"height",Math.max(I,2)).attr(n?"height":"width",Math.max(I0.max(nt)-I0.min(nt),2));if(t._fillgradient)vh.gradient(bt,r,t._id,n?"vertical":"horizontalreversed",t._fillgradient,"fill");else{var At=y(_t).replace("e-","");bt.attr("fill",lP(At).toHexString())}});var Ge=e.select("."+Pa.cblines).selectAll("path."+Pa.cbline).data(x.color&&x.width?R:[]);Ge.enter().append("path").classed(Pa.cbline,!0),Ge.exit().remove(),Ge.each(function(_t){var Tt=G,nt=Math.round(K.c2p(_t))+x.width/2%1;I0.select(this).attr("d","M"+(n?Tt+","+nt:nt+","+Tt)+(n?"h":"v")+I).call(vh.lineGroupStyle,x.width,S(_t),x.dash)}),Ce.selectAll("g."+K._id+"tick,path").remove();var lt=G+I+(l||0)/2-(t.ticks==="outside"?1:0),it=od.calcTicks(K),wt=od.getTickSigns(K)[2];return od.drawTicks(r,K,{vals:K.ticks==="inside"?od.clipEnds(K,it):it,layer:Ce,path:od.makeTickPath(K,lt,wt),transFn:od.makeTransTickFn(K)}),od.drawLabels(r,K,{vals:it,layer:Ce,transFn:od.makeTransTickLabelFn(K),labelFns:od.makeLabelFns(K,lt)})}function tt(){var rt,ce=I+l/2;fe.indexOf("inside")===-1&&(rt=vh.bBox(Ce.node()),ce+=n?rt.width:rt.height),Ne=W.select("text");var Ee=0,Ae=n&&A==="top",Pe=!n&&A==="right",He=0;if(Ne.node()&&!Ne.classed(Pa.jsPlaceholder)){var Fe,ke=W.select(".h"+K._id+"title-math-group").node();ke&&(n&&$||!n&&!$)?(rt=vh.bBox(ke),Ee=rt.width,Fe=rt.height):(rt=vh.bBox(W.node()),Ee=rt.right-w.l-(n?G:Z),Fe=rt.bottom-w.t-(n?Z:G),!n&&A==="top"&&(ce+=rt.height,He=rt.height)),Pe&&(Ne.attr("transform",dh(Ee/2+ge/2,0)),Ee*=2),ce=Math.max(ce,n?Ee:Fe)}var Ue=(n?d:v)*2+ce+u+l/2,Ge=0;!n&&M.text&&h==="bottom"&&b<=0&&(Ge=Ue/2,Ue+=Ge,He+=Ge),T._hColorbarMoveTitle=Ge,T._hColorbarMoveCBTitle=He;var lt=u+l,it=(n?G:Z)-lt/2-(n?d:0),wt=(n?Z:G)-(n?D:v+He-Ge);e.select("."+Pa.cbbg).attr("x",it).attr("y",wt).attr(n?"width":"height",Math.max(Ue-Ge,2)).attr(n?"height":"width",Math.max(D+lt,2)).call(fP.fill,f).call(fP.stroke,t.bordercolor).style("stroke-width",u);var _t=Pe?Math.max(Ee-10,0):0;e.selectAll("."+Pa.cboutline).attr("x",(n?G:Z+d)+_t).attr("y",(n?Z+v-D:G)+(Ae?pe:0)).attr(n?"width":"height",Math.max(I,2)).attr(n?"height":"width",Math.max(D-(n?2*v+pe:2*d+_t),2)).call(fP.stroke,t.outlinecolor).style({fill:"none","stroke-width":l});var Tt=n?ee*Ue:0,nt=n?0:(1-Q)*Ue-He;if(Tt=_?w.l-Tt:-Tt,nt=g?w.t-nt:-nt,e.attr("transform",dh(Tt,nt)),!n&&(u||lP(f).getAlpha()&&!lP.equals(T.paper_bgcolor,f))){var bt=Ce.selectAll("text"),At=bt[0].length,Ye=e.select("."+Pa.cbbg).node(),je=vh.bBox(Ye),$e=vh.getTranslate(e),ve=2;bt.each(function(Vt,er){var _r=0,br=At-1;if(er===_r||er===br){var or=vh.bBox(this),tn=vh.getTranslate(this),Lr;if(er===br){var Gr=or.right+tn.x,sn=je.right+$e.x+Z-u-ve+m;Lr=sn-Gr,Lr>0&&(Lr=0)}else if(er===_r){var Hr=or.left+tn.x,Br=je.left+$e.x+Z+u+ve;Lr=Br-Hr,Lr<0&&(Lr=0)}Lr&&(At<3?this.setAttribute("transform","translate("+Lr+",0) "+this.getAttribute("transform")):this.setAttribute("visibility","hidden"))}})}var Y={},ie=Kle[c],Te=Qle[c],Ve=Kle[h],at=Qle[h],ft=Ue-I;n?(a==="pixels"?(Y.y=b,Y.t=D*Ve,Y.b=D*at):(Y.t=Y.b=0,Y.yt=b+i*Ve,Y.yb=b-i*at),s==="pixels"?(Y.x=m,Y.l=Ue*ie,Y.r=Ue*Te):(Y.l=ft*ie,Y.r=ft*Te,Y.xl=m-o*ie,Y.xr=m+o*Te)):(a==="pixels"?(Y.x=m,Y.l=D*ie,Y.r=D*Te):(Y.l=Y.r=0,Y.xl=m+i*ie,Y.xr=m-i*Te),s==="pixels"?(Y.y=1-b,Y.t=Ue*Ve,Y.b=Ue*at):(Y.t=ft*Ve,Y.b=ft*at,Y.yt=b-o*Ve,Y.yb=b+o*at));var Ht=t.y<.5?"b":"t",Xt=t.x<.5?"l":"r";r._fullLayout._reservedMargin[t._id]={};var St={r:T.width-it-Tt,l:it+Y.r,b:T.height-wt-nt,t:wt+Y.b};_&&g?Fk.autoMargin(r,t._id,Y):_?r._fullLayout._reservedMargin[t._id][Ht]=St[Ht]:g||n?r._fullLayout._reservedMargin[t._id][Xt]=St[Xt]:r._fullLayout._reservedMargin[t._id][Ht]=St[Ht]}return gc.syncOrAsync([Fk.previousPromises,Re,Be,ze,Fk.previousPromises,tt],r)}function Kot(e,t,r){var n=t.orientation==="v",i=r._fullLayout,a=i._size,o,s,l;qk.init({element:e.node(),gd:r,prepFn:function(){o=e.attr("transform"),uP(e)},moveFn:function(u,f){e.attr("transform",o+dh(u,f)),s=qk.align((n?t._uFrac:t._vFrac)+u/a.w,n?t._thickFrac:t._lenFrac,0,1,t.xanchor),l=qk.align((n?t._vFrac:1-t._uFrac)-f/a.h,n?t._lenFrac:t._thickFrac,0,1,t.yanchor);var c=qk.getCursor(s,l,t.xanchor,t.yanchor);uP(e,c)},doneFn:function(){if(uP(e),s!==void 0&&l!==void 0){var u={};u[t._propPrefix+"x"]=s,u[t._propPrefix+"y"]=l,t._traceIndex!==void 0?Jle.call("_guiRestyle",r,u,t._traceIndex):Jle.call("_guiRelayout",r,u)}}})}function Qot(e,t,r){var n=t._levels,i=[],a=[],o,s,l=n.end+n.size/100,u=n.size,f=1.001*r[0]-.001*r[1],c=1.001*r[1]-.001*r[0];for(s=0;s<1e5&&(o=n.start+s*u,!(u>0?o>=l:o<=l));s++)o>f&&o<c&&i.push(o);if(t._fillgradient)a=[0];else if(typeof t._fillcolor=="function"){var h=t._filllevels;if(h)for(l=h.end+h.size/100,u=h.size,s=0;s<1e5&&(o=h.start+s*u,!(u>0?o>=l:o<=l));s++)o>r[0]&&o<r[1]&&a.push(o);else a=i.map(function(d){return d-n.size/2}),a.push(a[a.length-1]+n.size)}else t._fillcolor&&typeof t._fillcolor=="string"&&(a=[0]);return n.size<0&&(i.reverse(),a.reverse()),{line:i,fill:a}}function est(e,t,r){var n=e._fullLayout,i=t.orientation==="v",a={type:"linear",range:r,tickmode:t.tickmode,nticks:t.nticks,tick0:t.tick0,dtick:t.dtick,tickvals:t.tickvals,ticktext:t.ticktext,ticks:t.ticks,ticklen:t.ticklen,tickwidth:t.tickwidth,tickcolor:t.tickcolor,showticklabels:t.showticklabels,labelalias:t.labelalias,ticklabelposition:t.ticklabelposition,ticklabeloverflow:t.ticklabeloverflow,ticklabelstep:t.ticklabelstep,tickfont:t.tickfont,tickangle:t.tickangle,tickformat:t.tickformat,exponentformat:t.exponentformat,minexponent:t.minexponent,separatethousands:t.separatethousands,showexponent:t.showexponent,showtickprefix:t.showtickprefix,tickprefix:t.tickprefix,showticksuffix:t.showticksuffix,ticksuffix:t.ticksuffix,title:t.title,showline:!0,anchor:"free",side:i?"right":"bottom",position:1},o=i?"y":"x",s={type:"linear",_id:o+t._id},l={letter:o,font:n.font,noAutotickangles:o==="y",noHover:!0,noTickson:!0,noTicklabelmode:!0,noInsideRange:!0,calendar:n.calendar};function u(f,c){return gc.coerce(a,s,Xot,f,c)}return Got(a,s,u,l,n),Wot(a,s,u,l),s}tue.exports={draw:Zot}});var iue=J((yqt,nue)=>{"use strict";nue.exports={moduleType:"component",name:"colorbar",attributes:rA(),supplyDefaults:_L(),draw:rue().draw,hasColorbar:pL()}});var oue=J((xqt,aue)=>{"use strict";aue.exports={moduleType:"component",name:"legend",layoutAttributes:xD(),supplyLayoutDefaults:_D(),draw:PD(),style:ED()}});var lue=J((bqt,sue)=>{"use strict";sue.exports={moduleType:"locale",name:"en",dictionary:{"Click to enter Colorscale title":"Click to enter Colourscale title"},format:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],periods:["AM","PM"],dateTime:"%a %b %e %X %Y",date:"%d/%m/%Y",time:"%H:%M:%S",decimal:".",thousands:",",grouping:[3],currency:["$",""],year:"%Y",month:"%b %Y",dayMonth:"%b %-d",dayMonthYear:"%b %-d, %Y"}}});var fue=J((wqt,uue)=>{"use strict";uue.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}});var vP=J((_qt,due)=>{"use strict";var tst=zr(),vue=gt(),hP=vue.extendFlat,cue=vue.extendDeep;function hue(e){var t;switch(e){case"themes__thumb":t={autosize:!0,width:150,height:150,title:{text:""},showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case"thumbnail":t={title:{text:""},hidesources:!0,showlegend:!1,borderwidth:0,bordercolor:"",margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:t={}}return t}function rst(e){var t=["xaxis","yaxis","zaxis"];return t.indexOf(e.slice(0,5))>-1}due.exports=function(t,r){var n,i=t.data,a=t.layout,o=cue([],i),s=cue({},a,hue(r.tileClass)),l=t._context||{};if(r.width&&(s.width=r.width),r.height&&(s.height=r.height),r.tileClass==="thumbnail"||r.tileClass==="themes__thumb"){s.annotations=[];var u=Object.keys(s);for(n=0;n<u.length;n++)rst(u[n])&&(s[u[n]].title={text:""});for(n=0;n<o.length;n++){var f=o[n];f.showscale=!1,f.marker&&(f.marker.showscale=!1),tst.traceIs(f,"pie-like")&&(f.textposition="none")}}if(Array.isArray(r.annotations))for(n=0;n<r.annotations.length;n++)s.annotations.push(r.annotations[n]);var c=Object.keys(s).filter(function(b){return b.match(/^scene\d*$/)});if(c.length){var h={};for(r.tileClass==="thumbnail"&&(h={title:{text:""},showaxeslabels:!1,showticklabels:!1,linetickenable:!1}),n=0;n<c.length;n++){var d=s[c[n]];d.xaxis||(d.xaxis={}),d.yaxis||(d.yaxis={}),d.zaxis||(d.zaxis={}),hP(d.xaxis,h),hP(d.yaxis,h),hP(d.zaxis,h),d._scene=null}}var v=document.createElement("div");r.tileClass&&(v.className=r.tileClass);var m={gd:v,td:v,layout:s,data:o,config:{staticPlot:r.staticPlot===void 0?!0:r.staticPlot,plotGlPixelRatio:r.plotGlPixelRatio===void 0?2:r.plotGlPixelRatio,displaylogo:r.displaylogo||!1,showLink:r.showLink||!1,showTips:r.showTips||!1,mapboxAccessToken:l.mapboxAccessToken}};return r.setBackground!=="transparent"&&(m.config.setBackground=r.setBackground||"opaque"),m.gd.defaultLayout=hue(r.tileClass),m}});var mue=J((Tqt,gue)=>{"use strict";var nst=VT().EventEmitter,ist=zr(),ast=gt(),pue=yg(),ost=vP(),sst=YM(),lst=GM();function ust(e,t){var r=new nst,n=ost(e,{format:"png"}),i=n.gd;i.style.position="absolute",i.style.left="-5000px",document.body.appendChild(i);function a(){var s=pue.getDelay(i._fullLayout);setTimeout(function(){var l=sst(i),u=document.createElement("canvas");u.id=ast.randstr(),r=lst({format:t.format,width:i._fullLayout.width,height:i._fullLayout.height,canvas:u,emitter:r,svg:l}),r.clean=function(){i&&document.body.removeChild(i)}},s)}var o=pue.getRedrawFunc(i);return ist.call("_doPlot",i,n.data,n.layout,n.config).then(o).then(a).catch(function(s){r.emit("error",s)}),r}gue.exports=ust});var bue=J((Aqt,xue)=>{"use strict";var yue=yg(),fst={getDelay:yue.getDelay,getRedrawFunc:yue.getRedrawFunc,clone:vP(),toSVG:YM(),svgToImg:GM(),toImage:mue(),downloadImage:J8()};xue.exports=fst});var _ue=J(sd=>{"use strict";sd.version=iT().version;MV();gX();var cst=zr(),kw=sd.register=cst.register,pP=zne(),wue=Object.keys(pP);for(zk=0;zk<wue.length;zk++)Sy=wue[zk],Sy.charAt(0)!=="_"&&(sd[Sy]=pP[Sy]),kw({moduleType:"apiMethod",name:Sy,fn:pP[Sy]});var Sy,zk;kw(qae());kw([ooe(),xoe(),ml(),Noe(),Koe(),bse(),Bse(),ale(),Tle(),Ele(),Wle(),Qa(),iue(),oue(),go(),a8()]);kw([lue(),fue()]);window.PlotlyLocales&&Array.isArray(window.PlotlyLocales)&&(kw(window.PlotlyLocales),delete window.PlotlyLocales);sd.Icons=GA();var Nk=go(),dP=ea();sd.Plots={resize:dP.resize,graphJson:dP.graphJson,sendDataToCloud:dP.sendDataToCloud};sd.Fx={hover:Nk.hover,unhover:Nk.unhover,loneHover:Nk.loneHover,loneUnhover:Nk.loneUnhover};sd.Snapshot=bue();sd.PlotSchema=o0()});var Aue=J((kqt,Tue)=>{"use strict";Tue.exports=_ue()});var qg=J((Sqt,Mue)=>{"use strict";Mue.exports={TEXTPAD:3,eventDataKeys:["value","label"]}});var ov=J((Cqt,Eue)=>{"use strict";var Xa=ds(),kue=Ga().axisHoverFormat,hst=Jn().hovertemplateAttrs,vst=Jn().texttemplateAttrs,Cue=Da(),dst=xa(),Sue=qg(),pst=Ss().pattern,Fg=cn().extendFlat,gP=dst({editType:"calc",arrayOk:!0,colorEditType:"style",description:""}),gst=Xa.marker,mst=gst.line,yst=Fg({},mst.width,{dflt:0}),xst=Fg({width:yst,editType:"calc"},Cue("marker.line")),bst=Fg({line:xst,editType:"calc"},Cue("marker"),{opacity:{valType:"number",arrayOk:!0,dflt:1,min:0,max:1,editType:"style",description:"Sets the opacity of the bars."},pattern:pst,cornerradius:{valType:"any",editType:"calc",description:["Sets the rounding of corners. May be an integer number of pixels,","or a percentage of bar width (as a string ending in %). Defaults to `layout.barcornerradius`.","In stack or relative barmode, the first trace to set cornerradius is used for the whole stack."].join(" ")}});Eue.exports={x:Xa.x,x0:Xa.x0,dx:Xa.dx,y:Xa.y,y0:Xa.y0,dy:Xa.dy,xperiod:Xa.xperiod,yperiod:Xa.yperiod,xperiod0:Xa.xperiod0,yperiod0:Xa.yperiod0,xperiodalignment:Xa.xperiodalignment,yperiodalignment:Xa.yperiodalignment,xhoverformat:kue("x"),yhoverformat:kue("y"),text:Xa.text,texttemplate:vst({editType:"plot"},{keys:Sue.eventDataKeys}),hovertext:Xa.hovertext,hovertemplate:hst({},{keys:Sue.eventDataKeys}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"calc",description:["Specifies the location of the `text`.","*inside* positions `text` inside, next to the bar end","(rotated and scaled if needed).","*outside* positions `text` outside, next to the bar end","(scaled if needed), unless there is another bar stacked on","this one, then the text gets pushed inside.","*auto* tries to position `text` inside the bar, but if","the bar is too small and no bar is stacked on this one","the text is moved outside.","If *none*, no text appears."].join(" ")},insidetextanchor:{valType:"enumerated",values:["end","middle","start"],dflt:"end",editType:"plot",description:["Determines if texts are kept at center or start/end points in `textposition` *inside* mode."].join(" ")},textangle:{valType:"angle",dflt:"auto",editType:"plot",description:["Sets the angle of the tick labels with respect to the bar.","For example, a `tickangle` of -90 draws the tick labels","vertically. With *auto* the texts may automatically be","rotated to fit with the maximum size in bars."].join(" ")},textfont:Fg({},gP,{description:"Sets the font used for `text`."}),insidetextfont:Fg({},gP,{description:"Sets the font used for `text` lying inside the bar."}),outsidetextfont:Fg({},gP,{description:"Sets the font used for `text` lying outside the bar."}),constraintext:{valType:"enumerated",values:["inside","outside","both","none"],dflt:"both",editType:"calc",description:["Constrain the size of text inside or outside a bar to be no","larger than the bar itself."].join(" ")},cliponaxis:Fg({},Xa.cliponaxis,{description:["Determines whether the text nodes","are clipped about the subplot axes.","To show the text nodes above axis lines and tick labels,","make sure to set `xaxis.layer` and `yaxis.layer` to *below traces*."].join(" ")}),orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes",description:["Sets the orientation of the bars.","With *v* (*h*), the value of the each bar spans","along the vertical (horizontal)."].join(" ")},base:{valType:"any",dflt:null,arrayOk:!0,editType:"calc",description:["Sets where the bar base is drawn (in position axis units).","In *stack* or *relative* barmode,","traces that set *base* will be excluded","and drawn in *overlay* mode instead."].join(" ")},offset:{valType:"number",dflt:null,arrayOk:!0,editType:"calc",description:["Shifts the position where the bar is drawn","(in position axis units).","In *group* barmode,","traces that set *offset* will be excluded","and drawn in *overlay* mode instead."].join(" ")},width:{valType:"number",dflt:null,min:0,arrayOk:!0,editType:"calc",description:["Sets the bar width (in position axis units)."].join(" ")},marker:bst,offsetgroup:Xa.offsetgroup,alignmentgroup:Xa.alignmentgroup,selected:{marker:{opacity:Xa.selected.marker.opacity,color:Xa.selected.marker.color,editType:"style"},textfont:Xa.selected.textfont,editType:"style"},unselected:{marker:{opacity:Xa.unselected.marker.opacity,color:Xa.unselected.marker.color,editType:"style"},textfont:Xa.unselected.textfont,editType:"style"},zorder:Xa.zorder,_deprecated:{bardir:{valType:"enumerated",editType:"calc",values:["v","h"],description:"Renamed to `orientation`."}}}});var Ok=J((Eqt,Lue)=>{"use strict";Lue.exports={barmode:{valType:"enumerated",values:["stack","group","overlay","relative"],dflt:"group",editType:"calc",description:["Determines how bars at the same location coordinate","are displayed on the graph.","With *stack*, the bars are stacked on top of one another","With *relative*, the bars are stacked on top of one another,","with negative values below the axis, positive values above","With *group*, the bars are plotted next to one another","centered around the shared location.","With *overlay*, the bars are plotted over one another,","you might need to reduce *opacity* to see multiple bars."].join(" ")},barnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc",description:["Sets the normalization for bar traces on the graph.","With *fraction*, the value of each bar is divided by the sum of all","values at that location coordinate.","*percent* is the same but multiplied by 100 to show percentages."].join(" ")},bargap:{valType:"number",min:0,max:1,editType:"calc",description:["Sets the gap (in plot fraction) between bars of","adjacent location coordinates."].join(" ")},bargroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc",description:["Sets the gap (in plot fraction) between bars of","the same location coordinate."].join(" ")},barcornerradius:{valType:"any",editType:"calc",description:["Sets the rounding of bar corners. May be an integer number of pixels,","or a percentage of bar width (as a string ending in %)."].join(" ")}}});var Bk=J((Lqt,Pue)=>{"use strict";var wst=qr(),Due=nu().hasColorscale,Rue=vl(),_st=gt().coercePattern;Pue.exports=function(t,r,n,i,a){var o=n("marker.color",i),s=Due(t,"marker");s&&Rue(t,r,a,n,{prefix:"marker.",cLetter:"c"}),n("marker.line.color",wst.defaultLine),Due(t,"marker.line")&&Rue(t,r,a,n,{prefix:"marker.line.",cLetter:"c"}),n("marker.line.width"),n("marker.opacity"),_st(n,"marker.pattern",o,s),n("selected.marker.color"),n("unselected.marker.color")}});var Pf=J((Dqt,Oue)=>{"use strict";var Iue=dn(),Cy=gt(),que=qr(),Tst=zr(),Ast=rw(),Mst=nv(),kst=Bk(),Sst=Tg(),Fue=ov(),Uk=Cy.coerceFont;function Cst(e,t,r,n){function i(u,f){return Cy.coerce(e,t,Fue,u,f)}var a=Ast(e,t,n,i);if(!a){t.visible=!1;return}Mst(e,t,n,i),i("xhoverformat"),i("yhoverformat"),i("zorder"),i("orientation",t.x&&!t.y?"h":"v"),i("base"),i("offset"),i("width"),i("text"),i("hovertext"),i("hovertemplate");var o=i("textposition");Nue(e,t,n,i,o,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),kst(e,t,i,r,n);var s=(t.marker.line||{}).color,l=Tst.getComponentMethod("errorbars","supplyDefaults");l(e,t,s||que.defaultLine,{axis:"y"}),l(e,t,s||que.defaultLine,{axis:"x",inherit:"y"}),Cy.coerceSelectionMarkerOpacity(t,i)}function Est(e,t){var r,n;function i(s,l){return Cy.coerce(n._input,n,Fue,s,l)}for(var a=0;a<e.length;a++)if(n=e[a],n.type==="bar"){r=n._input;var o=i("marker.cornerradius",t.barcornerradius);n.marker&&(n.marker.cornerradius=zue(o)),t.barmode==="group"&&Sst(r,n,t,i)}}function zue(e){if(Iue(e)){if(e=+e,e>=0)return e}else if(typeof e=="string"&&(e=e.trim(),e.slice(-1)==="%"&&Iue(e.slice(0,-1))&&(e=+e.slice(0,-1),e>=0)))return e+"%"}function Nue(e,t,r,n,i,a){a=a||{};var o=a.moduleHasSelected!==!1,s=a.moduleHasUnselected!==!1,l=a.moduleHasConstrain!==!1,u=a.moduleHasCliponaxis!==!1,f=a.moduleHasTextangle!==!1,c=a.moduleHasInsideanchor!==!1,h=!!a.hasPathbar,d=Array.isArray(i)||i==="auto",v=d||i==="inside",m=d||i==="outside";if(v||m){var b=Uk(n,"textfont",r.font),g=Cy.extendFlat({},b),_=e.textfont&&e.textfont.color,T=!_;if(T&&delete g.color,Uk(n,"insidetextfont",g),h){var w=Cy.extendFlat({},b);T&&delete w.color,Uk(n,"pathbar.textfont",w)}m&&Uk(n,"outsidetextfont",b),o&&n("selected.textfont.color"),s&&n("unselected.textfont.color"),l&&n("constraintext"),u&&n("cliponaxis"),f&&n("textangle"),n("texttemplate")}v&&c&&n("insidetextanchor")}Oue.exports={supplyDefaults:Cst,crossTraceDefaults:Est,handleText:Nue,validateCornerradius:zue}});var mP=J((Rqt,Bue)=>{"use strict";var Lst=zr(),Dst=nn(),Rst=gt(),Pst=Ok(),Ist=Pf().validateCornerradius;Bue.exports=function(e,t,r){function n(v,m){return Rst.coerce(e,t,Pst,v,m)}for(var i=!1,a=!1,o=!1,s={},l=n("barmode"),u=0;u<r.length;u++){var f=r[u];if(Lst.traceIs(f,"bar")&&f.visible)i=!0;else continue;if(l==="group"){var c=f.xaxis+f.yaxis;s[c]&&(o=!0),s[c]=!0}if(f.visible&&f.type==="histogram"){var h=Dst.getFromId({_fullLayout:t},f[f.orientation==="v"?"xaxis":"yaxis"]);h.type!=="category"&&(a=!0)}}if(!i){delete t.barmode;return}l!=="overlay"&&n("barnorm"),n("bargap",a&&!o?0:.2),n("bargroupgap");var d=n("barcornerradius");t.barcornerradius=Ist(d)}});var Sw=J((Pqt,Uue)=>{"use strict";var Ey=gt();Uue.exports=function(t,r){for(var n=0;n<t.length;n++)t[n].i=n;Ey.mergeArray(r.text,t,"tx"),Ey.mergeArray(r.hovertext,t,"htx");var i=r.marker;if(i){Ey.mergeArray(i.opacity,t,"mo",!0),Ey.mergeArray(i.color,t,"mc");var a=i.line;a&&(Ey.mergeArray(a.color,t,"mlc"),Ey.mergeArrayCastPositive(a.width,t,"mlw"))}}});var Wue=J((Iqt,Gue)=>{"use strict";var Hue=nn(),jue=iv(),Vue=nu().hasColorscale,Yue=Uu(),qst=Sw(),Fst=oh();Gue.exports=function(t,r){var n=Hue.getFromId(t,r.xaxis||"x"),i=Hue.getFromId(t,r.yaxis||"y"),a,o,s,l,u,f,c={msUTC:!!(r.base||r.base===0)};r.orientation==="h"?(a=n.makeCalcdata(r,"x",c),s=i.makeCalcdata(r,"y"),l=jue(r,i,"y",s),u=!!r.yperiodalignment,f="y"):(a=i.makeCalcdata(r,"y",c),s=n.makeCalcdata(r,"x"),l=jue(r,n,"x",s),u=!!r.xperiodalignment,f="x"),o=l.vals;for(var h=Math.min(o.length,a.length),d=new Array(h),v=0;v<h;v++)d[v]={p:o[v],s:a[v]},u&&(d[v].orig_p=s[v],d[v][f+"End"]=l.ends[v],d[v][f+"Start"]=l.starts[v]),r.ids&&(d[v].id=String(r.ids[v]));return Vue(r,"marker")&&Yue(t,r,{vals:r.marker.color,containerStr:"marker",cLetter:"c"}),Vue(r,"marker.line")&&Yue(t,r,{vals:r.marker.line.color,containerStr:"marker.line",cLetter:"c"}),qst(d,r),Fst(d,r),d}});var xl=J((qqt,Zue)=>{"use strict";var zst=Nr(),Nst=gt();function Ost(e,t,r){var n=e._fullLayout,i=n["_"+r+"Text_minsize"];if(i){var a=n.uniformtext.mode==="hide",o;switch(r){case"funnelarea":case"pie":case"sunburst":o="g.slice";break;case"treemap":case"icicle":o="g.slice, g.pathbar";break;default:o="g.points > g.point"}t.selectAll(o).each(function(s){var l=s.transform;if(l){l.scale=a&&l.hide?0:i/l.fontSize;var u=zst.select(this).select("text");Nst.setTransormAndDisplay(u,l)}})}}function Bst(e,t,r){if(r.uniformtext.mode){var n=Xue(e),i=r.uniformtext.minsize,a=t.scale*t.fontSize;t.hide=a<i,r[n]=r[n]||1/0,t.hide||(r[n]=Math.min(r[n],Math.max(a,i)))}}function Ust(e,t){var r=Xue(e);t[r]=void 0}function Xue(e){return"_"+e+"Text_minsize"}Zue.exports={recordMinTextSize:Bst,clearMinTextSize:Ust,resizeText:Ost}});var Hk=J(zg=>{"use strict";var Hst=dn(),jst=ls(),Jue=gt().isArrayOrTypedArray;zg.coerceString=function(e,t,r){if(typeof t=="string"){if(t||!e.noBlank)return t}else if((typeof t=="number"||t===!0)&&!e.strict)return String(t);return r!==void 0?r:e.dflt};zg.coerceNumber=function(e,t,r){if(Hst(t)){t=+t;var n=e.min,i=e.max,a=n!==void 0&&t<n||i!==void 0&&t>i;if(!a)return t}return r!==void 0?r:e.dflt};zg.coerceColor=function(e,t,r){return jst(t).isValid()?t:r!==void 0?r:e.dflt};zg.coerceEnumerated=function(e,t,r){return e.coerceNumber&&(t=+t),e.values.indexOf(t)!==-1?t:r!==void 0?r:e.dflt};zg.getValue=function(e,t){var r;return Jue(e)?t<e.length&&(r=e[t]):r=e,r};zg.getLineWidth=function(e,t){var r=0<t.mlw?t.mlw:Jue(e.marker.line.width)?0:e.marker.line.width;return r}});var mc=J((zqt,sfe)=>{"use strict";var Cw=Nr(),Vst=qr(),Ew=ln(),$ue=gt(),Kue=zr(),Que=xl().resizeText,yP=ov(),Yst=yP.textfont,Gst=yP.insidetextfont,Wst=yP.outsidetextfont,Zs=Hk();function Xst(e){var t=Cw.select(e).selectAll('g[class^="barlayer"]').selectAll("g.trace");Que(e,t,"bar");var r=t.size(),n=e._fullLayout;t.style("opacity",function(i){return i[0].trace.opacity}).each(function(i){(n.barmode==="stack"&&r>1||n.bargap===0&&n.bargroupgap===0&&!i[0].trace.marker.line.width)&&Cw.select(this).attr("shape-rendering","crispEdges")}),t.selectAll("g.points").each(function(i){var a=Cw.select(this),o=i[0].trace;efe(a,o,e)}),Kue.getComponentMethod("errorbars","style")(t)}function efe(e,t,r){Ew.pointStyle(e.selectAll("path"),t,r),tfe(e,t,r)}function tfe(e,t,r){e.selectAll("text").each(function(n){var i=Cw.select(this),a=$ue.ensureUniformFontSize(r,rfe(i,n,t,r));Ew.font(i,a)})}function Zst(e,t,r){var n=t[0].trace;n.selectedpoints?Jst(r,n,e):(efe(r,n,e),Kue.getComponentMethod("errorbars","style")(r))}function Jst(e,t,r){Ew.selectedPointStyle(e.selectAll("path"),t),$st(e.selectAll("text"),t,r)}function $st(e,t,r){e.each(function(n){var i=Cw.select(this),a;if(n.selected){a=$ue.ensureUniformFontSize(r,rfe(i,n,t,r));var o=t.selected.textfont&&t.selected.textfont.color;o&&(a.color=o),Ew.font(i,a)}else Ew.selectedTextStyle(i,t)})}function rfe(e,t,r,n){var i=n._fullLayout.font,a=r.textfont;if(e.classed("bartext-inside")){var o=ofe(t,r);a=ife(r,t.i,i,o)}else e.classed("bartext-outside")&&(a=afe(r,t.i,i));return a}function nfe(e,t,r){return xP(Yst,e.textfont,t,r)}function ife(e,t,r,n){var i=nfe(e,t,r),a=e._input.textfont===void 0||e._input.textfont.color===void 0||Array.isArray(e.textfont.color)&&e.textfont.color[t]===void 0;return a&&(i={color:Vst.contrast(n),family:i.family,size:i.size,weight:i.weight,style:i.style,variant:i.variant,textcase:i.textcase,lineposition:i.lineposition,shadow:i.shadow}),xP(Gst,e.insidetextfont,t,i)}function afe(e,t,r){var n=nfe(e,t,r);return xP(Wst,e.outsidetextfont,t,n)}function xP(e,t,r,n){t=t||{};var i=Zs.getValue(t.family,r),a=Zs.getValue(t.size,r),o=Zs.getValue(t.color,r),s=Zs.getValue(t.weight,r),l=Zs.getValue(t.style,r),u=Zs.getValue(t.variant,r),f=Zs.getValue(t.textcase,r),c=Zs.getValue(t.lineposition,r),h=Zs.getValue(t.shadow,r);return{family:Zs.coerceString(e.family,i,n.family),size:Zs.coerceNumber(e.size,a,n.size),color:Zs.coerceColor(e.color,o,n.color),weight:Zs.coerceString(e.weight,s,n.weight),style:Zs.coerceString(e.style,l,n.style),variant:Zs.coerceString(e.variant,u,n.variant),textcase:Zs.coerceString(e.variant,f,n.textcase),lineposition:Zs.coerceString(e.variant,c,n.lineposition),shadow:Zs.coerceString(e.variant,h,n.shadow)}}function ofe(e,t){return t.type==="waterfall"?t[e.dir].marker.color:e.mcc||e.mc||t.marker.color}sfe.exports={style:Xst,styleTextPoints:tfe,styleOnSelect:Zst,getInsideTextFont:ife,getOutsideTextFont:afe,getBarColor:ofe,resizeText:Que}});var Og=J((Nqt,pfe)=>{"use strict";var jk=Nr(),Vk=dn(),Es=gt(),Kst=ca(),Qst=qr(),q0=ln(),elt=zr(),Yk=nn().tickText,lfe=xl(),tlt=lfe.recordMinTextSize,rlt=lfe.clearMinTextSize,bP=mc(),Ly=Hk(),nlt=qg(),ufe=ov(),ilt=ufe.text,alt=ufe.textposition,olt=Qf().appendArrayPointValue,Bl=nlt.TEXTPAD;function slt(e){return e.id}function llt(e){if(e.ids)return slt}function wP(e){return(e>0)-(e<0)}function sv(e,t){return e<t?1:-1}function ult(e,t,r,n){var i=[],a=[],o=n?t:r,s=n?r:t;return i[0]=o.c2p(e.s0,!0),a[0]=s.c2p(e.p0,!0),i[1]=o.c2p(e.s1,!0),a[1]=s.c2p(e.p1,!0),n?[i,a]:[a,i]}function ffe(e,t,r,n){if(!t.uniformtext.mode&&cfe(r)){var i;return n&&(i=n()),e.transition().duration(r.duration).ease(r.easing).each("end",function(){i&&i()}).each("interrupt",function(){i&&i()})}else return e}function cfe(e){return e&&e.duration>0}function flt(e,t,r,n,i,a){var o=t.xaxis,s=t.yaxis,l=e._fullLayout,u=e._context.staticPlot;i||(i={mode:l.barmode,norm:l.barmode,gap:l.bargap,groupgap:l.bargroupgap},rlt("bar",l));var f=Es.makeTraceGroups(n,r,"trace bars").each(function(c){var h=jk.select(this),d=c[0].trace,v=c[0].t,m=d.type==="waterfall",b=d.type==="funnel",g=d.type==="histogram",_=d.type==="bar",T=_||b,w=0;m&&d.connector.visible&&d.connector.mode==="between"&&(w=d.connector.line.width/2);var k=d.orientation==="h",x=cfe(i),M=Es.ensureSingle(h,"g","points"),A=llt(d),p=M.selectAll("g.point").data(Es.identity,A);p.enter().append("g").classed("point",!0),p.exit().remove(),p.each(function(y,E){var C=jk.select(this),L=ult(y,o,s,k),R=L[0][0],I=L[0][1],P=L[1][0],D=L[1][1],q=(k?I-R:D-P)===0;q&&T&&Ly.getLineWidth(d,y)&&(q=!1),q||(q=!Vk(R)||!Vk(I)||!Vk(P)||!Vk(D)),y.isBlank=q,q&&(k?I=R:D=P),w&&!q&&(k?(R-=sv(R,I)*w,I+=sv(R,I)*w):(P-=sv(P,D)*w,D+=sv(P,D)*w));var N,U;if(d.type==="waterfall"){if(!q){var G=d[y.dir].marker;N=G.line.width,U=G.color}}else N=Ly.getLineWidth(d,y),U=y.mc||d.marker.color;function ee(ce){var Ee=jk.round(N/2%1,2);return i.gap===0&&i.groupgap===0?jk.round(Math.round(ce)-Ee,2):ce}function Q(ce,Ee,Ae){return Ae&&ce===Ee?ce:Math.abs(ce-Ee)>=2?ee(ce):ce>Ee?Math.ceil(ce):Math.floor(ce)}var j=Qst.opacity(U),O=j<1||N>.01?ee:Q;e._context.staticPlot||(R=O(R,I,k),I=O(I,R,k),P=O(P,D,!k),D=O(D,P,!k));var Z=k?o.c2p:s.c2p,K;y.s0>0?K=y._sMax:y.s0<0?K=y._sMin:K=y.s1>0?y._sMax:y._sMin;function $(ce,Ee){if(!ce)return 0;var Ae=Math.abs(k?D-P:I-R),Pe=Math.abs(k?I-R:D-P),He=O(Math.abs(Z(K,!0)-Z(0,!0))),Fe=y.hasB?Math.min(Ae/2,Pe/2):Math.min(Ae/2,He),ke;if(Ee==="%"){var Ue=Math.min(50,ce);ke=Ae*(Ue/100)}else ke=ce;return O(Math.max(Math.min(ke,Fe),0))}var oe=_||g?$(v.cornerradiusvalue,v.cornerradiusform):0,te,V,ne="M"+R+","+P+"V"+D+"H"+I+"V"+P+"Z",W=0;if(oe&&y.s){var fe=wP(y.s0)===0||wP(y.s)===wP(y.s0)?y.s1:y.s0;if(W=O(y.hasB?0:Math.abs(Z(K,!0)-Z(fe,!0))),W<oe){var ge=sv(R,I),Ce=sv(P,D),Ne=ge===-Ce?1:0;if(k)if(y.hasB)te="M"+(R+oe*ge)+","+P+"A "+oe+","+oe+" 0 0 "+Ne+" "+R+","+(P+oe*Ce)+"V"+(D-oe*Ce)+"A "+oe+","+oe+" 0 0 "+Ne+" "+(R+oe*ge)+","+D+"H"+(I-oe*ge)+"A "+oe+","+oe+" 0 0 "+Ne+" "+I+","+(D-oe*Ce)+"V"+(P+oe*Ce)+"A "+oe+","+oe+" 0 0 "+Ne+" "+(I-oe*ge)+","+P+"Z";else{V=Math.abs(I-R)+W;var pe=V<oe?oe-Math.sqrt(V*(2*oe-V)):0,me=W>0?Math.sqrt(W*(2*oe-W)):0,Ie=ge>0?Math.max:Math.min;te="M"+R+","+P+"V"+(D-pe*Ce)+"H"+Ie(I-(oe-W)*ge,R)+"A "+oe+","+oe+" 0 0 "+Ne+" "+I+","+(D-oe*Ce-me)+"V"+(P+oe*Ce+me)+"A "+oe+","+oe+" 0 0 "+Ne+" "+Ie(I-(oe-W)*ge,R)+","+(P+pe*Ce)+"Z"}else if(y.hasB)te="M"+(R+oe*ge)+","+P+"A "+oe+","+oe+" 0 0 "+Ne+" "+R+","+(P+oe*Ce)+"V"+(D-oe*Ce)+"A "+oe+","+oe+" 0 0 "+Ne+" "+(R+oe*ge)+","+D+"H"+(I-oe*ge)+"A "+oe+","+oe+" 0 0 "+Ne+" "+I+","+(D-oe*Ce)+"V"+(P+oe*Ce)+"A "+oe+","+oe+" 0 0 "+Ne+" "+(I-oe*ge)+","+P+"Z";else{V=Math.abs(D-P)+W;var Re=V<oe?oe-Math.sqrt(V*(2*oe-V)):0,ze=W>0?Math.sqrt(W*(2*oe-W)):0,Be=Ce>0?Math.max:Math.min;te="M"+(R+Re*ge)+","+P+"V"+Be(D-(oe-W)*Ce,P)+"A "+oe+","+oe+" 0 0 "+Ne+" "+(R+oe*ge-ze)+","+D+"H"+(I-oe*ge+ze)+"A "+oe+","+oe+" 0 0 "+Ne+" "+(I-Re*ge)+","+Be(D-(oe-W)*Ce,P)+"V"+P+"Z"}}else te=ne}else te=ne;var tt=ffe(Es.ensureSingle(C,"path"),l,i,a);if(tt.style("vector-effect",u?"none":"non-scaling-stroke").attr("d",isNaN((I-R)*(D-P))||q&&e._context.staticPlot?"M0,0Z":te).call(q0.setClipUrl,t.layerClipId,e),!l.uniformtext.mode&&x){var rt=q0.makePointStyleFns(d);q0.singlePointStyle(y,tt,d,rt,e)}clt(e,t,C,c,E,R,I,P,D,oe,W,i,a),t.layerClipId&&q0.hideOutsideRangePoint(y,C.select("text"),o,s,d.xcalendar,d.ycalendar)});var S=d.cliponaxis===!1;q0.setClipUrl(h,S?null:t.layerClipId,e)});elt.getComponentMethod("errorbars","plot")(e,f,t,i)}function clt(e,t,r,n,i,a,o,s,l,u,f,c,h){var d=t.xaxis,v=t.yaxis,m=e._fullLayout,b;function g(V,ne,W){var fe=Es.ensureSingle(V,"text").text(ne).attr({class:"bartext bartext-"+b,"text-anchor":"middle","data-notex":1}).call(q0.font,W).call(Kst.convertToTspans,e);return fe}var _=n[0].trace,T=_.orientation==="h",w=dlt(m,n,i,d,v);b=plt(_,i);var k=c.mode==="stack"||c.mode==="relative",x=n[i],M=!k||x._outmost,A=x.hasB,p=u&&u-f>Bl;if(!w||b==="none"||(x.isBlank||a===o||s===l)&&(b==="auto"||b==="inside")){r.select("text").remove();return}var S=m.font,y=bP.getBarColor(n[i],_),E=bP.getInsideTextFont(_,i,S,y),C=bP.getOutsideTextFont(_,i,S),L=_.insidetextanchor||"end",R=r.datum();T?d.type==="log"&&R.s0<=0&&(d.range[0]<d.range[1]?a=0:a=d._length):v.type==="log"&&R.s0<=0&&(v.range[0]<v.range[1]?s=v._length:s=0);var I=Math.abs(o-a),P=Math.abs(l-s),D=I-2*Bl,q=P-2*Bl,N,U,G,ee,Q;if(b==="outside"&&!M&&!x.hasB&&(b="inside"),b==="auto")if(M){b="inside",Q=Es.ensureUniformFontSize(e,E),N=g(r,w,Q),U=q0.bBox(N.node()),G=U.width,ee=U.height;var j=G>0&&ee>0,O;p?A?O=Ng(D-2*u,q,G,ee,T)||Ng(D,q-2*u,G,ee,T):T?O=Ng(D-(u-f),q,G,ee,T)||Ng(D,q-2*(u-f),G,ee,T):O=Ng(D,q-(u-f),G,ee,T)||Ng(D-2*(u-f),q,G,ee,T):O=Ng(D,q,G,ee,T),j&&O?b="inside":(b="outside",N.remove(),N=null)}else b="inside";if(!N){Q=Es.ensureUniformFontSize(e,b==="outside"?C:E),N=g(r,w,Q);var Z=N.attr("transform");if(N.attr("transform",""),U=q0.bBox(N.node()),G=U.width,ee=U.height,N.attr("transform",Z),G<=0||ee<=0){N.remove();return}}var K=_.textangle,$,oe;b==="outside"?(oe=_.constraintext==="both"||_.constraintext==="outside",$=vlt(a,o,s,l,U,{isHorizontal:T,constrained:oe,angle:K})):(oe=_.constraintext==="both"||_.constraintext==="inside",$=dfe(a,o,s,l,U,{isHorizontal:T,constrained:oe,angle:K,anchor:L,hasB:A,r:u,overhead:f})),$.fontSize=Q.size,tlt(_.type==="histogram"?"bar":_.type,$,m),x.transform=$;var te=ffe(N,m,c,h);Es.setTransormAndDisplay(te,$)}function Ng(e,t,r,n,i){if(e<0||t<0)return!1;var a=r<=e&&n<=t,o=r<=t&&n<=e,s=i?e>=r*(t/n):t>=n*(e/r);return a||o||s}function hfe(e){return e==="auto"?0:e}function vfe(e,t){var r=Math.PI/180*t,n=Math.abs(Math.sin(r)),i=Math.abs(Math.cos(r));return{x:e.width*i+e.height*n,y:e.width*n+e.height*i}}function dfe(e,t,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,u=a.anchor,f=u==="end",c=u==="start",h=a.leftToRight||0,d=(h+1)/2,v=1-d,m=a.hasB,b=a.r,g=a.overhead,_=i.width,T=i.height,w=Math.abs(t-e),k=Math.abs(n-r),x=w>2*Bl&&k>2*Bl?Bl:0;w-=2*x,k-=2*x;var M=hfe(l);l==="auto"&&!(_<=w&&T<=k)&&(_>w||T>k)&&(!(_>k||T>w)||_<T!=w<k)&&(M+=90);var A=vfe(i,M),p,S;if(b&&b-g>Bl){var y=hlt(e,t,r,n,A,b,g,o,m);p=y.scale,S=y.pad}else p=1,s&&(p=Math.min(1,w/A.x,k/A.y)),S=0;var E=i.left*v+i.right*d,C=(i.top+i.bottom)/2,L=(e+Bl)*v+(t-Bl)*d,R=(r+n)/2,I=0,P=0;if(c||f){var D=(o?A.x:A.y)/2;b&&(f||m)&&(x+=S);var q=o?sv(e,t):sv(r,n);o?c?(L=e+q*x,I=-q*D):(L=t-q*x,I=q*D):c?(R=r+q*x,P=-q*D):(R=n-q*x,P=q*D)}return{textX:E,textY:C,targetX:L,targetY:R,anchorX:I,anchorY:P,scale:p,rotate:M}}function hlt(e,t,r,n,i,a,o,s,l){var u=Math.max(0,Math.abs(t-e)-2*Bl),f=Math.max(0,Math.abs(n-r)-2*Bl),c=a-Bl,h=o?c-Math.sqrt(c*c-(c-o)*(c-o)):c,d=l?c*2:s?c-o:2*h,v=l?c*2:s?2*h:c-o,m,b,g,_,T;return i.y/i.x>=f/(u-d)?_=f/i.y:i.y/i.x<=(f-v)/u?_=u/i.x:!l&&s?(m=i.x*i.x+i.y*i.y/4,b=-2*i.x*(u-c)-i.y*(f/2-c),g=(u-c)*(u-c)+(f/2-c)*(f/2-c)-c*c,_=(-b+Math.sqrt(b*b-4*m*g))/(2*m)):l?(m=(i.x*i.x+i.y*i.y)/4,b=-i.x*(u/2-c)-i.y*(f/2-c),g=(u/2-c)*(u/2-c)+(f/2-c)*(f/2-c)-c*c,_=(-b+Math.sqrt(b*b-4*m*g))/(2*m)):(m=i.x*i.x/4+i.y*i.y,b=-i.x*(u/2-c)-2*i.y*(f-c),g=(u/2-c)*(u/2-c)+(f-c)*(f-c)-c*c,_=(-b+Math.sqrt(b*b-4*m*g))/(2*m)),_=Math.min(1,_),s?T=Math.max(0,c-Math.sqrt(Math.max(0,c*c-(c-(f-i.y*_)/2)*(c-(f-i.y*_)/2)))-o):T=Math.max(0,c-Math.sqrt(Math.max(0,c*c-(c-(u-i.x*_)/2)*(c-(u-i.x*_)/2)))-o),{scale:_,pad:T}}function vlt(e,t,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,u=i.width,f=i.height,c=Math.abs(t-e),h=Math.abs(n-r),d;o?d=h>2*Bl?Bl:0:d=c>2*Bl?Bl:0;var v=1;s&&(v=o?Math.min(1,h/f):Math.min(1,c/u));var m=hfe(l),b=vfe(i,m),g=(o?b.x:b.y)/2,_=(i.left+i.right)/2,T=(i.top+i.bottom)/2,w=(e+t)/2,k=(r+n)/2,x=0,M=0,A=o?sv(t,e):sv(r,n);return o?(w=t-A*d,x=A*g):(k=n+A*d,M=-A*g),{textX:_,textY:T,targetX:w,targetY:k,anchorX:x,anchorY:M,scale:v,rotate:m}}function dlt(e,t,r,n,i){var a=t[0].trace,o=a.texttemplate,s;return o?s=glt(e,t,r,n,i):a.textinfo?s=mlt(t,r,n,i):s=Ly.getValue(a.text,r),Ly.coerceString(ilt,s)}function plt(e,t){var r=Ly.getValue(e.textposition,t);return Ly.coerceEnumerated(alt,r)}function glt(e,t,r,n,i){var a=t[0].trace,o=Es.castOption(a,r,"texttemplate");if(!o)return"";var s=a.type==="histogram",l=a.type==="waterfall",u=a.type==="funnel",f=a.orientation==="h",c,h,d,v;f?(c="y",h=i,d="x",v=n):(c="x",h=n,d="y",v=i);function m(x){return Yk(h,h.c2l(x),!0).text}function b(x){return Yk(v,v.c2l(x),!0).text}var g=t[r],_={};_.label=g.p,_.labelLabel=_[c+"Label"]=m(g.p);var T=Es.castOption(a,g.i,"text");(T===0||T)&&(_.text=T),_.value=g.s,_.valueLabel=_[d+"Label"]=b(g.s);var w={};olt(w,a,g.i),(s||w.x===void 0)&&(w.x=f?_.value:_.label),(s||w.y===void 0)&&(w.y=f?_.label:_.value),(s||w.xLabel===void 0)&&(w.xLabel=f?_.valueLabel:_.labelLabel),(s||w.yLabel===void 0)&&(w.yLabel=f?_.labelLabel:_.valueLabel),l&&(_.delta=+g.rawS||g.s,_.deltaLabel=b(_.delta),_.final=g.v,_.finalLabel=b(_.final),_.initial=_.final-_.delta,_.initialLabel=b(_.initial)),u&&(_.value=g.s,_.valueLabel=b(_.value),_.percentInitial=g.begR,_.percentInitialLabel=Es.formatPercent(g.begR),_.percentPrevious=g.difR,_.percentPreviousLabel=Es.formatPercent(g.difR),_.percentTotal=g.sumR,_.percenTotalLabel=Es.formatPercent(g.sumR));var k=Es.castOption(a,g.i,"customdata");return k&&(_.customdata=k),Es.texttemplateString(o,_,e._d3locale,w,_,a._meta||{})}function mlt(e,t,r,n){var i=e[0].trace,a=i.orientation==="h",o=i.type==="waterfall",s=i.type==="funnel";function l(k){var x=a?n:r;return Yk(x,k,!0).text}function u(k){var x=a?r:n;return Yk(x,+k,!0).text}var f=i.textinfo,c=e[t],h=f.split("+"),d=[],v,m=function(k){return h.indexOf(k)!==-1};if(m("label")&&d.push(l(e[t].p)),m("text")&&(v=Es.castOption(i,c.i,"text"),(v===0||v)&&d.push(v)),o){var b=+c.rawS||c.s,g=c.v,_=g-b;m("initial")&&d.push(u(_)),m("delta")&&d.push(u(b)),m("final")&&d.push(u(g))}if(s){m("value")&&d.push(u(c.s));var T=0;m("percent initial")&&T++,m("percent previous")&&T++,m("percent total")&&T++;var w=T>1;m("percent initial")&&(v=Es.formatPercent(c.begR),w&&(v+=" of initial"),d.push(v)),m("percent previous")&&(v=Es.formatPercent(c.difR),w&&(v+=" of previous"),d.push(v)),m("percent total")&&(v=Es.formatPercent(c.sumR),w&&(v+=" of total"),d.push(v))}return d.join("<br>")}pfe.exports={plot:flt,toMoveInsideBar:dfe}});var Dy=J((Oqt,xfe)=>{"use strict";var Lw=go(),ylt=zr(),gfe=qr(),xlt=gt().fillText,blt=Hk().getLineWidth,_P=nn().hoverLabelText,wlt=oi().BADNUM;function _lt(e,t,r,n,i){var a=mfe(e,t,r,n,i);if(a){var o=a.cd,s=o[0].trace,l=o[a.index];return a.color=yfe(s,l),ylt.getComponentMethod("errorbars","hoverInfo")(l,s,a),[a]}}function mfe(e,t,r,n,i){var a=e.cd,o=a[0].trace,s=a[0].t,l=n==="closest",u=o.type==="waterfall",f=e.maxHoverDistance,c=e.maxSpikeDistance,h,d,v,m,b,g,_;o.orientation==="h"?(h=r,d=t,v="y",m="x",b=R,g=E):(h=t,d=r,v="x",m="y",g=R,b=E);var T=o[v+"period"],w=l||T;function k(O){return M(O,-1)}function x(O){return M(O,1)}function M(O,Z){var K=O.w;return O[v]+Z*K/2}function A(O){return O[v+"End"]-O[v+"Start"]}var p=l?k:T?function(O){return O.p-A(O)/2}:function(O){return Math.min(k(O),O.p-s.bardelta/2)},S=l?x:T?function(O){return O.p+A(O)/2}:function(O){return Math.max(x(O),O.p+s.bardelta/2)};function y(O,Z,K){return i.finiteRange&&(K=0),Lw.inbox(O-h,Z-h,K+Math.min(1,Math.abs(Z-O)/_)-1)}function E(O){return y(p(O),S(O),f)}function C(O){return y(k(O),x(O),c)}function L(O){var Z=O[m];if(u){var K=Math.abs(O.rawS)||0;d>0?Z+=K:d<0&&(Z-=K)}return Z}function R(O){var Z=d,K=O.b,$=L(O);return Lw.inbox(K-Z,$-Z,f+($-Z)/($-K)-1)}function I(O){var Z=d,K=O.b,$=L(O);return Lw.inbox(K-Z,$-Z,c+($-Z)/($-K)-1)}var P=e[v+"a"],D=e[m+"a"];_=Math.abs(P.r2c(P.range[1])-P.r2c(P.range[0]));function q(O){return(b(O)+g(O))/2}var N=Lw.getDistanceFunction(n,b,g,q);if(Lw.getClosest(a,N,e),e.index!==!1&&a[e.index].p!==wlt){w||(p=function(O){return Math.min(k(O),O.p-s.bargroupwidth/2)},S=function(O){return Math.max(x(O),O.p+s.bargroupwidth/2)});var U=e.index,G=a[U],ee=o.base?G.b+G.s:G.s;e[m+"0"]=e[m+"1"]=D.c2p(G[m],!0),e[m+"LabelVal"]=ee;var Q=s.extents[s.extents.round(G.p)];e[v+"0"]=P.c2p(l?p(G):Q[0],!0),e[v+"1"]=P.c2p(l?S(G):Q[1],!0);var j=G.orig_p!==void 0;return e[v+"LabelVal"]=j?G.orig_p:G.p,e.labelLabel=_P(P,e[v+"LabelVal"],o[v+"hoverformat"]),e.valueLabel=_P(D,e[m+"LabelVal"],o[m+"hoverformat"]),e.baseLabel=_P(D,G.b,o[m+"hoverformat"]),e.spikeDistance=(I(G)+C(G))/2,e[v+"Spike"]=P.c2p(G.p,!0),xlt(G,o,e),e.hovertemplate=o.hovertemplate,e}}function yfe(e,t){var r=t.mcc||e.marker.color,n=t.mlcc||e.marker.line.color,i=blt(e,t);if(gfe.opacity(r))return r;if(gfe.opacity(n)&&i)return n}xfe.exports={hoverPoints:_lt,hoverOnBars:mfe,getTraceColor:yfe}});var wfe=J((Bqt,bfe)=>{"use strict";bfe.exports=function(t,r,n){return t.x="xVal"in r?r.xVal:r.x,t.y="yVal"in r?r.yVal:r.y,r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),n.orientation==="h"?(t.label=t.y,t.value=t.x):(t.label=t.x,t.value=t.y),t}});var Ry=J((Uqt,_fe)=>{"use strict";_fe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=n[0].trace,s=o.type==="funnel",l=o.orientation==="h",u=[],f;if(r===!1)for(f=0;f<n.length;f++)n[f].selected=0;else for(f=0;f<n.length;f++){var c=n[f],h="ct"in c?c.ct:Tlt(c,i,a,l,s);r.contains(h,!1,f,t)?(u.push({pointNumber:f,x:i.c2d(c.x),y:a.c2d(c.y)}),c.selected=1):c.selected=0}return u};function Tlt(e,t,r,n,i){var a=t.c2p(n?e.s0:e.p0,!0),o=t.c2p(n?e.s1:e.p1,!0),s=r.c2p(n?e.p0:e.s0,!0),l=r.c2p(n?e.p1:e.s1,!0);return i?[(a+o)/2,(s+l)/2]:n?[o,(s+l)/2]:[(a+o)/2,l]}});var Afe=J((Hqt,Tfe)=>{"use strict";Tfe.exports={attributes:ov(),layoutAttributes:Ok(),supplyDefaults:Pf().supplyDefaults,crossTraceDefaults:Pf().crossTraceDefaults,supplyLayoutDefaults:mP(),calc:Wue(),crossTraceCalc:kg().crossTraceCalc,colorbar:pc(),arraysToCalcdata:Sw(),plot:Og().plot,style:mc().style,styleOnSelect:mc().styleOnSelect,hoverPoints:Dy().hoverPoints,eventData:wfe(),selectPoints:Ry(),moduleType:"trace",name:"bar",basePlotModule:gs(),categories:["bar-like","cartesian","svg","bar","oriented","errorBarsOK","showLegend","zoomScale"],animatable:!0,meta:{description:["The data visualized by the span of the bars is set in `y`","if `orientation` is set to *v* (the default)","and the labels are set in `x`.","By setting `orientation` to *h*, the roles are interchanged."].join(" ")}}});var kfe=J((jqt,Mfe)=>{"use strict";Mfe.exports=Afe()});var Dw=J((Vqt,Lfe)=>{"use strict";var Alt=gg(),yc=ds(),Sfe=ov(),Mlt=Ho(),Cfe=Ga().axisHoverFormat,klt=Jn().hovertemplateAttrs,ld=cn().extendFlat,Py=yc.marker,Efe=Py.line;Lfe.exports={y:{valType:"data_array",editType:"calc+clearAxisTypes",description:["Sets the y sample data or coordinates.","See overview for more info."].join(" ")},x:{valType:"data_array",editType:"calc+clearAxisTypes",description:["Sets the x sample data or coordinates.","See overview for more info."].join(" ")},x0:{valType:"any",editType:"calc+clearAxisTypes",description:["Sets the x coordinate for single-box traces","or the starting coordinate for multi-box traces","set using q1/median/q3.","See overview for more info."].join(" ")},y0:{valType:"any",editType:"calc+clearAxisTypes",description:["Sets the y coordinate for single-box traces","or the starting coordinate for multi-box traces","set using q1/median/q3.","See overview for more info."].join(" ")},dx:{valType:"number",editType:"calc",description:["Sets the x coordinate step for multi-box traces","set using q1/median/q3."].join(" ")},dy:{valType:"number",editType:"calc",description:["Sets the y coordinate step for multi-box traces","set using q1/median/q3."].join(" ")},xperiod:yc.xperiod,yperiod:yc.yperiod,xperiod0:yc.xperiod0,yperiod0:yc.yperiod0,xperiodalignment:yc.xperiodalignment,yperiodalignment:yc.yperiodalignment,xhoverformat:Cfe("x"),yhoverformat:Cfe("y"),name:{valType:"string",editType:"calc+clearAxisTypes",description:["Sets the trace name.","The trace name appears as the legend item and on hover.","For box traces, the name will also be used for the position","coordinate, if `x` and `x0` (`y` and `y0` if horizontal) are","missing and the position axis is categorical"].join(" ")},q1:{valType:"data_array",editType:"calc+clearAxisTypes",description:["Sets the Quartile 1 values.","There should be as many items as the number of boxes desired."].join(" ")},median:{valType:"data_array",editType:"calc+clearAxisTypes",description:["Sets the median values.","There should be as many items as the number of boxes desired."].join(" ")},q3:{valType:"data_array",editType:"calc+clearAxisTypes",description:["Sets the Quartile 3 values.","There should be as many items as the number of boxes desired."].join(" ")},lowerfence:{valType:"data_array",editType:"calc",description:["Sets the lower fence values.","There should be as many items as the number of boxes desired.","This attribute has effect only under the q1/median/q3 signature.","If `lowerfence` is not provided but a sample (in `y` or `x`) is set,","we compute the lower as the last sample point below 1.5 times the IQR."].join(" ")},upperfence:{valType:"data_array",editType:"calc",description:["Sets the upper fence values.","There should be as many items as the number of boxes desired.","This attribute has effect only under the q1/median/q3 signature.","If `upperfence` is not provided but a sample (in `y` or `x`) is set,","we compute the upper as the last sample point above 1.5 times the IQR."].join(" ")},notched:{valType:"boolean",editType:"calc",description:["Determines whether or not notches are drawn.","Notches displays a confidence interval around the median.","We compute the confidence interval as median +/- 1.57 * IQR / sqrt(N),","where IQR is the interquartile range and N is the sample size.","If two boxes' notches do not overlap there is 95% confidence their medians differ.","See https://sites.google.com/site/davidsstatistics/home/notched-box-plots for more info.","Defaults to *false* unless `notchwidth` or `notchspan` is set."].join(" ")},notchwidth:{valType:"number",min:0,max:.5,dflt:.25,editType:"calc",description:["Sets the width of the notches relative to","the box' width.","For example, with 0, the notches are as wide as the box(es)."].join(" ")},notchspan:{valType:"data_array",editType:"calc",description:["Sets the notch span from the boxes' `median` values.","There should be as many items as the number of boxes desired.","This attribute has effect only under the q1/median/q3 signature.","If `notchspan` is not provided but a sample (in `y` or `x`) is set,","we compute it as 1.57 * IQR / sqrt(N),","where N is the sample size."].join(" ")},boxpoints:{valType:"enumerated",values:["all","outliers","suspectedoutliers",!1],editType:"calc",description:["If *outliers*, only the sample points lying outside the whiskers","are shown","If *suspectedoutliers*, the outlier points are shown and","points either less than 4*Q1-3*Q3 or greater than 4*Q3-3*Q1","are highlighted (see `outliercolor`)","If *all*, all sample points are shown","If *false*, only the box(es) are shown with no sample points","Defaults to *suspectedoutliers* when `marker.outliercolor` or","`marker.line.outliercolor` is set.","Defaults to *all* under the q1/median/q3 signature.","Otherwise defaults to *outliers*."].join(" ")},jitter:{valType:"number",min:0,max:1,editType:"calc",description:["Sets the amount of jitter in the sample points drawn.","If *0*, the sample points align along the distribution axis.","If *1*, the sample points are drawn in a random jitter of width","equal to the width of the box(es)."].join(" ")},pointpos:{valType:"number",min:-2,max:2,editType:"calc",description:["Sets the position of the sample points in relation to the box(es).","If *0*, the sample points are places over the center of the box(es).","Positive (negative) values correspond to positions to the","right (left) for vertical boxes and above (below) for horizontal boxes"].join(" ")},sdmultiple:{valType:"number",min:0,editType:"calc",dflt:1,description:["Scales the box size when sizemode=sd","Allowing boxes to be drawn across any stddev range","For example 1-stddev, 3-stddev, 5-stddev"].join(" ")},sizemode:{valType:"enumerated",values:["quartiles","sd"],editType:"calc",dflt:"quartiles",description:["Sets the upper and lower bound for the boxes","quartiles means box is drawn between Q1 and Q3","SD means the box is drawn between Mean +- Standard Deviation","Argument sdmultiple (default 1) to scale the box size","So it could be drawn 1-stddev, 3-stddev etc"].join(" ")},boxmean:{valType:"enumerated",values:[!0,"sd",!1],editType:"calc",description:["If *true*, the mean of the box(es)' underlying distribution is","drawn as a dashed line inside the box(es).","If *sd* the standard deviation is also drawn.","Defaults to *true* when `mean` is set.","Defaults to *sd* when `sd` is set","Otherwise defaults to *false*."].join(" ")},mean:{valType:"data_array",editType:"calc",description:["Sets the mean values.","There should be as many items as the number of boxes desired.","This attribute has effect only under the q1/median/q3 signature.","If `mean` is not provided but a sample (in `y` or `x`) is set,","we compute the mean for each box using the sample values."].join(" ")},sd:{valType:"data_array",editType:"calc",description:["Sets the standard deviation values.","There should be as many items as the number of boxes desired.","This attribute has effect only under the q1/median/q3 signature.","If `sd` is not provided but a sample (in `y` or `x`) is set,","we compute the standard deviation for each box using the sample values."].join(" ")},orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes",description:["Sets the orientation of the box(es).","If *v* (*h*), the distribution is visualized along","the vertical (horizontal)."].join(" ")},quartilemethod:{valType:"enumerated",values:["linear","exclusive","inclusive"],dflt:"linear",editType:"calc",description:["Sets the method used to compute the sample's Q1 and Q3 quartiles.","The *linear* method uses the 25th percentile for Q1 and 75th percentile for Q3","as computed using method #10 (listed on http://jse.amstat.org/v14n3/langford.html).","The *exclusive* method uses the median to divide the ordered dataset into two halves","if the sample is odd, it does not include the median in either half -","Q1 is then the median of the lower half and","Q3 the median of the upper half.","The *inclusive* method also uses the median to divide the ordered dataset into two halves","but if the sample is odd, it includes the median in both halves -","Q1 is then the median of the lower half and","Q3 the median of the upper half."].join(" ")},width:{valType:"number",min:0,dflt:0,editType:"calc",description:["Sets the width of the box in data coordinate","If *0* (default value) the width is automatically selected based on the positions","of other box traces in the same subplot."].join(" ")},marker:{outliercolor:{valType:"color",dflt:"rgba(0, 0, 0, 0)",editType:"style",description:"Sets the color of the outlier sample points."},symbol:ld({},Py.symbol,{arrayOk:!1,editType:"plot"}),opacity:ld({},Py.opacity,{arrayOk:!1,dflt:1,editType:"style"}),angle:ld({},Py.angle,{arrayOk:!1,editType:"calc"}),size:ld({},Py.size,{arrayOk:!1,editType:"calc"}),color:ld({},Py.color,{arrayOk:!1,editType:"style"}),line:{color:ld({},Efe.color,{arrayOk:!1,dflt:Mlt.defaultLine,editType:"style"}),width:ld({},Efe.width,{arrayOk:!1,dflt:0,editType:"style"}),outliercolor:{valType:"color",editType:"style",description:["Sets the border line color of the outlier sample points.","Defaults to marker.color"].join(" ")},outlierwidth:{valType:"number",min:0,dflt:1,editType:"style",description:["Sets the border line width (in px) of the outlier sample points."].join(" ")},editType:"style"},editType:"plot"},line:{color:{valType:"color",editType:"style",description:"Sets the color of line bounding the box(es)."},width:{valType:"number",min:0,dflt:2,editType:"style",description:"Sets the width (in px) of line bounding the box(es)."},editType:"plot"},fillcolor:Alt(),whiskerwidth:{valType:"number",min:0,max:1,dflt:.5,editType:"calc",description:["Sets the width of the whiskers relative to","the box' width.","For example, with 1, the whiskers are as wide as the box(es)."].join(" ")},showwhiskers:{valType:"boolean",editType:"calc",description:["Determines whether or not whiskers are visible.","Defaults to true for `sizemode` *quartiles*, false for *sd*."].join(" ")},offsetgroup:Sfe.offsetgroup,alignmentgroup:Sfe.alignmentgroup,selected:{marker:yc.selected.marker,editType:"style"},unselected:{marker:yc.unselected.marker,editType:"style"},text:ld({},yc.text,{description:["Sets the text elements associated with each sample value.","If a single string, the same string appears over","all the data points.","If an array of string, the items are mapped in order to the","this trace's (x,y) coordinates.","To be seen, trace `hoverinfo` must contain a *text* flag."].join(" ")}),hovertext:ld({},yc.hovertext,{description:"Same as `text`."}),hovertemplate:klt({description:["N.B. This only has an effect when hovering on points."].join(" ")}),hoveron:{valType:"flaglist",flags:["boxes","points"],dflt:"boxes+points",editType:"style",description:["Do the hover effects highlight individual boxes ","or sample points or both?"].join(" ")},zorder:yc.zorder}});var Rw=J((Yqt,Dfe)=>{"use strict";Dfe.exports={boxmode:{valType:"enumerated",values:["group","overlay"],dflt:"overlay",editType:"calc",description:["Determines how boxes at the same location coordinate","are displayed on the graph.","If *group*, the boxes are plotted next to one another","centered around the shared location.","If *overlay*, the boxes are plotted over one another,","you might need to set *opacity* to see them multiple boxes.","Has no effect on traces that have *width* set."].join(" ")},boxgap:{valType:"number",min:0,max:1,dflt:.3,editType:"calc",description:["Sets the gap (in plot fraction) between boxes of","adjacent location coordinates.","Has no effect on traces that have *width* set."].join(" ")},boxgroupgap:{valType:"number",min:0,max:1,dflt:.3,editType:"calc",description:["Sets the gap (in plot fraction) between boxes of","the same location coordinate.","Has no effect on traces that have *width* set."].join(" ")}}});var Iw=J((Gqt,qfe)=>{"use strict";var xc=gt(),Slt=zr(),Clt=qr(),Elt=nv(),Llt=Tg(),Rfe=V1(),Pw=Dw();function Dlt(e,t,r,n){function i(v,m){return xc.coerce(e,t,Pw,v,m)}if(Pfe(e,t,i,n),t.visible!==!1){Elt(e,t,n,i),i("xhoverformat"),i("yhoverformat");var a=t._hasPreCompStats;a&&(i("lowerfence"),i("upperfence")),i("line.color",(e.marker||{}).color||r),i("line.width"),i("fillcolor",Clt.addOpacity(t.line.color,.5));var o=!1;if(a){var s=i("mean"),l=i("sd");s&&s.length&&(o=!0,l&&l.length&&(o="sd"))}i("whiskerwidth");var u=i("sizemode"),f;u==="quartiles"&&(f=i("boxmean",o)),i("showwhiskers",u==="quartiles"),(u==="sd"||f==="sd")&&i("sdmultiple"),i("width"),i("quartilemethod");var c=!1;if(a){var h=i("notchspan");h&&h.length&&(c=!0)}else xc.validate(e.notchwidth,Pw.notchwidth)&&(c=!0);var d=i("notched",c);d&&i("notchwidth"),Ife(e,t,i,{prefix:"box"}),i("zorder")}}function Pfe(e,t,r,n){function i(S){var y=0;return S&&S.length&&(y+=1,xc.isArrayOrTypedArray(S[0])&&S[0].length&&(y+=1)),y}function a(S){return xc.validate(e[S],Pw[S])}var o=r("y"),s=r("x"),l;if(t.type==="box"){var u=r("q1"),f=r("median"),c=r("q3");t._hasPreCompStats=u&&u.length&&f&&f.length&&c&&c.length,l=Math.min(xc.minRowLength(u),xc.minRowLength(f),xc.minRowLength(c))}var h=i(o),d=i(s),v=h&&xc.minRowLength(o),m=d&&xc.minRowLength(s),b=n.calendar,g={autotypenumbers:n.autotypenumbers},_,T;if(t._hasPreCompStats)switch(String(d)+String(h)){case"00":var w=a("x0")||a("dx"),k=a("y0")||a("dy");k&&!w?_="h":_="v",T=l;break;case"10":_="v",T=Math.min(l,m);break;case"20":_="h",T=Math.min(l,s.length);break;case"01":_="h",T=Math.min(l,v);break;case"02":_="v",T=Math.min(l,o.length);break;case"12":_="v",T=Math.min(l,m,o.length);break;case"21":_="h",T=Math.min(l,s.length,v);break;case"11":T=0;break;case"22":var x=!1,M;for(M=0;M<s.length;M++)if(Rfe(s[M],b,g)==="category"){x=!0;break}if(x)_="v",T=Math.min(l,m,o.length);else{for(M=0;M<o.length;M++)if(Rfe(o[M],b,g)==="category"){x=!0;break}x?(_="h",T=Math.min(l,s.length,v)):(_="v",T=Math.min(l,m,o.length))}break}else h>0?(_="v",d>0?T=Math.min(m,v):T=Math.min(v)):d>0?(_="h",T=Math.min(m)):T=0;if(!T){t.visible=!1;return}t._length=T;var A=r("orientation",_);t._hasPreCompStats?A==="v"&&d===0?(r("x0",0),r("dx",1)):A==="h"&&h===0&&(r("y0",0),r("dy",1)):A==="v"&&d===0?r("x0"):A==="h"&&h===0&&r("y0");var p=Slt.getComponentMethod("calendars","handleTraceDefaults");p(e,t,["x","y"],n)}function Ife(e,t,r,n){var i=n.prefix,a=xc.coerce2(e,t,Pw,"marker.outliercolor"),o=r("marker.line.outliercolor"),s="outliers";t._hasPreCompStats?s="all":(a||o)&&(s="suspectedoutliers");var l=r(i+"points",s);l?(r("jitter",l==="all"?.3:0),r("pointpos",l==="all"?-1.5:0),r("marker.symbol"),r("marker.opacity"),r("marker.size"),r("marker.angle"),r("marker.color",t.line.color),r("marker.line.color"),r("marker.line.width"),l==="suspectedoutliers"&&(r("marker.line.outliercolor",t.marker.color),r("marker.line.outlierwidth")),r("selected.marker.color"),r("unselected.marker.color"),r("selected.marker.size"),r("unselected.marker.size"),r("text"),r("hovertext")):delete t.marker;var u=r("hoveron");(u==="all"||u.indexOf("points")!==-1)&&r("hovertemplate"),xc.coerceSelectionMarkerOpacity(t,r)}function Rlt(e,t){var r,n;function i(s){return xc.coerce(n._input,n,Pw,s)}for(var a=0;a<e.length;a++){n=e[a];var o=n.type;(o==="box"||o==="violin")&&(r=n._input,t[o+"mode"]==="group"&&Llt(r,n,t,i))}}qfe.exports={supplyDefaults:Dlt,crossTraceDefaults:Rlt,handleSampleDefaults:Pfe,handlePointsDefaults:Ife}});var Gk=J((Wqt,zfe)=>{"use strict";var Plt=zr(),Ilt=gt(),qlt=Rw();function Ffe(e,t,r,n,i){for(var a=i+"Layout",o=!1,s=0;s<r.length;s++){var l=r[s];if(Plt.traceIs(l,a)){o=!0;break}}o&&(n(i+"mode"),n(i+"gap"),n(i+"groupgap"))}function Flt(e,t,r){function n(i,a){return Ilt.coerce(e,t,qlt,i,a)}Ffe(e,t,r,n,"box")}zfe.exports={supplyLayoutDefaults:Flt,_supply:Ffe}});var MP=J((Xqt,Gfe)=>{"use strict";var AP=dn(),Wk=nn(),zlt=iv(),mo=gt(),If=oi().BADNUM,ud=mo._;Gfe.exports=function(t,r){var n=t._fullLayout,i=Wk.getFromId(t,r.xaxis||"x"),a=Wk.getFromId(t,r.yaxis||"y"),o=[],s=r.type==="violin"?"_numViolins":"_numBoxes",l,u,f,c,h,d,v;r.orientation==="h"?(f=i,c="x",h=a,d="y",v=!!r.yperiodalignment):(f=a,c="y",h=i,d="x",v=!!r.xperiodalignment);var m=Nlt(r,d,h,n[s]),b=m[0],g=m[1],_=mo.distinctVals(b,h),T=_.vals,w=_.minDiff/2,k,x,M,A,p,S,y=(r.boxpoints||r.points)==="all"?mo.identity:function(Ne){return Ne.v<k.lf||Ne.v>k.uf};if(r._hasPreCompStats){var E=r[c],C=function(Ne){return f.d2c((r[Ne]||[])[l])},L=1/0,R=-1/0;for(l=0;l<r._length;l++){var I=b[l];if(AP(I)){if(k={},k.pos=k[d]=I,v&&g&&(k.orig_p=g[l]),k.q1=C("q1"),k.med=C("median"),k.q3=C("q3"),x=[],E&&mo.isArrayOrTypedArray(E[l]))for(u=0;u<E[l].length;u++)S=f.d2c(E[l][u]),S!==If&&(p={v:S,i:[l,u]},Nfe(p,r,[l,u]),x.push(p));if(k.pts=x.sort(Ofe),M=k[c]=x.map(Bfe),A=M.length,k.med!==If&&k.q1!==If&&k.q3!==If&&k.med>=k.q1&&k.q3>=k.med){var P=C("lowerfence");k.lf=P!==If&&P<=k.q1?P:Ufe(k,M,A);var D=C("upperfence");k.uf=D!==If&&D>=k.q3?D:Hfe(k,M,A);var q=C("mean");k.mean=q!==If?q:A?mo.mean(M,A):(k.q1+k.q3)/2;var N=C("sd");k.sd=q!==If&&N>=0?N:A?mo.stdev(M,A,k.mean):k.q3-k.q1,k.lo=jfe(k),k.uo=Vfe(k);var U=C("notchspan");U=U!==If&&U>0?U:Yfe(k,A),k.ln=k.med-U,k.un=k.med+U;var G=k.lf,ee=k.uf;r.boxpoints&&M.length&&(G=Math.min(G,M[0]),ee=Math.max(ee,M[A-1])),r.notched&&(G=Math.min(G,k.ln),ee=Math.max(ee,k.un)),k.min=G,k.max=ee}else{mo.warn(["Invalid input - make sure that q1 <= median <= q3","q1 = "+k.q1,"median = "+k.med,"q3 = "+k.q3].join(`
|
|
`));var Q;k.med!==If?Q=k.med:k.q1!==If?k.q3!==If?Q=(k.q1+k.q3)/2:Q=k.q1:k.q3!==If?Q=k.q3:Q=0,k.med=Q,k.q1=k.q3=Q,k.lf=k.uf=Q,k.mean=k.sd=Q,k.ln=k.un=Q,k.min=k.max=Q}L=Math.min(L,k.min),R=Math.max(R,k.max),k.pts2=x.filter(y),o.push(k)}}r._extremes[f._id]=Wk.findExtremes(f,[L,R],{padded:!0})}else{var j=f.makeCalcdata(r,c),O=Olt(T,w),Z=T.length,K=Blt(Z);for(l=0;l<r._length;l++)if(S=j[l],!!AP(S)){var $=mo.findBin(b[l],O);$>=0&&$<Z&&(p={v:S,i:l},Nfe(p,r,l),K[$].push(p))}var oe=1/0,te=-1/0,V=r.quartilemethod,ne=V==="exclusive",W=V==="inclusive";for(l=0;l<Z;l++)if(K[l].length>0){if(k={},k.pos=k[d]=T[l],x=k.pts=K[l].sort(Ofe),M=k[c]=x.map(Bfe),A=M.length,k.min=M[0],k.max=M[A-1],k.mean=mo.mean(M,A),k.sd=mo.stdev(M,A,k.mean)*r.sdmultiple,k.med=mo.interp(M,.5),A%2&&(ne||W)){var fe,ge;ne?(fe=M.slice(0,A/2),ge=M.slice(A/2+1)):W&&(fe=M.slice(0,A/2+1),ge=M.slice(A/2)),k.q1=mo.interp(fe,.5),k.q3=mo.interp(ge,.5)}else k.q1=mo.interp(M,.25),k.q3=mo.interp(M,.75);k.lf=Ufe(k,M,A),k.uf=Hfe(k,M,A),k.lo=jfe(k),k.uo=Vfe(k);var Ce=Yfe(k,A);k.ln=k.med-Ce,k.un=k.med+Ce,oe=Math.min(oe,k.ln),te=Math.max(te,k.un),k.pts2=x.filter(y),o.push(k)}r.notched&&mo.isTypedArray(j)&&(j=Array.from(j)),r._extremes[f._id]=Wk.findExtremes(f,r.notched?j.concat([oe,te]):j,{padded:!0})}return Ult(o,r),o.length>0?(o[0].t={num:n[s],dPos:w,posLetter:d,valLetter:c,labels:{med:ud(t,"median:"),min:ud(t,"min:"),q1:ud(t,"q1:"),q3:ud(t,"q3:"),max:ud(t,"max:"),mean:r.boxmean==="sd"||r.sizemode==="sd"?ud(t,"mean \xB1 \u03C3:").replace("\u03C3",r.sdmultiple===1?"\u03C3":r.sdmultiple+"\u03C3"):ud(t,"mean:"),lf:ud(t,"lower fence:"),uf:ud(t,"upper fence:")}},n[s]++,o):[{t:{empty:!0}}]};function Nlt(e,t,r,n){var i=t in e,a=t+"0"in e,o="d"+t in e;if(i||a&&o){var s=r.makeCalcdata(e,t),l=zlt(e,r,t,s).vals;return[l,s]}var u;a?u=e[t+"0"]:"name"in e&&(r.type==="category"||AP(e.name)&&["linear","log"].indexOf(r.type)!==-1||mo.isDateTime(e.name)&&r.type==="date")?u=e.name:u=n;for(var f=r.type==="multicategory"?r.r2c_just_indices(u):r.d2c(u,0,e[t+"calendar"]),c=e._length,h=new Array(c),d=0;d<c;d++)h[d]=f;return[h]}function Olt(e,t){for(var r=e.length,n=new Array(r+1),i=0;i<r;i++)n[i]=e[i]-t;return n[r]=e[r-1]+t,n}function Blt(e){for(var t=new Array(e),r=0;r<e;r++)t[r]=[];return t}var TP={text:"tx",hovertext:"htx"};function Nfe(e,t,r){for(var n in TP)mo.isArrayOrTypedArray(t[n])&&(Array.isArray(r)?mo.isArrayOrTypedArray(t[n][r[0]])&&(e[TP[n]]=t[n][r[0]][r[1]]):e[TP[n]]=t[n][r])}function Ult(e,t){if(mo.isArrayOrTypedArray(t.selectedpoints))for(var r=0;r<e.length;r++){for(var n=e[r].pts||[],i={},a=0;a<n.length;a++)i[n[a].i]=a;mo.tagSelected(n,t,i)}}function Ofe(e,t){return e.v-t.v}function Bfe(e){return e.v}function Ufe(e,t,r){return r===0?e.q1:Math.min(e.q1,t[Math.min(mo.findBin(2.5*e.q1-1.5*e.q3,t,!0)+1,r-1)])}function Hfe(e,t,r){return r===0?e.q3:Math.max(e.q3,t[Math.max(mo.findBin(2.5*e.q3-1.5*e.q1,t),0)])}function jfe(e){return 4*e.q1-3*e.q3}function Vfe(e){return 4*e.q3-3*e.q1}function Yfe(e,t){return t===0?0:1.57*(e.q3-e.q1)/Math.sqrt(t)}});var Xk=J((Zqt,Jfe)=>{"use strict";var Wfe=nn(),Hlt=gt(),jlt=_0().getAxisGroup,Xfe=["v","h"];function Vlt(e,t){for(var r=e.calcdata,n=t.xaxis,i=t.yaxis,a=0;a<Xfe.length;a++){for(var o=Xfe[a],s=o==="h"?i:n,l=[],u=0;u<r.length;u++){var f=r[u],c=f[0].t,h=f[0].trace;h.visible===!0&&(h.type==="box"||h.type==="candlestick")&&!c.empty&&(h.orientation||"v")===o&&h.xaxis===n._id&&h.yaxis===i._id&&l.push(u)}Zfe("box",e,l,s)}}function Zfe(e,t,r,n){var i=t.calcdata,a=t._fullLayout,o=n._id,s=o.charAt(0),l,u,f,c=[],h=0;for(l=0;l<r.length;l++)for(f=i[r[l]],u=0;u<f.length;u++)c.push(n.c2l(f[u].pos,!0)),h+=(f[u].pts2||[]).length;if(c.length){var d=Hlt.distinctVals(c);(n.type==="category"||n.type==="multicategory")&&(d.minDiff=1);var v=d.minDiff/2;Wfe.minDtick(n,d.minDiff,d.vals[0],!0);var m=e==="violin"?"_numViolins":"_numBoxes",b=a[m],g=a[e+"mode"]==="group"&&b>1,_=1-a[e+"gap"],T=1-a[e+"groupgap"];for(l=0;l<r.length;l++){f=i[r[l]];var w=f[0].trace,k=f[0].t,x=w.width,M=w.side,A,p,S,y;if(x)A=p=y=x/2,S=0;else if(A=v,g){var E=jlt(a,n._id)+w.orientation,C=a._alignmentOpts[E]||{},L=C[w.alignmentgroup]||{},R=Object.keys(L.offsetGroups||{}).length,I=R||b,P=R?w._offsetIndex:k.num;p=A*_*T/I,S=2*A*(-.5+(P+.5)/I)*_,y=A*_/I}else p=A*_*T,S=0,y=A;k.dPos=A,k.bPos=S,k.bdPos=p,k.wHover=y;var D,q,N=S+p,U,G,ee,Q,j,O,Z=Boolean(x),K=(w.boxpoints||w.points)&&h>0;if(M==="positive"?(D=A*(x?1:.5),U=N,q=U=S):M==="negative"?(D=U=S,q=A*(x?1:.5),G=N):(D=q=A,U=G=N),K){var $=w.pointpos,oe=w.jitter,te=w.marker.size/2,V=0;$+oe>=0&&(V=N*($+oe),V>D?(Z=!0,j=te,ee=V):V>U&&(j=te,ee=D)),V<=D&&(ee=D);var ne=0;$-oe<=0&&(ne=-N*($-oe),ne>q?(Z=!0,O=te,Q=ne):ne>G&&(O=te,Q=q)),ne<=q&&(Q=q)}else ee=D,Q=q;var W=new Array(f.length);for(u=0;u<f.length;u++)W[u]=f[u].pos;w._extremes[o]=Wfe.findExtremes(n,W,{padded:Z,vpadminus:Q,vpadplus:ee,vpadLinearized:!0,ppadminus:{x:O,y:j}[s],ppadplus:{x:j,y:O}[s]})}}}Jfe.exports={crossTraceCalc:Vlt,setPositionOffset:Zfe}});var Zk=J((Jqt,tce)=>{"use strict";var Iy=Nr(),Bg=gt(),Ylt=ln(),$fe=5,Glt=.01;function Wlt(e,t,r,n){var i=e._context.staticPlot,a=t.xaxis,o=t.yaxis;Bg.makeTraceGroups(n,r,"trace boxes").each(function(s){var l=Iy.select(this),u=s[0],f=u.t,c=u.trace;if(f.wdPos=f.bdPos*c.whiskerwidth,c.visible!==!0||f.empty){l.remove();return}var h,d;c.orientation==="h"?(h=o,d=a):(h=a,d=o),Kfe(l,{pos:h,val:d},c,f,i),Qfe(l,{x:a,y:o},c,f),ece(l,{pos:h,val:d},c,f)})}function Kfe(e,t,r,n,i){var a=r.orientation==="h",o=t.val,s=t.pos,l=!!s.rangebreaks,u=n.bPos,f=n.wdPos||0,c=n.bPosPxOffset||0,h=r.whiskerwidth||0,d=r.showwhiskers!==!1,v=r.notched||!1,m=v?1-2*r.notchwidth:1,b,g;Array.isArray(n.bdPos)?(b=n.bdPos[0],g=n.bdPos[1]):(b=n.bdPos,g=n.bdPos);var _=e.selectAll("path.box").data(r.type!=="violin"||r.box.visible?Bg.identity:[]);_.enter().append("path").style("vector-effect",i?"none":"non-scaling-stroke").attr("class","box"),_.exit().remove(),_.each(function(T){if(T.empty)return Iy.select(this).attr("d","M0,0Z");var w=s.c2l(T.pos+u,!0),k=s.l2p(w-b)+c,x=s.l2p(w+g)+c,M=l?(k+x)/2:s.l2p(w)+c,A=r.whiskerwidth,p=l?k*A+(1-A)*M:s.l2p(w-f)+c,S=l?x*A+(1-A)*M:s.l2p(w+f)+c,y=s.l2p(w-b*m)+c,E=s.l2p(w+g*m)+c,C=r.sizemode==="sd",L=o.c2p(C?T.mean-T.sd:T.q1,!0),R=C?o.c2p(T.mean+T.sd,!0):o.c2p(T.q3,!0),I=Bg.constrain(C?o.c2p(T.mean,!0):o.c2p(T.med,!0),Math.min(L,R)+1,Math.max(L,R)-1),P=T.lf===void 0||r.boxpoints===!1||C,D=o.c2p(P?T.min:T.lf,!0),q=o.c2p(P?T.max:T.uf,!0),N=o.c2p(T.ln,!0),U=o.c2p(T.un,!0);a?Iy.select(this).attr("d","M"+I+","+y+"V"+E+"M"+L+","+k+"V"+x+(v?"H"+N+"L"+I+","+E+"L"+U+","+x:"")+"H"+R+"V"+k+(v?"H"+U+"L"+I+","+y+"L"+N+","+k:"")+"Z"+(d?"M"+L+","+M+"H"+D+"M"+R+","+M+"H"+q+(h===0?"":"M"+D+","+p+"V"+S+"M"+q+","+p+"V"+S):"")):Iy.select(this).attr("d","M"+y+","+I+"H"+E+"M"+k+","+L+"H"+x+(v?"V"+N+"L"+E+","+I+"L"+x+","+U:"")+"V"+R+"H"+k+(v?"V"+U+"L"+y+","+I+"L"+k+","+N:"")+"Z"+(d?"M"+M+","+L+"V"+D+"M"+M+","+R+"V"+q+(h===0?"":"M"+p+","+D+"H"+S+"M"+p+","+q+"H"+S):""))})}function Qfe(e,t,r,n){var i=t.x,a=t.y,o=n.bdPos,s=n.bPos,l=r.boxpoints||r.points;Bg.seedPseudoRandom();var u=function(h){return h.forEach(function(d){d.t=n,d.trace=r}),h},f=e.selectAll("g.points").data(l?u:[]);f.enter().append("g").attr("class","points"),f.exit().remove();var c=f.selectAll("path").data(function(h){var d,v=h.pts2,m=Math.max((h.max-h.min)/10,h.q3-h.q1),b=m*1e-9,g=m*Glt,_=[],T=0,w;if(r.jitter){if(m===0)for(T=1,_=new Array(v.length),d=0;d<v.length;d++)_[d]=1;else for(d=0;d<v.length;d++){var k=Math.max(0,d-$fe),x=v[k].v,M=Math.min(v.length-1,d+$fe),A=v[M].v;l!=="all"&&(v[d].v<h.lf?A=Math.min(A,h.lf):x=Math.max(x,h.uf));var p=Math.sqrt(g*(M-k)/(A-x+b))||0;p=Bg.constrain(Math.abs(p),0,1),_.push(p),T=Math.max(p,T)}w=r.jitter*2/(T||1)}for(d=0;d<v.length;d++){var S=v[d],y=S.v,E=r.jitter?w*_[d]*(Bg.pseudoRandom()-.5):0,C=h.pos+s+o*(r.pointpos+E);r.orientation==="h"?(S.y=C,S.x=y):(S.x=C,S.y=y),l==="suspectedoutliers"&&y<h.uo&&y>h.lo&&(S.so=!0)}return v});c.enter().append("path").classed("point",!0),c.exit().remove(),c.call(Ylt.translatePoints,i,a)}function ece(e,t,r,n){var i=t.val,a=t.pos,o=!!a.rangebreaks,s=n.bPos,l=n.bPosPxOffset||0,u=r.boxmean||(r.meanline||{}).visible,f,c;Array.isArray(n.bdPos)?(f=n.bdPos[0],c=n.bdPos[1]):(f=n.bdPos,c=n.bdPos);var h=e.selectAll("path.mean").data(r.type==="box"&&r.boxmean||r.type==="violin"&&r.box.visible&&r.meanline.visible?Bg.identity:[]);h.enter().append("path").attr("class","mean").style({fill:"none","vector-effect":"non-scaling-stroke"}),h.exit().remove(),h.each(function(d){var v=a.c2l(d.pos+s,!0),m=a.l2p(v-f)+l,b=a.l2p(v+c)+l,g=o?(m+b)/2:a.l2p(v)+l,_=i.c2p(d.mean,!0),T=i.c2p(d.mean-d.sd,!0),w=i.c2p(d.mean+d.sd,!0);r.orientation==="h"?Iy.select(this).attr("d","M"+_+","+m+"V"+b+(u==="sd"?"m0,0L"+T+","+g+"L"+_+","+m+"L"+w+","+g+"Z":"")):Iy.select(this).attr("d","M"+m+","+_+"H"+b+(u==="sd"?"m0,0L"+g+","+T+"L"+m+","+_+"L"+g+","+w+"Z":""))})}tce.exports={plot:Wlt,plotBoxAndWhiskers:Kfe,plotPoints:Qfe,plotBoxMean:ece}});var Jk=J(($qt,rce)=>{"use strict";var kP=Nr(),SP=qr(),CP=ln();function Xlt(e,t,r){var n=r||kP.select(e).selectAll("g.trace.boxes");n.style("opacity",function(i){return i[0].trace.opacity}),n.each(function(i){var a=kP.select(this),o=i[0].trace,s=o.line.width;function l(c,h,d,v){c.style("stroke-width",h+"px").call(SP.stroke,d).call(SP.fill,v)}var u=a.selectAll("path.box");if(o.type==="candlestick")u.each(function(c){if(!c.empty){var h=kP.select(this),d=o[c.dir];l(h,d.line.width,d.line.color,d.fillcolor),h.style("opacity",o.selectedpoints&&!c.selected?.3:1)}});else{l(u,s,o.line.color,o.fillcolor),a.selectAll("path.mean").style({"stroke-width":s,"stroke-dasharray":2*s+"px,"+s+"px"}).call(SP.stroke,o.line.color);var f=a.selectAll("path.point");CP.pointStyle(f,o,e)}})}function Zlt(e,t,r){var n=t[0].trace,i=r.selectAll("path.point");n.selectedpoints?CP.selectedPointStyle(i,n):CP.pointStyle(i,n,e)}rce.exports={style:Xlt,styleOnSelect:Zlt}});var LP=J((Kqt,oce)=>{"use strict";var Jlt=nn(),EP=gt(),F0=go(),nce=qr(),$lt=EP.fillText;function Klt(e,t,r,n){var i=e.cd,a=i[0].trace,o=a.hoveron,s=[],l;return o.indexOf("boxes")!==-1&&(s=s.concat(ice(e,t,r,n))),o.indexOf("points")!==-1&&(l=ace(e,t,r)),n==="closest"?l?[l]:s:(l&&s.push(l),s)}function ice(e,t,r,n){var i=e.cd,a=e.xa,o=e.ya,s=i[0].trace,l=i[0].t,u=s.type==="violin",f,c,h,d,v,m,b,g,_,T,w,k=l.bdPos,x,M,A=l.wHover,p=function(te){return h.c2l(te.pos)+l.bPos-h.c2l(m)};u&&s.side!=="both"?(s.side==="positive"&&(_=function(te){var V=p(te);return F0.inbox(V,V+A,T)},x=k,M=0),s.side==="negative"&&(_=function(te){var V=p(te);return F0.inbox(V-A,V,T)},x=0,M=k)):(_=function(te){var V=p(te);return F0.inbox(V-A,V+A,T)},x=M=k);var S;u?S=function(te){return F0.inbox(te.span[0]-v,te.span[1]-v,T)}:S=function(te){return F0.inbox(te.min-v,te.max-v,T)},s.orientation==="h"?(v=t,m=r,b=S,g=_,f="y",h=o,c="x",d=a):(v=r,m=t,b=_,g=S,f="x",h=a,c="y",d=o);var y=Math.min(1,k/Math.abs(h.r2c(h.range[1])-h.r2c(h.range[0])));T=e.maxHoverDistance-y,w=e.maxSpikeDistance-y;function E(te){return(b(te)+g(te))/2}var C=F0.getDistanceFunction(n,b,g,E);if(F0.getClosest(i,C,e),e.index===!1)return[];var L=i[e.index],R=s.line.color,I=(s.marker||{}).color;nce.opacity(R)&&s.line.width?e.color=R:nce.opacity(I)&&s.boxpoints?e.color=I:e.color=s.fillcolor,e[f+"0"]=h.c2p(L.pos+l.bPos-M,!0),e[f+"1"]=h.c2p(L.pos+l.bPos+x,!0),e[f+"LabelVal"]=L.orig_p!==void 0?L.orig_p:L.pos;var P=f+"Spike";e.spikeDistance=E(L)*w/T,e[P]=h.c2p(L.pos,!0);var D=s.boxmean||s.sizemode==="sd"||(s.meanline||{}).visible,q=s.boxpoints||s.points,N=q&&D?["max","uf","q3","med","mean","q1","lf","min"]:q&&!D?["max","uf","q3","med","q1","lf","min"]:!q&&D?["max","q3","med","mean","q1","min"]:["max","q3","med","q1","min"],U=d.range[1]<d.range[0];s.orientation===(U?"v":"h")&&N.reverse();for(var G=e.spikeDistance,ee=e[P],Q=[],j=0;j<N.length;j++){var O=N[j];if(O in L){var Z=L[O],K=d.c2p(Z,!0),$=EP.extendFlat({},e);$.attr=O,$[c+"0"]=$[c+"1"]=K,$[c+"LabelVal"]=Z,$[c+"Label"]=(l.labels?l.labels[O]+" ":"")+Jlt.hoverLabelText(d,Z,s[c+"hoverformat"]),$.hoverOnBox=!0,O==="mean"&&"sd"in L&&(s.boxmean==="sd"||s.sizemode==="sd")&&($[c+"err"]=L.sd),$.hovertemplate=!1,Q.push($)}}e.name="",e.spikeDistance=void 0,e[P]=void 0;for(var oe=0;oe<Q.length;oe++)Q[oe].attr!=="med"?(Q[oe].name="",Q[oe].spikeDistance=void 0,Q[oe][P]=void 0):(Q[oe].spikeDistance=G,Q[oe][P]=ee);return Q}function ace(e,t,r){for(var n=e.cd,i=e.xa,a=e.ya,o=n[0].trace,s=i.c2p(t),l=a.c2p(r),u,f=function(S){var y=Math.max(3,S.mrc||0);return Math.max(Math.abs(i.c2p(S.x)-s)-y,1-3/y)},c=function(S){var y=Math.max(3,S.mrc||0);return Math.max(Math.abs(a.c2p(S.y)-l)-y,1-3/y)},h=F0.quadrature(f,c),d=!1,v,m,b=0;b<n.length;b++){v=n[b];for(var g=0;g<(v.pts||[]).length;g++){m=v.pts[g];var _=h(m);_<=e.distance&&(e.distance=_,d=[b,g])}}if(!d)return!1;v=n[d[0]],m=v.pts[d[1]];var T=i.c2p(m.x,!0),w=a.c2p(m.y,!0),k=m.mrc||1;u=EP.extendFlat({},e,{index:m.i,color:(o.marker||{}).color,name:o.name,x0:T-k,x1:T+k,y0:w-k,y1:w+k,spikeDistance:e.distance,hovertemplate:o.hovertemplate});var x=v.orig_p,M=x!==void 0?x:v.pos,A;o.orientation==="h"?(A=a,u.xLabelVal=m.x,u.yLabelVal=M):(A=i,u.xLabelVal=M,u.yLabelVal=m.y);var p=A._id.charAt(0);return u[p+"Spike"]=A.c2p(v.pos,!0),$lt(m,o,u),u}oce.exports={hoverPoints:Klt,hoverOnBoxes:ice,hoverOnPoints:ace}});var lce=J((Qqt,sce)=>{"use strict";sce.exports=function(t,r){return r.hoverOnBox&&(t.hoverOnBox=r.hoverOnBox),"xVal"in r&&(t.x=r.xVal),"yVal"in r&&(t.y=r.yVal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t}});var DP=J((e7t,uce)=>{"use strict";uce.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s,l;if(r===!1)for(s=0;s<n.length;s++)for(l=0;l<(n[s].pts||[]).length;l++)n[s].pts[l].selected=0;else for(s=0;s<n.length;s++)for(l=0;l<(n[s].pts||[]).length;l++){var u=n[s].pts[l],f=i.c2p(u.x),c=a.c2p(u.y);r.contains([f,c],null,u.i,t)?(o.push({pointNumber:u.i,x:i.c2d(u.x),y:a.c2d(u.y)}),u.selected=1):u.selected=0}return o}});var cce=J((t7t,fce)=>{"use strict";fce.exports={attributes:Dw(),layoutAttributes:Rw(),supplyDefaults:Iw().supplyDefaults,crossTraceDefaults:Iw().crossTraceDefaults,supplyLayoutDefaults:Gk().supplyLayoutDefaults,calc:MP(),crossTraceCalc:Xk().crossTraceCalc,plot:Zk().plot,style:Jk().style,styleOnSelect:Jk().styleOnSelect,hoverPoints:LP().hoverPoints,eventData:lce(),selectPoints:DP(),moduleType:"trace",name:"box",basePlotModule:gs(),categories:["cartesian","svg","symbols","oriented","box-violin","showLegend","boxLayout","zoomScale"],meta:{description:["Each box spans from quartile 1 (Q1) to quartile 3 (Q3).","The second quartile (Q2, i.e. the median) is marked by a line inside the box.","The fences grow outward from the boxes' edges,","by default they span +/- 1.5 times the interquartile range (IQR: Q3-Q1),","The sample mean and standard deviation as well as notches and","the sample, outlier and suspected outliers points can be optionally","added to the box plot.","The values and positions corresponding to each boxes can be input","using two signatures.","The first signature expects users to supply the sample values in the `y`","data array for vertical boxes (`x` for horizontal boxes).","By supplying an `x` (`y`) array, one box per distinct `x` (`y`) value is drawn","If no `x` (`y`) {array} is provided, a single box is drawn.","In this case, the box is positioned with the trace `name` or with `x0` (`y0`) if provided.","The second signature expects users to supply the boxes corresponding Q1, median and Q3","statistics in the `q1`, `median` and `q3` data arrays respectively.","Other box features relying on statistics namely `lowerfence`, `upperfence`, `notchspan`","can be set directly by the users.","To have plotly compute them or to show sample points besides the boxes,","users can set the `y` data array for vertical boxes (`x` for horizontal boxes)","to a 2D array with the outer length corresponding","to the number of boxes in the traces and the inner length corresponding the sample size."].join(" ")}}});var vce=J((r7t,hce)=>{"use strict";hce.exports=cce()});var Ug=J((n7t,dce)=>{"use strict";var qf=ds(),Qlt=Qi(),eut=xa(),RP=Ga().axisHoverFormat,tut=Jn().hovertemplateAttrs,rut=Jn().texttemplateAttrs,nut=Da(),Wu=cn().extendFlat;dce.exports=Wu({z:{valType:"data_array",editType:"calc",description:"Sets the z data."},x:Wu({},qf.x,{impliedEdits:{xtype:"array"}}),x0:Wu({},qf.x0,{impliedEdits:{xtype:"scaled"}}),dx:Wu({},qf.dx,{impliedEdits:{xtype:"scaled"}}),y:Wu({},qf.y,{impliedEdits:{ytype:"array"}}),y0:Wu({},qf.y0,{impliedEdits:{ytype:"scaled"}}),dy:Wu({},qf.dy,{impliedEdits:{ytype:"scaled"}}),xperiod:Wu({},qf.xperiod,{impliedEdits:{xtype:"scaled"}}),yperiod:Wu({},qf.yperiod,{impliedEdits:{ytype:"scaled"}}),xperiod0:Wu({},qf.xperiod0,{impliedEdits:{xtype:"scaled"}}),yperiod0:Wu({},qf.yperiod0,{impliedEdits:{ytype:"scaled"}}),xperiodalignment:Wu({},qf.xperiodalignment,{impliedEdits:{xtype:"scaled"}}),yperiodalignment:Wu({},qf.yperiodalignment,{impliedEdits:{ytype:"scaled"}}),text:{valType:"data_array",editType:"calc",description:"Sets the text elements associated with each z value."},hovertext:{valType:"data_array",editType:"calc",description:"Same as `text`."},transpose:{valType:"boolean",dflt:!1,editType:"calc",description:"Transposes the z data."},xtype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes",description:["If *array*, the heatmap's x coordinates are given by *x*","(the default behavior when `x` is provided).","If *scaled*, the heatmap's x coordinates are given by *x0* and *dx*","(the default behavior when `x` is not provided)."].join(" ")},ytype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes",description:["If *array*, the heatmap's y coordinates are given by *y*","(the default behavior when `y` is provided)","If *scaled*, the heatmap's y coordinates are given by *y0* and *dy*","(the default behavior when `y` is not provided)"].join(" ")},zsmooth:{valType:"enumerated",values:["fast","best",!1],dflt:!1,editType:"calc",description:["Picks a smoothing algorithm use to smooth `z` data."].join(" ")},hoverongaps:{valType:"boolean",dflt:!0,editType:"none",description:["Determines whether or not gaps","(i.e. {nan} or missing values)","in the `z` data have hover labels associated with them."].join(" ")},connectgaps:{valType:"boolean",editType:"calc",description:["Determines whether or not gaps","(i.e. {nan} or missing values)","in the `z` data are filled in.","It is defaulted to true if `z` is a","one dimensional array and `zsmooth` is not false;","otherwise it is defaulted to false."].join(" ")},xgap:{valType:"number",dflt:0,min:0,editType:"plot",description:"Sets the horizontal gap (in pixels) between bricks."},ygap:{valType:"number",dflt:0,min:0,editType:"plot",description:"Sets the vertical gap (in pixels) between bricks."},xhoverformat:RP("x"),yhoverformat:RP("y"),zhoverformat:RP("z",1),hovertemplate:tut(),texttemplate:rut({arrayOk:!1,editType:"plot"},{keys:["x","y","z","text"]}),textfont:eut({editType:"plot",autoSize:!0,autoColor:!0,colorEditType:"style",description:"Sets the text font."}),showlegend:Wu({},Qlt.showlegend,{dflt:!1}),zorder:qf.zorder},{transforms:void 0},nut("",{cLetter:"z",autoColorDflt:!1}))});var qw=J((i7t,gce)=>{"use strict";var iut=dn(),$k=gt(),aut=zr();gce.exports=function(t,r,n,i,a,o){var s=n("z");a=a||"x",o=o||"y";var l,u;if(s===void 0||!s.length)return 0;if($k.isArray1D(s)){l=n(a),u=n(o);var f=$k.minRowLength(l),c=$k.minRowLength(u);if(f===0||c===0)return 0;r._length=Math.min(f,c,s.length)}else{if(l=pce(a,n),u=pce(o,n),!out(s))return 0;n("transpose"),r._length=null}if(t.type==="heatmapgl")return!0;var h=aut.getComponentMethod("calendars","handleTraceDefaults");return h(t,r,[a,o],i),!0};function pce(e,t){var r=t(e),n=r?t(e+"type","array"):"scaled";return n==="scaled"&&(t(e+"0"),t("d"+e)),r}function out(e){for(var t=!0,r=!1,n=!1,i,a=0;a<e.length;a++){if(i=e[a],!$k.isArrayOrTypedArray(i)){t=!1;break}i.length>0&&(r=!0);for(var o=0;o<i.length;o++)if(iut(i[o])){n=!0;break}}return t&&r&&n}});var Fw=J((a7t,yce)=>{"use strict";var mce=gt();yce.exports=function(t,r){t("texttemplate");var n=mce.extendFlat({},r.font,{color:"auto",size:"auto"});mce.coerceFont(t,"textfont",n)}});var PP=J((o7t,xce)=>{"use strict";xce.exports=function(t,r,n){var i=n("zsmooth");i===!1&&(n("xgap"),n("ygap")),n("zhoverformat")}});var _ce=J((s7t,wce)=>{"use strict";var bce=gt(),sut=qw(),lut=Fw(),uut=nv(),fut=PP(),cut=vl(),hut=Ug();wce.exports=function(t,r,n,i){function a(s,l){return bce.coerce(t,r,hut,s,l)}var o=sut(t,r,a,i);if(!o){r.visible=!1;return}uut(t,r,i,a),a("xhoverformat"),a("yhoverformat"),a("text"),a("hovertext"),a("hovertemplate"),lut(a,i),fut(t,r,a,i),a("hoverongaps"),a("connectgaps",bce.isArray1D(r.z)&&r.zsmooth!==!1),cut(t,r,i,a,{prefix:"",cLetter:"z"}),a("zorder")}});var IP=J((l7t,Tce)=>{"use strict";var qy=dn();Tce.exports={count:function(e,t,r){return r[e]++,1},sum:function(e,t,r,n){var i=n[t];return qy(i)?(i=Number(i),r[e]+=i,i):0},avg:function(e,t,r,n,i){var a=n[t];return qy(a)&&(a=Number(a),r[e]+=a,i[e]++),0},min:function(e,t,r,n){var i=n[t];if(qy(i))if(i=Number(i),qy(r[e])){if(r[e]>i){var a=i-r[e];return r[e]=i,a}}else return r[e]=i,i;return 0},max:function(e,t,r,n){var i=n[t];if(qy(i))if(i=Number(i),qy(r[e])){if(r[e]<i){var a=i-r[e];return r[e]=i,a}}else return r[e]=i,i;return 0}}});var qP=J((u7t,Ace)=>{"use strict";Ace.exports={percent:function(e,t){for(var r=e.length,n=100/t,i=0;i<r;i++)e[i]*=n},probability:function(e,t){for(var r=e.length,n=0;n<r;n++)e[n]/=t},density:function(e,t,r,n){var i=e.length;n=n||1;for(var a=0;a<i;a++)e[a]*=r[a]*n},"probability density":function(e,t,r,n){var i=e.length;n&&(t/=n);for(var a=0;a<i;a++)e[a]*=r[a]/t}}});var FP=J((f7t,Mce)=>{"use strict";Mce.exports=function(t,r){for(var n=t.length,i=0,a=0;a<n;a++)r[a]?(t[a]/=r[a],i+=t[a]):t[a]=null;return i}});var zP=J((c7t,Pce)=>{"use strict";var Fy=oi(),Hg=Fy.ONEAVGYEAR,kce=Fy.ONEAVGMONTH,Qk=Fy.ONEDAY,Sce=Fy.ONEHOUR,Cce=Fy.ONEMIN,Ece=Fy.ONESEC,Lce=nn().tickIncrement;Pce.exports=function(t,r,n,i,a){var o=-1.1*r,s=-.1*r,l=t-s,u=n[0],f=n[1],c=Math.min(Kk(u+s,u+l,i,a),Kk(f+s,f+l,i,a)),h=Math.min(Kk(u+o,u+s,i,a),Kk(f+o,f+s,i,a)),d,v;if(c>h&&h<Math.abs(f-u)/4e3?(d=c,v=!1):(d=Math.min(c,h),v=!0),i.type==="date"&&d>Qk){var m=d===Hg?1:6,b=d===Hg?"M12":"M1";return function(g,_){var T=i.c2d(g,Hg,a),w=T.indexOf("-",m);w>0&&(T=T.substr(0,w));var k=i.d2c(T,0,a);if(k<g){var x=Lce(k,b,!1,a);(k+x)/2<g+t&&(k=x)}return _&&v?Lce(k,b,!0,a):k}}return function(g,_){var T=d*Math.round(g/d);return T+d/10<g&&T+d*.9<g+t&&(T+=d),_&&v&&(T-=d),T}};function Kk(e,t,r,n){if(e*t<=0)return 1/0;for(var i=Math.abs(t-e),a=r.type==="date",o=Dce(i,a),s=0;s<10;s++){var l=Dce(o*80,a);if(o===l)break;if(vut(l,e,t,a,r,n))o=l;else break}return o}function Dce(e,t){return t&&e>Ece?e>Qk?e>Hg*1.1?Hg:e>kce*1.1?kce:Qk:e>Sce?Sce:e>Cce?Cce:Ece:Math.pow(10,Math.floor(Math.log(e)/Math.LN10))}function vut(e,t,r,n,i,a){if(n&&e>Qk){var o=Rce(t,i,a),s=Rce(r,i,a),l=e===Hg?0:1;return o[l]!==s[l]}return Math.floor(r/e)-Math.floor(t/e)>.1}function Rce(e,t,r){var n=t.c2d(e,Hg,r).split("-");return n[0]===""&&(n.unshift(),n[0]="-"+n[0]),n}});var BP=J((h7t,Fce)=>{"use strict";var NP=dn(),Ul=gt(),Ice=zr(),bc=nn(),dut=Sw(),qce=IP(),put=qP(),gut=FP(),mut=zP();function yut(e,t){var r=[],n=[],i=t.orientation==="h",a=bc.getFromId(e,i?t.yaxis:t.xaxis),o=i?"y":"x",s={x:"y",y:"x"}[o],l=t[o+"calendar"],u=t.cumulative,f,c=OP(e,t,a,o),h=c[0],d=c[1],v=typeof h.size=="string",m=[],b=v?m:h,g=[],_=[],T=[],w=0,k=t.histnorm,x=t.histfunc,M=k.indexOf("density")!==-1,A,p,S;u.enabled&&M&&(k=k.replace(/ ?density$/,""),M=!1);var y=x==="max"||x==="min",E=y?null:0,C=qce.count,L=put[k],R=!1,I=function(V){return a.r2c(V,0,l)},P;for(Ul.isArrayOrTypedArray(t[s])&&x!=="count"&&(P=t[s],R=x==="avg",C=qce[x]),f=I(h.start),p=I(h.end)+(f-bc.tickIncrement(f,h.size,!1,l))/1e6;f<p&&r.length<1e6&&(A=bc.tickIncrement(f,h.size,!1,l),r.push((f+A)/2),n.push(E),T.push([]),m.push(f),M&&g.push(1/(A-f)),R&&_.push(0),!(A<=f));)f=A;m.push(f),!v&&a.type==="date"&&(b={start:I(b.start),end:I(b.end),size:b.size}),e._fullLayout._roundFnOpts||(e._fullLayout._roundFnOpts={});var D=t["_"+o+"bingroup"],q={leftGap:1/0,rightGap:1/0};D&&(e._fullLayout._roundFnOpts[D]||(e._fullLayout._roundFnOpts[D]=q),q=e._fullLayout._roundFnOpts[D]);var N=n.length,U=!0,G=q.leftGap,ee=q.rightGap,Q={};for(f=0;f<d.length;f++){var j=d[f];S=Ul.findBin(j,b),S>=0&&S<N&&(w+=C(S,f,n,P,_),U&&T[S].length&&j!==d[T[S][0]]&&(U=!1),T[S].push(f),Q[f]=S,G=Math.min(G,j-m[S]),ee=Math.min(ee,m[S+1]-j))}q.leftGap=G,q.rightGap=ee;var O;U||(O=function(V,ne){return function(){var W=e._fullLayout._roundFnOpts[D];return mut(W.leftGap,W.rightGap,m,a,l)(V,ne)}}),R&&(w=gut(n,_)),L&&L(n,w,g),u.enabled&&wut(n,u.direction,u.currentbin);var Z=Math.min(r.length,n.length),K=[],$=0,oe=Z-1;for(f=0;f<Z;f++)if(n[f]){$=f;break}for(f=Z-1;f>=$;f--)if(n[f]){oe=f;break}for(f=$;f<=oe;f++)if(NP(r[f])&&NP(n[f])){var te={p:r[f],s:n[f],b:0};u.enabled||(te.pts=T[f],U?te.ph0=te.ph1=T[f].length?d[T[f][0]]:r[f]:(t._computePh=!0,te.ph0=O(m[f]),te.ph1=O(m[f+1],!0))),K.push(te)}return K.length===1&&(K[0].width1=bc.tickIncrement(K[0].p,h.size,!1,l)-K[0].p),dut(K,t),Ul.isArrayOrTypedArray(t.selectedpoints)&&Ul.tagSelected(K,t,Q),K}function OP(e,t,r,n,i){var a=n+"bins",o=e._fullLayout,s=t["_"+n+"bingroup"],l=o._histogramBinOpts[s],u=o.barmode==="overlay",f,c,h,d,v,m,b,g=function(j){return r.r2c(j,0,d)},_=function(j){return r.c2r(j,0,d)},T=r.type==="date"?function(j){return j||j===0?Ul.cleanDate(j,null,d):null}:function(j){return NP(j)?Number(j):null};function w(j,O,Z){O[j+"Found"]?(O[j]=T(O[j]),O[j]===null&&(O[j]=Z[j])):(m[j]=O[j]=Z[j],Ul.nestedProperty(c[0],a+"."+j).set(Z[j]))}if(t["_"+n+"autoBinFinished"])delete t["_"+n+"autoBinFinished"];else{c=l.traces;var k=[],x=!0,M=!1,A=!1;for(f=0;f<c.length;f++)if(h=c[f],h.visible){var p=l.dirs[f];v=h["_"+p+"pos0"]=r.makeCalcdata(h,p),k=Ul.concat(k,v),delete h["_"+n+"autoBinFinished"],t.visible===!0&&(x?x=!1:(delete h._autoBin,h["_"+n+"autoBinFinished"]=1),Ice.traceIs(h,"2dMap")&&(M=!0),h.type==="histogram2dcontour"&&(A=!0))}d=c[0][n+"calendar"];var S=bc.autoBin(k,r,l.nbins,M,d,l.sizeFound&&l.size),y=c[0]._autoBin={};if(m=y[l.dirs[0]]={},A&&(l.size||(S.start=_(bc.tickIncrement(g(S.start),S.size,!0,d))),l.end===void 0&&(S.end=_(bc.tickIncrement(g(S.end),S.size,!1,d)))),u&&!Ice.traceIs(t,"2dMap")&&S._dataSpan===0&&r.type!=="category"&&r.type!=="multicategory"&&t.bingroup===""&&typeof t.xbins>"u"){if(i)return[S,v,!0];S=xut(e,t,r,n,a)}b=h.cumulative||{},b.enabled&&b.currentbin!=="include"&&(b.direction==="decreasing"?S.start=_(bc.tickIncrement(g(S.start),S.size,!0,d)):S.end=_(bc.tickIncrement(g(S.end),S.size,!1,d))),l.size=S.size,l.sizeFound||(m.size=S.size,Ul.nestedProperty(c[0],a+".size").set(S.size)),w("start",l,S),w("end",l,S)}v=t["_"+n+"pos0"],delete t["_"+n+"pos0"];var E=t._input[a]||{},C=Ul.extendFlat({},l),L=l.start,R=r.r2l(E.start),I=R!==void 0;if((l.startFound||I)&&R!==r.r2l(L)){var P=I?R:Ul.aggNums(Math.min,null,v),D={type:r.type==="category"||r.type==="multicategory"?"linear":r.type,r2l:r.r2l,dtick:l.size,tick0:L,calendar:d,range:[P,bc.tickIncrement(P,l.size,!1,d)].map(r.l2r)},q=bc.tickFirst(D);q>r.r2l(P)&&(q=bc.tickIncrement(q,l.size,!0,d)),C.start=r.l2r(q),I||Ul.nestedProperty(t,a+".start").set(C.start)}var N=l.end,U=r.r2l(E.end),G=U!==void 0;if((l.endFound||G)&&U!==r.r2l(N)){var ee=G?U:Ul.aggNums(Math.max,null,v);C.end=r.l2r(ee),G||Ul.nestedProperty(t,a+".start").set(C.end)}var Q="autobin"+n;return t._input[Q]===!1&&(t._input[a]=Ul.extendFlat({},t[a]||{}),delete t._input[Q],delete t[Q]),[C,v]}function xut(e,t,r,n,i){var a=e._fullLayout,o=but(e,t),s=!1,l=1/0,u=[t],f,c,h;for(f=0;f<o.length;f++)if(c=o[f],c===t)s=!0;else if(!s)h=a._histogramBinOpts[c["_"+n+"bingroup"]],l=Math.min(l,h.size||c[i].size);else{var d=OP(e,c,r,n,!0),v=d[0],m=d[2];c["_"+n+"autoBinFinished"]=1,c["_"+n+"pos0"]=d[1],m?u.push(c):l=Math.min(l,v.size)}var b=new Array(u.length);for(f=0;f<u.length;f++)for(var g=u[f]["_"+n+"pos0"],_=0;_<g.length;_++)if(g[_]!==void 0){b[f]=g[_];break}for(isFinite(l)||(l=Ul.distinctVals(b).minDiff),f=0;f<u.length;f++){c=u[f];var T=c[n+"calendar"],w={start:r.c2r(b[f]-l/2,0,T),end:r.c2r(b[f]+l/2,0,T),size:l};c._input[i]=c[i]=w,h=a._histogramBinOpts[c["_"+n+"bingroup"]],h&&Ul.extendFlat(h,w)}return t[i]}function but(e,t){for(var r=t.xaxis,n=t.yaxis,i=t.orientation,a=[],o=e._fullData,s=0;s<o.length;s++){var l=o[s];l.type==="histogram"&&l.visible===!0&&l.orientation===i&&l.xaxis===r&&l.yaxis===n&&a.push(l)}return a}function wut(e,t,r){var n,i,a;function o(l){a=e[l],e[l]/=2}function s(l){i=e[l],e[l]=a+i/2,a+=i}if(r==="half")if(t==="increasing")for(o(0),n=1;n<e.length;n++)s(n);else for(o(e.length-1),n=e.length-2;n>=0;n--)s(n);else if(t==="increasing"){for(n=1;n<e.length;n++)e[n]+=e[n-1];r==="exclude"&&(e.unshift(0),e.pop())}else{for(n=e.length-2;n>=0;n--)e[n]+=e[n+1];r==="exclude"&&(e.push(0),e.shift())}}Fce.exports={calc:yut,calcAllAutoBins:OP}});var Vce=J((v7t,jce)=>{"use strict";var zce=gt(),zy=nn(),Nce=IP(),_ut=qP(),Tut=FP(),Aut=zP(),Oce=BP().calcAllAutoBins;jce.exports=function(t,r){var n=zy.getFromId(t,r.xaxis),i=zy.getFromId(t,r.yaxis),a=r.xcalendar,o=r.ycalendar,s=function(Fe){return n.r2c(Fe,0,a)},l=function(Fe){return i.r2c(Fe,0,o)},u=function(Fe){return n.c2r(Fe,0,a)},f=function(Fe){return i.c2r(Fe,0,o)},c,h,d,v,m=Oce(t,r,n,"x"),b=m[0],g=m[1],_=Oce(t,r,i,"y"),T=_[0],w=_[1],k=r._length;g.length>k&&g.splice(k,g.length-k),w.length>k&&w.splice(k,w.length-k);var x=[],M=[],A=[],p=typeof b.size=="string",S=typeof T.size=="string",y=[],E=[],C=p?y:b,L=S?E:T,R=0,I=[],P=[],D=r.histnorm,q=r.histfunc,N=D.indexOf("density")!==-1,U=q==="max"||q==="min",G=U?null:0,ee=Nce.count,Q=_ut[D],j=!1,O=[],Z=[],K="z"in r?r.z:"marker"in r&&Array.isArray(r.marker.color)?r.marker.color:"";K&&q!=="count"&&(j=q==="avg",ee=Nce[q]);var $=b.size,oe=s(b.start),te=s(b.end)+(oe-zy.tickIncrement(oe,$,!1,a))/1e6;for(c=oe;c<te;c=zy.tickIncrement(c,$,!1,a))M.push(G),y.push(c),j&&A.push(0);y.push(c);var V=M.length,ne=(c-oe)/V,W=u(oe+ne/2),fe=T.size,ge=l(T.start),Ce=l(T.end)+(ge-zy.tickIncrement(ge,fe,!1,o))/1e6;for(c=ge;c<Ce;c=zy.tickIncrement(c,fe,!1,o)){x.push(M.slice()),E.push(c);var Ne=new Array(V);for(h=0;h<V;h++)Ne[h]=[];P.push(Ne),j&&I.push(A.slice())}E.push(c);var pe=x.length,me=(c-ge)/pe,Ie=f(ge+me/2);N&&(O=Bce(M.length,C,ne,p),Z=Bce(x.length,L,me,S)),!p&&n.type==="date"&&(C=Uce(s,C)),!S&&i.type==="date"&&(L=Uce(l,L));var Re=!0,ze=!0,Be=new Array(V),tt=new Array(pe),rt=1/0,ce=1/0,Ee=1/0,Ae=1/0;for(c=0;c<k;c++){var Pe=g[c],He=w[c];d=zce.findBin(Pe,C),v=zce.findBin(He,L),d>=0&&d<V&&v>=0&&v<pe&&(R+=ee(d,c,x[v],K,I[v]),P[v][d].push(c),Re&&(Be[d]===void 0?Be[d]=Pe:Be[d]!==Pe&&(Re=!1)),ze&&(tt[v]===void 0?tt[v]=He:tt[v]!==He&&(ze=!1)),rt=Math.min(rt,Pe-y[d]),ce=Math.min(ce,y[d+1]-Pe),Ee=Math.min(Ee,He-E[v]),Ae=Math.min(Ae,E[v+1]-He))}if(j)for(v=0;v<pe;v++)R+=Tut(x[v],I[v]);if(Q)for(v=0;v<pe;v++)Q(x[v],R,O,Z[v]);return{x:g,xRanges:Hce(y,Re&&Be,rt,ce,n,a),x0:W,dx:ne,y:w,yRanges:Hce(E,ze&&tt,Ee,Ae,i,o),y0:Ie,dy:me,z:x,pts:P}};function Bce(e,t,r,n){var i=new Array(e),a;if(n)for(a=0;a<e;a++)i[a]=1/(t[a+1]-t[a]);else{var o=1/r;for(a=0;a<e;a++)i[a]=o}return i}function Uce(e,t){return{start:e(t.start),end:e(t.end),size:t.size}}function Hce(e,t,r,n,i,a){var o,s=e.length-1,l=new Array(s),u=Aut(r,n,e,i,a);for(o=0;o<s;o++){var f=(t||[])[o];l[o]=f===void 0?[u(e[o]),u(e[o+1],!0)]:[f,f]}return l}});var eS=J((d7t,Wce)=>{"use strict";var lv=gt(),Yce=oi().BADNUM,Gce=iv();Wce.exports=function(t,r,n,i,a,o){var s=t._length,l=r.makeCalcdata(t,i),u=n.makeCalcdata(t,a);l=Gce(t,r,i,l).vals,u=Gce(t,n,a,u).vals;var f=t.text,c=f!==void 0&&lv.isArray1D(f),h=t.hovertext,d=h!==void 0&&lv.isArray1D(h),v,m,b=lv.distinctVals(l),g=b.vals,_=lv.distinctVals(u),T=_.vals,w=[],k,x,M=T.length,A=g.length;for(v=0;v<o.length;v++)w[v]=lv.init2dArray(M,A);c&&(k=lv.init2dArray(M,A)),d&&(x=lv.init2dArray(M,A));var p=lv.init2dArray(M,A);for(v=0;v<s;v++)if(l[v]!==Yce&&u[v]!==Yce){var S=lv.findBin(l[v]+b.minDiff/2,g),y=lv.findBin(u[v]+_.minDiff/2,T);for(m=0;m<o.length;m++){var E=o[m],C=t[E],L=w[m];L[y][S]=C[v],p[y][S]=v}c&&(k[y][S]=f[v]),d&&(x[y][S]=h[v])}for(t["_"+i]=g,t["_"+a]=T,m=0;m<o.length;m++)t["_"+o[m]]=w[m];c&&(t._text=k),d&&(t._hovertext=x),r&&r.type==="category"&&(t["_"+i+"CategoryMap"]=g.map(function(R){return r._categories[R]})),n&&n.type==="category"&&(t["_"+a+"CategoryMap"]=T.map(function(R){return n._categories[R]})),t._after2before=p}});var rS=J((p7t,Xce)=>{"use strict";var Mut=dn(),kut=gt(),tS=oi().BADNUM;Xce.exports=function(t,r,n,i){var a,o,s,l,u,f;function c(g){if(Mut(g))return+g}if(r&&r.transpose){for(a=0,u=0;u<t.length;u++)a=Math.max(a,t[u].length);if(a===0)return!1;s=function(g){return g.length},l=function(g,_,T){return(g[T]||[])[_]}}else a=t.length,s=function(g,_){return g[_].length},l=function(g,_,T){return(g[_]||[])[T]};var h=function(g,_,T){return _===tS||T===tS?tS:l(g,_,T)};function d(g){if(r&&r.type!=="carpet"&&r.type!=="contourcarpet"&&g&&g.type==="category"&&r["_"+g._id.charAt(0)].length){var _=g._id.charAt(0),T={},w=r["_"+_+"CategoryMap"]||r[_];for(u=0;u<w.length;u++)T[w[u]]=u;return function(k){var x=T[g._categories[k]];return x+1?x:tS}}else return kut.identity}var v=d(n),m=d(i);i&&i.type==="category"&&(a=i._categories.length);var b=new Array(a);for(u=0;u<a;u++)for(n&&n.type==="category"?o=n._categories.length:o=s(t,u),b[u]=new Array(o),f=0;f<o;f++)b[u][f]=c(h(t,m(u),v(f)));return b}});var nS=J((g7t,$ce)=>{"use strict";var Sut=gt(),Zce=.01,Cut=[[-1,0],[1,0],[0,-1],[0,1]];function Eut(e){return .5-.25*Math.min(1,e*.5)}$ce.exports=function(t,r){var n=1,i;for(Jce(t,r),i=0;i<r.length&&!(r[i][2]<4);i++);for(r=r.slice(i),i=0;i<100&&n>Zce;i++)n=Jce(t,r,Eut(n));return n>Zce&&Sut.log("interp2d didn't converge quickly",n),t};function Jce(e,t,r){var n=0,i,a,o,s,l,u,f,c,h,d,v,m,b;for(s=0;s<t.length;s++){for(i=t[s],a=i[0],o=i[1],v=e[a][o],d=0,h=0,l=0;l<4;l++)u=Cut[l],f=e[a+u[0]],f&&(c=f[o+u[1]],c!==void 0&&(d===0?m=b=c:(m=Math.min(m,c),b=Math.max(b,c)),h++,d+=c));if(h===0)throw"iterateInterp2d order is wrong: no defined neighbors";e[a][o]=d/h,v===void 0?h<4&&(n=1):(e[a][o]=(1+r)*e[a][o]-r*v,b>m&&(n=Math.max(n,Math.abs(e[a][o]-v)/(b-m))))}return n}});var iS=J((m7t,Kce)=>{"use strict";var Lut=gt().maxRowLength;Kce.exports=function(t){var r=[],n={},i=[],a=t[0],o=[],s=[0,0,0],l=Lut(t),u,f,c,h,d,v,m,b;for(f=0;f<t.length;f++)for(u=o,o=a,a=t[f+1]||[],c=0;c<l;c++)o[c]===void 0&&(v=(o[c-1]!==void 0?1:0)+(o[c+1]!==void 0?1:0)+(u[c]!==void 0?1:0)+(a[c]!==void 0?1:0),v?(f===0&&v++,c===0&&v++,f===t.length-1&&v++,c===o.length-1&&v++,v<4&&(n[[f,c]]=[f,c,v]),r.push([f,c,v])):i.push([f,c]));for(;i.length;){for(m={},b=!1,d=i.length-1;d>=0;d--)h=i[d],f=h[0],c=h[1],v=((n[[f-1,c]]||s)[2]+(n[[f+1,c]]||s)[2]+(n[[f,c-1]]||s)[2]+(n[[f,c+1]]||s)[2])/20,v&&(m[h]=[f,c,v],i.splice(d,1),b=!0);if(!b)throw"findEmpties iterated with no new neighbors";for(h in m)n[h]=m[h],r.push(m[h])}return r.sort(function(g,_){return _[2]-g[2]})}});var HP=J((y7t,ehe)=>{"use strict";var UP=zr(),Qce=gt().isArrayOrTypedArray;ehe.exports=function(t,r,n,i,a,o){var s=[],l=UP.traceIs(t,"contour"),u=UP.traceIs(t,"histogram"),f=UP.traceIs(t,"gl2d"),c,h,d,v=Qce(r)&&r.length>1;if(v&&!u&&o.type!=="category"){var m=r.length;if(m<=a){if(l||f)s=Array.from(r).slice(0,a);else if(a===1)o.type==="log"?s=[.5*r[0],2*r[0]]:s=[r[0]-.5,r[0]+.5];else if(o.type==="log"){for(s=[Math.pow(r[0],1.5)/Math.pow(r[1],.5)],d=1;d<m;d++)s.push(Math.sqrt(r[d-1]*r[d]));s.push(Math.pow(r[m-1],1.5)/Math.pow(r[m-2],.5))}else{for(s=[1.5*r[0]-.5*r[1]],d=1;d<m;d++)s.push((r[d-1]+r[d])*.5);s.push(1.5*r[m-1]-.5*r[m-2])}if(m<a){var b=s[s.length-1],g;if(o.type==="log")for(g=b/s[s.length-2],d=m;d<a;d++)b*=g,s.push(b);else for(g=b-s[s.length-2],d=m;d<a;d++)b+=g,s.push(b)}}else return l?r.slice(0,a):r.slice(0,a+1)}else{var _=t[o._id.charAt(0)+"calendar"];if(u)c=o.r2c(n,0,_);else if(Qce(r)&&r.length===1)c=r[0];else if(n===void 0)c=0;else{var T=o.type==="log"?o.d2c:o.r2c;c=T(n,0,_)}for(h=i||1,d=l||f?0:-.5;d<a;d++)s.push(c+h*d)}return s}});var zw=J((x7t,nhe)=>{"use strict";var jP=zr(),VP=gt(),aS=nn(),the=iv(),Dut=Vce(),Rut=Uu(),Put=eS(),Iut=rS(),qut=nS(),Fut=iS(),oS=HP(),YP=oi().BADNUM;nhe.exports=function(t,r){var n=aS.getFromId(t,r.xaxis||"x"),i=aS.getFromId(t,r.yaxis||"y"),a=jP.traceIs(r,"contour"),o=jP.traceIs(r,"histogram"),s=jP.traceIs(r,"gl2d"),l=a?"best":r.zsmooth,u,f,c,h,d,v,m,b,g,_,T;if(n._minDtick=0,i._minDtick=0,o)T=Dut(t,r),h=T.orig_x,u=T.x,f=T.x0,c=T.dx,b=T.orig_y,d=T.y,v=T.y0,m=T.dy,g=T.z;else{var w=r.z;VP.isArray1D(w)?(Put(r,n,i,"x","y",["z"]),u=r._x,d=r._y,w=r._z):(h=r.x?n.makeCalcdata(r,"x"):[],b=r.y?i.makeCalcdata(r,"y"):[],u=the(r,n,"x",h).vals,d=the(r,i,"y",b).vals,r._x=u,r._y=d),f=r.x0,c=r.dx,v=r.y0,m=r.dy,g=Iut(w,r,n,i)}(n.rangebreaks||i.rangebreaks)&&(g=zut(u,d,g),o||(u=rhe(u),d=rhe(d),r._x=u,r._y=d)),!o&&(a||r.connectgaps)&&(r._emptypoints=Fut(g),qut(g,r._emptypoints));function k(L){l=r._input.zsmooth=r.zsmooth=!1,VP.warn('cannot use zsmooth: "fast": '+L)}function x(L){if(L.length>1){var R=(L[L.length-1]-L[0])/(L.length-1),I=Math.abs(R/100);for(_=0;_<L.length-1;_++)if(Math.abs(L[_+1]-L[_]-R)>I)return!1}return!0}r._islinear=!1,n.type==="log"||i.type==="log"?l==="fast"&&k("log axis found"):x(u)?x(d)?r._islinear=!0:l==="fast"&&k("y scale is not linear"):l==="fast"&&k("x scale is not linear");var M=VP.maxRowLength(g),A=r.xtype==="scaled"?"":u,p=oS(r,A,f,c,M,n),S=r.ytype==="scaled"?"":d,y=oS(r,S,v,m,g.length,i);s||(r._extremes[n._id]=aS.findExtremes(n,p),r._extremes[i._id]=aS.findExtremes(i,y));var E={x:p,y,z:g,text:r._text||r.text,hovertext:r._hovertext||r.hovertext};if(r.xperiodalignment&&h&&(E.orig_x=h),r.yperiodalignment&&b&&(E.orig_y=b),A&&A.length===p.length-1&&(E.xCenter=A),S&&S.length===y.length-1&&(E.yCenter=S),o&&(E.xRanges=T.xRanges,E.yRanges=T.yRanges,E.pts=T.pts),a||Rut(t,r,{vals:g,cLetter:"z"}),a&&r.contours&&r.contours.coloring==="heatmap"){var C={type:r.type==="contour"?"heatmap":"histogram2d",xcalendar:r.xcalendar,ycalendar:r.ycalendar};E.xfill=oS(C,A,f,c,M,n),E.yfill=oS(C,S,v,m,g.length,i)}return[E]};function rhe(e){for(var t=[],r=e.length,n=0;n<r;n++){var i=e[n];i!==YP&&t.push(i)}return t}function zut(e,t,r){for(var n=[],i=-1,a=0;a<r.length;a++)if(t[a]!==YP){i++,n[i]=[];for(var o=0;o<r[a].length;o++)e[o]!==YP&&n[i].push(r[a][o])}return n}});var GP=J(sS=>{"use strict";sS.CSS_DECLARATIONS=[["image-rendering","optimizeSpeed"],["image-rendering","-moz-crisp-edges"],["image-rendering","-o-crisp-edges"],["image-rendering","-webkit-optimize-contrast"],["image-rendering","optimize-contrast"],["image-rendering","crisp-edges"],["image-rendering","pixelated"]];sS.STYLE=sS.CSS_DECLARATIONS.map(function(e){return e.join(": ")+"; "}).join("")});var ohe=J((w7t,ahe)=>{"use strict";var ihe=GP(),Nut=ln(),WP=gt(),Ny=null;function Out(){if(Ny!==null)return Ny;Ny=!1;var e=WP.isIE()||WP.isSafari()||WP.isIOS();if(window.navigator.userAgent&&!e){var t=Array.from(ihe.CSS_DECLARATIONS).reverse(),r=window.CSS&&window.CSS.supports||window.supportsCSS;if(typeof r=="function")Ny=t.some(function(o){return r.apply(null,o)});else{var n=Nut.tester.append("image").attr("style",ihe.STYLE),i=window.getComputedStyle(n.node()),a=i.imageRendering;Ny=t.some(function(o){var s=o[1];return a===s||a===s.toLowerCase()}),n.remove()}}return Ny}ahe.exports=Out});var lS=J((_7t,phe)=>{"use strict";var she=Nr(),But=ls(),Uut=zr(),Hut=ln(),jut=nn(),wc=gt(),lhe=ca(),Vut=cR(),Yut=qr(),Gut=Qa().extractOpts,Wut=Qa().makeColorScaleFuncFromTrace,Xut=Gh(),Zut=Vo(),XP=Zut.LINE_SPACING,Jut=ohe(),$ut=GP().STYLE,vhe="heatmap-label";function dhe(e){return e.selectAll("g."+vhe)}function uhe(e){dhe(e).remove()}phe.exports=function(e,t,r,n){var i=t.xaxis,a=t.yaxis;wc.makeTraceGroups(n,r,"hm").each(function(o){var s=she.select(this),l=o[0],u=l.trace,f=u.xgap||0,c=u.ygap||0,h=l.z,d=l.x,v=l.y,m=l.xCenter,b=l.yCenter,g=Uut.traceIs(u,"contour"),_=g?"best":u.zsmooth,T=h.length,w=wc.maxRowLength(h),k=!1,x=!1,M,A,p,S,y,E,C,L;for(E=0;M===void 0&&E<d.length-1;)M=i.c2p(d[E]),E++;for(E=d.length-1;A===void 0&&E>0;)A=i.c2p(d[E]),E--;for(A<M&&(p=A,A=M,M=p,k=!0),E=0;S===void 0&&E<v.length-1;)S=a.c2p(v[E]),E++;for(E=v.length-1;y===void 0&&E>0;)y=a.c2p(v[E]),E--;y<S&&(p=S,S=y,y=p,x=!0),g&&(m=d,b=v,d=l.xfill,v=l.yfill);var R="default";if(_?R=_==="best"?"smooth":"fast":u._islinear&&f===0&&c===0&&Jut()&&(R="fast"),R!=="fast"){var I=_==="best"?0:.5;M=Math.max(-I*i._length,M),A=Math.min((1+I)*i._length,A),S=Math.max(-I*a._length,S),y=Math.min((1+I)*a._length,y)}var P=Math.round(A-M),D=Math.round(y-S),q=M>=i._length||A<=0||S>=a._length||y<=0;if(q){var N=s.selectAll("image").data([]);N.exit().remove(),uhe(s);return}var U,G;R==="fast"?(U=w,G=T):(U=P,G=D);var ee=document.createElement("canvas");ee.width=U,ee.height=G;var Q=ee.getContext("2d",{willReadFrequently:!0}),j=Wut(u,{noNumericCheck:!0,returnArray:!0}),O,Z;R==="fast"?(O=k?function(An){return w-1-An}:wc.identity,Z=x?function(An){return T-1-An}:wc.identity):(O=function(An){return wc.constrain(Math.round(i.c2p(d[An])-M),0,P)},Z=function(An){return wc.constrain(Math.round(a.c2p(v[An])-S),0,D)});var K=Z(0),$=[K,K],oe=k?0:1,te=x?0:1,V=0,ne=0,W=0,fe=0,ge,Ce,Ne,pe,me;function Ie(An,Ji){if(An!==void 0){var ii=j(An);return ii[0]=Math.round(ii[0]),ii[1]=Math.round(ii[1]),ii[2]=Math.round(ii[2]),V+=Ji,ne+=ii[0]*Ji,W+=ii[1]*Ji,fe+=ii[2]*Ji,ii}return[0,0,0,0]}function Re(An,Ji,ii,bo){var ga=An[ii.bin0];if(ga===void 0)return Ie(void 0,1);var Ia=An[ii.bin1],si=Ji[ii.bin0],aa=Ji[ii.bin1],wo=Ia-ga||0,ma=si-ga||0,oa;return Ia===void 0?aa===void 0?oa=0:si===void 0?oa=2*(aa-ga):oa=(2*aa-si-ga)*2/3:aa===void 0?si===void 0?oa=0:oa=(2*ga-Ia-si)*2/3:si===void 0?oa=(2*aa-Ia-ga)*2/3:oa=aa+ga-Ia-si,Ie(ga+ii.frac*wo+bo.frac*(ma+ii.frac*oa))}if(R!=="default"){var ze=0,Be;try{Be=new Uint8Array(U*G*4)}catch{Be=new Array(U*G*4)}if(R==="smooth"){var tt=m||d,rt=b||v,ce=new Array(tt.length),Ee=new Array(rt.length),Ae=new Array(P),Pe=m?che:fhe,He=b?che:fhe,Fe,ke,Ue;for(E=0;E<tt.length;E++)ce[E]=Math.round(i.c2p(tt[E])-M);for(E=0;E<rt.length;E++)Ee[E]=Math.round(a.c2p(rt[E])-S);for(E=0;E<P;E++)Ae[E]=Pe(E,ce);for(C=0;C<D;C++)for(Fe=He(C,Ee),ke=h[Fe.bin0],Ue=h[Fe.bin1],E=0;E<P;E++,ze+=4)me=Re(ke,Ue,Ae[E],Fe),hhe(Be,ze,me)}else for(C=0;C<T;C++)for(pe=h[C],$=Z(C),E=0;E<w;E++)me=Ie(pe[E],1),ze=($*w+O(E))*4,hhe(Be,ze,me);var Ge=Q.createImageData(U,G);try{Ge.data.set(Be)}catch{var lt=Ge.data,it=lt.length;for(C=0;C<it;C++)lt[C]=Be[C]}Q.putImageData(Ge,0,0)}else{var wt=Math.floor(f/2),_t=Math.floor(c/2);for(C=0;C<T;C++)if(pe=h[C],$.reverse(),$[te]=Z(C+1),!($[0]===$[1]||$[0]===void 0||$[1]===void 0))for(Ce=O(0),ge=[Ce,Ce],E=0;E<w;E++)ge.reverse(),ge[oe]=O(E+1),!(ge[0]===ge[1]||ge[0]===void 0||ge[1]===void 0)&&(Ne=pe[E],me=Ie(Ne,(ge[1]-ge[0])*($[1]-$[0])),Q.fillStyle="rgba("+me.join(",")+")",Q.fillRect(ge[0]+wt,$[0]+_t,ge[1]-ge[0]-f,$[1]-$[0]-c))}ne=Math.round(ne/V),W=Math.round(W/V),fe=Math.round(fe/V);var Tt=But("rgb("+ne+","+W+","+fe+")");e._hmpixcount=(e._hmpixcount||0)+V,e._hmlumcount=(e._hmlumcount||0)+V*Tt.getLuminance();var nt=s.selectAll("image").data(o);nt.enter().append("svg:image").attr({xmlns:Xut.svg,preserveAspectRatio:"none"}),nt.attr({height:D,width:P,x:M,y:S,"xlink:href":ee.toDataURL("image/png")}),R==="fast"&&!_&&nt.attr("style",$ut),uhe(s);var bt=u.texttemplate;if(bt){var At=Gut(u),Ye={type:"linear",range:[At.min,At.max],_separators:i._separators,_numFormat:i._numFormat},je=u.type==="histogram2dcontour",$e=u.type==="contour",ve=$e?1:0,Y=$e?T-1:T,ie=$e?1:0,Te=$e?w-1:w,Ve=[];for(E=ve;E<Y;E++){var at;if($e)at=l.y[E];else if(je){if(E===0||E===T-1)continue;at=l.y[E]}else if(l.yCenter)at=l.yCenter[E];else{if(E+1===T&&l.y[E+1]===void 0)continue;at=(l.y[E]+l.y[E+1])/2}var ft=Math.round(a.c2p(at));if(!(0>ft||ft>a._length))for(C=ie;C<Te;C++){var Ht;if($e)Ht=l.x[C];else if(je){if(C===0||C===w-1)continue;Ht=l.x[C]}else if(l.xCenter)Ht=l.xCenter[C];else{if(C+1===w&&l.x[C+1]===void 0)continue;Ht=(l.x[C]+l.x[C+1])/2}var Xt=Math.round(i.c2p(Ht));if(!(0>Xt||Xt>i._length)){var St=Vut({x:Ht,y:at},u,e._fullLayout);St.x=Ht,St.y=at;var Vt=l.z[E][C];Vt===void 0?(St.z="",St.zLabel=""):(St.z=Vt,St.zLabel=jut.tickText(Ye,Vt,"hover").text);var er=l.text&&l.text[E]&&l.text[E][C];(er===void 0||er===!1)&&(er=""),St.text=er;var _r=wc.texttemplateString(bt,St,e._fullLayout._d3locale,St,u._meta||{});if(_r){var br=_r.split("<br>"),or=br.length,tn=0;for(L=0;L<or;L++)tn=Math.max(tn,br[L].length);Ve.push({l:or,c:tn,t:_r,x:Xt,y:ft,z:Vt})}}}}var Lr=u.textfont,Gr=Lr.size,sn=e._fullLayout.font.size;if(!Gr||Gr==="auto"){var Hr=1/0,Br=1/0,qn=0,kn=0;for(L=0;L<Ve.length;L++){var Yn=Ve[L];if(qn=Math.max(qn,Yn.l),kn=Math.max(kn,Yn.c),L<Ve.length-1){var Wn=Ve[L+1],Fn=Math.abs(Wn.x-Yn.x),wn=Math.abs(Wn.y-Yn.y);Fn&&(Hr=Math.min(Hr,Fn)),wn&&(Br=Math.min(Br,wn))}}!isFinite(Hr)||!isFinite(Br)?Gr=sn:(Hr-=f,Br-=c,Hr/=kn,Br/=qn,Hr/=XP/2,Br/=XP,Gr=Math.min(Math.floor(Hr),Math.floor(Br),sn))}if(Gr<=0||!isFinite(Gr))return;var Si=function(An){return An.x},Aa=function(An){return An.y-Gr*(An.l*XP/2-1)},ia=dhe(s).data(Ve);ia.enter().append("g").classed(vhe,1).append("text").attr("text-anchor","middle").each(function(An){var Ji=she.select(this),ii=Lr.color;(!ii||ii==="auto")&&(ii=Yut.contrast(An.z===void 0?e._fullLayout.plot_bgcolor:"rgba("+j(An.z).join()+")")),Ji.attr("data-notex",1).call(lhe.positionText,Si(An),Aa(An)).call(Hut.font,{family:Lr.family,size:Gr,color:ii,weight:Lr.weight,style:Lr.style,variant:Lr.variant,textcase:Lr.textcase,lineposition:Lr.lineposition,shadow:Lr.shadow}).text(An.t).call(lhe.convertToTspans,e)})}})};function fhe(e,t){var r=t.length-2,n=wc.constrain(wc.findBin(e,t),0,r),i=t[n],a=t[n+1],o=wc.constrain(n+(e-i)/(a-i)-.5,0,r),s=Math.round(o),l=Math.abs(o-s);return!o||o===r||!l?{bin0:s,bin1:s,frac:0}:{bin0:s,frac:l,bin1:Math.round(s+l/(o-s))}}function che(e,t){var r=t.length-1,n=wc.constrain(wc.findBin(e,t),0,r),i=t[n],a=t[n+1],o=(e-i)/(a-i)||0;return o<=0?{bin0:n,bin1:n,frac:0}:o<.5?{bin0:n,bin1:n+1,frac:o}:{bin0:n+1,bin1:n,frac:1-o}}function hhe(e,t,r){e[t]=r[0],e[t+1]=r[1],e[t+2]=r[2],e[t+3]=Math.round(r[3]*255)}});var Nw=J((T7t,ghe)=>{"use strict";ghe.exports={min:"zmin",max:"zmax"}});var uS=J((A7t,mhe)=>{"use strict";var Kut=Nr();mhe.exports=function(t){Kut.select(t).selectAll(".hm image").style("opacity",function(r){return r.trace.opacity})}});var cS=J((M7t,xhe)=>{"use strict";var yhe=go(),Ow=gt(),fS=Ow.isArrayOrTypedArray,Qut=nn(),eft=Qa().extractOpts;xhe.exports=function(t,r,n,i,a){a||(a={});var o=a.isContour,s=t.cd[0],l=s.trace,u=t.xa,f=t.ya,c=s.x,h=s.y,d=s.z,v=s.xCenter,m=s.yCenter,b=s.zmask,g=l.zhoverformat,_=c,T=h,w,k,x,M;if(t.index!==!1){try{x=Math.round(t.index[1]),M=Math.round(t.index[0])}catch{Ow.error("Error hovering on heatmap, pointNumber must be [row,col], found:",t.index);return}if(x<0||x>=d[0].length||M<0||M>d.length)return}else{if(yhe.inbox(r-c[0],r-c[c.length-1],0)>0||yhe.inbox(n-h[0],n-h[h.length-1],0)>0)return;if(o){var A;for(_=[2*c[0]-c[1]],A=1;A<c.length;A++)_.push((c[A]+c[A-1])/2);for(_.push([2*c[c.length-1]-c[c.length-2]]),T=[2*h[0]-h[1]],A=1;A<h.length;A++)T.push((h[A]+h[A-1])/2);T.push([2*h[h.length-1]-h[h.length-2]])}x=Math.max(0,Math.min(_.length-2,Ow.findBin(r,_))),M=Math.max(0,Math.min(T.length-2,Ow.findBin(n,T)))}var p=u.c2p(c[x]),S=u.c2p(c[x+1]),y=f.c2p(h[M]),E=f.c2p(h[M+1]),C,L;o?(C=s.orig_x||c,L=s.orig_y||h,S=p,w=C[x],E=y,k=L[M]):(C=s.orig_x||v||c,L=s.orig_y||m||h,w=v?C[x]:(C[x]+C[x+1])/2,k=m?L[M]:(L[M]+L[M+1])/2,u&&u.type==="category"&&(w=c[x]),f&&f.type==="category"&&(k=h[M]),l.zsmooth&&(p=S=u.c2p(w),y=E=f.c2p(k)));var R=d[M][x];if(b&&!b[M][x]&&(R=void 0),!(R===void 0&&!l.hoverongaps)){var I;fS(s.hovertext)&&fS(s.hovertext[M])?I=s.hovertext[M][x]:fS(s.text)&&fS(s.text[M])&&(I=s.text[M][x]);var P=eft(l),D={type:"linear",range:[P.min,P.max],hoverformat:g,_separators:u._separators,_numFormat:u._numFormat},q=Qut.tickText(D,R,"hover").text;return[Ow.extendFlat(t,{index:l._after2before?l._after2before[M][x]:[M,x],distance:t.maxHoverDistance,spikeDistance:t.maxSpikeDistance,x0:p,x1:S,y0:y,y1:E,xLabelVal:w,yLabelVal:k,zLabelVal:R,zLabel:q,text:I})]}}});var whe=J((k7t,bhe)=>{"use strict";bhe.exports={attributes:Ug(),supplyDefaults:_ce(),calc:zw(),plot:lS(),colorbar:Nw(),style:uS(),hoverPoints:cS(),moduleType:"trace",name:"heatmap",basePlotModule:gs(),categories:["cartesian","svg","2dMap","showLegend"],meta:{description:["The data that describes the heatmap value-to-color mapping","is set in `z`.","Data in `z` can either be a {2D array} of values (ragged or not)","or a 1D array of values.","In the case where `z` is a {2D array},","say that `z` has N rows and M columns.","Then, by default, the resulting heatmap will have N partitions along","the y axis and M partitions along the x axis.","In other words, the i-th row/ j-th column cell in `z`","is mapped to the i-th partition of the y axis","(starting from the bottom of the plot) and the j-th partition","of the x-axis (starting from the left of the plot).","This behavior can be flipped by using `transpose`.","Moreover, `x` (`y`) can be provided with M or M+1 (N or N+1) elements.","If M (N), then the coordinates correspond to the center of the","heatmap cells and the cells have equal width.","If M+1 (N+1), then the coordinates correspond to the edges of the","heatmap cells.","In the case where `z` is a 1D {array}, the x and y coordinates must be","provided in `x` and `y` respectively to form data triplets."].join(" ")}}});var The=J((S7t,_he)=>{"use strict";_he.exports=whe()});var ZP=J((C7t,Ahe)=>{"use strict";Ahe.exports=function(t,r){return{start:{valType:"any",editType:"calc",description:["Sets the starting value for the",t,"axis bins. Defaults to the minimum data value,","shifted down if necessary to make nice round values","and to remove ambiguous bin edges. For example, if most of the","data is integers we shift the bin edges 0.5 down, so a `size`","of 5 would have a default `start` of -0.5, so it is clear","that 0-4 are in the first bin, 5-9 in the second, but","continuous data gets a start of 0 and bins [0,5), [5,10) etc.","Dates behave similarly, and `start` should be a date string.","For category data, `start` is based on the category serial","numbers, and defaults to -0.5.",r?"If multiple non-overlaying histograms share a subplot, the first explicit `start` is used exactly and all others are shifted down (if necessary) to differ from that one by an integer number of bins.":""].join(" ")},end:{valType:"any",editType:"calc",description:["Sets the end value for the",t,"axis bins. The last bin may not end exactly at this value,","we increment the bin edge by `size` from `start` until we","reach or exceed `end`. Defaults to the maximum data value.","Like `start`, for dates use a date string, and for category","data `end` is based on the category serial numbers."].join(" ")},size:{valType:"any",editType:"calc",description:["Sets the size of each",t,"axis bin.","Default behavior: If `nbins"+t+"` is 0 or omitted,","we choose a nice round bin size such that the number of bins","is about the same as the typical number of samples in each bin.","If `nbins"+t+"` is provided, we choose a nice round","bin size giving no more than that many bins.","For date data, use milliseconds or *M<n>* for months, as in","`axis.dtick`. For category data, the number of categories to","bin together (always defaults to 1).",r?"If multiple non-overlaying histograms share a subplot, the first explicit `size` is used and all others discarded. If no `size` is provided,the sample data from all traces is combined to determine `size` as described above.":""].join(" ")},editType:"calc"}}});var khe=J((E7t,Mhe)=>{"use strict";Mhe.exports={eventDataKeys:["binNumber"]}});var hS=J((L7t,Ehe)=>{"use strict";var fu=ov(),She=Ga().axisHoverFormat,tft=Jn().hovertemplateAttrs,rft=Jn().texttemplateAttrs,JP=xa(),Che=ZP(),nft=khe(),$P=cn().extendFlat;Ehe.exports={x:{valType:"data_array",editType:"calc+clearAxisTypes",description:["Sets the sample data to be binned on the x axis."].join(" ")},y:{valType:"data_array",editType:"calc+clearAxisTypes",description:["Sets the sample data to be binned on the y axis."].join(" ")},xhoverformat:She("x"),yhoverformat:She("y"),text:$P({},fu.text,{description:["Sets hover text elements associated with each bar.","If a single string, the same string appears over all bars.","If an array of string, the items are mapped in order to the","this trace's coordinates."].join(" ")}),hovertext:$P({},fu.hovertext,{description:"Same as `text`."}),orientation:fu.orientation,histfunc:{valType:"enumerated",values:["count","sum","avg","min","max"],dflt:"count",editType:"calc",description:["Specifies the binning function used for this histogram trace.","If *count*, the histogram values are computed by counting the","number of values lying inside each bin.","If *sum*, *avg*, *min*, *max*,","the histogram values are computed using","the sum, the average, the minimum or the maximum","of the values lying inside each bin respectively."].join(" ")},histnorm:{valType:"enumerated",values:["","percent","probability","density","probability density"],dflt:"",editType:"calc",description:["Specifies the type of normalization used for this histogram trace.","If **, the span of each bar corresponds to the number of","occurrences (i.e. the number of data points lying inside the bins).","If *percent* / *probability*, the span of each bar corresponds to","the percentage / fraction of occurrences with respect to the total","number of sample points","(here, the sum of all bin HEIGHTS equals 100% / 1).","If *density*, the span of each bar corresponds to the number of","occurrences in a bin divided by the size of the bin interval","(here, the sum of all bin AREAS equals the","total number of sample points).","If *probability density*, the area of each bar corresponds to the","probability that an event will fall into the corresponding bin","(here, the sum of all bin AREAS equals 1)."].join(" ")},cumulative:{enabled:{valType:"boolean",dflt:!1,editType:"calc",description:["If true, display the cumulative distribution by summing the","binned values. Use the `direction` and `centralbin` attributes","to tune the accumulation method.","Note: in this mode, the *density* `histnorm` settings behave","the same as their equivalents without *density*:","** and *density* both rise to the number of data points, and","*probability* and *probability density* both rise to the","number of sample points."].join(" ")},direction:{valType:"enumerated",values:["increasing","decreasing"],dflt:"increasing",editType:"calc",description:["Only applies if cumulative is enabled.","If *increasing* (default) we sum all prior bins, so the result","increases from left to right. If *decreasing* we sum later bins","so the result decreases from left to right."].join(" ")},currentbin:{valType:"enumerated",values:["include","exclude","half"],dflt:"include",editType:"calc",description:["Only applies if cumulative is enabled.","Sets whether the current bin is included, excluded, or has half","of its value included in the current cumulative value.","*include* is the default for compatibility with various other","tools, however it introduces a half-bin bias to the results.","*exclude* makes the opposite half-bin bias, and *half* removes","it."].join(" ")},editType:"calc"},nbinsx:{valType:"integer",min:0,dflt:0,editType:"calc",description:["Specifies the maximum number of desired bins. This value will be used","in an algorithm that will decide the optimal bin size such that the","histogram best visualizes the distribution of the data.","Ignored if `xbins.size` is provided."].join(" ")},xbins:Che("x",!0),nbinsy:{valType:"integer",min:0,dflt:0,editType:"calc",description:["Specifies the maximum number of desired bins. This value will be used","in an algorithm that will decide the optimal bin size such that the","histogram best visualizes the distribution of the data.","Ignored if `ybins.size` is provided."].join(" ")},ybins:Che("y",!0),autobinx:{valType:"boolean",dflt:null,editType:"calc",description:["Obsolete: since v1.42 each bin attribute is auto-determined","separately and `autobinx` is not needed. However, we accept","`autobinx: true` or `false` and will update `xbins` accordingly","before deleting `autobinx` from the trace."].join(" ")},autobiny:{valType:"boolean",dflt:null,editType:"calc",description:["Obsolete: since v1.42 each bin attribute is auto-determined","separately and `autobiny` is not needed. However, we accept","`autobiny: true` or `false` and will update `ybins` accordingly","before deleting `autobiny` from the trace."].join(" ")},bingroup:{valType:"string",dflt:"",editType:"calc",description:["Set a group of histogram traces which will have compatible bin settings.","Note that traces on the same subplot and with the same *orientation*","under `barmode` *stack*, *relative* and *group* are forced into the same bingroup,","Using `bingroup`, traces under `barmode` *overlay* and on different axes","(of the same axis type) can have compatible bin settings.","Note that histogram and histogram2d* trace can share the same `bingroup`"].join(" ")},hovertemplate:tft({},{keys:nft.eventDataKeys}),texttemplate:rft({arrayOk:!1,editType:"plot"},{keys:["label","value"]}),textposition:$P({},fu.textposition,{arrayOk:!1}),textfont:JP({arrayOk:!1,editType:"plot",colorEditType:"style",description:"Sets the text font."}),outsidetextfont:JP({arrayOk:!1,editType:"plot",colorEditType:"style",description:"Sets the font used for `text` lying outside the bar."}),insidetextfont:JP({arrayOk:!1,editType:"plot",colorEditType:"style",description:"Sets the font used for `text` lying inside the bar."}),insidetextanchor:fu.insidetextanchor,textangle:fu.textangle,cliponaxis:fu.cliponaxis,constraintext:fu.constraintext,marker:fu.marker,offsetgroup:fu.offsetgroup,alignmentgroup:fu.alignmentgroup,selected:fu.selected,unselected:fu.unselected,_deprecated:{bardir:fu._deprecated.bardir},zorder:fu.zorder}});var Phe=J((D7t,Rhe)=>{"use strict";var Lhe=zr(),Bw=gt(),Dhe=qr(),ift=Pf().handleText,aft=Bk(),oft=hS();Rhe.exports=function(t,r,n,i){function a(_,T){return Bw.coerce(t,r,oft,_,T)}var o=a("x"),s=a("y"),l=a("cumulative.enabled");l&&(a("cumulative.direction"),a("cumulative.currentbin")),a("text");var u=a("textposition");ift(t,r,i,a,u,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),a("hovertext"),a("hovertemplate"),a("xhoverformat"),a("yhoverformat");var f=a("orientation",s&&!o?"h":"v"),c=f==="v"?"x":"y",h=f==="v"?"y":"x",d=o&&s?Math.min(Bw.minRowLength(o)&&Bw.minRowLength(s)):Bw.minRowLength(r[c]||[]);if(!d){r.visible=!1;return}r._length=d;var v=Lhe.getComponentMethod("calendars","handleTraceDefaults");v(t,r,["x","y"],i);var m=r[h];m&&a("histfunc"),a("histnorm"),a("autobin"+c),aft(t,r,a,n,i),Bw.coerceSelectionMarkerOpacity(r,a);var b=(r.marker.line||{}).color,g=Lhe.getComponentMethod("errorbars","supplyDefaults");g(t,r,b||Dhe.defaultLine,{axis:"y"}),g(t,r,b||Dhe.defaultLine,{axis:"x",inherit:"y"}),a("zorder")}});var dS=J((R7t,Fhe)=>{"use strict";var Uw=gt(),sft=jo(),vS=zr().traceIs,lft=Tg(),uft=Pf().validateCornerradius,Ihe=Uw.nestedProperty,KP=_0().getAxisGroup,qhe=[{aStr:{x:"xbins.start",y:"ybins.start"},name:"start"},{aStr:{x:"xbins.end",y:"ybins.end"},name:"end"},{aStr:{x:"xbins.size",y:"ybins.size"},name:"size"},{aStr:{x:"nbinsx",y:"nbinsy"},name:"nbins"}],fft=["x","y"];Fhe.exports=function(t,r){var n=r._histogramBinOpts={},i=[],a={},o=[],s,l,u,f,c,h,d;function v(R,I){return Uw.coerce(s._input,s,s._module.attributes,R,I)}function m(R){return R.orientation==="v"?"x":"y"}function b(R,I){var P=sft.getFromTrace({_fullLayout:r},R,I);return P.type}function g(R,I,P){var D=R.uid+"__"+P;I||(I=D);var q=b(R,P),N=R[P+"calendar"]||"",U=n[I],G=!0;U&&(q===U.axType&&N===U.calendar?(G=!1,U.traces.push(R),U.dirs.push(P)):(I=D,q!==U.axType&&Uw.warn(["Attempted to group the bins of trace",R.index,"set on a","type:"+q,"axis","with bins on","type:"+U.axType,"axis."].join(" ")),N!==U.calendar&&Uw.warn(["Attempted to group the bins of trace",R.index,"set with a",N,"calendar","with bins",U.calendar?"on a "+U.calendar+" calendar":"w/o a set calendar"].join(" ")))),G&&(n[I]={traces:[R],dirs:[P],axType:q,calendar:R[P+"calendar"]||""}),R["_"+P+"bingroup"]=I}for(c=0;c<t.length;c++)if(s=t[c],vS(s,"histogram")){if(i.push(s),delete s._xautoBinFinished,delete s._yautoBinFinished,s.type==="histogram"){var _=v("marker.cornerradius",r.barcornerradius);s.marker&&(s.marker.cornerradius=uft(_))}vS(s,"2dMap")||lft(s._input,s,r,v)}var T=r._alignmentOpts||{};for(c=0;c<i.length;c++){if(s=i[c],u="",!vS(s,"2dMap")){if(f=m(s),r.barmode==="group"&&s.alignmentgroup){var w=s[f+"axis"],k=KP(r,w)+s.orientation;(T[k]||{})[s.alignmentgroup]&&(u=k)}!u&&r.barmode!=="overlay"&&(u=KP(r,s.xaxis)+KP(r,s.yaxis)+m(s))}u?(a[u]||(a[u]=[]),a[u].push(s)):o.push(s)}for(u in a){if(l=a[u],l.length===1){o.push(l[0]);continue}var x=!1;for(l.length&&(s=l[0],x=v("bingroup")),u=x||u,c=0;c<l.length;c++){s=l[c];var M=s._input.bingroup;M&&M!==u&&Uw.warn(["Trace",s.index,"must match","within bingroup",u+".","Ignoring its bingroup:",M,"setting."].join(" ")),s.bingroup=u,g(s,u,m(s))}}for(c=0;c<o.length;c++){s=o[c];var A=v("bingroup");if(vS(s,"2dMap"))for(d=0;d<2;d++){f=fft[d];var p=v(f+"bingroup",A?A+"__"+f:null);g(s,p,f)}else g(s,A,m(s))}for(u in n){var S=n[u];for(l=S.traces,h=0;h<qhe.length;h++){var y=qhe[h],E=y.name,C,L;if(!(E==="nbins"&&S.sizeFound)){for(c=0;c<l.length;c++){if(s=l[c],f=S.dirs[c],C=y.aStr[f],Ihe(s._input,C).get()!==void 0){S[E]=v(C),S[E+"Found"]=!0;break}L=(s._autoBin||{})[f]||{},L[E]&&Ihe(s,C).set(L[E])}if(E==="start"||E==="end")for(;c<l.length;c++)s=l[c],s["_"+f+"bingroup"]&&(L=(s._autoBin||{})[f]||{},v(C,L[E]));E==="nbins"&&!S.sizeFound&&!S.nbinsFound&&(s=l[0],S[E]=v(C))}}}}});var Nhe=J((P7t,zhe)=>{"use strict";var cft=Dy().hoverPoints,hft=nn().hoverLabelText;zhe.exports=function(t,r,n,i,a){var o=cft(t,r,n,i,a);if(o){t=o[0];var s=t.cd[t.index],l=t.cd[0].trace;if(!l.cumulative.enabled){var u=l.orientation==="h"?"y":"x";t[u+"Label"]=hft(t[u+"a"],[s.ph0,s.ph1],l[u+"hoverformat"])}return o}}});var QP=J((I7t,Ohe)=>{"use strict";Ohe.exports=function(t,r,n,i,a){if(t.x="xVal"in r?r.xVal:r.x,t.y="yVal"in r?r.yVal:r.y,"zLabelVal"in r&&(t.z=r.zLabelVal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),!(n.cumulative||{}).enabled){var o=Array.isArray(a)?i[0].pts[a[0]][a[1]]:i[a].pts;t.pointNumbers=o,t.binNumber=t.pointNumber,delete t.pointNumber,delete t.pointIndex;var s;if(n._indexToPoints){s=[];for(var l=0;l<o.length;l++)s=s.concat(n._indexToPoints[o[l]])}else s=o;t.pointIndices=s}return t}});var Uhe=J((q7t,Bhe)=>{"use strict";Bhe.exports={attributes:hS(),layoutAttributes:Ok(),supplyDefaults:Phe(),crossTraceDefaults:dS(),supplyLayoutDefaults:mP(),calc:BP().calc,crossTraceCalc:kg().crossTraceCalc,plot:Og().plot,layerName:"barlayer",style:mc().style,styleOnSelect:mc().styleOnSelect,colorbar:pc(),hoverPoints:Nhe(),selectPoints:Ry(),eventData:QP(),moduleType:"trace",name:"histogram",basePlotModule:gs(),categories:["bar-like","cartesian","svg","bar","histogram","oriented","errorBarsOK","showLegend"],meta:{description:["The sample data from which statistics are computed is set in `x`","for vertically spanning histograms and","in `y` for horizontally spanning histograms.","Binning options are set `xbins` and `ybins` respectively","if no aggregation data is provided."].join(" ")}}});var jhe=J((F7t,Hhe)=>{"use strict";Hhe.exports=Uhe()});var gS=J((z7t,Yhe)=>{"use strict";var ph=hS(),Vhe=ZP(),pS=Ug(),vft=Qi(),eI=Ga().axisHoverFormat,dft=Jn().hovertemplateAttrs,pft=Jn().texttemplateAttrs,gft=Da(),Hw=cn().extendFlat;Yhe.exports=Hw({x:ph.x,y:ph.y,z:{valType:"data_array",editType:"calc",description:"Sets the aggregation data."},marker:{color:{valType:"data_array",editType:"calc",description:"Sets the aggregation data."},editType:"calc"},histnorm:ph.histnorm,histfunc:ph.histfunc,nbinsx:ph.nbinsx,xbins:Vhe("x"),nbinsy:ph.nbinsy,ybins:Vhe("y"),autobinx:ph.autobinx,autobiny:ph.autobiny,bingroup:Hw({},ph.bingroup,{description:["Set the `xbingroup` and `ybingroup` default prefix","For example, setting a `bingroup` of *1* on two histogram2d traces","will make them their x-bins and y-bins match separately."].join(" ")}),xbingroup:Hw({},ph.bingroup,{description:["Set a group of histogram traces which will have compatible x-bin settings.","Using `xbingroup`, histogram2d and histogram2dcontour traces ","(on axes of the same axis type) can have compatible x-bin settings.","Note that the same `xbingroup` value can be used to set (1D) histogram `bingroup`"].join(" ")}),ybingroup:Hw({},ph.bingroup,{description:["Set a group of histogram traces which will have compatible y-bin settings.","Using `ybingroup`, histogram2d and histogram2dcontour traces ","(on axes of the same axis type) can have compatible y-bin settings.","Note that the same `ybingroup` value can be used to set (1D) histogram `bingroup`"].join(" ")}),xgap:pS.xgap,ygap:pS.ygap,zsmooth:pS.zsmooth,xhoverformat:eI("x"),yhoverformat:eI("y"),zhoverformat:eI("z",1),hovertemplate:dft({},{keys:"z"}),texttemplate:pft({arrayOk:!1,editType:"plot"},{keys:"z"}),textfont:pS.textfont,showlegend:Hw({},vft.showlegend,{dflt:!1})},gft("",{cLetter:"z",autoColorDflt:!1}))});var tI=J((N7t,Whe)=>{"use strict";var mft=zr(),Ghe=gt();Whe.exports=function(t,r,n,i){var a=n("x"),o=n("y"),s=Ghe.minRowLength(a),l=Ghe.minRowLength(o);if(!s||!l){r.visible=!1;return}r._length=Math.min(s,l);var u=mft.getComponentMethod("calendars","handleTraceDefaults");u(t,r,["x","y"],i);var f=n("z")||n("marker.color");f&&n("histfunc"),n("histnorm"),n("autobinx"),n("autobiny")}});var Zhe=J((O7t,Xhe)=>{"use strict";var yft=gt(),xft=tI(),bft=PP(),wft=vl(),_ft=Fw(),Tft=gS();Xhe.exports=function(t,r,n,i){function a(o,s){return yft.coerce(t,r,Tft,o,s)}xft(t,r,a,i),r.visible!==!1&&(bft(t,r,a,i),wft(t,r,i,a,{prefix:"",cLetter:"z"}),a("hovertemplate"),_ft(a,i),a("xhoverformat"),a("yhoverformat"))}});var Khe=J((B7t,$he)=>{"use strict";var Aft=cS(),Jhe=nn().hoverLabelText;$he.exports=function(t,r,n,i,a){var o=Aft(t,r,n,i,a);if(o){t=o[0];var s=t.index,l=s[0],u=s[1],f=t.cd[0],c=f.trace,h=f.xRanges[u],d=f.yRanges[l];return t.xLabel=Jhe(t.xa,[h[0],h[1]],c.xhoverformat),t.yLabel=Jhe(t.ya,[d[0],d[1]],c.yhoverformat),o}}});var eve=J((U7t,Qhe)=>{"use strict";Qhe.exports={attributes:gS(),supplyDefaults:Zhe(),crossTraceDefaults:dS(),calc:zw(),plot:lS(),layerName:"heatmaplayer",colorbar:Nw(),style:uS(),hoverPoints:Khe(),eventData:QP(),moduleType:"trace",name:"histogram2d",basePlotModule:gs(),categories:["cartesian","svg","2dMap","histogram","showLegend"],meta:{hrName:"histogram_2d",description:["The sample data from which statistics are computed is set in `x`","and `y` (where `x` and `y` represent marginal distributions,","binning is set in `xbins` and `ybins` in this case)","or `z` (where `z` represent the 2D distribution and binning set,","binning is set by `x` and `y` in this case).","The resulting distribution is visualized as a heatmap."].join(" ")}}});var rve=J((H7t,tve)=>{"use strict";tve.exports=eve()});var jw=J((j7t,nve)=>{"use strict";nve.exports={COMPARISON_OPS:["=","!=","<",">=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}});var Vw=J((V7t,uve)=>{"use strict";var yo=Ug(),mS=ds(),sve=Ga(),rI=sve.axisHoverFormat,Mft=sve.descriptionOnlyNumbers,kft=Da(),Sft=Ss().dash,Cft=xa(),Oy=cn().extendFlat,lve=jw(),ive=lve.COMPARISON_OPS2,ave=lve.INTERVAL_OPS,ove=mS.line;uve.exports=Oy({z:yo.z,x:yo.x,x0:yo.x0,dx:yo.dx,y:yo.y,y0:yo.y0,dy:yo.dy,xperiod:yo.xperiod,yperiod:yo.yperiod,xperiod0:mS.xperiod0,yperiod0:mS.yperiod0,xperiodalignment:yo.xperiodalignment,yperiodalignment:yo.yperiodalignment,text:yo.text,hovertext:yo.hovertext,transpose:yo.transpose,xtype:yo.xtype,ytype:yo.ytype,xhoverformat:rI("x"),yhoverformat:rI("y"),zhoverformat:rI("z",1),hovertemplate:yo.hovertemplate,texttemplate:Oy({},yo.texttemplate,{description:["For this trace it only has an effect if `coloring` is set to *heatmap*.",yo.texttemplate.description].join(" ")}),textfont:Oy({},yo.textfont,{description:["For this trace it only has an effect if `coloring` is set to *heatmap*.",yo.textfont.description].join(" ")}),hoverongaps:yo.hoverongaps,connectgaps:Oy({},yo.connectgaps,{description:["Determines whether or not gaps","(i.e. {nan} or missing values)","in the `z` data are filled in.","It is defaulted to true if `z` is a","one dimensional array","otherwise it is defaulted to false."].join(" ")}),fillcolor:{valType:"color",editType:"calc",description:["Sets the fill color if `contours.type` is *constraint*.","Defaults to a half-transparent variant of the line color,","marker color, or marker line color, whichever is available."].join(" ")},autocontour:{valType:"boolean",dflt:!0,editType:"calc",impliedEdits:{"contours.start":void 0,"contours.end":void 0,"contours.size":void 0},description:["Determines whether or not the contour level attributes are","picked by an algorithm.","If *true*, the number of contour levels can be set in `ncontours`.","If *false*, set the contour level attributes in `contours`."].join(" ")},ncontours:{valType:"integer",dflt:15,min:1,editType:"calc",description:["Sets the maximum number of contour levels. The actual number","of contours will be chosen automatically to be less than or","equal to the value of `ncontours`.","Has an effect only if `autocontour` is *true* or if","`contours.size` is missing."].join(" ")},contours:{type:{valType:"enumerated",values:["levels","constraint"],dflt:"levels",editType:"calc",description:["If `levels`, the data is represented as a contour plot with multiple","levels displayed. If `constraint`, the data is represented as constraints","with the invalid region shaded as specified by the `operation` and","`value` parameters."].join(" ")},start:{valType:"number",dflt:null,editType:"plot",impliedEdits:{"^autocontour":!1},description:["Sets the starting contour level value.","Must be less than `contours.end`"].join(" ")},end:{valType:"number",dflt:null,editType:"plot",impliedEdits:{"^autocontour":!1},description:["Sets the end contour level value.","Must be more than `contours.start`"].join(" ")},size:{valType:"number",dflt:null,min:0,editType:"plot",impliedEdits:{"^autocontour":!1},description:["Sets the step between each contour level.","Must be positive."].join(" ")},coloring:{valType:"enumerated",values:["fill","heatmap","lines","none"],dflt:"fill",editType:"calc",description:["Determines the coloring method showing the contour values.","If *fill*, coloring is done evenly between each contour level","If *heatmap*, a heatmap gradient coloring is applied","between each contour level.","If *lines*, coloring is done on the contour lines.","If *none*, no coloring is applied on this trace."].join(" ")},showlines:{valType:"boolean",dflt:!0,editType:"plot",description:["Determines whether or not the contour lines are drawn.","Has an effect only if `contours.coloring` is set to *fill*."].join(" ")},showlabels:{valType:"boolean",dflt:!1,editType:"plot",description:["Determines whether to label the contour lines with their values."].join(" ")},labelfont:Cft({editType:"plot",colorEditType:"style",description:["Sets the font used for labeling the contour levels.","The default color comes from the lines, if shown.","The default family and size come from `layout.font`."].join(" ")}),labelformat:{valType:"string",dflt:"",editType:"plot",description:Mft("contour label")},operation:{valType:"enumerated",values:[].concat(ive).concat(ave),dflt:"=",editType:"calc",description:["Sets the constraint operation.","*=* keeps regions equal to `value`","*<* and *<=* keep regions less than `value`","*>* and *>=* keep regions greater than `value`","*[]*, *()*, *[)*, and *(]* keep regions inside `value[0]` to `value[1]`","*][*, *)(*, *](*, *)[* keep regions outside `value[0]` to value[1]`","Open vs. closed intervals make no difference to constraint display, but","all versions are allowed for consistency with filter transforms."].join(" ")},value:{valType:"any",dflt:0,editType:"calc",description:["Sets the value or values of the constraint boundary.","When `operation` is set to one of the comparison values","("+ive+")","*value* is expected to be a number.","When `operation` is set to one of the interval values","("+ave+")","*value* is expected to be an array of two numbers where the first","is the lower bound and the second is the upper bound."].join(" ")},editType:"calc",impliedEdits:{autocontour:!1}},line:{color:Oy({},ove.color,{editType:"style+colorbars",description:["Sets the color of the contour level.","Has no effect if `contours.coloring` is set to *lines*."].join(" ")}),width:{valType:"number",min:0,editType:"style+colorbars",description:["Sets the contour line width in (in px)","Defaults to *0.5* when `contours.type` is *levels*.","Defaults to *2* when `contour.type` is *constraint*."].join(" ")},dash:Sft,smoothing:Oy({},ove.smoothing,{description:["Sets the amount of smoothing for the contour lines,","where *0* corresponds to no smoothing."].join(" ")}),editType:"plot"},zorder:mS.zorder},kft("",{cLetter:"z",autoColorDflt:!1,editTypeOverride:"calc"}))});var iI=J((Y7t,cve)=>{"use strict";var Hl=gS(),fd=Vw(),Eft=Da(),nI=Ga().axisHoverFormat,fve=cn().extendFlat;cve.exports=fve({x:Hl.x,y:Hl.y,z:Hl.z,marker:Hl.marker,histnorm:Hl.histnorm,histfunc:Hl.histfunc,nbinsx:Hl.nbinsx,xbins:Hl.xbins,nbinsy:Hl.nbinsy,ybins:Hl.ybins,autobinx:Hl.autobinx,autobiny:Hl.autobiny,bingroup:Hl.bingroup,xbingroup:Hl.xbingroup,ybingroup:Hl.ybingroup,autocontour:fd.autocontour,ncontours:fd.ncontours,contours:fd.contours,line:{color:fd.line.color,width:fve({},fd.line.width,{dflt:.5,description:"Sets the contour line width in (in px)"}),dash:fd.line.dash,smoothing:fd.line.smoothing,editType:"plot"},xhoverformat:nI("x"),yhoverformat:nI("y"),zhoverformat:nI("z",1),hovertemplate:Hl.hovertemplate,texttemplate:fd.texttemplate,textfont:fd.textfont},Eft("",{cLetter:"z",editTypeOverride:"calc"}))});var yS=J((G7t,hve)=>{"use strict";hve.exports=function(t,r,n,i){var a=i("contours.start"),o=i("contours.end"),s=a===!1||o===!1,l=n("contours.size"),u;s?u=r.autocontour=!0:u=n("autocontour",!1),(u||!l)&&n("ncontours")}});var aI=J((W7t,vve)=>{"use strict";var Lft=gt();vve.exports=function(t,r,n,i){i||(i={});var a=t("contours.showlabels");if(a){var o=r.font;Lft.coerceFont(t,"contours.labelfont",o,{overrideDflt:{color:n}}),t("contours.labelformat")}i.hasHover!==!1&&t("zhoverformat")}});var xS=J((X7t,dve)=>{"use strict";var Dft=vl(),Rft=aI();dve.exports=function(t,r,n,i,a){var o=n("contours.coloring"),s,l="";o==="fill"&&(s=n("contours.showlines")),s!==!1&&(o!=="lines"&&(l=n("line.color","#000")),n("line.width",.5),n("line.dash")),o!=="none"&&(t.showlegend!==!0&&(r.showlegend=!1),r._dfltShowLegend=!1,Dft(t,r,i,n,{prefix:"",cLetter:"z"})),n("line.smoothing"),Rft(n,i,l,a)}});var yve=J((Z7t,mve)=>{"use strict";var pve=gt(),Pft=tI(),Ift=yS(),qft=xS(),Fft=Fw(),gve=iI();mve.exports=function(t,r,n,i){function a(s,l){return pve.coerce(t,r,gve,s,l)}function o(s){return pve.coerce2(t,r,gve,s)}Pft(t,r,a,i),r.visible!==!1&&(Ift(t,r,a,o),qft(t,r,a,i),a("xhoverformat"),a("yhoverformat"),a("hovertemplate"),r.contours&&r.contours.coloring==="heatmap"&&Fft(a,i))}});var lI=J((J7t,bve)=>{"use strict";var sI=nn(),oI=gt();bve.exports=function(t,r){var n=t.contours;if(t.autocontour){var i=t.zmin,a=t.zmax;(t.zauto||i===void 0)&&(i=oI.aggNums(Math.min,null,r)),(t.zauto||a===void 0)&&(a=oI.aggNums(Math.max,null,r));var o=xve(i,a,t.ncontours);n.size=o.dtick,n.start=sI.tickFirst(o),o.range.reverse(),n.end=sI.tickFirst(o),n.start===i&&(n.start+=n.size),n.end===a&&(n.end-=n.size),n.start>n.end&&(n.start=n.end=(n.start+n.end)/2),t._input.contours||(t._input.contours={}),oI.extendFlat(t._input.contours,{start:n.start,end:n.end,size:n.size}),t._input.autocontour=!0}else if(n.type!=="constraint"){var s=n.start,l=n.end,u=t._input.contours;if(s>l&&(n.start=u.start=l,l=n.end=u.end=s,s=n.start),!(n.size>0)){var f;s===l?f=1:f=xve(s,l,t.ncontours).dtick,u.size=n.size=f}}};function xve(e,t,r){var n={type:"linear",range:[e,t]};return sI.autoTicks(n,(t-e)/(r||15)),n}});var Yw=J(($7t,wve)=>{"use strict";wve.exports=function(t){return t.end+t.size/1e6}});var uI=J((K7t,Tve)=>{"use strict";var _ve=Qa(),zft=zw(),Nft=lI(),Oft=Yw();Tve.exports=function(t,r){var n=zft(t,r),i=n[0].z;Nft(r,i);var a=r.contours,o=_ve.extractOpts(r),s;if(a.coloring==="heatmap"&&o.auto&&r.autocontour===!1){var l=a.start,u=Oft(a),f=a.size||1,c=Math.floor((u-l)/f)+1;isFinite(f)||(f=1,c=1);var h=l-f/2,d=h+c*f;s=[h,d]}else s=i;return _ve.calc(t,r,{vals:s,cLetter:"z"}),n}});var Gw=J((Q7t,Ave)=>{"use strict";Ave.exports={BOTTOMSTART:[1,9,13,104,713],TOPSTART:[4,6,7,104,713],LEFTSTART:[8,12,14,208,1114],RIGHTSTART:[2,3,11,208,1114],NEWDELTA:[null,[-1,0],[0,-1],[-1,0],[1,0],null,[0,-1],[-1,0],[0,1],[0,1],null,[0,1],[1,0],[1,0],[0,-1]],CHOOSESADDLE:{104:[4,1],208:[2,8],713:[7,13],1114:[11,14]},SADDLEREMAINDER:{1:4,2:8,4:1,7:13,8:2,11:14,13:7,14:11},LABELDISTANCE:2,LABELINCREASE:10,LABELMIN:3,LABELMAX:10,LABELOPTIMIZER:{EDGECOST:1,ANGLECOST:1,NEIGHBORCOST:5,SAMELEVELFACTOR:10,SAMELEVELDISTANCE:5,MAXCOST:100,INITIALSEARCHPOINTS:10,ITERATIONS:5}}});var fI=J((e9t,Mve)=>{"use strict";var bS=Gw();Mve.exports=function(t){var r=t[0].z,n=r.length,i=r[0].length,a=n===2||i===2,o,s,l,u,f,c,h,d,v;for(s=0;s<n-1;s++)for(u=[],s===0&&(u=u.concat(bS.BOTTOMSTART)),s===n-2&&(u=u.concat(bS.TOPSTART)),o=0;o<i-1;o++)for(l=u.slice(),o===0&&(l=l.concat(bS.LEFTSTART)),o===i-2&&(l=l.concat(bS.RIGHTSTART)),f=o+","+s,c=[[r[s][o],r[s][o+1]],[r[s+1][o],r[s+1][o+1]]],v=0;v<t.length;v++)d=t[v],h=Bft(d.level,c),h&&(d.crossings[f]=h,l.indexOf(h)!==-1&&(d.starts.push([o,s]),a&&l.indexOf(h,l.indexOf(h)+1)!==-1&&d.starts.push([o,s])))};function Bft(e,t){var r=(t[0][0]>e?0:1)+(t[0][1]>e?0:2)+(t[1][1]>e?0:4)+(t[1][0]>e?0:8);if(r===5||r===10){var n=(t[0][0]+t[0][1]+t[1][0]+t[1][1])/4;return e>n?r===5?713:1114:r===5?104:208}return r===15?0:r}});var cI=J((t9t,Cve)=>{"use strict";var wS=gt(),By=Gw();Cve.exports=function(t,r,n){var i,a,o,s,l;for(r=r||.01,n=n||.01,o=0;o<t.length;o++){for(s=t[o],l=0;l<s.starts.length;l++)a=s.starts[l],kve(s,a,"edge",r,n);for(i=0;Object.keys(s.crossings).length&&i<1e4;)i++,a=Object.keys(s.crossings)[0].split(",").map(Number),kve(s,a,void 0,r,n);i===1e4&&wS.log("Infinite loop in contour?")}};function Ww(e,t,r,n){return Math.abs(e[0]-t[0])<r&&Math.abs(e[1]-t[1])<n}function Uft(e,t){var r=e[2]-t[2],n=e[3]-t[3];return Math.sqrt(r*r+n*n)}function kve(e,t,r,n,i){var a=t.join(","),o=e.crossings[a],s=Hft(o,r,t),l=[Sve(e,t,[-s[0],-s[1]])],u=e.z.length,f=e.z[0].length,c=t.slice(),h=s.slice(),d;for(d=0;d<1e4;d++){if(o>20?(o=By.CHOOSESADDLE[o][(s[0]||s[1])<0?0:1],e.crossings[a]=By.SADDLEREMAINDER[o]):delete e.crossings[a],s=By.NEWDELTA[o],!s){wS.log("Found bad marching index:",o,t,e.level);break}l.push(Sve(e,t,s)),t[0]+=s[0],t[1]+=s[1],a=t.join(","),Ww(l[l.length-1],l[l.length-2],n,i)&&l.pop();var v=s[0]&&(t[0]<0||t[0]>f-2)||s[1]&&(t[1]<0||t[1]>u-2),m=t[0]===c[0]&&t[1]===c[1]&&s[0]===h[0]&&s[1]===h[1];if(m||r&&v)break;o=e.crossings[a]}d===1e4&&wS.log("Infinite loop in contour?");var b=Ww(l[0],l[l.length-1],n,i),g=0,_=.2*e.smoothing,T=[],w=0,k,x,M,A,p,S,y,E,C,L,R;for(d=1;d<l.length;d++)y=Uft(l[d],l[d-1]),g+=y,T.push(y);var I=g/T.length*_;function P(N){return l[N%l.length]}for(d=l.length-2;d>=w;d--)if(k=T[d],k<I){for(M=0,x=d-1;x>=w&&k+T[x]<I;x--)k+=T[x];if(b&&d===l.length-2)for(M=0;M<x&&k+T[M]<I;M++)k+=T[M];p=d-x+M+1,S=Math.floor((d+x+M+2)/2),!b&&d===l.length-2?A=l[l.length-1]:!b&&x===-1?A=l[0]:p%2?A=P(S):A=[(P(S)[0]+P(S+1)[0])/2,(P(S)[1]+P(S+1)[1])/2],l.splice(x+1,d-x+1,A),d=x+1,M&&(w=M),b&&(d===l.length-2?l[M]=l[l.length-1]:d===0&&(l[l.length-1]=l[0]))}for(l.splice(0,w),d=0;d<l.length;d++)l[d].length=2;if(!(l.length<2))if(b)l.pop(),e.paths.push(l);else{r||wS.log("Unclosed interior contour?",e.level,c.join(","),l.join("L"));var D=!1;for(E=0;E<e.edgepaths.length;E++)if(L=e.edgepaths[E],!D&&Ww(L[0],l[l.length-1],n,i)){l.pop(),D=!0;var q=!1;for(C=0;C<e.edgepaths.length;C++)if(R=e.edgepaths[C],Ww(R[R.length-1],l[0],n,i)){q=!0,l.shift(),e.edgepaths.splice(E,1),C===E?e.paths.push(l.concat(R)):(C>E&&C--,e.edgepaths[C]=R.concat(l,L));break}q||(e.edgepaths[E]=l.concat(L))}for(E=0;E<e.edgepaths.length&&!D;E++)L=e.edgepaths[E],Ww(L[L.length-1],l[0],n,i)&&(l.shift(),e.edgepaths[E]=L.concat(l),D=!0);D||e.edgepaths.push(l)}}function Hft(e,t,r){var n=0,i=0;return e>20&&t?e===208||e===1114?n=r[0]===0?1:-1:i=r[1]===0?1:-1:By.BOTTOMSTART.indexOf(e)!==-1?i=1:By.LEFTSTART.indexOf(e)!==-1?n=1:By.TOPSTART.indexOf(e)!==-1?i=-1:n=-1,[n,i]}function Sve(e,t,r){var n=t[0]+Math.max(r[0],0),i=t[1]+Math.max(r[1],0),a=e.z[i][n],o=e.xaxis,s=e.yaxis;if(r[1]){var l=(e.level-a)/(e.z[i][n+1]-a),u=(l!==1?(1-l)*o.c2l(e.x[n]):0)+(l!==0?l*o.c2l(e.x[n+1]):0);return[o.c2p(o.l2c(u),!0),s.c2p(e.y[i],!0),n+l,i]}else{var f=(e.level-a)/(e.z[i+1][n]-a),c=(f!==1?(1-f)*s.c2l(e.y[i]):0)+(f!==0?f*s.c2l(e.y[i+1]):0);return[o.c2p(e.x[n],!0),s.c2p(s.l2c(c),!0),n,i+f]}}});var Rve=J((r9t,Dve)=>{"use strict";var hI=jw(),jft=dn();Dve.exports={"[]":Eve("[]"),"][":Eve("]["),">":vI(">"),"<":vI("<"),"=":vI("=")};function Lve(e,t){var r=Array.isArray(t),n;function i(a){return jft(a)?+a:null}return hI.COMPARISON_OPS2.indexOf(e)!==-1?n=i(r?t[0]:t):hI.INTERVAL_OPS.indexOf(e)!==-1?n=r?[i(t[0]),i(t[1])]:[i(t),i(t)]:hI.SET_OPS.indexOf(e)!==-1&&(n=r?t.map(i):[i(t)]),n}function Eve(e){return function(t){t=Lve(e,t);var r=Math.min(t[0],t[1]),n=Math.max(t[0],t[1]);return{start:r,end:n,size:n-r}}}function vI(e){return function(t){return t=Lve(e,t),{start:t,end:1/0,size:1/0}}}});var dI=J((n9t,Ive)=>{"use strict";var Pve=gt(),Vft=Rve(),Yft=Yw();Ive.exports=function(t,r,n){for(var i=t.type==="constraint"?Vft[t._operation](t.value):t,a=i.size,o=[],s=Yft(i),l=n.trace._carpetTrace,u=l?{xaxis:l.aaxis,yaxis:l.baxis,x:n.a,y:n.b}:{xaxis:r.xaxis,yaxis:r.yaxis,x:n.x,y:n.y},f=i.start;f<s;f+=a)if(o.push(Pve.extendFlat({level:f,crossings:{},starts:[],edgepaths:[],paths:[],z:n.z,smoothing:n.trace.line.smoothing},u)),o.length>1e3){Pve.warn("Too many contours, clipping at 1000",t);break}return o}});var pI=J((i9t,Fve)=>{"use strict";var Uy=gt();Fve.exports=function(e,t){var r,n,i,a=function(l){return l.reverse()},o=function(l){return l};switch(t){case"=":case"<":return e;case">":for(e.length!==1&&Uy.warn("Contour data invalid for the specified inequality operation."),n=e[0],r=0;r<n.edgepaths.length;r++)n.edgepaths[r]=a(n.edgepaths[r]);for(r=0;r<n.paths.length;r++)n.paths[r]=a(n.paths[r]);for(r=0;r<n.starts.length;r++)n.starts[r]=a(n.starts[r]);return e;case"][":var s=a;a=o,o=s;case"[]":for(e.length!==2&&Uy.warn("Contour data invalid for the specified inequality range operation."),n=qve(e[0]),i=qve(e[1]),r=0;r<n.edgepaths.length;r++)n.edgepaths[r]=a(n.edgepaths[r]);for(r=0;r<n.paths.length;r++)n.paths[r]=a(n.paths[r]);for(r=0;r<n.starts.length;r++)n.starts[r]=a(n.starts[r]);for(;i.edgepaths.length;)n.edgepaths.push(o(i.edgepaths.shift()));for(;i.paths.length;)n.paths.push(o(i.paths.shift()));for(;i.starts.length;)n.starts.push(o(i.starts.shift()));return[n]}};function qve(e){return Uy.extendFlat({},e,{edgepaths:Uy.extendDeep([],e.edgepaths),paths:Uy.extendDeep([],e.paths),starts:Uy.extendDeep([],e.starts)})}});var gI=J((a9t,zve)=>{"use strict";zve.exports=function(e,t){var r=e[0],n=r.z,i;switch(t.type){case"levels":var a=Math.min(n[0][0],n[0][1]);for(i=0;i<e.length;i++){var o=e[i];o.prefixBoundary=!o.edgepaths.length&&(a>o.level||o.starts.length&&a===o.level)}break;case"constraint":if(r.prefixBoundary=!1,r.edgepaths.length)return;var s=r.x.length,l=r.y.length,u=-1/0,f=1/0;for(i=0;i<l;i++)f=Math.min(f,n[i][0]),f=Math.min(f,n[i][s-1]),u=Math.max(u,n[i][0]),u=Math.max(u,n[i][s-1]);for(i=1;i<s-1;i++)f=Math.min(f,n[0][i]),f=Math.min(f,n[l-1][i]),u=Math.max(u,n[0][i]),u=Math.max(u,n[l-1][i]);var c=t.value,h,d;switch(t._operation){case">":c>u&&(r.prefixBoundary=!0);break;case"<":(c<f||r.starts.length&&c===f)&&(r.prefixBoundary=!0);break;case"[]":h=Math.min(c[0],c[1]),d=Math.max(c[0],c[1]),(d<f||h>u||r.starts.length&&d===f)&&(r.prefixBoundary=!0);break;case"][":h=Math.min(c[0],c[1]),d=Math.max(c[0],c[1]),h<f&&d>u&&(r.prefixBoundary=!0);break}break}}});var _S=J(jl=>{"use strict";var Zw=Nr(),Ls=gt(),cd=ln(),Gft=Qa(),Bve=ca(),Nve=nn(),Ove=Zv(),Wft=lS(),Uve=fI(),Hve=cI(),Xft=dI(),Zft=pI(),jve=gI(),Xw=Gw(),uv=Xw.LABELOPTIMIZER;jl.plot=function(t,r,n,i){var a=r.xaxis,o=r.yaxis;Ls.makeTraceGroups(i,n,"contour").each(function(s){var l=Zw.select(this),u=s[0],f=u.trace,c=u.x,h=u.y,d=f.contours,v=Xft(d,r,u),m=Ls.ensureSingle(l,"g","heatmapcoloring"),b=[];d.coloring==="heatmap"&&(b=[s]),Wft(t,r,b,m),Uve(v),Hve(v);var g=a.c2p(c[0],!0),_=a.c2p(c[c.length-1],!0),T=o.c2p(h[0],!0),w=o.c2p(h[h.length-1],!0),k=[[g,w],[_,w],[_,T],[g,T]],x=v;d.type==="constraint"&&(x=Zft(v,d._operation)),Jft(l,k,d),$ft(l,x,k,d),Kft(l,v,t,u,d),ect(l,r,t,u,k)})};function Jft(e,t,r){var n=Ls.ensureSingle(e,"g","contourbg"),i=n.selectAll("path").data(r.coloring==="fill"?[0]:[]);i.enter().append("path"),i.exit().remove(),i.attr("d","M"+t.join("L")+"Z").style("stroke","none")}function $ft(e,t,r,n){var i=n.coloring==="fill"||n.type==="constraint"&&n._operation!=="=",a="M"+r.join("L")+"Z";i&&jve(t,n);var o=Ls.ensureSingle(e,"g","contourfill"),s=o.selectAll("path").data(i?t:[]);s.enter().append("path"),s.exit().remove(),s.each(function(l){var u=(l.prefixBoundary?a:"")+Vve(l,r);u?Zw.select(this).attr("d",u).style("stroke","none"):Zw.select(this).remove()})}function Vve(e,t){var r="",n=0,i=e.edgepaths.map(function(g,_){return _}),a=!0,o,s,l,u,f,c;function h(g){return Math.abs(g[1]-t[0][1])<.01}function d(g){return Math.abs(g[1]-t[2][1])<.01}function v(g){return Math.abs(g[0]-t[0][0])<.01}function m(g){return Math.abs(g[0]-t[2][0])<.01}for(;i.length;){for(c=cd.smoothopen(e.edgepaths[n],e.smoothing),r+=a?c:c.replace(/^M/,"L"),i.splice(i.indexOf(n),1),o=e.edgepaths[n][e.edgepaths[n].length-1],u=-1,l=0;l<4;l++){if(!o){Ls.log("Missing end?",n,e);break}for(h(o)&&!m(o)?s=t[1]:v(o)?s=t[0]:d(o)?s=t[3]:m(o)&&(s=t[2]),f=0;f<e.edgepaths.length;f++){var b=e.edgepaths[f][0];Math.abs(o[0]-s[0])<.01?Math.abs(o[0]-b[0])<.01&&(b[1]-o[1])*(s[1]-b[1])>=0&&(s=b,u=f):Math.abs(o[1]-s[1])<.01?Math.abs(o[1]-b[1])<.01&&(b[0]-o[0])*(s[0]-b[0])>=0&&(s=b,u=f):Ls.log("endpt to newendpt is not vert. or horz.",o,s,b)}if(o=s,u>=0)break;r+="L"+s}if(u===e.edgepaths.length){Ls.log("unclosed perimeter path");break}n=u,a=i.indexOf(n)===-1,a&&(n=i[0],r+="Z")}for(n=0;n<e.paths.length;n++)r+=cd.smoothclosed(e.paths[n],e.smoothing);return r}function Kft(e,t,r,n,i){var a=r._context.staticPlot,o=Ls.ensureSingle(e,"g","contourlines"),s=i.showlines!==!1,l=i.showlabels,u=s&&l,f=jl.createLines(o,s||l,t,a),c=jl.createLineClip(o,u,r,n.trace.uid),h=e.selectAll("g.contourlabels").data(l?[0]:[]);if(h.exit().remove(),h.enter().append("g").classed("contourlabels",!0),l){var d=[],v=[];Ls.clearLocationCache();var m=jl.labelFormatter(r,n),b=cd.tester.append("text").attr("data-notex",1).call(cd.font,i.labelfont),g=t[0].xaxis,_=t[0].yaxis,T=g._length,w=_._length,k=g.range,x=_.range,M=Ls.aggNums(Math.min,null,n.x),A=Ls.aggNums(Math.max,null,n.x),p=Ls.aggNums(Math.min,null,n.y),S=Ls.aggNums(Math.max,null,n.y),y=Math.max(g.c2p(M,!0),0),E=Math.min(g.c2p(A,!0),T),C=Math.max(_.c2p(S,!0),0),L=Math.min(_.c2p(p,!0),w),R={};k[0]<k[1]?(R.left=y,R.right=E):(R.left=E,R.right=y),x[0]<x[1]?(R.top=C,R.bottom=L):(R.top=L,R.bottom=C),R.middle=(R.top+R.bottom)/2,R.center=(R.left+R.right)/2,d.push([[R.left,R.top],[R.right,R.top],[R.right,R.bottom],[R.left,R.bottom]]);var I=Math.sqrt(T*T+w*w),P=Xw.LABELDISTANCE*I/Math.max(1,t.length/Xw.LABELINCREASE);f.each(function(D){var q=jl.calcTextOpts(D.level,m,b,r);Zw.select(this).selectAll("path").each(function(){var N=this,U=Ls.getVisibleSegment(N,R,q.height/2);if(U&&!(U.len<(q.width+q.height)*Xw.LABELMIN))for(var G=Math.min(Math.ceil(U.len/P),Xw.LABELMAX),ee=0;ee<G;ee++){var Q=jl.findBestTextLocation(N,U,q,v,R);if(!Q)break;jl.addLabelData(Q,q,v,d)}})}),b.remove(),jl.drawLabels(h,v,r,c,u?d:null)}l&&!s&&f.remove()}jl.createLines=function(e,t,r,n){var i=r[0].smoothing,a=e.selectAll("g.contourlevel").data(t?r:[]);if(a.exit().remove(),a.enter().append("g").classed("contourlevel",!0),t){var o=a.selectAll("path.openline").data(function(l){return l.pedgepaths||l.edgepaths});o.exit().remove(),o.enter().append("path").classed("openline",!0),o.attr("d",function(l){return cd.smoothopen(l,i)}).style("stroke-miterlimit",1).style("vector-effect",n?"none":"non-scaling-stroke");var s=a.selectAll("path.closedline").data(function(l){return l.ppaths||l.paths});s.exit().remove(),s.enter().append("path").classed("closedline",!0),s.attr("d",function(l){return cd.smoothclosed(l,i)}).style("stroke-miterlimit",1).style("vector-effect",n?"none":"non-scaling-stroke")}return a};jl.createLineClip=function(e,t,r,n){var i=r._fullLayout._clips,a=t?"clipline"+n:null,o=i.selectAll("#"+a).data(t?[0]:[]);return o.exit().remove(),o.enter().append("clipPath").classed("contourlineclip",!0).attr("id",a),cd.setClipUrl(e,a,r),o};jl.labelFormatter=function(e,t){var r=e._fullLayout,n=t.trace,i=n.contours,a={type:"linear",_id:"ycontour",showexponent:"all",exponentformat:"B"};if(i.labelformat)a.tickformat=i.labelformat,Ove(a,r);else{var o=Gft.extractOpts(n);if(o&&o.colorbar&&o.colorbar._axis)a=o.colorbar._axis;else{if(i.type==="constraint"){var s=i.value;Ls.isArrayOrTypedArray(s)?a.range=[s[0],s[s.length-1]]:a.range=[s,s]}else a.range=[i.start,i.end],a.nticks=(i.end-i.start)/i.size;a.range[0]===a.range[1]&&(a.range[1]+=a.range[0]||1),a.nticks||(a.nticks=1e3),Ove(a,r),Nve.prepTicks(a),a._tmin=null,a._tmax=null}}return function(l){return Nve.tickText(a,l).text}};jl.calcTextOpts=function(e,t,r,n){var i=t(e);r.text(i).call(Bve.convertToTspans,n);var a=r.node(),o=cd.bBox(a,!0);return{text:i,width:o.width,height:o.height,fontSize:+a.style["font-size"].replace("px",""),level:e,dy:(o.top+o.bottom)/2}};jl.findBestTextLocation=function(e,t,r,n,i){var a=r.width,o,s,l,u,f;t.isClosed?(s=t.len/uv.INITIALSEARCHPOINTS,o=t.min+s/2,l=t.max):(s=(t.len-a)/(uv.INITIALSEARCHPOINTS+1),o=t.min+s+a/2,l=t.max-(s+a)/2);for(var c=1/0,h=0;h<uv.ITERATIONS;h++){for(var d=o;d<l;d+=s){var v=Ls.getTextLocation(e,t.total,d,a),m=Qft(v,r,n,i);m<c&&(c=m,f=v,u=d)}if(c>uv.MAXCOST*2)break;h&&(s/=2),o=u-s/2,l=o+s*1.5}if(c<=uv.MAXCOST)return f};function Qft(e,t,r,n){var i=t.width/2,a=t.height/2,o=e.x,s=e.y,l=e.theta,u=Math.cos(l)*i,f=Math.sin(l)*i,c=(o>n.center?n.right-o:o-n.left)/(u+Math.abs(Math.sin(l)*a)),h=(s>n.middle?n.bottom-s:s-n.top)/(Math.abs(f)+Math.cos(l)*a);if(c<1||h<1)return 1/0;var d=uv.EDGECOST*(1/(c-1)+1/(h-1));d+=uv.ANGLECOST*l*l;for(var v=o-u,m=s-f,b=o+u,g=s+f,_=0;_<r.length;_++){var T=r[_],w=Math.cos(T.theta)*T.width/2,k=Math.sin(T.theta)*T.width/2,x=Ls.segmentDistance(v,m,b,g,T.x-w,T.y-k,T.x+w,T.y+k)*2/(t.height+T.height),M=T.level===t.level,A=M?uv.SAMELEVELDISTANCE:1;if(x<=A)return 1/0;var p=uv.NEIGHBORCOST*(M?uv.SAMELEVELFACTOR:1);d+=p/(x-A)}return d}jl.addLabelData=function(e,t,r,n){var i=t.fontSize,a=t.width+i/3,o=Math.max(0,t.height-i/3),s=e.x,l=e.y,u=e.theta,f=Math.sin(u),c=Math.cos(u),h=function(v,m){return[s+v*c-m*f,l+v*f+m*c]},d=[h(-a/2,-o/2),h(-a/2,o/2),h(a/2,o/2),h(a/2,-o/2)];r.push({text:t.text,x:s,y:l,dy:t.dy,theta:u,level:t.level,width:a,height:o}),n.push(d)};jl.drawLabels=function(e,t,r,n,i){var a=e.selectAll("text").data(t,function(u){return u.text+","+u.x+","+u.y+","+u.theta});if(a.exit().remove(),a.enter().append("text").attr({"data-notex":1,"text-anchor":"middle"}).each(function(u){var f=u.x+Math.sin(u.theta)*u.dy,c=u.y-Math.cos(u.theta)*u.dy;Zw.select(this).text(u.text).attr({x:f,y:c,transform:"rotate("+180*u.theta/Math.PI+" "+f+" "+c+")"}).call(Bve.convertToTspans,r)}),i){for(var o="",s=0;s<i.length;s++)o+="M"+i[s].join("L")+"Z";var l=Ls.ensureSingle(n,"path","");l.attr("d",o)}};function ect(e,t,r,n,i){var a=n.trace,o=r._fullLayout._clips,s="clip"+a.uid,l=o.selectAll("#"+s).data(a.connectgaps?[]:[0]);if(l.enter().append("clipPath").classed("contourclip",!0).attr("id",s),l.exit().remove(),a.connectgaps===!1){var u={level:.9,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:t.xaxis,yaxis:t.yaxis,x:n.x,y:n.y,z:tct(n),smoothing:0};Uve([u]),Hve([u]),jve([u],{type:"levels"});var f=Ls.ensureSingle(l,"path","");f.attr("d",(u.prefixBoundary?"M"+i.join("L")+"Z":"")+Vve(u,i))}else s=null;cd.setClipUrl(e,s,r)}function tct(e){var t=e.trace._emptypoints,r=[],n=e.z.length,i=e.z[0].length,a,o=[],s;for(a=0;a<i;a++)o.push(1);for(a=0;a<n;a++)r.push(o.slice());for(a=0;a<t.length;a++)s=t[a],r[s[0]][s[1]]=0;return e.zmask=r,r}});var yI=J((s9t,Yve)=>{"use strict";var rct=Nr(),mI=Qa(),nct=Yw();Yve.exports=function(t){var r=t.contours,n=r.start,i=nct(r),a=r.size||1,o=Math.floor((i-n)/a)+1,s=r.coloring==="lines"?0:1,l=mI.extractOpts(t);isFinite(a)||(a=1,o=1);var u=l.reversescale?mI.flipScale(l.colorscale):l.colorscale,f=u.length,c=new Array(f),h=new Array(f),d,v,m=l.min,b=l.max;if(r.coloring==="heatmap"){for(v=0;v<f;v++)d=u[v],c[v]=d[0]*(b-m)+m,h[v]=d[1];var g=rct.extent([m,b,r.start,r.start+a*(o-1)]),_=g[m<b?0:1],T=g[m<b?1:0];_!==m&&(c.splice(0,0,_),h.splice(0,0,h[0])),T!==b&&(c.push(T),h.push(h[h.length-1]))}else{var w=t._input&&typeof t._input.zmin=="number"&&typeof t._input.zmax=="number";for(w&&(n<=m||i>=b)&&(n<=m&&(n=m),i>=b&&(i=b),o=Math.floor((i-n)/a)+1,s=0),v=0;v<f;v++)d=u[v],c[v]=(d[0]*(o+s-1)-s/2)*a+n,h[v]=d[1];(w||t.autocontour)&&(c[0]>m&&(c.unshift(m),h.unshift(h[0])),c[c.length-1]<b&&(c.push(b),h.push(h[h.length-1])))}return mI.makeColorScaleFunc({domain:c,range:h},{noNumericCheck:!0})}});var AS=J((l9t,Wve)=>{"use strict";var TS=Nr(),Gve=ln(),ict=uS(),act=yI();Wve.exports=function(t){var r=TS.select(t).selectAll("g.contour");r.style("opacity",function(n){return n[0].trace.opacity}),r.each(function(n){var i=TS.select(this),a=n[0].trace,o=a.contours,s=a.line,l=o.size||1,u=o.start,f=o.type==="constraint",c=!f&&o.coloring==="lines",h=!f&&o.coloring==="fill",d=c||h?act(a):null;i.selectAll("g.contourlevel").each(function(b){TS.select(this).selectAll("path").call(Gve.lineGroupStyle,s.width,c?d(b.level):s.color,s.dash)});var v=o.labelfont;if(i.selectAll("g.contourlabels text").each(function(b){Gve.font(TS.select(this),{weight:v.weight,style:v.style,variant:v.variant,textcase:v.textcase,lineposition:v.lineposition,shadow:v.shadow,family:v.family,size:v.size,color:v.color||(c?d(b.level):s.color)})}),f)i.selectAll("g.contourfill path").style("fill",a.fillcolor);else if(h){var m;i.selectAll("g.contourfill path").style("fill",function(b){return m===void 0&&(m=b.level),d(b.level+.5*l)}),m===void 0&&(m=u),i.selectAll("g.contourbg path").style("fill",d(m-.5*l))}}),ict(t)}});var MS=J((u9t,Zve)=>{"use strict";var Xve=Qa(),oct=yI(),sct=Yw();function lct(e,t,r){var n=t.contours,i=t.line,a=n.size||1,o=n.coloring,s=oct(t,{isColorbar:!0});if(o==="heatmap"){var l=Xve.extractOpts(t);r._fillgradient=l.reversescale?Xve.flipScale(l.colorscale):l.colorscale,r._zrange=[l.min,l.max]}else o==="fill"&&(r._fillcolor=s);r._line={color:o==="lines"?s:i.color,width:n.showlines!==!1?i.width:0,dash:i.dash},r._levels={start:n.start,end:sct(n),size:a}}Zve.exports={min:"zmin",max:"zmax",calc:lct}});var xI=J((f9t,Jve)=>{"use strict";var kS=qr(),uct=cS();Jve.exports=function(t,r,n,i,a){a||(a={}),a.isContour=!0;var o=uct(t,r,n,i,a);return o&&o.forEach(function(s){var l=s.trace;l.contours.type==="constraint"&&(l.fillcolor&&kS.opacity(l.fillcolor)?s.color=kS.addOpacity(l.fillcolor,1):l.contours.showlines&&kS.opacity(l.line.color)&&(s.color=kS.addOpacity(l.line.color,1)))}),o}});var Kve=J((c9t,$ve)=>{"use strict";$ve.exports={attributes:iI(),supplyDefaults:yve(),crossTraceDefaults:dS(),calc:uI(),plot:_S().plot,layerName:"contourlayer",style:AS(),colorbar:MS(),hoverPoints:xI(),moduleType:"trace",name:"histogram2dcontour",basePlotModule:gs(),categories:["cartesian","svg","2dMap","contour","histogram","showLegend"],meta:{hrName:"histogram_2d_contour",description:["The sample data from which statistics are computed is set in `x`","and `y` (where `x` and `y` represent marginal distributions,","binning is set in `xbins` and `ybins` in this case)","or `z` (where `z` represent the 2D distribution and binning set,","binning is set by `x` and `y` in this case).","The resulting distribution is visualized as a contour plot."].join(" ")}}});var ede=J((h9t,Qve)=>{"use strict";Qve.exports=Kve()});var bI=J((v9t,ode)=>{"use strict";var tde=dn(),fct=aI(),ide=qr(),rde=ide.addOpacity,cct=ide.opacity,ade=jw(),nde=gt().isArrayOrTypedArray,hct=ade.CONSTRAINT_REDUCTION,vct=ade.COMPARISON_OPS2;ode.exports=function(t,r,n,i,a,o){var s=r.contours,l,u,f,c=n("contours.operation");if(s._operation=hct[c],dct(n,s),c==="="?l=s.showlines=!0:(l=n("contours.showlines"),f=n("fillcolor",rde((t.line||{}).color||a,.5))),l){var h=f&&cct(f)?rde(r.fillcolor,1):a;u=n("line.color",h),n("line.width",2),n("line.dash")}n("line.smoothing"),fct(n,i,u,o)};function dct(e,t){var r;vct.indexOf(t.operation)===-1?(e("contours.value",[0,1]),nde(t.value)?t.value.length>2?t.value=t.value.slice(2):t.length===0?t.value=[0,1]:t.length<2?(r=parseFloat(t.value[0]),t.value=[r,r+1]):t.value=[parseFloat(t.value[0]),parseFloat(t.value[1])]:tde(t.value)&&(r=parseFloat(t.value),t.value=[r,r+1])):(e("contours.value",0),tde(t.value)||(nde(t.value)?t.value=parseFloat(t.value[0]):t.value=0))}});var ude=J((d9t,lde)=>{"use strict";var wI=gt(),pct=qw(),gct=nv(),mct=bI(),yct=yS(),xct=xS(),bct=Fw(),sde=Vw();lde.exports=function(t,r,n,i){function a(u,f){return wI.coerce(t,r,sde,u,f)}function o(u){return wI.coerce2(t,r,sde,u)}var s=pct(t,r,a,i);if(!s){r.visible=!1;return}gct(t,r,i,a),a("xhoverformat"),a("yhoverformat"),a("text"),a("hovertext"),a("hoverongaps"),a("hovertemplate");var l=a("contours.type")==="constraint";a("connectgaps",wI.isArray1D(r.z)),l?mct(t,r,a,i,n):(yct(t,r,a,o),xct(t,r,a,i)),r.contours&&r.contours.coloring==="heatmap"&&bct(a,i),a("zorder")}});var cde=J((p9t,fde)=>{"use strict";fde.exports={attributes:Vw(),supplyDefaults:ude(),calc:uI(),plot:_S().plot,style:AS(),colorbar:MS(),hoverPoints:xI(),moduleType:"trace",name:"contour",basePlotModule:gs(),categories:["cartesian","svg","2dMap","contour","showLegend"],meta:{description:["The data from which contour lines are computed is set in `z`.","Data in `z` must be a {2D array} of numbers.","Say that `z` has N rows and M columns, then by default,","these N rows correspond to N y coordinates","(set in `y` or auto-generated) and the M columns","correspond to M x coordinates (set in `x` or auto-generated).","By setting `transpose` to *true*, the above behavior is flipped."].join(" ")}}});var vde=J((g9t,hde)=>{"use strict";hde.exports=cde()});var _I=J((m9t,pde)=>{"use strict";var wct=Jn().hovertemplateAttrs,_ct=Jn().texttemplateAttrs,Tct=gg(),Ff=ds(),Act=Qi(),dde=Da(),Mct=Ss().dash,z0=cn().extendFlat,_c=Ff.marker,Jw=Ff.line,kct=_c.line;pde.exports={a:{valType:"data_array",editType:"calc",description:["Sets the quantity of component `a` in each data point.","If `a`, `b`, and `c` are all provided, they need not be","normalized, only the relative values matter. If only two","arrays are provided they must be normalized to match","`ternary<i>.sum`."].join(" ")},b:{valType:"data_array",editType:"calc",description:["Sets the quantity of component `a` in each data point.","If `a`, `b`, and `c` are all provided, they need not be","normalized, only the relative values matter. If only two","arrays are provided they must be normalized to match","`ternary<i>.sum`."].join(" ")},c:{valType:"data_array",editType:"calc",description:["Sets the quantity of component `a` in each data point.","If `a`, `b`, and `c` are all provided, they need not be","normalized, only the relative values matter. If only two","arrays are provided they must be normalized to match","`ternary<i>.sum`."].join(" ")},sum:{valType:"number",dflt:0,min:0,editType:"calc",description:["The number each triplet should sum to,","if only two of `a`, `b`, and `c` are provided.","This overrides `ternary<i>.sum` to normalize this specific","trace, but does not affect the values displayed on the axes.","0 (or missing) means to use ternary<i>.sum"].join(" ")},mode:z0({},Ff.mode,{dflt:"markers"}),text:z0({},Ff.text,{description:["Sets text elements associated with each (a,b,c) point.","If a single string, the same string appears over","all the data points.","If an array of strings, the items are mapped in order to the","the data points in (a,b,c).","If trace `hoverinfo` contains a *text* flag and *hovertext* is not set,","these elements will be seen in the hover labels."].join(" ")}),texttemplate:_ct({editType:"plot"},{keys:["a","b","c","text"]}),hovertext:z0({},Ff.hovertext,{description:["Sets hover text elements associated with each (a,b,c) point.","If a single string, the same string appears over","all the data points.","If an array of strings, the items are mapped in order to the","the data points in (a,b,c).","To be seen, trace `hoverinfo` must contain a *text* flag."].join(" ")}),line:{color:Jw.color,width:Jw.width,dash:Mct,backoff:Jw.backoff,shape:z0({},Jw.shape,{values:["linear","spline"]}),smoothing:Jw.smoothing,editType:"calc"},connectgaps:Ff.connectgaps,cliponaxis:Ff.cliponaxis,fill:z0({},Ff.fill,{values:["none","toself","tonext"],dflt:"none",description:["Sets the area to fill with a solid color.","Use with `fillcolor` if not *none*.","scatterternary has a subset of the options available to scatter.","*toself* connects the endpoints of the trace (or each segment","of the trace if it has gaps) into a closed shape.","*tonext* fills the space between two traces if one completely","encloses the other (eg consecutive contour lines), and behaves like","*toself* if there is no trace before it. *tonext* should not be","used if one trace does not enclose the other."].join(" ")}),fillcolor:Tct(),marker:z0({symbol:_c.symbol,opacity:_c.opacity,angle:_c.angle,angleref:_c.angleref,standoff:_c.standoff,maxdisplayed:_c.maxdisplayed,size:_c.size,sizeref:_c.sizeref,sizemin:_c.sizemin,sizemode:_c.sizemode,line:z0({width:kct.width,editType:"calc"},dde("marker.line")),gradient:_c.gradient,editType:"calc"},dde("marker")),textfont:Ff.textfont,textposition:Ff.textposition,selected:Ff.selected,unselected:Ff.unselected,hoverinfo:z0({},Act.hoverinfo,{flags:["a","b","c","text","name"]}),hoveron:Ff.hoveron,hovertemplate:wct()}});var xde=J((y9t,yde)=>{"use strict";var gde=gt(),Sct=pg(),Hy=fs(),Cct=bg(),Ect=wg(),mde=nw(),Lct=_g(),Dct=uy(),Rct=_I();yde.exports=function(t,r,n,i){function a(h,d){return gde.coerce(t,r,Rct,h,d)}var o=a("a"),s=a("b"),l=a("c"),u;if(o?(u=o.length,s?(u=Math.min(u,s.length),l&&(u=Math.min(u,l.length))):l?u=Math.min(u,l.length):u=0):s&&l&&(u=Math.min(s.length,l.length)),!u){r.visible=!1;return}r._length=u,a("sum"),a("text"),a("hovertext"),r.hoveron!=="fills"&&a("hovertemplate");var f=u<Sct.PTS_LINESONLY?"lines+markers":"lines";a("mode",f),Hy.hasMarkers(r)&&Cct(t,r,n,i,a,{gradient:!0}),Hy.hasLines(r)&&(Ect(t,r,n,i,a,{backoff:!0}),mde(t,r,a),a("connectgaps")),Hy.hasText(r)&&(a("texttemplate"),Lct(t,r,i,a));var c=[];(Hy.hasMarkers(r)||Hy.hasText(r))&&(a("cliponaxis"),a("marker.maxdisplayed"),c.push("points")),a("fill"),r.fill!=="none"&&(Dct(t,r,n,a),Hy.hasLines(r)||mde(t,r,a)),(r.fill==="tonext"||r.fill==="toself")&&c.push("fills"),a("hoveron",c.join("+")||"points"),gde.coerceSelectionMarkerOpacity(r,a)}});var wde=J((x9t,bde)=>{"use strict";var TI=nn();bde.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot;return i.aLabel=TI.tickText(a.aaxis,t.a,!0).text,i.bLabel=TI.tickText(a.baxis,t.b,!0).text,i.cLabel=TI.tickText(a.caxis,t.c,!0).text,i}});var Mde=J((b9t,Ade)=>{"use strict";var AI=dn(),Pct=Ag(),Ict=nd(),qct=oh(),Fct=Mg().calcMarkerSize,_de=["a","b","c"],Tde={a:["b","c"],b:["a","c"],c:["a","b"]};Ade.exports=function(t,r){var n=t._fullLayout[r.subplot],i=n.sum,a=r.sum||i,o={a:r.a,b:r.b,c:r.c},s,l,u,f,c,h;for(s=0;s<_de.length;s++)if(u=_de[s],!o[u]){for(c=o[Tde[u][0]],h=o[Tde[u][1]],f=new Array(c.length),l=0;l<c.length;l++)f[l]=a-c[l]-h[l];o[u]=f}var d=r._length,v=new Array(d),m,b,g,_,T,w;for(s=0;s<d;s++)m=o.a[s],b=o.b[s],g=o.c[s],AI(m)&&AI(b)&&AI(g)?(m=+m,b=+b,g=+g,_=i/(m+b+g),_!==1&&(m*=_,b*=_,g*=_),w=m,T=g-b,v[s]={x:T,y:w,a:m,b,c:g}):v[s]={x:!1,y:!1};return Fct(r,d),Pct(t,r),Ict(v,r),qct(v,r),v}});var Sde=J((w9t,kde)=>{"use strict";var zct=lw();kde.exports=function(t,r,n){var i=r.plotContainer;i.select(".scatterlayer").selectAll("*").remove();for(var a=r.xaxis,o=r.yaxis,s={xaxis:a,yaxis:o,plot:i,layerClipId:r._hasClipOnAxisFalse?r.clipIdRelative:null},l=r.layers.frontplot.select("g.scatterlayer"),u=0;u<n.length;u++){var f=n[u];f.length&&(f[0].trace._xA=a,f[0].trace._yA=o)}zct(t,s,n,l)}});var Ede=J((_9t,Cde)=>{"use strict";var Nct=uw();Cde.exports=function(t,r,n,i){var a=Nct(t,r,n,i);if(!a||a[0].index===!1)return;var o=a[0];if(o.index===void 0){var s=1-o.y0/t.ya._length,l=t.xa._length,u=l*s/2,f=l-u;return o.x0=Math.max(Math.min(o.x0,f),u),o.x1=Math.max(Math.min(o.x1,f),u),a}var c=o.cd[o.index],h=o.trace,d=o.subplot;o.a=c.a,o.b=c.b,o.c=c.c,o.xLabelVal=void 0,o.yLabelVal=void 0;var v={};v[h.subplot]={_subplot:d};var m=h._module.formatLabels(c,h,v);o.aLabel=m.aLabel,o.bLabel=m.bLabel,o.cLabel=m.cLabel;var b=c.hi||h.hoverinfo,g=[];function _(w,k){g.push(w._hovertitle+": "+k)}if(!h.hovertemplate){var T=b.split("+");T.indexOf("all")!==-1&&(T=["a","b","c"]),T.indexOf("a")!==-1&&_(d.aaxis,o.aLabel),T.indexOf("b")!==-1&&_(d.baxis,o.bLabel),T.indexOf("c")!==-1&&_(d.caxis,o.cLabel)}return o.extraText=g.join("<br>"),o.hovertemplate=h.hovertemplate,a}});var Dde=J((T9t,Lde)=>{"use strict";Lde.exports=function(t,r,n,i,a){if(r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),i[a]){var o=i[a];t.a=o.a,t.b=o.b,t.c=o.c}else t.a=r.a,t.b=r.b,t.c=r.c;return t}});var Hde=J((A9t,Ude)=>{"use strict";var zde=Nr(),Oct=ls(),MI=zr(),hd=gt(),fv=hd.strTranslate,SS=hd._,Vy=qr(),CS=ln(),$w=Zv(),kI=cn().extendFlat,Bct=ea(),N0=nn(),Rde=iu(),Pde=go(),Nde=y0(),Ide=Nde.freeMode,Uct=Nde.rectMode,SI=tg(),Hct=ml().prepSelect,jct=ml().selectOnClick,Vct=ml().clearOutline,Yct=ml().clearSelectionsCache,Ode=Eo();function Bde(e,t){this.id=e.id,this.graphDiv=e.graphDiv,this.init(t),this.makeFramework(t),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}Ude.exports=Bde;var vd=Bde.prototype;vd.init=function(e){this.container=e._ternarylayer,this.defs=e._defs,this.layoutId=e._uid,this.traceHash={},this.layers={}};vd.plot=function(e,t){var r=this,n=t[r.id],i=t._size;r._hasClipOnAxisFalse=!1;for(var a=0;a<e.length;a++){var o=e[a][0].trace;if(o.cliponaxis===!1){r._hasClipOnAxisFalse=!0;break}}r.updateLayers(n),r.adjustLayout(n,i),Bct.generalUpdatePerTraceModule(r.graphDiv,r,e,n),r.layers.plotbg.select("path").call(Vy.fill,n.bgcolor)};vd.makeFramework=function(e){var t=this,r=t.graphDiv,n=e[t.id],i=t.clipId="clip"+t.layoutId+t.id,a=t.clipIdRelative="clip-relative"+t.layoutId+t.id;t.clipDef=hd.ensureSingleById(e._clips,"clipPath",i,function(o){o.append("path").attr("d","M0,0Z")}),t.clipDefRelative=hd.ensureSingleById(e._clips,"clipPath",a,function(o){o.append("path").attr("d","M0,0Z")}),t.plotContainer=hd.ensureSingle(t.container,"g",t.id),t.updateLayers(n),CS.setClipUrl(t.layers.backplot,i,r),CS.setClipUrl(t.layers.grids,i,r)};vd.updateLayers=function(e){var t=this,r=t.layers,n=["draglayer","plotbg","backplot","grids"];e.aaxis.layer==="below traces"&&n.push("aaxis","aline"),e.baxis.layer==="below traces"&&n.push("baxis","bline"),e.caxis.layer==="below traces"&&n.push("caxis","cline"),n.push("frontplot"),e.aaxis.layer==="above traces"&&n.push("aaxis","aline"),e.baxis.layer==="above traces"&&n.push("baxis","bline"),e.caxis.layer==="above traces"&&n.push("caxis","cline");var i=t.plotContainer.selectAll("g.toplevel").data(n,String),a=["agrid","bgrid","cgrid"];i.enter().append("g").attr("class",function(o){return"toplevel "+o}).each(function(o){var s=zde.select(this);r[o]=s,o==="frontplot"?s.append("g").classed("scatterlayer",!0):o==="backplot"?s.append("g").classed("maplayer",!0):o==="plotbg"?s.append("path").attr("d","M0,0Z"):o==="aline"||o==="bline"||o==="cline"?s.append("path"):o==="grids"&&a.forEach(function(l){r[l]=s.append("g").classed("grid "+l,!0)})}),i.order()};var jy=Math.sqrt(4/3);vd.adjustLayout=function(e,t){var r=this,n=e.domain,i=(n.x[0]+n.x[1])/2,a=(n.y[0]+n.y[1])/2,o=n.x[1]-n.x[0],s=n.y[1]-n.y[0],l=o*t.w,u=s*t.h,f=e.sum,c=e.aaxis.min,h=e.baxis.min,d=e.caxis.min,v,m,b,g,_,T;l>jy*u?(g=u,b=g*jy):(b=l,g=b/jy),_=o*b/l,T=s*g/u,v=t.l+t.w*i-b/2,m=t.t+t.h*(1-a)-g/2,r.x0=v,r.y0=m,r.w=b,r.h=g,r.sum=f,r.xaxis={type:"linear",range:[c+2*d-f,f-c-2*h],domain:[i-_/2,i+_/2],_id:"x"},$w(r.xaxis,r.graphDiv._fullLayout),r.xaxis.setScale(),r.xaxis.isPtWithinRange=function(L){return L.a>=r.aaxis.range[0]&&L.a<=r.aaxis.range[1]&&L.b>=r.baxis.range[1]&&L.b<=r.baxis.range[0]&&L.c>=r.caxis.range[1]&&L.c<=r.caxis.range[0]},r.yaxis={type:"linear",range:[c,f-h-d],domain:[a-T/2,a+T/2],_id:"y"},$w(r.yaxis,r.graphDiv._fullLayout),r.yaxis.setScale(),r.yaxis.isPtWithinRange=function(){return!0};var w=r.yaxis.domain[0],k=r.aaxis=kI({},e.aaxis,{range:[c,f-h-d],side:"left",tickangle:(+e.aaxis.tickangle||0)-30,domain:[w,w+T*jy],anchor:"free",position:0,_id:"y",_length:b});$w(k,r.graphDiv._fullLayout),k.setScale();var x=r.baxis=kI({},e.baxis,{range:[f-c-d,h],side:"bottom",domain:r.xaxis.domain,anchor:"free",position:0,_id:"x",_length:b});$w(x,r.graphDiv._fullLayout),x.setScale();var M=r.caxis=kI({},e.caxis,{range:[f-c-h,d],side:"right",tickangle:(+e.caxis.tickangle||0)+30,domain:[w,w+T*jy],anchor:"free",position:0,_id:"y",_length:b});$w(M,r.graphDiv._fullLayout),M.setScale();var A="M"+v+","+(m+g)+"h"+b+"l-"+b/2+",-"+g+"Z";r.clipDef.select("path").attr("d",A),r.layers.plotbg.select("path").attr("d",A);var p="M0,"+g+"h"+b+"l-"+b/2+",-"+g+"Z";r.clipDefRelative.select("path").attr("d",p);var S=fv(v,m);r.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",S),r.clipDefRelative.select("path").attr("transform",null);var y=fv(v-x._offset,m+g);r.layers.baxis.attr("transform",y),r.layers.bgrid.attr("transform",y);var E=fv(v+b/2,m)+"rotate(30)"+fv(0,-k._offset);r.layers.aaxis.attr("transform",E),r.layers.agrid.attr("transform",E);var C=fv(v+b/2,m)+"rotate(-30)"+fv(0,-M._offset);r.layers.caxis.attr("transform",C),r.layers.cgrid.attr("transform",C),r.drawAxes(!0),r.layers.aline.select("path").attr("d",k.showline?"M"+v+","+(m+g)+"l"+b/2+",-"+g:"M0,0").call(Vy.stroke,k.linecolor||"#000").style("stroke-width",(k.linewidth||0)+"px"),r.layers.bline.select("path").attr("d",x.showline?"M"+v+","+(m+g)+"h"+b:"M0,0").call(Vy.stroke,x.linecolor||"#000").style("stroke-width",(x.linewidth||0)+"px"),r.layers.cline.select("path").attr("d",M.showline?"M"+(v+b/2)+","+m+"l"+b/2+","+g:"M0,0").call(Vy.stroke,M.linecolor||"#000").style("stroke-width",(M.linewidth||0)+"px"),r.graphDiv._context.staticPlot||r.initInteractions(),CS.setClipUrl(r.layers.frontplot,r._hasClipOnAxisFalse?null:r.clipId,r.graphDiv)};vd.drawAxes=function(e){var t=this,r=t.graphDiv,n=t.id.substr(7)+"title",i=t.layers,a=t.aaxis,o=t.baxis,s=t.caxis;if(t.drawAx(a),t.drawAx(o),t.drawAx(s),e){var l=Math.max(a.showticklabels?a.tickfont.size/2:0,(s.showticklabels?s.tickfont.size*.75:0)+(s.ticks==="outside"?s.ticklen*.87:0)),u=(o.showticklabels?o.tickfont.size:0)+(o.ticks==="outside"?o.ticklen:0)+3;i["a-title"]=SI.draw(r,"a"+n,{propContainer:a,propName:t.id+".aaxis.title",placeholder:SS(r,"Click to enter Component A title"),attributes:{x:t.x0+t.w/2,y:t.y0-a.title.font.size/3-l,"text-anchor":"middle"}}),i["b-title"]=SI.draw(r,"b"+n,{propContainer:o,propName:t.id+".baxis.title",placeholder:SS(r,"Click to enter Component B title"),attributes:{x:t.x0-u,y:t.y0+t.h+o.title.font.size*.83+u,"text-anchor":"middle"}}),i["c-title"]=SI.draw(r,"c"+n,{propContainer:s,propName:t.id+".caxis.title",placeholder:SS(r,"Click to enter Component C title"),attributes:{x:t.x0+t.w+u,y:t.y0+t.h+s.title.font.size*.83+u,"text-anchor":"middle"}})}};vd.drawAx=function(e){var t=this,r=t.graphDiv,n=e._name,i=n.charAt(0),a=e._id,o=t.layers[n],s=30,l=i+"tickLayout",u=Gct(e);t[l]!==u&&(o.selectAll("."+a+"tick").remove(),t[l]=u),e.setScale();var f=N0.calcTicks(e),c=N0.clipEnds(e,f),h=N0.makeTransTickFn(e),d=N0.getTickSigns(e)[2],v=hd.deg2rad(s),m=d*(e.linewidth||1)/2,b=d*e.ticklen,g=t.w,_=t.h,T=i==="b"?"M0,"+m+"l"+Math.sin(v)*b+","+Math.cos(v)*b:"M"+m+",0l"+Math.cos(v)*b+","+-Math.sin(v)*b,w={a:"M0,0l"+_+",-"+g/2,b:"M0,0l-"+g/2+",-"+_,c:"M0,0l-"+_+","+g/2}[i];N0.drawTicks(r,e,{vals:e.ticks==="inside"?c:f,layer:o,path:T,transFn:h,crisp:!1}),N0.drawGrid(r,e,{vals:c,layer:t.layers[i+"grid"],path:w,transFn:h,crisp:!1}),N0.drawLabels(r,e,{vals:f,layer:o,transFn:h,labelFns:N0.makeLabelFns(e,0,s)})};function Gct(e){return e.ticks+String(e.ticklen)+String(e.showticklabels)}var ms=Ode.MINZOOM/2+.87,Wct="m-0.87,.5h"+ms+"v3h-"+(ms+5.2)+"l"+(ms/2+2.6)+",-"+(ms*.87+4.5)+"l2.6,1.5l-"+ms/2+","+ms*.87+"Z",Xct="m0.87,.5h-"+ms+"v3h"+(ms+5.2)+"l-"+(ms/2+2.6)+",-"+(ms*.87+4.5)+"l-2.6,1.5l"+ms/2+","+ms*.87+"Z",Zct="m0,1l"+ms/2+","+ms*.87+"l2.6,-1.5l-"+(ms/2+2.6)+",-"+(ms*.87+4.5)+"l-"+(ms/2+2.6)+","+(ms*.87+4.5)+"l2.6,1.5l"+ms/2+",-"+ms*.87+"Z",Jct="m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z",qde=!0;vd.clearOutline=function(){Yct(this.dragOptions),Vct(this.dragOptions.gd)};vd.initInteractions=function(){var e=this,t=e.layers.plotbg.select("path").node(),r=e.graphDiv,n=r._fullLayout._zoomlayer,i,a;this.dragOptions={element:t,gd:r,plotinfo:{id:e.id,domain:r._fullLayout[e.id].domain,xaxis:e.xaxis,yaxis:e.yaxis},subplot:e.id,prepFn:function(y,E,C){e.dragOptions.xaxes=[e.xaxis],e.dragOptions.yaxes=[e.yaxis],i=r._fullLayout._invScaleX,a=r._fullLayout._invScaleY;var L=e.dragOptions.dragmode=r._fullLayout.dragmode;Ide(L)?e.dragOptions.minDrag=1:e.dragOptions.minDrag=void 0,L==="zoom"?(e.dragOptions.moveFn=x,e.dragOptions.clickFn=g,e.dragOptions.doneFn=M,_(y,E,C)):L==="pan"?(e.dragOptions.moveFn=p,e.dragOptions.clickFn=g,e.dragOptions.doneFn=S,A(),e.clearOutline(r)):(Uct(L)||Ide(L))&&Hct(y,E,C,e.dragOptions,L)}};var o,s,l,u,f,c,h,d,v,m;function b(y){var E={};return E[e.id+".aaxis.min"]=y.a,E[e.id+".baxis.min"]=y.b,E[e.id+".caxis.min"]=y.c,E}function g(y,E){var C=r._fullLayout.clickmode;Fde(r),y===2&&(r.emit("plotly_doubleclick",null),MI.call("_guiRelayout",r,b({a:0,b:0,c:0}))),C.indexOf("select")>-1&&y===1&&jct(E,r,[e.xaxis],[e.yaxis],e.id,e.dragOptions),C.indexOf("event")>-1&&Pde.click(r,E,e.id)}function _(y,E,C){var L=t.getBoundingClientRect();o=E-L.left,s=C-L.top,r._fullLayout._calcInverseTransform(r);var R=r._fullLayout._invTransform,I=hd.apply3DTransform(R)(o,s);o=I[0],s=I[1],l={a:e.aaxis.range[0],b:e.baxis.range[1],c:e.caxis.range[1]},f=l,u=e.aaxis.range[1]-l.a,c=Oct(e.graphDiv._fullLayout[e.id].bgcolor).getLuminance(),h="M0,"+e.h+"L"+e.w/2+", 0L"+e.w+","+e.h+"Z",d=!1,v=n.append("path").attr("class","zoombox").attr("transform",fv(e.x0,e.y0)).style({fill:c>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("d",h),m=n.append("path").attr("class","zoombox-corners").attr("transform",fv(e.x0,e.y0)).style({fill:Vy.background,stroke:Vy.defaultLine,"stroke-width":1,opacity:0}).attr("d","M0,0Z"),e.clearOutline(r)}function T(y,E){return 1-E/e.h}function w(y,E){return 1-(y+(e.h-E)/Math.sqrt(3))/e.w}function k(y,E){return(y-(e.h-E)/Math.sqrt(3))/e.w}function x(y,E){var C=o+y*i,L=s+E*a,R=Math.max(0,Math.min(1,T(o,s),T(C,L))),I=Math.max(0,Math.min(1,w(o,s),w(C,L))),P=Math.max(0,Math.min(1,k(o,s),k(C,L))),D=(R/2+P)*e.w,q=(1-R/2-I)*e.w,N=(D+q)/2,U=q-D,G=(1-R)*e.h,ee=G-U/jy;U<Ode.MINZOOM?(f=l,v.attr("d",h),m.attr("d","M0,0Z")):(f={a:l.a+R*u,b:l.b+I*u,c:l.c+P*u},v.attr("d",h+"M"+D+","+G+"H"+q+"L"+N+","+ee+"L"+D+","+G+"Z"),m.attr("d","M"+o+","+s+Jct+"M"+D+","+G+Wct+"M"+q+","+G+Xct+"M"+N+","+ee+Zct)),d||(v.transition().style("fill",c>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),m.transition().style("opacity",1).duration(200),d=!0),r.emit("plotly_relayouting",b(f))}function M(){Fde(r),f!==l&&(MI.call("_guiRelayout",r,b(f)),qde&&r.data&&r._context.showTips&&(hd.notifier(SS(r,"Double-click to zoom back out"),"long"),qde=!1))}function A(){l={a:e.aaxis.range[0],b:e.baxis.range[1],c:e.caxis.range[1]},f=l}function p(y,E){var C=y/e.xaxis._m,L=E/e.yaxis._m;f={a:l.a-L,b:l.b+(C+L)/2,c:l.c-(C-L)/2};var R=[f.a,f.b,f.c].sort(hd.sorterAsc),I={a:R.indexOf(f.a),b:R.indexOf(f.b),c:R.indexOf(f.c)};R[0]<0&&(R[1]+R[0]/2<0?(R[2]+=R[0]+R[1],R[0]=R[1]=0):(R[2]+=R[0]/2,R[1]+=R[0]/2,R[0]=0),f={a:R[I.a],b:R[I.b],c:R[I.c]},E=(l.a-f.a)*e.yaxis._m,y=(l.c-f.c-l.b+f.b)*e.xaxis._m);var P=fv(e.x0+y,e.y0+E);e.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",P);var D=fv(-y,-E);e.clipDefRelative.select("path").attr("transform",D),e.aaxis.range=[f.a,e.sum-f.b-f.c],e.baxis.range=[e.sum-f.a-f.c,f.b],e.caxis.range=[e.sum-f.a-f.b,f.c],e.drawAxes(!1),e._hasClipOnAxisFalse&&e.plotContainer.select(".scatterlayer").selectAll(".trace").call(CS.hideOutsideRangePoints,e),r.emit("plotly_relayouting",b(f))}function S(){MI.call("_guiRelayout",r,b(f))}t.onmousemove=function(y){Pde.hover(r,y,e.id),r._fullLayout._lasthover=t,r._fullLayout._hoversubplot=e.id},t.onmouseout=function(y){r._dragging||Rde.unhover(r,y)},Rde.init(this.dragOptions)};function Fde(e){zde.select(e).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}});var LI=J((M9t,jde)=>{"use strict";var $ct=Ho(),Kct=Wa().attributes,Ai=hl(),Qct=La().overrideAll,CI=cn().extendFlat,EI={title:{text:Ai.title.text,font:Ai.title.font},color:Ai.color,tickmode:Ai.minor.tickmode,nticks:CI({},Ai.nticks,{dflt:6,min:1}),tick0:Ai.tick0,dtick:Ai.dtick,tickvals:Ai.tickvals,ticktext:Ai.ticktext,ticks:Ai.ticks,ticklen:Ai.ticklen,tickwidth:Ai.tickwidth,tickcolor:Ai.tickcolor,ticklabelstep:Ai.ticklabelstep,showticklabels:Ai.showticklabels,labelalias:Ai.labelalias,showtickprefix:Ai.showtickprefix,tickprefix:Ai.tickprefix,showticksuffix:Ai.showticksuffix,ticksuffix:Ai.ticksuffix,showexponent:Ai.showexponent,exponentformat:Ai.exponentformat,minexponent:Ai.minexponent,separatethousands:Ai.separatethousands,tickfont:Ai.tickfont,tickangle:Ai.tickangle,tickformat:Ai.tickformat,tickformatstops:Ai.tickformatstops,hoverformat:Ai.hoverformat,showline:CI({},Ai.showline,{dflt:!0}),linecolor:Ai.linecolor,linewidth:Ai.linewidth,showgrid:CI({},Ai.showgrid,{dflt:!0}),gridcolor:Ai.gridcolor,gridwidth:Ai.gridwidth,griddash:Ai.griddash,layer:Ai.layer,min:{valType:"number",dflt:0,min:0,description:["The minimum value visible on this axis.","The maximum is determined by the sum minus the minimum","values of the other two axes. The full view corresponds to","all the minima set to zero."].join(" ")},_deprecated:{title:Ai._deprecated.title,titlefont:Ai._deprecated.titlefont}},ES=jde.exports=Qct({domain:Kct({name:"ternary"}),bgcolor:{valType:"color",dflt:$ct.background,description:"Set the background color of the subplot"},sum:{valType:"number",dflt:1,min:0,description:["The number each triplet should sum to,","and the maximum range of each axis"].join(" ")},aaxis:EI,baxis:EI,caxis:EI},"plot","from-root");ES.uirevision={valType:"any",editType:"none",description:["Controls persistence of user-driven changes in axis `min` and `title`,","if not overridden in the individual axes.","Defaults to `layout.uirevision`."].join(" ")};ES.aaxis.uirevision=ES.baxis.uirevision=ES.caxis.uirevision={valType:"any",editType:"none",description:["Controls persistence of user-driven changes in axis `min`,","and `title` if in `editable: true` configuration.","Defaults to `ternary<N>.uirevision`."].join(" ")}});var Kw=J((k9t,Vde)=>{"use strict";var eht=gt(),tht=ki(),rht=Wa().defaults;Vde.exports=function(t,r,n,i){var a=i.type,o=i.attributes,s=i.handleDefaults,l=i.partition||"x",u=r._subplots[a],f=u.length,c=f&&u[0].replace(/\d+$/,""),h,d;function v(_,T){return eht.coerce(h,d,o,_,T)}for(var m=0;m<f;m++){var b=u[m];t[b]?h=t[b]:h=t[b]={},d=tht.newContainer(r,b,c),i.noUirevision||v("uirevision",r.uirevision);var g={};g[l]=[m/f,(m+1)/f],rht(d,r,v,g),i.id=b,s(h,d,v,i)}}});var Xde=J((S9t,Wde)=>{"use strict";var nht=qr(),iht=ki(),LS=gt(),aht=Kw(),oht=Xp(),sht=Zp(),lht=N1(),uht=Wp(),fht=ak(),Gde=LI(),Yde=["aaxis","baxis","caxis"];Wde.exports=function(t,r,n){aht(t,r,n,{type:"ternary",attributes:Gde,handleDefaults:cht,font:r.font,paper_bgcolor:r.paper_bgcolor})};function cht(e,t,r,n){var i=r("bgcolor"),a=r("sum");n.bgColor=nht.combine(i,n.paper_bgcolor);for(var o,s,l,u=0;u<Yde.length;u++)o=Yde[u],s=e[o]||{},l=iht.newContainer(t,o),l._name=o,hht(s,l,n,t);var f=t.aaxis,c=t.baxis,h=t.caxis;f.min+c.min+h.min>=a&&(f.min=0,c.min=0,h.min=0,e.aaxis&&delete e.aaxis.min,e.baxis&&delete e.baxis.min,e.caxis&&delete e.caxis.min)}function hht(e,t,r,n){var i=Gde[t._name];function a(d,v){return LS.coerce(e,t,i,d,v)}a("uirevision",n.uirevision),t.type="linear";var o=a("color"),s=o!==i.color.dflt?o:r.font.color,l=t._name,u=l.charAt(0).toUpperCase(),f="Component "+u,c=a("title.text",f);t._hovertitle=c===f?c:u,LS.coerceFont(a,"title.font",r.font,{overrideDflt:{size:LS.bigFont(r.font.size),color:s}}),a("min"),uht(e,t,a,"linear"),sht(e,t,a,"linear"),oht(e,t,a,"linear",{noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0}),lht(e,t,a,{outerTicks:!0});var h=a("showticklabels");h&&(LS.coerceFont(a,"tickfont",r.font,{overrideDflt:{color:s}}),a("tickangle"),a("tickformat")),fht(e,t,a,{dfltColor:o,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:i}),a("hoverformat"),a("layer")}});var Zde=J(gh=>{"use strict";var vht=Hde(),dht=Nu().getSubplotCalcData,pht=gt().counterRegex,Yy="ternary";gh.name=Yy;var ght=gh.attr="subplot";gh.idRoot=Yy;gh.idRegex=gh.attrRegex=pht(Yy);var mht=gh.attributes={};mht[ght]={valType:"subplotid",dflt:"ternary",editType:"calc",description:["Sets a reference between this trace's data coordinates and","a ternary subplot.","If *ternary* (the default value), the data refer to `layout.ternary`.","If *ternary2*, the data refer to `layout.ternary2`, and so on."].join(" ")};gh.layoutAttributes=LI();gh.supplyLayoutDefaults=Xde();gh.plot=function(t){for(var r=t._fullLayout,n=t.calcdata,i=r._subplots[Yy],a=0;a<i.length;a++){var o=i[a],s=dht(n,Yy,o),l=r[o]._subplot;l||(l=new vht({id:o,graphDiv:t,container:r._ternarylayer.node()},r),r[o]._subplot=l),l.plot(s,r,t._promises)}};gh.clean=function(e,t,r,n){for(var i=n._subplots[Yy]||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;!t[o]&&s&&(s.plotContainer.remove(),s.clipDef.remove(),s.clipDefRelative.remove(),s.layers["a-title"].remove(),s.layers["b-title"].remove(),s.layers["c-title"].remove())}}});var $de=J((E9t,Jde)=>{"use strict";Jde.exports={attributes:_I(),supplyDefaults:xde(),colorbar:pc(),formatLabels:wde(),calc:Mde(),plot:Sde(),style:Ef().style,styleOnSelect:Ef().styleOnSelect,hoverPoints:Ede(),selectPoints:fw(),eventData:Dde(),moduleType:"trace",name:"scatterternary",basePlotModule:Zde(),categories:["ternary","symbols","showLegend","scatter-like"],meta:{hrName:"scatter_ternary",description:["Provides similar functionality to the *scatter* type but on a ternary phase diagram.","The data is provided by at least two arrays out of `a`, `b`, `c` triplets."].join(" ")}}});var Qde=J((L9t,Kde)=>{"use strict";Kde.exports=$de()});var DI=J((D9t,t0e)=>{"use strict";var Wo=Dw(),Gy=cn().extendFlat,e0e=Ga().axisHoverFormat;t0e.exports={y:Wo.y,x:Wo.x,x0:Wo.x0,y0:Wo.y0,xhoverformat:e0e("x"),yhoverformat:e0e("y"),name:Gy({},Wo.name,{description:["Sets the trace name.","The trace name appears as the legend item and on hover.","For violin traces, the name will also be used for the position","coordinate, if `x` and `x0` (`y` and `y0` if horizontal) are","missing and the position axis is categorical.","Note that the trace name is also used as a default value","for attribute `scalegroup` (please see its description for details)."].join(" ")}),orientation:Gy({},Wo.orientation,{description:["Sets the orientation of the violin(s).","If *v* (*h*), the distribution is visualized along","the vertical (horizontal)."].join(" ")}),bandwidth:{valType:"number",min:0,editType:"calc",description:["Sets the bandwidth used to compute the kernel density estimate.","By default, the bandwidth is determined by Silverman's rule of thumb."].join(" ")},scalegroup:{valType:"string",dflt:"",editType:"calc",description:["If there are multiple violins that should be sized according to","to some metric (see `scalemode`), link them by providing a non-empty group id here","shared by every trace in the same group.","If a violin's `width` is undefined, `scalegroup` will default to the trace's name.","In this case, violins with the same names will be linked together"].join(" ")},scalemode:{valType:"enumerated",values:["width","count"],dflt:"width",editType:"calc",description:["Sets the metric by which the width of each violin is determined.","*width* means each violin has the same (max) width","*count* means the violins are scaled by the number of sample points making","up each violin."].join(" ")},spanmode:{valType:"enumerated",values:["soft","hard","manual"],dflt:"soft",editType:"calc",description:["Sets the method by which the span in data space where the density function will be computed.","*soft* means the span goes from the sample's minimum value minus two bandwidths","to the sample's maximum value plus two bandwidths.","*hard* means the span goes from the sample's minimum to its maximum value.","For custom span settings, use mode *manual* and fill in the `span` attribute."].join(" ")},span:{valType:"info_array",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}],editType:"calc",description:["Sets the span in data space for which the density function will be computed.","Has an effect only when `spanmode` is set to *manual*."].join(" ")},line:{color:{valType:"color",editType:"style",description:"Sets the color of line bounding the violin(s)."},width:{valType:"number",min:0,dflt:2,editType:"style",description:"Sets the width (in px) of line bounding the violin(s)."},editType:"plot"},fillcolor:Wo.fillcolor,points:Gy({},Wo.boxpoints,{description:["If *outliers*, only the sample points lying outside the whiskers","are shown","If *suspectedoutliers*, the outlier points are shown and","points either less than 4*Q1-3*Q3 or greater than 4*Q3-3*Q1","are highlighted (see `outliercolor`)","If *all*, all sample points are shown","If *false*, only the violins are shown with no sample points.","Defaults to *suspectedoutliers* when `marker.outliercolor` or","`marker.line.outliercolor` is set,","otherwise defaults to *outliers*."].join(" ")}),jitter:Gy({},Wo.jitter,{description:["Sets the amount of jitter in the sample points drawn.","If *0*, the sample points align along the distribution axis.","If *1*, the sample points are drawn in a random jitter of width","equal to the width of the violins."].join(" ")}),pointpos:Gy({},Wo.pointpos,{description:["Sets the position of the sample points in relation to the violins.","If *0*, the sample points are places over the center of the violins.","Positive (negative) values correspond to positions to the","right (left) for vertical violins and above (below) for horizontal violins."].join(" ")}),width:Gy({},Wo.width,{description:["Sets the width of the violin in data coordinates.","If *0* (default value) the width is automatically selected based on the positions","of other violin traces in the same subplot."].join(" ")}),marker:Wo.marker,text:Wo.text,hovertext:Wo.hovertext,hovertemplate:Wo.hovertemplate,quartilemethod:Wo.quartilemethod,box:{visible:{valType:"boolean",dflt:!1,editType:"plot",description:["Determines if an miniature box plot is drawn inside the violins. "].join(" ")},width:{valType:"number",min:0,max:1,dflt:.25,editType:"plot",description:["Sets the width of the inner box plots relative to","the violins' width.","For example, with 1, the inner box plots are as wide as the violins."].join(" ")},fillcolor:{valType:"color",editType:"style",description:"Sets the inner box plot fill color."},line:{color:{valType:"color",editType:"style",description:"Sets the inner box plot bounding line color."},width:{valType:"number",min:0,editType:"style",description:"Sets the inner box plot bounding line width."},editType:"style"},editType:"plot"},meanline:{visible:{valType:"boolean",dflt:!1,editType:"plot",description:["Determines if a line corresponding to the sample's mean is shown","inside the violins.","If `box.visible` is turned on, the mean line is drawn inside the inner box.","Otherwise, the mean line is drawn from one side of the violin to other."].join(" ")},color:{valType:"color",editType:"style",description:"Sets the mean line color."},width:{valType:"number",min:0,editType:"style",description:"Sets the mean line width."},editType:"plot"},side:{valType:"enumerated",values:["both","positive","negative"],dflt:"both",editType:"calc",description:["Determines on which side of the position value the density function making up","one half of a violin is plotted.","Useful when comparing two violin traces under *overlay* mode, where one trace","has `side` set to *positive* and the other to *negative*."].join(" ")},offsetgroup:Wo.offsetgroup,alignmentgroup:Wo.alignmentgroup,selected:Wo.selected,unselected:Wo.unselected,hoveron:{valType:"flaglist",flags:["violins","points","kde"],dflt:"violins+points+kde",extras:["all"],editType:"style",description:["Do the hover effects highlight individual violins","or sample points or the kernel density estimate or any combination of them?"].join(" ")},zorder:Wo.zorder}});var II=J((R9t,r0e)=>{"use strict";var RI=Rw(),PI=gt().extendFlat;r0e.exports={violinmode:PI({},RI.boxmode,{description:["Determines how violins at the same location coordinate","are displayed on the graph.","If *group*, the violins are plotted next to one another","centered around the shared location.","If *overlay*, the violins are plotted over one another,","you might need to set *opacity* to see them multiple violins.","Has no effect on traces that have *width* set."].join(" ")}),violingap:PI({},RI.boxgap,{description:["Sets the gap (in plot fraction) between violins of","adjacent location coordinates.","Has no effect on traces that have *width* set."].join(" ")}),violingroupgap:PI({},RI.boxgroupgap,{description:["Sets the gap (in plot fraction) between violins of","the same location coordinate.","Has no effect on traces that have *width* set."].join(" ")})}});var s0e=J((P9t,o0e)=>{"use strict";var n0e=gt(),yht=qr(),i0e=Iw(),a0e=DI();o0e.exports=function(t,r,n,i){function a(k,x){return n0e.coerce(t,r,a0e,k,x)}function o(k,x){return n0e.coerce2(t,r,a0e,k,x)}if(i0e.handleSampleDefaults(t,r,a,i),r.visible!==!1){a("bandwidth"),a("side");var s=a("width");s||(a("scalegroup",r.name),a("scalemode"));var l=a("span"),u;Array.isArray(l)&&(u="manual"),a("spanmode",u);var f=a("line.color",(t.marker||{}).color||n),c=a("line.width"),h=a("fillcolor",yht.addOpacity(r.line.color,.5));i0e.handlePointsDefaults(t,r,a,{prefix:""});var d=o("box.width"),v=o("box.fillcolor",h),m=o("box.line.color",f),b=o("box.line.width",c),g=a("box.visible",Boolean(d||v||m||b));g||(r.box={visible:!1});var _=o("meanline.color",f),T=o("meanline.width",c),w=a("meanline.visible",Boolean(_||T));w||(r.meanline={visible:!1}),a("quartilemethod"),a("zorder")}}});var u0e=J((I9t,l0e)=>{"use strict";var xht=gt(),bht=II(),wht=Gk();l0e.exports=function(t,r,n){function i(a,o){return xht.coerce(t,r,bht,a,o)}wht._supply(t,r,n,i,"violin")}});var DS=J(jg=>{"use strict";var _ht=gt(),Tht={gaussian:function(e){return 1/Math.sqrt(2*Math.PI)*Math.exp(-.5*e*e)}};jg.makeKDE=function(e,t,r){var n=r.length,i=Tht.gaussian,a=e.bandwidth,o=1/(n*a);return function(s){for(var l=0,u=0;u<n;u++)l+=i((s-r[u])/a);return o*l}};jg.getPositionOnKdePath=function(e,t,r){var n,i;t.orientation==="h"?(n="y",i="x"):(n="x",i="y");var a=_ht.findPointOnPath(e.path,r,i,{pathLength:e.pathLength}),o=e.posCenterPx,s=a[n],l=t.side==="both"?2*o-s:o;return[s,l]};jg.getKdeValue=function(e,t,r){var n=e.pts.map(jg.extractVal),i=jg.makeKDE(e,t,n);return i(r)/e.posDensityScale};jg.extractVal=function(e){return e.v}});var h0e=J((F9t,c0e)=>{"use strict";var qI=gt(),FI=nn(),Aht=MP(),f0e=DS(),Mht=oi().BADNUM;c0e.exports=function(t,r){var n=Aht(t,r);if(n[0].t.empty)return n;for(var i=t._fullLayout,a=FI.getFromId(t,r[r.orientation==="h"?"xaxis":"yaxis"]),o=1/0,s=-1/0,l=0,u=0,f=0;f<n.length;f++){var c=n[f],h=c.pts.map(f0e.extractVal),d=c.bandwidth=Sht(r,c,h),v=c.span=Cht(r,c,a,d);if(c.min===c.max&&d===0)v=c.span=[c.min,c.max],c.density=[{v:1,t:v[0]}],c.bandwidth=d,l=Math.max(l,1);else{var m=v[1]-v[0],b=Math.ceil(m/(d/3)),g=m/b;if(!isFinite(g)||!isFinite(b))return qI.error("Something went wrong with computing the violin span"),n[0].t.empty=!0,n;var _=f0e.makeKDE(c,r,h);c.density=new Array(b);for(var T=0,w=v[0];w<v[1]+g/2;T++,w+=g){var k=_(w);c.density[T]={v:k,t:w},l=Math.max(l,k)}}u=Math.max(u,h.length),o=Math.min(o,v[0]),s=Math.max(s,v[1])}var x=FI.findExtremes(a,[o,s],{padded:!0});if(r._extremes[a._id]=x,r.width)n[0].t.maxKDE=l;else{var M=i._violinScaleGroupStats,A=r.scalegroup,p=M[A];p?(p.maxKDE=Math.max(p.maxKDE,l),p.maxCount=Math.max(p.maxCount,u)):M[A]={maxKDE:l,maxCount:u}}return n[0].t.labels.kde=qI._(t,"kde:"),n};function kht(e,t,r){var n=Math.min(t,r/1.349);return 1.059*n*Math.pow(e,-.2)}function Sht(e,t,r){var n=t.max-t.min;if(!n)return e.bandwidth?e.bandwidth:0;if(e.bandwidth)return Math.max(e.bandwidth,n/1e4);var i=r.length,a=qI.stdev(r,i-1,t.mean);return Math.max(kht(i,a,t.q3-t.q1),n/100)}function Cht(e,t,r,n){var i=e.spanmode,a=e.span||[],o=[t.min,t.max],s=[t.min-2*n,t.max+2*n],l;function u(c){var h=a[c],d=r.type==="multicategory"?r.r2c(h):r.d2c(h,0,e[t.valLetter+"calendar"]);return d===Mht?s[c]:d}i==="soft"?l=s:i==="hard"?l=o:l=[u(0),u(1)];var f={type:"linear",range:l};return FI.setConvert(f),f.cleanRange(),l}});var p0e=J((z9t,d0e)=>{"use strict";var Eht=Xk().setPositionOffset,v0e=["v","h"];d0e.exports=function(t,r){for(var n=t.calcdata,i=r.xaxis,a=r.yaxis,o=0;o<v0e.length;o++){for(var s=v0e[o],l=s==="h"?a:i,u=[],f=0;f<n.length;f++){var c=n[f],h=c[0].t,d=c[0].trace;d.visible===!0&&d.type==="violin"&&!h.empty&&d.orientation===s&&d.xaxis===i._id&&d.yaxis===a._id&&u.push(f)}Eht("violin",t,u,l)}}});var m0e=J((N9t,g0e)=>{"use strict";var zI=Nr(),NI=gt(),Lht=ln(),OI=Zk(),Dht=fR(),Rht=DS();g0e.exports=function(t,r,n,i){var a=t._context.staticPlot,o=t._fullLayout,s=r.xaxis,l=r.yaxis;function u(f,c){var h=Dht(f,{xaxis:s,yaxis:l,trace:c,connectGaps:!0,baseTolerance:.75,shape:"spline",simplify:!0,linearized:!0});return Lht.smoothopen(h[0],1)}NI.makeTraceGroups(i,n,"trace violins").each(function(f){var c=zI.select(this),h=f[0],d=h.t,v=h.trace;if(v.visible!==!0||d.empty){c.remove();return}var m=d.bPos,b=d.bdPos,g=r[d.valLetter+"axis"],_=r[d.posLetter+"axis"],T=v.side==="both",w=T||v.side==="positive",k=T||v.side==="negative",x=c.selectAll("path.violin").data(NI.identity);x.enter().append("path").style("vector-effect",a?"none":"non-scaling-stroke").attr("class","violin"),x.exit().remove(),x.each(function(L){var R=zI.select(this),I=L.density,P=I.length,D=_.c2l(L.pos+m,!0),q=_.l2p(D),N;if(v.width)N=d.maxKDE/b;else{var U=o._violinScaleGroupStats[v.scalegroup];N=v.scalemode==="count"?U.maxKDE/b*(U.maxCount/L.pts.length):U.maxKDE/b}var G,ee,Q,j,O,Z,K;if(w){for(Z=new Array(P),j=0;j<P;j++)K=Z[j]={},K[d.posLetter]=D+I[j].v/N,K[d.valLetter]=g.c2l(I[j].t,!0);G=u(Z,v)}if(k){for(Z=new Array(P),O=0,j=P-1;O<P;O++,j--)K=Z[O]={},K[d.posLetter]=D-I[j].v/N,K[d.valLetter]=g.c2l(I[j].t,!0);ee=u(Z,v)}if(T)Q=G+"L"+ee.substr(1)+"Z";else{var $=[q,g.c2p(I[0].t)],oe=[q,g.c2p(I[P-1].t)];v.orientation==="h"&&($.reverse(),oe.reverse()),w?Q="M"+$+"L"+G.substr(1)+"L"+oe:Q="M"+oe+"L"+ee.substr(1)+"L"+$}R.attr("d",Q),L.posCenterPx=q,L.posDensityScale=N*b,L.path=R.node(),L.pathLength=L.path.getTotalLength()/(T?2:1)});var M=v.box,A=M.width,p=(M.line||{}).width,S,y;T?(S=b*A,y=0):w?(S=[0,b*A/2],y=p*{x:1,y:-1}[d.posLetter]):(S=[b*A/2,0],y=p*{x:-1,y:1}[d.posLetter]),OI.plotBoxAndWhiskers(c,{pos:_,val:g},v,{bPos:m,bdPos:S,bPosPxOffset:y}),OI.plotBoxMean(c,{pos:_,val:g},v,{bPos:m,bdPos:S,bPosPxOffset:y});var E;!v.box.visible&&v.meanline.visible&&(E=NI.identity);var C=c.selectAll("path.meanline").data(E||[]);C.enter().append("path").attr("class","meanline").style("fill","none").style("vector-effect",a?"none":"non-scaling-stroke"),C.exit().remove(),C.each(function(L){var R=g.c2p(L.mean,!0),I=Rht.getPositionOnKdePath(L,v,R);zI.select(this).attr("d",v.orientation==="h"?"M"+R+","+I[0]+"V"+I[1]:"M"+I[0]+","+R+"H"+I[1])}),OI.plotPoints(c,{x:s,y:l},v,d)})}});var b0e=J((O9t,x0e)=>{"use strict";var y0e=Nr(),Wy=qr(),Pht=Ef().stylePoints;x0e.exports=function(t){var r=y0e.select(t).selectAll("g.trace.violins");r.style("opacity",function(n){return n[0].trace.opacity}),r.each(function(n){var i=n[0].trace,a=y0e.select(this),o=i.box||{},s=o.line||{},l=i.meanline||{},u=l.width;a.selectAll("path.violin").style("stroke-width",i.line.width+"px").call(Wy.stroke,i.line.color).call(Wy.fill,i.fillcolor),a.selectAll("path.box").style("stroke-width",s.width+"px").call(Wy.stroke,s.color).call(Wy.fill,o.fillcolor);var f={"stroke-width":u+"px","stroke-dasharray":2*u+"px,"+u+"px"};a.selectAll("path.mean").style(f).call(Wy.stroke,l.color),a.selectAll("path.meanline").style(f).call(Wy.stroke,l.color),Pht(a,i,t)})}});var A0e=J((B9t,T0e)=>{"use strict";var Iht=qr(),BI=gt(),qht=nn(),w0e=LP(),_0e=DS();T0e.exports=function(t,r,n,i,a){a||(a={});var o=a.hoverLayer,s=t.cd,l=s[0].trace,u=l.hoveron,f=u.indexOf("violins")!==-1,c=u.indexOf("kde")!==-1,h=[],d,v;if(f||c){var m=w0e.hoverOnBoxes(t,r,n,i);if(c&&m.length>0){var b=t.xa,g=t.ya,_,T,w,k,x;l.orientation==="h"?(x=r,_="y",w=g,T="x",k=b):(x=n,_="x",w=b,T="y",k=g);var M=s[t.index];if(x>=M.span[0]&&x<=M.span[1]){var A=BI.extendFlat({},t),p=k.c2p(x,!0),S=_0e.getKdeValue(M,l,x),y=_0e.getPositionOnKdePath(M,l,p),E=w._offset,C=w._length;A[_+"0"]=y[0],A[_+"1"]=y[1],A[T+"0"]=A[T+"1"]=p,A[T+"Label"]=T+": "+qht.hoverLabelText(k,x,l[T+"hoverformat"])+", "+s[0].t.labels.kde+" "+S.toFixed(3);for(var L=0,R=0;R<m.length;R++)if(m[R].attr==="med"){L=R;break}A.spikeDistance=m[L].spikeDistance;var I=_+"Spike";A[I]=m[L][I],m[L].spikeDistance=void 0,m[L][I]=void 0,A.hovertemplate=!1,h.push(A),v={},v[_+"1"]=BI.constrain(E+y[0],E,E+C),v[_+"2"]=BI.constrain(E+y[1],E,E+C),v[T+"1"]=v[T+"2"]=k._offset+p}}f&&(h=h.concat(m))}u.indexOf("points")!==-1&&(d=w0e.hoverOnPoints(t,r,n));var P=o.selectAll(".violinline-"+l.uid).data(v?[0]:[]);return P.enter().append("line").classed("violinline-"+l.uid,!0).attr("stroke-width",1.5),P.exit().remove(),P.attr(v).call(Iht.stroke,t.color),i==="closest"?d?[d]:h:(d&&h.push(d),h)}});var k0e=J((U9t,M0e)=>{"use strict";M0e.exports={attributes:DI(),layoutAttributes:II(),supplyDefaults:s0e(),crossTraceDefaults:Iw().crossTraceDefaults,supplyLayoutDefaults:u0e(),calc:h0e(),crossTraceCalc:p0e(),plot:m0e(),style:b0e(),styleOnSelect:Ef().styleOnSelect,hoverPoints:A0e(),selectPoints:DP(),moduleType:"trace",name:"violin",basePlotModule:gs(),categories:["cartesian","svg","symbols","oriented","box-violin","showLegend","violinLayout","zoomScale"],meta:{description:["In vertical (horizontal) violin plots,","statistics are computed using `y` (`x`) values.","By supplying an `x` (`y`) array, one violin per distinct x (y) value","is drawn","If no `x` (`y`) {array} is provided, a single violin is drawn.","That violin position is then positioned with","with `name` or with `x0` (`y0`) if provided."].join(" ")}}});var C0e=J((H9t,S0e)=>{"use strict";S0e.exports=k0e()});var L0e=J((j9t,E0e)=>{"use strict";E0e.exports={eventDataKeys:["percentInitial","percentPrevious","percentTotal"]}});var HI=J((V9t,P0e)=>{"use strict";var ha=ov(),UI=ds().line,Fht=Qi(),D0e=Ga().axisHoverFormat,zht=Jn().hovertemplateAttrs,Nht=Jn().texttemplateAttrs,R0e=L0e(),dd=cn().extendFlat,Oht=qr();P0e.exports={x:ha.x,x0:ha.x0,dx:ha.dx,y:ha.y,y0:ha.y0,dy:ha.dy,xperiod:ha.xperiod,yperiod:ha.yperiod,xperiod0:ha.xperiod0,yperiod0:ha.yperiod0,xperiodalignment:ha.xperiodalignment,yperiodalignment:ha.yperiodalignment,xhoverformat:D0e("x"),yhoverformat:D0e("y"),hovertext:ha.hovertext,hovertemplate:zht({},{keys:R0e.eventDataKeys}),hoverinfo:dd({},Fht.hoverinfo,{flags:["name","x","y","text","percent initial","percent previous","percent total"]}),textinfo:{valType:"flaglist",flags:["label","text","percent initial","percent previous","percent total","value"],extras:["none"],editType:"plot",arrayOk:!1,description:["Determines which trace information appear on the graph.","In the case of having multiple funnels, percentages & totals","are computed separately (per trace)."].join(" ")},texttemplate:Nht({editType:"plot"},{keys:R0e.eventDataKeys.concat(["label","value"])}),text:ha.text,textposition:ha.textposition,insidetextanchor:dd({},ha.insidetextanchor,{dflt:"middle"}),textangle:dd({},ha.textangle,{dflt:0}),textfont:ha.textfont,insidetextfont:ha.insidetextfont,outsidetextfont:ha.outsidetextfont,constraintext:ha.constraintext,cliponaxis:ha.cliponaxis,orientation:dd({},ha.orientation,{description:["Sets the orientation of the funnels.","With *v* (*h*), the value of the each bar spans","along the vertical (horizontal).","By default funnels are tend to be oriented horizontally;","unless only *y* array is presented or orientation is set to *v*.","Also regarding graphs including only 'horizontal' funnels,","*autorange* on the *y-axis* are set to *reversed*."].join(" ")}),offset:dd({},ha.offset,{arrayOk:!1}),width:dd({},ha.width,{arrayOk:!1}),marker:Bht(),connector:{fillcolor:{valType:"color",editType:"style",description:["Sets the fill color."].join(" ")},line:{color:dd({},UI.color,{dflt:Oht.defaultLine}),width:dd({},UI.width,{dflt:0,editType:"plot"}),dash:UI.dash,editType:"style"},visible:{valType:"boolean",dflt:!0,editType:"plot",description:["Determines if connector regions and lines are drawn."].join(" ")},editType:"plot"},offsetgroup:ha.offsetgroup,alignmentgroup:ha.alignmentgroup,zorder:ha.zorder};function Bht(){var e=dd({},ha.marker);return delete e.pattern,delete e.cornerradius,e}});var jI=J((Y9t,I0e)=>{"use strict";I0e.exports={funnelmode:{valType:"enumerated",values:["stack","group","overlay"],dflt:"stack",editType:"calc",description:["Determines how bars at the same location coordinate","are displayed on the graph.","With *stack*, the bars are stacked on top of one another","With *group*, the bars are plotted next to one another","centered around the shared location.","With *overlay*, the bars are plotted over one another,","you might need to reduce *opacity* to see multiple bars."].join(" ")},funnelgap:{valType:"number",min:0,max:1,editType:"calc",description:["Sets the gap (in plot fraction) between bars of","adjacent location coordinates."].join(" ")},funnelgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc",description:["Sets the gap (in plot fraction) between bars of","the same location coordinate."].join(" ")}}});var YI=J((G9t,F0e)=>{"use strict";var RS=gt(),Uht=Tg(),Hht=Pf().handleText,jht=rw(),Vht=nv(),q0e=HI(),VI=qr();function Yht(e,t,r,n){function i(c,h){return RS.coerce(e,t,q0e,c,h)}var a=jht(e,t,n,i);if(!a){t.visible=!1;return}Vht(e,t,n,i),i("xhoverformat"),i("yhoverformat"),i("orientation",t.y&&!t.x?"v":"h"),i("offset"),i("width");var o=i("text");i("hovertext"),i("hovertemplate");var s=i("textposition");Hht(e,t,n,i,s,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),t.textposition!=="none"&&!t.texttemplate&&i("textinfo",RS.isArrayOrTypedArray(o)?"text+value":"value");var l=i("marker.color",r);i("marker.line.color",VI.defaultLine),i("marker.line.width");var u=i("connector.visible");if(u){i("connector.fillcolor",Ght(l));var f=i("connector.line.width");f&&(i("connector.line.color"),i("connector.line.dash"))}i("zorder")}function Ght(e){var t=RS.isArrayOrTypedArray(e)?"#000":e;return VI.addOpacity(t,.5*VI.opacity(t))}function Wht(e,t){var r,n;function i(o){return RS.coerce(n._input,n,q0e,o)}if(t.funnelmode==="group")for(var a=0;a<e.length;a++)n=e[a],r=n._input,Uht(r,n,t,i)}F0e.exports={supplyDefaults:Yht,crossTraceDefaults:Wht}});var N0e=J((W9t,z0e)=>{"use strict";var Xht=gt(),Zht=jI();z0e.exports=function(e,t,r){var n=!1;function i(s,l){return Xht.coerce(e,t,Zht,s,l)}for(var a=0;a<r.length;a++){var o=r[a];if(o.visible&&o.type==="funnel"){n=!0;break}}n&&(i("funnelmode"),i("funnelgap",.2),i("funnelgroupgap"))}});var B0e=J((X9t,O0e)=>{"use strict";var Xy=gt();O0e.exports=function(t,r){for(var n=0;n<t.length;n++)t[n].i=n;Xy.mergeArray(r.text,t,"tx"),Xy.mergeArray(r.hovertext,t,"htx");var i=r.marker;if(i){Xy.mergeArray(i.opacity,t,"mo"),Xy.mergeArray(i.color,t,"mc");var a=i.line;a&&(Xy.mergeArray(a.color,t,"mlc"),Xy.mergeArrayCastPositive(a.width,t,"mlw"))}}});var V0e=J((Z9t,j0e)=>{"use strict";var U0e=nn(),H0e=iv(),Jht=B0e(),$ht=oh(),Qw=oi().BADNUM;j0e.exports=function(t,r){var n=U0e.getFromId(t,r.xaxis||"x"),i=U0e.getFromId(t,r.yaxis||"y"),a,o,s,l,u,f,c,h;r.orientation==="h"?(a=n.makeCalcdata(r,"x"),s=i.makeCalcdata(r,"y"),l=H0e(r,i,"y",s),u=!!r.yperiodalignment,f="y"):(a=i.makeCalcdata(r,"y"),s=n.makeCalcdata(r,"x"),l=H0e(r,n,"x",s),u=!!r.xperiodalignment,f="x"),o=l.vals;var d=Math.min(o.length,a.length),v=new Array(d);for(r._base=[],c=0;c<d;c++){a[c]<0&&(a[c]=Qw);var m=!1;a[c]!==Qw&&c+1<d&&a[c+1]!==Qw&&(m=!0),h=v[c]={p:o[c],s:a[c],cNext:m},r._base[c]=-.5*h.s,u&&(v[c].orig_p=s[c],v[c][f+"End"]=l.ends[c],v[c][f+"Start"]=l.starts[c]),r.ids&&(h.id=String(r.ids[c])),c===0&&(v[0].vTotal=0),v[0].vTotal+=GI(h.s),h.begR=GI(h.s)/GI(v[0].s)}var b;for(c=0;c<d;c++)h=v[c],h.s!==Qw&&(h.sumR=h.s/v[0].vTotal,h.difR=b!==void 0?h.s/b:1,b=h.s);return Jht(v,r),$ht(v,r),v};function GI(e){return e===Qw?0:e}});var W0e=J((J9t,G0e)=>{"use strict";var Y0e=kg().setGroupPositions;G0e.exports=function(t,r){var n=t._fullLayout,i=t._fullData,a=t.calcdata,o=r.xaxis,s=r.yaxis,l=[],u=[],f=[],c,h;for(h=0;h<i.length;h++){var d=i[h],v=d.orientation==="h";d.visible===!0&&d.xaxis===o._id&&d.yaxis===s._id&&d.type==="funnel"&&(c=a[h],v?f.push(c):u.push(c),l.push(c))}var m={mode:n.funnelmode,norm:n.funnelnorm,gap:n.funnelgap,groupgap:n.funnelgroupgap};for(Y0e(t,o,s,u,m),Y0e(t,s,o,f,m),h=0;h<l.length;h++){c=l[h];for(var b=0;b<c.length;b++)b+1<c.length&&(c[b].nextP0=c[b+1].p0,c[b].nextS0=c[b+1].s0,c[b].nextP1=c[b+1].p1,c[b].nextS1=c[b+1].s1)}}});var $0e=J(($9t,J0e)=>{"use strict";var PS=Nr(),B0=gt(),X0e=ln(),O0=oi().BADNUM,Kht=Og(),Qht=xl().clearMinTextSize;J0e.exports=function(t,r,n,i){var a=t._fullLayout;Qht("funnel",a),evt(t,r,n,i),tvt(t,r,n,i),Kht.plot(t,r,n,i,{mode:a.funnelmode,norm:a.funnelmode,gap:a.funnelgap,groupgap:a.funnelgroupgap})};function evt(e,t,r,n){var i=t.xaxis,a=t.yaxis;B0.makeTraceGroups(n,r,"trace bars").each(function(o){var s=PS.select(this),l=o[0].trace,u=B0.ensureSingle(s,"g","regions");if(!l.connector||!l.connector.visible){u.remove();return}var f=l.orientation==="h",c=u.selectAll("g.region").data(B0.identity);c.enter().append("g").classed("region",!0),c.exit().remove();var h=c.size();c.each(function(d,v){if(!(v!==h-1&&!d.cNext)){var m=Z0e(d,i,a,f),b=m[0],g=m[1],_="";b[0]!==O0&&g[0]!==O0&&b[1]!==O0&&g[1]!==O0&&b[2]!==O0&&g[2]!==O0&&b[3]!==O0&&g[3]!==O0&&(f?_+="M"+b[0]+","+g[1]+"L"+b[2]+","+g[2]+"H"+b[3]+"L"+b[1]+","+g[1]+"Z":_+="M"+b[1]+","+g[1]+"L"+b[2]+","+g[3]+"V"+g[2]+"L"+b[1]+","+g[0]+"Z"),_===""&&(_="M0,0Z"),B0.ensureSingle(PS.select(this),"path").attr("d",_).call(X0e.setClipUrl,t.layerClipId,e)}})})}function tvt(e,t,r,n){var i=t.xaxis,a=t.yaxis;B0.makeTraceGroups(n,r,"trace bars").each(function(o){var s=PS.select(this),l=o[0].trace,u=B0.ensureSingle(s,"g","lines");if(!l.connector||!l.connector.visible||!l.connector.line.width){u.remove();return}var f=l.orientation==="h",c=u.selectAll("g.line").data(B0.identity);c.enter().append("g").classed("line",!0),c.exit().remove();var h=c.size();c.each(function(d,v){if(!(v!==h-1&&!d.cNext)){var m=Z0e(d,i,a,f),b=m[0],g=m[1],_="";b[3]!==void 0&&g[3]!==void 0&&(f?(_+="M"+b[0]+","+g[1]+"L"+b[2]+","+g[2],_+="M"+b[1]+","+g[1]+"L"+b[3]+","+g[2]):(_+="M"+b[1]+","+g[1]+"L"+b[2]+","+g[3],_+="M"+b[1]+","+g[0]+"L"+b[2]+","+g[2])),_===""&&(_="M0,0Z"),B0.ensureSingle(PS.select(this),"path").attr("d",_).call(X0e.setClipUrl,t.layerClipId,e)}})})}function Z0e(e,t,r,n){var i=[],a=[],o=n?t:r,s=n?r:t;return i[0]=o.c2p(e.s0,!0),a[0]=s.c2p(e.p0,!0),i[1]=o.c2p(e.s1,!0),a[1]=s.c2p(e.p1,!0),i[2]=o.c2p(e.nextS0,!0),a[2]=s.c2p(e.nextP0,!0),i[3]=o.c2p(e.nextS1,!0),a[3]=s.c2p(e.nextP1,!0),n?[i,a]:[a,i]}});var epe=J((K9t,Q0e)=>{"use strict";var e_=Nr(),K0e=ln(),WI=qr(),rvt=w1().DESELECTDIM,nvt=mc(),ivt=xl().resizeText,avt=nvt.styleTextPoints;function ovt(e,t,r){var n=r||e_.select(e).selectAll('g[class^="funnellayer"]').selectAll("g.trace");ivt(e,n,"funnel"),n.style("opacity",function(i){return i[0].trace.opacity}),n.each(function(i){var a=e_.select(this),o=i[0].trace;a.selectAll(".point > path").each(function(s){if(!s.isBlank){var l=o.marker;e_.select(this).call(WI.fill,s.mc||l.color).call(WI.stroke,s.mlc||l.line.color).call(K0e.dashLine,l.line.dash,s.mlw||l.line.width).style("opacity",o.selectedpoints&&!s.selected?rvt:1)}}),avt(a,o,e),a.selectAll(".regions").each(function(){e_.select(this).selectAll("path").style("stroke-width",0).call(WI.fill,o.connector.fillcolor)}),a.selectAll(".lines").each(function(){var s=o.connector.line;K0e.lineGroupStyle(e_.select(this).selectAll("path"),s.width,s.color,s.dash)})})}Q0e.exports={style:ovt}});var npe=J((Q9t,rpe)=>{"use strict";var tpe=qr().opacity,svt=Dy().hoverOnBars,XI=gt().formatPercent;rpe.exports=function(t,r,n,i,a){var o=svt(t,r,n,i,a);if(o){var s=o.cd,l=s[0].trace,u=l.orientation==="h",f=o.index,c=s[f],h=u?"x":"y";o[h+"LabelVal"]=c.s,o.percentInitial=c.begR,o.percentInitialLabel=XI(c.begR,1),o.percentPrevious=c.difR,o.percentPreviousLabel=XI(c.difR,1),o.percentTotal=c.sumR,o.percentTotalLabel=XI(c.sumR,1);var d=c.hi||l.hoverinfo,v=[];if(d&&d!=="none"&&d!=="skip"){var m=d==="all",b=d.split("+"),g=function(_){return m||b.indexOf(_)!==-1};g("percent initial")&&v.push(o.percentInitialLabel+" of initial"),g("percent previous")&&v.push(o.percentPreviousLabel+" of previous"),g("percent total")&&v.push(o.percentTotalLabel+" of total")}return o.extraText=v.join("<br>"),o.color=lvt(l,c),[o]}};function lvt(e,t){var r=e.marker,n=t.mc||r.color,i=t.mlc||r.line.color,a=t.mlw||r.line.width;if(tpe(n))return n;if(tpe(i)&&a)return i}});var ape=J((eFt,ipe)=>{"use strict";ipe.exports=function(t,r){return t.x="xVal"in r?r.xVal:r.x,t.y="yVal"in r?r.yVal:r.y,"percentInitial"in r&&(t.percentInitial=r.percentInitial),"percentPrevious"in r&&(t.percentPrevious=r.percentPrevious),"percentTotal"in r&&(t.percentTotal=r.percentTotal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t}});var spe=J((tFt,ope)=>{"use strict";ope.exports={attributes:HI(),layoutAttributes:jI(),supplyDefaults:YI().supplyDefaults,crossTraceDefaults:YI().crossTraceDefaults,supplyLayoutDefaults:N0e(),calc:V0e(),crossTraceCalc:W0e(),plot:$0e(),style:epe().style,hoverPoints:npe(),eventData:ape(),selectPoints:Ry(),moduleType:"trace",name:"funnel",basePlotModule:gs(),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{description:["Visualize stages in a process using length-encoded bars. This trace can be used","to show data in either a part-to-whole representation wherein each item appears",'in a single stage, or in a "drop-off" representation wherein each item appears in','each stage it traversed. See also the "funnelarea" trace type for a different',"approach to visualizing funnel data."].join(" ")}}});var upe=J((rFt,lpe)=>{"use strict";lpe.exports=spe()});var cpe=J((nFt,fpe)=>{"use strict";fpe.exports={eventDataKeys:["initial","delta","final"]}});var $I=J((iFt,dpe)=>{"use strict";var na=ov(),ZI=ds().line,uvt=Qi(),hpe=Ga().axisHoverFormat,fvt=Jn().hovertemplateAttrs,cvt=Jn().texttemplateAttrs,vpe=cpe(),Zy=cn().extendFlat,hvt=qr();function JI(e){return{marker:{color:Zy({},na.marker.color,{arrayOk:!1,editType:"style",description:"Sets the marker color of all "+e+" values."}),line:{color:Zy({},na.marker.line.color,{arrayOk:!1,editType:"style",description:"Sets the line color of all "+e+" values."}),width:Zy({},na.marker.line.width,{arrayOk:!1,editType:"style",description:"Sets the line width of all "+e+" values."}),editType:"style"},editType:"style"},editType:"style"}}dpe.exports={measure:{valType:"data_array",dflt:[],editType:"calc",description:["An array containing types of values.","By default the values are considered as 'relative'.","However; it is possible to use 'total' to compute the sums.","Also 'absolute' could be applied to reset the computed total","or to declare an initial value where needed."].join(" ")},base:{valType:"number",dflt:null,arrayOk:!1,editType:"calc",description:["Sets where the bar base is drawn (in position axis units)."].join(" ")},x:na.x,x0:na.x0,dx:na.dx,y:na.y,y0:na.y0,dy:na.dy,xperiod:na.xperiod,yperiod:na.yperiod,xperiod0:na.xperiod0,yperiod0:na.yperiod0,xperiodalignment:na.xperiodalignment,yperiodalignment:na.yperiodalignment,xhoverformat:hpe("x"),yhoverformat:hpe("y"),hovertext:na.hovertext,hovertemplate:fvt({},{keys:vpe.eventDataKeys}),hoverinfo:Zy({},uvt.hoverinfo,{flags:["name","x","y","text","initial","delta","final"]}),textinfo:{valType:"flaglist",flags:["label","text","initial","delta","final"],extras:["none"],editType:"plot",arrayOk:!1,description:["Determines which trace information appear on the graph.","In the case of having multiple waterfalls, totals","are computed separately (per trace)."].join(" ")},texttemplate:cvt({editType:"plot"},{keys:vpe.eventDataKeys.concat(["label"])}),text:na.text,textposition:na.textposition,insidetextanchor:na.insidetextanchor,textangle:na.textangle,textfont:na.textfont,insidetextfont:na.insidetextfont,outsidetextfont:na.outsidetextfont,constraintext:na.constraintext,cliponaxis:na.cliponaxis,orientation:na.orientation,offset:na.offset,width:na.width,increasing:JI("increasing"),decreasing:JI("decreasing"),totals:JI("intermediate sums and total"),connector:{line:{color:Zy({},ZI.color,{dflt:hvt.defaultLine}),width:Zy({},ZI.width,{editType:"plot"}),dash:ZI.dash,editType:"plot"},mode:{valType:"enumerated",values:["spanning","between"],dflt:"between",editType:"plot",description:["Sets the shape of connector lines."].join(" ")},visible:{valType:"boolean",dflt:!0,editType:"plot",description:["Determines if connector lines are drawn. "].join(" ")},editType:"plot"},offsetgroup:na.offsetgroup,alignmentgroup:na.alignmentgroup,zorder:na.zorder}});var KI=J((aFt,ppe)=>{"use strict";ppe.exports={waterfallmode:{valType:"enumerated",values:["group","overlay"],dflt:"group",editType:"calc",description:["Determines how bars at the same location coordinate","are displayed on the graph.","With *group*, the bars are plotted next to one another","centered around the shared location.","With *overlay*, the bars are plotted over one another,","you might need to reduce *opacity* to see multiple bars."].join(" ")},waterfallgap:{valType:"number",min:0,max:1,editType:"calc",description:["Sets the gap (in plot fraction) between bars of","adjacent location coordinates."].join(" ")},waterfallgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc",description:["Sets the gap (in plot fraction) between bars of","the same location coordinate."].join(" ")}}});var Jy=J((oFt,gpe)=>{"use strict";gpe.exports={INCREASING:{COLOR:"#3D9970",SYMBOL:"\u25B2"},DECREASING:{COLOR:"#FF4136",SYMBOL:"\u25BC"}}});var eq=J((sFt,bpe)=>{"use strict";var mpe=gt(),vvt=Tg(),dvt=Pf().handleText,pvt=rw(),gvt=nv(),ype=$I(),mvt=qr(),xpe=Jy(),yvt=xpe.INCREASING.COLOR,xvt=xpe.DECREASING.COLOR,bvt="#4499FF";function QI(e,t,r){e(t+".marker.color",r),e(t+".marker.line.color",mvt.defaultLine),e(t+".marker.line.width")}function wvt(e,t,r,n){function i(u,f){return mpe.coerce(e,t,ype,u,f)}var a=pvt(e,t,n,i);if(!a){t.visible=!1;return}gvt(e,t,n,i),i("xhoverformat"),i("yhoverformat"),i("measure"),i("orientation",t.x&&!t.y?"h":"v"),i("base"),i("offset"),i("width"),i("text"),i("hovertext"),i("hovertemplate");var o=i("textposition");dvt(e,t,n,i,o,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),t.textposition!=="none"&&(i("texttemplate"),t.texttemplate||i("textinfo")),QI(i,"increasing",yvt),QI(i,"decreasing",xvt),QI(i,"totals",bvt);var s=i("connector.visible");if(s){i("connector.mode");var l=i("connector.line.width");l&&(i("connector.line.color"),i("connector.line.dash"))}i("zorder")}function _vt(e,t){var r,n;function i(o){return mpe.coerce(n._input,n,ype,o)}if(t.waterfallmode==="group")for(var a=0;a<e.length;a++)n=e[a],r=n._input,vvt(r,n,t,i)}bpe.exports={supplyDefaults:wvt,crossTraceDefaults:_vt}});var _pe=J((lFt,wpe)=>{"use strict";var Tvt=gt(),Avt=KI();wpe.exports=function(e,t,r){var n=!1;function i(s,l){return Tvt.coerce(e,t,Avt,s,l)}for(var a=0;a<r.length;a++){var o=r[a];if(o.visible&&o.type==="waterfall"){n=!0;break}}n&&(i("waterfallmode"),i("waterfallgap",.2),i("waterfallgroupgap"))}});var Cpe=J((uFt,Spe)=>{"use strict";var Tpe=nn(),Ape=iv(),Mpe=gt().mergeArray,Mvt=oh(),kpe=oi().BADNUM;function tq(e){return e==="a"||e==="absolute"}function rq(e){return e==="t"||e==="total"}Spe.exports=function(t,r){var n=Tpe.getFromId(t,r.xaxis||"x"),i=Tpe.getFromId(t,r.yaxis||"y"),a,o,s,l,u,f;r.orientation==="h"?(a=n.makeCalcdata(r,"x"),s=i.makeCalcdata(r,"y"),l=Ape(r,i,"y",s),u=!!r.yperiodalignment,f="y"):(a=i.makeCalcdata(r,"y"),s=n.makeCalcdata(r,"x"),l=Ape(r,n,"x",s),u=!!r.xperiodalignment,f="x"),o=l.vals;for(var c=Math.min(o.length,a.length),h=new Array(c),d=0,v,m=!1,b=0;b<c;b++){var g=a[b]||0,_=!1;(a[b]!==kpe||rq(r.measure[b])||tq(r.measure[b]))&&b+1<c&&(a[b+1]!==kpe||rq(r.measure[b+1])||tq(r.measure[b+1]))&&(_=!0);var T=h[b]={i:b,p:o[b],s:g,rawS:g,cNext:_};tq(r.measure[b])?(d=T.s,T.isSum=!0,T.dir="totals",T.s=d):rq(r.measure[b])?(T.isSum=!0,T.dir="totals",T.s=d):(T.isSum=!1,T.dir=T.rawS<0?"decreasing":"increasing",v=T.s,T.s=d+v,d+=v),T.dir==="totals"&&(m=!0),u&&(h[b].orig_p=s[b],h[b][f+"End"]=l.ends[b],h[b][f+"Start"]=l.starts[b]),r.ids&&(T.id=String(r.ids[b])),T.v=(r.base||0)+d}return h.length&&(h[0].hasTotals=m),Mpe(r.text,h,"tx"),Mpe(r.hovertext,h,"htx"),Mvt(h,r),h}});var Dpe=J((fFt,Lpe)=>{"use strict";var Epe=kg().setGroupPositions;Lpe.exports=function(t,r){var n=t._fullLayout,i=t._fullData,a=t.calcdata,o=r.xaxis,s=r.yaxis,l=[],u=[],f=[],c,h;for(h=0;h<i.length;h++){var d=i[h];d.visible===!0&&d.xaxis===o._id&&d.yaxis===s._id&&d.type==="waterfall"&&(c=a[h],d.orientation==="h"?f.push(c):u.push(c),l.push(c))}var v={mode:n.waterfallmode,norm:n.waterfallnorm,gap:n.waterfallgap,groupgap:n.waterfallgroupgap};for(Epe(t,o,s,u,v),Epe(t,s,o,f,v),h=0;h<l.length;h++){c=l[h];for(var m=0;m<c.length;m++){var b=c[m];b.isSum===!1&&(b.s0+=m===0?0:c[m-1].s),m+1<c.length&&(c[m].nextP0=c[m+1].p0,c[m].nextS0=c[m+1].s0)}}}});var Ipe=J((cFt,Ppe)=>{"use strict";var Rpe=Nr(),IS=gt(),kvt=ln(),$y=oi().BADNUM,Svt=Og(),Cvt=xl().clearMinTextSize;Ppe.exports=function(t,r,n,i){var a=t._fullLayout;Cvt("waterfall",a),Svt.plot(t,r,n,i,{mode:a.waterfallmode,norm:a.waterfallmode,gap:a.waterfallgap,groupgap:a.waterfallgroupgap}),Evt(t,r,n,i)};function Evt(e,t,r,n){var i=t.xaxis,a=t.yaxis;IS.makeTraceGroups(n,r,"trace bars").each(function(o){var s=Rpe.select(this),l=o[0].trace,u=IS.ensureSingle(s,"g","lines");if(!l.connector||!l.connector.visible){u.remove();return}var f=l.orientation==="h",c=l.connector.mode,h=u.selectAll("g.line").data(IS.identity);h.enter().append("g").classed("line",!0),h.exit().remove();var d=h.size();h.each(function(v,m){if(!(m!==d-1&&!v.cNext)){var b=Lvt(v,i,a,f),g=b[0],_=b[1],T="";g[0]!==$y&&_[0]!==$y&&g[1]!==$y&&_[1]!==$y&&(c==="spanning"&&!v.isSum&&m>0&&(f?T+="M"+g[0]+","+_[1]+"V"+_[0]:T+="M"+g[1]+","+_[0]+"H"+g[0]),c!=="between"&&(v.isSum||m<d-1)&&(f?T+="M"+g[1]+","+_[0]+"V"+_[1]:T+="M"+g[0]+","+_[1]+"H"+g[1]),g[2]!==$y&&_[2]!==$y&&(f?T+="M"+g[1]+","+_[1]+"V"+_[2]:T+="M"+g[1]+","+_[1]+"H"+g[2])),T===""&&(T="M0,0Z"),IS.ensureSingle(Rpe.select(this),"path").attr("d",T).call(kvt.setClipUrl,t.layerClipId,e)}})})}function Lvt(e,t,r,n){var i=[],a=[],o=n?t:r,s=n?r:t;return i[0]=o.c2p(e.s0,!0),a[0]=s.c2p(e.p0,!0),i[1]=o.c2p(e.s1,!0),a[1]=s.c2p(e.p1,!0),i[2]=o.c2p(e.nextS0,!0),a[2]=s.c2p(e.nextP0,!0),n?[i,a]:[a,i]}});var Npe=J((hFt,zpe)=>{"use strict";var qS=Nr(),qpe=ln(),Fpe=qr(),Dvt=w1().DESELECTDIM,Rvt=mc(),Pvt=xl().resizeText,Ivt=Rvt.styleTextPoints;function qvt(e,t,r){var n=r||qS.select(e).selectAll('g[class^="waterfalllayer"]').selectAll("g.trace");Pvt(e,n,"waterfall"),n.style("opacity",function(i){return i[0].trace.opacity}),n.each(function(i){var a=qS.select(this),o=i[0].trace;a.selectAll(".point > path").each(function(s){if(!s.isBlank){var l=o[s.dir].marker;qS.select(this).call(Fpe.fill,l.color).call(Fpe.stroke,l.line.color).call(qpe.dashLine,l.line.dash,l.line.width).style("opacity",o.selectedpoints&&!s.selected?Dvt:1)}}),Ivt(a,o,e),a.selectAll(".lines").each(function(){var s=o.connector.line;qpe.lineGroupStyle(qS.select(this).selectAll("path"),s.width,s.color,s.dash)})})}zpe.exports={style:qvt}});var jpe=J((vFt,Hpe)=>{"use strict";var Fvt=nn().hoverLabelText,Ope=qr().opacity,zvt=Dy().hoverOnBars,Bpe=Jy(),Upe={increasing:Bpe.INCREASING.SYMBOL,decreasing:Bpe.DECREASING.SYMBOL};Hpe.exports=function(t,r,n,i,a){var o=zvt(t,r,n,i,a);if(!o)return;var s=o.cd,l=s[0].trace,u=l.orientation==="h",f=u?"x":"y",c=u?t.xa:t.ya;function h(x){return Fvt(c,x,l[f+"hoverformat"])}var d=o.index,v=s[d],m=v.isSum?v.b+v.s:v.rawS;o.initial=v.b+v.s-m,o.delta=m,o.final=o.initial+o.delta;var b=h(Math.abs(o.delta));o.deltaLabel=m<0?"("+b+")":b,o.finalLabel=h(o.final),o.initialLabel=h(o.initial);var g=v.hi||l.hoverinfo,_=[];if(g&&g!=="none"&&g!=="skip"){var T=g==="all",w=g.split("+"),k=function(x){return T||w.indexOf(x)!==-1};v.isSum||(k("final")&&(u?!k("x"):!k("y"))&&_.push(o.finalLabel),k("delta")&&(m<0?_.push(o.deltaLabel+" "+Upe.decreasing):_.push(o.deltaLabel+" "+Upe.increasing)),k("initial")&&_.push("Initial: "+o.initialLabel))}return _.length&&(o.extraText=_.join("<br>")),o.color=Nvt(l,v),[o]};function Nvt(e,t){var r=e[t.dir].marker,n=r.color,i=r.line.color,a=r.line.width;if(Ope(n))return n;if(Ope(i)&&a)return i}});var Ype=J((dFt,Vpe)=>{"use strict";Vpe.exports=function(t,r){return t.x="xVal"in r?r.xVal:r.x,t.y="yVal"in r?r.yVal:r.y,"initial"in r&&(t.initial=r.initial),"delta"in r&&(t.delta=r.delta),"final"in r&&(t.final=r.final),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t}});var Wpe=J((pFt,Gpe)=>{"use strict";Gpe.exports={attributes:$I(),layoutAttributes:KI(),supplyDefaults:eq().supplyDefaults,crossTraceDefaults:eq().crossTraceDefaults,supplyLayoutDefaults:_pe(),calc:Cpe(),crossTraceCalc:Dpe(),plot:Ipe(),style:Npe().style,hoverPoints:jpe(),eventData:Ype(),selectPoints:Ry(),moduleType:"trace",name:"waterfall",basePlotModule:gs(),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{description:["Draws waterfall trace which is useful graph to displays the","contribution of various elements (either positive or negative)","in a bar chart. The data visualized by the span of the bars is","set in `y` if `orientation` is set to *v* (the default) and the","labels are set in `x`.","By setting `orientation` to *h*, the roles are interchanged."].join(" ")}}});var Zpe=J((gFt,Xpe)=>{"use strict";Xpe.exports=Wpe()});var Vg=J((mFt,Jpe)=>{"use strict";var Ovt=Qi(),Bvt=Wa().attributes,Uvt=xa(),Hvt=Ho(),jvt=Jn().hovertemplateAttrs,Vvt=Jn().texttemplateAttrs,Ky=cn().extendFlat,Yvt=Ss().pattern,t_=Uvt({editType:"plot",arrayOk:!0,colorEditType:"plot",description:"Sets the font used for `textinfo`."});Jpe.exports={labels:{valType:"data_array",editType:"calc",description:["Sets the sector labels.","If `labels` entries are duplicated, we sum associated `values`","or simply count occurrences if `values` is not provided.","For other array attributes (including color) we use the first","non-empty entry among all occurrences of the label."].join(" ")},label0:{valType:"number",dflt:0,editType:"calc",description:["Alternate to `labels`.","Builds a numeric set of labels.","Use with `dlabel`","where `label0` is the starting label and `dlabel` the step."].join(" ")},dlabel:{valType:"number",dflt:1,editType:"calc",description:"Sets the label step. See `label0` for more info."},values:{valType:"data_array",editType:"calc",description:["Sets the values of the sectors.","If omitted, we count occurrences of each label."].join(" ")},marker:{colors:{valType:"data_array",editType:"calc",description:["Sets the color of each sector.","If not specified, the default trace color set is used","to pick the sector colors."].join(" ")},line:{color:{valType:"color",dflt:Hvt.defaultLine,arrayOk:!0,editType:"style",description:["Sets the color of the line enclosing each sector."].join(" ")},width:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"style",description:["Sets the width (in px) of the line enclosing each sector."].join(" ")},editType:"calc"},pattern:Yvt,editType:"calc"},text:{valType:"data_array",editType:"plot",description:["Sets text elements associated with each sector.","If trace `textinfo` contains a *text* flag, these elements will be seen","on the chart.","If trace `hoverinfo` contains a *text* flag and *hovertext* is not set,","these elements will be seen in the hover labels."].join(" ")},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style",description:["Sets hover text elements associated with each sector.","If a single string, the same string appears for","all data points.","If an array of string, the items are mapped in order of","this trace's sectors.","To be seen, trace `hoverinfo` must contain a *text* flag."].join(" ")},scalegroup:{valType:"string",dflt:"",editType:"calc",description:["If there are multiple pie charts that should be sized according to","their totals, link them by providing a non-empty group id here","shared by every trace in the same group."].join(" ")},textinfo:{valType:"flaglist",flags:["label","text","value","percent"],extras:["none"],editType:"calc",description:["Determines which trace information appear on the graph."].join(" ")},hoverinfo:Ky({},Ovt.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:jvt({},{keys:["label","color","value","percent","text"]}),texttemplate:Vvt({editType:"plot"},{keys:["label","color","value","percent","text"]}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"plot",description:["Specifies the location of the `textinfo`."].join(" ")},textfont:Ky({},t_,{description:"Sets the font used for `textinfo`."}),insidetextorientation:{valType:"enumerated",values:["horizontal","radial","tangential","auto"],dflt:"auto",editType:"plot",description:["Controls the orientation of the text inside chart sectors.","When set to *auto*, text may be oriented in any direction in order","to be as big as possible in the middle of a sector.","The *horizontal* option orients text to be parallel with the bottom","of the chart, and may make text smaller in order to achieve that goal.","The *radial* option orients text along the radius of the sector.","The *tangential* option orients text perpendicular to the radius of the sector."].join(" ")},insidetextfont:Ky({},t_,{description:"Sets the font used for `textinfo` lying inside the sector."}),outsidetextfont:Ky({},t_,{description:"Sets the font used for `textinfo` lying outside the sector."}),automargin:{valType:"boolean",dflt:!1,editType:"plot",description:["Determines whether outside text labels can push the margins."].join(" ")},title:{text:{valType:"string",dflt:"",editType:"plot",description:["Sets the title of the chart.","If it is empty, no title is displayed.","Note that before the existence of `title.text`, the title's","contents used to be defined as the `title` attribute itself.","This behavior has been deprecated."].join(" ")},font:Ky({},t_,{description:["Sets the font used for `title`.","Note that the title's font used to be set","by the now deprecated `titlefont` attribute."].join(" ")}),position:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"plot",description:["Specifies the location of the `title`.","Note that the title's position used to be set","by the now deprecated `titleposition` attribute."].join(" ")},editType:"plot"},domain:Bvt({name:"pie",trace:!0,editType:"calc"}),hole:{valType:"number",min:0,max:1,dflt:0,editType:"calc",description:["Sets the fraction of the radius to cut out of the pie.","Use this to make a donut chart."].join(" ")},sort:{valType:"boolean",dflt:!0,editType:"calc",description:["Determines whether or not the sectors are reordered","from largest to smallest."].join(" ")},direction:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"counterclockwise",editType:"calc",description:["Specifies the direction at which succeeding sectors follow","one another."].join(" ")},rotation:{valType:"angle",dflt:0,editType:"calc",description:["Instead of the first slice starting at 12 o'clock,","rotate to some other angle."].join(" ")},pull:{valType:"number",min:0,max:1,dflt:0,arrayOk:!0,editType:"calc",description:["Sets the fraction of larger radius to pull the sectors","out from the center. This can be a constant","to pull all slices apart from each other equally","or an array to highlight one or more slices."].join(" ")},_deprecated:{title:{valType:"string",dflt:"",editType:"calc",description:["Deprecated in favor of `title.text`.","Note that value of `title` is no longer a simple","*string* but a set of sub-attributes."].join(" ")},titlefont:Ky({},t_,{description:"Deprecated in favor of `title.font`."}),titleposition:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"calc",description:"Deprecated in favor of `title.position`."}}}});var Yg=J((yFt,Qpe)=>{"use strict";var Gvt=dn(),r_=gt(),Wvt=Vg(),Xvt=Wa().defaults,Zvt=Pf().handleText,Jvt=gt().coercePattern;function $pe(e,t){var r=r_.isArrayOrTypedArray(e),n=r_.isArrayOrTypedArray(t),i=Math.min(r?e.length:1/0,n?t.length:1/0);if(isFinite(i)||(i=0),i&&n){for(var a,o=0;o<i;o++){var s=t[o];if(Gvt(s)&&s>0){a=!0;break}}a||(i=0)}return{hasLabels:r,hasValues:n,len:i}}function Kpe(e,t,r,n,i){var a=n("marker.line.width");a&&n("marker.line.color",i?void 0:r.paper_bgcolor);var o=n("marker.colors");Jvt(n,"marker.pattern",o),e.marker&&!t.marker.pattern.fgcolor&&(t.marker.pattern.fgcolor=e.marker.colors),t.marker.pattern.bgcolor||(t.marker.pattern.bgcolor=r.paper_bgcolor)}function $vt(e,t,r,n){function i(_,T){return r_.coerce(e,t,Wvt,_,T)}var a=i("labels"),o=i("values"),s=$pe(a,o),l=s.len;if(t._hasLabels=s.hasLabels,t._hasValues=s.hasValues,!t._hasLabels&&t._hasValues&&(i("label0"),i("dlabel")),!l){t.visible=!1;return}t._length=l,Kpe(e,t,n,i,!0),i("scalegroup");var u=i("text"),f=i("texttemplate"),c;if(f||(c=i("textinfo",r_.isArrayOrTypedArray(u)?"text+percent":"percent")),i("hovertext"),i("hovertemplate"),f||c&&c!=="none"){var h=i("textposition");Zvt(e,t,n,i,h,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1});var d=Array.isArray(h)||h==="auto",v=d||h==="outside";v&&i("automargin"),(h==="inside"||h==="auto"||Array.isArray(h))&&i("insidetextorientation")}else c==="none"&&i("textposition","none");Xvt(t,n,i);var m=i("hole"),b=i("title.text");if(b){var g=i("title.position",m?"middle center":"top center");!m&&g==="middle center"&&(t.title.position="top center"),r_.coerceFont(i,"title.font",n.font)}i("sort"),i("direction"),i("rotation"),i("pull")}Qpe.exports={handleLabelsAndValues:$pe,handleMarkerDefaults:Kpe,supplyDefaults:$vt}});var FS=J((xFt,ege)=>{"use strict";ege.exports={hiddenlabels:{valType:"data_array",editType:"calc",description:["hiddenlabels is the funnelarea & pie chart analog of","visible:'legendonly'","but it can contain many labels, and can simultaneously","hide slices from several pies/funnelarea charts"].join(" ")},piecolorway:{valType:"colorlist",editType:"calc",description:["Sets the default pie slice colors. Defaults to the main","`colorway` used for trace colors. If you specify a new","list here it can still be extended with lighter and darker","colors, see `extendpiecolors`."].join(" ")},extendpiecolors:{valType:"boolean",dflt:!0,editType:"calc",description:["If `true`, the pie slice colors (whether given by `piecolorway` or","inherited from `colorway`) will be extended to three times its","original length by first repeating every color 20% lighter then","each color 20% darker. This is intended to reduce the likelihood","of reusing the same color when you have many slices, but you can","set `false` to disable.","Colors provided in the trace, using `marker.colors`, are never","extended."].join(" ")}}});var rge=J((bFt,tge)=>{"use strict";var Kvt=gt(),Qvt=FS();tge.exports=function(t,r){function n(i,a){return Kvt.coerce(t,r,Qvt,i,a)}n("hiddenlabels"),n("piecolorway",r.colorway),n("extendpiecolors")}});var Qy=J((wFt,age)=>{"use strict";var edt=dn(),nq=ls(),tdt=qr(),rdt={};function ndt(e,t){var r=[],n=e._fullLayout,i=n.hiddenlabels||[],a=t.labels,o=t.marker.colors||[],s=t.values,l=t._length,u=t._hasValues&&l,f,c;if(t.dlabel)for(a=new Array(l),f=0;f<l;f++)a[f]=String(t.label0+f*t.dlabel);var h={},d=nge(n["_"+t.type+"colormap"]),v=0,m=!1;for(f=0;f<l;f++){var b,g,_;if(u){if(b=s[f],!edt(b))continue;b=+b}else b=1;g=a[f],(g===void 0||g==="")&&(g=f),g=String(g);var T=h[g];T===void 0?(h[g]=r.length,_=i.indexOf(g)!==-1,_||(v+=b),r.push({v:b,label:g,color:d(o[f],g),i:f,pts:[f],hidden:_})):(m=!0,c=r[T],c.v+=b,c.pts.push(f),c.hidden||(v+=b),c.color===!1&&o[f]&&(c.color=d(o[f],g)))}r=r.filter(function(k){return k.v>=0});var w=t.type==="funnelarea"?m:t.sort;return w&&r.sort(function(k,x){return x.v-k.v}),r[0]&&(r[0].vTotal=v),r}function nge(e){return function(r,n){return!r||(r=nq(r),!r.isValid())?!1:(r=tdt.addOpacity(r,r.getAlpha()),e[n]||(e[n]=r),r)}}function idt(e,t){var r=(t||{}).type;r||(r="pie");var n=e._fullLayout,i=e.calcdata,a=n[r+"colorway"],o=n["_"+r+"colormap"];n["extend"+r+"colors"]&&(a=ige(a,rdt));for(var s=0,l=0;l<i.length;l++){var u=i[l],f=u[0].trace.type;if(f===r)for(var c=0;c<u.length;c++){var h=u[c];h.color===!1&&(o[h.label]?h.color=o[h.label]:(o[h.label]=h.color=a[s%a.length],s++))}}}function ige(e,t){var r,n=JSON.stringify(e),i=t[n];if(!i){for(i=e.slice(),r=0;r<e.length;r++)i.push(nq(e[r]).lighten(20).toHexString());for(r=0;r<e.length;r++)i.push(nq(e[r]).darken(20).toHexString());t[n]=i}return i}age.exports={calc:ndt,crossTraceCalc:idt,makePullColorFn:nge,generateExtendedColors:ige}});var sge=J((_Ft,oge)=>{"use strict";var adt=Qf().appendArrayMultiPointValues;oge.exports=function(t,r){var n={curveNumber:r.index,pointNumbers:t.pts,data:r._input,fullData:r,label:t.label,color:t.color,value:t.v,percent:t.percent,text:t.text,bbox:t.bbox,v:t.v};return t.pts.length===1&&(n.pointNumber=n.i=t.pts[0]),adt(n,r,t.pts),r.type==="funnelarea"&&(delete n.v,delete n.i),n}});var BS=J((TFt,Cge)=>{"use strict";var Xu=Nr(),odt=ea(),zS=go(),vge=qr(),pd=ln(),Js=gt(),sdt=Js.strScale,lge=Js.strTranslate,iq=ca(),dge=xl(),ldt=dge.recordMinTextSize,udt=dge.clearMinTextSize,pge=qg().TEXTPAD,_n=g0(),NS=sge(),uge=gt().isValidTextValue;function fdt(e,t){var r=e._context.staticPlot,n=e._fullLayout,i=n._size;udt("pie",n),yge(t,e),Mge(t,i);var a=Js.makeTraceGroups(n._pielayer,t,"trace").each(function(o){var s=Xu.select(this),l=o[0],u=l.trace;xdt(o),s.attr("stroke-linejoin","round"),s.each(function(){var f=Xu.select(this).selectAll("g.slice").data(o);f.enter().append("g").classed("slice",!0),f.exit().remove();var c=[[[],[]],[[],[]]],h=!1;f.each(function(w,k){if(w.hidden){Xu.select(this).selectAll("path,g").remove();return}w.pointNumber=w.i,w.curveNumber=u.index,c[w.pxmid[1]<0?0:1][w.pxmid[0]<0?0:1].push(w);var x=l.cx,M=l.cy,A=Xu.select(this),p=A.selectAll("path.surface").data([w]);if(p.enter().append("path").classed("surface",!0).style({"pointer-events":r?"none":"all"}),A.call(gge,e,o),u.pull){var S=+_n.castOption(u.pull,w.pts)||0;S>0&&(x+=S*w.pxmid[0],M+=S*w.pxmid[1])}w.cxFinal=x,w.cyFinal=M;function y(D,q,N,U){var G=U*(q[0]-D[0]),ee=U*(q[1]-D[1]);return"a"+U*l.r+","+U*l.r+" 0 "+w.largeArc+(N?" 1 ":" 0 ")+G+","+ee}var E=u.hole;if(w.v===l.vTotal){var C="M"+(x+w.px0[0])+","+(M+w.px0[1])+y(w.px0,w.pxmid,!0,1)+y(w.pxmid,w.px0,!0,1)+"Z";E?p.attr("d","M"+(x+E*w.px0[0])+","+(M+E*w.px0[1])+y(w.px0,w.pxmid,!1,E)+y(w.pxmid,w.px0,!1,E)+"Z"+C):p.attr("d",C)}else{var L=y(w.px0,w.px1,!0,1);if(E){var R=1-E;p.attr("d","M"+(x+E*w.px1[0])+","+(M+E*w.px1[1])+y(w.px1,w.px0,!1,E)+"l"+R*w.px0[0]+","+R*w.px0[1]+L+"Z")}else p.attr("d","M"+x+","+M+"l"+w.px0[0]+","+w.px0[1]+L+"Z")}kge(e,w,l);var I=_n.castOption(u.textposition,w.pts),P=A.selectAll("g.slicetext").data(w.text&&I!=="none"?[0]:[]);P.enter().append("g").classed("slicetext",!0),P.exit().remove(),P.each(function(){var D=Js.ensureSingle(Xu.select(this),"text","",function(O){O.attr("data-notex",1)}),q=Js.ensureUniformFontSize(e,I==="outside"?hdt(u,w,n.font):mge(u,w,n.font));D.text(w.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(pd.font,q).call(iq.convertToTspans,e);var N=pd.bBox(D.node()),U;if(I==="outside")U=hge(N,w);else if(U=xge(N,w,l),I==="auto"&&U.scale<1){var G=Js.ensureUniformFontSize(e,u.outsidetextfont);D.call(pd.font,G),N=pd.bBox(D.node()),U=hge(N,w)}var ee=U.textPosAngle,Q=ee===void 0?w.pxmid:OS(l.r,ee);if(U.targetX=x+Q[0]*U.rCenter+(U.x||0),U.targetY=M+Q[1]*U.rCenter+(U.y||0),Sge(U,N),U.outside){var j=U.targetY;w.yLabelMin=j-N.height/2,w.yLabelMid=j,w.yLabelMax=j+N.height/2,w.labelExtraX=0,w.labelExtraY=0,h=!0}U.fontSize=q.size,ldt(u.type,U,n),o[k].transform=U,Js.setTransormAndDisplay(D,U)})});var d=Xu.select(this).selectAll("g.titletext").data(u.title.text?[0]:[]);if(d.enter().append("g").classed("titletext",!0),d.exit().remove(),d.each(function(){var w=Js.ensureSingle(Xu.select(this),"text","",function(M){M.attr("data-notex",1)}),k=u.title.text;u._meta&&(k=Js.templateString(k,u._meta)),w.text(k).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(pd.font,u.title.font).call(iq.convertToTspans,e);var x;u.title.position==="middle center"?x=pdt(l):x=Tge(l,i),w.attr("transform",lge(x.x,x.y)+sdt(Math.min(1,x.scale))+lge(x.tx,x.ty))}),h&&mdt(c,u),cdt(f,u),h&&u.automargin){var v=pd.bBox(s.node()),m=u.domain,b=i.w*(m.x[1]-m.x[0]),g=i.h*(m.y[1]-m.y[0]),_=(.5*b-l.r)/i.w,T=(.5*g-l.r)/i.h;odt.autoMargin(e,"pie."+u.uid+".automargin",{xl:m.x[0]-_,xr:m.x[1]+_,yb:m.y[0]-T,yt:m.y[1]+T,l:Math.max(l.cx-l.r-v.left,0),r:Math.max(v.right-(l.cx+l.r),0),b:Math.max(v.bottom-(l.cy+l.r),0),t:Math.max(l.cy-l.r-v.top,0),pad:5})}})});setTimeout(function(){a.selectAll("tspan").each(function(){var o=Xu.select(this);o.attr("dy")&&o.attr("dy",o.attr("dy"))})},0)}function cdt(e,t){e.each(function(r){var n=Xu.select(this);if(!r.labelExtraX&&!r.labelExtraY){n.select("path.textline").remove();return}var i=n.select("g.slicetext text");r.transform.targetX+=r.labelExtraX,r.transform.targetY+=r.labelExtraY,Js.setTransormAndDisplay(i,r.transform);var a=r.cxFinal+r.pxmid[0],o=r.cyFinal+r.pxmid[1],s="M"+a+","+o,l=(r.yLabelMax-r.yLabelMin)*(r.pxmid[0]<0?-1:1)/4;if(r.labelExtraX){var u=r.labelExtraX*r.pxmid[1]/r.pxmid[0],f=r.yLabelMid+r.labelExtraY-(r.cyFinal+r.pxmid[1]);Math.abs(u)>Math.abs(f)?s+="l"+f*r.pxmid[0]/r.pxmid[1]+","+f+"H"+(a+r.labelExtraX+l):s+="l"+r.labelExtraX+","+u+"v"+(f-u)+"h"+l}else s+="V"+(r.yLabelMid+r.labelExtraY)+"h"+l;Js.ensureSingle(n,"path","textline").call(vge.stroke,t.outsidetextfont.color).attr({"stroke-width":Math.min(2,t.outsidetextfont.size/8),d:s,fill:"none"})})}function gge(e,t,r){var n=r[0],i=n.cx,a=n.cy,o=n.trace,s=o.type==="funnelarea";"_hasHoverLabel"in o||(o._hasHoverLabel=!1),"_hasHoverEvent"in o||(o._hasHoverEvent=!1),e.on("mouseover",function(l){var u=t._fullLayout,f=t._fullData[o.index];if(!(t._dragging||u.hovermode===!1)){var c=f.hoverinfo;if(Array.isArray(c)&&(c=zS.castHoverinfo({hoverinfo:[_n.castOption(c,l.pts)],_module:o._module},u,0)),c==="all"&&(c="label+text+value+percent+name"),f.hovertemplate||c!=="none"&&c!=="skip"&&c){var h=l.rInscribed||0,d=i+l.pxmid[0]*(1-h),v=a+l.pxmid[1]*(1-h),m=u.separators,b=[];if(c&&c.indexOf("label")!==-1&&b.push(l.label),l.text=_n.castOption(f.hovertext||f.text,l.pts),c&&c.indexOf("text")!==-1){var g=l.text;Js.isValidTextValue(g)&&b.push(g)}l.value=l.v,l.valueLabel=_n.formatPieValue(l.v,m),c&&c.indexOf("value")!==-1&&b.push(l.valueLabel),l.percent=l.v/n.vTotal,l.percentLabel=_n.formatPiePercent(l.percent,m),c&&c.indexOf("percent")!==-1&&b.push(l.percentLabel);var _=f.hoverlabel,T=_.font,w=[];zS.loneHover({trace:o,x0:d-h*n.r,x1:d+h*n.r,y:v,_x0:s?i+l.TL[0]:d-h*n.r,_x1:s?i+l.TR[0]:d+h*n.r,_y0:s?a+l.TL[1]:v-h*n.r,_y1:s?a+l.BL[1]:v+h*n.r,text:b.join("<br>"),name:f.hovertemplate||c.indexOf("name")!==-1?f.name:void 0,idealAlign:l.pxmid[0]<0?"left":"right",color:_n.castOption(_.bgcolor,l.pts)||l.color,borderColor:_n.castOption(_.bordercolor,l.pts),fontFamily:_n.castOption(T.family,l.pts),fontSize:_n.castOption(T.size,l.pts),fontColor:_n.castOption(T.color,l.pts),nameLength:_n.castOption(_.namelength,l.pts),textAlign:_n.castOption(_.align,l.pts),hovertemplate:_n.castOption(f.hovertemplate,l.pts),hovertemplateLabels:l,eventData:[NS(l,f)]},{container:u._hoverlayer.node(),outerContainer:u._paper.node(),gd:t,inOut_bbox:w}),l.bbox=w[0],o._hasHoverLabel=!0}o._hasHoverEvent=!0,t.emit("plotly_hover",{points:[NS(l,f)],event:Xu.event})}}),e.on("mouseout",function(l){var u=t._fullLayout,f=t._fullData[o.index],c=Xu.select(this).datum();o._hasHoverEvent&&(l.originalEvent=Xu.event,t.emit("plotly_unhover",{points:[NS(c,f)],event:Xu.event}),o._hasHoverEvent=!1),o._hasHoverLabel&&(zS.loneUnhover(u._hoverlayer.node()),o._hasHoverLabel=!1)}),e.on("click",function(l){var u=t._fullLayout,f=t._fullData[o.index];t._dragging||u.hovermode===!1||(t._hoverdata=[NS(l,f)],zS.click(t,Xu.event))})}function hdt(e,t,r){var n=_n.castOption(e.outsidetextfont.color,t.pts)||_n.castOption(e.textfont.color,t.pts)||r.color,i=_n.castOption(e.outsidetextfont.family,t.pts)||_n.castOption(e.textfont.family,t.pts)||r.family,a=_n.castOption(e.outsidetextfont.size,t.pts)||_n.castOption(e.textfont.size,t.pts)||r.size,o=_n.castOption(e.outsidetextfont.weight,t.pts)||_n.castOption(e.textfont.weight,t.pts)||r.weight,s=_n.castOption(e.outsidetextfont.style,t.pts)||_n.castOption(e.textfont.style,t.pts)||r.style,l=_n.castOption(e.outsidetextfont.variant,t.pts)||_n.castOption(e.textfont.variant,t.pts)||r.variant,u=_n.castOption(e.outsidetextfont.textcase,t.pts)||_n.castOption(e.textfont.textcase,t.pts)||r.textcase,f=_n.castOption(e.outsidetextfont.lineposition,t.pts)||_n.castOption(e.textfont.lineposition,t.pts)||r.lineposition,c=_n.castOption(e.outsidetextfont.shadow,t.pts)||_n.castOption(e.textfont.shadow,t.pts)||r.shadow;return{color:n,family:i,size:a,weight:o,style:s,variant:l,textcase:u,lineposition:f,shadow:c}}function mge(e,t,r){var n=_n.castOption(e.insidetextfont.color,t.pts);!n&&e._input.textfont&&(n=_n.castOption(e._input.textfont.color,t.pts));var i=_n.castOption(e.insidetextfont.family,t.pts)||_n.castOption(e.textfont.family,t.pts)||r.family,a=_n.castOption(e.insidetextfont.size,t.pts)||_n.castOption(e.textfont.size,t.pts)||r.size,o=_n.castOption(e.insidetextfont.weight,t.pts)||_n.castOption(e.textfont.weight,t.pts)||r.weight,s=_n.castOption(e.insidetextfont.style,t.pts)||_n.castOption(e.textfont.style,t.pts)||r.style,l=_n.castOption(e.insidetextfont.variant,t.pts)||_n.castOption(e.textfont.variant,t.pts)||r.variant,u=_n.castOption(e.insidetextfont.textcase,t.pts)||_n.castOption(e.textfont.textcase,t.pts)||r.textcase,f=_n.castOption(e.insidetextfont.lineposition,t.pts)||_n.castOption(e.textfont.lineposition,t.pts)||r.lineposition,c=_n.castOption(e.insidetextfont.shadow,t.pts)||_n.castOption(e.textfont.shadow,t.pts)||r.shadow;return{color:n||vge.contrast(t.color),family:i,size:a,weight:o,style:s,variant:l,textcase:u,lineposition:f,shadow:c}}function yge(e,t){for(var r,n,i=0;i<e.length;i++)if(r=e[i][0],n=r.trace,n.title.text){var a=n.title.text;n._meta&&(a=Js.templateString(a,n._meta));var o=pd.tester.append("text").attr("data-notex",1).text(a).call(pd.font,n.title.font).call(iq.convertToTspans,t),s=pd.bBox(o.node(),!0);r.titleBox={width:s.width,height:s.height},o.remove()}}function xge(e,t,r){var n=r.r||t.rpx1,i=t.rInscribed,a=t.startangle===t.stopangle;if(a)return{rCenter:1-i,scale:0,rotate:0,textPosAngle:0};var o=t.ring,s=o===1&&Math.abs(t.startangle-t.stopangle)===Math.PI*2,l=t.halfangle,u=t.midangle,f=r.trace.insidetextorientation,c=f==="horizontal",h=f==="tangential",d=f==="radial",v=f==="auto",m=[],b;if(!v){var g=function(A,p){if(vdt(t,A)){var S=Math.abs(A-t.startangle),y=Math.abs(A-t.stopangle),E=S<y?S:y;p==="tan"?b=cge(e,n,o,E,0):b=fge(e,n,o,E,Math.PI/2),b.textPosAngle=A,m.push(b)}},_;if(c||h){for(_=4;_>=-4;_-=2)g(Math.PI*_,"tan");for(_=4;_>=-4;_-=2)g(Math.PI*(_+1),"tan")}if(c||d){for(_=4;_>=-4;_-=2)g(Math.PI*(_+1.5),"rad");for(_=4;_>=-4;_-=2)g(Math.PI*(_+.5),"rad")}}if(s||v||c){var T=Math.sqrt(e.width*e.width+e.height*e.height);if(b={scale:i*n*2/T,rCenter:1-i,rotate:0},b.textPosAngle=(t.startangle+t.stopangle)/2,b.scale>=1)return b;m.push(b)}(v||d)&&(b=fge(e,n,o,l,u),b.textPosAngle=(t.startangle+t.stopangle)/2,m.push(b)),(v||h)&&(b=cge(e,n,o,l,u),b.textPosAngle=(t.startangle+t.stopangle)/2,m.push(b));for(var w=0,k=0,x=0;x<m.length;x++){var M=m[x].scale;if(k<M&&(k=M,w=x),!v&&k>=1)break}return m[w]}function vdt(e,t){var r=e.startangle,n=e.stopangle;return r>t&&t>n||r<t&&t<n}function fge(e,t,r,n,i){t=Math.max(0,t-2*pge);var a=e.width/e.height,o=_ge(a,n,t,r);return{scale:o*2/e.height,rCenter:bge(a,o/t),rotate:wge(i)}}function cge(e,t,r,n,i){t=Math.max(0,t-2*pge);var a=e.height/e.width,o=_ge(a,n,t,r);return{scale:o*2/e.width,rCenter:bge(a,o/t),rotate:wge(i+Math.PI/2)}}function bge(e,t){return Math.cos(t)-e*t}function wge(e){return(180/Math.PI*e+720)%180-90}function _ge(e,t,r,n){var i=e+1/(2*Math.tan(t));return r*Math.min(1/(Math.sqrt(i*i+.5)+i),n/(Math.sqrt(e*e+n/2)+e))}function ddt(e,t){return e.v===t.vTotal&&!t.trace.hole?1:Math.min(1/(1+1/Math.sin(e.halfangle)),e.ring/2)}function hge(e,t){var r=t.pxmid[0],n=t.pxmid[1],i=e.width/2,a=e.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function pdt(e){var t=Math.sqrt(e.titleBox.width*e.titleBox.width+e.titleBox.height*e.titleBox.height);return{x:e.cx,y:e.cy,scale:e.trace.hole*e.r*2/t,tx:0,ty:-e.titleBox.height/2+e.trace.title.font.size}}function Tge(e,t){var r=1,n=1,i,a=e.trace,o={x:e.cx,y:e.cy},s={tx:0,ty:0};s.ty+=a.title.font.size,i=Age(a),a.title.position.indexOf("top")!==-1?(o.y-=(1+i)*e.r,s.ty-=e.titleBox.height):a.title.position.indexOf("bottom")!==-1&&(o.y+=(1+i)*e.r);var l=gdt(e.r,e.trace.aspectratio),u=t.w*(a.domain.x[1]-a.domain.x[0])/2;return a.title.position.indexOf("left")!==-1?(u=u+l,o.x-=(1+i)*l,s.tx+=e.titleBox.width/2):a.title.position.indexOf("center")!==-1?u*=2:a.title.position.indexOf("right")!==-1&&(u=u+l,o.x+=(1+i)*l,s.tx-=e.titleBox.width/2),r=u/e.titleBox.width,n=aq(e,t)/e.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function gdt(e,t){return e/(t===void 0?1:t)}function aq(e,t){var r=e.trace,n=t.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(e.titleBox.height,n/2)}function Age(e){var t=e.pull;if(!t)return 0;var r;if(Js.isArrayOrTypedArray(t))for(t=0,r=0;r<e.pull.length;r++)e.pull[r]>t&&(t=e.pull[r]);return t}function mdt(e,t){var r,n,i,a,o,s,l,u,f,c,h,d,v;function m(T,w){return T.pxmid[1]-w.pxmid[1]}function b(T,w){return w.pxmid[1]-T.pxmid[1]}function g(T,w){w||(w={});var k=w.labelExtraY+(n?w.yLabelMax:w.yLabelMin),x=n?T.yLabelMin:T.yLabelMax,M=n?T.yLabelMax:T.yLabelMin,A=T.cyFinal+o(T.px0[1],T.px1[1]),p=k-x,S,y,E,C,L,R;if(p*l>0&&(T.labelExtraY=p),!!Js.isArrayOrTypedArray(t.pull))for(y=0;y<c.length;y++)E=c[y],!(E===T||(_n.castOption(t.pull,T.pts)||0)>=(_n.castOption(t.pull,E.pts)||0))&&((T.pxmid[1]-E.pxmid[1])*l>0?(C=E.cyFinal+o(E.px0[1],E.px1[1]),p=C-x-T.labelExtraY,p*l>0&&(T.labelExtraY+=p)):(M+T.labelExtraY-A)*l>0&&(S=3*s*Math.abs(y-c.indexOf(T)),L=E.cxFinal+a(E.px0[0],E.px1[0]),R=L+S-(T.cxFinal+T.pxmid[0])-T.labelExtraX,R*s>0&&(T.labelExtraX+=R)))}for(n=0;n<2;n++)for(i=n?m:b,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,u=e[n][r],u.sort(i),f=e[1-n][r],c=f.concat(u),d=[],h=0;h<u.length;h++)u[h].yLabelMid!==void 0&&d.push(u[h]);for(v=!1,h=0;n&&h<f.length;h++)if(f[h].yLabelMid!==void 0){v=f[h];break}for(h=0;h<d.length;h++){var _=h&&d[h-1];v&&!h&&(_=v),g(d[h],_)}}}function Mge(e,t){for(var r=[],n=0;n<e.length;n++){var i=e[n][0],a=i.trace,o=a.domain,s=t.w*(o.x[1]-o.x[0]),l=t.h*(o.y[1]-o.y[0]);a.title.text&&a.title.position!=="middle center"&&(l-=aq(i,t));var u=s/2,f=l/2;a.type==="funnelarea"&&!a.scalegroup&&(f/=a.aspectratio),i.r=Math.min(u,f)/(1+Age(a)),i.cx=t.l+t.w*(a.domain.x[1]+a.domain.x[0])/2,i.cy=t.t+t.h*(1-a.domain.y[0])-l/2,a.title.text&&a.title.position.indexOf("bottom")!==-1&&(i.cy-=aq(i,t)),a.scalegroup&&r.indexOf(a.scalegroup)===-1&&r.push(a.scalegroup)}ydt(e,r)}function ydt(e,t){for(var r,n,i,a=0;a<t.length;a++){var o=1/0,s=t[a];for(n=0;n<e.length;n++)if(r=e[n][0],i=r.trace,i.scalegroup===s){var l;if(i.type==="pie")l=r.r*r.r;else if(i.type==="funnelarea"){var u,f;i.aspectratio>1?(u=r.r,f=u/i.aspectratio):(f=r.r,u=f*i.aspectratio),u*=(1+i.baseratio)/2,l=u*f}o=Math.min(o,l/r.vTotal)}for(n=0;n<e.length;n++)if(r=e[n][0],i=r.trace,i.scalegroup===s){var c=o*r.vTotal;i.type==="funnelarea"&&(c/=(1+i.baseratio)/2,c/=i.aspectratio),r.r=Math.sqrt(c)}}}function xdt(e){var t=e[0],r=t.r,n=t.trace,i=_n.getRotationAngle(n.rotation),a=2*Math.PI/t.vTotal,o="px0",s="px1",l,u,f;if(n.direction==="counterclockwise"){for(l=0;l<e.length&&e[l].hidden;l++);if(l===e.length)return;i+=a*e[l].v,a*=-1,o="px1",s="px0"}for(f=OS(r,i),l=0;l<e.length;l++)u=e[l],!u.hidden&&(u[o]=f,u.startangle=i,i+=a*u.v/2,u.pxmid=OS(r,i),u.midangle=i,i+=a*u.v/2,f=OS(r,i),u.stopangle=i,u[s]=f,u.largeArc=u.v>t.vTotal/2?1:0,u.halfangle=Math.PI*Math.min(u.v/t.vTotal,.5),u.ring=1-n.hole,u.rInscribed=ddt(u,t))}function OS(e,t){return[e*Math.sin(t),-e*Math.cos(t)]}function kge(e,t,r){var n=e._fullLayout,i=r.trace,a=i.texttemplate,o=i.textinfo;if(!a&&o&&o!=="none"){var s=o.split("+"),l=function(w){return s.indexOf(w)!==-1},u=l("label"),f=l("text"),c=l("value"),h=l("percent"),d=n.separators,v;if(v=u?[t.label]:[],f){var m=_n.getFirstFilled(i.text,t.pts);uge(m)&&v.push(m)}c&&v.push(_n.formatPieValue(t.v,d)),h&&v.push(_n.formatPiePercent(t.v/r.vTotal,d)),t.text=v.join("<br>")}function b(w){return{label:w.label,value:w.v,valueLabel:_n.formatPieValue(w.v,n.separators),percent:w.v/r.vTotal,percentLabel:_n.formatPiePercent(w.v/r.vTotal,n.separators),color:w.color,text:w.text,customdata:Js.castOption(i,w.i,"customdata")}}if(a){var g=Js.castOption(i,t.i,"texttemplate");if(!g)t.text="";else{var _=b(t),T=_n.getFirstFilled(i.text,t.pts);(uge(T)||T==="")&&(_.text=T),t.text=Js.texttemplateString(g,_,e._fullLayout._d3locale,_,i._meta||{})}}}function Sge(e,t){var r=e.rotate*Math.PI/180,n=Math.cos(r),i=Math.sin(r),a=(t.left+t.right)/2,o=(t.top+t.bottom)/2;e.textX=a*n-o*i,e.textY=a*i+o*n,e.noCenter=!0}Cge.exports={plot:fdt,formatSliceLabel:kge,transformInsideText:xge,determineInsideTextFont:mge,positionTitleOutside:Tge,prerenderTitles:yge,layoutAreas:Mge,attachFxHandlers:gge,computeTransform:Sge}});var Dge=J((AFt,Lge)=>{"use strict";var Ege=Nr(),bdt=X1(),wdt=xl().resizeText;Lge.exports=function(t){var r=t._fullLayout._pielayer.selectAll(".trace");wdt(t,r,"pie"),r.each(function(n){var i=n[0],a=i.trace,o=Ege.select(this);o.style({opacity:a.opacity}),o.selectAll("path.surface").each(function(s){Ege.select(this).call(bdt,s,a,t)})})}});var Pge=J(ex=>{"use strict";var Rge=ea();ex.name="pie";ex.plot=function(e,t,r,n){Rge.plotBasePlot(ex.name,e,t,r,n)};ex.clean=function(e,t,r,n){Rge.cleanBasePlot(ex.name,e,t,r,n)}});var qge=J((kFt,Ige)=>{"use strict";Ige.exports={attributes:Vg(),supplyDefaults:Yg().supplyDefaults,supplyLayoutDefaults:rge(),layoutAttributes:FS(),calc:Qy().calc,crossTraceCalc:Qy().crossTraceCalc,plot:BS().plot,style:Dge(),styleOne:X1(),moduleType:"trace",name:"pie",basePlotModule:Pge(),categories:["pie-like","pie","showLegend"],meta:{description:["A data visualized by the sectors of the pie is set in `values`.","The sector labels are set in `labels`.","The sector colors are set in `marker.colors`"].join(" ")}}});var zge=J((SFt,Fge)=>{"use strict";Fge.exports=qge()});var Oge=J(tx=>{"use strict";var Nge=ea();tx.name="sunburst";tx.plot=function(e,t,r,n){Nge.plotBasePlot(tx.name,e,t,r,n)};tx.clean=function(e,t,r,n){Nge.cleanBasePlot(tx.name,e,t,r,n)}});var oq=J((EFt,Bge)=>{"use strict";Bge.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"linear",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"]}});var i_=J((LFt,Hge)=>{"use strict";var _dt=Qi(),Tdt=Jn().hovertemplateAttrs,Adt=Jn().texttemplateAttrs,Mdt=Da(),kdt=Wa().attributes,gd=Vg(),Uge=oq(),n_=cn().extendFlat,Sdt=Ss().pattern;Hge.exports={labels:{valType:"data_array",editType:"calc",description:["Sets the labels of each of the sectors."].join(" ")},parents:{valType:"data_array",editType:"calc",description:["Sets the parent sectors for each of the sectors.","Empty string items '' are understood to reference","the root node in the hierarchy.",'If `ids` is filled, `parents` items are understood to be "ids" themselves.',"When `ids` is not set, plotly attempts to find matching items in `labels`,","but beware they must be unique."].join(" ")},values:{valType:"data_array",editType:"calc",description:["Sets the values associated with each of the sectors.","Use with `branchvalues` to determine how the values are summed."].join(" ")},branchvalues:{valType:"enumerated",values:["remainder","total"],dflt:"remainder",editType:"calc",description:["Determines how the items in `values` are summed.","When set to *total*, items in `values` are taken to be value of all its descendants.","When set to *remainder*, items in `values` corresponding to the root and the branches sectors","are taken to be the extra part not part of the sum of the values at their leaves."].join(" ")},count:{valType:"flaglist",flags:["branches","leaves"],dflt:"leaves",editType:"calc",description:["Determines default for `values` when it is not provided,","by inferring a 1 for each of the *leaves* and/or *branches*, otherwise 0."].join(" ")},level:{valType:"any",editType:"plot",anim:!0,description:["Sets the level from which this trace hierarchy is rendered.","Set `level` to `''` to start from the root node in the hierarchy.",'Must be an "id" if `ids` is filled in, otherwise plotly attempts to find a matching',"item in `labels`."].join(" ")},maxdepth:{valType:"integer",editType:"plot",dflt:-1,description:["Sets the number of rendered sectors from any given `level`.","Set `maxdepth` to *-1* to render all the levels in the hierarchy."].join(" ")},marker:n_({colors:{valType:"data_array",editType:"calc",description:["Sets the color of each sector of this trace.","If not specified, the default trace color set is used","to pick the sector colors."].join(" ")},line:{color:n_({},gd.marker.line.color,{dflt:null,description:["Sets the color of the line enclosing each sector.","Defaults to the `paper_bgcolor` value."].join(" ")}),width:n_({},gd.marker.line.width,{dflt:1}),editType:"calc"},pattern:Sdt,editType:"calc"},Mdt("marker",{colorAttr:"colors",anim:!1})),leaf:{opacity:{valType:"number",editType:"style",min:0,max:1,description:["Sets the opacity of the leaves. With colorscale","it is defaulted to 1; otherwise it is defaulted to 0.7"].join(" ")},editType:"plot"},text:gd.text,textinfo:{valType:"flaglist",flags:["label","text","value","current path","percent root","percent entry","percent parent"],extras:["none"],editType:"plot",description:["Determines which trace information appear on the graph."].join(" ")},texttemplate:Adt({editType:"plot"},{keys:Uge.eventDataKeys.concat(["label","value"])}),hovertext:gd.hovertext,hoverinfo:n_({},_dt.hoverinfo,{flags:["label","text","value","name","current path","percent root","percent entry","percent parent"],dflt:"label+text+value+name"}),hovertemplate:Tdt({},{keys:Uge.eventDataKeys}),textfont:gd.textfont,insidetextorientation:gd.insidetextorientation,insidetextfont:gd.insidetextfont,outsidetextfont:n_({},gd.outsidetextfont,{description:["Sets the font used for `textinfo` lying outside the sector.","This option refers to the root of the hierarchy","presented at the center of a sunburst graph.","Please note that if a hierarchy has multiple root nodes,","this option won't have any effect and `insidetextfont` would be used."].join(" ")}),rotation:{valType:"angle",dflt:0,editType:"plot",description:["Rotates the whole diagram counterclockwise by some angle.","By default the first slice starts at 3 o'clock."].join(" ")},sort:gd.sort,root:{color:{valType:"color",editType:"calc",dflt:"rgba(0,0,0,0)",description:["sets the color of the root node for a sunburst/treemap/icicle trace.","this has no effect when a colorscale is used to set the markers."].join(" ")},editType:"calc"},domain:kdt({name:"sunburst",trace:!0,editType:"calc"})}});var sq=J((DFt,jge)=>{"use strict";jge.exports={sunburstcolorway:{valType:"colorlist",editType:"calc",description:["Sets the default sunburst slice colors. Defaults to the main","`colorway` used for trace colors. If you specify a new","list here it can still be extended with lighter and darker","colors, see `extendsunburstcolors`."].join(" ")},extendsunburstcolors:{valType:"boolean",dflt:!0,editType:"calc",description:["If `true`, the sunburst slice colors (whether given by `sunburstcolorway` or","inherited from `colorway`) will be extended to three times its","original length by first repeating every color 20% lighter then","each color 20% darker. This is intended to reduce the likelihood","of reusing the same color when you have many slices, but you can","set `false` to disable.","Colors provided in the trace, using `marker.colors`, are never","extended."].join(" ")}}});var Wge=J((RFt,Gge)=>{"use strict";var Vge=gt(),Cdt=i_(),Edt=Wa().defaults,Ldt=Pf().handleText,Ddt=Yg().handleMarkerDefaults,Yge=Qa(),Rdt=Yge.hasColorscale,Pdt=Yge.handleDefaults;Gge.exports=function(t,r,n,i){function a(h,d){return Vge.coerce(t,r,Cdt,h,d)}var o=a("labels"),s=a("parents");if(!o||!o.length||!s||!s.length){r.visible=!1;return}var l=a("values");l&&l.length?a("branchvalues"):a("count"),a("level"),a("maxdepth"),Ddt(t,r,i,a);var u=r._hasColorscale=Rdt(t,"marker","colors")||(t.marker||{}).coloraxis;u&&Pdt(t,r,i,a,{prefix:"marker.",cLetter:"c"}),a("leaf.opacity",u?1:.7);var f=a("text");a("texttemplate"),r.texttemplate||a("textinfo",Vge.isArrayOrTypedArray(f)?"text+label":"label"),a("hovertext"),a("hovertemplate");var c="auto";Ldt(t,r,i,a,c,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),a("insidetextorientation"),a("sort"),a("rotation"),a("root.color"),Edt(r,i,a),r._length=null}});var Zge=J((PFt,Xge)=>{"use strict";var Idt=gt(),qdt=sq();Xge.exports=function(t,r){function n(i,a){return Idt.coerce(t,r,qdt,i,a)}n("sunburstcolorway",r.colorway),n("extendsunburstcolors")}});var a_=J((US,Jge)=>{(function(e,t){typeof US=="object"&&typeof Jge<"u"?t(US):typeof define=="function"&&define.amd?define(["exports"],t):(e=e||self,t(e.d3=e.d3||{}))})(US,function(e){"use strict";function t(Ye,je){return Ye.parent===je.parent?1:2}function r(Ye){return Ye.reduce(n,0)/Ye.length}function n(Ye,je){return Ye+je.x}function i(Ye){return 1+Ye.reduce(a,0)}function a(Ye,je){return Math.max(Ye,je.y)}function o(Ye){for(var je;je=Ye.children;)Ye=je[0];return Ye}function s(Ye){for(var je;je=Ye.children;)Ye=je[je.length-1];return Ye}function l(){var Ye=t,je=1,$e=1,ve=!1;function Y(ie){var Te,Ve=0;ie.eachAfter(function(St){var Vt=St.children;Vt?(St.x=r(Vt),St.y=i(Vt)):(St.x=Te?Ve+=Ye(St,Te):0,St.y=0,Te=St)});var at=o(ie),ft=s(ie),Ht=at.x-Ye(at,ft)/2,Xt=ft.x+Ye(ft,at)/2;return ie.eachAfter(ve?function(St){St.x=(St.x-ie.x)*je,St.y=(ie.y-St.y)*$e}:function(St){St.x=(St.x-Ht)/(Xt-Ht)*je,St.y=(1-(ie.y?St.y/ie.y:1))*$e})}return Y.separation=function(ie){return arguments.length?(Ye=ie,Y):Ye},Y.size=function(ie){return arguments.length?(ve=!1,je=+ie[0],$e=+ie[1],Y):ve?null:[je,$e]},Y.nodeSize=function(ie){return arguments.length?(ve=!0,je=+ie[0],$e=+ie[1],Y):ve?[je,$e]:null},Y}function u(Ye){var je=0,$e=Ye.children,ve=$e&&$e.length;if(!ve)je=1;else for(;--ve>=0;)je+=$e[ve].value;Ye.value=je}function f(){return this.eachAfter(u)}function c(Ye){var je=this,$e,ve=[je],Y,ie,Te;do for($e=ve.reverse(),ve=[];je=$e.pop();)if(Ye(je),Y=je.children,Y)for(ie=0,Te=Y.length;ie<Te;++ie)ve.push(Y[ie]);while(ve.length);return this}function h(Ye){for(var je=this,$e=[je],ve,Y;je=$e.pop();)if(Ye(je),ve=je.children,ve)for(Y=ve.length-1;Y>=0;--Y)$e.push(ve[Y]);return this}function d(Ye){for(var je=this,$e=[je],ve=[],Y,ie,Te;je=$e.pop();)if(ve.push(je),Y=je.children,Y)for(ie=0,Te=Y.length;ie<Te;++ie)$e.push(Y[ie]);for(;je=ve.pop();)Ye(je);return this}function v(Ye){return this.eachAfter(function(je){for(var $e=+Ye(je.data)||0,ve=je.children,Y=ve&&ve.length;--Y>=0;)$e+=ve[Y].value;je.value=$e})}function m(Ye){return this.eachBefore(function(je){je.children&&je.children.sort(Ye)})}function b(Ye){for(var je=this,$e=g(je,Ye),ve=[je];je!==$e;)je=je.parent,ve.push(je);for(var Y=ve.length;Ye!==$e;)ve.splice(Y,0,Ye),Ye=Ye.parent;return ve}function g(Ye,je){if(Ye===je)return Ye;var $e=Ye.ancestors(),ve=je.ancestors(),Y=null;for(Ye=$e.pop(),je=ve.pop();Ye===je;)Y=Ye,Ye=$e.pop(),je=ve.pop();return Y}function _(){for(var Ye=this,je=[Ye];Ye=Ye.parent;)je.push(Ye);return je}function T(){var Ye=[];return this.each(function(je){Ye.push(je)}),Ye}function w(){var Ye=[];return this.eachBefore(function(je){je.children||Ye.push(je)}),Ye}function k(){var Ye=this,je=[];return Ye.each(function($e){$e!==Ye&&je.push({source:$e.parent,target:$e})}),je}function x(Ye,je){var $e=new y(Ye),ve=+Ye.value&&($e.value=Ye.value),Y,ie=[$e],Te,Ve,at,ft;for(je==null&&(je=A);Y=ie.pop();)if(ve&&(Y.value=+Y.data.value),(Ve=je(Y.data))&&(ft=Ve.length))for(Y.children=new Array(ft),at=ft-1;at>=0;--at)ie.push(Te=Y.children[at]=new y(Ve[at])),Te.parent=Y,Te.depth=Y.depth+1;return $e.eachBefore(S)}function M(){return x(this).eachBefore(p)}function A(Ye){return Ye.children}function p(Ye){Ye.data=Ye.data.data}function S(Ye){var je=0;do Ye.height=je;while((Ye=Ye.parent)&&Ye.height<++je)}function y(Ye){this.data=Ye,this.depth=this.height=0,this.parent=null}y.prototype=x.prototype={constructor:y,count:f,each:c,eachAfter:d,eachBefore:h,sum:v,sort:m,path:b,ancestors:_,descendants:T,leaves:w,links:k,copy:M};var E=Array.prototype.slice;function C(Ye){for(var je=Ye.length,$e,ve;je;)ve=Math.random()*je--|0,$e=Ye[je],Ye[je]=Ye[ve],Ye[ve]=$e;return Ye}function L(Ye){for(var je=0,$e=(Ye=C(E.call(Ye))).length,ve=[],Y,ie;je<$e;)Y=Ye[je],ie&&P(ie,Y)?++je:(ie=q(ve=R(ve,Y)),je=0);return ie}function R(Ye,je){var $e,ve;if(D(je,Ye))return[je];for($e=0;$e<Ye.length;++$e)if(I(je,Ye[$e])&&D(U(Ye[$e],je),Ye))return[Ye[$e],je];for($e=0;$e<Ye.length-1;++$e)for(ve=$e+1;ve<Ye.length;++ve)if(I(U(Ye[$e],Ye[ve]),je)&&I(U(Ye[$e],je),Ye[ve])&&I(U(Ye[ve],je),Ye[$e])&&D(G(Ye[$e],Ye[ve],je),Ye))return[Ye[$e],Ye[ve],je];throw new Error}function I(Ye,je){var $e=Ye.r-je.r,ve=je.x-Ye.x,Y=je.y-Ye.y;return $e<0||$e*$e<ve*ve+Y*Y}function P(Ye,je){var $e=Ye.r-je.r+1e-6,ve=je.x-Ye.x,Y=je.y-Ye.y;return $e>0&&$e*$e>ve*ve+Y*Y}function D(Ye,je){for(var $e=0;$e<je.length;++$e)if(!P(Ye,je[$e]))return!1;return!0}function q(Ye){switch(Ye.length){case 1:return N(Ye[0]);case 2:return U(Ye[0],Ye[1]);case 3:return G(Ye[0],Ye[1],Ye[2])}}function N(Ye){return{x:Ye.x,y:Ye.y,r:Ye.r}}function U(Ye,je){var $e=Ye.x,ve=Ye.y,Y=Ye.r,ie=je.x,Te=je.y,Ve=je.r,at=ie-$e,ft=Te-ve,Ht=Ve-Y,Xt=Math.sqrt(at*at+ft*ft);return{x:($e+ie+at/Xt*Ht)/2,y:(ve+Te+ft/Xt*Ht)/2,r:(Xt+Y+Ve)/2}}function G(Ye,je,$e){var ve=Ye.x,Y=Ye.y,ie=Ye.r,Te=je.x,Ve=je.y,at=je.r,ft=$e.x,Ht=$e.y,Xt=$e.r,St=ve-Te,Vt=ve-ft,er=Y-Ve,_r=Y-Ht,br=at-ie,or=Xt-ie,tn=ve*ve+Y*Y-ie*ie,Lr=tn-Te*Te-Ve*Ve+at*at,Gr=tn-ft*ft-Ht*Ht+Xt*Xt,sn=Vt*er-St*_r,Hr=(er*Gr-_r*Lr)/(sn*2)-ve,Br=(_r*br-er*or)/sn,qn=(Vt*Lr-St*Gr)/(sn*2)-Y,kn=(St*or-Vt*br)/sn,Yn=Br*Br+kn*kn-1,Wn=2*(ie+Hr*Br+qn*kn),Fn=Hr*Hr+qn*qn-ie*ie,wn=-(Yn?(Wn+Math.sqrt(Wn*Wn-4*Yn*Fn))/(2*Yn):Fn/Wn);return{x:ve+Hr+Br*wn,y:Y+qn+kn*wn,r:wn}}function ee(Ye,je,$e){var ve=Ye.x-je.x,Y,ie,Te=Ye.y-je.y,Ve,at,ft=ve*ve+Te*Te;ft?(ie=je.r+$e.r,ie*=ie,at=Ye.r+$e.r,at*=at,ie>at?(Y=(ft+at-ie)/(2*ft),Ve=Math.sqrt(Math.max(0,at/ft-Y*Y)),$e.x=Ye.x-Y*ve-Ve*Te,$e.y=Ye.y-Y*Te+Ve*ve):(Y=(ft+ie-at)/(2*ft),Ve=Math.sqrt(Math.max(0,ie/ft-Y*Y)),$e.x=je.x+Y*ve-Ve*Te,$e.y=je.y+Y*Te+Ve*ve)):($e.x=je.x+$e.r,$e.y=je.y)}function Q(Ye,je){var $e=Ye.r+je.r-1e-6,ve=je.x-Ye.x,Y=je.y-Ye.y;return $e>0&&$e*$e>ve*ve+Y*Y}function j(Ye){var je=Ye._,$e=Ye.next._,ve=je.r+$e.r,Y=(je.x*$e.r+$e.x*je.r)/ve,ie=(je.y*$e.r+$e.y*je.r)/ve;return Y*Y+ie*ie}function O(Ye){this._=Ye,this.next=null,this.previous=null}function Z(Ye){if(!(Y=Ye.length))return 0;var je,$e,ve,Y,ie,Te,Ve,at,ft,Ht,Xt;if(je=Ye[0],je.x=0,je.y=0,!(Y>1))return je.r;if($e=Ye[1],je.x=-$e.r,$e.x=je.r,$e.y=0,!(Y>2))return je.r+$e.r;ee($e,je,ve=Ye[2]),je=new O(je),$e=new O($e),ve=new O(ve),je.next=ve.previous=$e,$e.next=je.previous=ve,ve.next=$e.previous=je;e:for(Ve=3;Ve<Y;++Ve){ee(je._,$e._,ve=Ye[Ve]),ve=new O(ve),at=$e.next,ft=je.previous,Ht=$e._.r,Xt=je._.r;do if(Ht<=Xt){if(Q(at._,ve._)){$e=at,je.next=$e,$e.previous=je,--Ve;continue e}Ht+=at._.r,at=at.next}else{if(Q(ft._,ve._)){je=ft,je.next=$e,$e.previous=je,--Ve;continue e}Xt+=ft._.r,ft=ft.previous}while(at!==ft.next);for(ve.previous=je,ve.next=$e,je.next=$e.previous=$e=ve,ie=j(je);(ve=ve.next)!==$e;)(Te=j(ve))<ie&&(je=ve,ie=Te);$e=je.next}for(je=[$e._],ve=$e;(ve=ve.next)!==$e;)je.push(ve._);for(ve=L(je),Ve=0;Ve<Y;++Ve)je=Ye[Ve],je.x-=ve.x,je.y-=ve.y;return ve.r}function K(Ye){return Z(Ye),Ye}function $(Ye){return Ye==null?null:oe(Ye)}function oe(Ye){if(typeof Ye!="function")throw new Error;return Ye}function te(){return 0}function V(Ye){return function(){return Ye}}function ne(Ye){return Math.sqrt(Ye.value)}function W(){var Ye=null,je=1,$e=1,ve=te;function Y(ie){return ie.x=je/2,ie.y=$e/2,Ye?ie.eachBefore(fe(Ye)).eachAfter(ge(ve,.5)).eachBefore(Ce(1)):ie.eachBefore(fe(ne)).eachAfter(ge(te,1)).eachAfter(ge(ve,ie.r/Math.min(je,$e))).eachBefore(Ce(Math.min(je,$e)/(2*ie.r))),ie}return Y.radius=function(ie){return arguments.length?(Ye=$(ie),Y):Ye},Y.size=function(ie){return arguments.length?(je=+ie[0],$e=+ie[1],Y):[je,$e]},Y.padding=function(ie){return arguments.length?(ve=typeof ie=="function"?ie:V(+ie),Y):ve},Y}function fe(Ye){return function(je){je.children||(je.r=Math.max(0,+Ye(je)||0))}}function ge(Ye,je){return function($e){if(ve=$e.children){var ve,Y,ie=ve.length,Te=Ye($e)*je||0,Ve;if(Te)for(Y=0;Y<ie;++Y)ve[Y].r+=Te;if(Ve=Z(ve),Te)for(Y=0;Y<ie;++Y)ve[Y].r-=Te;$e.r=Ve+Te}}}function Ce(Ye){return function(je){var $e=je.parent;je.r*=Ye,$e&&(je.x=$e.x+Ye*je.x,je.y=$e.y+Ye*je.y)}}function Ne(Ye){Ye.x0=Math.round(Ye.x0),Ye.y0=Math.round(Ye.y0),Ye.x1=Math.round(Ye.x1),Ye.y1=Math.round(Ye.y1)}function pe(Ye,je,$e,ve,Y){for(var ie=Ye.children,Te,Ve=-1,at=ie.length,ft=Ye.value&&(ve-je)/Ye.value;++Ve<at;)Te=ie[Ve],Te.y0=$e,Te.y1=Y,Te.x0=je,Te.x1=je+=Te.value*ft}function me(){var Ye=1,je=1,$e=0,ve=!1;function Y(Te){var Ve=Te.height+1;return Te.x0=Te.y0=$e,Te.x1=Ye,Te.y1=je/Ve,Te.eachBefore(ie(je,Ve)),ve&&Te.eachBefore(Ne),Te}function ie(Te,Ve){return function(at){at.children&&pe(at,at.x0,Te*(at.depth+1)/Ve,at.x1,Te*(at.depth+2)/Ve);var ft=at.x0,Ht=at.y0,Xt=at.x1-$e,St=at.y1-$e;Xt<ft&&(ft=Xt=(ft+Xt)/2),St<Ht&&(Ht=St=(Ht+St)/2),at.x0=ft,at.y0=Ht,at.x1=Xt,at.y1=St}}return Y.round=function(Te){return arguments.length?(ve=!!Te,Y):ve},Y.size=function(Te){return arguments.length?(Ye=+Te[0],je=+Te[1],Y):[Ye,je]},Y.padding=function(Te){return arguments.length?($e=+Te,Y):$e},Y}var Ie="$",Re={depth:-1},ze={};function Be(Ye){return Ye.id}function tt(Ye){return Ye.parentId}function rt(){var Ye=Be,je=tt;function $e(ve){var Y,ie,Te=ve.length,Ve,at,ft,Ht=new Array(Te),Xt,St,Vt={};for(ie=0;ie<Te;++ie)Y=ve[ie],ft=Ht[ie]=new y(Y),(Xt=Ye(Y,ie,ve))!=null&&(Xt+="")&&(St=Ie+(ft.id=Xt),Vt[St]=St in Vt?ze:ft);for(ie=0;ie<Te;++ie)if(ft=Ht[ie],Xt=je(ve[ie],ie,ve),Xt==null||!(Xt+="")){if(Ve)throw new Error("multiple roots");Ve=ft}else{if(at=Vt[Ie+Xt],!at)throw new Error("missing: "+Xt);if(at===ze)throw new Error("ambiguous: "+Xt);at.children?at.children.push(ft):at.children=[ft],ft.parent=at}if(!Ve)throw new Error("no root");if(Ve.parent=Re,Ve.eachBefore(function(er){er.depth=er.parent.depth+1,--Te}).eachBefore(S),Ve.parent=null,Te>0)throw new Error("cycle");return Ve}return $e.id=function(ve){return arguments.length?(Ye=oe(ve),$e):Ye},$e.parentId=function(ve){return arguments.length?(je=oe(ve),$e):je},$e}function ce(Ye,je){return Ye.parent===je.parent?1:2}function Ee(Ye){var je=Ye.children;return je?je[0]:Ye.t}function Ae(Ye){var je=Ye.children;return je?je[je.length-1]:Ye.t}function Pe(Ye,je,$e){var ve=$e/(je.i-Ye.i);je.c-=ve,je.s+=$e,Ye.c+=ve,je.z+=$e,je.m+=$e}function He(Ye){for(var je=0,$e=0,ve=Ye.children,Y=ve.length,ie;--Y>=0;)ie=ve[Y],ie.z+=je,ie.m+=je,je+=ie.s+($e+=ie.c)}function Fe(Ye,je,$e){return Ye.a.parent===je.parent?Ye.a:$e}function ke(Ye,je){this._=Ye,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=je}ke.prototype=Object.create(y.prototype);function Ue(Ye){for(var je=new ke(Ye,0),$e,ve=[je],Y,ie,Te,Ve;$e=ve.pop();)if(ie=$e._.children)for($e.children=new Array(Ve=ie.length),Te=Ve-1;Te>=0;--Te)ve.push(Y=$e.children[Te]=new ke(ie[Te],Te)),Y.parent=$e;return(je.parent=new ke(null,0)).children=[je],je}function Ge(){var Ye=ce,je=1,$e=1,ve=null;function Y(ft){var Ht=Ue(ft);if(Ht.eachAfter(ie),Ht.parent.m=-Ht.z,Ht.eachBefore(Te),ve)ft.eachBefore(at);else{var Xt=ft,St=ft,Vt=ft;ft.eachBefore(function(tn){tn.x<Xt.x&&(Xt=tn),tn.x>St.x&&(St=tn),tn.depth>Vt.depth&&(Vt=tn)});var er=Xt===St?1:Ye(Xt,St)/2,_r=er-Xt.x,br=je/(St.x+er+_r),or=$e/(Vt.depth||1);ft.eachBefore(function(tn){tn.x=(tn.x+_r)*br,tn.y=tn.depth*or})}return ft}function ie(ft){var Ht=ft.children,Xt=ft.parent.children,St=ft.i?Xt[ft.i-1]:null;if(Ht){He(ft);var Vt=(Ht[0].z+Ht[Ht.length-1].z)/2;St?(ft.z=St.z+Ye(ft._,St._),ft.m=ft.z-Vt):ft.z=Vt}else St&&(ft.z=St.z+Ye(ft._,St._));ft.parent.A=Ve(ft,St,ft.parent.A||Xt[0])}function Te(ft){ft._.x=ft.z+ft.parent.m,ft.m+=ft.parent.m}function Ve(ft,Ht,Xt){if(Ht){for(var St=ft,Vt=ft,er=Ht,_r=St.parent.children[0],br=St.m,or=Vt.m,tn=er.m,Lr=_r.m,Gr;er=Ae(er),St=Ee(St),er&&St;)_r=Ee(_r),Vt=Ae(Vt),Vt.a=ft,Gr=er.z+tn-St.z-br+Ye(er._,St._),Gr>0&&(Pe(Fe(er,ft,Xt),ft,Gr),br+=Gr,or+=Gr),tn+=er.m,br+=St.m,Lr+=_r.m,or+=Vt.m;er&&!Ae(Vt)&&(Vt.t=er,Vt.m+=tn-or),St&&!Ee(_r)&&(_r.t=St,_r.m+=br-Lr,Xt=ft)}return Xt}function at(ft){ft.x*=je,ft.y=ft.depth*$e}return Y.separation=function(ft){return arguments.length?(Ye=ft,Y):Ye},Y.size=function(ft){return arguments.length?(ve=!1,je=+ft[0],$e=+ft[1],Y):ve?null:[je,$e]},Y.nodeSize=function(ft){return arguments.length?(ve=!0,je=+ft[0],$e=+ft[1],Y):ve?[je,$e]:null},Y}function lt(Ye,je,$e,ve,Y){for(var ie=Ye.children,Te,Ve=-1,at=ie.length,ft=Ye.value&&(Y-$e)/Ye.value;++Ve<at;)Te=ie[Ve],Te.x0=je,Te.x1=ve,Te.y0=$e,Te.y1=$e+=Te.value*ft}var it=(1+Math.sqrt(5))/2;function wt(Ye,je,$e,ve,Y,ie){for(var Te=[],Ve=je.children,at,ft,Ht=0,Xt=0,St=Ve.length,Vt,er,_r=je.value,br,or,tn,Lr,Gr,sn,Hr;Ht<St;){Vt=Y-$e,er=ie-ve;do br=Ve[Xt++].value;while(!br&&Xt<St);for(or=tn=br,sn=Math.max(er/Vt,Vt/er)/(_r*Ye),Hr=br*br*sn,Gr=Math.max(tn/Hr,Hr/or);Xt<St;++Xt){if(br+=ft=Ve[Xt].value,ft<or&&(or=ft),ft>tn&&(tn=ft),Hr=br*br*sn,Lr=Math.max(tn/Hr,Hr/or),Lr>Gr){br-=ft;break}Gr=Lr}Te.push(at={value:br,dice:Vt<er,children:Ve.slice(Ht,Xt)}),at.dice?pe(at,$e,ve,Y,_r?ve+=er*br/_r:ie):lt(at,$e,ve,_r?$e+=Vt*br/_r:Y,ie),_r-=br,Ht=Xt}return Te}var _t=function Ye(je){function $e(ve,Y,ie,Te,Ve){wt(je,ve,Y,ie,Te,Ve)}return $e.ratio=function(ve){return Ye((ve=+ve)>1?ve:1)},$e}(it);function Tt(){var Ye=_t,je=!1,$e=1,ve=1,Y=[0],ie=te,Te=te,Ve=te,at=te,ft=te;function Ht(St){return St.x0=St.y0=0,St.x1=$e,St.y1=ve,St.eachBefore(Xt),Y=[0],je&&St.eachBefore(Ne),St}function Xt(St){var Vt=Y[St.depth],er=St.x0+Vt,_r=St.y0+Vt,br=St.x1-Vt,or=St.y1-Vt;br<er&&(er=br=(er+br)/2),or<_r&&(_r=or=(_r+or)/2),St.x0=er,St.y0=_r,St.x1=br,St.y1=or,St.children&&(Vt=Y[St.depth+1]=ie(St)/2,er+=ft(St)-Vt,_r+=Te(St)-Vt,br-=Ve(St)-Vt,or-=at(St)-Vt,br<er&&(er=br=(er+br)/2),or<_r&&(_r=or=(_r+or)/2),Ye(St,er,_r,br,or))}return Ht.round=function(St){return arguments.length?(je=!!St,Ht):je},Ht.size=function(St){return arguments.length?($e=+St[0],ve=+St[1],Ht):[$e,ve]},Ht.tile=function(St){return arguments.length?(Ye=oe(St),Ht):Ye},Ht.padding=function(St){return arguments.length?Ht.paddingInner(St).paddingOuter(St):Ht.paddingInner()},Ht.paddingInner=function(St){return arguments.length?(ie=typeof St=="function"?St:V(+St),Ht):ie},Ht.paddingOuter=function(St){return arguments.length?Ht.paddingTop(St).paddingRight(St).paddingBottom(St).paddingLeft(St):Ht.paddingTop()},Ht.paddingTop=function(St){return arguments.length?(Te=typeof St=="function"?St:V(+St),Ht):Te},Ht.paddingRight=function(St){return arguments.length?(Ve=typeof St=="function"?St:V(+St),Ht):Ve},Ht.paddingBottom=function(St){return arguments.length?(at=typeof St=="function"?St:V(+St),Ht):at},Ht.paddingLeft=function(St){return arguments.length?(ft=typeof St=="function"?St:V(+St),Ht):ft},Ht}function nt(Ye,je,$e,ve,Y){var ie=Ye.children,Te,Ve=ie.length,at,ft=new Array(Ve+1);for(ft[0]=at=Te=0;Te<Ve;++Te)ft[Te+1]=at+=ie[Te].value;Ht(0,Ve,Ye.value,je,$e,ve,Y);function Ht(Xt,St,Vt,er,_r,br,or){if(Xt>=St-1){var tn=ie[Xt];tn.x0=er,tn.y0=_r,tn.x1=br,tn.y1=or;return}for(var Lr=ft[Xt],Gr=Vt/2+Lr,sn=Xt+1,Hr=St-1;sn<Hr;){var Br=sn+Hr>>>1;ft[Br]<Gr?sn=Br+1:Hr=Br}Gr-ft[sn-1]<ft[sn]-Gr&&Xt+1<sn&&--sn;var qn=ft[sn]-Lr,kn=Vt-qn;if(br-er>or-_r){var Yn=(er*kn+br*qn)/Vt;Ht(Xt,sn,qn,er,_r,Yn,or),Ht(sn,St,kn,Yn,_r,br,or)}else{var Wn=(_r*kn+or*qn)/Vt;Ht(Xt,sn,qn,er,_r,br,Wn),Ht(sn,St,kn,er,Wn,br,or)}}}function bt(Ye,je,$e,ve,Y){(Ye.depth&1?lt:pe)(Ye,je,$e,ve,Y)}var At=function Ye(je){function $e(ve,Y,ie,Te,Ve){if((at=ve._squarify)&&at.ratio===je)for(var at,ft,Ht,Xt,St=-1,Vt,er=at.length,_r=ve.value;++St<er;){for(ft=at[St],Ht=ft.children,Xt=ft.value=0,Vt=Ht.length;Xt<Vt;++Xt)ft.value+=Ht[Xt].value;ft.dice?pe(ft,Y,ie,Te,ie+=(Ve-ie)*ft.value/_r):lt(ft,Y,ie,Y+=(Te-Y)*ft.value/_r,Ve),_r-=ft.value}else ve._squarify=at=wt(je,ve,Y,ie,Te,Ve),at.ratio=je}return $e.ratio=function(ve){return Ye((ve=+ve)>1?ve:1)},$e}(it);e.cluster=l,e.hierarchy=x,e.pack=W,e.packEnclose=L,e.packSiblings=K,e.partition=me,e.stratify=rt,e.tree=Ge,e.treemap=Tt,e.treemapBinary=nt,e.treemapDice=pe,e.treemapResquarify=At,e.treemapSlice=lt,e.treemapSliceDice=bt,e.treemapSquarify=_t,Object.defineProperty(e,"__esModule",{value:!0})})});var s_=J(o_=>{"use strict";var $ge=a_(),Fdt=dn(),rx=gt(),zdt=Qa().makeColorScaleFuncFromTrace,Ndt=Qy().makePullColorFn,Odt=Qy().generateExtendedColors,Bdt=Qa().calc,Udt=oi().ALMOST_EQUAL,Hdt={},jdt={},Vdt={};o_.calc=function(e,t){var r=e._fullLayout,n=t.ids,i=rx.isArrayOrTypedArray(n),a=t.labels,o=t.parents,s=t.values,l=rx.isArrayOrTypedArray(s),u=[],f={},c={},h=function(P,D){f[P]?f[P].push(D):f[P]=[D],c[D]=1},d=function(P){return P||typeof P=="number"},v=function(P){return!l||Fdt(s[P])&&s[P]>=0},m,b,g;i?(m=Math.min(n.length,o.length),b=function(P){return d(n[P])&&v(P)},g=function(P){return String(n[P])}):(m=Math.min(a.length,o.length),b=function(P){return d(a[P])&&v(P)},g=function(P){return String(a[P])}),l&&(m=Math.min(m,s.length));for(var _=0;_<m;_++)if(b(_)){var T=g(_),w=d(o[_])?String(o[_]):"",k={i:_,id:T,pid:w,label:d(a[_])?String(a[_]):""};l&&(k.v=+s[_]),u.push(k),h(w,T)}if(f[""]){if(f[""].length>1){for(var A=rx.randstr(),p=0;p<u.length;p++)u[p].pid===""&&(u[p].pid=A);u.unshift({hasMultipleRoots:!0,id:A,pid:"",label:""})}}else{var x=[],M;for(M in f)c[M]||x.push(M);if(x.length===1)M=x[0],u.unshift({hasImpliedRoot:!0,id:M,pid:"",label:M});else return rx.warn(["Multiple implied roots, cannot build",t.type,"hierarchy of",t.name+".","These roots include:",x.join(", ")].join(" "))}var S;try{S=$ge.stratify().id(function(P){return P.id}).parentId(function(P){return P.pid})(u)}catch(P){return rx.warn(["Failed to build",t.type,"hierarchy of",t.name+".","Error:",P.message].join(" "))}var y=$ge.hierarchy(S),E=!1;if(l)switch(t.branchvalues){case"remainder":y.sum(function(P){return P.data.v});break;case"total":y.each(function(P){var D=P.data.data,q=D.v;if(P.children){var N=P.children.reduce(function(U,G){return U+G.data.data.v},0);if((D.hasImpliedRoot||D.hasMultipleRoots)&&(q=N),q<N*Udt)return E=!0,rx.warn(["Total value for node",P.data.data.id,"of",t.name,"is smaller than the sum of its children.",`
|
|
parent value =`,q,`
|
|
children sum =`,N].join(" "))}P.value=q});break}else Kge(y,t,{branches:t.count.indexOf("branches")!==-1,leaves:t.count.indexOf("leaves")!==-1});if(!E){t.sort&&y.sort(function(P,D){return D.value-P.value});var C,L,R=t.marker.colors||[],I=!!R.length;return t._hasColorscale?(I||(R=l?t.values:t._values),Bdt(e,t,{vals:R,containerStr:"marker",cLetter:"c"}),L=zdt(t.marker)):C=Ndt(r["_"+t.type+"colormap"]),y.each(function(P){var D=P.data.data;D.color=t._hasColorscale?L(R[D.i]):C(R[D.i],D.id)}),u[0].hierarchy=y,u}};o_._runCrossTraceCalc=function(e,t){var r=t._fullLayout,n=t.calcdata,i=r[e+"colorway"],a=r["_"+e+"colormap"];r["extend"+e+"colors"]&&(i=Odt(i,e==="icicle"?Vdt:e==="treemap"?jdt:Hdt));var o=0,s;function l(h){var d=h.data.data,v=d.id;d.color===!1&&(a[v]?d.color=a[v]:h.parent?h.parent.parent?d.color=h.parent.data.data.color:(a[v]=d.color=i[o%i.length],o++):d.color=s)}for(var u=0;u<n.length;u++){var f=n[u],c=f[0];c.trace.type===e&&c.hierarchy&&(s=c.trace.root.color,c.hierarchy.each(l))}};o_.crossTraceCalc=function(e){return o_._runCrossTraceCalc("sunburst",e)};function Kge(e,t,r){var n=0,i=e.children;if(i){for(var a=i.length,o=0;o<a;o++)n+=Kge(i[o],t,r);r.branches&&n++}else r.leaves&&n++;return e.value=e.data.data.value=n,t._values||(t._values=[]),t._values[e.data.data.i]=n,n}});function md(e,t,r){e.prototype=t.prototype=r,r.constructor=e}function U0(e,t){var r=Object.create(e.prototype);for(var n in t)r[n]=t[n];return r}var HS=Xi(()=>{});function hv(){}function eme(){return this.rgb().formatHex()}function Kdt(){return this.rgb().formatHex8()}function Qdt(){return sme(this).formatHsl()}function tme(){return this.rgb().formatRgb()}function j0(e){var t,r;return e=(e+"").trim().toLowerCase(),(t=Ydt.exec(e))?(r=t[1].length,t=parseInt(t[1],16),r===6?rme(t):r===3?new ys(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?jS(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?jS(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=Gdt.exec(e))?new ys(t[1],t[2],t[3],1):(t=Wdt.exec(e))?new ys(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Xdt.exec(e))?jS(t[1],t[2],t[3],t[4]):(t=Zdt.exec(e))?jS(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Jdt.exec(e))?ame(t[1],t[2]/100,t[3]/100,1):(t=$dt.exec(e))?ame(t[1],t[2]/100,t[3]/100,t[4]):Qge.hasOwnProperty(e)?rme(Qge[e]):e==="transparent"?new ys(NaN,NaN,NaN,0):null}function rme(e){return new ys(e>>16&255,e>>8&255,e&255,1)}function jS(e,t,r,n){return n<=0&&(e=t=r=NaN),new ys(e,t,r,n)}function u_(e){return e instanceof hv||(e=j0(e)),e?(e=e.rgb(),new ys(e.r,e.g,e.b,e.opacity)):new ys}function ix(e,t,r,n){return arguments.length===1?u_(e):new ys(e,t,r,n??1)}function ys(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}function nme(){return`#${Gg(this.r)}${Gg(this.g)}${Gg(this.b)}`}function e0t(){return`#${Gg(this.r)}${Gg(this.g)}${Gg(this.b)}${Gg((isNaN(this.opacity)?1:this.opacity)*255)}`}function ime(){let e=YS(this.opacity);return`${e===1?"rgb(":"rgba("}${Wg(this.r)}, ${Wg(this.g)}, ${Wg(this.b)}${e===1?")":`, ${e})`}`}function YS(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Wg(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Gg(e){return e=Wg(e),(e<16?"0":"")+e.toString(16)}function ame(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new mh(e,t,r,n)}function sme(e){if(e instanceof mh)return new mh(e.h,e.s,e.l,e.opacity);if(e instanceof hv||(e=j0(e)),!e)return new mh;if(e instanceof mh)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,i=Math.min(t,r,n),a=Math.max(t,r,n),o=NaN,s=a-i,l=(a+i)/2;return s?(t===a?o=(r-n)/s+(r<n)*6:r===a?o=(n-t)/s+2:o=(t-r)/s+4,s/=l<.5?a+i:2-a-i,o*=60):s=l>0&&l<1?0:o,new mh(o,s,l,e.opacity)}function f_(e,t,r,n){return arguments.length===1?sme(e):new mh(e,t,r,n??1)}function mh(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}function ome(e){return e=(e||0)%360,e<0?e+360:e}function VS(e){return Math.max(0,Math.min(1,e||0))}function lq(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}var H0,Xg,nx,l_,cv,Ydt,Gdt,Wdt,Xdt,Zdt,Jdt,$dt,Qge,GS=Xi(()=>{HS();H0=.7,Xg=1/H0,nx="\\s*([+-]?\\d+)\\s*",l_="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",cv="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Ydt=/^#([0-9a-f]{3,8})$/,Gdt=new RegExp(`^rgb\\(${nx},${nx},${nx}\\)$`),Wdt=new RegExp(`^rgb\\(${cv},${cv},${cv}\\)$`),Xdt=new RegExp(`^rgba\\(${nx},${nx},${nx},${l_}\\)$`),Zdt=new RegExp(`^rgba\\(${cv},${cv},${cv},${l_}\\)$`),Jdt=new RegExp(`^hsl\\(${l_},${cv},${cv}\\)$`),$dt=new RegExp(`^hsla\\(${l_},${cv},${cv},${l_}\\)$`),Qge={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};md(hv,j0,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:eme,formatHex:eme,formatHex8:Kdt,formatHsl:Qdt,formatRgb:tme,toString:tme});md(ys,ix,U0(hv,{brighter(e){return e=e==null?Xg:Math.pow(Xg,e),new ys(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?H0:Math.pow(H0,e),new ys(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new ys(Wg(this.r),Wg(this.g),Wg(this.b),YS(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:nme,formatHex:nme,formatHex8:e0t,formatRgb:ime,toString:ime}));md(mh,f_,U0(hv,{brighter(e){return e=e==null?Xg:Math.pow(Xg,e),new mh(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?H0:Math.pow(H0,e),new mh(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,i=2*r-n;return new ys(lq(e>=240?e-240:e+120,i,n),lq(e,i,n),lq(e<120?e+240:e-120,i,n),this.opacity)},clamp(){return new mh(ome(this.h),VS(this.s),VS(this.l),YS(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=YS(this.opacity);return`${e===1?"hsl(":"hsla("}${ome(this.h)}, ${VS(this.s)*100}%, ${VS(this.l)*100}%${e===1?")":`, ${e})`}`}}))});var WS,XS,uq=Xi(()=>{WS=Math.PI/180,XS=180/Math.PI});function vme(e){if(e instanceof vv)return new vv(e.l,e.a,e.b,e.opacity);if(e instanceof yd)return dme(e);e instanceof ys||(e=u_(e));var t=vq(e.r),r=vq(e.g),n=vq(e.b),i=fq((.2225045*t+.7168786*r+.0606169*n)/ume),a,o;return t===r&&r===n?a=o=i:(a=fq((.4360747*t+.3850649*r+.1430804*n)/lme),o=fq((.0139322*t+.0971045*r+.7141733*n)/fme)),new vv(116*i-16,500*(a-i),200*(i-o),e.opacity)}function ox(e,t,r,n){return arguments.length===1?vme(e):new vv(e,t,r,n??1)}function vv(e,t,r,n){this.l=+e,this.a=+t,this.b=+r,this.opacity=+n}function fq(e){return e>t0t?Math.pow(e,1/3):e/hme+cme}function cq(e){return e>ax?e*e*e:hme*(e-cme)}function hq(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function vq(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function r0t(e){if(e instanceof yd)return new yd(e.h,e.c,e.l,e.opacity);if(e instanceof vv||(e=vme(e)),e.a===0&&e.b===0)return new yd(NaN,0<e.l&&e.l<100?0:NaN,e.l,e.opacity);var t=Math.atan2(e.b,e.a)*XS;return new yd(t<0?t+360:t,Math.sqrt(e.a*e.a+e.b*e.b),e.l,e.opacity)}function c_(e,t,r,n){return arguments.length===1?r0t(e):new yd(e,t,r,n??1)}function yd(e,t,r,n){this.h=+e,this.c=+t,this.l=+r,this.opacity=+n}function dme(e){if(isNaN(e.h))return new vv(e.l,0,0,e.opacity);var t=e.h*WS;return new vv(e.l,Math.cos(t)*e.c,Math.sin(t)*e.c,e.opacity)}var ZS,lme,ume,fme,cme,ax,hme,t0t,pme=Xi(()=>{HS();GS();uq();ZS=18,lme=.96422,ume=1,fme=.82521,cme=4/29,ax=6/29,hme=3*ax*ax,t0t=ax*ax*ax;md(vv,ox,U0(hv,{brighter(e){return new vv(this.l+ZS*(e??1),this.a,this.b,this.opacity)},darker(e){return new vv(this.l-ZS*(e??1),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,r=isNaN(this.b)?e:e-this.b/200;return t=lme*cq(t),e=ume*cq(e),r=fme*cq(r),new ys(hq(3.1338561*t-1.6168667*e-.4906146*r),hq(-.9787684*t+1.9161415*e+.033454*r),hq(.0719453*t-.2289914*e+1.4052427*r),this.opacity)}}));md(yd,c_,U0(hv,{brighter(e){return new yd(this.h,this.c,this.l+ZS*(e??1),this.opacity)},darker(e){return new yd(this.h,this.c,this.l-ZS*(e??1),this.opacity)},rgb(){return dme(this).rgb()}}))});function n0t(e){if(e instanceof Zg)return new Zg(e.h,e.s,e.l,e.opacity);e instanceof ys||(e=u_(e));var t=e.r/255,r=e.g/255,n=e.b/255,i=(yme*n+gme*t-mme*r)/(yme+gme-mme),a=n-i,o=(h_*(r-i)-pq*a)/JS,s=Math.sqrt(o*o+a*a)/(h_*i*(1-i)),l=s?Math.atan2(o,a)*XS-120:NaN;return new Zg(l<0?l+360:l,s,i,e.opacity)}function sx(e,t,r,n){return arguments.length===1?n0t(e):new Zg(e,t,r,n??1)}function Zg(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}var xme,dq,pq,JS,h_,gme,mme,yme,bme=Xi(()=>{HS();GS();uq();xme=-.14861,dq=1.78277,pq=-.29227,JS=-.90649,h_=1.97294,gme=h_*JS,mme=h_*dq,yme=dq*pq-JS*xme;md(Zg,sx,U0(hv,{brighter(e){return e=e==null?Xg:Math.pow(Xg,e),new Zg(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?H0:Math.pow(H0,e),new Zg(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=isNaN(this.h)?0:(this.h+120)*WS,t=+this.l,r=isNaN(this.s)?0:this.s*t*(1-t),n=Math.cos(e),i=Math.sin(e);return new ys(255*(t+r*(xme*n+dq*i)),255*(t+r*(pq*n+JS*i)),255*(t+r*(h_*n)),this.opacity)}}))});var Jg=Xi(()=>{GS();pme();bme()});function gq(e,t,r,n,i){var a=e*e,o=a*e;return((1-3*e+3*a-o)*t+(4-6*a+3*o)*r+(1+3*e+3*a-3*o)*n+o*i)/6}function $S(e){var t=e.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,t-1):Math.floor(r*t),i=e[n],a=e[n+1],o=n>0?e[n-1]:2*i-a,s=n<t-1?e[n+2]:2*a-i;return gq((r-n/t)*t,o,i,a,s)}}var KS=Xi(()=>{});function QS(e){var t=e.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*t),i=e[(n+t-1)%t],a=e[n%t],o=e[(n+1)%t],s=e[(n+2)%t];return gq((r-n/t)*t,i,a,o,s)}}var mq=Xi(()=>{KS()});var lx,yq=Xi(()=>{lx=e=>()=>e});function wme(e,t){return function(r){return e+r*t}}function i0t(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(n){return Math.pow(e+n*t,r)}}function V0(e,t){var r=t-e;return r?wme(e,r>180||r<-180?r-360*Math.round(r/360):r):lx(isNaN(e)?t:e)}function _me(e){return(e=+e)==1?io:function(t,r){return r-t?i0t(t,r,e):lx(isNaN(t)?r:t)}}function io(e,t){var r=t-e;return r?wme(e,r):lx(isNaN(e)?t:e)}var $g=Xi(()=>{yq()});function Tme(e){return function(t){var r=t.length,n=new Array(r),i=new Array(r),a=new Array(r),o,s;for(o=0;o<r;++o)s=ix(t[o]),n[o]=s.r||0,i[o]=s.g||0,a[o]=s.b||0;return n=e(n),i=e(i),a=e(a),s.opacity=1,function(l){return s.r=n(l),s.g=i(l),s.b=a(l),s+""}}}var v_,Ame,Mme,xq=Xi(()=>{Jg();KS();mq();$g();v_=function e(t){var r=_me(t);function n(i,a){var o=r((i=ix(i)).r,(a=ix(a)).r),s=r(i.g,a.g),l=r(i.b,a.b),u=io(i.opacity,a.opacity);return function(f){return i.r=o(f),i.g=s(f),i.b=l(f),i.opacity=u(f),i+""}}return n.gamma=e,n}(1);Ame=Tme($S),Mme=Tme(QS)});function ux(e,t){t||(t=[]);var r=e?Math.min(t.length,e.length):0,n=t.slice(),i;return function(a){for(i=0;i<r;++i)n[i]=e[i]*(1-a)+t[i]*a;return n}}function e5(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}var t5=Xi(()=>{});function kme(e,t){return(e5(t)?ux:bq)(e,t)}function bq(e,t){var r=t?t.length:0,n=e?Math.min(r,e.length):0,i=new Array(n),a=new Array(r),o;for(o=0;o<n;++o)i[o]=Y0(e[o],t[o]);for(;o<r;++o)a[o]=t[o];return function(s){for(o=0;o<n;++o)a[o]=i[o](s);return a}}var wq=Xi(()=>{d_();t5()});function r5(e,t){var r=new Date;return e=+e,t=+t,function(n){return r.setTime(e*(1-n)+t*n),r}}var _q=Xi(()=>{});function Zu(e,t){return e=+e,t=+t,function(r){return e*(1-r)+t*r}}var p_=Xi(()=>{});function n5(e,t){var r={},n={},i;(e===null||typeof e!="object")&&(e={}),(t===null||typeof t!="object")&&(t={});for(i in t)i in e?r[i]=Y0(e[i],t[i]):n[i]=t[i];return function(a){for(i in r)n[i]=r[i](a);return n}}var Tq=Xi(()=>{d_()});function a0t(e){return function(){return e}}function o0t(e){return function(t){return e(t)+""}}function i5(e,t){var r=Mq.lastIndex=Aq.lastIndex=0,n,i,a,o=-1,s=[],l=[];for(e=e+"",t=t+"";(n=Mq.exec(e))&&(i=Aq.exec(t));)(a=i.index)>r&&(a=t.slice(r,a),s[o]?s[o]+=a:s[++o]=a),(n=n[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,l.push({i:o,x:Zu(n,i)})),r=Aq.lastIndex;return r<t.length&&(a=t.slice(r),s[o]?s[o]+=a:s[++o]=a),s.length<2?l[0]?o0t(l[0].x):a0t(t):(t=l.length,function(u){for(var f=0,c;f<t;++f)s[(c=l[f]).i]=c.x(u);return s.join("")})}var Mq,Aq,kq=Xi(()=>{p_();Mq=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Aq=new RegExp(Mq.source,"g")});function Y0(e,t){var r=typeof t,n;return t==null||r==="boolean"?lx(t):(r==="number"?Zu:r==="string"?(n=j0(t))?(t=n,v_):i5:t instanceof j0?v_:t instanceof Date?r5:e5(t)?ux:Array.isArray(t)?bq:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?n5:Zu)(e,t)}var d_=Xi(()=>{Jg();xq();wq();_q();p_();Tq();kq();yq();t5()});function Sme(e){var t=e.length;return function(r){return e[Math.max(0,Math.min(t-1,Math.floor(r*t)))]}}var Cme=Xi(()=>{});function Eme(e,t){var r=V0(+e,+t);return function(n){var i=r(n);return i-360*Math.floor(i/360)}}var Lme=Xi(()=>{$g()});function Dme(e,t){return e=+e,t=+t,function(r){return Math.round(e*(1-r)+t*r)}}var Rme=Xi(()=>{});function Sq(e,t,r,n,i,a){var o,s,l;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(l=e*r+t*n)&&(r-=e*l,n-=t*l),(s=Math.sqrt(r*r+n*n))&&(r/=s,n/=s,l/=s),e*n<t*r&&(e=-e,t=-t,l=-l,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(t,e)*Pme,skewX:Math.atan(l)*Pme,scaleX:o,scaleY:s}}var Pme,a5,Ime=Xi(()=>{Pme=180/Math.PI,a5={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1}});function qme(e){let t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?a5:Sq(t.a,t.b,t.c,t.d,t.e,t.f)}function Fme(e){return e==null?a5:(o5||(o5=document.createElementNS("http://www.w3.org/2000/svg","g")),o5.setAttribute("transform",e),(e=o5.transform.baseVal.consolidate())?(e=e.matrix,Sq(e.a,e.b,e.c,e.d,e.e,e.f)):a5)}var o5,zme=Xi(()=>{Ime()});function Nme(e,t,r,n){function i(u){return u.length?u.pop()+" ":""}function a(u,f,c,h,d,v){if(u!==c||f!==h){var m=d.push("translate(",null,t,null,r);v.push({i:m-4,x:Zu(u,c)},{i:m-2,x:Zu(f,h)})}else(c||h)&&d.push("translate("+c+t+h+r)}function o(u,f,c,h){u!==f?(u-f>180?f+=360:f-u>180&&(u+=360),h.push({i:c.push(i(c)+"rotate(",null,n)-2,x:Zu(u,f)})):f&&c.push(i(c)+"rotate("+f+n)}function s(u,f,c,h){u!==f?h.push({i:c.push(i(c)+"skewX(",null,n)-2,x:Zu(u,f)}):f&&c.push(i(c)+"skewX("+f+n)}function l(u,f,c,h,d,v){if(u!==c||f!==h){var m=d.push(i(d)+"scale(",null,",",null,")");v.push({i:m-4,x:Zu(u,c)},{i:m-2,x:Zu(f,h)})}else(c!==1||h!==1)&&d.push(i(d)+"scale("+c+","+h+")")}return function(u,f){var c=[],h=[];return u=e(u),f=e(f),a(u.translateX,u.translateY,f.translateX,f.translateY,c,h),o(u.rotate,f.rotate,c,h),s(u.skewX,f.skewX,c,h),l(u.scaleX,u.scaleY,f.scaleX,f.scaleY,c,h),u=f=null,function(d){for(var v=-1,m=h.length,b;++v<m;)c[(b=h[v]).i]=b.x(d);return c.join("")}}}var Ome,Bme,Ume=Xi(()=>{p_();zme();Ome=Nme(qme,"px, ","px)","deg)"),Bme=Nme(Fme,", ",")",")")});function Hme(e){return((e=Math.exp(e))+1/e)/2}function l0t(e){return((e=Math.exp(e))-1/e)/2}function u0t(e){return((e=Math.exp(2*e))-1)/(e+1)}var s0t,jme,Vme=Xi(()=>{s0t=1e-12;jme=function e(t,r,n){function i(a,o){var s=a[0],l=a[1],u=a[2],f=o[0],c=o[1],h=o[2],d=f-s,v=c-l,m=d*d+v*v,b,g;if(m<s0t)g=Math.log(h/u)/t,b=function(M){return[s+M*d,l+M*v,u*Math.exp(t*M*g)]};else{var _=Math.sqrt(m),T=(h*h-u*u+n*m)/(2*u*r*_),w=(h*h-u*u-n*m)/(2*h*r*_),k=Math.log(Math.sqrt(T*T+1)-T),x=Math.log(Math.sqrt(w*w+1)-w);g=(x-k)/t,b=function(M){var A=M*g,p=Hme(k),S=u/(r*_)*(p*u0t(t*A+k)-l0t(k));return[s+S*d,l+S*v,u*p/Hme(t*A+k)]}}return b.duration=g*1e3*t/Math.SQRT2,b}return i.rho=function(a){var o=Math.max(.001,+a),s=o*o,l=s*s;return e(o,s,l)},i}(Math.SQRT2,2,4)});function Yme(e){return function(t,r){var n=e((t=f_(t)).h,(r=f_(r)).h),i=io(t.s,r.s),a=io(t.l,r.l),o=io(t.opacity,r.opacity);return function(s){return t.h=n(s),t.s=i(s),t.l=a(s),t.opacity=o(s),t+""}}}var Gme,Wme,Xme=Xi(()=>{Jg();$g();Gme=Yme(V0),Wme=Yme(io)});function Cq(e,t){var r=io((e=ox(e)).l,(t=ox(t)).l),n=io(e.a,t.a),i=io(e.b,t.b),a=io(e.opacity,t.opacity);return function(o){return e.l=r(o),e.a=n(o),e.b=i(o),e.opacity=a(o),e+""}}var Zme=Xi(()=>{Jg();$g()});function Jme(e){return function(t,r){var n=e((t=c_(t)).h,(r=c_(r)).h),i=io(t.c,r.c),a=io(t.l,r.l),o=io(t.opacity,r.opacity);return function(s){return t.h=n(s),t.c=i(s),t.l=a(s),t.opacity=o(s),t+""}}}var $me,Kme,Qme=Xi(()=>{Jg();$g();$me=Jme(V0),Kme=Jme(io)});function e1e(e){return function t(r){r=+r;function n(i,a){var o=e((i=sx(i)).h,(a=sx(a)).h),s=io(i.s,a.s),l=io(i.l,a.l),u=io(i.opacity,a.opacity);return function(f){return i.h=o(f),i.s=s(f),i.l=l(Math.pow(f,r)),i.opacity=u(f),i+""}}return n.gamma=t,n}(1)}var t1e,r1e,n1e=Xi(()=>{Jg();$g();t1e=e1e(V0),r1e=e1e(io)});function Eq(e,t){t===void 0&&(t=e,e=Y0);for(var r=0,n=t.length-1,i=t[0],a=new Array(n<0?0:n);r<n;)a[r]=e(i,i=t[++r]);return function(o){var s=Math.max(0,Math.min(n-1,Math.floor(o*=n)));return a[s](o-s)}}var i1e=Xi(()=>{d_()});function a1e(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e(n/(t-1));return r}var o1e=Xi(()=>{});var Kg={};k9e(Kg,{interpolate:()=>Y0,interpolateArray:()=>kme,interpolateBasis:()=>$S,interpolateBasisClosed:()=>QS,interpolateCubehelix:()=>t1e,interpolateCubehelixLong:()=>r1e,interpolateDate:()=>r5,interpolateDiscrete:()=>Sme,interpolateHcl:()=>$me,interpolateHclLong:()=>Kme,interpolateHsl:()=>Gme,interpolateHslLong:()=>Wme,interpolateHue:()=>Eme,interpolateLab:()=>Cq,interpolateNumber:()=>Zu,interpolateNumberArray:()=>ux,interpolateObject:()=>n5,interpolateRgb:()=>v_,interpolateRgbBasis:()=>Ame,interpolateRgbBasisClosed:()=>Mme,interpolateRound:()=>Dme,interpolateString:()=>i5,interpolateTransformCss:()=>Ome,interpolateTransformSvg:()=>Bme,interpolateZoom:()=>jme,piecewise:()=>Eq,quantize:()=>a1e});var Qg=Xi(()=>{d_();wq();KS();mq();_q();Cme();Lme();p_();t5();Tq();Rme();kq();Ume();Vme();xq();Xme();Zme();Qme();n1e();i1e();o1e()});var s5=J((TNt,s1e)=>{"use strict";var f0t=ln(),c0t=qr();s1e.exports=function(t,r,n,i,a){var o=r.data.data,s=o.i,l=a||o.color;if(s>=0){r.i=o.i;var u=n.marker;u.pattern?(!u.colors||!u.pattern.shape)&&(u.color=l,r.color=l):(u.color=l,r.color=l),f0t.pointStyle(t,n,i,r)}else c0t.fill(t,l)}});var Lq=J((ANt,h1e)=>{"use strict";var l1e=Nr(),u1e=qr(),f1e=gt(),h0t=xl().resizeText,v0t=s5();function d0t(e){var t=e._fullLayout._sunburstlayer.selectAll(".trace");h0t(e,t,"sunburst"),t.each(function(r){var n=l1e.select(this),i=r[0],a=i.trace;n.style("opacity",a.opacity),n.selectAll("path.surface").each(function(o){l1e.select(this).call(c1e,o,a,e)})})}function c1e(e,t,r,n){var i=t.data.data,a=!t.children,o=i.i,s=f1e.castOption(r,o,"marker.line.color")||u1e.defaultLine,l=f1e.castOption(r,o,"marker.line.width")||0;e.call(v0t,t,r,n).style("stroke-width",l).call(u1e.stroke,s).style("opacity",a?r.leaf.opacity:null)}h1e.exports={style:d0t,styleOne:c1e}});var xd=J(Vn=>{"use strict";var em=gt(),p0t=qr(),g0t=th(),v1e=g0();Vn.findEntryWithLevel=function(e,t){var r;return t&&e.eachAfter(function(n){if(Vn.getPtId(n)===t)return r=n.copy()}),r||e};Vn.findEntryWithChild=function(e,t){var r;return e.eachAfter(function(n){for(var i=n.children||[],a=0;a<i.length;a++){var o=i[a];if(Vn.getPtId(o)===t)return r=n.copy()}}),r||e};Vn.isEntry=function(e){return!e.parent};Vn.isLeaf=function(e){return!e.children};Vn.getPtId=function(e){return e.data.data.id};Vn.getPtLabel=function(e){return e.data.data.label};Vn.getValue=function(e){return e.value};Vn.isHierarchyRoot=function(e){return d1e(e)===""};Vn.setSliceCursor=function(e,t,r){var n=r.isTransitioning;if(!n){var i=e.datum();n=r.hideOnRoot&&Vn.isHierarchyRoot(i)||r.hideOnLeaves&&Vn.isLeaf(i)}g0t(e,n?null:"pointer")};function m0t(e,t,r){return{color:Vn.getOutsideTextFontKey("color",e,t,r),family:Vn.getOutsideTextFontKey("family",e,t,r),size:Vn.getOutsideTextFontKey("size",e,t,r),weight:Vn.getOutsideTextFontKey("weight",e,t,r),style:Vn.getOutsideTextFontKey("style",e,t,r),variant:Vn.getOutsideTextFontKey("variant",e,t,r),textcase:Vn.getOutsideTextFontKey("textcase",e,t,r),lineposition:Vn.getOutsideTextFontKey("lineposition",e,t,r),shadow:Vn.getOutsideTextFontKey("shadow",e,t,r)}}function y0t(e,t,r,n){var i=(n||{}).onPathbar,a=t.data.data,o=a.i,s=em.castOption(e,o,(i?"pathbar.textfont":"insidetextfont")+".color");return!s&&e._input.textfont&&(s=em.castOption(e._input,o,"textfont.color")),{color:s||p0t.contrast(a.color),family:Vn.getInsideTextFontKey("family",e,t,r,n),size:Vn.getInsideTextFontKey("size",e,t,r,n),weight:Vn.getInsideTextFontKey("weight",e,t,r,n),style:Vn.getInsideTextFontKey("style",e,t,r,n),variant:Vn.getInsideTextFontKey("variant",e,t,r,n),textcase:Vn.getInsideTextFontKey("textcase",e,t,r,n),lineposition:Vn.getInsideTextFontKey("lineposition",e,t,r,n),shadow:Vn.getInsideTextFontKey("shadow",e,t,r,n)}}Vn.getInsideTextFontKey=function(e,t,r,n,i){var a=(i||{}).onPathbar,o=a?"pathbar.textfont":"insidetextfont",s=r.data.data.i;return em.castOption(t,s,o+"."+e)||em.castOption(t,s,"textfont."+e)||n.size};Vn.getOutsideTextFontKey=function(e,t,r,n){var i=r.data.data.i;return em.castOption(t,i,"outsidetextfont."+e)||em.castOption(t,i,"textfont."+e)||n.size};Vn.isOutsideText=function(e,t){return!e._hasColorscale&&Vn.isHierarchyRoot(t)};Vn.determineTextFont=function(e,t,r,n){return Vn.isOutsideText(e,t)?m0t(e,t,r):y0t(e,t,r,n)};Vn.hasTransition=function(e){return!!(e&&e.duration>0)};Vn.getMaxDepth=function(e){return e.maxdepth>=0?e.maxdepth:1/0};Vn.isHeader=function(e,t){return!(Vn.isLeaf(e)||e.depth===t._maxDepth-1)};function d1e(e){return e.data.data.pid}Vn.getParent=function(e,t){return Vn.findEntryWithLevel(e,d1e(t))};Vn.listPath=function(e,t){var r=e.parent;if(!r)return[];var n=t?[r.data[t]]:[r];return Vn.listPath(r,t).concat(n)};Vn.getPath=function(e){return Vn.listPath(e,"label").join("/")+"/"};Vn.formatValue=v1e.formatPieValue;Vn.formatPercent=function(e,t){var r=em.formatPercent(e,0);return r==="0%"&&(r=v1e.formatPiePercent(e,t)),r}});var y_=J((kNt,m1e)=>{"use strict";var fx=Nr(),p1e=zr(),x0t=Qf().appendArrayPointValue,g_=go(),g1e=gt(),b0t=P1(),Xo=xd(),w0t=g0(),_0t=w0t.formatPieValue;m1e.exports=function(t,r,n,i,a){var o=i[0],s=o.trace,l=o.hierarchy,u=s.type==="sunburst",f=s.type==="treemap"||s.type==="icicle";"_hasHoverLabel"in s||(s._hasHoverLabel=!1),"_hasHoverEvent"in s||(s._hasHoverEvent=!1);var c=function(v){var m=n._fullLayout;if(!(n._dragging||m.hovermode===!1)){var b=n._fullData[s.index],g=v.data.data,_=g.i,T=Xo.isHierarchyRoot(v),w=Xo.getParent(l,v),k=Xo.getValue(v),x=function(ee){return g1e.castOption(b,_,ee)},M=x("hovertemplate"),A=g_.castHoverinfo(b,m,_),p=m.separators,S;if(M||A&&A!=="none"&&A!=="skip"){var y,E;u&&(y=o.cx+v.pxmid[0]*(1-v.rInscribed),E=o.cy+v.pxmid[1]*(1-v.rInscribed)),f&&(y=v._hoverX,E=v._hoverY);var C={},L=[],R=[],I=function(ee){return L.indexOf(ee)!==-1};A&&(L=A==="all"?b._module.attributes.hoverinfo.flags:A.split("+")),C.label=g.label,I("label")&&C.label&&R.push(C.label),g.hasOwnProperty("v")&&(C.value=g.v,C.valueLabel=_0t(C.value,p),I("value")&&R.push(C.valueLabel)),C.currentPath=v.currentPath=Xo.getPath(v.data),I("current path")&&!T&&R.push(C.currentPath);var P,D=[],q=function(){D.indexOf(P)===-1&&(R.push(P),D.push(P))};C.percentParent=v.percentParent=k/Xo.getValue(w),C.parent=v.parentString=Xo.getPtLabel(w),I("percent parent")&&(P=Xo.formatPercent(C.percentParent,p)+" of "+C.parent,q()),C.percentEntry=v.percentEntry=k/Xo.getValue(r),C.entry=v.entry=Xo.getPtLabel(r),I("percent entry")&&!T&&!v.onPathbar&&(P=Xo.formatPercent(C.percentEntry,p)+" of "+C.entry,q()),C.percentRoot=v.percentRoot=k/Xo.getValue(l),C.root=v.root=Xo.getPtLabel(l),I("percent root")&&!T&&(P=Xo.formatPercent(C.percentRoot,p)+" of "+C.root,q()),C.text=x("hovertext")||x("text"),I("text")&&(P=C.text,g1e.isValidTextValue(P)&&R.push(P)),S=[m_(v,b,a.eventDataKeys)];var N={trace:b,y:E,_x0:v._x0,_x1:v._x1,_y0:v._y0,_y1:v._y1,text:R.join("<br>"),name:M||I("name")?b.name:void 0,color:x("hoverlabel.bgcolor")||g.color,borderColor:x("hoverlabel.bordercolor"),fontFamily:x("hoverlabel.font.family"),fontSize:x("hoverlabel.font.size"),fontColor:x("hoverlabel.font.color"),fontWeight:x("hoverlabel.font.weight"),fontStyle:x("hoverlabel.font.style"),fontVariant:x("hoverlabel.font.variant"),nameLength:x("hoverlabel.namelength"),textAlign:x("hoverlabel.align"),hovertemplate:M,hovertemplateLabels:C,eventData:S};u&&(N.x0=y-v.rInscribed*v.rpx1,N.x1=y+v.rInscribed*v.rpx1,N.idealAlign=v.pxmid[0]<0?"left":"right"),f&&(N.x=y,N.idealAlign=y<0?"left":"right");var U=[];g_.loneHover(N,{container:m._hoverlayer.node(),outerContainer:m._paper.node(),gd:n,inOut_bbox:U}),S[0].bbox=U[0],s._hasHoverLabel=!0}if(f){var G=t.select("path.surface");a.styleOne(G,v,b,n,{hovered:!0})}s._hasHoverEvent=!0,n.emit("plotly_hover",{points:S||[m_(v,b,a.eventDataKeys)],event:fx.event})}},h=function(v){var m=n._fullLayout,b=n._fullData[s.index],g=fx.select(this).datum();if(s._hasHoverEvent&&(v.originalEvent=fx.event,n.emit("plotly_unhover",{points:[m_(g,b,a.eventDataKeys)],event:fx.event}),s._hasHoverEvent=!1),s._hasHoverLabel&&(g_.loneUnhover(m._hoverlayer.node()),s._hasHoverLabel=!1),f){var _=t.select("path.surface");a.styleOne(_,g,b,n,{hovered:!1})}},d=function(v){var m=n._fullLayout,b=n._fullData[s.index],g=u&&(Xo.isHierarchyRoot(v)||Xo.isLeaf(v)),_=Xo.getPtId(v),T=Xo.isEntry(v)?Xo.findEntryWithChild(l,_):Xo.findEntryWithLevel(l,_),w=Xo.getPtId(T),k={points:[m_(v,b,a.eventDataKeys)],event:fx.event};g||(k.nextLevel=w);var x=b0t.triggerHandler(n,"plotly_"+s.type+"click",k);if(x!==!1&&m.hovermode&&(n._hoverdata=[m_(v,b,a.eventDataKeys)],g_.click(n,fx.event)),!g&&x!==!1&&!n._dragging&&!n._transitioning){p1e.call("_storeDirectGUIEdit",b,m._tracePreGUI[b.uid],{level:b.level});var M={data:[{level:w}],traces:[s.index]},A={frame:{redraw:!1,duration:a.transitionTime},transition:{duration:a.transitionTime,easing:a.transitionEasing},mode:"immediate",fromcurrent:!0};g_.loneUnhover(m._hoverlayer.node()),p1e.call("animate",n,M,A)}};t.on("mouseover",c),t.on("mouseout",h),t.on("click",d)};function m_(e,t,r){for(var n=e.data.data,i={curveNumber:t.index,pointNumber:n.i,data:t._input,fullData:t},a=0;a<r.length;a++){var o=r[a];o in e&&(i[o]=e[o])}return"parentString"in e&&!Xo.isHierarchyRoot(e)&&(i.parent=e.parentString),x0t(i,t,n.i),i}});var u5=J(l5=>{"use strict";var x_=Nr(),T0t=a_(),yh=(Qg(),s1(Kg)).interpolate,y1e=ln(),bl=gt(),A0t=ca(),_1e=xl(),x1e=_1e.recordMinTextSize,M0t=_1e.clearMinTextSize,T1e=BS(),k0t=g0().getRotationAngle,S0t=T1e.computeTransform,C0t=T1e.transformInsideText,E0t=Lq().styleOne,L0t=mc().resizeText,D0t=y_(),Dq=oq(),fi=xd();l5.plot=function(e,t,r,n){var i=e._fullLayout,a=i._sunburstlayer,o,s,l=!r,u=!i.uniformtext.mode&&fi.hasTransition(r);if(M0t("sunburst",i),o=a.selectAll("g.trace.sunburst").data(t,function(c){return c[0].trace.uid}),o.enter().append("g").classed("trace",!0).classed("sunburst",!0).attr("stroke-linejoin","round"),o.order(),u){n&&(s=n());var f=x_.transition().duration(r.duration).ease(r.easing).each("end",function(){s&&s()}).each("interrupt",function(){s&&s()});f.each(function(){a.selectAll("g.trace").each(function(c){b1e(e,c,this,r)})})}else o.each(function(c){b1e(e,c,this,r)}),i.uniformtext.mode&&L0t(e,i._sunburstlayer.selectAll(".trace"),"sunburst");l&&o.exit().remove()};function b1e(e,t,r,n){var i=e._context.staticPlot,a=e._fullLayout,o=!a.uniformtext.mode&&fi.hasTransition(n),s=x_.select(r),l=s.selectAll("g.slice"),u=t[0],f=u.trace,c=u.hierarchy,h=fi.findEntryWithLevel(c,f.level),d=fi.getMaxDepth(f),v=a._size,m=f.domain,b=v.w*(m.x[1]-m.x[0]),g=v.h*(m.y[1]-m.y[0]),_=.5*Math.min(b,g),T=u.cx=v.l+v.w*(m.x[1]+m.x[0])/2,w=u.cy=v.t+v.h*(1-m.y[0])-g/2;if(!h)return l.remove();var k=null,x={};o&&l.each(function(j){x[fi.getPtId(j)]={rpx0:j.rpx0,rpx1:j.rpx1,x0:j.x0,x1:j.x1,transform:j.transform},!k&&fi.isEntry(j)&&(k=j)});var M=R0t(h).descendants(),A=h.height+1,p=0,S=d;u.hasMultipleRoots&&fi.isHierarchyRoot(h)&&(M=M.slice(1),A-=1,p=1,S+=1),M=M.filter(function(j){return j.y1<=S});var y=k0t(f.rotation);y&&M.forEach(function(j){j.x0+=y,j.x1+=y});var E=Math.min(A,d),C=function(j){return(j-p)/E*_},L=function(j,O){return[j*Math.cos(O),-j*Math.sin(O)]},R=function(j){return bl.pathAnnulus(j.rpx0,j.rpx1,j.x0,j.x1,T,w)},I=function(j){return T+w1e(j)[0]*(j.transform.rCenter||0)+(j.transform.x||0)},P=function(j){return w+w1e(j)[1]*(j.transform.rCenter||0)+(j.transform.y||0)};l=l.data(M,fi.getPtId),l.enter().append("g").classed("slice",!0),o?l.exit().transition().each(function(){var j=x_.select(this),O=j.select("path.surface");O.transition().attrTween("d",function(K){var $=U(K);return function(oe){return R($(oe))}});var Z=j.select("g.slicetext");Z.attr("opacity",0)}).remove():l.exit().remove(),l.order();var D=null;if(o&&k){var q=fi.getPtId(k);l.each(function(j){D===null&&fi.getPtId(j)===q&&(D=j.x1)})}var N=l;o&&(N=N.transition().each("end",function(){var j=x_.select(this);fi.setSliceCursor(j,e,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:!1})})),N.each(function(j){var O=x_.select(this),Z=bl.ensureSingle(O,"path","surface",function(ne){ne.style("pointer-events",i?"none":"all")});j.rpx0=C(j.y0),j.rpx1=C(j.y1),j.xmid=(j.x0+j.x1)/2,j.pxmid=L(j.rpx1,j.xmid),j.midangle=-(j.xmid-Math.PI/2),j.startangle=-(j.x0-Math.PI/2),j.stopangle=-(j.x1-Math.PI/2),j.halfangle=.5*Math.min(bl.angleDelta(j.x0,j.x1)||Math.PI,Math.PI),j.ring=1-j.rpx0/j.rpx1,j.rInscribed=P0t(j,f),o?Z.transition().attrTween("d",function(ne){var W=G(ne);return function(fe){return R(W(fe))}}):Z.attr("d",R),O.call(D0t,h,e,t,{eventDataKeys:Dq.eventDataKeys,transitionTime:Dq.CLICK_TRANSITION_TIME,transitionEasing:Dq.CLICK_TRANSITION_EASING}).call(fi.setSliceCursor,e,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:e._transitioning}),Z.call(E0t,j,f,e);var K=bl.ensureSingle(O,"g","slicetext"),$=bl.ensureSingle(K,"text","",function(ne){ne.attr("data-notex",1)}),oe=bl.ensureUniformFontSize(e,fi.determineTextFont(f,j,a.font));$.text(l5.formatSliceLabel(j,h,f,t,a)).classed("slicetext",!0).attr("text-anchor","middle").call(y1e.font,oe).call(A0t.convertToTspans,e);var te=y1e.bBox($.node());j.transform=C0t(te,j,u),j.transform.targetX=I(j),j.transform.targetY=P(j);var V=function(ne,W){var fe=ne.transform;return S0t(fe,W),fe.fontSize=oe.size,x1e(f.type,fe,a),bl.getTextTransform(fe)};o?$.transition().attrTween("transform",function(ne){var W=ee(ne);return function(fe){return V(W(fe),te)}}):$.attr("transform",V(j,te))});function U(j){var O=fi.getPtId(j),Z=x[O],K=x[fi.getPtId(h)],$;if(K){var oe=(j.x1>K.x1?2*Math.PI:0)+y;$=j.rpx1<K.rpx1?{x0:j.x0,x1:j.x1,rpx0:0,rpx1:0}:{x0:oe,x1:oe,rpx0:j.rpx0,rpx1:j.rpx1}}else{var te,V=fi.getPtId(j.parent);l.each(function(Ce){if(fi.getPtId(Ce)===V)return te=Ce});var ne=te.children,W;ne.forEach(function(Ce,Ne){if(fi.getPtId(Ce)===O)return W=Ne});var fe=ne.length,ge=yh(te.x0,te.x1);$={rpx0:_,rpx1:_,x0:ge(W/fe),x1:ge((W+1)/fe)}}return yh(Z,$)}function G(j){var O=x[fi.getPtId(j)],Z,K={x0:j.x0,x1:j.x1,rpx0:j.rpx0,rpx1:j.rpx1};if(O)Z=O;else if(k)if(j.parent)if(D){var $=(j.x1>D?2*Math.PI:0)+y;Z={x0:$,x1:$}}else Z={rpx0:_,rpx1:_},bl.extendFlat(Z,Q(j));else Z={rpx0:0,rpx1:0};else Z={x0:y,x1:y};return yh(Z,K)}function ee(j){var O=x[fi.getPtId(j)],Z,K=j.transform;if(O)Z=O;else if(Z={rpx1:j.rpx1,transform:{textPosAngle:K.textPosAngle,scale:0,rotate:K.rotate,rCenter:K.rCenter,x:K.x,y:K.y}},k)if(j.parent)if(D){var $=j.x1>D?2*Math.PI:0;Z.x0=Z.x1=$}else bl.extendFlat(Z,Q(j));else Z.x0=Z.x1=y;else Z.x0=Z.x1=y;var oe=yh(Z.transform.textPosAngle,j.transform.textPosAngle),te=yh(Z.rpx1,j.rpx1),V=yh(Z.x0,j.x0),ne=yh(Z.x1,j.x1),W=yh(Z.transform.scale,K.scale),fe=yh(Z.transform.rotate,K.rotate),ge=K.rCenter===0?3:Z.transform.rCenter===0?1/3:1,Ce=yh(Z.transform.rCenter,K.rCenter),Ne=function(pe){return Ce(Math.pow(pe,ge))};return function(pe){var me=te(pe),Ie=V(pe),Re=ne(pe),ze=Ne(pe),Be=L(me,(Ie+Re)/2),tt=oe(pe),rt={pxmid:Be,rpx1:me,transform:{textPosAngle:tt,rCenter:ze,x:K.x,y:K.y}};return x1e(f.type,K,a),{transform:{targetX:I(rt),targetY:P(rt),scale:W(pe),rotate:fe(pe),rCenter:ze}}}}function Q(j){var O=j.parent,Z=x[fi.getPtId(O)],K={};if(Z){var $=O.children,oe=$.indexOf(j),te=$.length,V=yh(Z.x0,Z.x1);K.x0=V(oe/te),K.x1=V(oe/te)}else K.x0=K.x1=0;return K}}function R0t(e){return T0t.partition().size([2*Math.PI,e.height+1])(e)}l5.formatSliceLabel=function(e,t,r,n,i){var a=r.texttemplate,o=r.textinfo;if(!a&&(!o||o==="none"))return"";var s=i.separators,l=n[0],u=e.data.data,f=l.hierarchy,c=fi.isHierarchyRoot(e),h=fi.getParent(f,e),d=fi.getValue(e);if(!a){var v=o.split("+"),m=function(p){return v.indexOf(p)!==-1},b=[],g;if(m("label")&&u.label&&b.push(u.label),u.hasOwnProperty("v")&&m("value")&&b.push(fi.formatValue(u.v,s)),!c){m("current path")&&b.push(fi.getPath(e.data));var _=0;m("percent parent")&&_++,m("percent entry")&&_++,m("percent root")&&_++;var T=_>1;if(_){var w,k=function(p){g=fi.formatPercent(w,s),T&&(g+=" of "+p),b.push(g)};m("percent parent")&&!c&&(w=d/fi.getValue(h),k("parent")),m("percent entry")&&(w=d/fi.getValue(t),k("entry")),m("percent root")&&(w=d/fi.getValue(f),k("root"))}}return m("text")&&(g=bl.castOption(r,u.i,"text"),bl.isValidTextValue(g)&&b.push(g)),b.join("<br>")}var x=bl.castOption(r,u.i,"texttemplate");if(!x)return"";var M={};u.label&&(M.label=u.label),u.hasOwnProperty("v")&&(M.value=u.v,M.valueLabel=fi.formatValue(u.v,s)),M.currentPath=fi.getPath(e.data),c||(M.percentParent=d/fi.getValue(h),M.percentParentLabel=fi.formatPercent(M.percentParent,s),M.parent=fi.getPtLabel(h)),M.percentEntry=d/fi.getValue(t),M.percentEntryLabel=fi.formatPercent(M.percentEntry,s),M.entry=fi.getPtLabel(t),M.percentRoot=d/fi.getValue(f),M.percentRootLabel=fi.formatPercent(M.percentRoot,s),M.root=fi.getPtLabel(f),u.hasOwnProperty("color")&&(M.color=u.color);var A=bl.castOption(r,u.i,"text");return(bl.isValidTextValue(A)||A==="")&&(M.text=A),M.customdata=bl.castOption(r,u.i,"customdata"),bl.texttemplateString(x,M,i._d3locale,M,r._meta||{})};function P0t(e){return e.rpx0===0&&bl.isFullCircle([e.x0,e.x1])?1:Math.max(0,Math.min(1/(1+1/Math.sin(e.halfangle)),e.ring/2))}function w1e(e){return I0t(e.rpx1,e.transform.textPosAngle)}function I0t(e,t){return[e*Math.sin(t),-e*Math.cos(t)]}});var M1e=J((CNt,A1e)=>{"use strict";A1e.exports={moduleType:"trace",name:"sunburst",basePlotModule:Oge(),categories:[],animatable:!0,attributes:i_(),layoutAttributes:sq(),supplyDefaults:Wge(),supplyLayoutDefaults:Zge(),calc:s_().calc,crossTraceCalc:s_().crossTraceCalc,plot:u5().plot,style:Lq().style,colorbar:pc(),meta:{description:["Visualize hierarchal data spanning outward radially from root to leaves.","The sunburst sectors are determined by the entries in *labels* or *ids*","and in *parents*."].join(" ")}}});var S1e=J((ENt,k1e)=>{"use strict";k1e.exports=M1e()});var E1e=J(cx=>{"use strict";var C1e=ea();cx.name="treemap";cx.plot=function(e,t,r,n){C1e.plotBasePlot(cx.name,e,t,r,n)};cx.clean=function(e,t,r,n){C1e.cleanBasePlot(cx.name,e,t,r,n)}});var tm=J((DNt,L1e)=>{"use strict";L1e.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"poly",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"],gapWithPathbar:1}});var f5=J((RNt,R1e)=>{"use strict";var q0t=Jn().hovertemplateAttrs,F0t=Jn().texttemplateAttrs,z0t=Da(),N0t=Wa().attributes,rm=Vg(),Tc=i_(),D1e=tm(),Rq=cn().extendFlat,O0t=Ss().pattern;R1e.exports={labels:Tc.labels,parents:Tc.parents,values:Tc.values,branchvalues:Tc.branchvalues,count:Tc.count,level:Tc.level,maxdepth:Tc.maxdepth,tiling:{packing:{valType:"enumerated",values:["squarify","binary","dice","slice","slice-dice","dice-slice"],dflt:"squarify",editType:"plot",description:["Determines d3 treemap solver.","For more info please refer to https://github.com/d3/d3-hierarchy#treemap-tiling"].join(" ")},squarifyratio:{valType:"number",min:1,dflt:1,editType:"plot",description:["When using *squarify* `packing` algorithm, according to https://github.com/d3/d3-hierarchy/blob/v3.1.1/README.md#squarify_ratio","this option specifies the desired aspect ratio of the generated rectangles.","The ratio must be specified as a number greater than or equal to one.","Note that the orientation of the generated rectangles (tall or wide)","is not implied by the ratio; for example, a ratio of two will attempt","to produce a mixture of rectangles whose width:height ratio is either 2:1 or 1:2.","When using *squarify*, unlike d3 which uses the Golden Ratio i.e. 1.618034,","Plotly applies 1 to increase squares in treemap layouts."].join(" ")},flip:{valType:"flaglist",flags:["x","y"],dflt:"",editType:"plot",description:["Determines if the positions obtained from solver are flipped on each axis."].join(" ")},pad:{valType:"number",min:0,dflt:3,editType:"plot",description:["Sets the inner padding (in px)."].join(" ")},editType:"calc"},marker:Rq({pad:{t:{valType:"number",min:0,editType:"plot",description:["Sets the padding form the top (in px)."].join(" ")},l:{valType:"number",min:0,editType:"plot",description:["Sets the padding form the left (in px)."].join(" ")},r:{valType:"number",min:0,editType:"plot",description:["Sets the padding form the right (in px)."].join(" ")},b:{valType:"number",min:0,editType:"plot",description:["Sets the padding form the bottom (in px)."].join(" ")},editType:"calc"},colors:Tc.marker.colors,pattern:O0t,depthfade:{valType:"enumerated",values:[!0,!1,"reversed"],editType:"style",description:["Determines if the sector colors are faded towards","the background from the leaves up to the headers.","This option is unavailable when a `colorscale` is present,","defaults to false when `marker.colors` is set,","but otherwise defaults to true.","When set to *reversed*, the fading direction is inverted,","that is the top elements within hierarchy are drawn with fully saturated colors","while the leaves are faded towards the background color."].join(" ")},line:Tc.marker.line,cornerradius:{valType:"number",min:0,dflt:0,editType:"plot",description:["Sets the maximum rounding of corners (in px)."].join(" ")},editType:"calc"},z0t("marker",{colorAttr:"colors",anim:!1})),pathbar:{visible:{valType:"boolean",dflt:!0,editType:"plot",description:["Determines if the path bar is drawn","i.e. outside the trace `domain` and","with one pixel gap."].join(" ")},side:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot",description:["Determines on which side of the the treemap the","`pathbar` should be presented."].join(" ")},edgeshape:{valType:"enumerated",values:[">","<","|","/","\\"],dflt:">",editType:"plot",description:["Determines which shape is used for edges between `barpath` labels."].join(" ")},thickness:{valType:"number",min:12,editType:"plot",description:["Sets the thickness of `pathbar` (in px). If not specified the `pathbar.textfont.size` is used","with 3 pixles extra padding on each side."].join(" ")},textfont:Rq({},rm.textfont,{description:"Sets the font used inside `pathbar`."}),editType:"calc"},text:rm.text,textinfo:Tc.textinfo,texttemplate:F0t({editType:"plot"},{keys:D1e.eventDataKeys.concat(["label","value"])}),hovertext:rm.hovertext,hoverinfo:Tc.hoverinfo,hovertemplate:q0t({},{keys:D1e.eventDataKeys}),textfont:rm.textfont,insidetextfont:rm.insidetextfont,outsidetextfont:Rq({},rm.outsidetextfont,{description:["Sets the font used for `textinfo` lying outside the sector.","This option refers to the root of the hierarchy","presented on top left corner of a treemap graph.","Please note that if a hierarchy has multiple root nodes,","this option won't have any effect and `insidetextfont` would be used."].join(" ")}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"top left",editType:"plot",description:["Sets the positions of the `text` elements."].join(" ")},sort:rm.sort,root:Tc.root,domain:N0t({name:"treemap",trace:!0,editType:"calc"})}});var Pq=J((PNt,P1e)=>{"use strict";P1e.exports={treemapcolorway:{valType:"colorlist",editType:"calc",description:["Sets the default treemap slice colors. Defaults to the main","`colorway` used for trace colors. If you specify a new","list here it can still be extended with lighter and darker","colors, see `extendtreemapcolors`."].join(" ")},extendtreemapcolors:{valType:"boolean",dflt:!0,editType:"calc",description:["If `true`, the treemap slice colors (whether given by `treemapcolorway` or","inherited from `colorway`) will be extended to three times its","original length by first repeating every color 20% lighter then","each color 20% darker. This is intended to reduce the likelihood","of reusing the same color when you have many slices, but you can","set `false` to disable.","Colors provided in the trace, using `marker.colors`, are never","extended."].join(" ")}}});var z1e=J((INt,F1e)=>{"use strict";var I1e=gt(),B0t=f5(),U0t=qr(),H0t=Wa().defaults,j0t=Pf().handleText,V0t=qg().TEXTPAD,Y0t=Yg().handleMarkerDefaults,q1e=Qa(),G0t=q1e.hasColorscale,W0t=q1e.handleDefaults;F1e.exports=function(t,r,n,i){function a(b,g){return I1e.coerce(t,r,B0t,b,g)}var o=a("labels"),s=a("parents");if(!o||!o.length||!s||!s.length){r.visible=!1;return}var l=a("values");l&&l.length?a("branchvalues"):a("count"),a("level"),a("maxdepth");var u=a("tiling.packing");u==="squarify"&&a("tiling.squarifyratio"),a("tiling.flip"),a("tiling.pad");var f=a("text");a("texttemplate"),r.texttemplate||a("textinfo",I1e.isArrayOrTypedArray(f)?"text+label":"label"),a("hovertext"),a("hovertemplate");var c=a("pathbar.visible"),h="auto";j0t(t,r,i,a,h,{hasPathbar:c,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),a("textposition");var d=r.textposition.indexOf("bottom")!==-1;Y0t(t,r,i,a);var v=r._hasColorscale=G0t(t,"marker","colors")||(t.marker||{}).coloraxis;v?W0t(t,r,i,a,{prefix:"marker.",cLetter:"c"}):a("marker.depthfade",!(r.marker.colors||[]).length);var m=r.textfont.size*2;a("marker.pad.t",d?m/4:m),a("marker.pad.l",m/4),a("marker.pad.r",m/4),a("marker.pad.b",d?m:m/4),a("marker.cornerradius"),r._hovered={marker:{line:{width:2,color:U0t.contrast(i.paper_bgcolor)}}},c&&(a("pathbar.thickness",r.pathbar.textfont.size+2*V0t),a("pathbar.side"),a("pathbar.edgeshape")),a("sort"),a("root.color"),H0t(r,i,a),r._length=null}});var O1e=J((qNt,N1e)=>{"use strict";var X0t=gt(),Z0t=Pq();N1e.exports=function(t,r){function n(i,a){return X0t.coerce(t,r,Z0t,i,a)}n("treemapcolorway",r.colorway),n("extendtreemapcolors")}});var qq=J(Iq=>{"use strict";var B1e=s_();Iq.calc=function(e,t){return B1e.calc(e,t)};Iq.crossTraceCalc=function(e){return B1e._runCrossTraceCalc("treemap",e)}});var Fq=J((zNt,U1e)=>{"use strict";U1e.exports=function e(t,r,n){var i;n.swapXY&&(i=t.x0,t.x0=t.y0,t.y0=i,i=t.x1,t.x1=t.y1,t.y1=i),n.flipX&&(i=t.x0,t.x0=r[0]-t.x1,t.x1=r[0]-i),n.flipY&&(i=t.y0,t.y0=r[1]-t.y1,t.y1=r[1]-i);var a=t.children;if(a)for(var o=0;o<a.length;o++)e(a[o],r,n)}});var zq=J((NNt,H1e)=>{"use strict";var hx=a_(),J0t=Fq();H1e.exports=function(t,r,n){var i=n.flipX,a=n.flipY,o=n.packing==="dice-slice",s=n.pad[a?"bottom":"top"],l=n.pad[i?"right":"left"],u=n.pad[i?"left":"right"],f=n.pad[a?"top":"bottom"],c;o&&(c=l,l=s,s=c,c=u,u=f,f=c);var h=hx.treemap().tile($0t(n.packing,n.squarifyratio)).paddingInner(n.pad.inner).paddingLeft(l).paddingRight(u).paddingTop(s).paddingBottom(f).size(o?[r[1],r[0]]:r)(t);return(o||i||a)&&J0t(h,r,{swapXY:o,flipX:i,flipY:a}),h};function $0t(e,t){switch(e){case"squarify":return hx.treemapSquarify.ratio(t);case"binary":return hx.treemapBinary;case"dice":return hx.treemapDice;case"slice":return hx.treemapSlice;default:return hx.treemapSliceDice}}});var c5=J((ONt,G1e)=>{"use strict";var j1e=Nr(),vx=qr(),V1e=gt(),Nq=xd(),K0t=xl().resizeText,Q0t=s5();function ept(e){var t=e._fullLayout._treemaplayer.selectAll(".trace");K0t(e,t,"treemap"),t.each(function(r){var n=j1e.select(this),i=r[0],a=i.trace;n.style("opacity",a.opacity),n.selectAll("path.surface").each(function(o){j1e.select(this).call(Y1e,o,a,e,{hovered:!1})})})}function Y1e(e,t,r,n,i){var a=(i||{}).hovered,o=t.data.data,s=o.i,l,u,f=o.color,c=Nq.isHierarchyRoot(t),h=1;if(a)l=r._hovered.marker.line.color,u=r._hovered.marker.line.width;else if(c&&f===r.root.color)h=100,l="rgba(0,0,0,0)",u=0;else if(l=V1e.castOption(r,s,"marker.line.color")||vx.defaultLine,u=V1e.castOption(r,s,"marker.line.width")||0,!r._hasColorscale&&!t.onPathbar){var d=r.marker.depthfade;if(d){var v=vx.combine(vx.addOpacity(r._backgroundColor,.75),f),m;if(d===!0){var b=Nq.getMaxDepth(r);isFinite(b)?Nq.isLeaf(t)?m=0:m=r._maxVisibleLayers-(t.data.depth-r._entryDepth):m=t.data.height+1}else m=t.data.depth-r._entryDepth,r._atRootLevel||m++;if(m>0)for(var g=0;g<m;g++){var _=.5*g/m;f=vx.combine(vx.addOpacity(v,_),f)}}}e.call(Q0t,t,r,n,f).style("stroke-width",u).call(vx.stroke,l).style("opacity",h)}G1e.exports={style:ept,styleOne:Y1e}});var $1e=J((BNt,J1e)=>{"use strict";var W1e=Nr(),h5=gt(),X1e=ln(),tpt=ca(),rpt=zq(),Z1e=c5().styleOne,Oq=tm(),dx=xd(),npt=y_(),Bq=!0;J1e.exports=function(t,r,n,i,a){var o=a.barDifY,s=a.width,l=a.height,u=a.viewX,f=a.viewY,c=a.pathSlice,h=a.toMoveInsideSlice,d=a.strTransform,v=a.hasTransition,m=a.handleSlicesExit,b=a.makeUpdateSliceInterpolator,g=a.makeUpdateTextInterpolator,_={},T=t._context.staticPlot,w=t._fullLayout,k=r[0],x=k.trace,M=k.hierarchy,A=s/x._entryDepth,p=dx.listPath(n.data,"id"),S=rpt(M.copy(),[s,l],{packing:"dice",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();S=S.filter(function(E){var C=p.indexOf(E.data.id);return C===-1?!1:(E.x0=A*C,E.x1=A*(C+1),E.y0=o,E.y1=o+l,E.onPathbar=!0,!0)}),S.reverse(),i=i.data(S,dx.getPtId),i.enter().append("g").classed("pathbar",!0),m(i,Bq,_,[s,l],c),i.order();var y=i;v&&(y=y.transition().each("end",function(){var E=W1e.select(this);dx.setSliceCursor(E,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})})),y.each(function(E){E._x0=u(E.x0),E._x1=u(E.x1),E._y0=f(E.y0),E._y1=f(E.y1),E._hoverX=u(E.x1-Math.min(s,l)/2),E._hoverY=f(E.y1-l/2);var C=W1e.select(this),L=h5.ensureSingle(C,"path","surface",function(D){D.style("pointer-events",T?"none":"all")});v?L.transition().attrTween("d",function(D){var q=b(D,Bq,_,[s,l]);return function(N){return c(q(N))}}):L.attr("d",c),C.call(npt,n,t,r,{styleOne:Z1e,eventDataKeys:Oq.eventDataKeys,transitionTime:Oq.CLICK_TRANSITION_TIME,transitionEasing:Oq.CLICK_TRANSITION_EASING}).call(dx.setSliceCursor,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:t._transitioning}),L.call(Z1e,E,x,t,{hovered:!1}),E._text=(dx.getPtLabel(E)||"").split("<br>").join(" ")||"";var R=h5.ensureSingle(C,"g","slicetext"),I=h5.ensureSingle(R,"text","",function(D){D.attr("data-notex",1)}),P=h5.ensureUniformFontSize(t,dx.determineTextFont(x,E,w.font,{onPathbar:!0}));I.text(E._text||" ").classed("slicetext",!0).attr("text-anchor","start").call(X1e.font,P).call(tpt.convertToTspans,t),E.textBB=X1e.bBox(I.node()),E.transform=h(E,{fontSize:P.size,onPathbar:!0}),E.transform.fontSize=P.size,v?I.transition().attrTween("transform",function(D){var q=g(D,Bq,_,[s,l]);return function(N){return d(q(N))}}):I.attr("transform",d(E))})}});var tye=J((UNt,eye)=>{"use strict";var K1e=Nr(),Uq=(Qg(),s1(Kg)).interpolate,G0=xd(),b_=gt(),Q1e=qg().TEXTPAD,ipt=Og(),apt=ipt.toMoveInsideBar,opt=xl(),Hq=opt.recordMinTextSize,spt=tm(),lpt=$1e();function nm(e){return G0.isHierarchyRoot(e)?"":G0.getPtId(e)}eye.exports=function(t,r,n,i,a){var o=t._fullLayout,s=r[0],l=s.trace,u=l.type,f=u==="icicle",c=s.hierarchy,h=G0.findEntryWithLevel(c,l.level),d=K1e.select(n),v=d.selectAll("g.pathbar"),m=d.selectAll("g.slice");if(!h){v.remove(),m.remove();return}var b=G0.isHierarchyRoot(h),g=!o.uniformtext.mode&&G0.hasTransition(i),_=G0.getMaxDepth(l),T=function(ce){return ce.data.depth-h.data.depth<_},w=o._size,k=l.domain,x=w.w*(k.x[1]-k.x[0]),M=w.h*(k.y[1]-k.y[0]),A=x,p=l.pathbar.thickness,S=l.marker.line.width+spt.gapWithPathbar,y=l.pathbar.visible?l.pathbar.side.indexOf("bottom")>-1?M+S:-(p+S):0,E={x0:A,x1:A,y0:y,y1:y+p},C=function(ce,Ee,Ae){var Pe=l.tiling.pad,He=function(Ge){return Ge-Pe<=Ee.x0},Fe=function(Ge){return Ge+Pe>=Ee.x1},ke=function(Ge){return Ge-Pe<=Ee.y0},Ue=function(Ge){return Ge+Pe>=Ee.y1};return ce.x0===Ee.x0&&ce.x1===Ee.x1&&ce.y0===Ee.y0&&ce.y1===Ee.y1?{x0:ce.x0,x1:ce.x1,y0:ce.y0,y1:ce.y1}:{x0:He(ce.x0-Pe)?0:Fe(ce.x0-Pe)?Ae[0]:ce.x0,x1:He(ce.x1+Pe)?0:Fe(ce.x1+Pe)?Ae[0]:ce.x1,y0:ke(ce.y0-Pe)?0:Ue(ce.y0-Pe)?Ae[1]:ce.y0,y1:ke(ce.y1+Pe)?0:Ue(ce.y1+Pe)?Ae[1]:ce.y1}},L=null,R={},I={},P=null,D=function(ce,Ee){return Ee?R[nm(ce)]:I[nm(ce)]},q=function(ce,Ee,Ae,Pe){if(Ee)return R[nm(c)]||E;var He=I[l.level]||Ae;return T(ce)?C(ce,He,Pe):{}};s.hasMultipleRoots&&b&&_++,l._maxDepth=_,l._backgroundColor=o.paper_bgcolor,l._entryDepth=h.data.depth,l._atRootLevel=b;var N=-x/2+w.l+w.w*(k.x[1]+k.x[0])/2,U=-M/2+w.t+w.h*(1-(k.y[1]+k.y[0])/2),G=function(ce){return N+ce},ee=function(ce){return U+ce},Q=ee(0),j=G(0),O=function(ce){return j+ce},Z=function(ce){return Q+ce};function K(ce,Ee){return ce+","+Ee}var $=O(0),oe=function(ce){ce.x=Math.max($,ce.x)},te=l.pathbar.edgeshape,V=function(ce){var Ee=O(Math.max(Math.min(ce.x0,ce.x0),0)),Ae=O(Math.min(Math.max(ce.x1,ce.x1),A)),Pe=Z(ce.y0),He=Z(ce.y1),Fe=p/2,ke={},Ue={};ke.x=Ee,Ue.x=Ae,ke.y=Ue.y=(Pe+He)/2;var Ge={x:Ee,y:Pe},lt={x:Ae,y:Pe},it={x:Ae,y:He},wt={x:Ee,y:He};return te===">"?(Ge.x-=Fe,lt.x-=Fe,it.x-=Fe,wt.x-=Fe):te==="/"?(it.x-=Fe,wt.x-=Fe,ke.x-=Fe/2,Ue.x-=Fe/2):te==="\\"?(Ge.x-=Fe,lt.x-=Fe,ke.x-=Fe/2,Ue.x-=Fe/2):te==="<"&&(ke.x-=Fe,Ue.x-=Fe),oe(Ge),oe(wt),oe(ke),oe(lt),oe(it),oe(Ue),"M"+K(Ge.x,Ge.y)+"L"+K(lt.x,lt.y)+"L"+K(Ue.x,Ue.y)+"L"+K(it.x,it.y)+"L"+K(wt.x,wt.y)+"L"+K(ke.x,ke.y)+"Z"},ne=l[f?"tiling":"marker"].pad,W=function(ce){return l.textposition.indexOf(ce)!==-1},fe=W("top"),ge=W("left"),Ce=W("right"),Ne=W("bottom"),pe=function(ce){var Ee=G(ce.x0),Ae=G(ce.x1),Pe=ee(ce.y0),He=ee(ce.y1),Fe=Ae-Ee,ke=He-Pe;if(!Fe||!ke)return"";var Ue=l.marker.cornerradius||0,Ge=Math.min(Ue,Fe/2,ke/2);Ge&&ce.data&&ce.data.data&&ce.data.data.label&&(fe&&(Ge=Math.min(Ge,ne.t)),ge&&(Ge=Math.min(Ge,ne.l)),Ce&&(Ge=Math.min(Ge,ne.r)),Ne&&(Ge=Math.min(Ge,ne.b)));var lt=function(it,wt){return Ge?"a"+K(Ge,Ge)+" 0 0 1 "+K(it,wt):""};return"M"+K(Ee,Pe+Ge)+lt(Ge,-Ge)+"L"+K(Ae-Ge,Pe)+lt(Ge,Ge)+"L"+K(Ae,He-Ge)+lt(-Ge,Ge)+"L"+K(Ee+Ge,He)+lt(-Ge,-Ge)+"Z"},me=function(ce,Ee){var Ae=ce.x0,Pe=ce.x1,He=ce.y0,Fe=ce.y1,ke=ce.textBB,Ue=fe||Ee.isHeader&&!Ne,Ge=Ue?"start":Ne?"end":"middle",lt=W("right"),it=W("left")||Ee.onPathbar,wt=it?-1:lt?1:0;if(Ee.isHeader){if(Ae+=(f?ne:ne.l)-Q1e,Pe-=(f?ne:ne.r)-Q1e,Ae>=Pe){var _t=(Ae+Pe)/2;Ae=_t,Pe=_t}var Tt;Ne?(Tt=Fe-(f?ne:ne.b),He<Tt&&Tt<Fe&&(He=Tt)):(Tt=He+(f?ne:ne.t),He<Tt&&Tt<Fe&&(Fe=Tt))}var nt=apt(Ae,Pe,He,Fe,ke,{isHorizontal:!1,constrained:!0,angle:0,anchor:Ge,leftToRight:wt});return nt.fontSize=Ee.fontSize,nt.targetX=G(nt.targetX),nt.targetY=ee(nt.targetY),isNaN(nt.targetX)||isNaN(nt.targetY)?{}:(Ae!==Pe&&He!==Fe&&Hq(l.type,nt,o),{scale:nt.scale,rotate:nt.rotate,textX:nt.textX,textY:nt.textY,anchorX:nt.anchorX,anchorY:nt.anchorY,targetX:nt.targetX,targetY:nt.targetY})},Ie=function(ce,Ee){for(var Ae,Pe=0,He=ce;!Ae&&Pe<_;)Pe++,He=He.parent,He?Ae=D(He,Ee):Pe=_;return Ae||{}},Re=function(ce,Ee,Ae,Pe){var He=D(ce,Ee),Fe;if(Ee)Fe=E;else{var ke=D(h,Ee);ke?Fe=C(ce,ke,Pe):Fe={}}return Uq(He,Fe)},ze=function(ce,Ee,Ae,Pe,He){var Fe=D(ce,Ee),ke;if(Fe)ke=Fe;else if(Ee)ke=E;else if(L)if(ce.parent){var Ue=P||Ae;Ue&&!Ee?ke=C(ce,Ue,Pe):(ke={},b_.extendFlat(ke,Ie(ce,Ee)))}else ke=b_.extendFlat({},ce),f&&(He.orientation==="h"?He.flipX?ke.x0=ce.x1:ke.x1=0:He.flipY?ke.y0=ce.y1:ke.y1=0);else ke={};return Uq(ke,{x0:ce.x0,x1:ce.x1,y0:ce.y0,y1:ce.y1})},Be=function(ce,Ee,Ae,Pe){var He=D(ce,Ee),Fe={},ke=q(ce,Ee,Ae,Pe);b_.extendFlat(Fe,{transform:me({x0:ke.x0,x1:ke.x1,y0:ke.y0,y1:ke.y1,textBB:ce.textBB,_text:ce._text},{isHeader:G0.isHeader(ce,l)})}),He?Fe=He:ce.parent&&b_.extendFlat(Fe,Ie(ce,Ee));var Ue=ce.transform;return ce.x0!==ce.x1&&ce.y0!==ce.y1&&Hq(l.type,Ue,o),Uq(Fe,{transform:{scale:Ue.scale,rotate:Ue.rotate,textX:Ue.textX,textY:Ue.textY,anchorX:Ue.anchorX,anchorY:Ue.anchorY,targetX:Ue.targetX,targetY:Ue.targetY}})},tt=function(ce,Ee,Ae,Pe,He){var Fe=Pe[0],ke=Pe[1];g?ce.exit().transition().each(function(){var Ue=K1e.select(this),Ge=Ue.select("path.surface");Ge.transition().attrTween("d",function(it){var wt=Re(it,Ee,Ae,[Fe,ke]);return function(_t){return He(wt(_t))}});var lt=Ue.select("g.slicetext");lt.attr("opacity",0)}).remove():ce.exit().remove()},rt=function(ce){var Ee=ce.transform;return ce.x0!==ce.x1&&ce.y0!==ce.y1&&Hq(l.type,Ee,o),b_.getTextTransform({textX:Ee.textX,textY:Ee.textY,anchorX:Ee.anchorX,anchorY:Ee.anchorY,targetX:Ee.targetX,targetY:Ee.targetY,scale:Ee.scale,rotate:Ee.rotate})};g&&(v.each(function(ce){R[nm(ce)]={x0:ce.x0,x1:ce.x1,y0:ce.y0,y1:ce.y1},ce.transform&&(R[nm(ce)].transform={textX:ce.transform.textX,textY:ce.transform.textY,anchorX:ce.transform.anchorX,anchorY:ce.transform.anchorY,targetX:ce.transform.targetX,targetY:ce.transform.targetY,scale:ce.transform.scale,rotate:ce.transform.rotate})}),m.each(function(ce){I[nm(ce)]={x0:ce.x0,x1:ce.x1,y0:ce.y0,y1:ce.y1},ce.transform&&(I[nm(ce)].transform={textX:ce.transform.textX,textY:ce.transform.textY,anchorX:ce.transform.anchorX,anchorY:ce.transform.anchorY,targetX:ce.transform.targetX,targetY:ce.transform.targetY,scale:ce.transform.scale,rotate:ce.transform.rotate}),!L&&G0.isEntry(ce)&&(L=ce)})),P=a(t,r,h,m,{width:x,height:M,viewX:G,viewY:ee,pathSlice:pe,toMoveInsideSlice:me,prevEntry:L,makeUpdateSliceInterpolator:ze,makeUpdateTextInterpolator:Be,handleSlicesExit:tt,hasTransition:g,strTransform:rt}),l.pathbar.visible?lpt(t,r,h,v,{barDifY:y,width:A,height:p,viewX:O,viewY:Z,pathSlice:V,toMoveInsideSlice:me,makeUpdateSliceInterpolator:ze,makeUpdateTextInterpolator:Be,handleSlicesExit:tt,hasTransition:g,strTransform:rt}):v.remove()}});var jq=J((HNt,nye)=>{"use strict";var upt=Nr(),fpt=xd(),cpt=xl(),hpt=cpt.clearMinTextSize,vpt=mc().resizeText,rye=tye();nye.exports=function(t,r,n,i,a){var o=a.type,s=a.drawDescendants,l=t._fullLayout,u=l["_"+o+"layer"],f,c,h=!n;if(hpt(o,l),f=u.selectAll("g.trace."+o).data(r,function(v){return v[0].trace.uid}),f.enter().append("g").classed("trace",!0).classed(o,!0),f.order(),!l.uniformtext.mode&&fpt.hasTransition(n)){i&&(c=i());var d=upt.transition().duration(n.duration).ease(n.easing).each("end",function(){c&&c()}).each("interrupt",function(){c&&c()});d.each(function(){u.selectAll("g.trace").each(function(v){rye(t,v,this,n,s)})})}else f.each(function(v){rye(t,v,this,n,s)}),l.uniformtext.mode&&vpt(t,u.selectAll(".trace"),o);h&&f.exit().remove()}});var lye=J((jNt,sye)=>{"use strict";var iye=Nr(),v5=gt(),aye=ln(),dpt=ca(),ppt=zq(),oye=c5().styleOne,Vq=tm(),W0=xd(),gpt=y_(),mpt=u5().formatSliceLabel,Yq=!1;sye.exports=function(t,r,n,i,a){var o=a.width,s=a.height,l=a.viewX,u=a.viewY,f=a.pathSlice,c=a.toMoveInsideSlice,h=a.strTransform,d=a.hasTransition,v=a.handleSlicesExit,m=a.makeUpdateSliceInterpolator,b=a.makeUpdateTextInterpolator,g=a.prevEntry,_={},T=t._context.staticPlot,w=t._fullLayout,k=r[0],x=k.trace,M=x.textposition.indexOf("left")!==-1,A=x.textposition.indexOf("right")!==-1,p=x.textposition.indexOf("bottom")!==-1,S=!p&&!x.marker.pad.t||p&&!x.marker.pad.b,y=ppt(n,[o,s],{packing:x.tiling.packing,squarifyratio:x.tiling.squarifyratio,flipX:x.tiling.flip.indexOf("x")>-1,flipY:x.tiling.flip.indexOf("y")>-1,pad:{inner:x.tiling.pad,top:x.marker.pad.t,left:x.marker.pad.l,right:x.marker.pad.r,bottom:x.marker.pad.b}}),E=y.descendants(),C=1/0,L=-1/0;E.forEach(function(q){var N=q.depth;N>=x._maxDepth?(q.x0=q.x1=(q.x0+q.x1)/2,q.y0=q.y1=(q.y0+q.y1)/2):(C=Math.min(C,N),L=Math.max(L,N))}),i=i.data(E,W0.getPtId),x._maxVisibleLayers=isFinite(L)?L-C+1:0,i.enter().append("g").classed("slice",!0),v(i,Yq,_,[o,s],f),i.order();var R=null;if(d&&g){var I=W0.getPtId(g);i.each(function(q){R===null&&W0.getPtId(q)===I&&(R={x0:q.x0,x1:q.x1,y0:q.y0,y1:q.y1})})}var P=function(){return R||{x0:0,x1:o,y0:0,y1:s}},D=i;return d&&(D=D.transition().each("end",function(){var q=iye.select(this);W0.setSliceCursor(q,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),D.each(function(q){var N=W0.isHeader(q,x);q._x0=l(q.x0),q._x1=l(q.x1),q._y0=u(q.y0),q._y1=u(q.y1),q._hoverX=l(q.x1-x.marker.pad.r),q._hoverY=u(p?q.y1-x.marker.pad.b/2:q.y0+x.marker.pad.t/2);var U=iye.select(this),G=v5.ensureSingle(U,"path","surface",function(K){K.style("pointer-events",T?"none":"all")});d?G.transition().attrTween("d",function(K){var $=m(K,Yq,P(),[o,s]);return function(oe){return f($(oe))}}):G.attr("d",f),U.call(gpt,n,t,r,{styleOne:oye,eventDataKeys:Vq.eventDataKeys,transitionTime:Vq.CLICK_TRANSITION_TIME,transitionEasing:Vq.CLICK_TRANSITION_EASING}).call(W0.setSliceCursor,t,{isTransitioning:t._transitioning}),G.call(oye,q,x,t,{hovered:!1}),q.x0===q.x1||q.y0===q.y1?q._text="":N?q._text=S?"":W0.getPtLabel(q)||"":q._text=mpt(q,n,x,r,w)||"";var ee=v5.ensureSingle(U,"g","slicetext"),Q=v5.ensureSingle(ee,"text","",function(K){K.attr("data-notex",1)}),j=v5.ensureUniformFontSize(t,W0.determineTextFont(x,q,w.font)),O=q._text||" ",Z=N&&O.indexOf("<br>")===-1;Q.text(O).classed("slicetext",!0).attr("text-anchor",A?"end":M||Z?"start":"middle").call(aye.font,j).call(dpt.convertToTspans,t),q.textBB=aye.bBox(Q.node()),q.transform=c(q,{fontSize:j.size,isHeader:N}),q.transform.fontSize=j.size,d?Q.transition().attrTween("transform",function(K){var $=b(K,Yq,P(),[o,s]);return function(oe){return h($(oe))}}):Q.attr("transform",h(q))}),R}});var fye=J((VNt,uye)=>{"use strict";var ypt=jq(),xpt=lye();uye.exports=function(t,r,n,i){return ypt(t,r,n,i,{type:"treemap",drawDescendants:xpt})}});var hye=J((YNt,cye)=>{"use strict";cye.exports={moduleType:"trace",name:"treemap",basePlotModule:E1e(),categories:[],animatable:!0,attributes:f5(),layoutAttributes:Pq(),supplyDefaults:z1e(),supplyLayoutDefaults:O1e(),calc:qq().calc,crossTraceCalc:qq().crossTraceCalc,plot:fye(),style:c5().style,colorbar:pc(),meta:{description:["Visualize hierarchal data from leaves (and/or outer branches) towards root","with rectangles. The treemap sectors are determined by the entries in","*labels* or *ids* and in *parents*."].join(" ")}}});var dye=J((GNt,vye)=>{"use strict";vye.exports=hye()});var gye=J(px=>{"use strict";var pye=ea();px.name="icicle";px.plot=function(e,t,r,n){pye.plotBasePlot(px.name,e,t,r,n)};px.clean=function(e,t,r,n){pye.cleanBasePlot(px.name,e,t,r,n)}});var Gq=J((XNt,yye)=>{"use strict";var bpt=Jn().hovertemplateAttrs,wpt=Jn().texttemplateAttrs,_pt=Da(),Tpt=Wa().attributes,w_=Vg(),zf=i_(),d5=f5(),mye=tm(),Apt=cn().extendFlat,Mpt=Ss().pattern;yye.exports={labels:zf.labels,parents:zf.parents,values:zf.values,branchvalues:zf.branchvalues,count:zf.count,level:zf.level,maxdepth:zf.maxdepth,tiling:{orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"plot",description:["When set in conjunction with `tiling.flip`, determines on","which side the root nodes are drawn in the chart. If","`tiling.orientation` is *v* and `tiling.flip` is **, the root","nodes appear at the top. If `tiling.orientation` is *v* and","`tiling.flip` is *y*, the root nodes appear at the bottom. If","`tiling.orientation` is *h* and `tiling.flip` is **, the","root nodes appear at the left. If `tiling.orientation` is *h*","and `tiling.flip` is *x*, the root nodes appear at the right."].join(" ")},flip:d5.tiling.flip,pad:{valType:"number",min:0,dflt:0,editType:"plot",description:["Sets the inner padding (in px)."].join(" ")},editType:"calc"},marker:Apt({colors:zf.marker.colors,line:zf.marker.line,pattern:Mpt,editType:"calc"},_pt("marker",{colorAttr:"colors",anim:!1})),leaf:zf.leaf,pathbar:d5.pathbar,text:w_.text,textinfo:zf.textinfo,texttemplate:wpt({editType:"plot"},{keys:mye.eventDataKeys.concat(["label","value"])}),hovertext:w_.hovertext,hoverinfo:zf.hoverinfo,hovertemplate:bpt({},{keys:mye.eventDataKeys}),textfont:w_.textfont,insidetextfont:w_.insidetextfont,outsidetextfont:d5.outsidetextfont,textposition:d5.textposition,sort:w_.sort,root:zf.root,domain:Tpt({name:"icicle",trace:!0,editType:"calc"})}});var Wq=J((ZNt,xye)=>{"use strict";xye.exports={iciclecolorway:{valType:"colorlist",editType:"calc",description:["Sets the default icicle slice colors. Defaults to the main","`colorway` used for trace colors. If you specify a new","list here it can still be extended with lighter and darker","colors, see `extendiciclecolors`."].join(" ")},extendiciclecolors:{valType:"boolean",dflt:!0,editType:"calc",description:["If `true`, the icicle slice colors (whether given by `iciclecolorway` or","inherited from `colorway`) will be extended to three times its","original length by first repeating every color 20% lighter then","each color 20% darker. This is intended to reduce the likelihood","of reusing the same color when you have many slices, but you can","set `false` to disable.","Colors provided in the trace, using `marker.colors`, are never","extended."].join(" ")}}});var Tye=J((JNt,_ye)=>{"use strict";var bye=gt(),kpt=Gq(),Spt=qr(),Cpt=Wa().defaults,Ept=Pf().handleText,Lpt=qg().TEXTPAD,Dpt=Yg().handleMarkerDefaults,wye=Qa(),Rpt=wye.hasColorscale,Ppt=wye.handleDefaults;_ye.exports=function(t,r,n,i){function a(d,v){return bye.coerce(t,r,kpt,d,v)}var o=a("labels"),s=a("parents");if(!o||!o.length||!s||!s.length){r.visible=!1;return}var l=a("values");l&&l.length?a("branchvalues"):a("count"),a("level"),a("maxdepth"),a("tiling.orientation"),a("tiling.flip"),a("tiling.pad");var u=a("text");a("texttemplate"),r.texttemplate||a("textinfo",bye.isArrayOrTypedArray(u)?"text+label":"label"),a("hovertext"),a("hovertemplate");var f=a("pathbar.visible"),c="auto";Ept(t,r,i,a,c,{hasPathbar:f,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),a("textposition"),Dpt(t,r,i,a);var h=r._hasColorscale=Rpt(t,"marker","colors")||(t.marker||{}).coloraxis;h&&Ppt(t,r,i,a,{prefix:"marker.",cLetter:"c"}),a("leaf.opacity",h?1:.7),r._hovered={marker:{line:{width:2,color:Spt.contrast(i.paper_bgcolor)}}},f&&(a("pathbar.thickness",r.pathbar.textfont.size+2*Lpt),a("pathbar.side"),a("pathbar.edgeshape")),a("sort"),a("root.color"),Cpt(r,i,a),r._length=null}});var Mye=J(($Nt,Aye)=>{"use strict";var Ipt=gt(),qpt=Wq();Aye.exports=function(t,r){function n(i,a){return Ipt.coerce(t,r,qpt,i,a)}n("iciclecolorway",r.colorway),n("extendiciclecolors")}});var Zq=J(Xq=>{"use strict";var kye=s_();Xq.calc=function(e,t){return kye.calc(e,t)};Xq.crossTraceCalc=function(e){return kye._runCrossTraceCalc("icicle",e)}});var Cye=J((QNt,Sye)=>{"use strict";var Fpt=a_(),zpt=Fq();Sye.exports=function(t,r,n){var i=n.flipX,a=n.flipY,o=n.orientation==="h",s=n.maxDepth,l=r[0],u=r[1];s&&(l=(t.height+1)*r[0]/Math.min(t.height+1,s),u=(t.height+1)*r[1]/Math.min(t.height+1,s));var f=Fpt.partition().padding(n.pad.inner).size(o?[r[1],l]:[r[0],u])(t);return(o||i||a)&&zpt(f,r,{swapXY:o,flipX:i,flipY:a}),f}});var Jq=J((eOt,Pye)=>{"use strict";var Eye=Nr(),Lye=qr(),Dye=gt(),Npt=xl().resizeText,Opt=s5();function Bpt(e){var t=e._fullLayout._iciclelayer.selectAll(".trace");Npt(e,t,"icicle"),t.each(function(r){var n=Eye.select(this),i=r[0],a=i.trace;n.style("opacity",a.opacity),n.selectAll("path.surface").each(function(o){Eye.select(this).call(Rye,o,a,e)})})}function Rye(e,t,r,n){var i=t.data.data,a=!t.children,o=i.i,s=Dye.castOption(r,o,"marker.line.color")||Lye.defaultLine,l=Dye.castOption(r,o,"marker.line.width")||0;e.call(Opt,t,r,n).style("stroke-width",l).call(Lye.stroke,s).style("opacity",a?r.leaf.opacity:null)}Pye.exports={style:Bpt,styleOne:Rye}});var Nye=J((tOt,zye)=>{"use strict";var Iye=Nr(),p5=gt(),qye=ln(),Upt=ca(),Hpt=Cye(),Fye=Jq().styleOne,$q=tm(),gx=xd(),jpt=y_(),Vpt=u5().formatSliceLabel,Kq=!1;zye.exports=function(t,r,n,i,a){var o=a.width,s=a.height,l=a.viewX,u=a.viewY,f=a.pathSlice,c=a.toMoveInsideSlice,h=a.strTransform,d=a.hasTransition,v=a.handleSlicesExit,m=a.makeUpdateSliceInterpolator,b=a.makeUpdateTextInterpolator,g=a.prevEntry,_={},T=t._context.staticPlot,w=t._fullLayout,k=r[0],x=k.trace,M=x.textposition.indexOf("left")!==-1,A=x.textposition.indexOf("right")!==-1,p=x.textposition.indexOf("bottom")!==-1,S=Hpt(n,[o,s],{flipX:x.tiling.flip.indexOf("x")>-1,flipY:x.tiling.flip.indexOf("y")>-1,orientation:x.tiling.orientation,pad:{inner:x.tiling.pad},maxDepth:x._maxDepth}),y=S.descendants(),E=1/0,C=-1/0;y.forEach(function(D){var q=D.depth;q>=x._maxDepth?(D.x0=D.x1=(D.x0+D.x1)/2,D.y0=D.y1=(D.y0+D.y1)/2):(E=Math.min(E,q),C=Math.max(C,q))}),i=i.data(y,gx.getPtId),x._maxVisibleLayers=isFinite(C)?C-E+1:0,i.enter().append("g").classed("slice",!0),v(i,Kq,_,[o,s],f),i.order();var L=null;if(d&&g){var R=gx.getPtId(g);i.each(function(D){L===null&&gx.getPtId(D)===R&&(L={x0:D.x0,x1:D.x1,y0:D.y0,y1:D.y1})})}var I=function(){return L||{x0:0,x1:o,y0:0,y1:s}},P=i;return d&&(P=P.transition().each("end",function(){var D=Iye.select(this);gx.setSliceCursor(D,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),P.each(function(D){D._x0=l(D.x0),D._x1=l(D.x1),D._y0=u(D.y0),D._y1=u(D.y1),D._hoverX=l(D.x1-x.tiling.pad),D._hoverY=u(p?D.y1-x.tiling.pad/2:D.y0+x.tiling.pad/2);var q=Iye.select(this),N=p5.ensureSingle(q,"path","surface",function(Q){Q.style("pointer-events",T?"none":"all")});d?N.transition().attrTween("d",function(Q){var j=m(Q,Kq,I(),[o,s],{orientation:x.tiling.orientation,flipX:x.tiling.flip.indexOf("x")>-1,flipY:x.tiling.flip.indexOf("y")>-1});return function(O){return f(j(O))}}):N.attr("d",f),q.call(jpt,n,t,r,{styleOne:Fye,eventDataKeys:$q.eventDataKeys,transitionTime:$q.CLICK_TRANSITION_TIME,transitionEasing:$q.CLICK_TRANSITION_EASING}).call(gx.setSliceCursor,t,{isTransitioning:t._transitioning}),N.call(Fye,D,x,t,{hovered:!1}),D.x0===D.x1||D.y0===D.y1?D._text="":D._text=Vpt(D,n,x,r,w)||"";var U=p5.ensureSingle(q,"g","slicetext"),G=p5.ensureSingle(U,"text","",function(Q){Q.attr("data-notex",1)}),ee=p5.ensureUniformFontSize(t,gx.determineTextFont(x,D,w.font));G.text(D._text||" ").classed("slicetext",!0).attr("text-anchor",A?"end":M?"start":"middle").call(qye.font,ee).call(Upt.convertToTspans,t),D.textBB=qye.bBox(G.node()),D.transform=c(D,{fontSize:ee.size}),D.transform.fontSize=ee.size,d?G.transition().attrTween("transform",function(Q){var j=b(Q,Kq,I(),[o,s]);return function(O){return h(j(O))}}):G.attr("transform",h(D))}),L}});var Bye=J((rOt,Oye)=>{"use strict";var Ypt=jq(),Gpt=Nye();Oye.exports=function(t,r,n,i){return Ypt(t,r,n,i,{type:"icicle",drawDescendants:Gpt})}});var Hye=J((nOt,Uye)=>{"use strict";Uye.exports={moduleType:"trace",name:"icicle",basePlotModule:gye(),categories:[],animatable:!0,attributes:Gq(),layoutAttributes:Wq(),supplyDefaults:Tye(),supplyLayoutDefaults:Mye(),calc:Zq().calc,crossTraceCalc:Zq().crossTraceCalc,plot:Bye(),style:Jq().style,colorbar:pc(),meta:{description:["Visualize hierarchal data from leaves (and/or outer branches) towards root","with rectangles. The icicle sectors are determined by the entries in","*labels* or *ids* and in *parents*."].join(" ")}}});var Vye=J((iOt,jye)=>{"use strict";jye.exports=Hye()});var Gye=J(mx=>{"use strict";var Yye=ea();mx.name="funnelarea";mx.plot=function(e,t,r,n){Yye.plotBasePlot(mx.name,e,t,r,n)};mx.clean=function(e,t,r,n){Yye.cleanBasePlot(mx.name,e,t,r,n)}});var Qq=J((oOt,Wye)=>{"use strict";var $s=Vg(),Wpt=Qi(),Xpt=Wa().attributes,Zpt=Jn().hovertemplateAttrs,Jpt=Jn().texttemplateAttrs,im=cn().extendFlat;Wye.exports={labels:$s.labels,label0:$s.label0,dlabel:$s.dlabel,values:$s.values,marker:{colors:$s.marker.colors,line:{color:im({},$s.marker.line.color,{dflt:null,description:["Sets the color of the line enclosing each sector.","Defaults to the `paper_bgcolor` value."].join(" ")}),width:im({},$s.marker.line.width,{dflt:1}),editType:"calc"},pattern:$s.marker.pattern,editType:"calc"},text:$s.text,hovertext:$s.hovertext,scalegroup:im({},$s.scalegroup,{description:["If there are multiple funnelareas that should be sized according to","their totals, link them by providing a non-empty group id here","shared by every trace in the same group."].join(" ")}),textinfo:im({},$s.textinfo,{flags:["label","text","value","percent"]}),texttemplate:Jpt({editType:"plot"},{keys:["label","color","value","text","percent"]}),hoverinfo:im({},Wpt.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:Zpt({},{keys:["label","color","value","text","percent"]}),textposition:im({},$s.textposition,{values:["inside","none"],dflt:"inside"}),textfont:$s.textfont,insidetextfont:$s.insidetextfont,title:{text:$s.title.text,font:$s.title.font,position:im({},$s.title.position,{values:["top left","top center","top right"],dflt:"top center"}),editType:"plot"},domain:Xpt({name:"funnelarea",trace:!0,editType:"calc"}),aspectratio:{valType:"number",min:0,dflt:1,editType:"plot",description:["Sets the ratio between height and width"].join(" ")},baseratio:{valType:"number",min:0,max:1,dflt:.333,editType:"plot",description:["Sets the ratio between bottom length and maximum top length."].join(" ")}}});var e7=J((sOt,Xye)=>{"use strict";var $pt=FS().hiddenlabels;Xye.exports={hiddenlabels:$pt,funnelareacolorway:{valType:"colorlist",editType:"calc",description:["Sets the default funnelarea slice colors. Defaults to the main","`colorway` used for trace colors. If you specify a new","list here it can still be extended with lighter and darker","colors, see `extendfunnelareacolors`."].join(" ")},extendfunnelareacolors:{valType:"boolean",dflt:!0,editType:"calc",description:["If `true`, the funnelarea slice colors (whether given by `funnelareacolorway` or","inherited from `colorway`) will be extended to three times its","original length by first repeating every color 20% lighter then","each color 20% darker. This is intended to reduce the likelihood","of reusing the same color when you have many slices, but you can","set `false` to disable.","Colors provided in the trace, using `marker.colors`, are never","extended."].join(" ")}}});var $ye=J((lOt,Jye)=>{"use strict";var Zye=gt(),Kpt=Qq(),Qpt=Wa().defaults,egt=Pf().handleText,tgt=Yg().handleLabelsAndValues,rgt=Yg().handleMarkerDefaults;Jye.exports=function(t,r,n,i){function a(m,b){return Zye.coerce(t,r,Kpt,m,b)}var o=a("labels"),s=a("values"),l=tgt(o,s),u=l.len;if(r._hasLabels=l.hasLabels,r._hasValues=l.hasValues,!r._hasLabels&&r._hasValues&&(a("label0"),a("dlabel")),!u){r.visible=!1;return}r._length=u,rgt(t,r,i,a),a("scalegroup");var f=a("text"),c=a("texttemplate"),h;if(c||(h=a("textinfo",Array.isArray(f)?"text+percent":"percent")),a("hovertext"),a("hovertemplate"),c||h&&h!=="none"){var d=a("textposition");egt(t,r,i,a,d,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}else h==="none"&&a("textposition","none");Qpt(r,i,a);var v=a("title.text");v&&(a("title.position"),Zye.coerceFont(a,"title.font",i.font)),a("aspectratio"),a("baseratio")}});var Qye=J((uOt,Kye)=>{"use strict";var ngt=gt(),igt=e7();Kye.exports=function(t,r){function n(i,a){return ngt.coerce(t,r,igt,i,a)}n("hiddenlabels"),n("funnelareacolorway",r.colorway),n("extendfunnelareacolors")}});var t7=J((fOt,txe)=>{"use strict";var exe=Qy();function agt(e,t){return exe.calc(e,t)}function ogt(e){exe.crossTraceCalc(e,{type:"funnelarea"})}txe.exports={calc:agt,crossTraceCalc:ogt}});var oxe=J((cOt,axe)=>{"use strict";var am=Nr(),r7=ln(),X0=gt(),sgt=X0.strScale,rxe=X0.strTranslate,nxe=ca(),lgt=Og(),ugt=lgt.toMoveInsideBar,ixe=xl(),fgt=ixe.recordMinTextSize,cgt=ixe.clearMinTextSize,hgt=g0(),yx=BS(),vgt=yx.attachFxHandlers,dgt=yx.determineInsideTextFont,pgt=yx.layoutAreas,ggt=yx.prerenderTitles,mgt=yx.positionTitleOutside,ygt=yx.formatSliceLabel;axe.exports=function(t,r){var n=t._context.staticPlot,i=t._fullLayout;cgt("funnelarea",i),ggt(r,t),pgt(r,i._size),X0.makeTraceGroups(i._funnelarealayer,r,"trace").each(function(a){var o=am.select(this),s=a[0],l=s.trace;bgt(a),o.each(function(){var u=am.select(this).selectAll("g.slice").data(a);u.enter().append("g").classed("slice",!0),u.exit().remove(),u.each(function(c,h){if(c.hidden){am.select(this).selectAll("path,g").remove();return}c.pointNumber=c.i,c.curveNumber=l.index;var d=s.cx,v=s.cy,m=am.select(this),b=m.selectAll("path.surface").data([c]);b.enter().append("path").classed("surface",!0).style({"pointer-events":n?"none":"all"}),m.call(vgt,t,a);var g="M"+(d+c.TR[0])+","+(v+c.TR[1])+n7(c.TR,c.BR)+n7(c.BR,c.BL)+n7(c.BL,c.TL)+"Z";b.attr("d",g),ygt(t,c,s);var _=hgt.castOption(l.textposition,c.pts),T=m.selectAll("g.slicetext").data(c.text&&_!=="none"?[0]:[]);T.enter().append("g").classed("slicetext",!0),T.exit().remove(),T.each(function(){var w=X0.ensureSingle(am.select(this),"text","",function(E){E.attr("data-notex",1)}),k=X0.ensureUniformFontSize(t,dgt(l,c,i.font));w.text(c.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(r7.font,k).call(nxe.convertToTspans,t);var x=r7.bBox(w.node()),M,A,p,S=Math.min(c.BL[1],c.BR[1])+v,y=Math.max(c.TL[1],c.TR[1])+v;A=Math.max(c.TL[0],c.BL[0])+d,p=Math.min(c.TR[0],c.BR[0])+d,M=ugt(A,p,S,y,x,{isHorizontal:!0,constrained:!0,angle:0,anchor:"middle"}),M.fontSize=k.size,fgt(l.type,M,i),a[h].transform=M,X0.setTransormAndDisplay(w,M)})});var f=am.select(this).selectAll("g.titletext").data(l.title.text?[0]:[]);f.enter().append("g").classed("titletext",!0),f.exit().remove(),f.each(function(){var c=X0.ensureSingle(am.select(this),"text","",function(v){v.attr("data-notex",1)}),h=l.title.text;l._meta&&(h=X0.templateString(h,l._meta)),c.text(h).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(r7.font,l.title.font).call(nxe.convertToTspans,t);var d=mgt(s,i._size);c.attr("transform",rxe(d.x,d.y)+sgt(Math.min(1,d.scale))+rxe(d.tx,d.ty))})})})};function n7(e,t){var r=t[0]-e[0],n=t[1]-e[1];return"l"+r+","+n}function xgt(e,t){return[.5*(e[0]+t[0]),.5*(e[1]+t[1])]}function bgt(e){if(!e.length)return;var t=e[0],r=t.trace,n=r.aspectratio,i=r.baseratio;i>.999&&(i=.999);var a=Math.pow(i,2),o=t.vTotal,s=o*a/(1-a),l=o,u=s/o;function f(){var C=Math.sqrt(u);return{x:C,y:-C}}function c(){var C=f();return[C.x,C.y]}var h,d=[];d.push(c());var v,m;for(v=e.length-1;v>-1;v--)if(m=e[v],!m.hidden){var b=m.v/l;u+=b,d.push(c())}var g=1/0,_=-1/0;for(v=0;v<d.length;v++)h=d[v],g=Math.min(g,h[1]),_=Math.max(_,h[1]);for(v=0;v<d.length;v++)d[v][1]-=(_+g)/2;var T=d[d.length-1][0],w=t.r,k=(_-g)/2,x=w/T,M=w/k*n;for(t.r=M*k,v=0;v<d.length;v++)d[v][0]*=x,d[v][1]*=M;h=d[0];var A=[-h[0],h[1]],p=[h[0],h[1]],S=0;for(v=e.length-1;v>-1;v--)if(m=e[v],!m.hidden){S+=1;var y=d[S][0],E=d[S][1];m.TL=[-y,E],m.TR=[y,E],m.BL=A,m.BR=p,m.pxmid=xgt(m.TR,m.BR),A=m.TL,p=m.TR}}});var uxe=J((hOt,lxe)=>{"use strict";var sxe=Nr(),wgt=X1(),_gt=xl().resizeText;lxe.exports=function(t){var r=t._fullLayout._funnelarealayer.selectAll(".trace");_gt(t,r,"funnelarea"),r.each(function(n){var i=n[0],a=i.trace,o=sxe.select(this);o.style({opacity:a.opacity}),o.selectAll("path.surface").each(function(s){sxe.select(this).call(wgt,s,a,t)})})}});var cxe=J((vOt,fxe)=>{"use strict";fxe.exports={moduleType:"trace",name:"funnelarea",basePlotModule:Gye(),categories:["pie-like","funnelarea","showLegend"],attributes:Qq(),layoutAttributes:e7(),supplyDefaults:$ye(),supplyLayoutDefaults:Qye(),calc:t7().calc,crossTraceCalc:t7().crossTraceCalc,plot:oxe(),style:uxe(),styleOne:X1(),meta:{description:["Visualize stages in a process using area-encoded trapezoids. This trace can be used",'to show data in a part-to-whole representation similar to a "pie" trace, wherein','each item appears in a single stage. See also the "funnel" trace type for a different',"approach to visualizing funnel data."].join(" ")}}});var vxe=J((dOt,hxe)=>{"use strict";hxe.exports=cxe()});var ao=J((pOt,dxe)=>{(function(){var e={1964:function(i,a,o){i.exports={alpha_shape:o(3502),convex_hull:o(7352),delaunay_triangulate:o(7642),gl_cone3d:o(6405),gl_error3d:o(9165),gl_heatmap2d:o(2510),gl_line3d:o(5714),gl_mesh3d:o(7201),gl_plot2d:o(1850),gl_plot3d:o(4100),gl_pointcloud2d:o(4696),gl_scatter3d:o(8418),gl_select_box:o(3161),gl_spikes2d:o(4098),gl_streamtube3d:o(7815),gl_surface3d:o(9499),ndarray:o(9618),ndarray_linear_interpolate:o(4317)}},4793:function(i,a,o){"use strict";var s;function l(ve,Y){if(!(ve instanceof Y))throw new TypeError("Cannot call a class as a function")}function u(ve,Y){for(var ie=0;ie<Y.length;ie++){var Te=Y[ie];Te.enumerable=Te.enumerable||!1,Te.configurable=!0,"value"in Te&&(Te.writable=!0),Object.defineProperty(ve,c(Te.key),Te)}}function f(ve,Y,ie){return Y&&u(ve.prototype,Y),ie&&u(ve,ie),Object.defineProperty(ve,"prototype",{writable:!1}),ve}function c(ve){var Y=h(ve,"string");return w(Y)=="symbol"?Y:Y+""}function h(ve,Y){if(w(ve)!="object"||!ve)return ve;var ie=ve[Symbol.toPrimitive];if(ie!==void 0){var Te=ie.call(ve,Y||"default");if(w(Te)!="object")return Te;throw new TypeError("@@toPrimitive must return a primitive value.")}return(Y==="string"?String:Number)(ve)}function d(ve,Y,ie){return Y=g(Y),v(ve,b()?Reflect.construct(Y,ie||[],g(ve).constructor):Y.apply(ve,ie))}function v(ve,Y){if(Y&&(w(Y)==="object"||typeof Y=="function"))return Y;if(Y!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return m(ve)}function m(ve){if(ve===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return ve}function b(){try{var ve=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(b=function(){return!!ve})()}function g(ve){return g=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(ie){return ie.__proto__||Object.getPrototypeOf(ie)},g(ve)}function _(ve,Y){if(typeof Y!="function"&&Y!==null)throw new TypeError("Super expression must either be null or a function");ve.prototype=Object.create(Y&&Y.prototype,{constructor:{value:ve,writable:!0,configurable:!0}}),Object.defineProperty(ve,"prototype",{writable:!1}),Y&&T(ve,Y)}function T(ve,Y){return T=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(Te,Ve){return Te.__proto__=Ve,Te},T(ve,Y)}function w(ve){return w=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Y){return typeof Y}:function(Y){return Y&&typeof Symbol=="function"&&Y.constructor===Symbol&&Y!==Symbol.prototype?"symbol":typeof Y},w(ve)}var k=o(7507),x=o(3778),M=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;a.hp=y,s=G,a.IS=50;var A=2147483647;s=A,y.TYPED_ARRAY_SUPPORT=p(),!y.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function p(){try{var ve=new Uint8Array(1),Y={foo:function(){return 42}};return Object.setPrototypeOf(Y,Uint8Array.prototype),Object.setPrototypeOf(ve,Y),ve.foo()===42}catch{return!1}}Object.defineProperty(y.prototype,"parent",{enumerable:!0,get:function(){if(y.isBuffer(this))return this.buffer}}),Object.defineProperty(y.prototype,"offset",{enumerable:!0,get:function(){if(y.isBuffer(this))return this.byteOffset}});function S(ve){if(ve>A)throw new RangeError('The value "'+ve+'" is invalid for option "size"');var Y=new Uint8Array(ve);return Object.setPrototypeOf(Y,y.prototype),Y}function y(ve,Y,ie){if(typeof ve=="number"){if(typeof Y=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return R(ve)}return E(ve,Y,ie)}y.poolSize=8192;function E(ve,Y,ie){if(typeof ve=="string")return I(ve,Y);if(ArrayBuffer.isView(ve))return D(ve);if(ve==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+w(ve));if(bt(ve,ArrayBuffer)||ve&&bt(ve.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(bt(ve,SharedArrayBuffer)||ve&&bt(ve.buffer,SharedArrayBuffer)))return q(ve,Y,ie);if(typeof ve=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');var Te=ve.valueOf&&ve.valueOf();if(Te!=null&&Te!==ve)return y.from(Te,Y,ie);var Ve=N(ve);if(Ve)return Ve;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof ve[Symbol.toPrimitive]=="function")return y.from(ve[Symbol.toPrimitive]("string"),Y,ie);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+w(ve))}y.from=function(ve,Y,ie){return E(ve,Y,ie)},Object.setPrototypeOf(y.prototype,Uint8Array.prototype),Object.setPrototypeOf(y,Uint8Array);function C(ve){if(typeof ve!="number")throw new TypeError('"size" argument must be of type number');if(ve<0)throw new RangeError('The value "'+ve+'" is invalid for option "size"')}function L(ve,Y,ie){return C(ve),ve<=0?S(ve):Y!==void 0?typeof ie=="string"?S(ve).fill(Y,ie):S(ve).fill(Y):S(ve)}y.alloc=function(ve,Y,ie){return L(ve,Y,ie)};function R(ve){return C(ve),S(ve<0?0:U(ve)|0)}y.allocUnsafe=function(ve){return R(ve)},y.allocUnsafeSlow=function(ve){return R(ve)};function I(ve,Y){if((typeof Y!="string"||Y==="")&&(Y="utf8"),!y.isEncoding(Y))throw new TypeError("Unknown encoding: "+Y);var ie=ee(ve,Y)|0,Te=S(ie),Ve=Te.write(ve,Y);return Ve!==ie&&(Te=Te.slice(0,Ve)),Te}function P(ve){for(var Y=ve.length<0?0:U(ve.length)|0,ie=S(Y),Te=0;Te<Y;Te+=1)ie[Te]=ve[Te]&255;return ie}function D(ve){if(bt(ve,Uint8Array)){var Y=new Uint8Array(ve);return q(Y.buffer,Y.byteOffset,Y.byteLength)}return P(ve)}function q(ve,Y,ie){if(Y<0||ve.byteLength<Y)throw new RangeError('"offset" is outside of buffer bounds');if(ve.byteLength<Y+(ie||0))throw new RangeError('"length" is outside of buffer bounds');var Te;return Y===void 0&&ie===void 0?Te=new Uint8Array(ve):ie===void 0?Te=new Uint8Array(ve,Y):Te=new Uint8Array(ve,Y,ie),Object.setPrototypeOf(Te,y.prototype),Te}function N(ve){if(y.isBuffer(ve)){var Y=U(ve.length)|0,ie=S(Y);return ie.length===0||ve.copy(ie,0,0,Y),ie}if(ve.length!==void 0)return typeof ve.length!="number"||At(ve.length)?S(0):P(ve);if(ve.type==="Buffer"&&Array.isArray(ve.data))return P(ve.data)}function U(ve){if(ve>=A)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+A.toString(16)+" bytes");return ve|0}function G(ve){return+ve!=ve&&(ve=0),y.alloc(+ve)}y.isBuffer=function(Y){return Y!=null&&Y._isBuffer===!0&&Y!==y.prototype},y.compare=function(Y,ie){if(bt(Y,Uint8Array)&&(Y=y.from(Y,Y.offset,Y.byteLength)),bt(ie,Uint8Array)&&(ie=y.from(ie,ie.offset,ie.byteLength)),!y.isBuffer(Y)||!y.isBuffer(ie))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(Y===ie)return 0;for(var Te=Y.length,Ve=ie.length,at=0,ft=Math.min(Te,Ve);at<ft;++at)if(Y[at]!==ie[at]){Te=Y[at],Ve=ie[at];break}return Te<Ve?-1:Ve<Te?1:0},y.isEncoding=function(Y){switch(String(Y).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},y.concat=function(Y,ie){if(!Array.isArray(Y))throw new TypeError('"list" argument must be an Array of Buffers');if(Y.length===0)return y.alloc(0);var Te;if(ie===void 0)for(ie=0,Te=0;Te<Y.length;++Te)ie+=Y[Te].length;var Ve=y.allocUnsafe(ie),at=0;for(Te=0;Te<Y.length;++Te){var ft=Y[Te];if(bt(ft,Uint8Array))at+ft.length>Ve.length?(y.isBuffer(ft)||(ft=y.from(ft)),ft.copy(Ve,at)):Uint8Array.prototype.set.call(Ve,ft,at);else if(y.isBuffer(ft))ft.copy(Ve,at);else throw new TypeError('"list" argument must be an Array of Buffers');at+=ft.length}return Ve};function ee(ve,Y){if(y.isBuffer(ve))return ve.length;if(ArrayBuffer.isView(ve)||bt(ve,ArrayBuffer))return ve.byteLength;if(typeof ve!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+w(ve));var ie=ve.length,Te=arguments.length>2&&arguments[2]===!0;if(!Te&&ie===0)return 0;for(var Ve=!1;;)switch(Y){case"ascii":case"latin1":case"binary":return ie;case"utf8":case"utf-8":return it(ve).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ie*2;case"hex":return ie>>>1;case"base64":return Tt(ve).length;default:if(Ve)return Te?-1:it(ve).length;Y=(""+Y).toLowerCase(),Ve=!0}}y.byteLength=ee;function Q(ve,Y,ie){var Te=!1;if((Y===void 0||Y<0)&&(Y=0),Y>this.length||((ie===void 0||ie>this.length)&&(ie=this.length),ie<=0)||(ie>>>=0,Y>>>=0,ie<=Y))return"";for(ve||(ve="utf8");;)switch(ve){case"hex":return pe(this,Y,ie);case"utf8":case"utf-8":return W(this,Y,ie);case"ascii":return Ce(this,Y,ie);case"latin1":case"binary":return Ne(this,Y,ie);case"base64":return ne(this,Y,ie);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return me(this,Y,ie);default:if(Te)throw new TypeError("Unknown encoding: "+ve);ve=(ve+"").toLowerCase(),Te=!0}}y.prototype._isBuffer=!0;function j(ve,Y,ie){var Te=ve[Y];ve[Y]=ve[ie],ve[ie]=Te}y.prototype.swap16=function(){var Y=this.length;if(Y%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var ie=0;ie<Y;ie+=2)j(this,ie,ie+1);return this},y.prototype.swap32=function(){var Y=this.length;if(Y%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var ie=0;ie<Y;ie+=4)j(this,ie,ie+3),j(this,ie+1,ie+2);return this},y.prototype.swap64=function(){var Y=this.length;if(Y%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var ie=0;ie<Y;ie+=8)j(this,ie,ie+7),j(this,ie+1,ie+6),j(this,ie+2,ie+5),j(this,ie+3,ie+4);return this},y.prototype.toString=function(){var Y=this.length;return Y===0?"":arguments.length===0?W(this,0,Y):Q.apply(this,arguments)},y.prototype.toLocaleString=y.prototype.toString,y.prototype.equals=function(Y){if(!y.isBuffer(Y))throw new TypeError("Argument must be a Buffer");return this===Y?!0:y.compare(this,Y)===0},y.prototype.inspect=function(){var Y="",ie=a.IS;return Y=this.toString("hex",0,ie).replace(/(.{2})/g,"$1 ").trim(),this.length>ie&&(Y+=" ... "),"<Buffer "+Y+">"},M&&(y.prototype[M]=y.prototype.inspect),y.prototype.compare=function(Y,ie,Te,Ve,at){if(bt(Y,Uint8Array)&&(Y=y.from(Y,Y.offset,Y.byteLength)),!y.isBuffer(Y))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+w(Y));if(ie===void 0&&(ie=0),Te===void 0&&(Te=Y?Y.length:0),Ve===void 0&&(Ve=0),at===void 0&&(at=this.length),ie<0||Te>Y.length||Ve<0||at>this.length)throw new RangeError("out of range index");if(Ve>=at&&ie>=Te)return 0;if(Ve>=at)return-1;if(ie>=Te)return 1;if(ie>>>=0,Te>>>=0,Ve>>>=0,at>>>=0,this===Y)return 0;for(var ft=at-Ve,Ht=Te-ie,Xt=Math.min(ft,Ht),St=this.slice(Ve,at),Vt=Y.slice(ie,Te),er=0;er<Xt;++er)if(St[er]!==Vt[er]){ft=St[er],Ht=Vt[er];break}return ft<Ht?-1:Ht<ft?1:0};function O(ve,Y,ie,Te,Ve){if(ve.length===0)return-1;if(typeof ie=="string"?(Te=ie,ie=0):ie>2147483647?ie=2147483647:ie<-2147483648&&(ie=-2147483648),ie=+ie,At(ie)&&(ie=Ve?0:ve.length-1),ie<0&&(ie=ve.length+ie),ie>=ve.length){if(Ve)return-1;ie=ve.length-1}else if(ie<0)if(Ve)ie=0;else return-1;if(typeof Y=="string"&&(Y=y.from(Y,Te)),y.isBuffer(Y))return Y.length===0?-1:Z(ve,Y,ie,Te,Ve);if(typeof Y=="number")return Y=Y&255,typeof Uint8Array.prototype.indexOf=="function"?Ve?Uint8Array.prototype.indexOf.call(ve,Y,ie):Uint8Array.prototype.lastIndexOf.call(ve,Y,ie):Z(ve,[Y],ie,Te,Ve);throw new TypeError("val must be string, number or Buffer")}function Z(ve,Y,ie,Te,Ve){var at=1,ft=ve.length,Ht=Y.length;if(Te!==void 0&&(Te=String(Te).toLowerCase(),Te==="ucs2"||Te==="ucs-2"||Te==="utf16le"||Te==="utf-16le")){if(ve.length<2||Y.length<2)return-1;at=2,ft/=2,Ht/=2,ie/=2}function Xt(br,or){return at===1?br[or]:br.readUInt16BE(or*at)}var St;if(Ve){var Vt=-1;for(St=ie;St<ft;St++)if(Xt(ve,St)===Xt(Y,Vt===-1?0:St-Vt)){if(Vt===-1&&(Vt=St),St-Vt+1===Ht)return Vt*at}else Vt!==-1&&(St-=St-Vt),Vt=-1}else for(ie+Ht>ft&&(ie=ft-Ht),St=ie;St>=0;St--){for(var er=!0,_r=0;_r<Ht;_r++)if(Xt(ve,St+_r)!==Xt(Y,_r)){er=!1;break}if(er)return St}return-1}y.prototype.includes=function(Y,ie,Te){return this.indexOf(Y,ie,Te)!==-1},y.prototype.indexOf=function(Y,ie,Te){return O(this,Y,ie,Te,!0)},y.prototype.lastIndexOf=function(Y,ie,Te){return O(this,Y,ie,Te,!1)};function K(ve,Y,ie,Te){ie=Number(ie)||0;var Ve=ve.length-ie;Te?(Te=Number(Te),Te>Ve&&(Te=Ve)):Te=Ve;var at=Y.length;Te>at/2&&(Te=at/2);var ft;for(ft=0;ft<Te;++ft){var Ht=parseInt(Y.substr(ft*2,2),16);if(At(Ht))return ft;ve[ie+ft]=Ht}return ft}function $(ve,Y,ie,Te){return nt(it(Y,ve.length-ie),ve,ie,Te)}function oe(ve,Y,ie,Te){return nt(wt(Y),ve,ie,Te)}function te(ve,Y,ie,Te){return nt(Tt(Y),ve,ie,Te)}function V(ve,Y,ie,Te){return nt(_t(Y,ve.length-ie),ve,ie,Te)}y.prototype.write=function(Y,ie,Te,Ve){if(ie===void 0)Ve="utf8",Te=this.length,ie=0;else if(Te===void 0&&typeof ie=="string")Ve=ie,Te=this.length,ie=0;else if(isFinite(ie))ie=ie>>>0,isFinite(Te)?(Te=Te>>>0,Ve===void 0&&(Ve="utf8")):(Ve=Te,Te=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var at=this.length-ie;if((Te===void 0||Te>at)&&(Te=at),Y.length>0&&(Te<0||ie<0)||ie>this.length)throw new RangeError("Attempt to write outside buffer bounds");Ve||(Ve="utf8");for(var ft=!1;;)switch(Ve){case"hex":return K(this,Y,ie,Te);case"utf8":case"utf-8":return $(this,Y,ie,Te);case"ascii":case"latin1":case"binary":return oe(this,Y,ie,Te);case"base64":return te(this,Y,ie,Te);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return V(this,Y,ie,Te);default:if(ft)throw new TypeError("Unknown encoding: "+Ve);Ve=(""+Ve).toLowerCase(),ft=!0}},y.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function ne(ve,Y,ie){return Y===0&&ie===ve.length?k.fromByteArray(ve):k.fromByteArray(ve.slice(Y,ie))}function W(ve,Y,ie){ie=Math.min(ve.length,ie);for(var Te=[],Ve=Y;Ve<ie;){var at=ve[Ve],ft=null,Ht=at>239?4:at>223?3:at>191?2:1;if(Ve+Ht<=ie){var Xt=void 0,St=void 0,Vt=void 0,er=void 0;switch(Ht){case 1:at<128&&(ft=at);break;case 2:Xt=ve[Ve+1],(Xt&192)===128&&(er=(at&31)<<6|Xt&63,er>127&&(ft=er));break;case 3:Xt=ve[Ve+1],St=ve[Ve+2],(Xt&192)===128&&(St&192)===128&&(er=(at&15)<<12|(Xt&63)<<6|St&63,er>2047&&(er<55296||er>57343)&&(ft=er));break;case 4:Xt=ve[Ve+1],St=ve[Ve+2],Vt=ve[Ve+3],(Xt&192)===128&&(St&192)===128&&(Vt&192)===128&&(er=(at&15)<<18|(Xt&63)<<12|(St&63)<<6|Vt&63,er>65535&&er<1114112&&(ft=er))}}ft===null?(ft=65533,Ht=1):ft>65535&&(ft-=65536,Te.push(ft>>>10&1023|55296),ft=56320|ft&1023),Te.push(ft),Ve+=Ht}return ge(Te)}var fe=4096;function ge(ve){var Y=ve.length;if(Y<=fe)return String.fromCharCode.apply(String,ve);for(var ie="",Te=0;Te<Y;)ie+=String.fromCharCode.apply(String,ve.slice(Te,Te+=fe));return ie}function Ce(ve,Y,ie){var Te="";ie=Math.min(ve.length,ie);for(var Ve=Y;Ve<ie;++Ve)Te+=String.fromCharCode(ve[Ve]&127);return Te}function Ne(ve,Y,ie){var Te="";ie=Math.min(ve.length,ie);for(var Ve=Y;Ve<ie;++Ve)Te+=String.fromCharCode(ve[Ve]);return Te}function pe(ve,Y,ie){var Te=ve.length;(!Y||Y<0)&&(Y=0),(!ie||ie<0||ie>Te)&&(ie=Te);for(var Ve="",at=Y;at<ie;++at)Ve+=Ye[ve[at]];return Ve}function me(ve,Y,ie){for(var Te=ve.slice(Y,ie),Ve="",at=0;at<Te.length-1;at+=2)Ve+=String.fromCharCode(Te[at]+Te[at+1]*256);return Ve}y.prototype.slice=function(Y,ie){var Te=this.length;Y=~~Y,ie=ie===void 0?Te:~~ie,Y<0?(Y+=Te,Y<0&&(Y=0)):Y>Te&&(Y=Te),ie<0?(ie+=Te,ie<0&&(ie=0)):ie>Te&&(ie=Te),ie<Y&&(ie=Y);var Ve=this.subarray(Y,ie);return Object.setPrototypeOf(Ve,y.prototype),Ve};function Ie(ve,Y,ie){if(ve%1!==0||ve<0)throw new RangeError("offset is not uint");if(ve+Y>ie)throw new RangeError("Trying to access beyond buffer length")}y.prototype.readUintLE=y.prototype.readUIntLE=function(Y,ie,Te){Y=Y>>>0,ie=ie>>>0,Te||Ie(Y,ie,this.length);for(var Ve=this[Y],at=1,ft=0;++ft<ie&&(at*=256);)Ve+=this[Y+ft]*at;return Ve},y.prototype.readUintBE=y.prototype.readUIntBE=function(Y,ie,Te){Y=Y>>>0,ie=ie>>>0,Te||Ie(Y,ie,this.length);for(var Ve=this[Y+--ie],at=1;ie>0&&(at*=256);)Ve+=this[Y+--ie]*at;return Ve},y.prototype.readUint8=y.prototype.readUInt8=function(Y,ie){return Y=Y>>>0,ie||Ie(Y,1,this.length),this[Y]},y.prototype.readUint16LE=y.prototype.readUInt16LE=function(Y,ie){return Y=Y>>>0,ie||Ie(Y,2,this.length),this[Y]|this[Y+1]<<8},y.prototype.readUint16BE=y.prototype.readUInt16BE=function(Y,ie){return Y=Y>>>0,ie||Ie(Y,2,this.length),this[Y]<<8|this[Y+1]},y.prototype.readUint32LE=y.prototype.readUInt32LE=function(Y,ie){return Y=Y>>>0,ie||Ie(Y,4,this.length),(this[Y]|this[Y+1]<<8|this[Y+2]<<16)+this[Y+3]*16777216},y.prototype.readUint32BE=y.prototype.readUInt32BE=function(Y,ie){return Y=Y>>>0,ie||Ie(Y,4,this.length),this[Y]*16777216+(this[Y+1]<<16|this[Y+2]<<8|this[Y+3])},y.prototype.readBigUInt64LE=je(function(Y){Y=Y>>>0,ke(Y,"offset");var ie=this[Y],Te=this[Y+7];(ie===void 0||Te===void 0)&&Ue(Y,this.length-8);var Ve=ie+this[++Y]*Math.pow(2,8)+this[++Y]*Math.pow(2,16)+this[++Y]*Math.pow(2,24),at=this[++Y]+this[++Y]*Math.pow(2,8)+this[++Y]*Math.pow(2,16)+Te*Math.pow(2,24);return BigInt(Ve)+(BigInt(at)<<BigInt(32))}),y.prototype.readBigUInt64BE=je(function(Y){Y=Y>>>0,ke(Y,"offset");var ie=this[Y],Te=this[Y+7];(ie===void 0||Te===void 0)&&Ue(Y,this.length-8);var Ve=ie*Math.pow(2,24)+this[++Y]*Math.pow(2,16)+this[++Y]*Math.pow(2,8)+this[++Y],at=this[++Y]*Math.pow(2,24)+this[++Y]*Math.pow(2,16)+this[++Y]*Math.pow(2,8)+Te;return(BigInt(Ve)<<BigInt(32))+BigInt(at)}),y.prototype.readIntLE=function(Y,ie,Te){Y=Y>>>0,ie=ie>>>0,Te||Ie(Y,ie,this.length);for(var Ve=this[Y],at=1,ft=0;++ft<ie&&(at*=256);)Ve+=this[Y+ft]*at;return at*=128,Ve>=at&&(Ve-=Math.pow(2,8*ie)),Ve},y.prototype.readIntBE=function(Y,ie,Te){Y=Y>>>0,ie=ie>>>0,Te||Ie(Y,ie,this.length);for(var Ve=ie,at=1,ft=this[Y+--Ve];Ve>0&&(at*=256);)ft+=this[Y+--Ve]*at;return at*=128,ft>=at&&(ft-=Math.pow(2,8*ie)),ft},y.prototype.readInt8=function(Y,ie){return Y=Y>>>0,ie||Ie(Y,1,this.length),this[Y]&128?(255-this[Y]+1)*-1:this[Y]},y.prototype.readInt16LE=function(Y,ie){Y=Y>>>0,ie||Ie(Y,2,this.length);var Te=this[Y]|this[Y+1]<<8;return Te&32768?Te|4294901760:Te},y.prototype.readInt16BE=function(Y,ie){Y=Y>>>0,ie||Ie(Y,2,this.length);var Te=this[Y+1]|this[Y]<<8;return Te&32768?Te|4294901760:Te},y.prototype.readInt32LE=function(Y,ie){return Y=Y>>>0,ie||Ie(Y,4,this.length),this[Y]|this[Y+1]<<8|this[Y+2]<<16|this[Y+3]<<24},y.prototype.readInt32BE=function(Y,ie){return Y=Y>>>0,ie||Ie(Y,4,this.length),this[Y]<<24|this[Y+1]<<16|this[Y+2]<<8|this[Y+3]},y.prototype.readBigInt64LE=je(function(Y){Y=Y>>>0,ke(Y,"offset");var ie=this[Y],Te=this[Y+7];(ie===void 0||Te===void 0)&&Ue(Y,this.length-8);var Ve=this[Y+4]+this[Y+5]*Math.pow(2,8)+this[Y+6]*Math.pow(2,16)+(Te<<24);return(BigInt(Ve)<<BigInt(32))+BigInt(ie+this[++Y]*Math.pow(2,8)+this[++Y]*Math.pow(2,16)+this[++Y]*Math.pow(2,24))}),y.prototype.readBigInt64BE=je(function(Y){Y=Y>>>0,ke(Y,"offset");var ie=this[Y],Te=this[Y+7];(ie===void 0||Te===void 0)&&Ue(Y,this.length-8);var Ve=(ie<<24)+this[++Y]*Math.pow(2,16)+this[++Y]*Math.pow(2,8)+this[++Y];return(BigInt(Ve)<<BigInt(32))+BigInt(this[++Y]*Math.pow(2,24)+this[++Y]*Math.pow(2,16)+this[++Y]*Math.pow(2,8)+Te)}),y.prototype.readFloatLE=function(Y,ie){return Y=Y>>>0,ie||Ie(Y,4,this.length),x.read(this,Y,!0,23,4)},y.prototype.readFloatBE=function(Y,ie){return Y=Y>>>0,ie||Ie(Y,4,this.length),x.read(this,Y,!1,23,4)},y.prototype.readDoubleLE=function(Y,ie){return Y=Y>>>0,ie||Ie(Y,8,this.length),x.read(this,Y,!0,52,8)},y.prototype.readDoubleBE=function(Y,ie){return Y=Y>>>0,ie||Ie(Y,8,this.length),x.read(this,Y,!1,52,8)};function Re(ve,Y,ie,Te,Ve,at){if(!y.isBuffer(ve))throw new TypeError('"buffer" argument must be a Buffer instance');if(Y>Ve||Y<at)throw new RangeError('"value" argument is out of bounds');if(ie+Te>ve.length)throw new RangeError("Index out of range")}y.prototype.writeUintLE=y.prototype.writeUIntLE=function(Y,ie,Te,Ve){if(Y=+Y,ie=ie>>>0,Te=Te>>>0,!Ve){var at=Math.pow(2,8*Te)-1;Re(this,Y,ie,Te,at,0)}var ft=1,Ht=0;for(this[ie]=Y&255;++Ht<Te&&(ft*=256);)this[ie+Ht]=Y/ft&255;return ie+Te},y.prototype.writeUintBE=y.prototype.writeUIntBE=function(Y,ie,Te,Ve){if(Y=+Y,ie=ie>>>0,Te=Te>>>0,!Ve){var at=Math.pow(2,8*Te)-1;Re(this,Y,ie,Te,at,0)}var ft=Te-1,Ht=1;for(this[ie+ft]=Y&255;--ft>=0&&(Ht*=256);)this[ie+ft]=Y/Ht&255;return ie+Te},y.prototype.writeUint8=y.prototype.writeUInt8=function(Y,ie,Te){return Y=+Y,ie=ie>>>0,Te||Re(this,Y,ie,1,255,0),this[ie]=Y&255,ie+1},y.prototype.writeUint16LE=y.prototype.writeUInt16LE=function(Y,ie,Te){return Y=+Y,ie=ie>>>0,Te||Re(this,Y,ie,2,65535,0),this[ie]=Y&255,this[ie+1]=Y>>>8,ie+2},y.prototype.writeUint16BE=y.prototype.writeUInt16BE=function(Y,ie,Te){return Y=+Y,ie=ie>>>0,Te||Re(this,Y,ie,2,65535,0),this[ie]=Y>>>8,this[ie+1]=Y&255,ie+2},y.prototype.writeUint32LE=y.prototype.writeUInt32LE=function(Y,ie,Te){return Y=+Y,ie=ie>>>0,Te||Re(this,Y,ie,4,4294967295,0),this[ie+3]=Y>>>24,this[ie+2]=Y>>>16,this[ie+1]=Y>>>8,this[ie]=Y&255,ie+4},y.prototype.writeUint32BE=y.prototype.writeUInt32BE=function(Y,ie,Te){return Y=+Y,ie=ie>>>0,Te||Re(this,Y,ie,4,4294967295,0),this[ie]=Y>>>24,this[ie+1]=Y>>>16,this[ie+2]=Y>>>8,this[ie+3]=Y&255,ie+4};function ze(ve,Y,ie,Te,Ve){Fe(Y,Te,Ve,ve,ie,7);var at=Number(Y&BigInt(4294967295));ve[ie++]=at,at=at>>8,ve[ie++]=at,at=at>>8,ve[ie++]=at,at=at>>8,ve[ie++]=at;var ft=Number(Y>>BigInt(32)&BigInt(4294967295));return ve[ie++]=ft,ft=ft>>8,ve[ie++]=ft,ft=ft>>8,ve[ie++]=ft,ft=ft>>8,ve[ie++]=ft,ie}function Be(ve,Y,ie,Te,Ve){Fe(Y,Te,Ve,ve,ie,7);var at=Number(Y&BigInt(4294967295));ve[ie+7]=at,at=at>>8,ve[ie+6]=at,at=at>>8,ve[ie+5]=at,at=at>>8,ve[ie+4]=at;var ft=Number(Y>>BigInt(32)&BigInt(4294967295));return ve[ie+3]=ft,ft=ft>>8,ve[ie+2]=ft,ft=ft>>8,ve[ie+1]=ft,ft=ft>>8,ve[ie]=ft,ie+8}y.prototype.writeBigUInt64LE=je(function(Y){var ie=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return ze(this,Y,ie,BigInt(0),BigInt("0xffffffffffffffff"))}),y.prototype.writeBigUInt64BE=je(function(Y){var ie=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Be(this,Y,ie,BigInt(0),BigInt("0xffffffffffffffff"))}),y.prototype.writeIntLE=function(Y,ie,Te,Ve){if(Y=+Y,ie=ie>>>0,!Ve){var at=Math.pow(2,8*Te-1);Re(this,Y,ie,Te,at-1,-at)}var ft=0,Ht=1,Xt=0;for(this[ie]=Y&255;++ft<Te&&(Ht*=256);)Y<0&&Xt===0&&this[ie+ft-1]!==0&&(Xt=1),this[ie+ft]=(Y/Ht>>0)-Xt&255;return ie+Te},y.prototype.writeIntBE=function(Y,ie,Te,Ve){if(Y=+Y,ie=ie>>>0,!Ve){var at=Math.pow(2,8*Te-1);Re(this,Y,ie,Te,at-1,-at)}var ft=Te-1,Ht=1,Xt=0;for(this[ie+ft]=Y&255;--ft>=0&&(Ht*=256);)Y<0&&Xt===0&&this[ie+ft+1]!==0&&(Xt=1),this[ie+ft]=(Y/Ht>>0)-Xt&255;return ie+Te},y.prototype.writeInt8=function(Y,ie,Te){return Y=+Y,ie=ie>>>0,Te||Re(this,Y,ie,1,127,-128),Y<0&&(Y=255+Y+1),this[ie]=Y&255,ie+1},y.prototype.writeInt16LE=function(Y,ie,Te){return Y=+Y,ie=ie>>>0,Te||Re(this,Y,ie,2,32767,-32768),this[ie]=Y&255,this[ie+1]=Y>>>8,ie+2},y.prototype.writeInt16BE=function(Y,ie,Te){return Y=+Y,ie=ie>>>0,Te||Re(this,Y,ie,2,32767,-32768),this[ie]=Y>>>8,this[ie+1]=Y&255,ie+2},y.prototype.writeInt32LE=function(Y,ie,Te){return Y=+Y,ie=ie>>>0,Te||Re(this,Y,ie,4,2147483647,-2147483648),this[ie]=Y&255,this[ie+1]=Y>>>8,this[ie+2]=Y>>>16,this[ie+3]=Y>>>24,ie+4},y.prototype.writeInt32BE=function(Y,ie,Te){return Y=+Y,ie=ie>>>0,Te||Re(this,Y,ie,4,2147483647,-2147483648),Y<0&&(Y=4294967295+Y+1),this[ie]=Y>>>24,this[ie+1]=Y>>>16,this[ie+2]=Y>>>8,this[ie+3]=Y&255,ie+4},y.prototype.writeBigInt64LE=je(function(Y){var ie=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return ze(this,Y,ie,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),y.prototype.writeBigInt64BE=je(function(Y){var ie=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Be(this,Y,ie,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function tt(ve,Y,ie,Te,Ve,at){if(ie+Te>ve.length)throw new RangeError("Index out of range");if(ie<0)throw new RangeError("Index out of range")}function rt(ve,Y,ie,Te,Ve){return Y=+Y,ie=ie>>>0,Ve||tt(ve,Y,ie,4,34028234663852886e22,-34028234663852886e22),x.write(ve,Y,ie,Te,23,4),ie+4}y.prototype.writeFloatLE=function(Y,ie,Te){return rt(this,Y,ie,!0,Te)},y.prototype.writeFloatBE=function(Y,ie,Te){return rt(this,Y,ie,!1,Te)};function ce(ve,Y,ie,Te,Ve){return Y=+Y,ie=ie>>>0,Ve||tt(ve,Y,ie,8,17976931348623157e292,-17976931348623157e292),x.write(ve,Y,ie,Te,52,8),ie+8}y.prototype.writeDoubleLE=function(Y,ie,Te){return ce(this,Y,ie,!0,Te)},y.prototype.writeDoubleBE=function(Y,ie,Te){return ce(this,Y,ie,!1,Te)},y.prototype.copy=function(Y,ie,Te,Ve){if(!y.isBuffer(Y))throw new TypeError("argument should be a Buffer");if(Te||(Te=0),!Ve&&Ve!==0&&(Ve=this.length),ie>=Y.length&&(ie=Y.length),ie||(ie=0),Ve>0&&Ve<Te&&(Ve=Te),Ve===Te||Y.length===0||this.length===0)return 0;if(ie<0)throw new RangeError("targetStart out of bounds");if(Te<0||Te>=this.length)throw new RangeError("Index out of range");if(Ve<0)throw new RangeError("sourceEnd out of bounds");Ve>this.length&&(Ve=this.length),Y.length-ie<Ve-Te&&(Ve=Y.length-ie+Te);var at=Ve-Te;return this===Y&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(ie,Te,Ve):Uint8Array.prototype.set.call(Y,this.subarray(Te,Ve),ie),at},y.prototype.fill=function(Y,ie,Te,Ve){if(typeof Y=="string"){if(typeof ie=="string"?(Ve=ie,ie=0,Te=this.length):typeof Te=="string"&&(Ve=Te,Te=this.length),Ve!==void 0&&typeof Ve!="string")throw new TypeError("encoding must be a string");if(typeof Ve=="string"&&!y.isEncoding(Ve))throw new TypeError("Unknown encoding: "+Ve);if(Y.length===1){var at=Y.charCodeAt(0);(Ve==="utf8"&&at<128||Ve==="latin1")&&(Y=at)}}else typeof Y=="number"?Y=Y&255:typeof Y=="boolean"&&(Y=Number(Y));if(ie<0||this.length<ie||this.length<Te)throw new RangeError("Out of range index");if(Te<=ie)return this;ie=ie>>>0,Te=Te===void 0?this.length:Te>>>0,Y||(Y=0);var ft;if(typeof Y=="number")for(ft=ie;ft<Te;++ft)this[ft]=Y;else{var Ht=y.isBuffer(Y)?Y:y.from(Y,Ve),Xt=Ht.length;if(Xt===0)throw new TypeError('The value "'+Y+'" is invalid for argument "value"');for(ft=0;ft<Te-ie;++ft)this[ft+ie]=Ht[ft%Xt]}return this};var Ee={};function Ae(ve,Y,ie){Ee[ve]=function(Te){function Ve(){var at;return l(this,Ve),at=d(this,Ve),Object.defineProperty(at,"message",{value:Y.apply(at,arguments),writable:!0,configurable:!0}),at.name="".concat(at.name," [").concat(ve,"]"),at.stack,delete at.name,at}return _(Ve,Te),f(Ve,[{key:"code",get:function(){return ve},set:function(ft){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:ft,writable:!0})}},{key:"toString",value:function(){return"".concat(this.name," [").concat(ve,"]: ").concat(this.message)}}])}(ie)}Ae("ERR_BUFFER_OUT_OF_BOUNDS",function(ve){return ve?"".concat(ve," is outside of buffer bounds"):"Attempt to access memory outside buffer bounds"},RangeError),Ae("ERR_INVALID_ARG_TYPE",function(ve,Y){return'The "'.concat(ve,'" argument must be of type number. Received type ').concat(w(Y))},TypeError),Ae("ERR_OUT_OF_RANGE",function(ve,Y,ie){var Te='The value of "'.concat(ve,'" is out of range.'),Ve=ie;return Number.isInteger(ie)&&Math.abs(ie)>Math.pow(2,32)?Ve=Pe(String(ie)):typeof ie=="bigint"&&(Ve=String(ie),(ie>Math.pow(BigInt(2),BigInt(32))||ie<-Math.pow(BigInt(2),BigInt(32)))&&(Ve=Pe(Ve)),Ve+="n"),Te+=" It must be ".concat(Y,". Received ").concat(Ve),Te},RangeError);function Pe(ve){for(var Y="",ie=ve.length,Te=ve[0]==="-"?1:0;ie>=Te+4;ie-=3)Y="_".concat(ve.slice(ie-3,ie)).concat(Y);return"".concat(ve.slice(0,ie)).concat(Y)}function He(ve,Y,ie){ke(Y,"offset"),(ve[Y]===void 0||ve[Y+ie]===void 0)&&Ue(Y,ve.length-(ie+1))}function Fe(ve,Y,ie,Te,Ve,at){if(ve>ie||ve<Y){var ft=typeof Y=="bigint"?"n":"",Ht;throw at>3?Y===0||Y===BigInt(0)?Ht=">= 0".concat(ft," and < 2").concat(ft," ** ").concat((at+1)*8).concat(ft):Ht=">= -(2".concat(ft," ** ").concat((at+1)*8-1).concat(ft,") and < 2 ** ")+"".concat((at+1)*8-1).concat(ft):Ht=">= ".concat(Y).concat(ft," and <= ").concat(ie).concat(ft),new Ee.ERR_OUT_OF_RANGE("value",Ht,ve)}He(Te,Ve,at)}function ke(ve,Y){if(typeof ve!="number")throw new Ee.ERR_INVALID_ARG_TYPE(Y,"number",ve)}function Ue(ve,Y,ie){throw Math.floor(ve)!==ve?(ke(ve,ie),new Ee.ERR_OUT_OF_RANGE(ie||"offset","an integer",ve)):Y<0?new Ee.ERR_BUFFER_OUT_OF_BOUNDS:new Ee.ERR_OUT_OF_RANGE(ie||"offset",">= ".concat(ie?1:0," and <= ").concat(Y),ve)}var Ge=/[^+/0-9A-Za-z-_]/g;function lt(ve){if(ve=ve.split("=")[0],ve=ve.trim().replace(Ge,""),ve.length<2)return"";for(;ve.length%4!==0;)ve=ve+"=";return ve}function it(ve,Y){Y=Y||1/0;for(var ie,Te=ve.length,Ve=null,at=[],ft=0;ft<Te;++ft){if(ie=ve.charCodeAt(ft),ie>55295&&ie<57344){if(!Ve){if(ie>56319){(Y-=3)>-1&&at.push(239,191,189);continue}else if(ft+1===Te){(Y-=3)>-1&&at.push(239,191,189);continue}Ve=ie;continue}if(ie<56320){(Y-=3)>-1&&at.push(239,191,189),Ve=ie;continue}ie=(Ve-55296<<10|ie-56320)+65536}else Ve&&(Y-=3)>-1&&at.push(239,191,189);if(Ve=null,ie<128){if((Y-=1)<0)break;at.push(ie)}else if(ie<2048){if((Y-=2)<0)break;at.push(ie>>6|192,ie&63|128)}else if(ie<65536){if((Y-=3)<0)break;at.push(ie>>12|224,ie>>6&63|128,ie&63|128)}else if(ie<1114112){if((Y-=4)<0)break;at.push(ie>>18|240,ie>>12&63|128,ie>>6&63|128,ie&63|128)}else throw new Error("Invalid code point")}return at}function wt(ve){for(var Y=[],ie=0;ie<ve.length;++ie)Y.push(ve.charCodeAt(ie)&255);return Y}function _t(ve,Y){for(var ie,Te,Ve,at=[],ft=0;ft<ve.length&&!((Y-=2)<0);++ft)ie=ve.charCodeAt(ft),Te=ie>>8,Ve=ie%256,at.push(Ve),at.push(Te);return at}function Tt(ve){return k.toByteArray(lt(ve))}function nt(ve,Y,ie,Te){var Ve;for(Ve=0;Ve<Te&&!(Ve+ie>=Y.length||Ve>=ve.length);++Ve)Y[Ve+ie]=ve[Ve];return Ve}function bt(ve,Y){return ve instanceof Y||ve!=null&&ve.constructor!=null&&ve.constructor.name!=null&&ve.constructor.name===Y.name}function At(ve){return ve!==ve}var Ye=function(){for(var ve="0123456789abcdef",Y=new Array(256),ie=0;ie<16;++ie)for(var Te=ie*16,Ve=0;Ve<16;++Ve)Y[Te+Ve]=ve[ie]+ve[Ve];return Y}();function je(ve){return typeof BigInt>"u"?$e:ve}function $e(){throw new Error("BigInt not supported")}},9216:function(i){"use strict";i.exports=l,i.exports.isMobile=l,i.exports.default=l;var a=/(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,o=/CrOS/,s=/android|ipad|playbook|silk/i;function l(u){u||(u={});var f=u.ua;if(!f&&typeof navigator<"u"&&(f=navigator.userAgent),f&&f.headers&&typeof f.headers["user-agent"]=="string"&&(f=f.headers["user-agent"]),typeof f!="string")return!1;var c=a.test(f)&&!o.test(f)||!!u.tablet&&s.test(f);return!c&&u.tablet&&u.featureDetect&&navigator&&navigator.maxTouchPoints>1&&f.indexOf("Macintosh")!==-1&&f.indexOf("Safari")!==-1&&(c=!0),c}},6296:function(i,a,o){"use strict";i.exports=h;var s=o(7261),l=o(9977),u=o(4192);function f(d,v){this._controllerNames=Object.keys(d),this._controllerList=this._controllerNames.map(function(m){return d[m]}),this._mode=v,this._active=d[v],this._active||(this._mode="turntable",this._active=d.turntable),this.modes=this._controllerNames,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}var c=f.prototype;c.flush=function(d){for(var v=this._controllerList,m=0;m<v.length;++m)v[m].flush(d)},c.idle=function(d){for(var v=this._controllerList,m=0;m<v.length;++m)v[m].idle(d)},c.lookAt=function(d,v,m,b){for(var g=this._controllerList,_=0;_<g.length;++_)g[_].lookAt(d,v,m,b)},c.rotate=function(d,v,m,b){for(var g=this._controllerList,_=0;_<g.length;++_)g[_].rotate(d,v,m,b)},c.pan=function(d,v,m,b){for(var g=this._controllerList,_=0;_<g.length;++_)g[_].pan(d,v,m,b)},c.translate=function(d,v,m,b){for(var g=this._controllerList,_=0;_<g.length;++_)g[_].translate(d,v,m,b)},c.setMatrix=function(d,v){for(var m=this._controllerList,b=0;b<m.length;++b)m[b].setMatrix(d,v)},c.setDistanceLimits=function(d,v){for(var m=this._controllerList,b=0;b<m.length;++b)m[b].setDistanceLimits(d,v)},c.setDistance=function(d,v){for(var m=this._controllerList,b=0;b<m.length;++b)m[b].setDistance(d,v)},c.recalcMatrix=function(d){this._active.recalcMatrix(d)},c.getDistance=function(d){return this._active.getDistance(d)},c.getDistanceLimits=function(d){return this._active.getDistanceLimits(d)},c.lastT=function(){return this._active.lastT()},c.setMode=function(d){if(d!==this._mode){var v=this._controllerNames.indexOf(d);if(!(v<0)){var m=this._active,b=this._controllerList[v],g=Math.max(m.lastT(),b.lastT());m.recalcMatrix(g),b.setMatrix(g,m.computedMatrix),this._active=b,this._mode=d,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}}},c.getMode=function(){return this._mode};function h(d){d=d||{};var v=d.eye||[0,0,1],m=d.center||[0,0,0],b=d.up||[0,1,0],g=d.distanceLimits||[0,1/0],_=d.mode||"turntable",T=s(),w=l(),k=u();return T.setDistanceLimits(g[0],g[1]),T.lookAt(0,v,m,b),w.setDistanceLimits(g[0],g[1]),w.lookAt(0,v,m,b),k.setDistanceLimits(g[0],g[1]),k.lookAt(0,v,m,b),new f({turntable:T,orbit:w,matrix:k},_)}},7169:function(i,a,o){"use strict";var s=typeof WeakMap>"u"?o(1538):WeakMap,l=o(2762),u=o(8116),f=new s;function c(h){var d=f.get(h),v=d&&(d._triangleBuffer.handle||d._triangleBuffer.buffer);if(!v||!h.isBuffer(v)){var m=l(h,new Float32Array([-1,-1,-1,4,4,-1]));d=u(h,[{buffer:m,type:h.FLOAT,size:2}]),d._triangleBuffer=m,f.set(h,d)}d.bind(),h.drawArrays(h.TRIANGLES,0,3),d.unbind()}i.exports=c},1085:function(i,a,o){var s=o(1371);i.exports=l;function l(u,f,c){f=typeof f=="number"?f:1,c=c||": ";var h=u.split(/\r?\n/),d=String(h.length+f-1).length;return h.map(function(v,m){var b=m+f,g=String(b).length,_=s(b,d-g);return _+c+v}).join(`
|
|
`)}},3952:function(i,a,o){"use strict";i.exports=u;var s=o(3250);function l(f,c){for(var h=new Array(c+1),d=0;d<f.length;++d)h[d]=f[d];for(var d=0;d<=f.length;++d){for(var v=f.length;v<=c;++v){for(var m=new Array(c),b=0;b<c;++b)m[b]=Math.pow(v+1-d,b);h[v]=m}var g=s.apply(void 0,h);if(g)return!0}return!1}function u(f){var c=f.length;if(c===0)return[];if(c===1)return[0];for(var h=f[0].length,d=[f[0]],v=[0],m=1;m<c;++m){if(d.push(f[m]),!l(d,h)){d.pop();continue}if(v.push(m),v.length===h+1)return v}return v}},5995:function(i,a,o){"use strict";i.exports=u;var s=o(7642),l=o(6037);function u(f,c){return s(c).filter(function(h){for(var d=new Array(h.length),v=0;v<h.length;++v)d[v]=c[h[v]];return l(d)*f<1})}},3502:function(i,a,o){i.exports=u;var s=o(5995),l=o(9127);function u(f,c){return l(s(f,c))}},6468:function(i){i.exports=function(o){return atob(o)}},2642:function(i,a,o){"use strict";i.exports=u;var s=o(727);function l(f){for(var c=0,h=0;h<f.length;++h)c+=f[h];return c}function u(f,c){for(var h=c.length,d=new Array(h+1),v=0;v<h;++v){for(var m=new Array(h+1),b=0;b<=h;++b)m[b]=f[b][v];d[v]=m}d[h]=new Array(h+1);for(var v=0;v<=h;++v)d[h][v]=1;for(var g=new Array(h+1),v=0;v<h;++v)g[v]=c[v];g[h]=1;var _=s(d,g),T=l(_[h+1]);T===0&&(T=1);for(var w=new Array(h+1),v=0;v<=h;++v)w[v]=l(_[v])/T;return w}},7507:function(i,a){"use strict";a.byteLength=d,a.toByteArray=m,a.fromByteArray=_;for(var o=[],s=[],l=typeof Uint8Array<"u"?Uint8Array:Array,u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",f=0,c=u.length;f<c;++f)o[f]=u[f],s[u.charCodeAt(f)]=f;s["-".charCodeAt(0)]=62,s["_".charCodeAt(0)]=63;function h(T){var w=T.length;if(w%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var k=T.indexOf("=");k===-1&&(k=w);var x=k===w?0:4-k%4;return[k,x]}function d(T){var w=h(T),k=w[0],x=w[1];return(k+x)*3/4-x}function v(T,w,k){return(w+k)*3/4-k}function m(T){var w,k=h(T),x=k[0],M=k[1],A=new l(v(T,x,M)),p=0,S=M>0?x-4:x,y;for(y=0;y<S;y+=4)w=s[T.charCodeAt(y)]<<18|s[T.charCodeAt(y+1)]<<12|s[T.charCodeAt(y+2)]<<6|s[T.charCodeAt(y+3)],A[p++]=w>>16&255,A[p++]=w>>8&255,A[p++]=w&255;return M===2&&(w=s[T.charCodeAt(y)]<<2|s[T.charCodeAt(y+1)]>>4,A[p++]=w&255),M===1&&(w=s[T.charCodeAt(y)]<<10|s[T.charCodeAt(y+1)]<<4|s[T.charCodeAt(y+2)]>>2,A[p++]=w>>8&255,A[p++]=w&255),A}function b(T){return o[T>>18&63]+o[T>>12&63]+o[T>>6&63]+o[T&63]}function g(T,w,k){for(var x,M=[],A=w;A<k;A+=3)x=(T[A]<<16&16711680)+(T[A+1]<<8&65280)+(T[A+2]&255),M.push(b(x));return M.join("")}function _(T){for(var w,k=T.length,x=k%3,M=[],A=16383,p=0,S=k-x;p<S;p+=A)M.push(g(T,p,p+A>S?S:p+A));return x===1?(w=T[k-1],M.push(o[w>>2]+o[w<<4&63]+"==")):x===2&&(w=(T[k-2]<<8)+T[k-1],M.push(o[w>>10]+o[w>>4&63]+o[w<<2&63]+"=")),M.join("")}},3865:function(i,a,o){"use strict";var s=o(869);i.exports=l;function l(u,f){return s(u[0].mul(f[1]).add(f[0].mul(u[1])),u[1].mul(f[1]))}},1318:function(i){"use strict";i.exports=a;function a(o,s){return o[0].mul(s[1]).cmp(s[0].mul(o[1]))}},8697:function(i,a,o){"use strict";var s=o(869);i.exports=l;function l(u,f){return s(u[0].mul(f[1]),u[1].mul(f[0]))}},7842:function(i,a,o){"use strict";var s=o(6330),l=o(1533),u=o(2651),f=o(4387),c=o(869),h=o(8697);i.exports=d;function d(v,m){if(s(v))return m?h(v,d(m)):[v[0].clone(),v[1].clone()];var b=0,g,_;if(l(v))g=v.clone();else if(typeof v=="string")g=f(v);else{if(v===0)return[u(0),u(1)];if(v===Math.floor(v))g=u(v);else{for(;v!==Math.floor(v);)v=v*Math.pow(2,256),b-=256;g=u(v)}}if(s(m))g.mul(m[1]),_=m[0].clone();else if(l(m))_=m.clone();else if(typeof m=="string")_=f(m);else if(!m)_=u(1);else if(m===Math.floor(m))_=u(m);else{for(;m!==Math.floor(m);)m=m*Math.pow(2,256),b+=256;_=u(m)}return b>0?g=g.ushln(b):b<0&&(_=_.ushln(-b)),c(g,_)}},6330:function(i,a,o){"use strict";var s=o(1533);i.exports=l;function l(u){return Array.isArray(u)&&u.length===2&&s(u[0])&&s(u[1])}},5716:function(i,a,o){"use strict";var s=o(6859);i.exports=l;function l(u){return u.cmp(new s(0))}},1369:function(i,a,o){"use strict";var s=o(5716);i.exports=l;function l(u){var f=u.length,c=u.words,h=0;if(f===1)h=c[0];else if(f===2)h=c[0]+c[1]*67108864;else for(var d=0;d<f;d++){var v=c[d];h+=v*Math.pow(67108864,d)}return s(u)*h}},4025:function(i,a,o){"use strict";var s=o(2361),l=o(8828).countTrailingZeros;i.exports=u;function u(f){var c=l(s.lo(f));if(c<32)return c;var h=l(s.hi(f));return h>20?52:h+32}},1533:function(i,a,o){"use strict";var s=o(6859);i.exports=l;function l(u){return u&&typeof u=="object"&&Boolean(u.words)}},2651:function(i,a,o){"use strict";var s=o(6859),l=o(2361);i.exports=u;function u(f){var c=l.exponent(f);return c<52?new s(f):new s(f*Math.pow(2,52-c)).ushln(c-52)}},869:function(i,a,o){"use strict";var s=o(2651),l=o(5716);i.exports=u;function u(f,c){var h=l(f),d=l(c);if(h===0)return[s(0),s(1)];if(d===0)return[s(0),s(0)];d<0&&(f=f.neg(),c=c.neg());var v=f.gcd(c);return v.cmpn(1)?[f.div(v),c.div(v)]:[f,c]}},4387:function(i,a,o){"use strict";var s=o(6859);i.exports=l;function l(u){return new s(u)}},6504:function(i,a,o){"use strict";var s=o(869);i.exports=l;function l(u,f){return s(u[0].mul(f[0]),u[1].mul(f[1]))}},7721:function(i,a,o){"use strict";var s=o(5716);i.exports=l;function l(u){return s(u[0])*s(u[1])}},5572:function(i,a,o){"use strict";var s=o(869);i.exports=l;function l(u,f){return s(u[0].mul(f[1]).sub(u[1].mul(f[0])),u[1].mul(f[1]))}},946:function(i,a,o){"use strict";var s=o(1369),l=o(4025);i.exports=u;function u(f){var c=f[0],h=f[1];if(c.cmpn(0)===0)return 0;var d=c.abs().divmod(h.abs()),v=d.div,m=s(v),b=d.mod,g=c.negative!==h.negative?-1:1;if(b.cmpn(0)===0)return g*m;if(m){var _=l(m)+4,T=s(b.ushln(_).divRound(h));return g*(m+T*Math.pow(2,-_))}else{var w=h.bitLength()-b.bitLength()+53,T=s(b.ushln(w).divRound(h));return w<1023?g*T*Math.pow(2,-w):(T*=Math.pow(2,-1023),g*T*Math.pow(2,1023-w))}}},2478:function(i){"use strict";function a(c,h,d,v,m){for(var b=m+1;v<=m;){var g=v+m>>>1,_=c[g],T=d!==void 0?d(_,h):_-h;T>=0?(b=g,m=g-1):v=g+1}return b}function o(c,h,d,v,m){for(var b=m+1;v<=m;){var g=v+m>>>1,_=c[g],T=d!==void 0?d(_,h):_-h;T>0?(b=g,m=g-1):v=g+1}return b}function s(c,h,d,v,m){for(var b=v-1;v<=m;){var g=v+m>>>1,_=c[g],T=d!==void 0?d(_,h):_-h;T<0?(b=g,v=g+1):m=g-1}return b}function l(c,h,d,v,m){for(var b=v-1;v<=m;){var g=v+m>>>1,_=c[g],T=d!==void 0?d(_,h):_-h;T<=0?(b=g,v=g+1):m=g-1}return b}function u(c,h,d,v,m){for(;v<=m;){var b=v+m>>>1,g=c[b],_=d!==void 0?d(g,h):g-h;if(_===0)return b;_<=0?v=b+1:m=b-1}return-1}function f(c,h,d,v,m,b){return typeof d=="function"?b(c,h,d,v===void 0?0:v|0,m===void 0?c.length-1:m|0):b(c,h,void 0,d===void 0?0:d|0,v===void 0?c.length-1:v|0)}i.exports={ge:function(c,h,d,v,m){return f(c,h,d,v,m,a)},gt:function(c,h,d,v,m){return f(c,h,d,v,m,o)},lt:function(c,h,d,v,m){return f(c,h,d,v,m,s)},le:function(c,h,d,v,m){return f(c,h,d,v,m,l)},eq:function(c,h,d,v,m){return f(c,h,d,v,m,u)}}},8828:function(i,a){"use strict";var o=32;a.INT_BITS=o,a.INT_MAX=2147483647,a.INT_MIN=-1<<o-1,a.sign=function(u){return(u>0)-(u<0)},a.abs=function(u){var f=u>>o-1;return(u^f)-f},a.min=function(u,f){return f^(u^f)&-(u<f)},a.max=function(u,f){return u^(u^f)&-(u<f)},a.isPow2=function(u){return!(u&u-1)&&!!u},a.log2=function(u){var f,c;return f=(u>65535)<<4,u>>>=f,c=(u>255)<<3,u>>>=c,f|=c,c=(u>15)<<2,u>>>=c,f|=c,c=(u>3)<<1,u>>>=c,f|=c,f|u>>1},a.log10=function(u){return u>=1e9?9:u>=1e8?8:u>=1e7?7:u>=1e6?6:u>=1e5?5:u>=1e4?4:u>=1e3?3:u>=100?2:u>=10?1:0},a.popCount=function(u){return u=u-(u>>>1&1431655765),u=(u&858993459)+(u>>>2&858993459),(u+(u>>>4)&252645135)*16843009>>>24};function s(u){var f=32;return u&=-u,u&&f--,u&65535&&(f-=16),u&16711935&&(f-=8),u&252645135&&(f-=4),u&858993459&&(f-=2),u&1431655765&&(f-=1),f}a.countTrailingZeros=s,a.nextPow2=function(u){return u+=u===0,--u,u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u+1},a.prevPow2=function(u){return u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u-(u>>>1)},a.parity=function(u){return u^=u>>>16,u^=u>>>8,u^=u>>>4,u&=15,27030>>>u&1};var l=new Array(256);(function(u){for(var f=0;f<256;++f){var c=f,h=f,d=7;for(c>>>=1;c;c>>>=1)h<<=1,h|=c&1,--d;u[f]=h<<d&255}})(l),a.reverse=function(u){return l[u&255]<<24|l[u>>>8&255]<<16|l[u>>>16&255]<<8|l[u>>>24&255]},a.interleave2=function(u,f){return u&=65535,u=(u|u<<8)&16711935,u=(u|u<<4)&252645135,u=(u|u<<2)&858993459,u=(u|u<<1)&1431655765,f&=65535,f=(f|f<<8)&16711935,f=(f|f<<4)&252645135,f=(f|f<<2)&858993459,f=(f|f<<1)&1431655765,u|f<<1},a.deinterleave2=function(u,f){return u=u>>>f&1431655765,u=(u|u>>>1)&858993459,u=(u|u>>>2)&252645135,u=(u|u>>>4)&16711935,u=(u|u>>>16)&65535,u<<16>>16},a.interleave3=function(u,f,c){return u&=1023,u=(u|u<<16)&4278190335,u=(u|u<<8)&251719695,u=(u|u<<4)&3272356035,u=(u|u<<2)&1227133513,f&=1023,f=(f|f<<16)&4278190335,f=(f|f<<8)&251719695,f=(f|f<<4)&3272356035,f=(f|f<<2)&1227133513,u|=f<<1,c&=1023,c=(c|c<<16)&4278190335,c=(c|c<<8)&251719695,c=(c|c<<4)&3272356035,c=(c|c<<2)&1227133513,u|c<<2},a.deinterleave3=function(u,f){return u=u>>>f&1227133513,u=(u|u>>>2)&3272356035,u=(u|u>>>4)&251719695,u=(u|u>>>8)&4278190335,u=(u|u>>>16)&1023,u<<22>>22},a.nextCombination=function(u){var f=u|u-1;return f+1|(~f&-~f)-1>>>s(u)+1}},6859:function(i,a,o){i=o.nmd(i),function(s,l){"use strict";function u(P,D){if(!P)throw new Error(D||"Assertion failed")}function f(P,D){P.super_=D;var q=function(){};q.prototype=D.prototype,P.prototype=new q,P.prototype.constructor=P}function c(P,D,q){if(c.isBN(P))return P;this.negative=0,this.words=null,this.length=0,this.red=null,P!==null&&((D==="le"||D==="be")&&(q=D,D=10),this._init(P||0,D||10,q||"be"))}typeof s=="object"?s.exports=c:l.BN=c,c.BN=c,c.wordSize=26;var h;try{typeof window<"u"&&typeof window.Buffer<"u"?h=window.Buffer:h=o(7790).Buffer}catch{}c.isBN=function(D){return D instanceof c?!0:D!==null&&typeof D=="object"&&D.constructor.wordSize===c.wordSize&&Array.isArray(D.words)},c.max=function(D,q){return D.cmp(q)>0?D:q},c.min=function(D,q){return D.cmp(q)<0?D:q},c.prototype._init=function(D,q,N){if(typeof D=="number")return this._initNumber(D,q,N);if(typeof D=="object")return this._initArray(D,q,N);q==="hex"&&(q=16),u(q===(q|0)&&q>=2&&q<=36),D=D.toString().replace(/\s+/g,"");var U=0;D[0]==="-"&&(U++,this.negative=1),U<D.length&&(q===16?this._parseHex(D,U,N):(this._parseBase(D,q,U),N==="le"&&this._initArray(this.toArray(),q,N)))},c.prototype._initNumber=function(D,q,N){D<0&&(this.negative=1,D=-D),D<67108864?(this.words=[D&67108863],this.length=1):D<4503599627370496?(this.words=[D&67108863,D/67108864&67108863],this.length=2):(u(D<9007199254740992),this.words=[D&67108863,D/67108864&67108863,1],this.length=3),N==="le"&&this._initArray(this.toArray(),q,N)},c.prototype._initArray=function(D,q,N){if(u(typeof D.length=="number"),D.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(D.length/3),this.words=new Array(this.length);for(var U=0;U<this.length;U++)this.words[U]=0;var G,ee,Q=0;if(N==="be")for(U=D.length-1,G=0;U>=0;U-=3)ee=D[U]|D[U-1]<<8|D[U-2]<<16,this.words[G]|=ee<<Q&67108863,this.words[G+1]=ee>>>26-Q&67108863,Q+=24,Q>=26&&(Q-=26,G++);else if(N==="le")for(U=0,G=0;U<D.length;U+=3)ee=D[U]|D[U+1]<<8|D[U+2]<<16,this.words[G]|=ee<<Q&67108863,this.words[G+1]=ee>>>26-Q&67108863,Q+=24,Q>=26&&(Q-=26,G++);return this.strip()};function d(P,D){var q=P.charCodeAt(D);return q>=65&&q<=70?q-55:q>=97&&q<=102?q-87:q-48&15}function v(P,D,q){var N=d(P,q);return q-1>=D&&(N|=d(P,q-1)<<4),N}c.prototype._parseHex=function(D,q,N){this.length=Math.ceil((D.length-q)/6),this.words=new Array(this.length);for(var U=0;U<this.length;U++)this.words[U]=0;var G=0,ee=0,Q;if(N==="be")for(U=D.length-1;U>=q;U-=2)Q=v(D,q,U)<<G,this.words[ee]|=Q&67108863,G>=18?(G-=18,ee+=1,this.words[ee]|=Q>>>26):G+=8;else{var j=D.length-q;for(U=j%2===0?q+1:q;U<D.length;U+=2)Q=v(D,q,U)<<G,this.words[ee]|=Q&67108863,G>=18?(G-=18,ee+=1,this.words[ee]|=Q>>>26):G+=8}this.strip()};function m(P,D,q,N){for(var U=0,G=Math.min(P.length,q),ee=D;ee<G;ee++){var Q=P.charCodeAt(ee)-48;U*=N,Q>=49?U+=Q-49+10:Q>=17?U+=Q-17+10:U+=Q}return U}c.prototype._parseBase=function(D,q,N){this.words=[0],this.length=1;for(var U=0,G=1;G<=67108863;G*=q)U++;U--,G=G/q|0;for(var ee=D.length-N,Q=ee%U,j=Math.min(ee,ee-Q)+N,O=0,Z=N;Z<j;Z+=U)O=m(D,Z,Z+U,q),this.imuln(G),this.words[0]+O<67108864?this.words[0]+=O:this._iaddn(O);if(Q!==0){var K=1;for(O=m(D,Z,D.length,q),Z=0;Z<Q;Z++)K*=q;this.imuln(K),this.words[0]+O<67108864?this.words[0]+=O:this._iaddn(O)}this.strip()},c.prototype.copy=function(D){D.words=new Array(this.length);for(var q=0;q<this.length;q++)D.words[q]=this.words[q];D.length=this.length,D.negative=this.negative,D.red=this.red},c.prototype.clone=function(){var D=new c(null);return this.copy(D),D},c.prototype._expand=function(D){for(;this.length<D;)this.words[this.length++]=0;return this},c.prototype.strip=function(){for(;this.length>1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},c.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},c.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var b=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],g=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],_=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];c.prototype.toString=function(D,q){D=D||10,q=q|0||1;var N;if(D===16||D==="hex"){N="";for(var U=0,G=0,ee=0;ee<this.length;ee++){var Q=this.words[ee],j=((Q<<U|G)&16777215).toString(16);G=Q>>>24-U&16777215,G!==0||ee!==this.length-1?N=b[6-j.length]+j+N:N=j+N,U+=2,U>=26&&(U-=26,ee--)}for(G!==0&&(N=G.toString(16)+N);N.length%q!==0;)N="0"+N;return this.negative!==0&&(N="-"+N),N}if(D===(D|0)&&D>=2&&D<=36){var O=g[D],Z=_[D];N="";var K=this.clone();for(K.negative=0;!K.isZero();){var $=K.modn(Z).toString(D);K=K.idivn(Z),K.isZero()?N=$+N:N=b[O-$.length]+$+N}for(this.isZero()&&(N="0"+N);N.length%q!==0;)N="0"+N;return this.negative!==0&&(N="-"+N),N}u(!1,"Base should be between 2 and 36")},c.prototype.toNumber=function(){var D=this.words[0];return this.length===2?D+=this.words[1]*67108864:this.length===3&&this.words[2]===1?D+=4503599627370496+this.words[1]*67108864:this.length>2&&u(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-D:D},c.prototype.toJSON=function(){return this.toString(16)},c.prototype.toBuffer=function(D,q){return u(typeof h<"u"),this.toArrayLike(h,D,q)},c.prototype.toArray=function(D,q){return this.toArrayLike(Array,D,q)},c.prototype.toArrayLike=function(D,q,N){var U=this.byteLength(),G=N||Math.max(1,U);u(U<=G,"byte array longer than desired length"),u(G>0,"Requested array length <= 0"),this.strip();var ee=q==="le",Q=new D(G),j,O,Z=this.clone();if(ee){for(O=0;!Z.isZero();O++)j=Z.andln(255),Z.iushrn(8),Q[O]=j;for(;O<G;O++)Q[O]=0}else{for(O=0;O<G-U;O++)Q[O]=0;for(O=0;!Z.isZero();O++)j=Z.andln(255),Z.iushrn(8),Q[G-O-1]=j}return Q},Math.clz32?c.prototype._countBits=function(D){return 32-Math.clz32(D)}:c.prototype._countBits=function(D){var q=D,N=0;return q>=4096&&(N+=13,q>>>=13),q>=64&&(N+=7,q>>>=7),q>=8&&(N+=4,q>>>=4),q>=2&&(N+=2,q>>>=2),N+q},c.prototype._zeroBits=function(D){if(D===0)return 26;var q=D,N=0;return q&8191||(N+=13,q>>>=13),q&127||(N+=7,q>>>=7),q&15||(N+=4,q>>>=4),q&3||(N+=2,q>>>=2),q&1||N++,N},c.prototype.bitLength=function(){var D=this.words[this.length-1],q=this._countBits(D);return(this.length-1)*26+q};function T(P){for(var D=new Array(P.bitLength()),q=0;q<D.length;q++){var N=q/26|0,U=q%26;D[q]=(P.words[N]&1<<U)>>>U}return D}c.prototype.zeroBits=function(){if(this.isZero())return 0;for(var D=0,q=0;q<this.length;q++){var N=this._zeroBits(this.words[q]);if(D+=N,N!==26)break}return D},c.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},c.prototype.toTwos=function(D){return this.negative!==0?this.abs().inotn(D).iaddn(1):this.clone()},c.prototype.fromTwos=function(D){return this.testn(D-1)?this.notn(D).iaddn(1).ineg():this.clone()},c.prototype.isNeg=function(){return this.negative!==0},c.prototype.neg=function(){return this.clone().ineg()},c.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},c.prototype.iuor=function(D){for(;this.length<D.length;)this.words[this.length++]=0;for(var q=0;q<D.length;q++)this.words[q]=this.words[q]|D.words[q];return this.strip()},c.prototype.ior=function(D){return u((this.negative|D.negative)===0),this.iuor(D)},c.prototype.or=function(D){return this.length>D.length?this.clone().ior(D):D.clone().ior(this)},c.prototype.uor=function(D){return this.length>D.length?this.clone().iuor(D):D.clone().iuor(this)},c.prototype.iuand=function(D){var q;this.length>D.length?q=D:q=this;for(var N=0;N<q.length;N++)this.words[N]=this.words[N]&D.words[N];return this.length=q.length,this.strip()},c.prototype.iand=function(D){return u((this.negative|D.negative)===0),this.iuand(D)},c.prototype.and=function(D){return this.length>D.length?this.clone().iand(D):D.clone().iand(this)},c.prototype.uand=function(D){return this.length>D.length?this.clone().iuand(D):D.clone().iuand(this)},c.prototype.iuxor=function(D){var q,N;this.length>D.length?(q=this,N=D):(q=D,N=this);for(var U=0;U<N.length;U++)this.words[U]=q.words[U]^N.words[U];if(this!==q)for(;U<q.length;U++)this.words[U]=q.words[U];return this.length=q.length,this.strip()},c.prototype.ixor=function(D){return u((this.negative|D.negative)===0),this.iuxor(D)},c.prototype.xor=function(D){return this.length>D.length?this.clone().ixor(D):D.clone().ixor(this)},c.prototype.uxor=function(D){return this.length>D.length?this.clone().iuxor(D):D.clone().iuxor(this)},c.prototype.inotn=function(D){u(typeof D=="number"&&D>=0);var q=Math.ceil(D/26)|0,N=D%26;this._expand(q),N>0&&q--;for(var U=0;U<q;U++)this.words[U]=~this.words[U]&67108863;return N>0&&(this.words[U]=~this.words[U]&67108863>>26-N),this.strip()},c.prototype.notn=function(D){return this.clone().inotn(D)},c.prototype.setn=function(D,q){u(typeof D=="number"&&D>=0);var N=D/26|0,U=D%26;return this._expand(N+1),q?this.words[N]=this.words[N]|1<<U:this.words[N]=this.words[N]&~(1<<U),this.strip()},c.prototype.iadd=function(D){var q;if(this.negative!==0&&D.negative===0)return this.negative=0,q=this.isub(D),this.negative^=1,this._normSign();if(this.negative===0&&D.negative!==0)return D.negative=0,q=this.isub(D),D.negative=1,q._normSign();var N,U;this.length>D.length?(N=this,U=D):(N=D,U=this);for(var G=0,ee=0;ee<U.length;ee++)q=(N.words[ee]|0)+(U.words[ee]|0)+G,this.words[ee]=q&67108863,G=q>>>26;for(;G!==0&&ee<N.length;ee++)q=(N.words[ee]|0)+G,this.words[ee]=q&67108863,G=q>>>26;if(this.length=N.length,G!==0)this.words[this.length]=G,this.length++;else if(N!==this)for(;ee<N.length;ee++)this.words[ee]=N.words[ee];return this},c.prototype.add=function(D){var q;return D.negative!==0&&this.negative===0?(D.negative=0,q=this.sub(D),D.negative^=1,q):D.negative===0&&this.negative!==0?(this.negative=0,q=D.sub(this),this.negative=1,q):this.length>D.length?this.clone().iadd(D):D.clone().iadd(this)},c.prototype.isub=function(D){if(D.negative!==0){D.negative=0;var q=this.iadd(D);return D.negative=1,q._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(D),this.negative=1,this._normSign();var N=this.cmp(D);if(N===0)return this.negative=0,this.length=1,this.words[0]=0,this;var U,G;N>0?(U=this,G=D):(U=D,G=this);for(var ee=0,Q=0;Q<G.length;Q++)q=(U.words[Q]|0)-(G.words[Q]|0)+ee,ee=q>>26,this.words[Q]=q&67108863;for(;ee!==0&&Q<U.length;Q++)q=(U.words[Q]|0)+ee,ee=q>>26,this.words[Q]=q&67108863;if(ee===0&&Q<U.length&&U!==this)for(;Q<U.length;Q++)this.words[Q]=U.words[Q];return this.length=Math.max(this.length,Q),U!==this&&(this.negative=1),this.strip()},c.prototype.sub=function(D){return this.clone().isub(D)};function w(P,D,q){q.negative=D.negative^P.negative;var N=P.length+D.length|0;q.length=N,N=N-1|0;var U=P.words[0]|0,G=D.words[0]|0,ee=U*G,Q=ee&67108863,j=ee/67108864|0;q.words[0]=Q;for(var O=1;O<N;O++){for(var Z=j>>>26,K=j&67108863,$=Math.min(O,D.length-1),oe=Math.max(0,O-P.length+1);oe<=$;oe++){var te=O-oe|0;U=P.words[te]|0,G=D.words[oe]|0,ee=U*G+K,Z+=ee/67108864|0,K=ee&67108863}q.words[O]=K|0,j=Z|0}return j!==0?q.words[O]=j|0:q.length--,q.strip()}var k=function(D,q,N){var U=D.words,G=q.words,ee=N.words,Q=0,j,O,Z,K=U[0]|0,$=K&8191,oe=K>>>13,te=U[1]|0,V=te&8191,ne=te>>>13,W=U[2]|0,fe=W&8191,ge=W>>>13,Ce=U[3]|0,Ne=Ce&8191,pe=Ce>>>13,me=U[4]|0,Ie=me&8191,Re=me>>>13,ze=U[5]|0,Be=ze&8191,tt=ze>>>13,rt=U[6]|0,ce=rt&8191,Ee=rt>>>13,Ae=U[7]|0,Pe=Ae&8191,He=Ae>>>13,Fe=U[8]|0,ke=Fe&8191,Ue=Fe>>>13,Ge=U[9]|0,lt=Ge&8191,it=Ge>>>13,wt=G[0]|0,_t=wt&8191,Tt=wt>>>13,nt=G[1]|0,bt=nt&8191,At=nt>>>13,Ye=G[2]|0,je=Ye&8191,$e=Ye>>>13,ve=G[3]|0,Y=ve&8191,ie=ve>>>13,Te=G[4]|0,Ve=Te&8191,at=Te>>>13,ft=G[5]|0,Ht=ft&8191,Xt=ft>>>13,St=G[6]|0,Vt=St&8191,er=St>>>13,_r=G[7]|0,br=_r&8191,or=_r>>>13,tn=G[8]|0,Lr=tn&8191,Gr=tn>>>13,sn=G[9]|0,Hr=sn&8191,Br=sn>>>13;N.negative=D.negative^q.negative,N.length=19,j=Math.imul($,_t),O=Math.imul($,Tt),O=O+Math.imul(oe,_t)|0,Z=Math.imul(oe,Tt);var qn=(Q+j|0)+((O&8191)<<13)|0;Q=(Z+(O>>>13)|0)+(qn>>>26)|0,qn&=67108863,j=Math.imul(V,_t),O=Math.imul(V,Tt),O=O+Math.imul(ne,_t)|0,Z=Math.imul(ne,Tt),j=j+Math.imul($,bt)|0,O=O+Math.imul($,At)|0,O=O+Math.imul(oe,bt)|0,Z=Z+Math.imul(oe,At)|0;var kn=(Q+j|0)+((O&8191)<<13)|0;Q=(Z+(O>>>13)|0)+(kn>>>26)|0,kn&=67108863,j=Math.imul(fe,_t),O=Math.imul(fe,Tt),O=O+Math.imul(ge,_t)|0,Z=Math.imul(ge,Tt),j=j+Math.imul(V,bt)|0,O=O+Math.imul(V,At)|0,O=O+Math.imul(ne,bt)|0,Z=Z+Math.imul(ne,At)|0,j=j+Math.imul($,je)|0,O=O+Math.imul($,$e)|0,O=O+Math.imul(oe,je)|0,Z=Z+Math.imul(oe,$e)|0;var Yn=(Q+j|0)+((O&8191)<<13)|0;Q=(Z+(O>>>13)|0)+(Yn>>>26)|0,Yn&=67108863,j=Math.imul(Ne,_t),O=Math.imul(Ne,Tt),O=O+Math.imul(pe,_t)|0,Z=Math.imul(pe,Tt),j=j+Math.imul(fe,bt)|0,O=O+Math.imul(fe,At)|0,O=O+Math.imul(ge,bt)|0,Z=Z+Math.imul(ge,At)|0,j=j+Math.imul(V,je)|0,O=O+Math.imul(V,$e)|0,O=O+Math.imul(ne,je)|0,Z=Z+Math.imul(ne,$e)|0,j=j+Math.imul($,Y)|0,O=O+Math.imul($,ie)|0,O=O+Math.imul(oe,Y)|0,Z=Z+Math.imul(oe,ie)|0;var Wn=(Q+j|0)+((O&8191)<<13)|0;Q=(Z+(O>>>13)|0)+(Wn>>>26)|0,Wn&=67108863,j=Math.imul(Ie,_t),O=Math.imul(Ie,Tt),O=O+Math.imul(Re,_t)|0,Z=Math.imul(Re,Tt),j=j+Math.imul(Ne,bt)|0,O=O+Math.imul(Ne,At)|0,O=O+Math.imul(pe,bt)|0,Z=Z+Math.imul(pe,At)|0,j=j+Math.imul(fe,je)|0,O=O+Math.imul(fe,$e)|0,O=O+Math.imul(ge,je)|0,Z=Z+Math.imul(ge,$e)|0,j=j+Math.imul(V,Y)|0,O=O+Math.imul(V,ie)|0,O=O+Math.imul(ne,Y)|0,Z=Z+Math.imul(ne,ie)|0,j=j+Math.imul($,Ve)|0,O=O+Math.imul($,at)|0,O=O+Math.imul(oe,Ve)|0,Z=Z+Math.imul(oe,at)|0;var Fn=(Q+j|0)+((O&8191)<<13)|0;Q=(Z+(O>>>13)|0)+(Fn>>>26)|0,Fn&=67108863,j=Math.imul(Be,_t),O=Math.imul(Be,Tt),O=O+Math.imul(tt,_t)|0,Z=Math.imul(tt,Tt),j=j+Math.imul(Ie,bt)|0,O=O+Math.imul(Ie,At)|0,O=O+Math.imul(Re,bt)|0,Z=Z+Math.imul(Re,At)|0,j=j+Math.imul(Ne,je)|0,O=O+Math.imul(Ne,$e)|0,O=O+Math.imul(pe,je)|0,Z=Z+Math.imul(pe,$e)|0,j=j+Math.imul(fe,Y)|0,O=O+Math.imul(fe,ie)|0,O=O+Math.imul(ge,Y)|0,Z=Z+Math.imul(ge,ie)|0,j=j+Math.imul(V,Ve)|0,O=O+Math.imul(V,at)|0,O=O+Math.imul(ne,Ve)|0,Z=Z+Math.imul(ne,at)|0,j=j+Math.imul($,Ht)|0,O=O+Math.imul($,Xt)|0,O=O+Math.imul(oe,Ht)|0,Z=Z+Math.imul(oe,Xt)|0;var wn=(Q+j|0)+((O&8191)<<13)|0;Q=(Z+(O>>>13)|0)+(wn>>>26)|0,wn&=67108863,j=Math.imul(ce,_t),O=Math.imul(ce,Tt),O=O+Math.imul(Ee,_t)|0,Z=Math.imul(Ee,Tt),j=j+Math.imul(Be,bt)|0,O=O+Math.imul(Be,At)|0,O=O+Math.imul(tt,bt)|0,Z=Z+Math.imul(tt,At)|0,j=j+Math.imul(Ie,je)|0,O=O+Math.imul(Ie,$e)|0,O=O+Math.imul(Re,je)|0,Z=Z+Math.imul(Re,$e)|0,j=j+Math.imul(Ne,Y)|0,O=O+Math.imul(Ne,ie)|0,O=O+Math.imul(pe,Y)|0,Z=Z+Math.imul(pe,ie)|0,j=j+Math.imul(fe,Ve)|0,O=O+Math.imul(fe,at)|0,O=O+Math.imul(ge,Ve)|0,Z=Z+Math.imul(ge,at)|0,j=j+Math.imul(V,Ht)|0,O=O+Math.imul(V,Xt)|0,O=O+Math.imul(ne,Ht)|0,Z=Z+Math.imul(ne,Xt)|0,j=j+Math.imul($,Vt)|0,O=O+Math.imul($,er)|0,O=O+Math.imul(oe,Vt)|0,Z=Z+Math.imul(oe,er)|0;var Si=(Q+j|0)+((O&8191)<<13)|0;Q=(Z+(O>>>13)|0)+(Si>>>26)|0,Si&=67108863,j=Math.imul(Pe,_t),O=Math.imul(Pe,Tt),O=O+Math.imul(He,_t)|0,Z=Math.imul(He,Tt),j=j+Math.imul(ce,bt)|0,O=O+Math.imul(ce,At)|0,O=O+Math.imul(Ee,bt)|0,Z=Z+Math.imul(Ee,At)|0,j=j+Math.imul(Be,je)|0,O=O+Math.imul(Be,$e)|0,O=O+Math.imul(tt,je)|0,Z=Z+Math.imul(tt,$e)|0,j=j+Math.imul(Ie,Y)|0,O=O+Math.imul(Ie,ie)|0,O=O+Math.imul(Re,Y)|0,Z=Z+Math.imul(Re,ie)|0,j=j+Math.imul(Ne,Ve)|0,O=O+Math.imul(Ne,at)|0,O=O+Math.imul(pe,Ve)|0,Z=Z+Math.imul(pe,at)|0,j=j+Math.imul(fe,Ht)|0,O=O+Math.imul(fe,Xt)|0,O=O+Math.imul(ge,Ht)|0,Z=Z+Math.imul(ge,Xt)|0,j=j+Math.imul(V,Vt)|0,O=O+Math.imul(V,er)|0,O=O+Math.imul(ne,Vt)|0,Z=Z+Math.imul(ne,er)|0,j=j+Math.imul($,br)|0,O=O+Math.imul($,or)|0,O=O+Math.imul(oe,br)|0,Z=Z+Math.imul(oe,or)|0;var Aa=(Q+j|0)+((O&8191)<<13)|0;Q=(Z+(O>>>13)|0)+(Aa>>>26)|0,Aa&=67108863,j=Math.imul(ke,_t),O=Math.imul(ke,Tt),O=O+Math.imul(Ue,_t)|0,Z=Math.imul(Ue,Tt),j=j+Math.imul(Pe,bt)|0,O=O+Math.imul(Pe,At)|0,O=O+Math.imul(He,bt)|0,Z=Z+Math.imul(He,At)|0,j=j+Math.imul(ce,je)|0,O=O+Math.imul(ce,$e)|0,O=O+Math.imul(Ee,je)|0,Z=Z+Math.imul(Ee,$e)|0,j=j+Math.imul(Be,Y)|0,O=O+Math.imul(Be,ie)|0,O=O+Math.imul(tt,Y)|0,Z=Z+Math.imul(tt,ie)|0,j=j+Math.imul(Ie,Ve)|0,O=O+Math.imul(Ie,at)|0,O=O+Math.imul(Re,Ve)|0,Z=Z+Math.imul(Re,at)|0,j=j+Math.imul(Ne,Ht)|0,O=O+Math.imul(Ne,Xt)|0,O=O+Math.imul(pe,Ht)|0,Z=Z+Math.imul(pe,Xt)|0,j=j+Math.imul(fe,Vt)|0,O=O+Math.imul(fe,er)|0,O=O+Math.imul(ge,Vt)|0,Z=Z+Math.imul(ge,er)|0,j=j+Math.imul(V,br)|0,O=O+Math.imul(V,or)|0,O=O+Math.imul(ne,br)|0,Z=Z+Math.imul(ne,or)|0,j=j+Math.imul($,Lr)|0,O=O+Math.imul($,Gr)|0,O=O+Math.imul(oe,Lr)|0,Z=Z+Math.imul(oe,Gr)|0;var ia=(Q+j|0)+((O&8191)<<13)|0;Q=(Z+(O>>>13)|0)+(ia>>>26)|0,ia&=67108863,j=Math.imul(lt,_t),O=Math.imul(lt,Tt),O=O+Math.imul(it,_t)|0,Z=Math.imul(it,Tt),j=j+Math.imul(ke,bt)|0,O=O+Math.imul(ke,At)|0,O=O+Math.imul(Ue,bt)|0,Z=Z+Math.imul(Ue,At)|0,j=j+Math.imul(Pe,je)|0,O=O+Math.imul(Pe,$e)|0,O=O+Math.imul(He,je)|0,Z=Z+Math.imul(He,$e)|0,j=j+Math.imul(ce,Y)|0,O=O+Math.imul(ce,ie)|0,O=O+Math.imul(Ee,Y)|0,Z=Z+Math.imul(Ee,ie)|0,j=j+Math.imul(Be,Ve)|0,O=O+Math.imul(Be,at)|0,O=O+Math.imul(tt,Ve)|0,Z=Z+Math.imul(tt,at)|0,j=j+Math.imul(Ie,Ht)|0,O=O+Math.imul(Ie,Xt)|0,O=O+Math.imul(Re,Ht)|0,Z=Z+Math.imul(Re,Xt)|0,j=j+Math.imul(Ne,Vt)|0,O=O+Math.imul(Ne,er)|0,O=O+Math.imul(pe,Vt)|0,Z=Z+Math.imul(pe,er)|0,j=j+Math.imul(fe,br)|0,O=O+Math.imul(fe,or)|0,O=O+Math.imul(ge,br)|0,Z=Z+Math.imul(ge,or)|0,j=j+Math.imul(V,Lr)|0,O=O+Math.imul(V,Gr)|0,O=O+Math.imul(ne,Lr)|0,Z=Z+Math.imul(ne,Gr)|0,j=j+Math.imul($,Hr)|0,O=O+Math.imul($,Br)|0,O=O+Math.imul(oe,Hr)|0,Z=Z+Math.imul(oe,Br)|0;var An=(Q+j|0)+((O&8191)<<13)|0;Q=(Z+(O>>>13)|0)+(An>>>26)|0,An&=67108863,j=Math.imul(lt,bt),O=Math.imul(lt,At),O=O+Math.imul(it,bt)|0,Z=Math.imul(it,At),j=j+Math.imul(ke,je)|0,O=O+Math.imul(ke,$e)|0,O=O+Math.imul(Ue,je)|0,Z=Z+Math.imul(Ue,$e)|0,j=j+Math.imul(Pe,Y)|0,O=O+Math.imul(Pe,ie)|0,O=O+Math.imul(He,Y)|0,Z=Z+Math.imul(He,ie)|0,j=j+Math.imul(ce,Ve)|0,O=O+Math.imul(ce,at)|0,O=O+Math.imul(Ee,Ve)|0,Z=Z+Math.imul(Ee,at)|0,j=j+Math.imul(Be,Ht)|0,O=O+Math.imul(Be,Xt)|0,O=O+Math.imul(tt,Ht)|0,Z=Z+Math.imul(tt,Xt)|0,j=j+Math.imul(Ie,Vt)|0,O=O+Math.imul(Ie,er)|0,O=O+Math.imul(Re,Vt)|0,Z=Z+Math.imul(Re,er)|0,j=j+Math.imul(Ne,br)|0,O=O+Math.imul(Ne,or)|0,O=O+Math.imul(pe,br)|0,Z=Z+Math.imul(pe,or)|0,j=j+Math.imul(fe,Lr)|0,O=O+Math.imul(fe,Gr)|0,O=O+Math.imul(ge,Lr)|0,Z=Z+Math.imul(ge,Gr)|0,j=j+Math.imul(V,Hr)|0,O=O+Math.imul(V,Br)|0,O=O+Math.imul(ne,Hr)|0,Z=Z+Math.imul(ne,Br)|0;var Ji=(Q+j|0)+((O&8191)<<13)|0;Q=(Z+(O>>>13)|0)+(Ji>>>26)|0,Ji&=67108863,j=Math.imul(lt,je),O=Math.imul(lt,$e),O=O+Math.imul(it,je)|0,Z=Math.imul(it,$e),j=j+Math.imul(ke,Y)|0,O=O+Math.imul(ke,ie)|0,O=O+Math.imul(Ue,Y)|0,Z=Z+Math.imul(Ue,ie)|0,j=j+Math.imul(Pe,Ve)|0,O=O+Math.imul(Pe,at)|0,O=O+Math.imul(He,Ve)|0,Z=Z+Math.imul(He,at)|0,j=j+Math.imul(ce,Ht)|0,O=O+Math.imul(ce,Xt)|0,O=O+Math.imul(Ee,Ht)|0,Z=Z+Math.imul(Ee,Xt)|0,j=j+Math.imul(Be,Vt)|0,O=O+Math.imul(Be,er)|0,O=O+Math.imul(tt,Vt)|0,Z=Z+Math.imul(tt,er)|0,j=j+Math.imul(Ie,br)|0,O=O+Math.imul(Ie,or)|0,O=O+Math.imul(Re,br)|0,Z=Z+Math.imul(Re,or)|0,j=j+Math.imul(Ne,Lr)|0,O=O+Math.imul(Ne,Gr)|0,O=O+Math.imul(pe,Lr)|0,Z=Z+Math.imul(pe,Gr)|0,j=j+Math.imul(fe,Hr)|0,O=O+Math.imul(fe,Br)|0,O=O+Math.imul(ge,Hr)|0,Z=Z+Math.imul(ge,Br)|0;var ii=(Q+j|0)+((O&8191)<<13)|0;Q=(Z+(O>>>13)|0)+(ii>>>26)|0,ii&=67108863,j=Math.imul(lt,Y),O=Math.imul(lt,ie),O=O+Math.imul(it,Y)|0,Z=Math.imul(it,ie),j=j+Math.imul(ke,Ve)|0,O=O+Math.imul(ke,at)|0,O=O+Math.imul(Ue,Ve)|0,Z=Z+Math.imul(Ue,at)|0,j=j+Math.imul(Pe,Ht)|0,O=O+Math.imul(Pe,Xt)|0,O=O+Math.imul(He,Ht)|0,Z=Z+Math.imul(He,Xt)|0,j=j+Math.imul(ce,Vt)|0,O=O+Math.imul(ce,er)|0,O=O+Math.imul(Ee,Vt)|0,Z=Z+Math.imul(Ee,er)|0,j=j+Math.imul(Be,br)|0,O=O+Math.imul(Be,or)|0,O=O+Math.imul(tt,br)|0,Z=Z+Math.imul(tt,or)|0,j=j+Math.imul(Ie,Lr)|0,O=O+Math.imul(Ie,Gr)|0,O=O+Math.imul(Re,Lr)|0,Z=Z+Math.imul(Re,Gr)|0,j=j+Math.imul(Ne,Hr)|0,O=O+Math.imul(Ne,Br)|0,O=O+Math.imul(pe,Hr)|0,Z=Z+Math.imul(pe,Br)|0;var bo=(Q+j|0)+((O&8191)<<13)|0;Q=(Z+(O>>>13)|0)+(bo>>>26)|0,bo&=67108863,j=Math.imul(lt,Ve),O=Math.imul(lt,at),O=O+Math.imul(it,Ve)|0,Z=Math.imul(it,at),j=j+Math.imul(ke,Ht)|0,O=O+Math.imul(ke,Xt)|0,O=O+Math.imul(Ue,Ht)|0,Z=Z+Math.imul(Ue,Xt)|0,j=j+Math.imul(Pe,Vt)|0,O=O+Math.imul(Pe,er)|0,O=O+Math.imul(He,Vt)|0,Z=Z+Math.imul(He,er)|0,j=j+Math.imul(ce,br)|0,O=O+Math.imul(ce,or)|0,O=O+Math.imul(Ee,br)|0,Z=Z+Math.imul(Ee,or)|0,j=j+Math.imul(Be,Lr)|0,O=O+Math.imul(Be,Gr)|0,O=O+Math.imul(tt,Lr)|0,Z=Z+Math.imul(tt,Gr)|0,j=j+Math.imul(Ie,Hr)|0,O=O+Math.imul(Ie,Br)|0,O=O+Math.imul(Re,Hr)|0,Z=Z+Math.imul(Re,Br)|0;var ga=(Q+j|0)+((O&8191)<<13)|0;Q=(Z+(O>>>13)|0)+(ga>>>26)|0,ga&=67108863,j=Math.imul(lt,Ht),O=Math.imul(lt,Xt),O=O+Math.imul(it,Ht)|0,Z=Math.imul(it,Xt),j=j+Math.imul(ke,Vt)|0,O=O+Math.imul(ke,er)|0,O=O+Math.imul(Ue,Vt)|0,Z=Z+Math.imul(Ue,er)|0,j=j+Math.imul(Pe,br)|0,O=O+Math.imul(Pe,or)|0,O=O+Math.imul(He,br)|0,Z=Z+Math.imul(He,or)|0,j=j+Math.imul(ce,Lr)|0,O=O+Math.imul(ce,Gr)|0,O=O+Math.imul(Ee,Lr)|0,Z=Z+Math.imul(Ee,Gr)|0,j=j+Math.imul(Be,Hr)|0,O=O+Math.imul(Be,Br)|0,O=O+Math.imul(tt,Hr)|0,Z=Z+Math.imul(tt,Br)|0;var Ia=(Q+j|0)+((O&8191)<<13)|0;Q=(Z+(O>>>13)|0)+(Ia>>>26)|0,Ia&=67108863,j=Math.imul(lt,Vt),O=Math.imul(lt,er),O=O+Math.imul(it,Vt)|0,Z=Math.imul(it,er),j=j+Math.imul(ke,br)|0,O=O+Math.imul(ke,or)|0,O=O+Math.imul(Ue,br)|0,Z=Z+Math.imul(Ue,or)|0,j=j+Math.imul(Pe,Lr)|0,O=O+Math.imul(Pe,Gr)|0,O=O+Math.imul(He,Lr)|0,Z=Z+Math.imul(He,Gr)|0,j=j+Math.imul(ce,Hr)|0,O=O+Math.imul(ce,Br)|0,O=O+Math.imul(Ee,Hr)|0,Z=Z+Math.imul(Ee,Br)|0;var si=(Q+j|0)+((O&8191)<<13)|0;Q=(Z+(O>>>13)|0)+(si>>>26)|0,si&=67108863,j=Math.imul(lt,br),O=Math.imul(lt,or),O=O+Math.imul(it,br)|0,Z=Math.imul(it,or),j=j+Math.imul(ke,Lr)|0,O=O+Math.imul(ke,Gr)|0,O=O+Math.imul(Ue,Lr)|0,Z=Z+Math.imul(Ue,Gr)|0,j=j+Math.imul(Pe,Hr)|0,O=O+Math.imul(Pe,Br)|0,O=O+Math.imul(He,Hr)|0,Z=Z+Math.imul(He,Br)|0;var aa=(Q+j|0)+((O&8191)<<13)|0;Q=(Z+(O>>>13)|0)+(aa>>>26)|0,aa&=67108863,j=Math.imul(lt,Lr),O=Math.imul(lt,Gr),O=O+Math.imul(it,Lr)|0,Z=Math.imul(it,Gr),j=j+Math.imul(ke,Hr)|0,O=O+Math.imul(ke,Br)|0,O=O+Math.imul(Ue,Hr)|0,Z=Z+Math.imul(Ue,Br)|0;var wo=(Q+j|0)+((O&8191)<<13)|0;Q=(Z+(O>>>13)|0)+(wo>>>26)|0,wo&=67108863,j=Math.imul(lt,Hr),O=Math.imul(lt,Br),O=O+Math.imul(it,Hr)|0,Z=Math.imul(it,Br);var ma=(Q+j|0)+((O&8191)<<13)|0;return Q=(Z+(O>>>13)|0)+(ma>>>26)|0,ma&=67108863,ee[0]=qn,ee[1]=kn,ee[2]=Yn,ee[3]=Wn,ee[4]=Fn,ee[5]=wn,ee[6]=Si,ee[7]=Aa,ee[8]=ia,ee[9]=An,ee[10]=Ji,ee[11]=ii,ee[12]=bo,ee[13]=ga,ee[14]=Ia,ee[15]=si,ee[16]=aa,ee[17]=wo,ee[18]=ma,Q!==0&&(ee[19]=Q,N.length++),N};Math.imul||(k=w);function x(P,D,q){q.negative=D.negative^P.negative,q.length=P.length+D.length;for(var N=0,U=0,G=0;G<q.length-1;G++){var ee=U;U=0;for(var Q=N&67108863,j=Math.min(G,D.length-1),O=Math.max(0,G-P.length+1);O<=j;O++){var Z=G-O,K=P.words[Z]|0,$=D.words[O]|0,oe=K*$,te=oe&67108863;ee=ee+(oe/67108864|0)|0,te=te+Q|0,Q=te&67108863,ee=ee+(te>>>26)|0,U+=ee>>>26,ee&=67108863}q.words[G]=Q,N=ee,ee=U}return N!==0?q.words[G]=N:q.length--,q.strip()}function M(P,D,q){var N=new A;return N.mulp(P,D,q)}c.prototype.mulTo=function(D,q){var N,U=this.length+D.length;return this.length===10&&D.length===10?N=k(this,D,q):U<63?N=w(this,D,q):U<1024?N=x(this,D,q):N=M(this,D,q),N};function A(P,D){this.x=P,this.y=D}A.prototype.makeRBT=function(D){for(var q=new Array(D),N=c.prototype._countBits(D)-1,U=0;U<D;U++)q[U]=this.revBin(U,N,D);return q},A.prototype.revBin=function(D,q,N){if(D===0||D===N-1)return D;for(var U=0,G=0;G<q;G++)U|=(D&1)<<q-G-1,D>>=1;return U},A.prototype.permute=function(D,q,N,U,G,ee){for(var Q=0;Q<ee;Q++)U[Q]=q[D[Q]],G[Q]=N[D[Q]]},A.prototype.transform=function(D,q,N,U,G,ee){this.permute(ee,D,q,N,U,G);for(var Q=1;Q<G;Q<<=1)for(var j=Q<<1,O=Math.cos(2*Math.PI/j),Z=Math.sin(2*Math.PI/j),K=0;K<G;K+=j)for(var $=O,oe=Z,te=0;te<Q;te++){var V=N[K+te],ne=U[K+te],W=N[K+te+Q],fe=U[K+te+Q],ge=$*W-oe*fe;fe=$*fe+oe*W,W=ge,N[K+te]=V+W,U[K+te]=ne+fe,N[K+te+Q]=V-W,U[K+te+Q]=ne-fe,te!==j&&(ge=O*$-Z*oe,oe=O*oe+Z*$,$=ge)}},A.prototype.guessLen13b=function(D,q){var N=Math.max(q,D)|1,U=N&1,G=0;for(N=N/2|0;N;N=N>>>1)G++;return 1<<G+1+U},A.prototype.conjugate=function(D,q,N){if(!(N<=1))for(var U=0;U<N/2;U++){var G=D[U];D[U]=D[N-U-1],D[N-U-1]=G,G=q[U],q[U]=-q[N-U-1],q[N-U-1]=-G}},A.prototype.normalize13b=function(D,q){for(var N=0,U=0;U<q/2;U++){var G=Math.round(D[2*U+1]/q)*8192+Math.round(D[2*U]/q)+N;D[U]=G&67108863,G<67108864?N=0:N=G/67108864|0}return D},A.prototype.convert13b=function(D,q,N,U){for(var G=0,ee=0;ee<q;ee++)G=G+(D[ee]|0),N[2*ee]=G&8191,G=G>>>13,N[2*ee+1]=G&8191,G=G>>>13;for(ee=2*q;ee<U;++ee)N[ee]=0;u(G===0),u((G&-8192)===0)},A.prototype.stub=function(D){for(var q=new Array(D),N=0;N<D;N++)q[N]=0;return q},A.prototype.mulp=function(D,q,N){var U=2*this.guessLen13b(D.length,q.length),G=this.makeRBT(U),ee=this.stub(U),Q=new Array(U),j=new Array(U),O=new Array(U),Z=new Array(U),K=new Array(U),$=new Array(U),oe=N.words;oe.length=U,this.convert13b(D.words,D.length,Q,U),this.convert13b(q.words,q.length,Z,U),this.transform(Q,ee,j,O,U,G),this.transform(Z,ee,K,$,U,G);for(var te=0;te<U;te++){var V=j[te]*K[te]-O[te]*$[te];O[te]=j[te]*$[te]+O[te]*K[te],j[te]=V}return this.conjugate(j,O,U),this.transform(j,O,oe,ee,U,G),this.conjugate(oe,ee,U),this.normalize13b(oe,U),N.negative=D.negative^q.negative,N.length=D.length+q.length,N.strip()},c.prototype.mul=function(D){var q=new c(null);return q.words=new Array(this.length+D.length),this.mulTo(D,q)},c.prototype.mulf=function(D){var q=new c(null);return q.words=new Array(this.length+D.length),M(this,D,q)},c.prototype.imul=function(D){return this.clone().mulTo(D,this)},c.prototype.imuln=function(D){u(typeof D=="number"),u(D<67108864);for(var q=0,N=0;N<this.length;N++){var U=(this.words[N]|0)*D,G=(U&67108863)+(q&67108863);q>>=26,q+=U/67108864|0,q+=G>>>26,this.words[N]=G&67108863}return q!==0&&(this.words[N]=q,this.length++),this},c.prototype.muln=function(D){return this.clone().imuln(D)},c.prototype.sqr=function(){return this.mul(this)},c.prototype.isqr=function(){return this.imul(this.clone())},c.prototype.pow=function(D){var q=T(D);if(q.length===0)return new c(1);for(var N=this,U=0;U<q.length&&q[U]===0;U++,N=N.sqr());if(++U<q.length)for(var G=N.sqr();U<q.length;U++,G=G.sqr())q[U]!==0&&(N=N.mul(G));return N},c.prototype.iushln=function(D){u(typeof D=="number"&&D>=0);var q=D%26,N=(D-q)/26,U=67108863>>>26-q<<26-q,G;if(q!==0){var ee=0;for(G=0;G<this.length;G++){var Q=this.words[G]&U,j=(this.words[G]|0)-Q<<q;this.words[G]=j|ee,ee=Q>>>26-q}ee&&(this.words[G]=ee,this.length++)}if(N!==0){for(G=this.length-1;G>=0;G--)this.words[G+N]=this.words[G];for(G=0;G<N;G++)this.words[G]=0;this.length+=N}return this.strip()},c.prototype.ishln=function(D){return u(this.negative===0),this.iushln(D)},c.prototype.iushrn=function(D,q,N){u(typeof D=="number"&&D>=0);var U;q?U=(q-q%26)/26:U=0;var G=D%26,ee=Math.min((D-G)/26,this.length),Q=67108863^67108863>>>G<<G,j=N;if(U-=ee,U=Math.max(0,U),j){for(var O=0;O<ee;O++)j.words[O]=this.words[O];j.length=ee}if(ee!==0)if(this.length>ee)for(this.length-=ee,O=0;O<this.length;O++)this.words[O]=this.words[O+ee];else this.words[0]=0,this.length=1;var Z=0;for(O=this.length-1;O>=0&&(Z!==0||O>=U);O--){var K=this.words[O]|0;this.words[O]=Z<<26-G|K>>>G,Z=K&Q}return j&&Z!==0&&(j.words[j.length++]=Z),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},c.prototype.ishrn=function(D,q,N){return u(this.negative===0),this.iushrn(D,q,N)},c.prototype.shln=function(D){return this.clone().ishln(D)},c.prototype.ushln=function(D){return this.clone().iushln(D)},c.prototype.shrn=function(D){return this.clone().ishrn(D)},c.prototype.ushrn=function(D){return this.clone().iushrn(D)},c.prototype.testn=function(D){u(typeof D=="number"&&D>=0);var q=D%26,N=(D-q)/26,U=1<<q;if(this.length<=N)return!1;var G=this.words[N];return!!(G&U)},c.prototype.imaskn=function(D){u(typeof D=="number"&&D>=0);var q=D%26,N=(D-q)/26;if(u(this.negative===0,"imaskn works only with positive numbers"),this.length<=N)return this;if(q!==0&&N++,this.length=Math.min(N,this.length),q!==0){var U=67108863^67108863>>>q<<q;this.words[this.length-1]&=U}return this.strip()},c.prototype.maskn=function(D){return this.clone().imaskn(D)},c.prototype.iaddn=function(D){return u(typeof D=="number"),u(D<67108864),D<0?this.isubn(-D):this.negative!==0?this.length===1&&(this.words[0]|0)<D?(this.words[0]=D-(this.words[0]|0),this.negative=0,this):(this.negative=0,this.isubn(D),this.negative=1,this):this._iaddn(D)},c.prototype._iaddn=function(D){this.words[0]+=D;for(var q=0;q<this.length&&this.words[q]>=67108864;q++)this.words[q]-=67108864,q===this.length-1?this.words[q+1]=1:this.words[q+1]++;return this.length=Math.max(this.length,q+1),this},c.prototype.isubn=function(D){if(u(typeof D=="number"),u(D<67108864),D<0)return this.iaddn(-D);if(this.negative!==0)return this.negative=0,this.iaddn(D),this.negative=1,this;if(this.words[0]-=D,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var q=0;q<this.length&&this.words[q]<0;q++)this.words[q]+=67108864,this.words[q+1]-=1;return this.strip()},c.prototype.addn=function(D){return this.clone().iaddn(D)},c.prototype.subn=function(D){return this.clone().isubn(D)},c.prototype.iabs=function(){return this.negative=0,this},c.prototype.abs=function(){return this.clone().iabs()},c.prototype._ishlnsubmul=function(D,q,N){var U=D.length+N,G;this._expand(U);var ee,Q=0;for(G=0;G<D.length;G++){ee=(this.words[G+N]|0)+Q;var j=(D.words[G]|0)*q;ee-=j&67108863,Q=(ee>>26)-(j/67108864|0),this.words[G+N]=ee&67108863}for(;G<this.length-N;G++)ee=(this.words[G+N]|0)+Q,Q=ee>>26,this.words[G+N]=ee&67108863;if(Q===0)return this.strip();for(u(Q===-1),Q=0,G=0;G<this.length;G++)ee=-(this.words[G]|0)+Q,Q=ee>>26,this.words[G]=ee&67108863;return this.negative=1,this.strip()},c.prototype._wordDiv=function(D,q){var N=this.length-D.length,U=this.clone(),G=D,ee=G.words[G.length-1]|0,Q=this._countBits(ee);N=26-Q,N!==0&&(G=G.ushln(N),U.iushln(N),ee=G.words[G.length-1]|0);var j=U.length-G.length,O;if(q!=="mod"){O=new c(null),O.length=j+1,O.words=new Array(O.length);for(var Z=0;Z<O.length;Z++)O.words[Z]=0}var K=U.clone()._ishlnsubmul(G,1,j);K.negative===0&&(U=K,O&&(O.words[j]=1));for(var $=j-1;$>=0;$--){var oe=(U.words[G.length+$]|0)*67108864+(U.words[G.length+$-1]|0);for(oe=Math.min(oe/ee|0,67108863),U._ishlnsubmul(G,oe,$);U.negative!==0;)oe--,U.negative=0,U._ishlnsubmul(G,1,$),U.isZero()||(U.negative^=1);O&&(O.words[$]=oe)}return O&&O.strip(),U.strip(),q!=="div"&&N!==0&&U.iushrn(N),{div:O||null,mod:U}},c.prototype.divmod=function(D,q,N){if(u(!D.isZero()),this.isZero())return{div:new c(0),mod:new c(0)};var U,G,ee;return this.negative!==0&&D.negative===0?(ee=this.neg().divmod(D,q),q!=="mod"&&(U=ee.div.neg()),q!=="div"&&(G=ee.mod.neg(),N&&G.negative!==0&&G.iadd(D)),{div:U,mod:G}):this.negative===0&&D.negative!==0?(ee=this.divmod(D.neg(),q),q!=="mod"&&(U=ee.div.neg()),{div:U,mod:ee.mod}):this.negative&D.negative?(ee=this.neg().divmod(D.neg(),q),q!=="div"&&(G=ee.mod.neg(),N&&G.negative!==0&&G.isub(D)),{div:ee.div,mod:G}):D.length>this.length||this.cmp(D)<0?{div:new c(0),mod:this}:D.length===1?q==="div"?{div:this.divn(D.words[0]),mod:null}:q==="mod"?{div:null,mod:new c(this.modn(D.words[0]))}:{div:this.divn(D.words[0]),mod:new c(this.modn(D.words[0]))}:this._wordDiv(D,q)},c.prototype.div=function(D){return this.divmod(D,"div",!1).div},c.prototype.mod=function(D){return this.divmod(D,"mod",!1).mod},c.prototype.umod=function(D){return this.divmod(D,"mod",!0).mod},c.prototype.divRound=function(D){var q=this.divmod(D);if(q.mod.isZero())return q.div;var N=q.div.negative!==0?q.mod.isub(D):q.mod,U=D.ushrn(1),G=D.andln(1),ee=N.cmp(U);return ee<0||G===1&&ee===0?q.div:q.div.negative!==0?q.div.isubn(1):q.div.iaddn(1)},c.prototype.modn=function(D){u(D<=67108863);for(var q=(1<<26)%D,N=0,U=this.length-1;U>=0;U--)N=(q*N+(this.words[U]|0))%D;return N},c.prototype.idivn=function(D){u(D<=67108863);for(var q=0,N=this.length-1;N>=0;N--){var U=(this.words[N]|0)+q*67108864;this.words[N]=U/D|0,q=U%D}return this.strip()},c.prototype.divn=function(D){return this.clone().idivn(D)},c.prototype.egcd=function(D){u(D.negative===0),u(!D.isZero());var q=this,N=D.clone();q.negative!==0?q=q.umod(D):q=q.clone();for(var U=new c(1),G=new c(0),ee=new c(0),Q=new c(1),j=0;q.isEven()&&N.isEven();)q.iushrn(1),N.iushrn(1),++j;for(var O=N.clone(),Z=q.clone();!q.isZero();){for(var K=0,$=1;!(q.words[0]&$)&&K<26;++K,$<<=1);if(K>0)for(q.iushrn(K);K-- >0;)(U.isOdd()||G.isOdd())&&(U.iadd(O),G.isub(Z)),U.iushrn(1),G.iushrn(1);for(var oe=0,te=1;!(N.words[0]&te)&&oe<26;++oe,te<<=1);if(oe>0)for(N.iushrn(oe);oe-- >0;)(ee.isOdd()||Q.isOdd())&&(ee.iadd(O),Q.isub(Z)),ee.iushrn(1),Q.iushrn(1);q.cmp(N)>=0?(q.isub(N),U.isub(ee),G.isub(Q)):(N.isub(q),ee.isub(U),Q.isub(G))}return{a:ee,b:Q,gcd:N.iushln(j)}},c.prototype._invmp=function(D){u(D.negative===0),u(!D.isZero());var q=this,N=D.clone();q.negative!==0?q=q.umod(D):q=q.clone();for(var U=new c(1),G=new c(0),ee=N.clone();q.cmpn(1)>0&&N.cmpn(1)>0;){for(var Q=0,j=1;!(q.words[0]&j)&&Q<26;++Q,j<<=1);if(Q>0)for(q.iushrn(Q);Q-- >0;)U.isOdd()&&U.iadd(ee),U.iushrn(1);for(var O=0,Z=1;!(N.words[0]&Z)&&O<26;++O,Z<<=1);if(O>0)for(N.iushrn(O);O-- >0;)G.isOdd()&&G.iadd(ee),G.iushrn(1);q.cmp(N)>=0?(q.isub(N),U.isub(G)):(N.isub(q),G.isub(U))}var K;return q.cmpn(1)===0?K=U:K=G,K.cmpn(0)<0&&K.iadd(D),K},c.prototype.gcd=function(D){if(this.isZero())return D.abs();if(D.isZero())return this.abs();var q=this.clone(),N=D.clone();q.negative=0,N.negative=0;for(var U=0;q.isEven()&&N.isEven();U++)q.iushrn(1),N.iushrn(1);do{for(;q.isEven();)q.iushrn(1);for(;N.isEven();)N.iushrn(1);var G=q.cmp(N);if(G<0){var ee=q;q=N,N=ee}else if(G===0||N.cmpn(1)===0)break;q.isub(N)}while(!0);return N.iushln(U)},c.prototype.invm=function(D){return this.egcd(D).a.umod(D)},c.prototype.isEven=function(){return(this.words[0]&1)===0},c.prototype.isOdd=function(){return(this.words[0]&1)===1},c.prototype.andln=function(D){return this.words[0]&D},c.prototype.bincn=function(D){u(typeof D=="number");var q=D%26,N=(D-q)/26,U=1<<q;if(this.length<=N)return this._expand(N+1),this.words[N]|=U,this;for(var G=U,ee=N;G!==0&&ee<this.length;ee++){var Q=this.words[ee]|0;Q+=G,G=Q>>>26,Q&=67108863,this.words[ee]=Q}return G!==0&&(this.words[ee]=G,this.length++),this},c.prototype.isZero=function(){return this.length===1&&this.words[0]===0},c.prototype.cmpn=function(D){var q=D<0;if(this.negative!==0&&!q)return-1;if(this.negative===0&&q)return 1;this.strip();var N;if(this.length>1)N=1;else{q&&(D=-D),u(D<=67108863,"Number is too big");var U=this.words[0]|0;N=U===D?0:U<D?-1:1}return this.negative!==0?-N|0:N},c.prototype.cmp=function(D){if(this.negative!==0&&D.negative===0)return-1;if(this.negative===0&&D.negative!==0)return 1;var q=this.ucmp(D);return this.negative!==0?-q|0:q},c.prototype.ucmp=function(D){if(this.length>D.length)return 1;if(this.length<D.length)return-1;for(var q=0,N=this.length-1;N>=0;N--){var U=this.words[N]|0,G=D.words[N]|0;if(U!==G){U<G?q=-1:U>G&&(q=1);break}}return q},c.prototype.gtn=function(D){return this.cmpn(D)===1},c.prototype.gt=function(D){return this.cmp(D)===1},c.prototype.gten=function(D){return this.cmpn(D)>=0},c.prototype.gte=function(D){return this.cmp(D)>=0},c.prototype.ltn=function(D){return this.cmpn(D)===-1},c.prototype.lt=function(D){return this.cmp(D)===-1},c.prototype.lten=function(D){return this.cmpn(D)<=0},c.prototype.lte=function(D){return this.cmp(D)<=0},c.prototype.eqn=function(D){return this.cmpn(D)===0},c.prototype.eq=function(D){return this.cmp(D)===0},c.red=function(D){return new R(D)},c.prototype.toRed=function(D){return u(!this.red,"Already a number in reduction context"),u(this.negative===0,"red works only with positives"),D.convertTo(this)._forceRed(D)},c.prototype.fromRed=function(){return u(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},c.prototype._forceRed=function(D){return this.red=D,this},c.prototype.forceRed=function(D){return u(!this.red,"Already a number in reduction context"),this._forceRed(D)},c.prototype.redAdd=function(D){return u(this.red,"redAdd works only with red numbers"),this.red.add(this,D)},c.prototype.redIAdd=function(D){return u(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,D)},c.prototype.redSub=function(D){return u(this.red,"redSub works only with red numbers"),this.red.sub(this,D)},c.prototype.redISub=function(D){return u(this.red,"redISub works only with red numbers"),this.red.isub(this,D)},c.prototype.redShl=function(D){return u(this.red,"redShl works only with red numbers"),this.red.shl(this,D)},c.prototype.redMul=function(D){return u(this.red,"redMul works only with red numbers"),this.red._verify2(this,D),this.red.mul(this,D)},c.prototype.redIMul=function(D){return u(this.red,"redMul works only with red numbers"),this.red._verify2(this,D),this.red.imul(this,D)},c.prototype.redSqr=function(){return u(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},c.prototype.redISqr=function(){return u(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},c.prototype.redSqrt=function(){return u(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},c.prototype.redInvm=function(){return u(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},c.prototype.redNeg=function(){return u(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},c.prototype.redPow=function(D){return u(this.red&&!D.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,D)};var p={k256:null,p224:null,p192:null,p25519:null};function S(P,D){this.name=P,this.p=new c(D,16),this.n=this.p.bitLength(),this.k=new c(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}S.prototype._tmp=function(){var D=new c(null);return D.words=new Array(Math.ceil(this.n/13)),D},S.prototype.ireduce=function(D){var q=D,N;do this.split(q,this.tmp),q=this.imulK(q),q=q.iadd(this.tmp),N=q.bitLength();while(N>this.n);var U=N<this.n?-1:q.ucmp(this.p);return U===0?(q.words[0]=0,q.length=1):U>0?q.isub(this.p):q.strip!==void 0?q.strip():q._strip(),q},S.prototype.split=function(D,q){D.iushrn(this.n,0,q)},S.prototype.imulK=function(D){return D.imul(this.k)};function y(){S.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}f(y,S),y.prototype.split=function(D,q){for(var N=4194303,U=Math.min(D.length,9),G=0;G<U;G++)q.words[G]=D.words[G];if(q.length=U,D.length<=9){D.words[0]=0,D.length=1;return}var ee=D.words[9];for(q.words[q.length++]=ee&N,G=10;G<D.length;G++){var Q=D.words[G]|0;D.words[G-10]=(Q&N)<<4|ee>>>22,ee=Q}ee>>>=22,D.words[G-10]=ee,ee===0&&D.length>10?D.length-=10:D.length-=9},y.prototype.imulK=function(D){D.words[D.length]=0,D.words[D.length+1]=0,D.length+=2;for(var q=0,N=0;N<D.length;N++){var U=D.words[N]|0;q+=U*977,D.words[N]=q&67108863,q=U*64+(q/67108864|0)}return D.words[D.length-1]===0&&(D.length--,D.words[D.length-1]===0&&D.length--),D};function E(){S.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}f(E,S);function C(){S.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}f(C,S);function L(){S.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}f(L,S),L.prototype.imulK=function(D){for(var q=0,N=0;N<D.length;N++){var U=(D.words[N]|0)*19+q,G=U&67108863;U>>>=26,D.words[N]=G,q=U}return q!==0&&(D.words[D.length++]=q),D},c._prime=function(D){if(p[D])return p[D];var q;if(D==="k256")q=new y;else if(D==="p224")q=new E;else if(D==="p192")q=new C;else if(D==="p25519")q=new L;else throw new Error("Unknown prime "+D);return p[D]=q,q};function R(P){if(typeof P=="string"){var D=c._prime(P);this.m=D.p,this.prime=D}else u(P.gtn(1),"modulus must be greater than 1"),this.m=P,this.prime=null}R.prototype._verify1=function(D){u(D.negative===0,"red works only with positives"),u(D.red,"red works only with red numbers")},R.prototype._verify2=function(D,q){u((D.negative|q.negative)===0,"red works only with positives"),u(D.red&&D.red===q.red,"red works only with red numbers")},R.prototype.imod=function(D){return this.prime?this.prime.ireduce(D)._forceRed(this):D.umod(this.m)._forceRed(this)},R.prototype.neg=function(D){return D.isZero()?D.clone():this.m.sub(D)._forceRed(this)},R.prototype.add=function(D,q){this._verify2(D,q);var N=D.add(q);return N.cmp(this.m)>=0&&N.isub(this.m),N._forceRed(this)},R.prototype.iadd=function(D,q){this._verify2(D,q);var N=D.iadd(q);return N.cmp(this.m)>=0&&N.isub(this.m),N},R.prototype.sub=function(D,q){this._verify2(D,q);var N=D.sub(q);return N.cmpn(0)<0&&N.iadd(this.m),N._forceRed(this)},R.prototype.isub=function(D,q){this._verify2(D,q);var N=D.isub(q);return N.cmpn(0)<0&&N.iadd(this.m),N},R.prototype.shl=function(D,q){return this._verify1(D),this.imod(D.ushln(q))},R.prototype.imul=function(D,q){return this._verify2(D,q),this.imod(D.imul(q))},R.prototype.mul=function(D,q){return this._verify2(D,q),this.imod(D.mul(q))},R.prototype.isqr=function(D){return this.imul(D,D.clone())},R.prototype.sqr=function(D){return this.mul(D,D)},R.prototype.sqrt=function(D){if(D.isZero())return D.clone();var q=this.m.andln(3);if(u(q%2===1),q===3){var N=this.m.add(new c(1)).iushrn(2);return this.pow(D,N)}for(var U=this.m.subn(1),G=0;!U.isZero()&&U.andln(1)===0;)G++,U.iushrn(1);u(!U.isZero());var ee=new c(1).toRed(this),Q=ee.redNeg(),j=this.m.subn(1).iushrn(1),O=this.m.bitLength();for(O=new c(2*O*O).toRed(this);this.pow(O,j).cmp(Q)!==0;)O.redIAdd(Q);for(var Z=this.pow(O,U),K=this.pow(D,U.addn(1).iushrn(1)),$=this.pow(D,U),oe=G;$.cmp(ee)!==0;){for(var te=$,V=0;te.cmp(ee)!==0;V++)te=te.redSqr();u(V<oe);var ne=this.pow(Z,new c(1).iushln(oe-V-1));K=K.redMul(ne),Z=ne.redSqr(),$=$.redMul(Z),oe=V}return K},R.prototype.invm=function(D){var q=D._invmp(this.m);return q.negative!==0?(q.negative=0,this.imod(q).redNeg()):this.imod(q)},R.prototype.pow=function(D,q){if(q.isZero())return new c(1).toRed(this);if(q.cmpn(1)===0)return D.clone();var N=4,U=new Array(1<<N);U[0]=new c(1).toRed(this),U[1]=D;for(var G=2;G<U.length;G++)U[G]=this.mul(U[G-1],D);var ee=U[0],Q=0,j=0,O=q.bitLength()%26;for(O===0&&(O=26),G=q.length-1;G>=0;G--){for(var Z=q.words[G],K=O-1;K>=0;K--){var $=Z>>K&1;if(ee!==U[0]&&(ee=this.sqr(ee)),$===0&&Q===0){j=0;continue}Q<<=1,Q|=$,j++,!(j!==N&&(G!==0||K!==0))&&(ee=this.mul(ee,U[Q]),j=0,Q=0)}O=26}return ee},R.prototype.convertTo=function(D){var q=D.umod(this.m);return q===D?q.clone():q},R.prototype.convertFrom=function(D){var q=D.clone();return q.red=null,q},c.mont=function(D){return new I(D)};function I(P){R.call(this,P),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new c(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}f(I,R),I.prototype.convertTo=function(D){return this.imod(D.ushln(this.shift))},I.prototype.convertFrom=function(D){var q=this.imod(D.mul(this.rinv));return q.red=null,q},I.prototype.imul=function(D,q){if(D.isZero()||q.isZero())return D.words[0]=0,D.length=1,D;var N=D.imul(q),U=N.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),G=N.isub(U).iushrn(this.shift),ee=G;return G.cmp(this.m)>=0?ee=G.isub(this.m):G.cmpn(0)<0&&(ee=G.iadd(this.m)),ee._forceRed(this)},I.prototype.mul=function(D,q){if(D.isZero()||q.isZero())return new c(0)._forceRed(this);var N=D.mul(q),U=N.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),G=N.isub(U).iushrn(this.shift),ee=G;return G.cmp(this.m)>=0?ee=G.isub(this.m):G.cmpn(0)<0&&(ee=G.iadd(this.m)),ee._forceRed(this)},I.prototype.invm=function(D){var q=this.imod(D._invmp(this.m).mul(this.r2));return q._forceRed(this)}}(i,this)},6204:function(i){"use strict";i.exports=a;function a(o){var s,l,u,f=o.length,c=0;for(s=0;s<f;++s)c+=o[s].length;var h=new Array(c),d=0;for(s=0;s<f;++s){var v=o[s],m=v.length;for(l=0;l<m;++l){var b=h[d++]=new Array(m-1),g=0;for(u=0;u<m;++u)u!==l&&(b[g++]=v[u]);if(l&1){var _=b[1];b[1]=b[0],b[0]=_}}}return h}},6867:function(i,a,o){"use strict";i.exports=g;var s=o(1888),l=o(855),u=o(7150);function f(_,T){for(var w=0;w<_;++w)if(!(T[w]<=T[w+_]))return!0;return!1}function c(_,T,w,k){for(var x=0,M=0,A=0,p=_.length;A<p;++A){var S=_[A];if(!f(T,S)){for(var y=0;y<2*T;++y)w[x++]=S[y];k[M++]=A}}return M}function h(_,T,w,k){var x=_.length,M=T.length;if(!(x<=0||M<=0)){var A=_[0].length>>>1;if(!(A<=0)){var p,S=s.mallocDouble(2*A*x),y=s.mallocInt32(x);if(x=c(_,A,S,y),x>0){if(A===1&&k)l.init(x),p=l.sweepComplete(A,w,0,x,S,y,0,x,S,y);else{var E=s.mallocDouble(2*A*M),C=s.mallocInt32(M);M=c(T,A,E,C),M>0&&(l.init(x+M),A===1?p=l.sweepBipartite(A,w,0,x,S,y,0,M,E,C):p=u(A,w,k,x,S,y,M,E,C),s.free(E),s.free(C))}s.free(S),s.free(y)}return p}}}var d;function v(_,T){d.push([_,T])}function m(_){return d=[],h(_,_,v,!0),d}function b(_,T){return d=[],h(_,T,v,!1),d}function g(_,T,w){switch(arguments.length){case 1:return m(_);case 2:return typeof T=="function"?h(_,_,T,!0):b(_,T);case 3:return h(_,T,w,!1);default:throw new Error("box-intersect: Invalid arguments")}}},2455:function(i,a){"use strict";function o(){function u(h,d,v,m,b,g,_,T,w,k,x){for(var M=2*h,A=m,p=M*m;A<b;++A,p+=M){var S=g[d+p],y=g[d+p+h],E=_[A];e:for(var C=T,L=M*T;C<w;++C,L+=M){var R=k[d+L],I=k[d+L+h],P=x[C];if(!(I<S||y<R)){for(var D=d+1;D<h;++D){var q=g[D+p],N=g[D+h+p],U=k[D+L],G=k[D+h+L];if(N<U||G<q)continue e}var ee=v(E,P);if(ee!==void 0)return ee}}}}function f(h,d,v,m,b,g,_,T,w,k,x){for(var M=2*h,A=T,p=M*T;A<w;++A,p+=M){var S=k[d+p],y=k[d+p+h],E=x[A];e:for(var C=m,L=M*m;C<b;++C,L+=M){var R=g[d+L],I=g[d+L+h],P=_[C];if(!(y<R||I<S)){for(var D=d+1;D<h;++D){var q=g[D+L],N=g[D+h+L],U=k[D+p],G=k[D+h+p];if(N<U||G<q)continue e}var ee=v(P,E);if(ee!==void 0)return ee}}}}function c(h,d,v,m,b,g,_,T,w,k,x){return b-m>w-T?u(h,d,v,m,b,g,_,T,w,k,x):f(h,d,v,m,b,g,_,T,w,k,x)}return c}function s(){function u(v,m,b,g,_,T,w,k,x,M,A){for(var p=2*v,S=g,y=p*g;S<_;++S,y+=p){var E=T[m+y],C=T[m+y+v],L=w[S];e:for(var R=k,I=p*k;R<x;++R,I+=p){var P=M[m+I],D=A[R];if(!(P<=E||C<P)){for(var q=m+1;q<v;++q){var N=T[q+y],U=T[q+v+y],G=M[q+I],ee=M[q+v+I];if(U<G||ee<N)continue e}var Q=b(D,L);if(Q!==void 0)return Q}}}}function f(v,m,b,g,_,T,w,k,x,M,A){for(var p=2*v,S=g,y=p*g;S<_;++S,y+=p){var E=T[m+y],C=T[m+y+v],L=w[S];e:for(var R=k,I=p*k;R<x;++R,I+=p){var P=M[m+I],D=A[R];if(!(P<E||C<P)){for(var q=m+1;q<v;++q){var N=T[q+y],U=T[q+v+y],G=M[q+I],ee=M[q+v+I];if(U<G||ee<N)continue e}var Q=b(L,D);if(Q!==void 0)return Q}}}}function c(v,m,b,g,_,T,w,k,x,M,A){for(var p=2*v,S=k,y=p*k;S<x;++S,y+=p){var E=M[m+y],C=A[S];e:for(var L=g,R=p*g;L<_;++L,R+=p){var I=T[m+R],P=T[m+R+v],D=w[L];if(!(E<=I||P<E)){for(var q=m+1;q<v;++q){var N=T[q+R],U=T[q+v+R],G=M[q+y],ee=M[q+v+y];if(U<G||ee<N)continue e}var Q=b(C,D);if(Q!==void 0)return Q}}}}function h(v,m,b,g,_,T,w,k,x,M,A){for(var p=2*v,S=k,y=p*k;S<x;++S,y+=p){var E=M[m+y],C=A[S];e:for(var L=g,R=p*g;L<_;++L,R+=p){var I=T[m+R],P=T[m+R+v],D=w[L];if(!(E<I||P<E)){for(var q=m+1;q<v;++q){var N=T[q+R],U=T[q+v+R],G=M[q+y],ee=M[q+v+y];if(U<G||ee<N)continue e}var Q=b(D,C);if(Q!==void 0)return Q}}}}function d(v,m,b,g,_,T,w,k,x,M,A,p){return T-_>M-x?g?u(v,m,b,_,T,w,k,x,M,A,p):f(v,m,b,_,T,w,k,x,M,A,p):g?c(v,m,b,_,T,w,k,x,M,A,p):h(v,m,b,_,T,w,k,x,M,A,p)}return d}function l(u){return u?o():s()}a.partial=l(!1),a.full=l(!0)},7150:function(i,a,o){"use strict";i.exports=P;var s=o(1888),l=o(8828),u=o(2455),f=u.partial,c=u.full,h=o(855),d=o(3545),v=o(8105),m=128,b=1<<22,g=1<<22,_=v("!(lo>=p0)&&!(p1>=hi)"),T=v("lo===p0"),w=v("lo<p0"),k=v("hi<=p0"),x=v("lo<=p0&&p0<=hi"),M=v("lo<p0&&p0<=hi"),A=6,p=2,S=1024,y=s.mallocInt32(S),E=s.mallocDouble(S);function C(D,q){var N=8*l.log2(q+1)*(D+1)|0,U=l.nextPow2(A*N);y.length<U&&(s.free(y),y=s.mallocInt32(U));var G=l.nextPow2(p*N);E.length<G&&(s.free(E),E=s.mallocDouble(G))}function L(D,q,N,U,G,ee,Q,j,O){var Z=A*D;y[Z]=q,y[Z+1]=N,y[Z+2]=U,y[Z+3]=G,y[Z+4]=ee,y[Z+5]=Q;var K=p*D;E[K]=j,E[K+1]=O}function R(D,q,N,U,G,ee,Q,j,O,Z,K){var $=2*D,oe=O*$,te=Z[oe+q];e:for(var V=G,ne=G*$;V<ee;++V,ne+=$){var W=Q[ne+q],fe=Q[ne+q+D];if(!(te<W||fe<te)&&!(U&&te===W)){for(var ge=j[V],Ce=q+1;Ce<D;++Ce){var W=Q[ne+Ce],fe=Q[ne+Ce+D],Ne=Z[oe+Ce],pe=Z[oe+Ce+D];if(fe<Ne||pe<W)continue e}var me;if(U?me=N(K,ge):me=N(ge,K),me!==void 0)return me}}}function I(D,q,N,U,G,ee,Q,j,O,Z){var K=2*D,$=j*K,oe=O[$+q];e:for(var te=U,V=U*K;te<G;++te,V+=K){var ne=Q[te];if(ne!==Z){var W=ee[V+q],fe=ee[V+q+D];if(!(oe<W||fe<oe)){for(var ge=q+1;ge<D;++ge){var W=ee[V+ge],fe=ee[V+ge+D],Ce=O[$+ge],Ne=O[$+ge+D];if(fe<Ce||Ne<W)continue e}var pe=N(ne,Z);if(pe!==void 0)return pe}}}}function P(D,q,N,U,G,ee,Q,j,O){C(D,U+Q);var Z=0,K=2*D,$;for(L(Z++,0,0,U,0,Q,N?16:0,-1/0,1/0),N||L(Z++,0,0,Q,0,U,1,-1/0,1/0);Z>0;){Z-=1;var oe=Z*A,te=y[oe],V=y[oe+1],ne=y[oe+2],W=y[oe+3],fe=y[oe+4],ge=y[oe+5],Ce=Z*p,Ne=E[Ce],pe=E[Ce+1],me=ge&1,Ie=!!(ge&16),Re=G,ze=ee,Be=j,tt=O;if(me&&(Re=j,ze=O,Be=G,tt=ee),!(ge&2&&(ne=w(D,te,V,ne,Re,ze,pe),V>=ne))&&!(ge&4&&(V=k(D,te,V,ne,Re,ze,Ne),V>=ne))){var rt=ne-V,ce=fe-W;if(Ie){if(D*rt*(rt+ce)<g){if($=h.scanComplete(D,te,q,V,ne,Re,ze,W,fe,Be,tt),$!==void 0)return $;continue}}else if(D*Math.min(rt,ce)<m){if($=f(D,te,q,me,V,ne,Re,ze,W,fe,Be,tt),$!==void 0)return $;continue}else if(D*rt*ce<b){if($=h.scanBipartite(D,te,q,me,V,ne,Re,ze,W,fe,Be,tt),$!==void 0)return $;continue}var Ee=_(D,te,V,ne,Re,ze,Ne,pe);if(V<Ee)if(D*(Ee-V)<m){if($=c(D,te+1,q,V,Ee,Re,ze,W,fe,Be,tt),$!==void 0)return $}else if(te===D-2){if(me?$=h.sweepBipartite(D,q,W,fe,Be,tt,V,Ee,Re,ze):$=h.sweepBipartite(D,q,V,Ee,Re,ze,W,fe,Be,tt),$!==void 0)return $}else L(Z++,te+1,V,Ee,W,fe,me,-1/0,1/0),L(Z++,te+1,W,fe,V,Ee,me^1,-1/0,1/0);if(Ee<ne){var Ae=d(D,te,W,fe,Be,tt),Pe=Be[K*Ae+te],He=T(D,te,Ae,fe,Be,tt,Pe);if(He<fe&&L(Z++,te,Ee,ne,He,fe,(me|4)+(Ie?16:0),Pe,pe),W<Ae&&L(Z++,te,Ee,ne,W,Ae,(me|2)+(Ie?16:0),Ne,Pe),Ae+1===He){if(Ie?$=I(D,te,q,Ee,ne,Re,ze,Ae,Be,tt[Ae]):$=R(D,te,q,me,Ee,ne,Re,ze,Ae,Be,tt[Ae]),$!==void 0)return $}else if(Ae<He){var Fe;if(Ie){if(Fe=x(D,te,Ee,ne,Re,ze,Pe),Ee<Fe){var ke=T(D,te,Ee,Fe,Re,ze,Pe);if(te===D-2){if(Ee<ke&&($=h.sweepComplete(D,q,Ee,ke,Re,ze,Ae,He,Be,tt),$!==void 0)||ke<Fe&&($=h.sweepBipartite(D,q,ke,Fe,Re,ze,Ae,He,Be,tt),$!==void 0))return $}else Ee<ke&&L(Z++,te+1,Ee,ke,Ae,He,16,-1/0,1/0),ke<Fe&&(L(Z++,te+1,ke,Fe,Ae,He,0,-1/0,1/0),L(Z++,te+1,Ae,He,ke,Fe,1,-1/0,1/0))}}else me?Fe=M(D,te,Ee,ne,Re,ze,Pe):Fe=x(D,te,Ee,ne,Re,ze,Pe),Ee<Fe&&(te===D-2?me?$=h.sweepBipartite(D,q,Ae,He,Be,tt,Ee,Fe,Re,ze):$=h.sweepBipartite(D,q,Ee,Fe,Re,ze,Ae,He,Be,tt):(L(Z++,te+1,Ee,Fe,Ae,He,me,-1/0,1/0),L(Z++,te+1,Ae,He,Ee,Fe,me^1,-1/0,1/0)))}}}}}},3545:function(i,a,o){"use strict";i.exports=c;var s=o(8105),l=s("lo<p0"),u=8;function f(h,d,v,m,b,g){for(var _=2*h,T=_*(v+1)+d,w=v+1;w<m;++w,T+=_)for(var k=b[T],x=w,M=_*(w-1);x>v&&b[M+d]>k;--x,M-=_){for(var A=M,p=M+_,S=0;S<_;++S,++A,++p){var y=b[A];b[A]=b[p],b[p]=y}var E=g[x];g[x]=g[x-1],g[x-1]=E}}function c(h,d,v,m,b,g){if(m<=v+1)return v;for(var _=v,T=m,w=m+v>>>1,k=2*h,x=w,M=b[k*w+d];_<T;){if(T-_<u){f(h,d,_,T,b,g),M=b[k*w+d];break}var A=T-_,p=Math.random()*A+_|0,S=b[k*p+d],y=Math.random()*A+_|0,E=b[k*y+d],C=Math.random()*A+_|0,L=b[k*C+d];S<=E?L>=E?(x=y,M=E):S>=L?(x=p,M=S):(x=C,M=L):E>=L?(x=y,M=E):L>=S?(x=p,M=S):(x=C,M=L);for(var P=k*(T-1),D=k*x,R=0;R<k;++R,++P,++D){var I=b[P];b[P]=b[D],b[D]=I}var q=g[T-1];g[T-1]=g[x],g[x]=q,x=l(h,d,_,T-1,b,g,M);for(var P=k*(T-1),D=k*x,R=0;R<k;++R,++P,++D){var I=b[P];b[P]=b[D],b[D]=I}var q=g[T-1];if(g[T-1]=g[x],g[x]=q,w<x){for(T=x-1;_<T&&b[k*(T-1)+d]===M;)T-=1;T+=1}else if(x<w)for(_=x+1;_<T&&b[k*_+d]===M;)_+=1;else break}return l(h,d,v,w,b,g,b[k*w+d])}},8105:function(i){"use strict";i.exports=o;var a={"lo===p0":s,"lo<p0":l,"lo<=p0":u,"hi<=p0":f,"lo<p0&&p0<=hi":h,"lo<=p0&&p0<=hi":c,"!(lo>=p0)&&!(p1>=hi)":d};function o(v){return a[v]}function s(v,m,b,g,_,T,w){for(var k=2*v,x=k*b,M=x,A=b,p=m,S=v+m,y=b;g>y;++y,x+=k){var E=_[x+p];if(E===w)if(A===y)A+=1,M+=k;else{for(var C=0;k>C;++C){var L=_[x+C];_[x+C]=_[M],_[M++]=L}var R=T[y];T[y]=T[A],T[A++]=R}}return A}function l(v,m,b,g,_,T,w){for(var k=2*v,x=k*b,M=x,A=b,p=m,S=v+m,y=b;g>y;++y,x+=k){var E=_[x+p];if(E<w)if(A===y)A+=1,M+=k;else{for(var C=0;k>C;++C){var L=_[x+C];_[x+C]=_[M],_[M++]=L}var R=T[y];T[y]=T[A],T[A++]=R}}return A}function u(v,m,b,g,_,T,w){for(var k=2*v,x=k*b,M=x,A=b,p=m,S=v+m,y=b;g>y;++y,x+=k){var E=_[x+S];if(E<=w)if(A===y)A+=1,M+=k;else{for(var C=0;k>C;++C){var L=_[x+C];_[x+C]=_[M],_[M++]=L}var R=T[y];T[y]=T[A],T[A++]=R}}return A}function f(v,m,b,g,_,T,w){for(var k=2*v,x=k*b,M=x,A=b,p=m,S=v+m,y=b;g>y;++y,x+=k){var E=_[x+S];if(E<=w)if(A===y)A+=1,M+=k;else{for(var C=0;k>C;++C){var L=_[x+C];_[x+C]=_[M],_[M++]=L}var R=T[y];T[y]=T[A],T[A++]=R}}return A}function c(v,m,b,g,_,T,w){for(var k=2*v,x=k*b,M=x,A=b,p=m,S=v+m,y=b;g>y;++y,x+=k){var E=_[x+p],C=_[x+S];if(E<=w&&w<=C)if(A===y)A+=1,M+=k;else{for(var L=0;k>L;++L){var R=_[x+L];_[x+L]=_[M],_[M++]=R}var I=T[y];T[y]=T[A],T[A++]=I}}return A}function h(v,m,b,g,_,T,w){for(var k=2*v,x=k*b,M=x,A=b,p=m,S=v+m,y=b;g>y;++y,x+=k){var E=_[x+p],C=_[x+S];if(E<w&&w<=C)if(A===y)A+=1,M+=k;else{for(var L=0;k>L;++L){var R=_[x+L];_[x+L]=_[M],_[M++]=R}var I=T[y];T[y]=T[A],T[A++]=I}}return A}function d(v,m,b,g,_,T,w,k){for(var x=2*v,M=x*b,A=M,p=b,S=m,y=v+m,E=b;g>E;++E,M+=x){var C=_[M+S],L=_[M+y];if(!(C>=w)&&!(k>=L))if(p===E)p+=1,A+=x;else{for(var R=0;x>R;++R){var I=_[M+R];_[M+R]=_[A],_[A++]=I}var P=T[E];T[E]=T[p],T[p++]=P}}return p}},1811:function(i){"use strict";i.exports=o;var a=32;function o(m,b){b<=4*a?s(0,b-1,m):v(0,b-1,m)}function s(m,b,g){for(var _=2*(m+1),T=m+1;T<=b;++T){for(var w=g[_++],k=g[_++],x=T,M=_-2;x-- >m;){var A=g[M-2],p=g[M-1];if(A<w)break;if(A===w&&p<k)break;g[M]=A,g[M+1]=p,M-=2}g[M]=w,g[M+1]=k}}function l(m,b,g){m*=2,b*=2;var _=g[m],T=g[m+1];g[m]=g[b],g[m+1]=g[b+1],g[b]=_,g[b+1]=T}function u(m,b,g){m*=2,b*=2,g[m]=g[b],g[m+1]=g[b+1]}function f(m,b,g,_){m*=2,b*=2,g*=2;var T=_[m],w=_[m+1];_[m]=_[b],_[m+1]=_[b+1],_[b]=_[g],_[b+1]=_[g+1],_[g]=T,_[g+1]=w}function c(m,b,g,_,T){m*=2,b*=2,T[m]=T[b],T[b]=g,T[m+1]=T[b+1],T[b+1]=_}function h(m,b,g){m*=2,b*=2;var _=g[m],T=g[b];return _<T?!1:_===T?g[m+1]>g[b+1]:!0}function d(m,b,g,_){m*=2;var T=_[m];return T<b?!0:T===b?_[m+1]<g:!1}function v(m,b,g){var _=(b-m+1)/6|0,T=m+_,w=b-_,k=m+b>>1,x=k-_,M=k+_,A=T,p=x,S=k,y=M,E=w,C=m+1,L=b-1,R=0;h(A,p,g)&&(R=A,A=p,p=R),h(y,E,g)&&(R=y,y=E,E=R),h(A,S,g)&&(R=A,A=S,S=R),h(p,S,g)&&(R=p,p=S,S=R),h(A,y,g)&&(R=A,A=y,y=R),h(S,y,g)&&(R=S,S=y,y=R),h(p,E,g)&&(R=p,p=E,E=R),h(p,S,g)&&(R=p,p=S,S=R),h(y,E,g)&&(R=y,y=E,E=R);for(var I=g[2*p],P=g[2*p+1],D=g[2*y],q=g[2*y+1],N=2*A,U=2*S,G=2*E,ee=2*T,Q=2*k,j=2*w,O=0;O<2;++O){var Z=g[N+O],K=g[U+O],$=g[G+O];g[ee+O]=Z,g[Q+O]=K,g[j+O]=$}u(x,m,g),u(M,b,g);for(var oe=C;oe<=L;++oe)if(d(oe,I,P,g))oe!==C&&l(oe,C,g),++C;else if(!d(oe,D,q,g))for(;;)if(d(L,D,q,g)){d(L,I,P,g)?(f(oe,C,L,g),++C,--L):(l(oe,L,g),--L);break}else{if(--L<oe)break;continue}c(m,C-1,I,P,g),c(b,L+1,D,q,g),C-2-m<=a?s(m,C-2,g):v(m,C-2,g),b-(L+2)<=a?s(L+2,b,g):v(L+2,b,g),L-C<=a?s(C,L,g):v(C,L,g)}},855:function(i,a,o){"use strict";i.exports={init:T,sweepBipartite:x,sweepComplete:M,scanBipartite:A,scanComplete:p};var s=o(1888),l=o(8828),u=o(1811),f=1<<28,c=1024,h=s.mallocInt32(c),d=s.mallocInt32(c),v=s.mallocInt32(c),m=s.mallocInt32(c),b=s.mallocInt32(c),g=s.mallocInt32(c),_=s.mallocDouble(c*8);function T(S){var y=l.nextPow2(S);h.length<y&&(s.free(h),h=s.mallocInt32(y)),d.length<y&&(s.free(d),d=s.mallocInt32(y)),v.length<y&&(s.free(v),v=s.mallocInt32(y)),m.length<y&&(s.free(m),m=s.mallocInt32(y)),b.length<y&&(s.free(b),b=s.mallocInt32(y)),g.length<y&&(s.free(g),g=s.mallocInt32(y));var E=8*y;_.length<E&&(s.free(_),_=s.mallocDouble(E))}function w(S,y,E,C){var L=y[C],R=S[E-1];S[L]=R,y[R]=L}function k(S,y,E,C){S[E]=C,y[C]=E}function x(S,y,E,C,L,R,I,P,D,q){for(var N=0,U=2*S,G=S-1,ee=U-1,Q=E;Q<C;++Q){var j=R[Q],O=U*Q;_[N++]=L[O+G],_[N++]=-(j+1),_[N++]=L[O+ee],_[N++]=j}for(var Q=I;Q<P;++Q){var j=q[Q]+f,Z=U*Q;_[N++]=D[Z+G],_[N++]=-j,_[N++]=D[Z+ee],_[N++]=j}var K=N>>>1;u(_,K);for(var $=0,oe=0,Q=0;Q<K;++Q){var te=_[2*Q+1]|0;if(te>=f)te=te-f|0,w(v,m,oe--,te);else if(te>=0)w(h,d,$--,te);else if(te<=-f){te=-te-f|0;for(var V=0;V<$;++V){var ne=y(h[V],te);if(ne!==void 0)return ne}k(v,m,oe++,te)}else{te=-te-1|0;for(var V=0;V<oe;++V){var ne=y(te,v[V]);if(ne!==void 0)return ne}k(h,d,$++,te)}}}function M(S,y,E,C,L,R,I,P,D,q){for(var N=0,U=2*S,G=S-1,ee=U-1,Q=E;Q<C;++Q){var j=R[Q]+1<<1,O=U*Q;_[N++]=L[O+G],_[N++]=-j,_[N++]=L[O+ee],_[N++]=j}for(var Q=I;Q<P;++Q){var j=q[Q]+1<<1,Z=U*Q;_[N++]=D[Z+G],_[N++]=-j|1,_[N++]=D[Z+ee],_[N++]=j|1}var K=N>>>1;u(_,K);for(var $=0,oe=0,te=0,Q=0;Q<K;++Q){var V=_[2*Q+1]|0,ne=V&1;if(Q<K-1&&V>>1===_[2*Q+3]>>1&&(ne=2,Q+=1),V<0){for(var W=-(V>>1)-1,fe=0;fe<te;++fe){var ge=y(b[fe],W);if(ge!==void 0)return ge}if(ne!==0)for(var fe=0;fe<$;++fe){var ge=y(h[fe],W);if(ge!==void 0)return ge}if(ne!==1)for(var fe=0;fe<oe;++fe){var ge=y(v[fe],W);if(ge!==void 0)return ge}ne===0?k(h,d,$++,W):ne===1?k(v,m,oe++,W):ne===2&&k(b,g,te++,W)}else{var W=(V>>1)-1;ne===0?w(h,d,$--,W):ne===1?w(v,m,oe--,W):ne===2&&w(b,g,te--,W)}}}function A(S,y,E,C,L,R,I,P,D,q,N,U){var G=0,ee=2*S,Q=y,j=y+S,O=1,Z=1;C?Z=f:O=f;for(var K=L;K<R;++K){var $=K+O,oe=ee*K;_[G++]=I[oe+Q],_[G++]=-$,_[G++]=I[oe+j],_[G++]=$}for(var K=D;K<q;++K){var $=K+Z,te=ee*K;_[G++]=N[te+Q],_[G++]=-$}var V=G>>>1;u(_,V);for(var ne=0,K=0;K<V;++K){var W=_[2*K+1]|0;if(W<0){var $=-W,fe=!1;if($>=f?(fe=!C,$-=f):(fe=!!C,$-=1),fe)k(h,d,ne++,$);else{var ge=U[$],Ce=ee*$,Ne=N[Ce+y+1],pe=N[Ce+y+1+S];e:for(var me=0;me<ne;++me){var Ie=h[me],Re=ee*Ie;if(!(pe<I[Re+y+1]||I[Re+y+1+S]<Ne)){for(var ze=y+2;ze<S;++ze)if(N[Ce+ze+S]<I[Re+ze]||I[Re+ze+S]<N[Ce+ze])continue e;var Be=P[Ie],tt;if(C?tt=E(ge,Be):tt=E(Be,ge),tt!==void 0)return tt}}}}else w(h,d,ne--,W-O)}}function p(S,y,E,C,L,R,I,P,D,q,N){for(var U=0,G=2*S,ee=y,Q=y+S,j=C;j<L;++j){var O=j+f,Z=G*j;_[U++]=R[Z+ee],_[U++]=-O,_[U++]=R[Z+Q],_[U++]=O}for(var j=P;j<D;++j){var O=j+1,K=G*j;_[U++]=q[K+ee],_[U++]=-O}var $=U>>>1;u(_,$);for(var oe=0,j=0;j<$;++j){var te=_[2*j+1]|0;if(te<0){var O=-te;if(O>=f)h[oe++]=O-f;else{O-=1;var V=N[O],ne=G*O,W=q[ne+y+1],fe=q[ne+y+1+S];e:for(var ge=0;ge<oe;++ge){var Ce=h[ge],Ne=I[Ce];if(Ne===V)break;var pe=G*Ce;if(!(fe<R[pe+y+1]||R[pe+y+1+S]<W)){for(var me=y+2;me<S;++me)if(q[ne+me+S]<R[pe+me]||R[pe+me+S]<q[ne+me])continue e;var Ie=E(Ne,V);if(Ie!==void 0)return Ie}}}}else{for(var O=te-f,ge=oe-1;ge>=0;--ge)if(h[ge]===O){for(var me=ge+1;me<oe;++me)h[me-1]=h[me];break}--oe}}}},2538:function(i,a,o){"use strict";var s=o(8902),l=o(5542),u=o(2272),f=o(5023);i.exports=m;function c(b){return[Math.min(b[0],b[1]),Math.max(b[0],b[1])]}function h(b,g){return b[0]-g[0]||b[1]-g[1]}function d(b){return b.map(c).sort(h)}function v(b,g,_){return g in b?b[g]:_}function m(b,g,_){Array.isArray(g)?(_=_||{},g=g||[]):(_=g||{},g=[]);var T=!!v(_,"delaunay",!0),w=!!v(_,"interior",!0),k=!!v(_,"exterior",!0),x=!!v(_,"infinity",!1);if(!w&&!k||b.length===0)return[];var M=s(b,g);if(T||w!==k||x){for(var A=l(b.length,d(g)),p=0;p<M.length;++p){var S=M[p];A.addTriangle(S[0],S[1],S[2])}return T&&u(b,A),k?w?x?f(A,0,x):A.cells():f(A,1,x):f(A,-1)}else return M}},2272:function(i,a,o){"use strict";var s=o(2646)[4],l=o(2478);i.exports=f;function u(c,h,d,v,m,b){var g=h.opposite(v,m);if(!(g<0)){if(m<v){var _=v;v=m,m=_,_=b,b=g,g=_}h.isConstraint(v,m)||s(c[v],c[m],c[b],c[g])<0&&d.push(v,m)}}function f(c,h){for(var d=[],v=c.length,m=h.stars,b=0;b<v;++b)for(var g=m[b],_=1;_<g.length;_+=2){var T=g[_];if(!(T<b)&&!h.isConstraint(b,T)){for(var w=g[_-1],k=-1,x=1;x<g.length;x+=2)if(g[x-1]===T){k=g[x];break}k<0||s(c[b],c[T],c[w],c[k])<0&&d.push(b,T)}}for(;d.length>0;){for(var T=d.pop(),b=d.pop(),w=-1,k=-1,g=m[b],M=1;M<g.length;M+=2){var A=g[M-1],p=g[M];A===T?k=p:p===T&&(w=A)}w<0||k<0||s(c[b],c[T],c[w],c[k])>=0||(h.flip(b,T),u(c,h,d,w,b,k),u(c,h,d,b,k,w),u(c,h,d,k,T,w),u(c,h,d,T,w,k))}}},5023:function(i,a,o){"use strict";var s=o(2478);i.exports=d;function l(v,m,b,g,_,T,w){this.cells=v,this.neighbor=m,this.flags=g,this.constraint=b,this.active=_,this.next=T,this.boundary=w}var u=l.prototype;function f(v,m){return v[0]-m[0]||v[1]-m[1]||v[2]-m[2]}u.locate=function(){var v=[0,0,0];return function(m,b,g){var _=m,T=b,w=g;return b<g?b<m&&(_=b,T=g,w=m):g<m&&(_=g,T=m,w=b),_<0?-1:(v[0]=_,v[1]=T,v[2]=w,s.eq(this.cells,v,f))}}();function c(v,m){for(var b=v.cells(),g=b.length,_=0;_<g;++_){var T=b[_],w=T[0],k=T[1],x=T[2];k<x?k<w&&(T[0]=k,T[1]=x,T[2]=w):x<w&&(T[0]=x,T[1]=w,T[2]=k)}b.sort(f);for(var M=new Array(g),_=0;_<M.length;++_)M[_]=0;var A=[],p=[],S=new Array(3*g),y=new Array(3*g),E=null;m&&(E=[]);for(var C=new l(b,S,y,M,A,p,E),_=0;_<g;++_)for(var T=b[_],L=0;L<3;++L){var w=T[L],k=T[(L+1)%3],R=S[3*_+L]=C.locate(k,w,v.opposite(k,w)),I=y[3*_+L]=v.isConstraint(w,k);R<0&&(I?p.push(_):(A.push(_),M[_]=1),m&&E.push([k,w,-1]))}return C}function h(v,m,b){for(var g=0,_=0;_<v.length;++_)m[_]===b&&(v[g++]=v[_]);return v.length=g,v}function d(v,m,b){var g=c(v,b);if(m===0)return b?g.cells.concat(g.boundary):g.cells;for(var _=1,T=g.active,w=g.next,k=g.flags,x=g.cells,M=g.constraint,A=g.neighbor;T.length>0||w.length>0;){for(;T.length>0;){var p=T.pop();if(k[p]!==-_){k[p]=_;for(var S=x[p],y=0;y<3;++y){var E=A[3*p+y];E>=0&&k[E]===0&&(M[3*p+y]?w.push(E):(T.push(E),k[E]=_))}}}var C=w;w=T,T=C,w.length=0,_=-_}var L=h(x,k,m);return b?L.concat(g.boundary):L}},8902:function(i,a,o){"use strict";var s=o(2478),l=o(3250)[3],u=0,f=1,c=2;i.exports=w;function h(k,x,M,A,p){this.a=k,this.b=x,this.idx=M,this.lowerIds=A,this.upperIds=p}function d(k,x,M,A){this.a=k,this.b=x,this.type=M,this.idx=A}function v(k,x){var M=k.a[0]-x.a[0]||k.a[1]-x.a[1]||k.type-x.type;return M||k.type!==u&&(M=l(k.a,k.b,x.b),M)?M:k.idx-x.idx}function m(k,x){return l(k.a,k.b,x)}function b(k,x,M,A,p){for(var S=s.lt(x,A,m),y=s.gt(x,A,m),E=S;E<y;++E){for(var C=x[E],L=C.lowerIds,I=L.length;I>1&&l(M[L[I-2]],M[L[I-1]],A)>0;)k.push([L[I-1],L[I-2],p]),I-=1;L.length=I,L.push(p);for(var R=C.upperIds,I=R.length;I>1&&l(M[R[I-2]],M[R[I-1]],A)<0;)k.push([R[I-2],R[I-1],p]),I-=1;R.length=I,R.push(p)}}function g(k,x){var M;return k.a[0]<x.a[0]?M=l(k.a,k.b,x.a):M=l(x.b,x.a,k.a),M||(x.b[0]<k.b[0]?M=l(k.a,k.b,x.b):M=l(x.b,x.a,k.b),M||k.idx-x.idx)}function _(k,x,M){var A=s.le(k,M,g),p=k[A],S=p.upperIds,y=S[S.length-1];p.upperIds=[y],k.splice(A+1,0,new h(M.a,M.b,M.idx,[y],S))}function T(k,x,M){var A=M.a;M.a=M.b,M.b=A;var p=s.eq(k,M,g),S=k[p],y=k[p-1];y.upperIds=S.upperIds,k.splice(p,1)}function w(k,x){for(var M=k.length,A=x.length,p=[],S=0;S<M;++S)p.push(new d(k[S],null,u,S));for(var S=0;S<A;++S){var y=x[S],E=k[y[0]],C=k[y[1]];E[0]<C[0]?p.push(new d(E,C,c,S),new d(C,E,f,S)):E[0]>C[0]&&p.push(new d(C,E,c,S),new d(E,C,f,S))}p.sort(v);for(var L=p[0].a[0]-(1+Math.abs(p[0].a[0]))*Math.pow(2,-52),R=[new h([L,1],[L,0],-1,[],[],[],[])],I=[],S=0,P=p.length;S<P;++S){var D=p[S],q=D.type;q===u?b(I,R,k,D.a,D.idx):q===c?_(R,k,D):T(R,k,D)}return I}},5542:function(i,a,o){"use strict";var s=o(2478);i.exports=c;function l(h,d){this.stars=h,this.edges=d}var u=l.prototype;function f(h,d,v){for(var m=1,b=h.length;m<b;m+=2)if(h[m-1]===d&&h[m]===v){h[m-1]=h[b-2],h[m]=h[b-1],h.length=b-2;return}}u.isConstraint=function(){var h=[0,0];function d(v,m){return v[0]-m[0]||v[1]-m[1]}return function(v,m){return h[0]=Math.min(v,m),h[1]=Math.max(v,m),s.eq(this.edges,h,d)>=0}}(),u.removeTriangle=function(h,d,v){var m=this.stars;f(m[h],d,v),f(m[d],v,h),f(m[v],h,d)},u.addTriangle=function(h,d,v){var m=this.stars;m[h].push(d,v),m[d].push(v,h),m[v].push(h,d)},u.opposite=function(h,d){for(var v=this.stars[d],m=1,b=v.length;m<b;m+=2)if(v[m]===h)return v[m-1];return-1},u.flip=function(h,d){var v=this.opposite(h,d),m=this.opposite(d,h);this.removeTriangle(h,d,v),this.removeTriangle(d,h,m),this.addTriangle(h,m,v),this.addTriangle(d,v,m)},u.edges=function(){for(var h=this.stars,d=[],v=0,m=h.length;v<m;++v)for(var b=h[v],g=0,_=b.length;g<_;g+=2)d.push([b[g],b[g+1]]);return d},u.cells=function(){for(var h=this.stars,d=[],v=0,m=h.length;v<m;++v)for(var b=h[v],g=0,_=b.length;g<_;g+=2){var T=b[g],w=b[g+1];v<Math.min(T,w)&&d.push([v,T,w])}return d};function c(h,d){for(var v=new Array(h),m=0;m<h;++m)v[m]=[];return new l(v,d)}},2419:function(i){"use strict";i.exports=a;function a(o){for(var s=1,l=1;l<o.length;++l)for(var u=0;u<l;++u)if(o[l]<o[u])s=-s;else if(o[u]===o[l])return 0;return s}},3628:function(i,a,o){"use strict";var s=o(1338),l=o(727);function u(h,d){for(var v=0,m=h.length,b=0;b<m;++b)v+=h[b]*d[b];return v}function f(h){var d=h.length;if(d===0)return[];var v=h[0].length,m=s([h.length+1,h.length+1],1),b=s([h.length+1],1);m[d][d]=0;for(var g=0;g<d;++g){for(var _=0;_<=g;++_)m[_][g]=m[g][_]=2*u(h[g],h[_]);b[g]=u(h[g],h[g])}for(var T=l(m,b),w=0,k=T[d+1],g=0;g<k.length;++g)w+=k[g];for(var x=new Array(d),g=0;g<d;++g){for(var k=T[g],M=0,_=0;_<k.length;++_)M+=k[_];x[g]=M/w}return x}function c(h){if(h.length===0)return[];for(var d=h[0].length,v=s([d]),m=f(h),b=0;b<h.length;++b)for(var g=0;g<d;++g)v[g]+=h[b][g]*m[b];return v}c.barycenetric=f,i.exports=c},6037:function(i,a,o){i.exports=l;var s=o(3628);function l(u){for(var f=s(u),c=0,h=0;h<u.length;++h)for(var d=u[h],v=0;v<f.length;++v)c+=Math.pow(d[v]-f[v],2);return Math.sqrt(c/u.length)}},332:function(i,a,o){"use strict";i.exports=E;var s=o(1755),l=o(6867),u=o(1125),f=o(7842),c=o(1318),h=o(946),d=o(5838),v=o(1278),m=o(3637);function b(C){var L=h(C);return[v(L,-1/0),v(L,1/0)]}function g(C,L){for(var R=new Array(L.length),I=0;I<L.length;++I){var P=L[I],D=C[P[0]],q=C[P[1]];R[I]=[v(Math.min(D[0],q[0]),-1/0),v(Math.min(D[1],q[1]),-1/0),v(Math.max(D[0],q[0]),1/0),v(Math.max(D[1],q[1]),1/0)]}return R}function _(C){for(var L=new Array(C.length),R=0;R<C.length;++R){var I=C[R];L[R]=[v(I[0],-1/0),v(I[1],-1/0),v(I[0],1/0),v(I[1],1/0)]}return L}function T(C,L,R){var I=[];return l(R,function(P,D){var q=L[P],N=L[D];if(!(q[0]===N[0]||q[0]===N[1]||q[1]===N[0]||q[1]===N[1])){var U=C[q[0]],G=C[q[1]],ee=C[N[0]],Q=C[N[1]];u(U,G,ee,Q)&&I.push([P,D])}}),I}function w(C,L,R,I){var P=[];return l(R,I,function(D,q){var N=L[D];if(!(N[0]===q||N[1]===q)){var U=C[q],G=C[N[0]],ee=C[N[1]];u(G,ee,U,U)&&P.push([D,q])}}),P}function k(C,L,R,I,P){var D,q,N=C.map(function(Ce){return[f(Ce[0]),f(Ce[1])]});for(D=0;D<R.length;++D){var U=R[D];q=U[0];var G=U[1],ee=L[q],Q=L[G],j=m(d(C[ee[0]]),d(C[ee[1]]),d(C[Q[0]]),d(C[Q[1]]));if(j){var O=C.length;C.push([h(j[0]),h(j[1])]),N.push(j),I.push([q,O],[G,O])}}for(I.sort(function(Ce,Ne){if(Ce[0]!==Ne[0])return Ce[0]-Ne[0];var pe=N[Ce[1]],me=N[Ne[1]];return c(pe[0],me[0])||c(pe[1],me[1])}),D=I.length-1;D>=0;--D){var Z=I[D];q=Z[0];var K=L[q],$=K[0],oe=K[1],te=C[$],V=C[oe];if((te[0]-V[0]||te[1]-V[1])<0){var ne=$;$=oe,oe=ne}K[0]=$;var W=K[1]=Z[1],fe;for(P&&(fe=K[2]);D>0&&I[D-1][0]===q;){var Z=I[--D],ge=Z[1];P?L.push([W,ge,fe]):L.push([W,ge]),W=ge}P?L.push([W,oe,fe]):L.push([W,oe])}return N}function x(C,L,R){for(var I=L.length,P=new s(I),D=[],q=0;q<L.length;++q){var N=L[q],U=b(N[0]),G=b(N[1]);D.push([v(U[0],-1/0),v(G[0],-1/0),v(U[1],1/0),v(G[1],1/0)])}l(D,function(Z,K){P.link(Z,K)});for(var ee=!0,Q=new Array(I),q=0;q<I;++q){var j=P.find(q);j!==q&&(ee=!1,C[j]=[Math.min(C[q][0],C[j][0]),Math.min(C[q][1],C[j][1])])}if(ee)return null;for(var O=0,q=0;q<I;++q){var j=P.find(q);j===q?(Q[q]=O,C[O++]=C[q]):Q[q]=-1}C.length=O;for(var q=0;q<I;++q)Q[q]<0&&(Q[q]=Q[P.find(q)]);return Q}function M(C,L){return C[0]-L[0]||C[1]-L[1]}function A(C,L){var R=C[0]-L[0]||C[1]-L[1];return R||(C[2]<L[2]?-1:C[2]>L[2]?1:0)}function p(C,L,R){if(C.length!==0){if(L)for(var I=0;I<C.length;++I){var P=C[I],D=L[P[0]],q=L[P[1]];P[0]=Math.min(D,q),P[1]=Math.max(D,q)}else for(var I=0;I<C.length;++I){var P=C[I],D=P[0],q=P[1];P[0]=Math.min(D,q),P[1]=Math.max(D,q)}R?C.sort(A):C.sort(M);for(var N=1,I=1;I<C.length;++I){var U=C[I-1],G=C[I];G[0]===U[0]&&G[1]===U[1]&&(!R||G[2]===U[2])||(C[N++]=G)}C.length=N}}function S(C,L,R){var I=x(C,[],_(C));return p(L,I,R),!!I}function y(C,L,R){var I=g(C,L),P=T(C,L,I),D=_(C),q=w(C,L,I,D),N=k(C,L,P,q,R),U=x(C,N,D);return p(L,U,R),U?!0:P.length>0||q.length>0}function E(C,L,R){var I;if(R){I=L;for(var P=new Array(L.length),D=0;D<L.length;++D){var q=L[D];P[D]=[q[0],q[1],R[D]]}L=P}for(var N=S(C,L,!!R);y(C,L,!!R);)N=!0;if(R&&N){I.length=0,R.length=0;for(var D=0;D<L.length;++D){var q=L[D];I.push([q[0],q[1]]),R.push(q[2])}}return N}},3637:function(i,a,o){"use strict";i.exports=m;var s=o(6504),l=o(8697),u=o(5572),f=o(7721),c=o(544),h=o(2653),d=o(8987);function v(b,g){return u(s(b[0],g[1]),s(b[1],g[0]))}function m(b,g,_,T){var w=c(g,b),k=c(T,_),x=v(w,k);if(f(x)===0)return null;var M=c(b,_),A=v(k,M),p=l(A,x),S=d(w,p),y=h(b,S);return y}},3642:function(i){i.exports={jet:[{index:0,rgb:[0,0,131]},{index:.125,rgb:[0,60,170]},{index:.375,rgb:[5,255,255]},{index:.625,rgb:[255,255,0]},{index:.875,rgb:[250,0,0]},{index:1,rgb:[128,0,0]}],hsv:[{index:0,rgb:[255,0,0]},{index:.169,rgb:[253,255,2]},{index:.173,rgb:[247,255,2]},{index:.337,rgb:[0,252,4]},{index:.341,rgb:[0,252,10]},{index:.506,rgb:[1,249,255]},{index:.671,rgb:[2,0,253]},{index:.675,rgb:[8,0,253]},{index:.839,rgb:[255,0,251]},{index:.843,rgb:[255,0,245]},{index:1,rgb:[255,0,6]}],hot:[{index:0,rgb:[0,0,0]},{index:.3,rgb:[230,0,0]},{index:.6,rgb:[255,210,0]},{index:1,rgb:[255,255,255]}],spring:[{index:0,rgb:[255,0,255]},{index:1,rgb:[255,255,0]}],summer:[{index:0,rgb:[0,128,102]},{index:1,rgb:[255,255,102]}],autumn:[{index:0,rgb:[255,0,0]},{index:1,rgb:[255,255,0]}],winter:[{index:0,rgb:[0,0,255]},{index:1,rgb:[0,255,128]}],bone:[{index:0,rgb:[0,0,0]},{index:.376,rgb:[84,84,116]},{index:.753,rgb:[169,200,200]},{index:1,rgb:[255,255,255]}],copper:[{index:0,rgb:[0,0,0]},{index:.804,rgb:[255,160,102]},{index:1,rgb:[255,199,127]}],greys:[{index:0,rgb:[0,0,0]},{index:1,rgb:[255,255,255]}],yignbu:[{index:0,rgb:[8,29,88]},{index:.125,rgb:[37,52,148]},{index:.25,rgb:[34,94,168]},{index:.375,rgb:[29,145,192]},{index:.5,rgb:[65,182,196]},{index:.625,rgb:[127,205,187]},{index:.75,rgb:[199,233,180]},{index:.875,rgb:[237,248,217]},{index:1,rgb:[255,255,217]}],greens:[{index:0,rgb:[0,68,27]},{index:.125,rgb:[0,109,44]},{index:.25,rgb:[35,139,69]},{index:.375,rgb:[65,171,93]},{index:.5,rgb:[116,196,118]},{index:.625,rgb:[161,217,155]},{index:.75,rgb:[199,233,192]},{index:.875,rgb:[229,245,224]},{index:1,rgb:[247,252,245]}],yiorrd:[{index:0,rgb:[128,0,38]},{index:.125,rgb:[189,0,38]},{index:.25,rgb:[227,26,28]},{index:.375,rgb:[252,78,42]},{index:.5,rgb:[253,141,60]},{index:.625,rgb:[254,178,76]},{index:.75,rgb:[254,217,118]},{index:.875,rgb:[255,237,160]},{index:1,rgb:[255,255,204]}],bluered:[{index:0,rgb:[0,0,255]},{index:1,rgb:[255,0,0]}],rdbu:[{index:0,rgb:[5,10,172]},{index:.35,rgb:[106,137,247]},{index:.5,rgb:[190,190,190]},{index:.6,rgb:[220,170,132]},{index:.7,rgb:[230,145,90]},{index:1,rgb:[178,10,28]}],picnic:[{index:0,rgb:[0,0,255]},{index:.1,rgb:[51,153,255]},{index:.2,rgb:[102,204,255]},{index:.3,rgb:[153,204,255]},{index:.4,rgb:[204,204,255]},{index:.5,rgb:[255,255,255]},{index:.6,rgb:[255,204,255]},{index:.7,rgb:[255,153,255]},{index:.8,rgb:[255,102,204]},{index:.9,rgb:[255,102,102]},{index:1,rgb:[255,0,0]}],rainbow:[{index:0,rgb:[150,0,90]},{index:.125,rgb:[0,0,200]},{index:.25,rgb:[0,25,255]},{index:.375,rgb:[0,152,255]},{index:.5,rgb:[44,255,150]},{index:.625,rgb:[151,255,0]},{index:.75,rgb:[255,234,0]},{index:.875,rgb:[255,111,0]},{index:1,rgb:[255,0,0]}],portland:[{index:0,rgb:[12,51,131]},{index:.25,rgb:[10,136,186]},{index:.5,rgb:[242,211,56]},{index:.75,rgb:[242,143,56]},{index:1,rgb:[217,30,30]}],blackbody:[{index:0,rgb:[0,0,0]},{index:.2,rgb:[230,0,0]},{index:.4,rgb:[230,210,0]},{index:.7,rgb:[255,255,255]},{index:1,rgb:[160,200,255]}],earth:[{index:0,rgb:[0,0,130]},{index:.1,rgb:[0,180,180]},{index:.2,rgb:[40,210,40]},{index:.4,rgb:[230,230,50]},{index:.6,rgb:[120,70,20]},{index:1,rgb:[255,255,255]}],electric:[{index:0,rgb:[0,0,0]},{index:.15,rgb:[30,0,100]},{index:.4,rgb:[120,0,100]},{index:.6,rgb:[160,90,0]},{index:.8,rgb:[230,200,0]},{index:1,rgb:[255,250,220]}],alpha:[{index:0,rgb:[255,255,255,0]},{index:1,rgb:[255,255,255,1]}],viridis:[{index:0,rgb:[68,1,84]},{index:.13,rgb:[71,44,122]},{index:.25,rgb:[59,81,139]},{index:.38,rgb:[44,113,142]},{index:.5,rgb:[33,144,141]},{index:.63,rgb:[39,173,129]},{index:.75,rgb:[92,200,99]},{index:.88,rgb:[170,220,50]},{index:1,rgb:[253,231,37]}],inferno:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[31,12,72]},{index:.25,rgb:[85,15,109]},{index:.38,rgb:[136,34,106]},{index:.5,rgb:[186,54,85]},{index:.63,rgb:[227,89,51]},{index:.75,rgb:[249,140,10]},{index:.88,rgb:[249,201,50]},{index:1,rgb:[252,255,164]}],magma:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[28,16,68]},{index:.25,rgb:[79,18,123]},{index:.38,rgb:[129,37,129]},{index:.5,rgb:[181,54,122]},{index:.63,rgb:[229,80,100]},{index:.75,rgb:[251,135,97]},{index:.88,rgb:[254,194,135]},{index:1,rgb:[252,253,191]}],plasma:[{index:0,rgb:[13,8,135]},{index:.13,rgb:[75,3,161]},{index:.25,rgb:[125,3,168]},{index:.38,rgb:[168,34,150]},{index:.5,rgb:[203,70,121]},{index:.63,rgb:[229,107,93]},{index:.75,rgb:[248,148,65]},{index:.88,rgb:[253,195,40]},{index:1,rgb:[240,249,33]}],warm:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[172,0,187]},{index:.25,rgb:[219,0,170]},{index:.38,rgb:[255,0,130]},{index:.5,rgb:[255,63,74]},{index:.63,rgb:[255,123,0]},{index:.75,rgb:[234,176,0]},{index:.88,rgb:[190,228,0]},{index:1,rgb:[147,255,0]}],cool:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[116,0,218]},{index:.25,rgb:[98,74,237]},{index:.38,rgb:[68,146,231]},{index:.5,rgb:[0,204,197]},{index:.63,rgb:[0,247,146]},{index:.75,rgb:[0,255,88]},{index:.88,rgb:[40,255,8]},{index:1,rgb:[147,255,0]}],"rainbow-soft":[{index:0,rgb:[125,0,179]},{index:.1,rgb:[199,0,180]},{index:.2,rgb:[255,0,121]},{index:.3,rgb:[255,108,0]},{index:.4,rgb:[222,194,0]},{index:.5,rgb:[150,255,0]},{index:.6,rgb:[0,255,55]},{index:.7,rgb:[0,246,150]},{index:.8,rgb:[50,167,222]},{index:.9,rgb:[103,51,235]},{index:1,rgb:[124,0,186]}],bathymetry:[{index:0,rgb:[40,26,44]},{index:.13,rgb:[59,49,90]},{index:.25,rgb:[64,76,139]},{index:.38,rgb:[63,110,151]},{index:.5,rgb:[72,142,158]},{index:.63,rgb:[85,174,163]},{index:.75,rgb:[120,206,163]},{index:.88,rgb:[187,230,172]},{index:1,rgb:[253,254,204]}],cdom:[{index:0,rgb:[47,15,62]},{index:.13,rgb:[87,23,86]},{index:.25,rgb:[130,28,99]},{index:.38,rgb:[171,41,96]},{index:.5,rgb:[206,67,86]},{index:.63,rgb:[230,106,84]},{index:.75,rgb:[242,149,103]},{index:.88,rgb:[249,193,135]},{index:1,rgb:[254,237,176]}],chlorophyll:[{index:0,rgb:[18,36,20]},{index:.13,rgb:[25,63,41]},{index:.25,rgb:[24,91,59]},{index:.38,rgb:[13,119,72]},{index:.5,rgb:[18,148,80]},{index:.63,rgb:[80,173,89]},{index:.75,rgb:[132,196,122]},{index:.88,rgb:[175,221,162]},{index:1,rgb:[215,249,208]}],density:[{index:0,rgb:[54,14,36]},{index:.13,rgb:[89,23,80]},{index:.25,rgb:[110,45,132]},{index:.38,rgb:[120,77,178]},{index:.5,rgb:[120,113,213]},{index:.63,rgb:[115,151,228]},{index:.75,rgb:[134,185,227]},{index:.88,rgb:[177,214,227]},{index:1,rgb:[230,241,241]}],"freesurface-blue":[{index:0,rgb:[30,4,110]},{index:.13,rgb:[47,14,176]},{index:.25,rgb:[41,45,236]},{index:.38,rgb:[25,99,212]},{index:.5,rgb:[68,131,200]},{index:.63,rgb:[114,156,197]},{index:.75,rgb:[157,181,203]},{index:.88,rgb:[200,208,216]},{index:1,rgb:[241,237,236]}],"freesurface-red":[{index:0,rgb:[60,9,18]},{index:.13,rgb:[100,17,27]},{index:.25,rgb:[142,20,29]},{index:.38,rgb:[177,43,27]},{index:.5,rgb:[192,87,63]},{index:.63,rgb:[205,125,105]},{index:.75,rgb:[216,162,148]},{index:.88,rgb:[227,199,193]},{index:1,rgb:[241,237,236]}],oxygen:[{index:0,rgb:[64,5,5]},{index:.13,rgb:[106,6,15]},{index:.25,rgb:[144,26,7]},{index:.38,rgb:[168,64,3]},{index:.5,rgb:[188,100,4]},{index:.63,rgb:[206,136,11]},{index:.75,rgb:[220,174,25]},{index:.88,rgb:[231,215,44]},{index:1,rgb:[248,254,105]}],par:[{index:0,rgb:[51,20,24]},{index:.13,rgb:[90,32,35]},{index:.25,rgb:[129,44,34]},{index:.38,rgb:[159,68,25]},{index:.5,rgb:[182,99,19]},{index:.63,rgb:[199,134,22]},{index:.75,rgb:[212,171,35]},{index:.88,rgb:[221,210,54]},{index:1,rgb:[225,253,75]}],phase:[{index:0,rgb:[145,105,18]},{index:.13,rgb:[184,71,38]},{index:.25,rgb:[186,58,115]},{index:.38,rgb:[160,71,185]},{index:.5,rgb:[110,97,218]},{index:.63,rgb:[50,123,164]},{index:.75,rgb:[31,131,110]},{index:.88,rgb:[77,129,34]},{index:1,rgb:[145,105,18]}],salinity:[{index:0,rgb:[42,24,108]},{index:.13,rgb:[33,50,162]},{index:.25,rgb:[15,90,145]},{index:.38,rgb:[40,118,137]},{index:.5,rgb:[59,146,135]},{index:.63,rgb:[79,175,126]},{index:.75,rgb:[120,203,104]},{index:.88,rgb:[193,221,100]},{index:1,rgb:[253,239,154]}],temperature:[{index:0,rgb:[4,35,51]},{index:.13,rgb:[23,51,122]},{index:.25,rgb:[85,59,157]},{index:.38,rgb:[129,79,143]},{index:.5,rgb:[175,95,130]},{index:.63,rgb:[222,112,101]},{index:.75,rgb:[249,146,66]},{index:.88,rgb:[249,196,65]},{index:1,rgb:[232,250,91]}],turbidity:[{index:0,rgb:[34,31,27]},{index:.13,rgb:[65,50,41]},{index:.25,rgb:[98,69,52]},{index:.38,rgb:[131,89,57]},{index:.5,rgb:[161,112,59]},{index:.63,rgb:[185,140,66]},{index:.75,rgb:[202,174,88]},{index:.88,rgb:[216,209,126]},{index:1,rgb:[233,246,171]}],"velocity-blue":[{index:0,rgb:[17,32,64]},{index:.13,rgb:[35,52,116]},{index:.25,rgb:[29,81,156]},{index:.38,rgb:[31,113,162]},{index:.5,rgb:[50,144,169]},{index:.63,rgb:[87,173,176]},{index:.75,rgb:[149,196,189]},{index:.88,rgb:[203,221,211]},{index:1,rgb:[254,251,230]}],"velocity-green":[{index:0,rgb:[23,35,19]},{index:.13,rgb:[24,64,38]},{index:.25,rgb:[11,95,45]},{index:.38,rgb:[39,123,35]},{index:.5,rgb:[95,146,12]},{index:.63,rgb:[152,165,18]},{index:.75,rgb:[201,186,69]},{index:.88,rgb:[233,216,137]},{index:1,rgb:[255,253,205]}],cubehelix:[{index:0,rgb:[0,0,0]},{index:.07,rgb:[22,5,59]},{index:.13,rgb:[60,4,105]},{index:.2,rgb:[109,1,135]},{index:.27,rgb:[161,0,147]},{index:.33,rgb:[210,2,142]},{index:.4,rgb:[251,11,123]},{index:.47,rgb:[255,29,97]},{index:.53,rgb:[255,54,69]},{index:.6,rgb:[255,85,46]},{index:.67,rgb:[255,120,34]},{index:.73,rgb:[255,157,37]},{index:.8,rgb:[241,191,57]},{index:.87,rgb:[224,220,93]},{index:.93,rgb:[218,241,142]},{index:1,rgb:[227,253,198]}]}},6729:function(i,a,o){"use strict";var s=o(3642),l=o(395);i.exports=u;function u(d){var v,m,b,g,_,T,w,k,p,x,M;if(d||(d={}),k=(d.nshades||72)-1,w=d.format||"hex",T=d.colormap,T||(T="jet"),typeof T=="string"){if(T=T.toLowerCase(),!s[T])throw Error(T+" not a supported colorscale");_=s[T]}else if(Array.isArray(T))_=T.slice();else throw Error("unsupported colormap option",T);if(_.length>k+1)throw new Error(T+" map requires nshades to be at least size "+_.length);Array.isArray(d.alpha)?d.alpha.length!==2?x=[1,1]:x=d.alpha.slice():typeof d.alpha=="number"?x=[d.alpha,d.alpha]:x=[1,1],v=_.map(function(E){return Math.round(E.index*k)}),x[0]=Math.min(Math.max(x[0],0),1),x[1]=Math.min(Math.max(x[1],0),1);var A=_.map(function(E,C){var L=_[C].index,R=_[C].rgb.slice();return R.length===4&&R[3]>=0&&R[3]<=1||(R[3]=x[0]+(x[1]-x[0])*L),R}),p=[];for(M=0;M<v.length-1;++M){g=v[M+1]-v[M],m=A[M],b=A[M+1];for(var S=0;S<g;S++){var y=S/g;p.push([Math.round(l(m[0],b[0],y)),Math.round(l(m[1],b[1],y)),Math.round(l(m[2],b[2],y)),l(m[3],b[3],y)])}}return p.push(_[_.length-1].rgb.concat(x[1])),w==="hex"?p=p.map(c):w==="rgbaString"?p=p.map(h):w==="float"&&(p=p.map(f)),p}function f(d){return[d[0]/255,d[1]/255,d[2]/255,d[3]]}function c(d){for(var v,m="#",b=0;b<3;++b)v=d[b],v=v.toString(16),m+=("00"+v).substr(v.length);return m}function h(d){return"rgba("+d.join(",")+")"}},3140:function(i,a,o){"use strict";i.exports=d;var s=o(3250),l=o(8572),u=o(9362),f=o(5382),c=o(8210);function h(v,m,b){var g=u(v[0],-m[0]),_=u(v[1],-m[1]),T=u(b[0],-m[0]),w=u(b[1],-m[1]),k=c(f(g,T),f(_,w));return k[k.length-1]>=0}function d(v,m,b,g){var _=s(m,b,g);if(_===0){var T=l(s(v,m,b)),w=l(s(v,m,g));if(T===w){if(T===0){var k=h(v,m,b),x=h(v,m,g);return k===x?0:k?1:-1}return 0}else{if(w===0)return T>0||h(v,m,g)?-1:1;if(T===0)return w>0||h(v,m,b)?1:-1}return l(w-T)}var M=s(v,m,b);if(M>0)return _>0&&s(v,m,g)>0?1:-1;if(M<0)return _>0||s(v,m,g)>0?1:-1;var A=s(v,m,g);return A>0||h(v,m,b)?1:-1}},8572:function(i){"use strict";i.exports=function(o){return o<0?-1:o>0?1:0}},8507:function(i){i.exports=s;var a=Math.min;function o(l,u){return l-u}function s(l,u){var f=l.length,c=l.length-u.length;if(c)return c;switch(f){case 0:return 0;case 1:return l[0]-u[0];case 2:return l[0]+l[1]-u[0]-u[1]||a(l[0],l[1])-a(u[0],u[1]);case 3:var h=l[0]+l[1],d=u[0]+u[1];if(c=h+l[2]-(d+u[2]),c)return c;var v=a(l[0],l[1]),m=a(u[0],u[1]);return a(v,l[2])-a(m,u[2])||a(v+l[2],h)-a(m+u[2],d);case 4:var b=l[0],g=l[1],_=l[2],T=l[3],w=u[0],k=u[1],x=u[2],M=u[3];return b+g+_+T-(w+k+x+M)||a(b,g,_,T)-a(w,k,x,M,w)||a(b+g,b+_,b+T,g+_,g+T,_+T)-a(w+k,w+x,w+M,k+x,k+M,x+M)||a(b+g+_,b+g+T,b+_+T,g+_+T)-a(w+k+x,w+k+M,w+x+M,k+x+M);default:for(var A=l.slice().sort(o),p=u.slice().sort(o),S=0;S<f;++S)if(c=A[S]-p[S],c)return c;return 0}}},3788:function(i,a,o){"use strict";var s=o(8507),l=o(2419);i.exports=u;function u(f,c){return s(f,c)||l(f)-l(c)}},7352:function(i,a,o){"use strict";var s=o(5721),l=o(4750),u=o(2690);i.exports=f;function f(c){var h=c.length;if(h===0)return[];if(h===1)return[[0]];var d=c[0].length;return d===0?[]:d===1?s(c):d===2?l(c):u(c,d)}},5721:function(i){"use strict";i.exports=a;function a(o){for(var s=0,l=0,u=1;u<o.length;++u)o[u][0]<o[s][0]&&(s=u),o[u][0]>o[l][0]&&(l=u);return s<l?[[s],[l]]:s>l?[[l],[s]]:[[s]]}},4750:function(i,a,o){"use strict";i.exports=l;var s=o(3090);function l(u){var f=s(u),c=f.length;if(c<=2)return[];for(var h=new Array(c),d=f[c-1],v=0;v<c;++v){var m=f[v];h[v]=[d,m],d=m}return h}},2690:function(i,a,o){"use strict";i.exports=c;var s=o(8954),l=o(3952);function u(h,d){for(var v=h.length,m=new Array(v),b=0;b<d.length;++b)m[b]=h[d[b]];for(var g=d.length,b=0;b<v;++b)d.indexOf(b)<0&&(m[g++]=h[b]);return m}function f(h,d){for(var v=h.length,m=d.length,b=0;b<v;++b)for(var g=h[b],_=0;_<g.length;++_){var T=g[_];if(T<m)g[_]=d[T];else{T=T-m;for(var w=0;w<m;++w)T>=d[w]&&(T+=1);g[_]=T}}return h}function c(h,d){try{return s(h,!0)}catch{var v=l(h);if(v.length<=d)return[];var m=u(h,v),b=s(m,!0);return f(b,v)}}},4769:function(i){"use strict";function a(s,l,u,f,c,h){var d=6*c*c-6*c,v=3*c*c-4*c+1,m=-6*c*c+6*c,b=3*c*c-2*c;if(s.length){h||(h=new Array(s.length));for(var g=s.length-1;g>=0;--g)h[g]=d*s[g]+v*l[g]+m*u[g]+b*f[g];return h}return d*s+v*l+m*u[g]+b*f}function o(s,l,u,f,c,h){var d=c-1,v=c*c,m=d*d,b=(1+2*c)*m,g=c*m,_=v*(3-2*c),T=v*d;if(s.length){h||(h=new Array(s.length));for(var w=s.length-1;w>=0;--w)h[w]=b*s[w]+g*l[w]+_*u[w]+T*f[w];return h}return b*s+g*l+_*u+T*f}i.exports=o,i.exports.derivative=a},7642:function(i,a,o){"use strict";var s=o(8954),l=o(1682);i.exports=h;function u(d,v){this.point=d,this.index=v}function f(d,v){for(var m=d.point,b=v.point,g=m.length,_=0;_<g;++_){var T=b[_]-m[_];if(T)return T}return 0}function c(d,v,m){if(d===1)return m?[[-1,0]]:[];var b=v.map(function(k,x){return[k[0],x]});b.sort(function(k,x){return k[0]-x[0]});for(var g=new Array(d-1),_=1;_<d;++_){var T=b[_-1],w=b[_];g[_-1]=[T[1],w[1]]}return m&&g.push([-1,g[0][1]],[g[d-1][1],-1]),g}function h(d,v){var m=d.length;if(m===0)return[];var b=d[0].length;if(b<1)return[];if(b===1)return c(m,d,v);for(var g=new Array(m),_=1,T=0;T<m;++T){for(var w=d[T],k=new Array(b+1),x=0,M=0;M<b;++M){var A=w[M];k[M]=A,x+=A*A}k[b]=x,g[T]=new u(k,T),_=Math.max(x,_)}l(g,f),m=g.length;for(var p=new Array(m+b+1),S=new Array(m+b+1),y=(b+1)*(b+1)*_,E=new Array(b+1),T=0;T<=b;++T)E[T]=0;E[b]=y,p[0]=E.slice(),S[0]=-1;for(var T=0;T<=b;++T){var k=E.slice();k[T]=1,p[T+1]=k,S[T+1]=-1}for(var T=0;T<m;++T){var C=g[T];p[T+b+1]=C.point,S[T+b+1]=C.index}var L=s(p,!1);if(v?L=L.filter(function(R){for(var I=0,P=0;P<=b;++P){var D=S[R[P]];if(D<0&&++I>=2)return!1;R[P]=D}return!0}):L=L.filter(function(R){for(var I=0;I<=b;++I){var P=S[R[I]];if(P<0)return!1;R[I]=P}return!0}),b&1)for(var T=0;T<L.length;++T){var C=L[T],k=C[0];C[0]=C[1],C[1]=k}return L}},2361:function(i){var a=!1;if(typeof Float64Array<"u"){var o=new Float64Array(1),s=new Uint32Array(o.buffer);if(o[0]=1,a=!0,s[1]===1072693248){let _=function(k,x){return s[0]=k,s[1]=x,o[0]},T=function(k){return o[0]=k,s[0]},w=function(k){return o[0]=k,s[1]};var u=_,f=T,c=w;i.exports=function(x){return o[0]=x,[s[0],s[1]]},i.exports.pack=_,i.exports.lo=T,i.exports.hi=w}else if(s[0]===1072693248){let _=function(k,x){return s[1]=k,s[0]=x,o[0]},T=function(k){return o[0]=k,s[1]},w=function(k){return o[0]=k,s[0]};var h=_,d=T,v=w;i.exports=function(x){return o[0]=x,[s[1],s[0]]},i.exports.pack=_,i.exports.lo=T,i.exports.hi=w}else a=!1}if(!a){let _=function(k,x){return l.writeUInt32LE(k,0,!0),l.writeUInt32LE(x,4,!0),l.readDoubleLE(0,!0)},T=function(k){return l.writeDoubleLE(k,0,!0),l.readUInt32LE(0,!0)},w=function(k){return l.writeDoubleLE(k,0,!0),l.readUInt32LE(4,!0)};var m=_,b=T,g=w,l=new Buffer(8);i.exports=function(x){return l.writeDoubleLE(x,0,!0),[l.readUInt32LE(0,!0),l.readUInt32LE(4,!0)]},i.exports.pack=_,i.exports.lo=T,i.exports.hi=w}i.exports.sign=function(_){return i.exports.hi(_)>>>31},i.exports.exponent=function(_){var T=i.exports.hi(_);return(T<<1>>>21)-1023},i.exports.fraction=function(_){var T=i.exports.lo(_),w=i.exports.hi(_),k=w&(1<<20)-1;return w&2146435072&&(k+=1048576),[T,k]},i.exports.denormalized=function(_){var T=i.exports.hi(_);return!(T&2146435072)}},1338:function(i){"use strict";function a(l,u,f){var c=l[f]|0;if(c<=0)return[];var h=new Array(c),d;if(f===l.length-1)for(d=0;d<c;++d)h[d]=u;else for(d=0;d<c;++d)h[d]=a(l,u,f+1);return h}function o(l,u){var f,c;for(f=new Array(l),c=0;c<l;++c)f[c]=u;return f}function s(l,u){switch(typeof u>"u"&&(u=0),typeof l){case"number":if(l>0)return o(l|0,u);break;case"object":if(typeof l.length=="number")return a(l,u,0);break}return[]}i.exports=s},3134:function(i,a,o){"use strict";i.exports=l;var s=o(1682);function l(u,f){var c=u.length;if(typeof f!="number"){f=0;for(var h=0;h<c;++h){var d=u[h];f=Math.max(f,d[0],d[1])}f=(f|0)+1}f=f|0;for(var v=new Array(f),h=0;h<f;++h)v[h]=[];for(var h=0;h<c;++h){var d=u[h];v[d[0]].push(d[1]),v[d[1]].push(d[0])}for(var m=0;m<f;++m)s(v[m],function(b,g){return b-g});return v}},5033:function(i){"use strict";i.exports=a;function a(o,s,l){var u=s||0,f=l||1;return[[o[12]+o[0],o[13]+o[1],o[14]+o[2],o[15]+o[3]],[o[12]-o[0],o[13]-o[1],o[14]-o[2],o[15]-o[3]],[o[12]+o[4],o[13]+o[5],o[14]+o[6],o[15]+o[7]],[o[12]-o[4],o[13]-o[5],o[14]-o[6],o[15]-o[7]],[u*o[12]+o[8],u*o[13]+o[9],u*o[14]+o[10],u*o[15]+o[11]],[f*o[12]-o[8],f*o[13]-o[9],f*o[14]-o[10],f*o[15]-o[11]]]}},9215:function(i,a,o){"use strict";i.exports=d;var s=o(4769),l=o(2478);function u(v,m,b){return Math.min(m,Math.max(v,b))}function f(v,m,b){this.dimension=v.length,this.bounds=[new Array(this.dimension),new Array(this.dimension)];for(var g=0;g<this.dimension;++g)this.bounds[0][g]=-1/0,this.bounds[1][g]=1/0;this._state=v.slice().reverse(),this._velocity=m.slice().reverse(),this._time=[b],this._scratch=[v.slice(),v.slice(),v.slice(),v.slice(),v.slice()]}var c=f.prototype;c.flush=function(v){var m=l.gt(this._time,v)-1;m<=0||(this._time.splice(0,m),this._state.splice(0,m*this.dimension),this._velocity.splice(0,m*this.dimension))},c.curve=function(v){var m=this._time,b=m.length,g=l.le(m,v),_=this._scratch[0],T=this._state,w=this._velocity,k=this.dimension,x=this.bounds;if(g<0)for(var M=k-1,A=0;A<k;++A,--M)_[A]=T[M];else if(g>=b-1)for(var M=T.length-1,p=v-m[b-1],A=0;A<k;++A,--M)_[A]=T[M]+p*w[M];else{for(var M=k*(g+1)-1,S=m[g],y=m[g+1],E=y-S||1,C=this._scratch[1],L=this._scratch[2],R=this._scratch[3],I=this._scratch[4],P=!0,A=0;A<k;++A,--M)C[A]=T[M],R[A]=w[M]*E,L[A]=T[M+k],I[A]=w[M+k]*E,P=P&&C[A]===L[A]&&R[A]===I[A]&&R[A]===0;if(P)for(var A=0;A<k;++A)_[A]=C[A];else s(C,R,L,I,(v-S)/E,_)}for(var D=x[0],q=x[1],A=0;A<k;++A)_[A]=u(D[A],q[A],_[A]);return _},c.dcurve=function(v){var m=this._time,b=m.length,g=l.le(m,v),_=this._scratch[0],T=this._state,w=this._velocity,k=this.dimension;if(g>=b-1)for(var x=T.length-1,M=v-m[b-1],A=0;A<k;++A,--x)_[A]=w[x];else{for(var x=k*(g+1)-1,p=m[g],S=m[g+1],y=S-p||1,E=this._scratch[1],C=this._scratch[2],L=this._scratch[3],R=this._scratch[4],I=!0,A=0;A<k;++A,--x)E[A]=T[x],L[A]=w[x]*y,C[A]=T[x+k],R[A]=w[x+k]*y,I=I&&E[A]===C[A]&&L[A]===R[A]&&L[A]===0;if(I)for(var A=0;A<k;++A)_[A]=0;else{s.derivative(E,L,C,R,(v-p)/y,_);for(var A=0;A<k;++A)_[A]/=y}}return _},c.lastT=function(){var v=this._time;return v[v.length-1]},c.stable=function(){for(var v=this._velocity,m=v.length,b=this.dimension-1;b>=0;--b)if(v[--m])return!1;return!0},c.jump=function(v){var m=this.lastT(),b=this.dimension;if(!(v<m||arguments.length!==b+1)){var g=this._state,_=this._velocity,T=g.length-this.dimension,w=this.bounds,k=w[0],x=w[1];this._time.push(m,v);for(var M=0;M<2;++M)for(var A=0;A<b;++A)g.push(g[T++]),_.push(0);this._time.push(v);for(var A=b;A>0;--A)g.push(u(k[A-1],x[A-1],arguments[A])),_.push(0)}},c.push=function(v){var m=this.lastT(),b=this.dimension;if(!(v<m||arguments.length!==b+1)){var g=this._state,_=this._velocity,T=g.length-this.dimension,w=v-m,k=this.bounds,x=k[0],M=k[1],A=w>1e-6?1/w:0;this._time.push(v);for(var p=b;p>0;--p){var S=u(x[p-1],M[p-1],arguments[p]);g.push(S),_.push((S-g[T++])*A)}}},c.set=function(v){var m=this.dimension;if(!(v<this.lastT()||arguments.length!==m+1)){var b=this._state,g=this._velocity,_=this.bounds,T=_[0],w=_[1];this._time.push(v);for(var k=m;k>0;--k)b.push(u(T[k-1],w[k-1],arguments[k])),g.push(0)}},c.move=function(v){var m=this.lastT(),b=this.dimension;if(!(v<=m||arguments.length!==b+1)){var g=this._state,_=this._velocity,T=g.length-this.dimension,w=this.bounds,k=w[0],x=w[1],M=v-m,A=M>1e-6?1/M:0;this._time.push(v);for(var p=b;p>0;--p){var S=arguments[p];g.push(u(k[p-1],x[p-1],g[T++]+S)),_.push(S*A)}}},c.idle=function(v){var m=this.lastT();if(!(v<m)){var b=this.dimension,g=this._state,_=this._velocity,T=g.length-b,w=this.bounds,k=w[0],x=w[1],M=v-m;this._time.push(v);for(var A=b-1;A>=0;--A)g.push(u(k[A],x[A],g[T]+M*_[T])),_.push(0),T+=1}};function h(v){for(var m=new Array(v),b=0;b<v;++b)m[b]=0;return m}function d(v,m,b){switch(arguments.length){case 0:return new f([0],[0],0);case 1:if(typeof v=="number"){var g=h(v);return new f(g,g,0)}else return new f(v,h(v.length),0);case 2:if(typeof m=="number"){var g=h(v.length);return new f(v,g,+m)}else b=0;case 3:if(v.length!==m.length)throw new Error("state and velocity lengths must match");return new f(v,m,b)}}},3840:function(i){"use strict";i.exports=k;var a=0,o=1;function s(x,M,A,p,S,y){this._color=x,this.key=M,this.value=A,this.left=p,this.right=S,this._count=y}function l(x){return new s(x._color,x.key,x.value,x.left,x.right,x._count)}function u(x,M){return new s(x,M.key,M.value,M.left,M.right,M._count)}function f(x){x._count=1+(x.left?x.left._count:0)+(x.right?x.right._count:0)}function c(x,M){this._compare=x,this.root=M}var h=c.prototype;Object.defineProperty(h,"keys",{get:function(){var x=[];return this.forEach(function(M,A){x.push(M)}),x}}),Object.defineProperty(h,"values",{get:function(){var x=[];return this.forEach(function(M,A){x.push(A)}),x}}),Object.defineProperty(h,"length",{get:function(){return this.root?this.root._count:0}}),h.insert=function(x,M){for(var A=this._compare,p=this.root,S=[],y=[];p;){var E=A(x,p.key);S.push(p),y.push(E),E<=0?p=p.left:p=p.right}S.push(new s(a,x,M,null,null,1));for(var C=S.length-2;C>=0;--C){var p=S[C];y[C]<=0?S[C]=new s(p._color,p.key,p.value,S[C+1],p.right,p._count+1):S[C]=new s(p._color,p.key,p.value,p.left,S[C+1],p._count+1)}for(var C=S.length-1;C>1;--C){var L=S[C-1],p=S[C];if(L._color===o||p._color===o)break;var R=S[C-2];if(R.left===L)if(L.left===p){var I=R.right;if(I&&I._color===a)L._color=o,R.right=u(o,I),R._color=a,C-=1;else{if(R._color=a,R.left=L.right,L._color=o,L.right=R,S[C-2]=L,S[C-1]=p,f(R),f(L),C>=3){var P=S[C-3];P.left===R?P.left=L:P.right=L}break}}else{var I=R.right;if(I&&I._color===a)L._color=o,R.right=u(o,I),R._color=a,C-=1;else{if(L.right=p.left,R._color=a,R.left=p.right,p._color=o,p.left=L,p.right=R,S[C-2]=p,S[C-1]=L,f(R),f(L),f(p),C>=3){var P=S[C-3];P.left===R?P.left=p:P.right=p}break}}else if(L.right===p){var I=R.left;if(I&&I._color===a)L._color=o,R.left=u(o,I),R._color=a,C-=1;else{if(R._color=a,R.right=L.left,L._color=o,L.left=R,S[C-2]=L,S[C-1]=p,f(R),f(L),C>=3){var P=S[C-3];P.right===R?P.right=L:P.left=L}break}}else{var I=R.left;if(I&&I._color===a)L._color=o,R.left=u(o,I),R._color=a,C-=1;else{if(L.left=p.right,R._color=a,R.right=p.left,p._color=o,p.right=L,p.left=R,S[C-2]=p,S[C-1]=L,f(R),f(L),f(p),C>=3){var P=S[C-3];P.right===R?P.right=p:P.left=p}break}}}return S[0]._color=o,new c(A,S[0])};function d(x,M){if(M.left){var A=d(x,M.left);if(A)return A}var A=x(M.key,M.value);if(A)return A;if(M.right)return d(x,M.right)}function v(x,M,A,p){var S=M(x,p.key);if(S<=0){if(p.left){var y=v(x,M,A,p.left);if(y)return y}var y=A(p.key,p.value);if(y)return y}if(p.right)return v(x,M,A,p.right)}function m(x,M,A,p,S){var y=A(x,S.key),E=A(M,S.key),C;if(y<=0&&(S.left&&(C=m(x,M,A,p,S.left),C)||E>0&&(C=p(S.key,S.value),C)))return C;if(E>0&&S.right)return m(x,M,A,p,S.right)}h.forEach=function(M,A,p){if(this.root)switch(arguments.length){case 1:return d(M,this.root);case 2:return v(A,this._compare,M,this.root);case 3:return this._compare(A,p)>=0?void 0:m(A,p,this._compare,M,this.root)}},Object.defineProperty(h,"begin",{get:function(){for(var x=[],M=this.root;M;)x.push(M),M=M.left;return new b(this,x)}}),Object.defineProperty(h,"end",{get:function(){for(var x=[],M=this.root;M;)x.push(M),M=M.right;return new b(this,x)}}),h.at=function(x){if(x<0)return new b(this,[]);for(var M=this.root,A=[];;){if(A.push(M),M.left){if(x<M.left._count){M=M.left;continue}x-=M.left._count}if(!x)return new b(this,A);if(x-=1,M.right){if(x>=M.right._count)break;M=M.right}else break}return new b(this,[])},h.ge=function(x){for(var M=this._compare,A=this.root,p=[],S=0;A;){var y=M(x,A.key);p.push(A),y<=0&&(S=p.length),y<=0?A=A.left:A=A.right}return p.length=S,new b(this,p)},h.gt=function(x){for(var M=this._compare,A=this.root,p=[],S=0;A;){var y=M(x,A.key);p.push(A),y<0&&(S=p.length),y<0?A=A.left:A=A.right}return p.length=S,new b(this,p)},h.lt=function(x){for(var M=this._compare,A=this.root,p=[],S=0;A;){var y=M(x,A.key);p.push(A),y>0&&(S=p.length),y<=0?A=A.left:A=A.right}return p.length=S,new b(this,p)},h.le=function(x){for(var M=this._compare,A=this.root,p=[],S=0;A;){var y=M(x,A.key);p.push(A),y>=0&&(S=p.length),y<0?A=A.left:A=A.right}return p.length=S,new b(this,p)},h.find=function(x){for(var M=this._compare,A=this.root,p=[];A;){var S=M(x,A.key);if(p.push(A),S===0)return new b(this,p);S<=0?A=A.left:A=A.right}return new b(this,[])},h.remove=function(x){var M=this.find(x);return M?M.remove():this},h.get=function(x){for(var M=this._compare,A=this.root;A;){var p=M(x,A.key);if(p===0)return A.value;p<=0?A=A.left:A=A.right}};function b(x,M){this.tree=x,this._stack=M}var g=b.prototype;Object.defineProperty(g,"valid",{get:function(){return this._stack.length>0}}),Object.defineProperty(g,"node",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),g.clone=function(){return new b(this.tree,this._stack.slice())};function _(x,M){x.key=M.key,x.value=M.value,x.left=M.left,x.right=M.right,x._color=M._color,x._count=M._count}function T(x){for(var M,A,p,S,y=x.length-1;y>=0;--y){if(M=x[y],y===0){M._color=o;return}if(A=x[y-1],A.left===M){if(p=A.right,p.right&&p.right._color===a){if(p=A.right=l(p),S=p.right=l(p.right),A.right=p.left,p.left=A,p.right=S,p._color=A._color,M._color=o,A._color=o,S._color=o,f(A),f(p),y>1){var E=x[y-2];E.left===A?E.left=p:E.right=p}x[y-1]=p;return}else if(p.left&&p.left._color===a){if(p=A.right=l(p),S=p.left=l(p.left),A.right=S.left,p.left=S.right,S.left=A,S.right=p,S._color=A._color,A._color=o,p._color=o,M._color=o,f(A),f(p),f(S),y>1){var E=x[y-2];E.left===A?E.left=S:E.right=S}x[y-1]=S;return}if(p._color===o)if(A._color===a){A._color=o,A.right=u(a,p);return}else{A.right=u(a,p);continue}else{if(p=l(p),A.right=p.left,p.left=A,p._color=A._color,A._color=a,f(A),f(p),y>1){var E=x[y-2];E.left===A?E.left=p:E.right=p}x[y-1]=p,x[y]=A,y+1<x.length?x[y+1]=M:x.push(M),y=y+2}}else{if(p=A.left,p.left&&p.left._color===a){if(p=A.left=l(p),S=p.left=l(p.left),A.left=p.right,p.right=A,p.left=S,p._color=A._color,M._color=o,A._color=o,S._color=o,f(A),f(p),y>1){var E=x[y-2];E.right===A?E.right=p:E.left=p}x[y-1]=p;return}else if(p.right&&p.right._color===a){if(p=A.left=l(p),S=p.right=l(p.right),A.left=S.right,p.right=S.left,S.right=A,S.left=p,S._color=A._color,A._color=o,p._color=o,M._color=o,f(A),f(p),f(S),y>1){var E=x[y-2];E.right===A?E.right=S:E.left=S}x[y-1]=S;return}if(p._color===o)if(A._color===a){A._color=o,A.left=u(a,p);return}else{A.left=u(a,p);continue}else{if(p=l(p),A.left=p.right,p.right=A,p._color=A._color,A._color=a,f(A),f(p),y>1){var E=x[y-2];E.right===A?E.right=p:E.left=p}x[y-1]=p,x[y]=A,y+1<x.length?x[y+1]=M:x.push(M),y=y+2}}}}g.remove=function(){var x=this._stack;if(x.length===0)return this.tree;var M=new Array(x.length),A=x[x.length-1];M[M.length-1]=new s(A._color,A.key,A.value,A.left,A.right,A._count);for(var p=x.length-2;p>=0;--p){var A=x[p];A.left===x[p+1]?M[p]=new s(A._color,A.key,A.value,M[p+1],A.right,A._count):M[p]=new s(A._color,A.key,A.value,A.left,M[p+1],A._count)}if(A=M[M.length-1],A.left&&A.right){var S=M.length;for(A=A.left;A.right;)M.push(A),A=A.right;var y=M[S-1];M.push(new s(A._color,y.key,y.value,A.left,A.right,A._count)),M[S-1].key=A.key,M[S-1].value=A.value;for(var p=M.length-2;p>=S;--p)A=M[p],M[p]=new s(A._color,A.key,A.value,A.left,M[p+1],A._count);M[S-1].left=M[S]}if(A=M[M.length-1],A._color===a){var E=M[M.length-2];E.left===A?E.left=null:E.right===A&&(E.right=null),M.pop();for(var p=0;p<M.length;++p)M[p]._count--;return new c(this.tree._compare,M[0])}else if(A.left||A.right){A.left?_(A,A.left):A.right&&_(A,A.right),A._color=o;for(var p=0;p<M.length-1;++p)M[p]._count--;return new c(this.tree._compare,M[0])}else{if(M.length===1)return new c(this.tree._compare,null);for(var p=0;p<M.length;++p)M[p]._count--;var C=M[M.length-2];T(M),C.left===A?C.left=null:C.right=null}return new c(this.tree._compare,M[0])},Object.defineProperty(g,"key",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(g,"value",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(g,"index",{get:function(){var x=0,M=this._stack;if(M.length===0){var A=this.tree.root;return A?A._count:0}else M[M.length-1].left&&(x=M[M.length-1].left._count);for(var p=M.length-2;p>=0;--p)M[p+1]===M[p].right&&(++x,M[p].left&&(x+=M[p].left._count));return x},enumerable:!0}),g.next=function(){var x=this._stack;if(x.length!==0){var M=x[x.length-1];if(M.right)for(M=M.right;M;)x.push(M),M=M.left;else for(x.pop();x.length>0&&x[x.length-1].right===M;)M=x[x.length-1],x.pop()}},Object.defineProperty(g,"hasNext",{get:function(){var x=this._stack;if(x.length===0)return!1;if(x[x.length-1].right)return!0;for(var M=x.length-1;M>0;--M)if(x[M-1].left===x[M])return!0;return!1}}),g.update=function(x){var M=this._stack;if(M.length===0)throw new Error("Can't update empty node!");var A=new Array(M.length),p=M[M.length-1];A[A.length-1]=new s(p._color,p.key,x,p.left,p.right,p._count);for(var S=M.length-2;S>=0;--S)p=M[S],p.left===M[S+1]?A[S]=new s(p._color,p.key,p.value,A[S+1],p.right,p._count):A[S]=new s(p._color,p.key,p.value,p.left,A[S+1],p._count);return new c(this.tree._compare,A[0])},g.prev=function(){var x=this._stack;if(x.length!==0){var M=x[x.length-1];if(M.left)for(M=M.left;M;)x.push(M),M=M.right;else for(x.pop();x.length>0&&x[x.length-1].left===M;)M=x[x.length-1],x.pop()}},Object.defineProperty(g,"hasPrev",{get:function(){var x=this._stack;if(x.length===0)return!1;if(x[x.length-1].left)return!0;for(var M=x.length-1;M>0;--M)if(x[M-1].right===x[M])return!0;return!1}});function w(x,M){return x<M?-1:x>M?1:0}function k(x){return new c(x||w,null)}},3837:function(i,a,o){"use strict";i.exports=C;var s=o(4935),l=o(501),u=o(5304),f=o(6429),c=o(6444),h=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),d=ArrayBuffer,v=DataView;function m(L){return d.isView(L)&&!(L instanceof v)}function b(L){return Array.isArray(L)||m(L)}function g(L,R){return L[0]=R[0],L[1]=R[1],L[2]=R[2],L}function _(L){this.gl=L,this.pixelRatio=1,this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.autoTicks=!0,this.tickSpacing=[1,1,1],this.tickEnable=[!0,!0,!0],this.tickFont=["sans-serif","sans-serif","sans-serif"],this.tickFontStyle=["normal","normal","normal"],this.tickFontWeight=["normal","normal","normal"],this.tickFontVariant=["normal","normal","normal"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickAlign=["auto","auto","auto"],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[10,10,10],this.lastCubeProps={cubeEdges:[0,0,0],axis:[0,0,0]},this.labels=["x","y","z"],this.labelEnable=[!0,!0,!0],this.labelFont=["sans-serif","sans-serif","sans-serif"],this.labelFontStyle=["normal","normal","normal"],this.labelFontWeight=["normal","normal","normal"],this.labelFontVariant=["normal","normal","normal"],this.labelSize=[20,20,20],this.labelAngle=[0,0,0],this.labelAlign=["auto","auto","auto"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[10,10,10],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[0,0,0],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!1,!1,!1],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._firstInit=!0,this._text=null,this._lines=null,this._background=u(L)}var T=_.prototype;T.update=function(L){L=L||{};function R($,oe,te){if(te in L){var V=L[te],ne=this[te],W;($?b(V)&&b(V[0]):b(V))?this[te]=W=[oe(V[0]),oe(V[1]),oe(V[2])]:this[te]=W=[oe(V),oe(V),oe(V)];for(var fe=0;fe<3;++fe)if(W[fe]!==ne[fe])return!0}return!1}var I=R.bind(this,!1,Number),P=R.bind(this,!1,Boolean),D=R.bind(this,!1,String),q=R.bind(this,!0,function($){if(b($)){if($.length===3)return[+$[0],+$[1],+$[2],1];if($.length===4)return[+$[0],+$[1],+$[2],+$[3]]}return[0,0,0,1]}),N,U=!1,G=!1;if("bounds"in L){var ee=L.bounds;e:for(var Q=0;Q<2;++Q)for(var j=0;j<3;++j)ee[Q][j]!==this.bounds[Q][j]&&(G=!0),this.bounds[Q][j]=ee[Q][j]}if("ticks"in L){N=L.ticks,U=!0,this.autoTicks=!1;for(var Q=0;Q<3;++Q)this.tickSpacing[Q]=0}else I("tickSpacing")&&(this.autoTicks=!0,G=!0);if(this._firstInit&&("ticks"in L||"tickSpacing"in L||(this.autoTicks=!0),G=!0,U=!0,this._firstInit=!1),G&&this.autoTicks&&(N=c.create(this.bounds,this.tickSpacing),U=!0),U){for(var Q=0;Q<3;++Q)N[Q].sort(function(oe,te){return oe.x-te.x});c.equal(N,this.ticks)?U=!1:this.ticks=N}P("tickEnable"),D("tickFont")&&(U=!0),D("tickFontStyle")&&(U=!0),D("tickFontWeight")&&(U=!0),D("tickFontVariant")&&(U=!0),I("tickSize"),I("tickAngle"),I("tickPad"),q("tickColor");var O=D("labels");D("labelFont")&&(O=!0),D("labelFontStyle")&&(O=!0),D("labelFontWeight")&&(O=!0),D("labelFontVariant")&&(O=!0),P("labelEnable"),I("labelSize"),I("labelPad"),q("labelColor"),P("lineEnable"),P("lineMirror"),I("lineWidth"),q("lineColor"),P("lineTickEnable"),P("lineTickMirror"),I("lineTickLength"),I("lineTickWidth"),q("lineTickColor"),P("gridEnable"),I("gridWidth"),q("gridColor"),P("zeroEnable"),q("zeroLineColor"),I("zeroLineWidth"),P("backgroundEnable"),q("backgroundColor");var Z=[{family:this.labelFont[0],style:this.labelFontStyle[0],weight:this.labelFontWeight[0],variant:this.labelFontVariant[0]},{family:this.labelFont[1],style:this.labelFontStyle[1],weight:this.labelFontWeight[1],variant:this.labelFontVariant[1]},{family:this.labelFont[2],style:this.labelFontStyle[2],weight:this.labelFontWeight[2],variant:this.labelFontVariant[2]}],K=[{family:this.tickFont[0],style:this.tickFontStyle[0],weight:this.tickFontWeight[0],variant:this.tickFontVariant[0]},{family:this.tickFont[1],style:this.tickFontStyle[1],weight:this.tickFontWeight[1],variant:this.tickFontVariant[1]},{family:this.tickFont[2],style:this.tickFontStyle[2],weight:this.tickFontWeight[2],variant:this.tickFontVariant[2]}];this._text?this._text&&(O||U)&&this._text.update(this.bounds,this.labels,Z,this.ticks,K):this._text=s(this.gl,this.bounds,this.labels,Z,this.ticks,K),this._lines&&U&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=l(this.gl,this.bounds,this.ticks))};function w(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}var k=[new w,new w,new w];function x(L,R,I,P,D){for(var q=L.primalOffset,N=L.primalMinor,U=L.mirrorOffset,G=L.mirrorMinor,ee=P[R],Q=0;Q<3;++Q)if(R!==Q){var j=q,O=U,Z=N,K=G;ee&1<<Q&&(j=U,O=q,Z=G,K=N),j[Q]=I[0][Q],O[Q]=I[1][Q],D[Q]>0?(Z[Q]=-1,K[Q]=0):(Z[Q]=0,K[Q]=1)}}var M=[0,0,0],A={model:h,view:h,projection:h,_ortho:!1};T.isOpaque=function(){return!0},T.isTransparent=function(){return!1},T.drawTransparent=function(L){};var p=0,S=[0,0,0],y=[0,0,0],E=[0,0,0];T.draw=function(L){L=L||A;for(var te=this.gl,R=L.model||h,I=L.view||h,P=L.projection||h,D=this.bounds,q=L._ortho||!1,N=f(R,I,P,D,q),U=N.cubeEdges,G=N.axis,ee=I[12],Q=I[13],j=I[14],O=I[15],Z=q?2:1,K=Z*this.pixelRatio*(P[3]*ee+P[7]*Q+P[11]*j+P[15]*O)/te.drawingBufferHeight,$=0;$<3;++$)this.lastCubeProps.cubeEdges[$]=U[$],this.lastCubeProps.axis[$]=G[$];for(var oe=k,$=0;$<3;++$)x(k[$],$,this.bounds,U,G);for(var te=this.gl,V=M,$=0;$<3;++$)this.backgroundEnable[$]?V[$]=G[$]:V[$]=0;this._background.draw(R,I,P,D,V,this.backgroundColor),this._lines.bind(R,I,P,this);for(var $=0;$<3;++$){var ne=[0,0,0];G[$]>0?ne[$]=D[1][$]:ne[$]=D[0][$];for(var W=0;W<2;++W){var fe=($+1+W)%3,ge=($+1+(W^1))%3;this.gridEnable[fe]&&this._lines.drawGrid(fe,ge,this.bounds,ne,this.gridColor[fe],this.gridWidth[fe]*this.pixelRatio)}for(var W=0;W<2;++W){var fe=($+1+W)%3,ge=($+1+(W^1))%3;this.zeroEnable[ge]&&Math.min(D[0][ge],D[1][ge])<=0&&Math.max(D[0][ge],D[1][ge])>=0&&this._lines.drawZero(fe,ge,this.bounds,ne,this.zeroLineColor[ge],this.zeroLineWidth[ge]*this.pixelRatio)}}for(var $=0;$<3;++$){this.lineEnable[$]&&this._lines.drawAxisLine($,this.bounds,oe[$].primalOffset,this.lineColor[$],this.lineWidth[$]*this.pixelRatio),this.lineMirror[$]&&this._lines.drawAxisLine($,this.bounds,oe[$].mirrorOffset,this.lineColor[$],this.lineWidth[$]*this.pixelRatio);for(var Ce=g(S,oe[$].primalMinor),Ne=g(y,oe[$].mirrorMinor),pe=this.lineTickLength,W=0;W<3;++W){var me=K/R[5*W];Ce[W]*=pe[W]*me,Ne[W]*=pe[W]*me}this.lineTickEnable[$]&&this._lines.drawAxisTicks($,oe[$].primalOffset,Ce,this.lineTickColor[$],this.lineTickWidth[$]*this.pixelRatio),this.lineTickMirror[$]&&this._lines.drawAxisTicks($,oe[$].mirrorOffset,Ne,this.lineTickColor[$],this.lineTickWidth[$]*this.pixelRatio)}this._lines.unbind(),this._text.bind(R,I,P,this.pixelRatio);var Ie,Re=.5,ze,Be;function tt(He){Be=[0,0,0],Be[He]=1}function rt(He,Fe,ke){var Ue=(He+1)%3,Ge=(He+2)%3,lt=Fe[Ue],it=Fe[Ge],wt=ke[Ue],_t=ke[Ge];if(lt>0&&_t>0){tt(Ue);return}else if(lt>0&&_t<0){tt(Ue);return}else if(lt<0&&_t>0){tt(Ue);return}else if(lt<0&&_t<0){tt(Ue);return}else if(it>0&&wt>0){tt(Ge);return}else if(it>0&&wt<0){tt(Ge);return}else if(it<0&&wt>0){tt(Ge);return}else if(it<0&&wt<0){tt(Ge);return}}for(var $=0;$<3;++$){for(var ce=oe[$].primalMinor,Ee=oe[$].mirrorMinor,Ae=g(E,oe[$].primalOffset),W=0;W<3;++W)this.lineTickEnable[$]&&(Ae[W]+=K*ce[W]*Math.max(this.lineTickLength[W],0)/R[5*W]);var Pe=[0,0,0];if(Pe[$]=1,this.tickEnable[$]){this.tickAngle[$]===-3600?(this.tickAngle[$]=0,this.tickAlign[$]="auto"):this.tickAlign[$]=-1,ze=1,Ie=[this.tickAlign[$],Re,ze],Ie[0]==="auto"?Ie[0]=p:Ie[0]=parseInt(""+Ie[0]),Be=[0,0,0],rt($,ce,Ee);for(var W=0;W<3;++W)Ae[W]+=K*ce[W]*this.tickPad[W]/R[5*W];this._text.drawTicks($,this.tickSize[$],this.tickAngle[$],Ae,this.tickColor[$],Pe,Be,Ie)}if(this.labelEnable[$]){ze=0,Be=[0,0,0],this.labels[$].length>4&&(tt($),ze=1),Ie=[this.labelAlign[$],Re,ze],Ie[0]==="auto"?Ie[0]=p:Ie[0]=parseInt(""+Ie[0]);for(var W=0;W<3;++W)Ae[W]+=K*ce[W]*this.labelPad[W]/R[5*W];Ae[$]+=.5*(D[0][$]+D[1][$]),this._text.drawLabel($,this.labelSize[$],this.labelAngle[$],Ae,this.labelColor[$],[0,0,0],Be,Ie)}}this._text.unbind()},T.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null};function C(L,R){var I=new _(L);return I.update(R),I}},5304:function(i,a,o){"use strict";i.exports=h;var s=o(2762),l=o(8116),u=o(1879).bg;function f(d,v,m,b){this.gl=d,this.buffer=v,this.vao=m,this.shader=b}var c=f.prototype;c.draw=function(d,v,m,b,g,_){for(var T=!1,w=0;w<3;++w)T=T||g[w];if(T){var k=this.gl;k.enable(k.POLYGON_OFFSET_FILL),k.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:d,view:v,projection:m,bounds:b,enable:g,colors:_},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),k.disable(k.POLYGON_OFFSET_FILL)}},c.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()};function h(d){for(var v=[],m=[],b=0,g=0;g<3;++g)for(var _=(g+1)%3,T=(g+2)%3,w=[0,0,0],k=[0,0,0],x=-1;x<=1;x+=2){m.push(b,b+2,b+1,b+1,b+2,b+3),w[g]=x,k[g]=x;for(var M=-1;M<=1;M+=2){w[_]=M;for(var A=-1;A<=1;A+=2)w[T]=A,v.push(w[0],w[1],w[2],k[0],k[1],k[2]),b+=1}var p=_;_=T,T=p}var S=s(d,new Float32Array(v)),y=s(d,new Uint16Array(m),d.ELEMENT_ARRAY_BUFFER),E=l(d,[{buffer:S,type:d.FLOAT,size:3,offset:0,stride:24},{buffer:S,type:d.FLOAT,size:3,offset:12,stride:24}],y),C=u(d);return C.attributes.position.location=0,C.attributes.normal.location=1,new f(d,S,E,C)}},6429:function(i,a,o){"use strict";i.exports=x;var s=o(8828),l=o(6760),u=o(5202),f=o(3250),c=new Array(16),h=new Array(8),d=new Array(8),v=new Array(3),m=[0,0,0];(function(){for(var M=0;M<8;++M)h[M]=[1,1,1,1],d[M]=[1,1,1]})();function b(M,A,p){for(var S=0;S<4;++S){M[S]=p[12+S];for(var y=0;y<3;++y)M[S]+=A[y]*p[4*y+S]}}var g=[[0,0,1,0,0],[0,0,-1,1,0],[0,-1,0,1,0],[0,1,0,1,0],[-1,0,0,1,0],[1,0,0,1,0]];function _(M){for(var A=0;A<g.length;++A)if(M=u.positive(M,g[A]),M.length<3)return 0;for(var p=M[0],S=p[0]/p[3],y=p[1]/p[3],E=0,A=1;A+1<M.length;++A){var C=M[A],L=M[A+1],R=C[0]/C[3],I=C[1]/C[3],P=L[0]/L[3],D=L[1]/L[3],q=R-S,N=I-y,U=P-S,G=D-y;E+=Math.abs(q*G-N*U)}return E}var T=[1,1,1],w=[0,0,0],k={cubeEdges:T,axis:w};function x(M,A,p,S,y){l(c,A,M),l(c,p,c);for(var E=0,C=0;C<2;++C){v[2]=S[C][2];for(var L=0;L<2;++L){v[1]=S[L][1];for(var R=0;R<2;++R)v[0]=S[R][0],b(h[E],v,c),E+=1}}for(var I=-1,C=0;C<8;++C){for(var P=h[C][3],D=0;D<3;++D)d[C][D]=h[C][D]/P;y&&(d[C][2]*=-1),P<0&&(I<0||d[C][2]<d[I][2])&&(I=C)}if(I<0){I=0;for(var q=0;q<3;++q){for(var N=(q+2)%3,U=(q+1)%3,G=-1,ee=-1,Q=0;Q<2;++Q){var j=Q<<q,O=j+(Q<<N)+(1-Q<<U),Z=j+(1-Q<<N)+(Q<<U);f(d[j],d[O],d[Z],m)<0||(Q?G=1:ee=1)}if(G<0||ee<0){ee>G&&(I|=1<<q);continue}for(var Q=0;Q<2;++Q){var j=Q<<q,O=j+(Q<<N)+(1-Q<<U),Z=j+(1-Q<<N)+(Q<<U),K=_([h[j],h[O],h[Z],h[j+(1<<N)+(1<<U)]]);Q?G=K:ee=K}if(ee>G){I|=1<<q;continue}}}for(var $=7^I,oe=-1,C=0;C<8;++C)C===I||C===$||(oe<0||d[oe][1]>d[C][1])&&(oe=C);for(var te=-1,C=0;C<3;++C){var V=oe^1<<C;if(!(V===I||V===$)){te<0&&(te=V);var U=d[V];U[0]<d[te][0]&&(te=V)}}for(var ne=-1,C=0;C<3;++C){var V=oe^1<<C;if(!(V===I||V===$||V===te)){ne<0&&(ne=V);var U=d[V];U[0]>d[ne][0]&&(ne=V)}}var W=T;W[0]=W[1]=W[2]=0,W[s.log2(te^oe)]=oe&te,W[s.log2(oe^ne)]=oe≠var fe=ne^7;fe===I||fe===$?(fe=te^7,W[s.log2(ne^fe)]=fe&ne):W[s.log2(te^fe)]=fe&te;for(var ge=w,Ce=I,q=0;q<3;++q)Ce&1<<q?ge[q]=-1:ge[q]=1;return k}},501:function(i,a,o){"use strict";i.exports=T;var s=o(2762),l=o(8116),u=o(1879).n,f=[0,0,0],c=[0,0,0],h=[0,0,0],d=[0,0,0],v=[1,1];function m(w){return w[0]=w[1]=w[2]=0,w}function b(w,k){return w[0]=k[0],w[1]=k[1],w[2]=k[2],w}function g(w,k,x,M,A,p,S,y){this.gl=w,this.vertBuffer=k,this.vao=x,this.shader=M,this.tickCount=A,this.tickOffset=p,this.gridCount=S,this.gridOffset=y}var _=g.prototype;_.bind=function(w,k,x){this.shader.bind(),this.shader.uniforms.model=w,this.shader.uniforms.view=k,this.shader.uniforms.projection=x,v[0]=this.gl.drawingBufferWidth,v[1]=this.gl.drawingBufferHeight,this.shader.uniforms.screenShape=v,this.vao.bind()},_.unbind=function(){this.vao.unbind()},_.drawAxisLine=function(w,k,x,M,A){var p=m(c);this.shader.uniforms.majorAxis=c,p[w]=k[1][w]-k[0][w],this.shader.uniforms.minorAxis=p;var S=b(d,x);S[w]+=k[0][w],this.shader.uniforms.offset=S,this.shader.uniforms.lineWidth=A,this.shader.uniforms.color=M;var y=m(h);y[(w+2)%3]=1,this.shader.uniforms.screenAxis=y,this.vao.draw(this.gl.TRIANGLES,6);var y=m(h);y[(w+1)%3]=1,this.shader.uniforms.screenAxis=y,this.vao.draw(this.gl.TRIANGLES,6)},_.drawAxisTicks=function(w,k,x,M,A){if(this.tickCount[w]){var p=m(f);p[w]=1,this.shader.uniforms.majorAxis=p,this.shader.uniforms.offset=k,this.shader.uniforms.minorAxis=x,this.shader.uniforms.color=M,this.shader.uniforms.lineWidth=A;var S=m(h);S[w]=1,this.shader.uniforms.screenAxis=S,this.vao.draw(this.gl.TRIANGLES,this.tickCount[w],this.tickOffset[w])}},_.drawGrid=function(w,k,x,M,A,p){if(this.gridCount[w]){var S=m(c);S[k]=x[1][k]-x[0][k],this.shader.uniforms.minorAxis=S;var y=b(d,M);y[k]+=x[0][k],this.shader.uniforms.offset=y;var E=m(f);E[w]=1,this.shader.uniforms.majorAxis=E;var C=m(h);C[w]=1,this.shader.uniforms.screenAxis=C,this.shader.uniforms.lineWidth=p,this.shader.uniforms.color=A,this.vao.draw(this.gl.TRIANGLES,this.gridCount[w],this.gridOffset[w])}},_.drawZero=function(w,k,x,M,A,p){var S=m(c);this.shader.uniforms.majorAxis=S,S[w]=x[1][w]-x[0][w],this.shader.uniforms.minorAxis=S;var y=b(d,M);y[w]+=x[0][w],this.shader.uniforms.offset=y;var E=m(h);E[k]=1,this.shader.uniforms.screenAxis=E,this.shader.uniforms.lineWidth=p,this.shader.uniforms.color=A,this.vao.draw(this.gl.TRIANGLES,6)},_.dispose=function(){this.vao.dispose(),this.vertBuffer.dispose(),this.shader.dispose()};function T(w,k,x){var M=[],A=[0,0,0],p=[0,0,0],S=[0,0,0],y=[0,0,0];M.push(0,0,1,0,1,1,0,0,-1,0,0,-1,0,1,1,0,1,-1);for(var E=0;E<3;++E){for(var R=M.length/3|0,C=0;C<x[E].length;++C){var L=+x[E][C].x;M.push(L,0,1,L,1,1,L,0,-1,L,0,-1,L,1,1,L,1,-1)}var P=M.length/3|0;A[E]=R,p[E]=P-R;for(var R=M.length/3|0,I=0;I<x[E].length;++I){var L=+x[E][I].x;M.push(L,0,1,L,1,1,L,0,-1,L,0,-1,L,1,1,L,1,-1)}var P=M.length/3|0;S[E]=R,y[E]=P-R}var D=s(w,new Float32Array(M)),q=l(w,[{buffer:D,type:w.FLOAT,size:3,stride:0,offset:0}]),N=u(w);return N.attributes.position.location=0,new g(w,D,q,N,p,A,y,S)}},1879:function(i,a,o){"use strict";var s=o(3236),l=o(9405),u=s([`precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
attribute vec3 position;
|
|
|
|
uniform mat4 model, view, projection;
|
|
uniform vec3 offset, majorAxis, minorAxis, screenAxis;
|
|
uniform float lineWidth;
|
|
uniform vec2 screenShape;
|
|
|
|
vec3 project(vec3 p) {
|
|
vec4 pp = projection * (view * (model * vec4(p, 1.0)));
|
|
return pp.xyz / max(pp.w, 0.0001);
|
|
}
|
|
|
|
void main() {
|
|
vec3 major = position.x * majorAxis;
|
|
vec3 minor = position.y * minorAxis;
|
|
|
|
vec3 vPosition = major + minor + offset;
|
|
vec3 pPosition = project(vPosition);
|
|
vec3 offset = project(vPosition + screenAxis * position.z);
|
|
|
|
vec2 screen = normalize((offset - pPosition).xy * screenShape) / screenShape;
|
|
|
|
gl_Position = vec4(pPosition + vec3(0.5 * screen * lineWidth, 0), 1.0);
|
|
}
|
|
`]),f=s([`precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
uniform vec4 color;
|
|
void main() {
|
|
gl_FragColor = color;
|
|
}`]);a.n=function(m){return l(m,u,f,null,[{name:"position",type:"vec3"}])};var c=s([`precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
attribute vec3 position;
|
|
|
|
uniform mat4 model, view, projection;
|
|
uniform vec3 offset, axis, alignDir, alignOpt;
|
|
uniform float scale, angle, pixelScale;
|
|
uniform vec2 resolution;
|
|
|
|
vec3 project(vec3 p) {
|
|
vec4 pp = projection * (view * (model * vec4(p, 1.0)));
|
|
return pp.xyz / max(pp.w, 0.0001);
|
|
}
|
|
|
|
float computeViewAngle(vec3 a, vec3 b) {
|
|
vec3 A = project(a);
|
|
vec3 B = project(b);
|
|
|
|
return atan(
|
|
(B.y - A.y) * resolution.y,
|
|
(B.x - A.x) * resolution.x
|
|
);
|
|
}
|
|
|
|
const float PI = 3.141592;
|
|
const float TWO_PI = 2.0 * PI;
|
|
const float HALF_PI = 0.5 * PI;
|
|
const float ONE_AND_HALF_PI = 1.5 * PI;
|
|
|
|
int option = int(floor(alignOpt.x + 0.001));
|
|
float hv_ratio = alignOpt.y;
|
|
bool enableAlign = (alignOpt.z != 0.0);
|
|
|
|
float mod_angle(float a) {
|
|
return mod(a, PI);
|
|
}
|
|
|
|
float positive_angle(float a) {
|
|
return mod_angle((a < 0.0) ?
|
|
a + TWO_PI :
|
|
a
|
|
);
|
|
}
|
|
|
|
float look_upwards(float a) {
|
|
float b = positive_angle(a);
|
|
return ((b > HALF_PI) && (b <= ONE_AND_HALF_PI)) ?
|
|
b - PI :
|
|
b;
|
|
}
|
|
|
|
float look_horizontal_or_vertical(float a, float ratio) {
|
|
// ratio controls the ratio between being horizontal to (vertical + horizontal)
|
|
// if ratio is set to 0.5 then it is 50%, 50%.
|
|
// when using a higher ratio e.g. 0.75 the result would
|
|
// likely be more horizontal than vertical.
|
|
|
|
float b = positive_angle(a);
|
|
|
|
return
|
|
(b < ( ratio) * HALF_PI) ? 0.0 :
|
|
(b < (2.0 - ratio) * HALF_PI) ? -HALF_PI :
|
|
(b < (2.0 + ratio) * HALF_PI) ? 0.0 :
|
|
(b < (4.0 - ratio) * HALF_PI) ? HALF_PI :
|
|
0.0;
|
|
}
|
|
|
|
float roundTo(float a, float b) {
|
|
return float(b * floor((a + 0.5 * b) / b));
|
|
}
|
|
|
|
float look_round_n_directions(float a, int n) {
|
|
float b = positive_angle(a);
|
|
float div = TWO_PI / float(n);
|
|
float c = roundTo(b, div);
|
|
return look_upwards(c);
|
|
}
|
|
|
|
float applyAlignOption(float rawAngle, float delta) {
|
|
return
|
|
(option > 2) ? look_round_n_directions(rawAngle + delta, option) : // option 3-n: round to n directions
|
|
(option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical
|
|
(option == 1) ? rawAngle + delta : // use free angle, and flip to align with one direction of the axis
|
|
(option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards
|
|
(option ==-1) ? 0.0 : // useful for backward compatibility, all texts remains horizontal
|
|
rawAngle; // otherwise return back raw input angle
|
|
}
|
|
|
|
bool isAxisTitle = (axis.x == 0.0) &&
|
|
(axis.y == 0.0) &&
|
|
(axis.z == 0.0);
|
|
|
|
void main() {
|
|
//Compute world offset
|
|
float axisDistance = position.z;
|
|
vec3 dataPosition = axisDistance * axis + offset;
|
|
|
|
float beta = angle; // i.e. user defined attributes for each tick
|
|
|
|
float axisAngle;
|
|
float clipAngle;
|
|
float flip;
|
|
|
|
if (enableAlign) {
|
|
axisAngle = (isAxisTitle) ? HALF_PI :
|
|
computeViewAngle(dataPosition, dataPosition + axis);
|
|
clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir);
|
|
|
|
axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0;
|
|
clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0;
|
|
|
|
flip = (dot(vec2(cos(axisAngle), sin(axisAngle)),
|
|
vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0;
|
|
|
|
beta += applyAlignOption(clipAngle, flip * PI);
|
|
}
|
|
|
|
//Compute plane offset
|
|
vec2 planeCoord = position.xy * pixelScale;
|
|
|
|
mat2 planeXform = scale * mat2(
|
|
cos(beta), sin(beta),
|
|
-sin(beta), cos(beta)
|
|
);
|
|
|
|
vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;
|
|
|
|
//Compute clip position
|
|
vec3 clipPosition = project(dataPosition);
|
|
|
|
//Apply text offset in clip coordinates
|
|
clipPosition += vec3(viewOffset, 0.0);
|
|
|
|
//Done
|
|
gl_Position = vec4(clipPosition, 1.0);
|
|
}
|
|
`]),h=s([`precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
uniform vec4 color;
|
|
void main() {
|
|
gl_FragColor = color;
|
|
}`]);a.Q=function(m){return l(m,c,h,null,[{name:"position",type:"vec3"}])};var d=s([`precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
attribute vec3 position;
|
|
attribute vec3 normal;
|
|
|
|
uniform mat4 model, view, projection;
|
|
uniform vec3 enable;
|
|
uniform vec3 bounds[2];
|
|
|
|
varying vec3 colorChannel;
|
|
|
|
void main() {
|
|
|
|
vec3 signAxis = sign(bounds[1] - bounds[0]);
|
|
|
|
vec3 realNormal = signAxis * normal;
|
|
|
|
if(dot(realNormal, enable) > 0.0) {
|
|
vec3 minRange = min(bounds[0], bounds[1]);
|
|
vec3 maxRange = max(bounds[0], bounds[1]);
|
|
vec3 nPosition = mix(minRange, maxRange, 0.5 * (position + 1.0));
|
|
gl_Position = projection * (view * (model * vec4(nPosition, 1.0)));
|
|
} else {
|
|
gl_Position = vec4(0,0,0,0);
|
|
}
|
|
|
|
colorChannel = abs(realNormal);
|
|
}
|
|
`]),v=s([`precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
uniform vec4 colors[3];
|
|
|
|
varying vec3 colorChannel;
|
|
|
|
void main() {
|
|
gl_FragColor = colorChannel.x * colors[0] +
|
|
colorChannel.y * colors[1] +
|
|
colorChannel.z * colors[2];
|
|
}`]);a.bg=function(m){return l(m,d,v,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}},4935:function(i,a,o){"use strict";i.exports=_;var s=o(2762),l=o(8116),u=o(4359),f=o(1879).Q,c=window||process.global||{},h=c.__TEXT_CACHE||{};c.__TEXT_CACHE={};var d=3;function v(T,w,k,x){this.gl=T,this.shader=w,this.buffer=k,this.vao=x,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}var m=v.prototype,b=[0,0];m.bind=function(T,w,k,x){this.vao.bind(),this.shader.bind();var M=this.shader.uniforms;M.model=T,M.view=w,M.projection=k,M.pixelScale=x,b[0]=this.gl.drawingBufferWidth,b[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=b},m.unbind=function(){this.vao.unbind()},m.update=function(T,w,k,x,M){var A=[];function p(q,N,U,G,ee,Q){var j=[U.style,U.weight,U.variant,U.family].join("_"),O=h[j];O||(O=h[j]={});var Z=O[N];Z||(Z=O[N]=g(N,{triangles:!0,font:U.family,fontStyle:U.style,fontWeight:U.weight,fontVariant:U.variant,textAlign:"center",textBaseline:"middle",lineSpacing:ee,styletags:Q}));for(var K=(G||12)/12,$=Z.positions,oe=Z.cells,te=0,V=oe.length;te<V;++te)for(var ne=oe[te],W=2;W>=0;--W){var fe=$[ne[W]];A.push(K*fe[0],-K*fe[1],q)}}for(var S=[0,0,0],y=[0,0,0],E=[0,0,0],C=[0,0,0],L=1.25,R={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},I=0;I<3;++I){E[I]=A.length/d|0,p(.5*(T[0][I]+T[1][I]),w[I],k[I],12,L,R),C[I]=(A.length/d|0)-E[I],S[I]=A.length/d|0;for(var P=0;P<x[I].length;++P)if(x[I][P].text){var D={family:x[I][P].font||M[I].family,style:M[I].fontStyle||M[I].style,weight:M[I].fontWeight||M[I].weight,variant:M[I].fontVariant||M[I].variant};p(x[I][P].x,x[I][P].text,D,x[I][P].fontSize||12,L,R)}y[I]=(A.length/d|0)-S[I]}this.buffer.update(A),this.tickOffset=S,this.tickCount=y,this.labelOffset=E,this.labelCount=C},m.drawTicks=function(T,w,k,x,M,A,p,S){this.tickCount[T]&&(this.shader.uniforms.axis=A,this.shader.uniforms.color=M,this.shader.uniforms.angle=k,this.shader.uniforms.scale=w,this.shader.uniforms.offset=x,this.shader.uniforms.alignDir=p,this.shader.uniforms.alignOpt=S,this.vao.draw(this.gl.TRIANGLES,this.tickCount[T],this.tickOffset[T]))},m.drawLabel=function(T,w,k,x,M,A,p,S){this.labelCount[T]&&(this.shader.uniforms.axis=A,this.shader.uniforms.color=M,this.shader.uniforms.angle=k,this.shader.uniforms.scale=w,this.shader.uniforms.offset=x,this.shader.uniforms.alignDir=p,this.shader.uniforms.alignOpt=S,this.vao.draw(this.gl.TRIANGLES,this.labelCount[T],this.labelOffset[T]))},m.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()};function g(T,w){try{return u(T,w)}catch(k){return console.warn('error vectorizing text:"'+T+'" error:',k),{cells:[],positions:[]}}}function _(T,w,k,x,M,A){var p=s(T),S=l(T,[{buffer:p,size:3}]),y=f(T);y.attributes.position.location=0;var E=new v(T,y,p,S);return E.update(w,k,x,M,A),E}},6444:function(i,a){"use strict";a.create=s,a.equal=l;function o(u,f){var c=u+"",h=c.indexOf("."),d=0;h>=0&&(d=c.length-h-1);var v=Math.pow(10,d),m=Math.round(u*f*v),b=m+"";if(b.indexOf("e")>=0)return b;var g=m/v,_=m%v;m<0?(g=-Math.ceil(g)|0,_=-_|0):(g=Math.floor(g)|0,_=_|0);var T=""+g;if(m<0&&(T="-"+T),d){for(var w=""+_;w.length<d;)w="0"+w;return T+"."+w}else return T}function s(u,f){for(var c=[],h=0;h<3;++h){for(var d=[],v=.5*(u[0][h]+u[1][h]),m=0;m*f[h]<=u[1][h];++m)d.push({x:m*f[h],text:o(f[h],m)});for(var m=-1;m*f[h]>=u[0][h];--m)d.push({x:m*f[h],text:o(f[h],m)});c.push(d)}return c}function l(u,f){for(var c=0;c<3;++c){if(u[c].length!==f[c].length)return!1;for(var h=0;h<u[c].length;++h){var d=u[c][h],v=f[c][h];if(d.x!==v.x||d.text!==v.text||d.font!==v.font||d.fontColor!==v.fontColor||d.fontSize!==v.fontSize||d.dx!==v.dx||d.dy!==v.dy)return!1}}return!0}},5445:function(i,a,o){"use strict";i.exports=k;var s=o(5033),l=o(5202),u=o(6429),f=o(6760),c=o(5665),h=o(5352),d=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),v=new Float32Array(16);function m(x,M,A){this.lo=x,this.hi=M,this.pixelsPerDataUnit=A}var b=[0,0,0,1],g=[0,0,0,1];function _(x,M,A,p,S){for(var y=0;y<3;++y){for(var E=b,C=g,L=0;L<3;++L)C[L]=E[L]=A[L];C[3]=E[3]=1,C[y]+=1,h(C,C,M),C[3]<0&&(x[y]=1/0),E[y]-=1,h(E,E,M),E[3]<0&&(x[y]=1/0);var R=(E[0]/E[3]-C[0]/C[3])*p,I=(E[1]/E[3]-C[1]/C[3])*S;x[y]=.25*Math.sqrt(R*R+I*I)}return x}var T=[new m(1/0,-1/0,1/0),new m(1/0,-1/0,1/0),new m(1/0,-1/0,1/0)],w=[0,0,0];function k(x,M,A,p,I){var y=M.model||d,E=M.view||d,C=M.projection||d,L=M._ortho||!1,R=x.bounds,I=I||u(y,E,C,R,L),P=I.axis;f(v,E,y),f(v,C,v);for(var D=T,q=0;q<3;++q)D[q].lo=1/0,D[q].hi=-1/0,D[q].pixelsPerDataUnit=1/0;var N=s(c(v,v));c(v,v);for(var U=0;U<3;++U){var G=(U+1)%3,ee=(U+2)%3,Q=w;e:for(var q=0;q<2;++q){var j=[];if(P[U]<0!=!!q){Q[U]=R[q][U];for(var O=0;O<2;++O){Q[G]=R[O^q][G];for(var Z=0;Z<2;++Z)Q[ee]=R[Z^O^q][ee],j.push(Q.slice())}for(var K=L?5:4,O=K;O===K;++O){if(j.length===0)continue e;j=l.positive(j,N[O])}for(var O=0;O<j.length;++O)for(var ee=j[O],$=_(w,v,ee,A,p),Z=0;Z<3;++Z)D[Z].lo=Math.min(D[Z].lo,ee[Z]),D[Z].hi=Math.max(D[Z].hi,ee[Z]),Z!==U&&(D[Z].pixelsPerDataUnit=Math.min(D[Z].pixelsPerDataUnit,Math.abs($[Z])))}}}return D}},2762:function(i,a,o){"use strict";var s=o(1888),l=o(5298),u=o(9618),f=["uint8","uint8_clamped","uint16","uint32","int8","int16","int32","float32"];function c(g,_,T,w,k){this.gl=g,this.type=_,this.handle=T,this.length=w,this.usage=k}var h=c.prototype;h.bind=function(){this.gl.bindBuffer(this.type,this.handle)},h.unbind=function(){this.gl.bindBuffer(this.type,null)},h.dispose=function(){this.gl.deleteBuffer(this.handle)};function d(g,_,T,w,k,x){var M=k.length*k.BYTES_PER_ELEMENT;if(x<0)return g.bufferData(_,k,w),M;if(M+x>T)throw new Error("gl-buffer: If resizing buffer, must not specify offset");return g.bufferSubData(_,x,k),T}function v(g,_){for(var T=s.malloc(g.length,_),w=g.length,k=0;k<w;++k)T[k]=g[k];return T}function m(g,_){for(var T=1,w=_.length-1;w>=0;--w){if(_[w]!==T)return!1;T*=g[w]}return!0}h.update=function(g,_){if(typeof _!="number"&&(_=-1),this.bind(),typeof g=="object"&&typeof g.shape<"u"){var T=g.dtype;if(f.indexOf(T)<0&&(T="float32"),this.type===this.gl.ELEMENT_ARRAY_BUFFER){var w=gl.getExtension("OES_element_index_uint");w&&T!=="uint16"?T="uint32":T="uint16"}if(T===g.dtype&&m(g.shape,g.stride))g.offset===0&&g.data.length===g.shape[0]?this.length=d(this.gl,this.type,this.length,this.usage,g.data,_):this.length=d(this.gl,this.type,this.length,this.usage,g.data.subarray(g.offset,g.shape[0]),_);else{var k=s.malloc(g.size,T),x=u(k,g.shape);l.assign(x,g),_<0?this.length=d(this.gl,this.type,this.length,this.usage,k,_):this.length=d(this.gl,this.type,this.length,this.usage,k.subarray(0,g.size),_),s.free(k)}}else if(Array.isArray(g)){var M;this.type===this.gl.ELEMENT_ARRAY_BUFFER?M=v(g,"uint16"):M=v(g,"float32"),_<0?this.length=d(this.gl,this.type,this.length,this.usage,M,_):this.length=d(this.gl,this.type,this.length,this.usage,M.subarray(0,g.length),_),s.free(M)}else if(typeof g=="object"&&typeof g.length=="number")this.length=d(this.gl,this.type,this.length,this.usage,g,_);else if(typeof g=="number"||g===void 0){if(_>=0)throw new Error("gl-buffer: Cannot specify offset when resizing buffer");g=g|0,g<=0&&(g=1),this.gl.bufferData(this.type,g|0,this.usage),this.length=g}else throw new Error("gl-buffer: Invalid data type")};function b(g,_,T,w){if(T=T||g.ARRAY_BUFFER,w=w||g.DYNAMIC_DRAW,T!==g.ARRAY_BUFFER&&T!==g.ELEMENT_ARRAY_BUFFER)throw new Error("gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER");if(w!==g.DYNAMIC_DRAW&&w!==g.STATIC_DRAW&&w!==g.STREAM_DRAW)throw new Error("gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW");var k=g.createBuffer(),x=new c(g,T,k,0,w);return x.update(_),x}i.exports=b},6405:function(i,a,o){"use strict";var s=o(2931);i.exports=function(u,f){var c=u.positions,h=u.vectors,d={positions:[],vertexIntensity:[],vertexIntensityBounds:u.vertexIntensityBounds,vectors:[],cells:[],coneOffset:u.coneOffset,colormap:u.colormap};if(u.positions.length===0)return f&&(f[0]=[0,0,0],f[1]=[0,0,0]),d;for(var v=0,m=1/0,b=-1/0,g=1/0,_=-1/0,T=1/0,w=-1/0,k=null,x=null,M=[],A=1/0,p=!1,S=u.coneSizemode==="raw",y=0;y<c.length;y++){var E=c[y];m=Math.min(E[0],m),b=Math.max(E[0],b),g=Math.min(E[1],g),_=Math.max(E[1],_),T=Math.min(E[2],T),w=Math.max(E[2],w);var C=h[y];if(s.length(C)>v&&(v=s.length(C)),y&&!S){var L=2*s.distance(k,E)/(s.length(x)+s.length(C));L?(A=Math.min(A,L),p=!1):p=!0}p||(k=E,x=C),M.push(C)}var R=[m,g,T],I=[b,_,w];f&&(f[0]=R,f[1]=I),v===0&&(v=1);var P=1/v;isFinite(A)||(A=1),d.vectorScale=A;var D=u.coneSize||(S?1:.5);u.absoluteConeSize&&(D=u.absoluteConeSize*P),d.coneScale=D;for(var y=0,q=0;y<c.length;y++)for(var E=c[y],N=E[0],U=E[1],G=E[2],ee=M[y],Q=s.length(ee)*P,j=0,O=8;j<O;j++){d.positions.push([N,U,G,q++]),d.positions.push([N,U,G,q++]),d.positions.push([N,U,G,q++]),d.positions.push([N,U,G,q++]),d.positions.push([N,U,G,q++]),d.positions.push([N,U,G,q++]),d.vectors.push(ee),d.vectors.push(ee),d.vectors.push(ee),d.vectors.push(ee),d.vectors.push(ee),d.vectors.push(ee),d.vertexIntensity.push(Q,Q,Q),d.vertexIntensity.push(Q,Q,Q);var Z=d.positions.length;d.cells.push([Z-6,Z-5,Z-4],[Z-3,Z-2,Z-1])}return d};var l=o(614);i.exports.createMesh=o(9060),i.exports.createConeMesh=function(u,f){return i.exports.createMesh(u,f,{shaders:l,traceType:"cone"})}},9060:function(i,a,o){"use strict";var s=o(9405),l=o(2762),u=o(8116),f=o(7766),c=o(6760),h=o(7608),d=o(9618),v=o(6729),m=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function b(M,A,p,S,y,E,C,L,R,I,P){this.gl=M,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=A,this.dirty=!0,this.triShader=p,this.pickShader=S,this.trianglePositions=y,this.triangleVectors=E,this.triangleColors=L,this.triangleUVs=R,this.triangleIds=C,this.triangleVAO=I,this.triangleCount=0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.traceType=P,this.tubeScale=1,this.coneScale=2,this.vectorScale=1,this.coneOffset=.25,this._model=m,this._view=m,this._projection=m,this._resolution=[1,1]}var g=b.prototype;g.isOpaque=function(){return this.opacity>=1},g.isTransparent=function(){return this.opacity<1},g.pickSlots=1,g.setPickBase=function(M){this.pickId=M};function _(M){for(var A=v({colormap:M,nshades:256,format:"rgba"}),p=new Uint8Array(256*4),S=0;S<256;++S){for(var y=A[S],E=0;E<3;++E)p[4*S+E]=y[E];p[4*S+3]=y[3]*255}return d(p,[256,256,4],[4,0,1])}function T(M){for(var A=M.length,p=new Array(A),S=0;S<A;++S)p[S]=M[S][2];return p}g.update=function(M){M=M||{};var A=this.gl;this.dirty=!0,"lightPosition"in M&&(this.lightPosition=M.lightPosition),"opacity"in M&&(this.opacity=M.opacity),"ambient"in M&&(this.ambientLight=M.ambient),"diffuse"in M&&(this.diffuseLight=M.diffuse),"specular"in M&&(this.specularLight=M.specular),"roughness"in M&&(this.roughness=M.roughness),"fresnel"in M&&(this.fresnel=M.fresnel),M.tubeScale!==void 0&&(this.tubeScale=M.tubeScale),M.vectorScale!==void 0&&(this.vectorScale=M.vectorScale),M.coneScale!==void 0&&(this.coneScale=M.coneScale),M.coneOffset!==void 0&&(this.coneOffset=M.coneOffset),M.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=A.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=A.LINEAR,this.texture.setPixels(_(M.colormap)),this.texture.generateMipmap());var p=M.cells,S=M.positions,y=M.vectors;if(!S||!p||!y)return;var E=[],C=[],L=[],R=[],I=[];this.cells=p,this.positions=S,this.vectors=y;var P=M.meshColor||[1,1,1,1],D=M.vertexIntensity,q=1/0,N=-1/0;if(D)if(M.vertexIntensityBounds)q=+M.vertexIntensityBounds[0],N=+M.vertexIntensityBounds[1];else for(var U=0;U<D.length;++U){var G=D[U];q=Math.min(q,G),N=Math.max(N,G)}else for(var U=0;U<S.length;++U){var G=S[U][2];q=Math.min(q,G),N=Math.max(N,G)}D?this.intensity=D:this.intensity=T(S),this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(var U=0;U<S.length;++U)for(var ee=S[U],Q=0;Q<3;++Q)isNaN(ee[Q])||!isFinite(ee[Q])||(this.bounds[0][Q]=Math.min(this.bounds[0][Q],ee[Q]),this.bounds[1][Q]=Math.max(this.bounds[1][Q],ee[Q]));var j=0;e:for(var U=0;U<p.length;++U){var O=p[U];switch(O.length){case 3:for(var Q=0;Q<3;++Q)for(var Z=O[Q],ee=S[Z],K=0;K<3;++K)if(isNaN(ee[K])||!isFinite(ee[K]))continue e;for(var Q=0;Q<3;++Q){var Z=O[2-Q],ee=S[Z];E.push(ee[0],ee[1],ee[2],ee[3]);var $=y[Z];C.push($[0],$[1],$[2],$[3]||0);var oe=P;oe.length===3?L.push(oe[0],oe[1],oe[2],1):L.push(oe[0],oe[1],oe[2],oe[3]);var te;D?te=[(D[Z]-q)/(N-q),0]:te=[(ee[2]-q)/(N-q),0],R.push(te[0],te[1]),I.push(U)}j+=1;break;default:break}}this.triangleCount=j,this.trianglePositions.update(E),this.triangleVectors.update(C),this.triangleColors.update(L),this.triangleUVs.update(R),this.triangleIds.update(new Uint32Array(I))},g.drawTransparent=g.draw=function(M){M=M||{};for(var A=this.gl,p=M.model||m,S=M.view||m,y=M.projection||m,E=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],C=0;C<3;++C)E[0][C]=Math.max(E[0][C],this.clipBounds[0][C]),E[1][C]=Math.min(E[1][C],this.clipBounds[1][C]);var L={model:p,view:S,projection:y,inverseModel:m.slice(),clipBounds:E,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],opacity:this.opacity,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,texture:0};L.inverseModel=h(L.inverseModel,L.model),A.disable(A.CULL_FACE),this.texture.bind(0);var R=new Array(16);c(R,L.view,L.model),c(R,L.projection,R),h(R,R);for(var C=0;C<3;++C)L.eyePosition[C]=R[12+C]/R[15];for(var I=R[15],C=0;C<3;++C)I+=this.lightPosition[C]*R[4*C+3];for(var C=0;C<3;++C){for(var P=R[12+C],D=0;D<3;++D)P+=R[4*D+C]*this.lightPosition[D];L.lightPosition[C]=P/I}if(this.triangleCount>0){var q=this.triShader;q.bind(),q.uniforms=L,this.triangleVAO.bind(),A.drawArrays(A.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()}},g.drawPick=function(M){M=M||{};for(var A=this.gl,p=M.model||m,S=M.view||m,y=M.projection||m,E=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],C=0;C<3;++C)E[0][C]=Math.max(E[0][C],this.clipBounds[0][C]),E[1][C]=Math.min(E[1][C],this.clipBounds[1][C]);this._model=[].slice.call(p),this._view=[].slice.call(S),this._projection=[].slice.call(y),this._resolution=[A.drawingBufferWidth,A.drawingBufferHeight];var L={model:p,view:S,projection:y,clipBounds:E,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},R=this.pickShader;R.bind(),R.uniforms=L,this.triangleCount>0&&(this.triangleVAO.bind(),A.drawArrays(A.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind())},g.pick=function(M){if(!M||M.id!==this.pickId)return null;var A=M.value[0]+256*M.value[1]+65536*M.value[2],p=this.cells[A],S=this.positions[p[1]].slice(0,3),y={position:S,dataCoordinate:S,index:Math.floor(p[1]/48)};return this.traceType==="cone"?y.index=Math.floor(p[1]/48):this.traceType==="streamtube"&&(y.intensity=this.intensity[p[1]],y.velocity=this.vectors[p[1]].slice(0,3),y.divergence=this.vectors[p[1]][3],y.index=A),y},g.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleIds.dispose()};function w(M,A){var p=s(M,A.meshShader.vertex,A.meshShader.fragment,null,A.meshShader.attributes);return p.attributes.position.location=0,p.attributes.color.location=2,p.attributes.uv.location=3,p.attributes.vector.location=4,p}function k(M,A){var p=s(M,A.pickShader.vertex,A.pickShader.fragment,null,A.pickShader.attributes);return p.attributes.position.location=0,p.attributes.id.location=1,p.attributes.vector.location=4,p}function x(M,A,p){var S=p.shaders;arguments.length===1&&(A=M,M=A.gl);var y=w(M,S),E=k(M,S),C=f(M,d(new Uint8Array([255,255,255,255]),[1,1,4]));C.generateMipmap(),C.minFilter=M.LINEAR_MIPMAP_LINEAR,C.magFilter=M.LINEAR;var L=l(M),R=l(M),I=l(M),P=l(M),D=l(M),q=u(M,[{buffer:L,type:M.FLOAT,size:4},{buffer:D,type:M.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:I,type:M.FLOAT,size:4},{buffer:P,type:M.FLOAT,size:2},{buffer:R,type:M.FLOAT,size:4}]),N=new b(M,C,y,E,L,R,D,I,P,q,p.traceType||"cone");return N.update(A),N}i.exports=x},614:function(i,a,o){var s=o(3236),l=s([`precision highp float;
|
|
|
|
precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
vec3 getOrthogonalVector(vec3 v) {
|
|
// Return up-vector for only-z vector.
|
|
// Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).
|
|
// From the above if-statement we have ||a|| > 0 U ||b|| > 0.
|
|
// Assign z = 0, x = -b, y = a:
|
|
// a*-b + b*a + c*0 = -ba + ba + 0 = 0
|
|
if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {
|
|
return normalize(vec3(-v.y, v.x, 0.0));
|
|
} else {
|
|
return normalize(vec3(0.0, v.z, -v.y));
|
|
}
|
|
}
|
|
|
|
// Calculate the cone vertex and normal at the given index.
|
|
//
|
|
// The returned vertex is for a cone with its top at origin and height of 1.0,
|
|
// pointing in the direction of the vector attribute.
|
|
//
|
|
// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.
|
|
// These vertices are used to make up the triangles of the cone by the following:
|
|
// segment + 0 top vertex
|
|
// segment + 1 perimeter vertex a+1
|
|
// segment + 2 perimeter vertex a
|
|
// segment + 3 center base vertex
|
|
// segment + 4 perimeter vertex a
|
|
// segment + 5 perimeter vertex a+1
|
|
// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.
|
|
// To go from index to segment, floor(index / 6)
|
|
// To go from segment to angle, 2*pi * (segment/segmentCount)
|
|
// To go from index to segment index, index - (segment*6)
|
|
//
|
|
vec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {
|
|
|
|
const float segmentCount = 8.0;
|
|
|
|
float index = rawIndex - floor(rawIndex /
|
|
(segmentCount * 6.0)) *
|
|
(segmentCount * 6.0);
|
|
|
|
float segment = floor(0.001 + index/6.0);
|
|
float segmentIndex = index - (segment*6.0);
|
|
|
|
normal = -normalize(d);
|
|
|
|
if (segmentIndex > 2.99 && segmentIndex < 3.01) {
|
|
return mix(vec3(0.0), -d, coneOffset);
|
|
}
|
|
|
|
float nextAngle = (
|
|
(segmentIndex > 0.99 && segmentIndex < 1.01) ||
|
|
(segmentIndex > 4.99 && segmentIndex < 5.01)
|
|
) ? 1.0 : 0.0;
|
|
float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);
|
|
|
|
vec3 v1 = mix(d, vec3(0.0), coneOffset);
|
|
vec3 v2 = v1 - d;
|
|
|
|
vec3 u = getOrthogonalVector(d);
|
|
vec3 v = normalize(cross(u, d));
|
|
|
|
vec3 x = u * cos(angle) * length(d)*0.25;
|
|
vec3 y = v * sin(angle) * length(d)*0.25;
|
|
vec3 v3 = v2 + x + y;
|
|
if (segmentIndex < 3.0) {
|
|
vec3 tx = u * sin(angle);
|
|
vec3 ty = v * -cos(angle);
|
|
vec3 tangent = tx + ty;
|
|
normal = normalize(cross(v3 - v1, tangent));
|
|
}
|
|
|
|
if (segmentIndex == 0.0) {
|
|
return mix(d, vec3(0.0), coneOffset);
|
|
}
|
|
return v3;
|
|
}
|
|
|
|
attribute vec3 vector;
|
|
attribute vec4 color, position;
|
|
attribute vec2 uv;
|
|
|
|
uniform float vectorScale, coneScale, coneOffset;
|
|
uniform mat4 model, view, projection, inverseModel;
|
|
uniform vec3 eyePosition, lightPosition;
|
|
|
|
varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;
|
|
varying vec4 f_color;
|
|
varying vec2 f_uv;
|
|
|
|
void main() {
|
|
// Scale the vector magnitude to stay constant with
|
|
// model & view changes.
|
|
vec3 normal;
|
|
vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal);
|
|
vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);
|
|
|
|
//Lighting geometry parameters
|
|
vec4 cameraCoordinate = view * conePosition;
|
|
cameraCoordinate.xyz /= cameraCoordinate.w;
|
|
f_lightDirection = lightPosition - cameraCoordinate.xyz;
|
|
f_eyeDirection = eyePosition - cameraCoordinate.xyz;
|
|
f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);
|
|
|
|
// vec4 m_position = model * vec4(conePosition, 1.0);
|
|
vec4 t_position = view * conePosition;
|
|
gl_Position = projection * t_position;
|
|
|
|
f_color = color;
|
|
f_data = conePosition.xyz;
|
|
f_position = position.xyz;
|
|
f_uv = uv;
|
|
}
|
|
`]),u=s([`#extension GL_OES_standard_derivatives : enable
|
|
|
|
precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
float beckmannDistribution(float x, float roughness) {
|
|
float NdotH = max(x, 0.0001);
|
|
float cos2Alpha = NdotH * NdotH;
|
|
float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;
|
|
float roughness2 = roughness * roughness;
|
|
float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;
|
|
return exp(tan2Alpha / roughness2) / denom;
|
|
}
|
|
|
|
float cookTorranceSpecular(
|
|
vec3 lightDirection,
|
|
vec3 viewDirection,
|
|
vec3 surfaceNormal,
|
|
float roughness,
|
|
float fresnel) {
|
|
|
|
float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);
|
|
float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);
|
|
|
|
//Half angle vector
|
|
vec3 H = normalize(lightDirection + viewDirection);
|
|
|
|
//Geometric term
|
|
float NdotH = max(dot(surfaceNormal, H), 0.0);
|
|
float VdotH = max(dot(viewDirection, H), 0.000001);
|
|
float LdotH = max(dot(lightDirection, H), 0.000001);
|
|
float G1 = (2.0 * NdotH * VdotN) / VdotH;
|
|
float G2 = (2.0 * NdotH * LdotN) / LdotH;
|
|
float G = min(1.0, min(G1, G2));
|
|
|
|
//Distribution term
|
|
float D = beckmannDistribution(NdotH, roughness);
|
|
|
|
//Fresnel term
|
|
float F = pow(1.0 - VdotN, fresnel);
|
|
|
|
//Multiply terms and done
|
|
return G * F * D / max(3.14159265 * VdotN, 0.000001);
|
|
}
|
|
|
|
bool outOfRange(float a, float b, float p) {
|
|
return ((p > max(a, b)) ||
|
|
(p < min(a, b)));
|
|
}
|
|
|
|
bool outOfRange(vec2 a, vec2 b, vec2 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y));
|
|
}
|
|
|
|
bool outOfRange(vec3 a, vec3 b, vec3 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y) ||
|
|
outOfRange(a.z, b.z, p.z));
|
|
}
|
|
|
|
bool outOfRange(vec4 a, vec4 b, vec4 p) {
|
|
return outOfRange(a.xyz, b.xyz, p.xyz);
|
|
}
|
|
|
|
uniform vec3 clipBounds[2];
|
|
uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;
|
|
uniform sampler2D texture;
|
|
|
|
varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;
|
|
varying vec4 f_color;
|
|
varying vec2 f_uv;
|
|
|
|
void main() {
|
|
if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;
|
|
vec3 N = normalize(f_normal);
|
|
vec3 L = normalize(f_lightDirection);
|
|
vec3 V = normalize(f_eyeDirection);
|
|
|
|
if(gl_FrontFacing) {
|
|
N = -N;
|
|
}
|
|
|
|
float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));
|
|
float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);
|
|
|
|
vec4 surfaceColor = f_color * texture2D(texture, f_uv);
|
|
vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);
|
|
|
|
gl_FragColor = litColor * opacity;
|
|
}
|
|
`]),f=s([`precision highp float;
|
|
|
|
precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
vec3 getOrthogonalVector(vec3 v) {
|
|
// Return up-vector for only-z vector.
|
|
// Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).
|
|
// From the above if-statement we have ||a|| > 0 U ||b|| > 0.
|
|
// Assign z = 0, x = -b, y = a:
|
|
// a*-b + b*a + c*0 = -ba + ba + 0 = 0
|
|
if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {
|
|
return normalize(vec3(-v.y, v.x, 0.0));
|
|
} else {
|
|
return normalize(vec3(0.0, v.z, -v.y));
|
|
}
|
|
}
|
|
|
|
// Calculate the cone vertex and normal at the given index.
|
|
//
|
|
// The returned vertex is for a cone with its top at origin and height of 1.0,
|
|
// pointing in the direction of the vector attribute.
|
|
//
|
|
// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.
|
|
// These vertices are used to make up the triangles of the cone by the following:
|
|
// segment + 0 top vertex
|
|
// segment + 1 perimeter vertex a+1
|
|
// segment + 2 perimeter vertex a
|
|
// segment + 3 center base vertex
|
|
// segment + 4 perimeter vertex a
|
|
// segment + 5 perimeter vertex a+1
|
|
// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.
|
|
// To go from index to segment, floor(index / 6)
|
|
// To go from segment to angle, 2*pi * (segment/segmentCount)
|
|
// To go from index to segment index, index - (segment*6)
|
|
//
|
|
vec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {
|
|
|
|
const float segmentCount = 8.0;
|
|
|
|
float index = rawIndex - floor(rawIndex /
|
|
(segmentCount * 6.0)) *
|
|
(segmentCount * 6.0);
|
|
|
|
float segment = floor(0.001 + index/6.0);
|
|
float segmentIndex = index - (segment*6.0);
|
|
|
|
normal = -normalize(d);
|
|
|
|
if (segmentIndex > 2.99 && segmentIndex < 3.01) {
|
|
return mix(vec3(0.0), -d, coneOffset);
|
|
}
|
|
|
|
float nextAngle = (
|
|
(segmentIndex > 0.99 && segmentIndex < 1.01) ||
|
|
(segmentIndex > 4.99 && segmentIndex < 5.01)
|
|
) ? 1.0 : 0.0;
|
|
float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);
|
|
|
|
vec3 v1 = mix(d, vec3(0.0), coneOffset);
|
|
vec3 v2 = v1 - d;
|
|
|
|
vec3 u = getOrthogonalVector(d);
|
|
vec3 v = normalize(cross(u, d));
|
|
|
|
vec3 x = u * cos(angle) * length(d)*0.25;
|
|
vec3 y = v * sin(angle) * length(d)*0.25;
|
|
vec3 v3 = v2 + x + y;
|
|
if (segmentIndex < 3.0) {
|
|
vec3 tx = u * sin(angle);
|
|
vec3 ty = v * -cos(angle);
|
|
vec3 tangent = tx + ty;
|
|
normal = normalize(cross(v3 - v1, tangent));
|
|
}
|
|
|
|
if (segmentIndex == 0.0) {
|
|
return mix(d, vec3(0.0), coneOffset);
|
|
}
|
|
return v3;
|
|
}
|
|
|
|
attribute vec4 vector;
|
|
attribute vec4 position;
|
|
attribute vec4 id;
|
|
|
|
uniform mat4 model, view, projection;
|
|
uniform float vectorScale, coneScale, coneOffset;
|
|
|
|
varying vec3 f_position;
|
|
varying vec4 f_id;
|
|
|
|
void main() {
|
|
vec3 normal;
|
|
vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal);
|
|
vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);
|
|
gl_Position = projection * (view * conePosition);
|
|
f_id = id;
|
|
f_position = position.xyz;
|
|
}
|
|
`]),c=s([`precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
bool outOfRange(float a, float b, float p) {
|
|
return ((p > max(a, b)) ||
|
|
(p < min(a, b)));
|
|
}
|
|
|
|
bool outOfRange(vec2 a, vec2 b, vec2 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y));
|
|
}
|
|
|
|
bool outOfRange(vec3 a, vec3 b, vec3 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y) ||
|
|
outOfRange(a.z, b.z, p.z));
|
|
}
|
|
|
|
bool outOfRange(vec4 a, vec4 b, vec4 p) {
|
|
return outOfRange(a.xyz, b.xyz, p.xyz);
|
|
}
|
|
|
|
uniform vec3 clipBounds[2];
|
|
uniform float pickId;
|
|
|
|
varying vec3 f_position;
|
|
varying vec4 f_id;
|
|
|
|
void main() {
|
|
if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;
|
|
|
|
gl_FragColor = vec4(pickId, f_id.xyz);
|
|
}`]);a.meshShader={vertex:l,fragment:u,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec3"}]},a.pickShader={vertex:f,fragment:c,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec3"}]}},737:function(i){i.exports={0:"NONE",1:"ONE",2:"LINE_LOOP",3:"LINE_STRIP",4:"TRIANGLES",5:"TRIANGLE_STRIP",6:"TRIANGLE_FAN",256:"DEPTH_BUFFER_BIT",512:"NEVER",513:"LESS",514:"EQUAL",515:"LEQUAL",516:"GREATER",517:"NOTEQUAL",518:"GEQUAL",519:"ALWAYS",768:"SRC_COLOR",769:"ONE_MINUS_SRC_COLOR",770:"SRC_ALPHA",771:"ONE_MINUS_SRC_ALPHA",772:"DST_ALPHA",773:"ONE_MINUS_DST_ALPHA",774:"DST_COLOR",775:"ONE_MINUS_DST_COLOR",776:"SRC_ALPHA_SATURATE",1024:"STENCIL_BUFFER_BIT",1028:"FRONT",1029:"BACK",1032:"FRONT_AND_BACK",1280:"INVALID_ENUM",1281:"INVALID_VALUE",1282:"INVALID_OPERATION",1285:"OUT_OF_MEMORY",1286:"INVALID_FRAMEBUFFER_OPERATION",2304:"CW",2305:"CCW",2849:"LINE_WIDTH",2884:"CULL_FACE",2885:"CULL_FACE_MODE",2886:"FRONT_FACE",2928:"DEPTH_RANGE",2929:"DEPTH_TEST",2930:"DEPTH_WRITEMASK",2931:"DEPTH_CLEAR_VALUE",2932:"DEPTH_FUNC",2960:"STENCIL_TEST",2961:"STENCIL_CLEAR_VALUE",2962:"STENCIL_FUNC",2963:"STENCIL_VALUE_MASK",2964:"STENCIL_FAIL",2965:"STENCIL_PASS_DEPTH_FAIL",2966:"STENCIL_PASS_DEPTH_PASS",2967:"STENCIL_REF",2968:"STENCIL_WRITEMASK",2978:"VIEWPORT",3024:"DITHER",3042:"BLEND",3088:"SCISSOR_BOX",3089:"SCISSOR_TEST",3106:"COLOR_CLEAR_VALUE",3107:"COLOR_WRITEMASK",3317:"UNPACK_ALIGNMENT",3333:"PACK_ALIGNMENT",3379:"MAX_TEXTURE_SIZE",3386:"MAX_VIEWPORT_DIMS",3408:"SUBPIXEL_BITS",3410:"RED_BITS",3411:"GREEN_BITS",3412:"BLUE_BITS",3413:"ALPHA_BITS",3414:"DEPTH_BITS",3415:"STENCIL_BITS",3553:"TEXTURE_2D",4352:"DONT_CARE",4353:"FASTEST",4354:"NICEST",5120:"BYTE",5121:"UNSIGNED_BYTE",5122:"SHORT",5123:"UNSIGNED_SHORT",5124:"INT",5125:"UNSIGNED_INT",5126:"FLOAT",5386:"INVERT",5890:"TEXTURE",6401:"STENCIL_INDEX",6402:"DEPTH_COMPONENT",6406:"ALPHA",6407:"RGB",6408:"RGBA",6409:"LUMINANCE",6410:"LUMINANCE_ALPHA",7680:"KEEP",7681:"REPLACE",7682:"INCR",7683:"DECR",7936:"VENDOR",7937:"RENDERER",7938:"VERSION",9728:"NEAREST",9729:"LINEAR",9984:"NEAREST_MIPMAP_NEAREST",9985:"LINEAR_MIPMAP_NEAREST",9986:"NEAREST_MIPMAP_LINEAR",9987:"LINEAR_MIPMAP_LINEAR",10240:"TEXTURE_MAG_FILTER",10241:"TEXTURE_MIN_FILTER",10242:"TEXTURE_WRAP_S",10243:"TEXTURE_WRAP_T",10497:"REPEAT",10752:"POLYGON_OFFSET_UNITS",16384:"COLOR_BUFFER_BIT",32769:"CONSTANT_COLOR",32770:"ONE_MINUS_CONSTANT_COLOR",32771:"CONSTANT_ALPHA",32772:"ONE_MINUS_CONSTANT_ALPHA",32773:"BLEND_COLOR",32774:"FUNC_ADD",32777:"BLEND_EQUATION_RGB",32778:"FUNC_SUBTRACT",32779:"FUNC_REVERSE_SUBTRACT",32819:"UNSIGNED_SHORT_4_4_4_4",32820:"UNSIGNED_SHORT_5_5_5_1",32823:"POLYGON_OFFSET_FILL",32824:"POLYGON_OFFSET_FACTOR",32854:"RGBA4",32855:"RGB5_A1",32873:"TEXTURE_BINDING_2D",32926:"SAMPLE_ALPHA_TO_COVERAGE",32928:"SAMPLE_COVERAGE",32936:"SAMPLE_BUFFERS",32937:"SAMPLES",32938:"SAMPLE_COVERAGE_VALUE",32939:"SAMPLE_COVERAGE_INVERT",32968:"BLEND_DST_RGB",32969:"BLEND_SRC_RGB",32970:"BLEND_DST_ALPHA",32971:"BLEND_SRC_ALPHA",33071:"CLAMP_TO_EDGE",33170:"GENERATE_MIPMAP_HINT",33189:"DEPTH_COMPONENT16",33306:"DEPTH_STENCIL_ATTACHMENT",33635:"UNSIGNED_SHORT_5_6_5",33648:"MIRRORED_REPEAT",33901:"ALIASED_POINT_SIZE_RANGE",33902:"ALIASED_LINE_WIDTH_RANGE",33984:"TEXTURE0",33985:"TEXTURE1",33986:"TEXTURE2",33987:"TEXTURE3",33988:"TEXTURE4",33989:"TEXTURE5",33990:"TEXTURE6",33991:"TEXTURE7",33992:"TEXTURE8",33993:"TEXTURE9",33994:"TEXTURE10",33995:"TEXTURE11",33996:"TEXTURE12",33997:"TEXTURE13",33998:"TEXTURE14",33999:"TEXTURE15",34e3:"TEXTURE16",34001:"TEXTURE17",34002:"TEXTURE18",34003:"TEXTURE19",34004:"TEXTURE20",34005:"TEXTURE21",34006:"TEXTURE22",34007:"TEXTURE23",34008:"TEXTURE24",34009:"TEXTURE25",34010:"TEXTURE26",34011:"TEXTURE27",34012:"TEXTURE28",34013:"TEXTURE29",34014:"TEXTURE30",34015:"TEXTURE31",34016:"ACTIVE_TEXTURE",34024:"MAX_RENDERBUFFER_SIZE",34041:"DEPTH_STENCIL",34055:"INCR_WRAP",34056:"DECR_WRAP",34067:"TEXTURE_CUBE_MAP",34068:"TEXTURE_BINDING_CUBE_MAP",34069:"TEXTURE_CUBE_MAP_POSITIVE_X",34070:"TEXTURE_CUBE_MAP_NEGATIVE_X",34071:"TEXTURE_CUBE_MAP_POSITIVE_Y",34072:"TEXTURE_CUBE_MAP_NEGATIVE_Y",34073:"TEXTURE_CUBE_MAP_POSITIVE_Z",34074:"TEXTURE_CUBE_MAP_NEGATIVE_Z",34076:"MAX_CUBE_MAP_TEXTURE_SIZE",34338:"VERTEX_ATTRIB_ARRAY_ENABLED",34339:"VERTEX_ATTRIB_ARRAY_SIZE",34340:"VERTEX_ATTRIB_ARRAY_STRIDE",34341:"VERTEX_ATTRIB_ARRAY_TYPE",34342:"CURRENT_VERTEX_ATTRIB",34373:"VERTEX_ATTRIB_ARRAY_POINTER",34466:"NUM_COMPRESSED_TEXTURE_FORMATS",34467:"COMPRESSED_TEXTURE_FORMATS",34660:"BUFFER_SIZE",34661:"BUFFER_USAGE",34816:"STENCIL_BACK_FUNC",34817:"STENCIL_BACK_FAIL",34818:"STENCIL_BACK_PASS_DEPTH_FAIL",34819:"STENCIL_BACK_PASS_DEPTH_PASS",34877:"BLEND_EQUATION_ALPHA",34921:"MAX_VERTEX_ATTRIBS",34922:"VERTEX_ATTRIB_ARRAY_NORMALIZED",34930:"MAX_TEXTURE_IMAGE_UNITS",34962:"ARRAY_BUFFER",34963:"ELEMENT_ARRAY_BUFFER",34964:"ARRAY_BUFFER_BINDING",34965:"ELEMENT_ARRAY_BUFFER_BINDING",34975:"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",35040:"STREAM_DRAW",35044:"STATIC_DRAW",35048:"DYNAMIC_DRAW",35632:"FRAGMENT_SHADER",35633:"VERTEX_SHADER",35660:"MAX_VERTEX_TEXTURE_IMAGE_UNITS",35661:"MAX_COMBINED_TEXTURE_IMAGE_UNITS",35663:"SHADER_TYPE",35664:"FLOAT_VEC2",35665:"FLOAT_VEC3",35666:"FLOAT_VEC4",35667:"INT_VEC2",35668:"INT_VEC3",35669:"INT_VEC4",35670:"BOOL",35671:"BOOL_VEC2",35672:"BOOL_VEC3",35673:"BOOL_VEC4",35674:"FLOAT_MAT2",35675:"FLOAT_MAT3",35676:"FLOAT_MAT4",35678:"SAMPLER_2D",35680:"SAMPLER_CUBE",35712:"DELETE_STATUS",35713:"COMPILE_STATUS",35714:"LINK_STATUS",35715:"VALIDATE_STATUS",35716:"INFO_LOG_LENGTH",35717:"ATTACHED_SHADERS",35718:"ACTIVE_UNIFORMS",35719:"ACTIVE_UNIFORM_MAX_LENGTH",35720:"SHADER_SOURCE_LENGTH",35721:"ACTIVE_ATTRIBUTES",35722:"ACTIVE_ATTRIBUTE_MAX_LENGTH",35724:"SHADING_LANGUAGE_VERSION",35725:"CURRENT_PROGRAM",36003:"STENCIL_BACK_REF",36004:"STENCIL_BACK_VALUE_MASK",36005:"STENCIL_BACK_WRITEMASK",36006:"FRAMEBUFFER_BINDING",36007:"RENDERBUFFER_BINDING",36048:"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",36049:"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",36050:"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",36051:"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",36053:"FRAMEBUFFER_COMPLETE",36054:"FRAMEBUFFER_INCOMPLETE_ATTACHMENT",36055:"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",36057:"FRAMEBUFFER_INCOMPLETE_DIMENSIONS",36061:"FRAMEBUFFER_UNSUPPORTED",36064:"COLOR_ATTACHMENT0",36096:"DEPTH_ATTACHMENT",36128:"STENCIL_ATTACHMENT",36160:"FRAMEBUFFER",36161:"RENDERBUFFER",36162:"RENDERBUFFER_WIDTH",36163:"RENDERBUFFER_HEIGHT",36164:"RENDERBUFFER_INTERNAL_FORMAT",36168:"STENCIL_INDEX8",36176:"RENDERBUFFER_RED_SIZE",36177:"RENDERBUFFER_GREEN_SIZE",36178:"RENDERBUFFER_BLUE_SIZE",36179:"RENDERBUFFER_ALPHA_SIZE",36180:"RENDERBUFFER_DEPTH_SIZE",36181:"RENDERBUFFER_STENCIL_SIZE",36194:"RGB565",36336:"LOW_FLOAT",36337:"MEDIUM_FLOAT",36338:"HIGH_FLOAT",36339:"LOW_INT",36340:"MEDIUM_INT",36341:"HIGH_INT",36346:"SHADER_COMPILER",36347:"MAX_VERTEX_UNIFORM_VECTORS",36348:"MAX_VARYING_VECTORS",36349:"MAX_FRAGMENT_UNIFORM_VECTORS",37440:"UNPACK_FLIP_Y_WEBGL",37441:"UNPACK_PREMULTIPLY_ALPHA_WEBGL",37442:"CONTEXT_LOST_WEBGL",37443:"UNPACK_COLORSPACE_CONVERSION_WEBGL",37444:"BROWSER_DEFAULT_WEBGL"}},5171:function(i,a,o){var s=o(737);i.exports=function(u){return s[u]}},9165:function(i,a,o){"use strict";i.exports=b;var s=o(2762),l=o(8116),u=o(3436),f=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function c(g,_,T,w){this.gl=g,this.shader=w,this.buffer=_,this.vao=T,this.pixelRatio=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lineWidth=[1,1,1],this.capSize=[10,10,10],this.lineCount=[0,0,0],this.lineOffset=[0,0,0],this.opacity=1,this.hasAlpha=!1}var h=c.prototype;h.isOpaque=function(){return!this.hasAlpha},h.isTransparent=function(){return this.hasAlpha},h.drawTransparent=h.draw=function(g){var _=this.gl,T=this.shader.uniforms;this.shader.bind();var w=T.view=g.view||f,k=T.projection=g.projection||f;T.model=g.model||f,T.clipBounds=this.clipBounds,T.opacity=this.opacity;var x=w[12],M=w[13],A=w[14],p=w[15],S=g._ortho||!1,y=S?2:1,E=y*this.pixelRatio*(k[3]*x+k[7]*M+k[11]*A+k[15]*p)/_.drawingBufferHeight;this.vao.bind();for(var C=0;C<3;++C)_.lineWidth(this.lineWidth[C]*this.pixelRatio),T.capSize=this.capSize[C]*E,this.lineCount[C]&&_.drawArrays(_.LINES,this.lineOffset[C],this.lineCount[C]);this.vao.unbind()};function d(g,_){for(var T=0;T<3;++T)g[0][T]=Math.min(g[0][T],_[T]),g[1][T]=Math.max(g[1][T],_[T])}var v=function(){for(var g=new Array(3),_=0;_<3;++_){for(var T=[],w=1;w<=2;++w)for(var k=-1;k<=1;k+=2){var x=(w+_)%3,M=[0,0,0];M[x]=k,T.push(M)}g[_]=T}return g}();function m(g,_,T,w){for(var k=v[w],x=0;x<k.length;++x){var M=k[x];g.push(_[0],_[1],_[2],T[0],T[1],T[2],T[3],M[0],M[1],M[2])}return k.length}h.update=function(g){g=g||{},"lineWidth"in g&&(this.lineWidth=g.lineWidth,Array.isArray(this.lineWidth)||(this.lineWidth=[this.lineWidth,this.lineWidth,this.lineWidth])),"capSize"in g&&(this.capSize=g.capSize,Array.isArray(this.capSize)||(this.capSize=[this.capSize,this.capSize,this.capSize])),this.hasAlpha=!1,"opacity"in g&&(this.opacity=+g.opacity,this.opacity<1&&(this.hasAlpha=!0));var _=g.color||[[0,0,0],[0,0,0],[0,0,0]],T=g.position,w=g.error;if(Array.isArray(_[0])||(_=[_,_,_]),T&&w){var k=[],x=T.length,M=0;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.lineCount=[0,0,0];for(var A=0;A<3;++A){this.lineOffset[A]=M;e:for(var p=0;p<x;++p){for(var S=T[p],y=0;y<3;++y)if(isNaN(S[y])||!isFinite(S[y]))continue e;var E=w[p],C=_[A];if(Array.isArray(C[0])&&(C=_[p]),C.length===3?C=[C[0],C[1],C[2],1]:C.length===4&&(C=[C[0],C[1],C[2],C[3]],!this.hasAlpha&&C[3]<1&&(this.hasAlpha=!0)),!(isNaN(E[0][A])||isNaN(E[1][A]))){if(E[0][A]<0){var L=S.slice();L[A]+=E[0][A],k.push(S[0],S[1],S[2],C[0],C[1],C[2],C[3],0,0,0,L[0],L[1],L[2],C[0],C[1],C[2],C[3],0,0,0),d(this.bounds,L),M+=2+m(k,L,C,A)}if(E[1][A]>0){var L=S.slice();L[A]+=E[1][A],k.push(S[0],S[1],S[2],C[0],C[1],C[2],C[3],0,0,0,L[0],L[1],L[2],C[0],C[1],C[2],C[3],0,0,0),d(this.bounds,L),M+=2+m(k,L,C,A)}}}this.lineCount[A]=M-this.lineOffset[A]}this.buffer.update(k)}},h.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()};function b(g){var _=g.gl,T=s(_),w=l(_,[{buffer:T,type:_.FLOAT,size:3,offset:0,stride:40},{buffer:T,type:_.FLOAT,size:4,offset:12,stride:40},{buffer:T,type:_.FLOAT,size:3,offset:28,stride:40}]),k=u(_);k.attributes.position.location=0,k.attributes.color.location=1,k.attributes.offset.location=2;var x=new c(_,T,w,k);return x.update(g),x}},3436:function(i,a,o){"use strict";var s=o(3236),l=o(9405),u=s([`precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
attribute vec3 position, offset;
|
|
attribute vec4 color;
|
|
uniform mat4 model, view, projection;
|
|
uniform float capSize;
|
|
varying vec4 fragColor;
|
|
varying vec3 fragPosition;
|
|
|
|
void main() {
|
|
vec4 worldPosition = model * vec4(position, 1.0);
|
|
worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);
|
|
gl_Position = projection * (view * worldPosition);
|
|
fragColor = color;
|
|
fragPosition = position;
|
|
}`]),f=s([`precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
bool outOfRange(float a, float b, float p) {
|
|
return ((p > max(a, b)) ||
|
|
(p < min(a, b)));
|
|
}
|
|
|
|
bool outOfRange(vec2 a, vec2 b, vec2 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y));
|
|
}
|
|
|
|
bool outOfRange(vec3 a, vec3 b, vec3 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y) ||
|
|
outOfRange(a.z, b.z, p.z));
|
|
}
|
|
|
|
bool outOfRange(vec4 a, vec4 b, vec4 p) {
|
|
return outOfRange(a.xyz, b.xyz, p.xyz);
|
|
}
|
|
|
|
uniform vec3 clipBounds[2];
|
|
uniform float opacity;
|
|
varying vec3 fragPosition;
|
|
varying vec4 fragColor;
|
|
|
|
void main() {
|
|
if (
|
|
outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||
|
|
fragColor.a * opacity == 0.
|
|
) discard;
|
|
|
|
gl_FragColor = opacity * fragColor;
|
|
}`]);i.exports=function(c){return l(c,u,f,null,[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"offset",type:"vec3"}])}},2260:function(i,a,o){"use strict";var s=o(7766);i.exports=M;var l=null,u,f,c,h;function d(A){var p=A.getParameter(A.FRAMEBUFFER_BINDING),S=A.getParameter(A.RENDERBUFFER_BINDING),y=A.getParameter(A.TEXTURE_BINDING_2D);return[p,S,y]}function v(A,p){A.bindFramebuffer(A.FRAMEBUFFER,p[0]),A.bindRenderbuffer(A.RENDERBUFFER,p[1]),A.bindTexture(A.TEXTURE_2D,p[2])}function m(A,p){var S=A.getParameter(p.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(S+1);for(var y=0;y<=S;++y){for(var E=new Array(S),C=0;C<y;++C)E[C]=A.COLOR_ATTACHMENT0+C;for(var C=y;C<S;++C)E[C]=A.NONE;l[y]=E}}function b(A){switch(A){case u:throw new Error("gl-fbo: Framebuffer unsupported");case f:throw new Error("gl-fbo: Framebuffer incomplete attachment");case c:throw new Error("gl-fbo: Framebuffer incomplete dimensions");case h:throw new Error("gl-fbo: Framebuffer incomplete missing attachment");default:throw new Error("gl-fbo: Framebuffer failed for unspecified reason")}}function g(A,p,S,y,E,C){if(!y)return null;var L=s(A,p,S,E,y);return L.magFilter=A.NEAREST,L.minFilter=A.NEAREST,L.mipSamples=1,L.bind(),A.framebufferTexture2D(A.FRAMEBUFFER,C,A.TEXTURE_2D,L.handle,0),L}function _(A,p,S,y,E){var C=A.createRenderbuffer();return A.bindRenderbuffer(A.RENDERBUFFER,C),A.renderbufferStorage(A.RENDERBUFFER,y,p,S),A.framebufferRenderbuffer(A.FRAMEBUFFER,E,A.RENDERBUFFER,C),C}function T(A){var p=d(A.gl),S=A.gl,y=A.handle=S.createFramebuffer(),E=A._shape[0],C=A._shape[1],L=A.color.length,R=A._ext,I=A._useStencil,P=A._useDepth,D=A._colorType;S.bindFramebuffer(S.FRAMEBUFFER,y);for(var q=0;q<L;++q)A.color[q]=g(S,E,C,D,S.RGBA,S.COLOR_ATTACHMENT0+q);L===0?(A._color_rb=_(S,E,C,S.RGBA4,S.COLOR_ATTACHMENT0),R&&R.drawBuffersWEBGL(l[0])):L>1&&R.drawBuffersWEBGL(l[L]);var N=S.getExtension("WEBGL_depth_texture");N?I?A.depth=g(S,E,C,N.UNSIGNED_INT_24_8_WEBGL,S.DEPTH_STENCIL,S.DEPTH_STENCIL_ATTACHMENT):P&&(A.depth=g(S,E,C,S.UNSIGNED_SHORT,S.DEPTH_COMPONENT,S.DEPTH_ATTACHMENT)):P&&I?A._depth_rb=_(S,E,C,S.DEPTH_STENCIL,S.DEPTH_STENCIL_ATTACHMENT):P?A._depth_rb=_(S,E,C,S.DEPTH_COMPONENT16,S.DEPTH_ATTACHMENT):I&&(A._depth_rb=_(S,E,C,S.STENCIL_INDEX,S.STENCIL_ATTACHMENT));var U=S.checkFramebufferStatus(S.FRAMEBUFFER);if(U!==S.FRAMEBUFFER_COMPLETE){A._destroyed=!0,S.bindFramebuffer(S.FRAMEBUFFER,null),S.deleteFramebuffer(A.handle),A.handle=null,A.depth&&(A.depth.dispose(),A.depth=null),A._depth_rb&&(S.deleteRenderbuffer(A._depth_rb),A._depth_rb=null);for(var q=0;q<A.color.length;++q)A.color[q].dispose(),A.color[q]=null;A._color_rb&&(S.deleteRenderbuffer(A._color_rb),A._color_rb=null),v(S,p),b(U)}v(S,p)}function w(A,p,S,y,E,C,L,R){this.gl=A,this._shape=[p|0,S|0],this._destroyed=!1,this._ext=R,this.color=new Array(E);for(var I=0;I<E;++I)this.color[I]=null;this._color_rb=null,this.depth=null,this._depth_rb=null,this._colorType=y,this._useDepth=C,this._useStencil=L;var P=this,D=[p|0,S|0];Object.defineProperties(D,{0:{get:function(){return P._shape[0]},set:function(q){return P.width=q}},1:{get:function(){return P._shape[1]},set:function(q){return P.height=q}}}),this._shapeVector=D,T(this)}var k=w.prototype;function x(A,p,S){if(A._destroyed)throw new Error("gl-fbo: Can't resize destroyed FBO");if(!(A._shape[0]===p&&A._shape[1]===S)){var y=A.gl,E=y.getParameter(y.MAX_RENDERBUFFER_SIZE);if(p<0||p>E||S<0||S>E)throw new Error("gl-fbo: Can't resize FBO, invalid dimensions");A._shape[0]=p,A._shape[1]=S;for(var C=d(y),L=0;L<A.color.length;++L)A.color[L].shape=A._shape;A._color_rb&&(y.bindRenderbuffer(y.RENDERBUFFER,A._color_rb),y.renderbufferStorage(y.RENDERBUFFER,y.RGBA4,A._shape[0],A._shape[1])),A.depth&&(A.depth.shape=A._shape),A._depth_rb&&(y.bindRenderbuffer(y.RENDERBUFFER,A._depth_rb),A._useDepth&&A._useStencil?y.renderbufferStorage(y.RENDERBUFFER,y.DEPTH_STENCIL,A._shape[0],A._shape[1]):A._useDepth?y.renderbufferStorage(y.RENDERBUFFER,y.DEPTH_COMPONENT16,A._shape[0],A._shape[1]):A._useStencil&&y.renderbufferStorage(y.RENDERBUFFER,y.STENCIL_INDEX,A._shape[0],A._shape[1])),y.bindFramebuffer(y.FRAMEBUFFER,A.handle);var R=y.checkFramebufferStatus(y.FRAMEBUFFER);R!==y.FRAMEBUFFER_COMPLETE&&(A.dispose(),v(y,C),b(R)),v(y,C)}}Object.defineProperties(k,{shape:{get:function(){return this._destroyed?[0,0]:this._shapeVector},set:function(A){if(Array.isArray(A)||(A=[A|0,A|0]),A.length!==2)throw new Error("gl-fbo: Shape vector must be length 2");var p=A[0]|0,S=A[1]|0;return x(this,p,S),[p,S]},enumerable:!1},width:{get:function(){return this._destroyed?0:this._shape[0]},set:function(A){return A=A|0,x(this,A,this._shape[1]),A},enumerable:!1},height:{get:function(){return this._destroyed?0:this._shape[1]},set:function(A){return A=A|0,x(this,this._shape[0],A),A},enumerable:!1}}),k.bind=function(){if(!this._destroyed){var A=this.gl;A.bindFramebuffer(A.FRAMEBUFFER,this.handle),A.viewport(0,0,this._shape[0],this._shape[1])}},k.dispose=function(){if(!this._destroyed){this._destroyed=!0;var A=this.gl;A.deleteFramebuffer(this.handle),this.handle=null,this.depth&&(this.depth.dispose(),this.depth=null),this._depth_rb&&(A.deleteRenderbuffer(this._depth_rb),this._depth_rb=null);for(var p=0;p<this.color.length;++p)this.color[p].dispose(),this.color[p]=null;this._color_rb&&(A.deleteRenderbuffer(this._color_rb),this._color_rb=null)}};function M(A,p,S,y){u||(u=A.FRAMEBUFFER_UNSUPPORTED,f=A.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,c=A.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,h=A.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var E=A.getExtension("WEBGL_draw_buffers");if(!l&&E&&m(A,E),Array.isArray(p)&&(y=S,S=p[1]|0,p=p[0]|0),typeof p!="number")throw new Error("gl-fbo: Missing shape parameter");var C=A.getParameter(A.MAX_RENDERBUFFER_SIZE);if(p<0||p>C||S<0||S>C)throw new Error("gl-fbo: Parameters are too large for FBO");y=y||{};var L=1;if("color"in y){if(L=Math.max(y.color|0,0),L<0)throw new Error("gl-fbo: Must specify a nonnegative number of colors");if(L>1)if(E){if(L>A.getParameter(E.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error("gl-fbo: Context does not support "+L+" draw buffers")}else throw new Error("gl-fbo: Multiple draw buffer extension not supported")}var R=A.UNSIGNED_BYTE,I=A.getExtension("OES_texture_float");if(y.float&&L>0){if(!I)throw new Error("gl-fbo: Context does not support floating point textures");R=A.FLOAT}else y.preferFloat&&L>0&&I&&(R=A.FLOAT);var P=!0;"depth"in y&&(P=!!y.depth);var D=!1;return"stencil"in y&&(D=!!y.stencil),new w(A,p,S,R,L,P,D,E)}},2992:function(i,a,o){var s=o(3387).sprintf,l=o(5171),u=o(1848),f=o(1085);i.exports=c;function c(h,d,v){"use strict";var m=u(d)||"of unknown name (see npm glsl-shader-name)",b="unknown type";v!==void 0&&(b=v===l.FRAGMENT_SHADER?"fragment":"vertex");for(var g=s(`Error compiling %s shader %s:
|
|
`,b,m),_=s("%s%s",g,h),T=h.split(`
|
|
`),w={},k=0;k<T.length;k++){var x=T[k];if(!(x===""||x==="\0")){var M=parseInt(x.split(":")[2]);if(isNaN(M))throw new Error(s("Could not parse error: %s",x));w[M]=x}}for(var A=f(d).split(`
|
|
`),k=0;k<A.length;k++)if(!(!w[k+3]&&!w[k+2]&&!w[k+1])){var p=A[k];if(g+=p+`
|
|
`,w[k+1]){var S=w[k+1];S=S.substr(S.split(":",3).join(":").length+1).trim(),g+=s(`^^^ %s
|
|
|
|
`,S)}}return{long:g.trim(),short:_.trim()}}},2510:function(i,a,o){"use strict";i.exports=b;var s=o(2478),l=o(7762),u=o(1888),f=o(9405),c=o(2762),h=o(6768);function d(g,_,T,w,k,x,M){this.plot=g,this.shader=_,this.pickShader=T,this.positionBuffer=w,this.weightBuffer=k,this.colorBuffer=x,this.idBuffer=M,this.xData=[],this.yData=[],this.shape=[0,0],this.bounds=[1/0,1/0,-1/0,-1/0],this.pickOffset=0}var v=d.prototype,m=[0,0,1,0,0,1,1,0,1,1,0,1];v.draw=function(){var g=[1,0,0,0,1,0,0,0,1];return function(){var _=this.plot,T=this.shader,w=this.bounds,k=this.numVertices;if(!(k<=0)){var x=_.gl,M=_.dataBox,A=w[2]-w[0],p=w[3]-w[1],S=M[2]-M[0],y=M[3]-M[1];g[0]=2*A/S,g[4]=2*p/y,g[6]=2*(w[0]-M[0])/S-1,g[7]=2*(w[1]-M[1])/y-1,T.bind();var E=T.uniforms;E.viewTransform=g,E.shape=this.shape;var C=T.attributes;this.positionBuffer.bind(),C.position.pointer(),this.weightBuffer.bind(),C.weight.pointer(x.UNSIGNED_BYTE,!1),this.colorBuffer.bind(),C.color.pointer(x.UNSIGNED_BYTE,!0),x.drawArrays(x.TRIANGLES,0,k)}}}(),v.drawPick=function(){var g=[1,0,0,0,1,0,0,0,1],_=[0,0,0,0];return function(T){var w=this.plot,k=this.pickShader,x=this.bounds,M=this.numVertices;if(!(M<=0)){var A=w.gl,p=w.dataBox,S=x[2]-x[0],y=x[3]-x[1],E=p[2]-p[0],C=p[3]-p[1];g[0]=2*S/E,g[4]=2*y/C,g[6]=2*(x[0]-p[0])/E-1,g[7]=2*(x[1]-p[1])/C-1;for(var L=0;L<4;++L)_[L]=T>>L*8&255;this.pickOffset=T,k.bind();var R=k.uniforms;R.viewTransform=g,R.pickOffset=_,R.shape=this.shape;var I=k.attributes;return this.positionBuffer.bind(),I.position.pointer(),this.weightBuffer.bind(),I.weight.pointer(A.UNSIGNED_BYTE,!1),this.idBuffer.bind(),I.pickId.pointer(A.UNSIGNED_BYTE,!1),A.drawArrays(A.TRIANGLES,0,M),T+this.shape[0]*this.shape[1]}}}(),v.pick=function(g,_,T){var w=this.pickOffset,k=this.shape[0]*this.shape[1];if(T<w||T>=w+k)return null;var x=T-w,M=this.xData,A=this.yData;return{object:this,pointId:x,dataCoord:[M[x%this.shape[0]],A[x/this.shape[0]|0]]}},v.update=function(g){g=g||{};var _=g.shape||[0,0],T=g.x||l(_[0]),w=g.y||l(_[1]),k=g.z||new Float32Array(_[0]*_[1]),x=g.zsmooth!==!1;this.xData=T,this.yData=w;var M=g.colorLevels||[0],A=g.colorValues||[0,0,0,1],p=M.length,S=this.bounds,y,E,C,L;x?(y=S[0]=T[0],E=S[1]=w[0],C=S[2]=T[T.length-1],L=S[3]=w[w.length-1]):(y=S[0]=T[0]+(T[1]-T[0])/2,E=S[1]=w[0]+(w[1]-w[0])/2,C=S[2]=T[T.length-1]+(T[T.length-1]-T[T.length-2])/2,L=S[3]=w[w.length-1]+(w[w.length-1]-w[w.length-2])/2);var R=1/(C-y),I=1/(L-E),P=_[0],D=_[1];this.shape=[P,D];var q=(x?(P-1)*(D-1):P*D)*(m.length>>>1);this.numVertices=q;for(var N=u.mallocUint8(q*4),U=u.mallocFloat32(q*2),G=u.mallocUint8(q*2),ee=u.mallocUint32(q),Q=0,j=x?P-1:P,O=x?D-1:D,Z=0;Z<O;++Z){var K,$;x?(K=I*(w[Z]-E),$=I*(w[Z+1]-E)):(K=Z<D-1?I*(w[Z]-(w[Z+1]-w[Z])/2-E):I*(w[Z]-(w[Z]-w[Z-1])/2-E),$=Z<D-1?I*(w[Z]+(w[Z+1]-w[Z])/2-E):I*(w[Z]+(w[Z]-w[Z-1])/2-E));for(var oe=0;oe<j;++oe){var te,V;x?(te=R*(T[oe]-y),V=R*(T[oe+1]-y)):(te=oe<P-1?R*(T[oe]-(T[oe+1]-T[oe])/2-y):R*(T[oe]-(T[oe]-T[oe-1])/2-y),V=oe<P-1?R*(T[oe]+(T[oe+1]-T[oe])/2-y):R*(T[oe]+(T[oe]-T[oe-1])/2-y));for(var ne=0;ne<m.length;ne+=2){var W=m[ne],fe=m[ne+1],ge=x?(Z+fe)*P+(oe+W):Z*P+oe,Ce=k[ge],Ne=s.le(M,Ce),pe,me,Ie,Re;if(Ne<0)pe=A[0],me=A[1],Ie=A[2],Re=A[3];else if(Ne===p-1)pe=A[4*p-4],me=A[4*p-3],Ie=A[4*p-2],Re=A[4*p-1];else{var ze=(Ce-M[Ne])/(M[Ne+1]-M[Ne]),Be=1-ze,tt=4*Ne,rt=4*(Ne+1);pe=Be*A[tt]+ze*A[rt],me=Be*A[tt+1]+ze*A[rt+1],Ie=Be*A[tt+2]+ze*A[rt+2],Re=Be*A[tt+3]+ze*A[rt+3]}N[4*Q]=255*pe,N[4*Q+1]=255*me,N[4*Q+2]=255*Ie,N[4*Q+3]=255*Re,U[2*Q]=te*.5+V*.5,U[2*Q+1]=K*.5+$*.5,G[2*Q]=W,G[2*Q+1]=fe,ee[Q]=Z*P+oe,Q+=1}}}this.positionBuffer.update(U),this.weightBuffer.update(G),this.colorBuffer.update(N),this.idBuffer.update(ee),u.free(U),u.free(N),u.free(G),u.free(ee)},v.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.positionBuffer.dispose(),this.weightBuffer.dispose(),this.colorBuffer.dispose(),this.idBuffer.dispose(),this.plot.removeObject(this)};function b(g,_){var T=g.gl,w=f(T,h.vertex,h.fragment),k=f(T,h.pickVertex,h.pickFragment),x=c(T),M=c(T),A=c(T),p=c(T),S=new d(g,w,k,x,M,A,p);return S.update(_),g.addObject(S),S}},6768:function(i,a,o){"use strict";var s=o(3236);i.exports={fragment:s([`precision lowp float;
|
|
#define GLSLIFY 1
|
|
varying vec4 fragColor;
|
|
void main() {
|
|
gl_FragColor = vec4(fragColor.rgb * fragColor.a, fragColor.a);
|
|
}
|
|
`]),vertex:s([`precision mediump float;
|
|
#define GLSLIFY 1
|
|
|
|
attribute vec2 position;
|
|
attribute vec4 color;
|
|
attribute vec2 weight;
|
|
|
|
uniform vec2 shape;
|
|
uniform mat3 viewTransform;
|
|
|
|
varying vec4 fragColor;
|
|
|
|
void main() {
|
|
vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);
|
|
fragColor = color;
|
|
gl_Position = vec4(vPosition.xy, 0, vPosition.z);
|
|
}
|
|
`]),pickFragment:s([`precision mediump float;
|
|
#define GLSLIFY 1
|
|
|
|
varying vec4 fragId;
|
|
varying vec2 vWeight;
|
|
|
|
uniform vec2 shape;
|
|
uniform vec4 pickOffset;
|
|
|
|
void main() {
|
|
vec2 d = step(.5, vWeight);
|
|
vec4 id = fragId + pickOffset;
|
|
id.x += d.x + d.y*shape.x;
|
|
|
|
id.y += floor(id.x / 256.0);
|
|
id.x -= floor(id.x / 256.0) * 256.0;
|
|
|
|
id.z += floor(id.y / 256.0);
|
|
id.y -= floor(id.y / 256.0) * 256.0;
|
|
|
|
id.w += floor(id.z / 256.0);
|
|
id.z -= floor(id.z / 256.0) * 256.0;
|
|
|
|
gl_FragColor = id/255.;
|
|
}
|
|
`]),pickVertex:s([`precision mediump float;
|
|
#define GLSLIFY 1
|
|
|
|
attribute vec2 position;
|
|
attribute vec4 pickId;
|
|
attribute vec2 weight;
|
|
|
|
uniform vec2 shape;
|
|
uniform mat3 viewTransform;
|
|
|
|
varying vec4 fragId;
|
|
varying vec2 vWeight;
|
|
|
|
void main() {
|
|
vWeight = weight;
|
|
|
|
fragId = pickId;
|
|
|
|
vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);
|
|
gl_Position = vec4(vPosition.xy, 0, vPosition.z);
|
|
}
|
|
`])}},7319:function(i,a,o){var s=o(3236),l=o(9405),u=s([`precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
attribute vec3 position, nextPosition;
|
|
attribute float arcLength, lineWidth;
|
|
attribute vec4 color;
|
|
|
|
uniform vec2 screenShape;
|
|
uniform float pixelRatio;
|
|
uniform mat4 model, view, projection;
|
|
|
|
varying vec4 fragColor;
|
|
varying vec3 worldPosition;
|
|
varying float pixelArcLength;
|
|
|
|
vec4 project(vec3 p) {
|
|
return projection * (view * (model * vec4(p, 1.0)));
|
|
}
|
|
|
|
void main() {
|
|
vec4 startPoint = project(position);
|
|
vec4 endPoint = project(nextPosition);
|
|
|
|
vec2 A = startPoint.xy / startPoint.w;
|
|
vec2 B = endPoint.xy / endPoint.w;
|
|
|
|
float clipAngle = atan(
|
|
(B.y - A.y) * screenShape.y,
|
|
(B.x - A.x) * screenShape.x
|
|
);
|
|
|
|
vec2 offset = 0.5 * pixelRatio * lineWidth * vec2(
|
|
sin(clipAngle),
|
|
-cos(clipAngle)
|
|
) / screenShape;
|
|
|
|
gl_Position = vec4(startPoint.xy + startPoint.w * offset, startPoint.zw);
|
|
|
|
worldPosition = position;
|
|
pixelArcLength = arcLength;
|
|
fragColor = color;
|
|
}
|
|
`]),f=s([`precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
bool outOfRange(float a, float b, float p) {
|
|
return ((p > max(a, b)) ||
|
|
(p < min(a, b)));
|
|
}
|
|
|
|
bool outOfRange(vec2 a, vec2 b, vec2 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y));
|
|
}
|
|
|
|
bool outOfRange(vec3 a, vec3 b, vec3 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y) ||
|
|
outOfRange(a.z, b.z, p.z));
|
|
}
|
|
|
|
bool outOfRange(vec4 a, vec4 b, vec4 p) {
|
|
return outOfRange(a.xyz, b.xyz, p.xyz);
|
|
}
|
|
|
|
uniform vec3 clipBounds[2];
|
|
uniform sampler2D dashTexture;
|
|
uniform float dashScale;
|
|
uniform float opacity;
|
|
|
|
varying vec3 worldPosition;
|
|
varying float pixelArcLength;
|
|
varying vec4 fragColor;
|
|
|
|
void main() {
|
|
if (
|
|
outOfRange(clipBounds[0], clipBounds[1], worldPosition) ||
|
|
fragColor.a * opacity == 0.
|
|
) discard;
|
|
|
|
float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;
|
|
if(dashWeight < 0.5) {
|
|
discard;
|
|
}
|
|
gl_FragColor = fragColor * opacity;
|
|
}
|
|
`]),c=s([`precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
#define FLOAT_MAX 1.70141184e38
|
|
#define FLOAT_MIN 1.17549435e-38
|
|
|
|
// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl
|
|
vec4 packFloat(float v) {
|
|
float av = abs(v);
|
|
|
|
//Handle special cases
|
|
if(av < FLOAT_MIN) {
|
|
return vec4(0.0, 0.0, 0.0, 0.0);
|
|
} else if(v > FLOAT_MAX) {
|
|
return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;
|
|
} else if(v < -FLOAT_MAX) {
|
|
return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;
|
|
}
|
|
|
|
vec4 c = vec4(0,0,0,0);
|
|
|
|
//Compute exponent and mantissa
|
|
float e = floor(log2(av));
|
|
float m = av * pow(2.0, -e) - 1.0;
|
|
|
|
//Unpack mantissa
|
|
c[1] = floor(128.0 * m);
|
|
m -= c[1] / 128.0;
|
|
c[2] = floor(32768.0 * m);
|
|
m -= c[2] / 32768.0;
|
|
c[3] = floor(8388608.0 * m);
|
|
|
|
//Unpack exponent
|
|
float ebias = e + 127.0;
|
|
c[0] = floor(ebias / 2.0);
|
|
ebias -= c[0] * 2.0;
|
|
c[1] += floor(ebias) * 128.0;
|
|
|
|
//Unpack sign bit
|
|
c[0] += 128.0 * step(0.0, -v);
|
|
|
|
//Scale back to range
|
|
return c / 255.0;
|
|
}
|
|
|
|
bool outOfRange(float a, float b, float p) {
|
|
return ((p > max(a, b)) ||
|
|
(p < min(a, b)));
|
|
}
|
|
|
|
bool outOfRange(vec2 a, vec2 b, vec2 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y));
|
|
}
|
|
|
|
bool outOfRange(vec3 a, vec3 b, vec3 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y) ||
|
|
outOfRange(a.z, b.z, p.z));
|
|
}
|
|
|
|
bool outOfRange(vec4 a, vec4 b, vec4 p) {
|
|
return outOfRange(a.xyz, b.xyz, p.xyz);
|
|
}
|
|
|
|
uniform float pickId;
|
|
uniform vec3 clipBounds[2];
|
|
|
|
varying vec3 worldPosition;
|
|
varying float pixelArcLength;
|
|
varying vec4 fragColor;
|
|
|
|
void main() {
|
|
if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;
|
|
|
|
gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz);
|
|
}`]),h=[{name:"position",type:"vec3"},{name:"nextPosition",type:"vec3"},{name:"arcLength",type:"float"},{name:"lineWidth",type:"float"},{name:"color",type:"vec4"}];a.createShader=function(d){return l(d,u,f,null,h)},a.createPickShader=function(d){return l(d,u,c,null,h)}},5714:function(i,a,o){"use strict";i.exports=A;var s=o(2762),l=o(8116),u=o(7766),f=new Uint8Array(4),c=new Float32Array(f.buffer);function h(p,S,y,E){return f[0]=E,f[1]=y,f[2]=S,f[3]=p,c[0]}var d=o(2478),v=o(9618),m=o(7319),b=m.createShader,g=m.createPickShader,_=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function T(p,S){for(var y=0,E=0;E<3;++E){var C=p[E]-S[E];y+=C*C}return Math.sqrt(y)}function w(p){for(var S=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],y=0;y<3;++y)S[0][y]=Math.max(p[0][y],S[0][y]),S[1][y]=Math.min(p[1][y],S[1][y]);return S}function k(p,S,y,E){this.arcLength=p,this.position=S,this.index=y,this.dataCoordinate=E}function x(p,S,y,E,C,L){this.gl=p,this.shader=S,this.pickShader=y,this.buffer=E,this.vao=C,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.points=[],this.arcLength=[],this.vertexCount=0,this.bounds=[[0,0,0],[0,0,0]],this.pickId=0,this.lineWidth=1,this.texture=L,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var M=x.prototype;M.isTransparent=function(){return this.hasAlpha},M.isOpaque=function(){return!this.hasAlpha},M.pickSlots=1,M.setPickBase=function(p){this.pickId=p},M.drawTransparent=M.draw=function(p){if(this.vertexCount){var S=this.gl,y=this.shader,E=this.vao;y.bind(),y.uniforms={model:p.model||_,view:p.view||_,projection:p.projection||_,clipBounds:w(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[S.drawingBufferWidth,S.drawingBufferHeight],pixelRatio:this.pixelRatio},E.bind(),E.draw(S.TRIANGLE_STRIP,this.vertexCount),E.unbind()}},M.drawPick=function(p){if(this.vertexCount){var S=this.gl,y=this.pickShader,E=this.vao;y.bind(),y.uniforms={model:p.model||_,view:p.view||_,projection:p.projection||_,pickId:this.pickId,clipBounds:w(this.clipBounds),screenShape:[S.drawingBufferWidth,S.drawingBufferHeight],pixelRatio:this.pixelRatio},E.bind(),E.draw(S.TRIANGLE_STRIP,this.vertexCount),E.unbind()}},M.update=function(p){var S,y;this.dirty=!0;var E=!!p.connectGaps;"dashScale"in p&&(this.dashScale=p.dashScale),this.hasAlpha=!1,"opacity"in p&&(this.opacity=+p.opacity,this.opacity<1&&(this.hasAlpha=!0));var C=[],L=[],R=[],I=0,P=0,D=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],q=p.position||p.positions;if(q){var N=p.color||p.colors||[0,0,0,1],U=p.lineWidth||1,G=!1;e:for(S=1;S<q.length;++S){var ee=q[S-1],Q=q[S];for(L.push(I),R.push(ee.slice()),y=0;y<3;++y){if(isNaN(ee[y])||isNaN(Q[y])||!isFinite(ee[y])||!isFinite(Q[y])){if(!E&&C.length>0){for(var j=0;j<24;++j)C.push(C[C.length-12]);P+=2,G=!0}continue e}D[0][y]=Math.min(D[0][y],ee[y],Q[y]),D[1][y]=Math.max(D[1][y],ee[y],Q[y])}var O,Z;Array.isArray(N[0])?(O=N.length>S-1?N[S-1]:N.length>0?N[N.length-1]:[0,0,0,1],Z=N.length>S?N[S]:N.length>0?N[N.length-1]:[0,0,0,1]):O=Z=N,O.length===3&&(O=[O[0],O[1],O[2],1]),Z.length===3&&(Z=[Z[0],Z[1],Z[2],1]),!this.hasAlpha&&O[3]<1&&(this.hasAlpha=!0);var K;Array.isArray(U)?K=U.length>S-1?U[S-1]:U.length>0?U[U.length-1]:[0,0,0,1]:K=U;var $=I;if(I+=T(ee,Q),G){for(y=0;y<2;++y)C.push(ee[0],ee[1],ee[2],Q[0],Q[1],Q[2],$,K,O[0],O[1],O[2],O[3]);P+=2,G=!1}C.push(ee[0],ee[1],ee[2],Q[0],Q[1],Q[2],$,K,O[0],O[1],O[2],O[3],ee[0],ee[1],ee[2],Q[0],Q[1],Q[2],$,-K,O[0],O[1],O[2],O[3],Q[0],Q[1],Q[2],ee[0],ee[1],ee[2],I,-K,Z[0],Z[1],Z[2],Z[3],Q[0],Q[1],Q[2],ee[0],ee[1],ee[2],I,K,Z[0],Z[1],Z[2],Z[3]),P+=4}}if(this.buffer.update(C),L.push(I),R.push(q[q.length-1].slice()),this.bounds=D,this.vertexCount=P,this.points=R,this.arcLength=L,"dashes"in p){var oe=p.dashes,te=oe.slice();for(te.unshift(0),S=1;S<te.length;++S)te[S]=te[S-1]+te[S];var V=v(new Array(256*4),[256,1,4]);for(S=0;S<256;++S){for(y=0;y<4;++y)V.set(S,0,y,0);d.le(te,te[te.length-1]*S/255)&1?V.set(S,0,0,0):V.set(S,0,0,255)}this.texture.setPixels(V)}},M.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()},M.pick=function(p){if(!p||p.id!==this.pickId)return null;var S=h(p.value[0],p.value[1],p.value[2],0),y=d.le(this.arcLength,S);if(y<0)return null;if(y===this.arcLength.length-1)return new k(this.arcLength[this.arcLength.length-1],this.points[this.points.length-1].slice(),y);for(var E=this.points[y],C=this.points[Math.min(y+1,this.points.length-1)],L=(S-this.arcLength[y])/(this.arcLength[y+1]-this.arcLength[y]),R=1-L,I=[0,0,0],P=0;P<3;++P)I[P]=R*E[P]+L*C[P];var D=Math.min(L<.5?y:y+1,this.points.length-1);return new k(S,I,D,this.points[D])};function A(p){var S=p.gl||p.scene&&p.scene.gl,y=b(S);y.attributes.position.location=0,y.attributes.nextPosition.location=1,y.attributes.arcLength.location=2,y.attributes.lineWidth.location=3,y.attributes.color.location=4;var E=g(S);E.attributes.position.location=0,E.attributes.nextPosition.location=1,E.attributes.arcLength.location=2,E.attributes.lineWidth.location=3,E.attributes.color.location=4;for(var C=s(S),L=l(S,[{buffer:C,size:3,offset:0,stride:48},{buffer:C,size:3,offset:12,stride:48},{buffer:C,size:1,offset:24,stride:48},{buffer:C,size:1,offset:28,stride:48},{buffer:C,size:4,offset:32,stride:48}]),R=v(new Array(256*4),[256,1,4]),I=0;I<1024;++I)R.data[I]=255;var P=u(S,R);P.wrap=S.REPEAT;var D=new x(S,y,E,C,L,P);return D.update(p),D}},1903:function(i){i.exports=a;function a(o){var s=new Float32Array(16);return s[0]=o[0],s[1]=o[1],s[2]=o[2],s[3]=o[3],s[4]=o[4],s[5]=o[5],s[6]=o[6],s[7]=o[7],s[8]=o[8],s[9]=o[9],s[10]=o[10],s[11]=o[11],s[12]=o[12],s[13]=o[13],s[14]=o[14],s[15]=o[15],s}},6864:function(i){i.exports=a;function a(){var o=new Float32Array(16);return o[0]=1,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=1,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=1,o[11]=0,o[12]=0,o[13]=0,o[14]=0,o[15]=1,o}},9921:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2],f=o[3],c=o[4],h=o[5],d=o[6],v=o[7],m=o[8],b=o[9],g=o[10],_=o[11],T=o[12],w=o[13],k=o[14],x=o[15],M=s*h-l*c,A=s*d-u*c,p=s*v-f*c,S=l*d-u*h,y=l*v-f*h,E=u*v-f*d,C=m*w-b*T,L=m*k-g*T,R=m*x-_*T,I=b*k-g*w,P=b*x-_*w,D=g*x-_*k;return M*D-A*P+p*I+S*R-y*L+E*C}},7399:function(i){i.exports=a;function a(o,s){var l=s[0],u=s[1],f=s[2],c=s[3],h=l+l,d=u+u,v=f+f,m=l*h,b=u*h,g=u*d,_=f*h,T=f*d,w=f*v,k=c*h,x=c*d,M=c*v;return o[0]=1-g-w,o[1]=b+M,o[2]=_-x,o[3]=0,o[4]=b-M,o[5]=1-m-w,o[6]=T+k,o[7]=0,o[8]=_+x,o[9]=T-k,o[10]=1-m-g,o[11]=0,o[12]=0,o[13]=0,o[14]=0,o[15]=1,o}},6743:function(i){i.exports=a;function a(o,s,l){var u=s[0],f=s[1],c=s[2],h=s[3],d=u+u,v=f+f,m=c+c,b=u*d,g=u*v,_=u*m,T=f*v,w=f*m,k=c*m,x=h*d,M=h*v,A=h*m;return o[0]=1-(T+k),o[1]=g+A,o[2]=_-M,o[3]=0,o[4]=g-A,o[5]=1-(b+k),o[6]=w+x,o[7]=0,o[8]=_+M,o[9]=w-x,o[10]=1-(b+T),o[11]=0,o[12]=l[0],o[13]=l[1],o[14]=l[2],o[15]=1,o}},7894:function(i){i.exports=a;function a(o){return o[0]=1,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=1,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=1,o[11]=0,o[12]=0,o[13]=0,o[14]=0,o[15]=1,o}},7608:function(i){i.exports=a;function a(o,s){var l=s[0],u=s[1],f=s[2],c=s[3],h=s[4],d=s[5],v=s[6],m=s[7],b=s[8],g=s[9],_=s[10],T=s[11],w=s[12],k=s[13],x=s[14],M=s[15],A=l*d-u*h,p=l*v-f*h,S=l*m-c*h,y=u*v-f*d,E=u*m-c*d,C=f*m-c*v,L=b*k-g*w,R=b*x-_*w,I=b*M-T*w,P=g*x-_*k,D=g*M-T*k,q=_*M-T*x,N=A*q-p*D+S*P+y*I-E*R+C*L;return N?(N=1/N,o[0]=(d*q-v*D+m*P)*N,o[1]=(f*D-u*q-c*P)*N,o[2]=(k*C-x*E+M*y)*N,o[3]=(_*E-g*C-T*y)*N,o[4]=(v*I-h*q-m*R)*N,o[5]=(l*q-f*I+c*R)*N,o[6]=(x*S-w*C-M*p)*N,o[7]=(b*C-_*S+T*p)*N,o[8]=(h*D-d*I+m*L)*N,o[9]=(u*I-l*D-c*L)*N,o[10]=(w*E-k*S+M*A)*N,o[11]=(g*S-b*E-T*A)*N,o[12]=(d*R-h*P-v*L)*N,o[13]=(l*P-u*R+f*L)*N,o[14]=(k*p-w*y-x*A)*N,o[15]=(b*y-g*p+_*A)*N,o):null}},6582:function(i,a,o){var s=o(7894);i.exports=l;function l(u,f,c,h){var d,v,m,b,g,_,T,w,k,x,M=f[0],A=f[1],p=f[2],S=h[0],y=h[1],E=h[2],C=c[0],L=c[1],R=c[2];return Math.abs(M-C)<1e-6&&Math.abs(A-L)<1e-6&&Math.abs(p-R)<1e-6?s(u):(T=M-C,w=A-L,k=p-R,x=1/Math.sqrt(T*T+w*w+k*k),T*=x,w*=x,k*=x,d=y*k-E*w,v=E*T-S*k,m=S*w-y*T,x=Math.sqrt(d*d+v*v+m*m),x?(x=1/x,d*=x,v*=x,m*=x):(d=0,v=0,m=0),b=w*m-k*v,g=k*d-T*m,_=T*v-w*d,x=Math.sqrt(b*b+g*g+_*_),x?(x=1/x,b*=x,g*=x,_*=x):(b=0,g=0,_=0),u[0]=d,u[1]=b,u[2]=T,u[3]=0,u[4]=v,u[5]=g,u[6]=w,u[7]=0,u[8]=m,u[9]=_,u[10]=k,u[11]=0,u[12]=-(d*M+v*A+m*p),u[13]=-(b*M+g*A+_*p),u[14]=-(T*M+w*A+k*p),u[15]=1,u)}},6760:function(i){i.exports=a;function a(o,s,l){var u=s[0],f=s[1],c=s[2],h=s[3],d=s[4],v=s[5],m=s[6],b=s[7],g=s[8],_=s[9],T=s[10],w=s[11],k=s[12],x=s[13],M=s[14],A=s[15],p=l[0],S=l[1],y=l[2],E=l[3];return o[0]=p*u+S*d+y*g+E*k,o[1]=p*f+S*v+y*_+E*x,o[2]=p*c+S*m+y*T+E*M,o[3]=p*h+S*b+y*w+E*A,p=l[4],S=l[5],y=l[6],E=l[7],o[4]=p*u+S*d+y*g+E*k,o[5]=p*f+S*v+y*_+E*x,o[6]=p*c+S*m+y*T+E*M,o[7]=p*h+S*b+y*w+E*A,p=l[8],S=l[9],y=l[10],E=l[11],o[8]=p*u+S*d+y*g+E*k,o[9]=p*f+S*v+y*_+E*x,o[10]=p*c+S*m+y*T+E*M,o[11]=p*h+S*b+y*w+E*A,p=l[12],S=l[13],y=l[14],E=l[15],o[12]=p*u+S*d+y*g+E*k,o[13]=p*f+S*v+y*_+E*x,o[14]=p*c+S*m+y*T+E*M,o[15]=p*h+S*b+y*w+E*A,o}},4040:function(i){i.exports=a;function a(o,s,l,u,f,c,h){var d=1/(s-l),v=1/(u-f),m=1/(c-h);return o[0]=-2*d,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=-2*v,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=2*m,o[11]=0,o[12]=(s+l)*d,o[13]=(f+u)*v,o[14]=(h+c)*m,o[15]=1,o}},4772:function(i){i.exports=a;function a(o,s,l,u,f){var c=1/Math.tan(s/2),h=1/(u-f);return o[0]=c/l,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=c,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=(f+u)*h,o[11]=-1,o[12]=0,o[13]=0,o[14]=2*f*u*h,o[15]=0,o}},6079:function(i){i.exports=a;function a(o,s,l,u){var f=u[0],c=u[1],h=u[2],d=Math.sqrt(f*f+c*c+h*h),v,m,b,g,_,T,w,k,x,M,A,p,S,y,E,C,L,R,I,P,D,q,N,U;return Math.abs(d)<1e-6?null:(d=1/d,f*=d,c*=d,h*=d,v=Math.sin(l),m=Math.cos(l),b=1-m,g=s[0],_=s[1],T=s[2],w=s[3],k=s[4],x=s[5],M=s[6],A=s[7],p=s[8],S=s[9],y=s[10],E=s[11],C=f*f*b+m,L=c*f*b+h*v,R=h*f*b-c*v,I=f*c*b-h*v,P=c*c*b+m,D=h*c*b+f*v,q=f*h*b+c*v,N=c*h*b-f*v,U=h*h*b+m,o[0]=g*C+k*L+p*R,o[1]=_*C+x*L+S*R,o[2]=T*C+M*L+y*R,o[3]=w*C+A*L+E*R,o[4]=g*I+k*P+p*D,o[5]=_*I+x*P+S*D,o[6]=T*I+M*P+y*D,o[7]=w*I+A*P+E*D,o[8]=g*q+k*N+p*U,o[9]=_*q+x*N+S*U,o[10]=T*q+M*N+y*U,o[11]=w*q+A*N+E*U,s!==o&&(o[12]=s[12],o[13]=s[13],o[14]=s[14],o[15]=s[15]),o)}},5567:function(i){i.exports=a;function a(o,s,l){var u=Math.sin(l),f=Math.cos(l),c=s[4],h=s[5],d=s[6],v=s[7],m=s[8],b=s[9],g=s[10],_=s[11];return s!==o&&(o[0]=s[0],o[1]=s[1],o[2]=s[2],o[3]=s[3],o[12]=s[12],o[13]=s[13],o[14]=s[14],o[15]=s[15]),o[4]=c*f+m*u,o[5]=h*f+b*u,o[6]=d*f+g*u,o[7]=v*f+_*u,o[8]=m*f-c*u,o[9]=b*f-h*u,o[10]=g*f-d*u,o[11]=_*f-v*u,o}},2408:function(i){i.exports=a;function a(o,s,l){var u=Math.sin(l),f=Math.cos(l),c=s[0],h=s[1],d=s[2],v=s[3],m=s[8],b=s[9],g=s[10],_=s[11];return s!==o&&(o[4]=s[4],o[5]=s[5],o[6]=s[6],o[7]=s[7],o[12]=s[12],o[13]=s[13],o[14]=s[14],o[15]=s[15]),o[0]=c*f-m*u,o[1]=h*f-b*u,o[2]=d*f-g*u,o[3]=v*f-_*u,o[8]=c*u+m*f,o[9]=h*u+b*f,o[10]=d*u+g*f,o[11]=v*u+_*f,o}},7089:function(i){i.exports=a;function a(o,s,l){var u=Math.sin(l),f=Math.cos(l),c=s[0],h=s[1],d=s[2],v=s[3],m=s[4],b=s[5],g=s[6],_=s[7];return s!==o&&(o[8]=s[8],o[9]=s[9],o[10]=s[10],o[11]=s[11],o[12]=s[12],o[13]=s[13],o[14]=s[14],o[15]=s[15]),o[0]=c*f+m*u,o[1]=h*f+b*u,o[2]=d*f+g*u,o[3]=v*f+_*u,o[4]=m*f-c*u,o[5]=b*f-h*u,o[6]=g*f-d*u,o[7]=_*f-v*u,o}},2504:function(i){i.exports=a;function a(o,s,l){var u=l[0],f=l[1],c=l[2];return o[0]=s[0]*u,o[1]=s[1]*u,o[2]=s[2]*u,o[3]=s[3]*u,o[4]=s[4]*f,o[5]=s[5]*f,o[6]=s[6]*f,o[7]=s[7]*f,o[8]=s[8]*c,o[9]=s[9]*c,o[10]=s[10]*c,o[11]=s[11]*c,o[12]=s[12],o[13]=s[13],o[14]=s[14],o[15]=s[15],o}},7656:function(i){i.exports=a;function a(o,s,l){var u=l[0],f=l[1],c=l[2],h,d,v,m,b,g,_,T,w,k,x,M;return s===o?(o[12]=s[0]*u+s[4]*f+s[8]*c+s[12],o[13]=s[1]*u+s[5]*f+s[9]*c+s[13],o[14]=s[2]*u+s[6]*f+s[10]*c+s[14],o[15]=s[3]*u+s[7]*f+s[11]*c+s[15]):(h=s[0],d=s[1],v=s[2],m=s[3],b=s[4],g=s[5],_=s[6],T=s[7],w=s[8],k=s[9],x=s[10],M=s[11],o[0]=h,o[1]=d,o[2]=v,o[3]=m,o[4]=b,o[5]=g,o[6]=_,o[7]=T,o[8]=w,o[9]=k,o[10]=x,o[11]=M,o[12]=h*u+b*f+w*c+s[12],o[13]=d*u+g*f+k*c+s[13],o[14]=v*u+_*f+x*c+s[14],o[15]=m*u+T*f+M*c+s[15]),o}},5665:function(i){i.exports=a;function a(o,s){if(o===s){var l=s[1],u=s[2],f=s[3],c=s[6],h=s[7],d=s[11];o[1]=s[4],o[2]=s[8],o[3]=s[12],o[4]=l,o[6]=s[9],o[7]=s[13],o[8]=u,o[9]=c,o[11]=s[14],o[12]=f,o[13]=h,o[14]=d}else o[0]=s[0],o[1]=s[4],o[2]=s[8],o[3]=s[12],o[4]=s[1],o[5]=s[5],o[6]=s[9],o[7]=s[13],o[8]=s[2],o[9]=s[6],o[10]=s[10],o[11]=s[14],o[12]=s[3],o[13]=s[7],o[14]=s[11],o[15]=s[15];return o}},7626:function(i,a,o){"use strict";var s=o(2642),l=o(9346);i.exports=d;function u(v,m){for(var b=[0,0,0,0],g=0;g<4;++g)for(var _=0;_<4;++_)b[_]+=v[4*g+_]*m[g];return b}function f(v,m,b,g,_){for(var T=u(g,u(b,u(m,[v[0],v[1],v[2],1]))),w=0;w<3;++w)T[w]/=T[3];return[.5*_[0]*(1+T[0]),.5*_[1]*(1-T[1])]}function c(v,m){if(v.length===2){for(var b=0,g=0,_=0;_<2;++_)b+=Math.pow(m[_]-v[0][_],2),g+=Math.pow(m[_]-v[1][_],2);return b=Math.sqrt(b),g=Math.sqrt(g),b+g<1e-6?[1,0]:[g/(b+g),b/(g+b)]}else if(v.length===3){var T=[0,0];return l(v[0],v[1],v[2],m,T),s(v,T)}return[]}function h(v,m){for(var b=[0,0,0],g=0;g<v.length;++g)for(var _=v[g],T=m[g],w=0;w<3;++w)b[w]+=T*_[w];return b}function d(v,m,b,g,_,T){if(v.length===1)return[0,v[0].slice()];for(var w=new Array(v.length),k=0;k<v.length;++k)w[k]=f(v[k],b,g,_,T);for(var x=0,M=1/0,k=0;k<w.length;++k){for(var A=0,p=0;p<2;++p)A+=Math.pow(w[k][p]-m[p],2);A<M&&(M=A,x=k)}for(var S=c(w,m),y=0,k=0;k<3;++k){if(S[k]<-.001||S[k]>1.0001)return null;y+=S[k]}return Math.abs(y-1)>.001?null:[x,h(v,S),S]}},840:function(i,a,o){var s=o(3236),l=s([`precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
attribute vec3 position, normal;
|
|
attribute vec4 color;
|
|
attribute vec2 uv;
|
|
|
|
uniform mat4 model
|
|
, view
|
|
, projection
|
|
, inverseModel;
|
|
uniform vec3 eyePosition
|
|
, lightPosition;
|
|
|
|
varying vec3 f_normal
|
|
, f_lightDirection
|
|
, f_eyeDirection
|
|
, f_data;
|
|
varying vec4 f_color;
|
|
varying vec2 f_uv;
|
|
|
|
vec4 project(vec3 p) {
|
|
return projection * (view * (model * vec4(p, 1.0)));
|
|
}
|
|
|
|
void main() {
|
|
gl_Position = project(position);
|
|
|
|
//Lighting geometry parameters
|
|
vec4 cameraCoordinate = view * vec4(position , 1.0);
|
|
cameraCoordinate.xyz /= cameraCoordinate.w;
|
|
f_lightDirection = lightPosition - cameraCoordinate.xyz;
|
|
f_eyeDirection = eyePosition - cameraCoordinate.xyz;
|
|
f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);
|
|
|
|
f_color = color;
|
|
f_data = position;
|
|
f_uv = uv;
|
|
}
|
|
`]),u=s([`#extension GL_OES_standard_derivatives : enable
|
|
|
|
precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
float beckmannDistribution(float x, float roughness) {
|
|
float NdotH = max(x, 0.0001);
|
|
float cos2Alpha = NdotH * NdotH;
|
|
float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;
|
|
float roughness2 = roughness * roughness;
|
|
float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;
|
|
return exp(tan2Alpha / roughness2) / denom;
|
|
}
|
|
|
|
float cookTorranceSpecular(
|
|
vec3 lightDirection,
|
|
vec3 viewDirection,
|
|
vec3 surfaceNormal,
|
|
float roughness,
|
|
float fresnel) {
|
|
|
|
float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);
|
|
float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);
|
|
|
|
//Half angle vector
|
|
vec3 H = normalize(lightDirection + viewDirection);
|
|
|
|
//Geometric term
|
|
float NdotH = max(dot(surfaceNormal, H), 0.0);
|
|
float VdotH = max(dot(viewDirection, H), 0.000001);
|
|
float LdotH = max(dot(lightDirection, H), 0.000001);
|
|
float G1 = (2.0 * NdotH * VdotN) / VdotH;
|
|
float G2 = (2.0 * NdotH * LdotN) / LdotH;
|
|
float G = min(1.0, min(G1, G2));
|
|
|
|
//Distribution term
|
|
float D = beckmannDistribution(NdotH, roughness);
|
|
|
|
//Fresnel term
|
|
float F = pow(1.0 - VdotN, fresnel);
|
|
|
|
//Multiply terms and done
|
|
return G * F * D / max(3.14159265 * VdotN, 0.000001);
|
|
}
|
|
|
|
//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d
|
|
|
|
bool outOfRange(float a, float b, float p) {
|
|
return ((p > max(a, b)) ||
|
|
(p < min(a, b)));
|
|
}
|
|
|
|
bool outOfRange(vec2 a, vec2 b, vec2 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y));
|
|
}
|
|
|
|
bool outOfRange(vec3 a, vec3 b, vec3 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y) ||
|
|
outOfRange(a.z, b.z, p.z));
|
|
}
|
|
|
|
bool outOfRange(vec4 a, vec4 b, vec4 p) {
|
|
return outOfRange(a.xyz, b.xyz, p.xyz);
|
|
}
|
|
|
|
uniform vec3 clipBounds[2];
|
|
uniform float roughness
|
|
, fresnel
|
|
, kambient
|
|
, kdiffuse
|
|
, kspecular;
|
|
uniform sampler2D texture;
|
|
|
|
varying vec3 f_normal
|
|
, f_lightDirection
|
|
, f_eyeDirection
|
|
, f_data;
|
|
varying vec4 f_color;
|
|
varying vec2 f_uv;
|
|
|
|
void main() {
|
|
if (f_color.a == 0.0 ||
|
|
outOfRange(clipBounds[0], clipBounds[1], f_data)
|
|
) discard;
|
|
|
|
vec3 N = normalize(f_normal);
|
|
vec3 L = normalize(f_lightDirection);
|
|
vec3 V = normalize(f_eyeDirection);
|
|
|
|
if(gl_FrontFacing) {
|
|
N = -N;
|
|
}
|
|
|
|
float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));
|
|
//float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d
|
|
|
|
float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);
|
|
|
|
vec4 surfaceColor = vec4(f_color.rgb, 1.0) * texture2D(texture, f_uv);
|
|
vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);
|
|
|
|
gl_FragColor = litColor * f_color.a;
|
|
}
|
|
`]),f=s([`precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
attribute vec3 position;
|
|
attribute vec4 color;
|
|
attribute vec2 uv;
|
|
|
|
uniform mat4 model, view, projection;
|
|
|
|
varying vec4 f_color;
|
|
varying vec3 f_data;
|
|
varying vec2 f_uv;
|
|
|
|
void main() {
|
|
gl_Position = projection * (view * (model * vec4(position, 1.0)));
|
|
f_color = color;
|
|
f_data = position;
|
|
f_uv = uv;
|
|
}`]),c=s([`precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
bool outOfRange(float a, float b, float p) {
|
|
return ((p > max(a, b)) ||
|
|
(p < min(a, b)));
|
|
}
|
|
|
|
bool outOfRange(vec2 a, vec2 b, vec2 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y));
|
|
}
|
|
|
|
bool outOfRange(vec3 a, vec3 b, vec3 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y) ||
|
|
outOfRange(a.z, b.z, p.z));
|
|
}
|
|
|
|
bool outOfRange(vec4 a, vec4 b, vec4 p) {
|
|
return outOfRange(a.xyz, b.xyz, p.xyz);
|
|
}
|
|
|
|
uniform vec3 clipBounds[2];
|
|
uniform sampler2D texture;
|
|
uniform float opacity;
|
|
|
|
varying vec4 f_color;
|
|
varying vec3 f_data;
|
|
varying vec2 f_uv;
|
|
|
|
void main() {
|
|
if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;
|
|
|
|
gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;
|
|
}`]),h=s([`precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
bool outOfRange(float a, float b, float p) {
|
|
return ((p > max(a, b)) ||
|
|
(p < min(a, b)));
|
|
}
|
|
|
|
bool outOfRange(vec2 a, vec2 b, vec2 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y));
|
|
}
|
|
|
|
bool outOfRange(vec3 a, vec3 b, vec3 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y) ||
|
|
outOfRange(a.z, b.z, p.z));
|
|
}
|
|
|
|
bool outOfRange(vec4 a, vec4 b, vec4 p) {
|
|
return outOfRange(a.xyz, b.xyz, p.xyz);
|
|
}
|
|
|
|
attribute vec3 position;
|
|
attribute vec4 color;
|
|
attribute vec2 uv;
|
|
attribute float pointSize;
|
|
|
|
uniform mat4 model, view, projection;
|
|
uniform vec3 clipBounds[2];
|
|
|
|
varying vec4 f_color;
|
|
varying vec2 f_uv;
|
|
|
|
void main() {
|
|
if (outOfRange(clipBounds[0], clipBounds[1], position)) {
|
|
|
|
gl_Position = vec4(0.0, 0.0 ,0.0 ,0.0);
|
|
} else {
|
|
gl_Position = projection * (view * (model * vec4(position, 1.0)));
|
|
}
|
|
gl_PointSize = pointSize;
|
|
f_color = color;
|
|
f_uv = uv;
|
|
}`]),d=s([`precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
uniform sampler2D texture;
|
|
uniform float opacity;
|
|
|
|
varying vec4 f_color;
|
|
varying vec2 f_uv;
|
|
|
|
void main() {
|
|
vec2 pointR = gl_PointCoord.xy - vec2(0.5, 0.5);
|
|
if(dot(pointR, pointR) > 0.25) {
|
|
discard;
|
|
}
|
|
gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;
|
|
}`]),v=s([`precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
attribute vec3 position;
|
|
attribute vec4 id;
|
|
|
|
uniform mat4 model, view, projection;
|
|
|
|
varying vec3 f_position;
|
|
varying vec4 f_id;
|
|
|
|
void main() {
|
|
gl_Position = projection * (view * (model * vec4(position, 1.0)));
|
|
f_id = id;
|
|
f_position = position;
|
|
}`]),m=s([`precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
bool outOfRange(float a, float b, float p) {
|
|
return ((p > max(a, b)) ||
|
|
(p < min(a, b)));
|
|
}
|
|
|
|
bool outOfRange(vec2 a, vec2 b, vec2 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y));
|
|
}
|
|
|
|
bool outOfRange(vec3 a, vec3 b, vec3 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y) ||
|
|
outOfRange(a.z, b.z, p.z));
|
|
}
|
|
|
|
bool outOfRange(vec4 a, vec4 b, vec4 p) {
|
|
return outOfRange(a.xyz, b.xyz, p.xyz);
|
|
}
|
|
|
|
uniform vec3 clipBounds[2];
|
|
uniform float pickId;
|
|
|
|
varying vec3 f_position;
|
|
varying vec4 f_id;
|
|
|
|
void main() {
|
|
if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;
|
|
|
|
gl_FragColor = vec4(pickId, f_id.xyz);
|
|
}`]),b=s([`precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
bool outOfRange(float a, float b, float p) {
|
|
return ((p > max(a, b)) ||
|
|
(p < min(a, b)));
|
|
}
|
|
|
|
bool outOfRange(vec2 a, vec2 b, vec2 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y));
|
|
}
|
|
|
|
bool outOfRange(vec3 a, vec3 b, vec3 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y) ||
|
|
outOfRange(a.z, b.z, p.z));
|
|
}
|
|
|
|
bool outOfRange(vec4 a, vec4 b, vec4 p) {
|
|
return outOfRange(a.xyz, b.xyz, p.xyz);
|
|
}
|
|
|
|
attribute vec3 position;
|
|
attribute float pointSize;
|
|
attribute vec4 id;
|
|
|
|
uniform mat4 model, view, projection;
|
|
uniform vec3 clipBounds[2];
|
|
|
|
varying vec3 f_position;
|
|
varying vec4 f_id;
|
|
|
|
void main() {
|
|
if (outOfRange(clipBounds[0], clipBounds[1], position)) {
|
|
|
|
gl_Position = vec4(0.0, 0.0, 0.0, 0.0);
|
|
} else {
|
|
gl_Position = projection * (view * (model * vec4(position, 1.0)));
|
|
gl_PointSize = pointSize;
|
|
}
|
|
f_id = id;
|
|
f_position = position;
|
|
}`]),g=s([`precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
attribute vec3 position;
|
|
|
|
uniform mat4 model, view, projection;
|
|
|
|
void main() {
|
|
gl_Position = projection * (view * (model * vec4(position, 1.0)));
|
|
}`]),_=s([`precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
uniform vec3 contourColor;
|
|
|
|
void main() {
|
|
gl_FragColor = vec4(contourColor, 1.0);
|
|
}
|
|
`]);a.meshShader={vertex:l,fragment:u,attributes:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},a.wireShader={vertex:f,fragment:c,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},a.pointShader={vertex:h,fragment:d,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"pointSize",type:"float"}]},a.pickShader={vertex:v,fragment:m,attributes:[{name:"position",type:"vec3"},{name:"id",type:"vec4"}]},a.pointPickShader={vertex:b,fragment:m,attributes:[{name:"position",type:"vec3"},{name:"pointSize",type:"float"},{name:"id",type:"vec4"}]},a.contourShader={vertex:g,fragment:_,attributes:[{name:"position",type:"vec3"}]}},7201:function(i,a,o){"use strict";var s=1e-6,l=1e-6,u=o(9405),f=o(2762),c=o(8116),h=o(7766),d=o(8406),v=o(6760),m=o(7608),b=o(9618),g=o(6729),_=o(7765),T=o(1888),w=o(840),k=o(7626),x=w.meshShader,M=w.wireShader,A=w.pointShader,p=w.pickShader,S=w.pointPickShader,y=w.contourShader,E=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function C(j,O,Z,K,$,oe,te,V,ne,W,fe,ge,Ce,Ne,pe,me,Ie,Re,ze,Be,tt,rt,ce,Ee,Ae,Pe,He){this.gl=j,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=O,this.dirty=!0,this.triShader=Z,this.lineShader=K,this.pointShader=$,this.pickShader=oe,this.pointPickShader=te,this.contourShader=V,this.trianglePositions=ne,this.triangleColors=fe,this.triangleNormals=Ce,this.triangleUVs=ge,this.triangleIds=W,this.triangleVAO=Ne,this.triangleCount=0,this.lineWidth=1,this.edgePositions=pe,this.edgeColors=Ie,this.edgeUVs=Re,this.edgeIds=me,this.edgeVAO=ze,this.edgeCount=0,this.pointPositions=Be,this.pointColors=rt,this.pointUVs=ce,this.pointSizes=Ee,this.pointIds=tt,this.pointVAO=Ae,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=Pe,this.contourVAO=He,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickVertex=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.hasAlpha=!1,this.opacityscale=!1,this._model=E,this._view=E,this._projection=E,this._resolution=[1,1]}var L=C.prototype;L.isOpaque=function(){return!this.hasAlpha},L.isTransparent=function(){return this.hasAlpha},L.pickSlots=1,L.setPickBase=function(j){this.pickId=j};function R(j,O){if(!O||!O.length)return 1;for(var Z=0;Z<O.length;++Z){if(O.length<2)return 1;if(O[Z][0]===j)return O[Z][1];if(O[Z][0]>j&&Z>0){var K=(O[Z][0]-j)/(O[Z][0]-O[Z-1][0]);return O[Z][1]*(1-K)+K*O[Z-1][1]}}return 1}function I(j,O){for(var Z=g({colormap:j,nshades:256,format:"rgba"}),K=new Uint8Array(256*4),$=0;$<256;++$){for(var oe=Z[$],te=0;te<3;++te)K[4*$+te]=oe[te];O?K[4*$+3]=255*R($/255,O):K[4*$+3]=255*oe[3]}return b(K,[256,256,4],[4,0,1])}function P(j){for(var O=j.length,Z=new Array(O),K=0;K<O;++K)Z[K]=j[K][2];return Z}L.highlight=function(j){if(!j||!this.contourEnable){this.contourCount=0;return}for(var O=_(this.cells,this.intensity,j.intensity),Z=O.cells,K=O.vertexIds,$=O.vertexWeights,oe=Z.length,te=T.mallocFloat32(2*3*oe),V=0,ne=0;ne<oe;++ne)for(var W=Z[ne],fe=0;fe<2;++fe){var ge=W[0];W.length===2&&(ge=W[fe]);for(var Ce=K[ge][0],Ne=K[ge][1],pe=$[ge],me=1-pe,Ie=this.positions[Ce],Re=this.positions[Ne],ze=0;ze<3;++ze)te[V++]=pe*Ie[ze]+me*Re[ze]}this.contourCount=V/3|0,this.contourPositions.update(te.subarray(0,V)),T.free(te)},L.update=function(j){j=j||{};var O=this.gl;this.dirty=!0,"contourEnable"in j&&(this.contourEnable=j.contourEnable),"contourColor"in j&&(this.contourColor=j.contourColor),"lineWidth"in j&&(this.lineWidth=j.lineWidth),"lightPosition"in j&&(this.lightPosition=j.lightPosition),this.hasAlpha=!1,"opacity"in j&&(this.opacity=j.opacity,this.opacity<1&&(this.hasAlpha=!0)),"opacityscale"in j&&(this.opacityscale=j.opacityscale,this.hasAlpha=!0),"ambient"in j&&(this.ambientLight=j.ambient),"diffuse"in j&&(this.diffuseLight=j.diffuse),"specular"in j&&(this.specularLight=j.specular),"roughness"in j&&(this.roughness=j.roughness),"fresnel"in j&&(this.fresnel=j.fresnel),j.texture?(this.texture.dispose(),this.texture=h(O,j.texture)):j.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=O.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=O.LINEAR,this.texture.setPixels(I(j.colormap,this.opacityscale)),this.texture.generateMipmap());var Z=j.cells,K=j.positions;if(!K||!Z)return;var $=[],oe=[],te=[],V=[],ne=[],W=[],fe=[],ge=[],Ce=[],Ne=[],pe=[],me=[],Ie=[],Re=[];this.cells=Z,this.positions=K;var ze=j.vertexNormals,Be=j.cellNormals,tt=j.vertexNormalsEpsilon===void 0?s:j.vertexNormalsEpsilon,rt=j.faceNormalsEpsilon===void 0?l:j.faceNormalsEpsilon;j.useFacetNormals&&!Be&&(Be=d.faceNormals(Z,K,rt)),!Be&&!ze&&(ze=d.vertexNormals(Z,K,tt));var ce=j.vertexColors,Ee=j.cellColors,Ae=j.meshColor||[1,1,1,1],Pe=j.vertexUVs,He=j.vertexIntensity,Fe=j.cellUVs,ke=j.cellIntensity,Ue=1/0,Ge=-1/0;if(!Pe&&!Fe)if(He)if(j.vertexIntensityBounds)Ue=+j.vertexIntensityBounds[0],Ge=+j.vertexIntensityBounds[1];else for(var lt=0;lt<He.length;++lt){var it=He[lt];Ue=Math.min(Ue,it),Ge=Math.max(Ge,it)}else if(ke)if(j.cellIntensityBounds)Ue=+j.cellIntensityBounds[0],Ge=+j.cellIntensityBounds[1];else for(var lt=0;lt<ke.length;++lt){var it=ke[lt];Ue=Math.min(Ue,it),Ge=Math.max(Ge,it)}else for(var lt=0;lt<K.length;++lt){var it=K[lt][2];Ue=Math.min(Ue,it),Ge=Math.max(Ge,it)}He?this.intensity=He:ke?this.intensity=ke:this.intensity=P(K),this.pickVertex=!(ke||Ee);var wt=j.pointSizes,_t=j.pointSize||1;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(var lt=0;lt<K.length;++lt)for(var Tt=K[lt],nt=0;nt<3;++nt)isNaN(Tt[nt])||!isFinite(Tt[nt])||(this.bounds[0][nt]=Math.min(this.bounds[0][nt],Tt[nt]),this.bounds[1][nt]=Math.max(this.bounds[1][nt],Tt[nt]));var bt=0,At=0,Ye=0;e:for(var lt=0;lt<Z.length;++lt){var je=Z[lt];switch(je.length){case 1:for(var $e=je[0],Tt=K[$e],nt=0;nt<3;++nt)if(isNaN(Tt[nt])||!isFinite(Tt[nt]))continue e;Ne.push(Tt[0],Tt[1],Tt[2]);var ve;ce?ve=ce[$e]:Ee?ve=Ee[lt]:ve=Ae,this.opacityscale&&He?oe.push(ve[0],ve[1],ve[2],this.opacity*R((He[$e]-Ue)/(Ge-Ue),this.opacityscale)):ve.length===3?pe.push(ve[0],ve[1],ve[2],this.opacity):(pe.push(ve[0],ve[1],ve[2],ve[3]*this.opacity),ve[3]<1&&(this.hasAlpha=!0));var Y;Pe?Y=Pe[$e]:He?Y=[(He[$e]-Ue)/(Ge-Ue),0]:Fe?Y=Fe[lt]:ke?Y=[(ke[lt]-Ue)/(Ge-Ue),0]:Y=[(Tt[2]-Ue)/(Ge-Ue),0],me.push(Y[0],Y[1]),wt?Ie.push(wt[$e]):Ie.push(_t),Re.push(lt),Ye+=1;break;case 2:for(var nt=0;nt<2;++nt)for(var $e=je[nt],Tt=K[$e],ie=0;ie<3;++ie)if(isNaN(Tt[ie])||!isFinite(Tt[ie]))continue e;for(var nt=0;nt<2;++nt){var $e=je[nt],Tt=K[$e];W.push(Tt[0],Tt[1],Tt[2]);var ve;ce?ve=ce[$e]:Ee?ve=Ee[lt]:ve=Ae,this.opacityscale&&He?oe.push(ve[0],ve[1],ve[2],this.opacity*R((He[$e]-Ue)/(Ge-Ue),this.opacityscale)):ve.length===3?fe.push(ve[0],ve[1],ve[2],this.opacity):(fe.push(ve[0],ve[1],ve[2],ve[3]*this.opacity),ve[3]<1&&(this.hasAlpha=!0));var Y;Pe?Y=Pe[$e]:He?Y=[(He[$e]-Ue)/(Ge-Ue),0]:Fe?Y=Fe[lt]:ke?Y=[(ke[lt]-Ue)/(Ge-Ue),0]:Y=[(Tt[2]-Ue)/(Ge-Ue),0],ge.push(Y[0],Y[1]),Ce.push(lt)}At+=1;break;case 3:for(var nt=0;nt<3;++nt)for(var $e=je[nt],Tt=K[$e],ie=0;ie<3;++ie)if(isNaN(Tt[ie])||!isFinite(Tt[ie]))continue e;for(var nt=0;nt<3;++nt){var $e=je[2-nt],Tt=K[$e];$.push(Tt[0],Tt[1],Tt[2]);var ve;ce?ve=ce[$e]:Ee?ve=Ee[lt]:ve=Ae,ve?this.opacityscale&&He?oe.push(ve[0],ve[1],ve[2],this.opacity*R((He[$e]-Ue)/(Ge-Ue),this.opacityscale)):ve.length===3?oe.push(ve[0],ve[1],ve[2],this.opacity):(oe.push(ve[0],ve[1],ve[2],ve[3]*this.opacity),ve[3]<1&&(this.hasAlpha=!0)):oe.push(.5,.5,.5,1);var Y;Pe?Y=Pe[$e]:He?Y=[(He[$e]-Ue)/(Ge-Ue),0]:Fe?Y=Fe[lt]:ke?Y=[(ke[lt]-Ue)/(Ge-Ue),0]:Y=[(Tt[2]-Ue)/(Ge-Ue),0],V.push(Y[0],Y[1]);var Te;ze?Te=ze[$e]:Te=Be[lt],te.push(Te[0],Te[1],Te[2]),ne.push(lt)}bt+=1;break;default:break}}this.pointCount=Ye,this.edgeCount=At,this.triangleCount=bt,this.pointPositions.update(Ne),this.pointColors.update(pe),this.pointUVs.update(me),this.pointSizes.update(Ie),this.pointIds.update(new Uint32Array(Re)),this.edgePositions.update(W),this.edgeColors.update(fe),this.edgeUVs.update(ge),this.edgeIds.update(new Uint32Array(Ce)),this.trianglePositions.update($),this.triangleColors.update(oe),this.triangleUVs.update(V),this.triangleNormals.update(te),this.triangleIds.update(new Uint32Array(ne))},L.drawTransparent=L.draw=function(j){j=j||{};for(var O=this.gl,Z=j.model||E,K=j.view||E,$=j.projection||E,oe=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],te=0;te<3;++te)oe[0][te]=Math.max(oe[0][te],this.clipBounds[0][te]),oe[1][te]=Math.min(oe[1][te],this.clipBounds[1][te]);var V={model:Z,view:K,projection:$,inverseModel:E.slice(),clipBounds:oe,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],contourColor:this.contourColor,texture:0};V.inverseModel=m(V.inverseModel,V.model),O.disable(O.CULL_FACE),this.texture.bind(0);var ne=new Array(16);v(ne,V.view,V.model),v(ne,V.projection,ne),m(ne,ne);for(var te=0;te<3;++te)V.eyePosition[te]=ne[12+te]/ne[15];for(var W=ne[15],te=0;te<3;++te)W+=this.lightPosition[te]*ne[4*te+3];for(var te=0;te<3;++te){for(var fe=ne[12+te],ge=0;ge<3;++ge)fe+=ne[4*ge+te]*this.lightPosition[ge];V.lightPosition[te]=fe/W}if(this.triangleCount>0){var Ce=this.triShader;Ce.bind(),Ce.uniforms=V,this.triangleVAO.bind(),O.drawArrays(O.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()}if(this.edgeCount>0&&this.lineWidth>0){var Ce=this.lineShader;Ce.bind(),Ce.uniforms=V,this.edgeVAO.bind(),O.lineWidth(this.lineWidth*this.pixelRatio),O.drawArrays(O.LINES,0,this.edgeCount*2),this.edgeVAO.unbind()}if(this.pointCount>0){var Ce=this.pointShader;Ce.bind(),Ce.uniforms=V,this.pointVAO.bind(),O.drawArrays(O.POINTS,0,this.pointCount),this.pointVAO.unbind()}if(this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0){var Ce=this.contourShader;Ce.bind(),Ce.uniforms=V,this.contourVAO.bind(),O.drawArrays(O.LINES,0,this.contourCount),this.contourVAO.unbind()}},L.drawPick=function(j){j=j||{};for(var O=this.gl,Z=j.model||E,K=j.view||E,$=j.projection||E,oe=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],te=0;te<3;++te)oe[0][te]=Math.max(oe[0][te],this.clipBounds[0][te]),oe[1][te]=Math.min(oe[1][te],this.clipBounds[1][te]);this._model=[].slice.call(Z),this._view=[].slice.call(K),this._projection=[].slice.call($),this._resolution=[O.drawingBufferWidth,O.drawingBufferHeight];var V={model:Z,view:K,projection:$,clipBounds:oe,pickId:this.pickId/255},ne=this.pickShader;if(ne.bind(),ne.uniforms=V,this.triangleCount>0&&(this.triangleVAO.bind(),O.drawArrays(O.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),O.lineWidth(this.lineWidth*this.pixelRatio),O.drawArrays(O.LINES,0,this.edgeCount*2),this.edgeVAO.unbind()),this.pointCount>0){var ne=this.pointPickShader;ne.bind(),ne.uniforms=V,this.pointVAO.bind(),O.drawArrays(O.POINTS,0,this.pointCount),this.pointVAO.unbind()}},L.pick=function(j){if(!j||j.id!==this.pickId)return null;for(var O=j.value[0]+256*j.value[1]+65536*j.value[2],Z=this.cells[O],K=this.positions,$=new Array(Z.length),oe=0;oe<Z.length;++oe)$[oe]=K[Z[oe]];var te=j.coord[0],V=j.coord[1];if(!this.pickVertex){var ne=this.positions[Z[0]],W=this.positions[Z[1]],fe=this.positions[Z[2]],ge=[(ne[0]+W[0]+fe[0])/3,(ne[1]+W[1]+fe[1])/3,(ne[2]+W[2]+fe[2])/3];return{_cellCenter:!0,position:[te,V],index:O,cell:Z,cellId:O,intensity:this.intensity[O],dataCoordinate:ge}}var Ce=k($,[te*this.pixelRatio,this._resolution[1]-V*this.pixelRatio],this._model,this._view,this._projection,this._resolution);if(!Ce)return null;for(var Ne=Ce[2],pe=0,oe=0;oe<Z.length;++oe)pe+=Ne[oe]*this.intensity[Z[oe]];return{position:Ce[1],index:Z[Ce[0]],cell:Z,cellId:O,intensity:pe,dataCoordinate:this.positions[Z[Ce[0]]]}},L.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.lineShader.dispose(),this.pointShader.dispose(),this.pickShader.dispose(),this.pointPickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleNormals.dispose(),this.triangleIds.dispose(),this.edgeVAO.dispose(),this.edgePositions.dispose(),this.edgeColors.dispose(),this.edgeUVs.dispose(),this.edgeIds.dispose(),this.pointVAO.dispose(),this.pointPositions.dispose(),this.pointColors.dispose(),this.pointUVs.dispose(),this.pointSizes.dispose(),this.pointIds.dispose(),this.contourVAO.dispose(),this.contourPositions.dispose(),this.contourShader.dispose()};function D(j){var O=u(j,x.vertex,x.fragment);return O.attributes.position.location=0,O.attributes.color.location=2,O.attributes.uv.location=3,O.attributes.normal.location=4,O}function q(j){var O=u(j,M.vertex,M.fragment);return O.attributes.position.location=0,O.attributes.color.location=2,O.attributes.uv.location=3,O}function N(j){var O=u(j,A.vertex,A.fragment);return O.attributes.position.location=0,O.attributes.color.location=2,O.attributes.uv.location=3,O.attributes.pointSize.location=4,O}function U(j){var O=u(j,p.vertex,p.fragment);return O.attributes.position.location=0,O.attributes.id.location=1,O}function G(j){var O=u(j,S.vertex,S.fragment);return O.attributes.position.location=0,O.attributes.id.location=1,O.attributes.pointSize.location=4,O}function ee(j){var O=u(j,y.vertex,y.fragment);return O.attributes.position.location=0,O}function Q(j,O){arguments.length===1&&(O=j,j=O.gl);var Z=j.getExtension("OES_standard_derivatives")||j.getExtension("MOZ_OES_standard_derivatives")||j.getExtension("WEBKIT_OES_standard_derivatives");if(!Z)throw new Error("derivatives not supported");var K=D(j),$=q(j),oe=N(j),te=U(j),V=G(j),ne=ee(j),W=h(j,b(new Uint8Array([255,255,255,255]),[1,1,4]));W.generateMipmap(),W.minFilter=j.LINEAR_MIPMAP_LINEAR,W.magFilter=j.LINEAR;var fe=f(j),ge=f(j),Ce=f(j),Ne=f(j),pe=f(j),me=c(j,[{buffer:fe,type:j.FLOAT,size:3},{buffer:pe,type:j.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:ge,type:j.FLOAT,size:4},{buffer:Ce,type:j.FLOAT,size:2},{buffer:Ne,type:j.FLOAT,size:3}]),Ie=f(j),Re=f(j),ze=f(j),Be=f(j),tt=c(j,[{buffer:Ie,type:j.FLOAT,size:3},{buffer:Be,type:j.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:Re,type:j.FLOAT,size:4},{buffer:ze,type:j.FLOAT,size:2}]),rt=f(j),ce=f(j),Ee=f(j),Ae=f(j),Pe=f(j),He=c(j,[{buffer:rt,type:j.FLOAT,size:3},{buffer:Pe,type:j.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:ce,type:j.FLOAT,size:4},{buffer:Ee,type:j.FLOAT,size:2},{buffer:Ae,type:j.FLOAT,size:1}]),Fe=f(j),ke=c(j,[{buffer:Fe,type:j.FLOAT,size:3}]),Ue=new C(j,W,K,$,oe,te,V,ne,fe,pe,ge,Ce,Ne,me,Ie,Be,Re,ze,tt,rt,Pe,ce,Ee,Ae,He,Fe,ke);return Ue.update(O),Ue}i.exports=Q},8120:function(i,a,o){"use strict";i.exports=h;var s=o(2762),l=o(9405),u=o(3603);function f(d,v,m){this.plot=d,this.vbo=v,this.shader=m}var c=f.prototype;c.bind=function(){var d=this.shader;this.vbo.bind(),this.shader.bind(),d.attributes.coord.pointer(),d.uniforms.screenBox=this.plot.screenBox},c.drawBox=function(){var d=[0,0],v=[0,0];return function(m,b,g,_,T){var w=this.plot,k=this.shader,x=w.gl;d[0]=m,d[1]=b,v[0]=g,v[1]=_,k.uniforms.lo=d,k.uniforms.hi=v,k.uniforms.color=T,x.drawArrays(x.TRIANGLE_STRIP,0,4)}}(),c.dispose=function(){this.vbo.dispose(),this.shader.dispose()};function h(d){var v=d.gl,m=s(v,[0,0,0,1,1,0,1,1]),b=l(v,u.boxVert,u.lineFrag);return new f(d,m,b)}},1913:function(i,a,o){"use strict";i.exports=v;var s=o(2762),l=o(9405),u=o(2478),f=o(3603);function c(m,b,g,_){this.plot=m,this.vbo=b,this.shader=g,this.tickShader=_,this.ticks=[[],[]]}function h(m,b){return m-b}var d=c.prototype;d.draw=function(){var m=[0,0],b=[0,0],g=[0,0];return function(){for(var _=this.plot,T=this.vbo,w=this.shader,k=this.ticks,x=_.gl,M=_._tickBounds,A=_.dataBox,p=_.viewBox,S=_.gridLineWidth,y=_.gridLineColor,E=_.gridLineEnable,C=_.pixelRatio,L=0;L<2;++L){var R=M[L],I=M[L+2],P=I-R,D=.5*(A[L+2]+A[L]),q=A[L+2]-A[L];b[L]=2*P/q,m[L]=2*(R-D)/q}w.bind(),T.bind(),w.attributes.dataCoord.pointer(),w.uniforms.dataShift=m,w.uniforms.dataScale=b;for(var N=0,L=0;L<2;++L){g[0]=g[1]=0,g[L]=1,w.uniforms.dataAxis=g,w.uniforms.lineWidth=S[L]/(p[L+2]-p[L])*C,w.uniforms.color=y[L];var U=k[L].length*6;E[L]&&U&&x.drawArrays(x.TRIANGLES,N,U),N+=U}}}(),d.drawTickMarks=function(){var m=[0,0],b=[0,0],g=[1,0],_=[0,1],T=[0,0],w=[0,0];return function(){for(var k=this.plot,x=this.vbo,M=this.tickShader,A=this.ticks,p=k.gl,S=k._tickBounds,y=k.dataBox,E=k.viewBox,C=k.pixelRatio,L=k.screenBox,R=L[2]-L[0],I=L[3]-L[1],P=E[2]-E[0],D=E[3]-E[1],q=0;q<2;++q){var N=S[q],U=S[q+2],G=U-N,ee=.5*(y[q+2]+y[q]),Q=y[q+2]-y[q];b[q]=2*G/Q,m[q]=2*(N-ee)/Q}b[0]*=P/R,m[0]*=P/R,b[1]*=D/I,m[1]*=D/I,M.bind(),x.bind(),M.attributes.dataCoord.pointer();var j=M.uniforms;j.dataShift=m,j.dataScale=b;var O=k.tickMarkLength,Z=k.tickMarkWidth,K=k.tickMarkColor,$=0,oe=A[0].length*6,te=Math.min(u.ge(A[0],(y[0]-S[0])/(S[2]-S[0]),h),A[0].length),V=Math.min(u.gt(A[0],(y[2]-S[0])/(S[2]-S[0]),h),A[0].length),ne=$+6*te,W=6*Math.max(0,V-te),fe=Math.min(u.ge(A[1],(y[1]-S[1])/(S[3]-S[1]),h),A[1].length),ge=Math.min(u.gt(A[1],(y[3]-S[1])/(S[3]-S[1]),h),A[1].length),Ce=oe+6*fe,Ne=6*Math.max(0,ge-fe);T[0]=2*(E[0]-O[1])/R-1,T[1]=(E[3]+E[1])/I-1,w[0]=O[1]*C/R,w[1]=Z[1]*C/I,Ne&&(j.color=K[1],j.tickScale=w,j.dataAxis=_,j.screenOffset=T,p.drawArrays(p.TRIANGLES,Ce,Ne)),T[0]=(E[2]+E[0])/R-1,T[1]=2*(E[1]-O[0])/I-1,w[0]=Z[0]*C/R,w[1]=O[0]*C/I,W&&(j.color=K[0],j.tickScale=w,j.dataAxis=g,j.screenOffset=T,p.drawArrays(p.TRIANGLES,ne,W)),T[0]=2*(E[2]+O[3])/R-1,T[1]=(E[3]+E[1])/I-1,w[0]=O[3]*C/R,w[1]=Z[3]*C/I,Ne&&(j.color=K[3],j.tickScale=w,j.dataAxis=_,j.screenOffset=T,p.drawArrays(p.TRIANGLES,Ce,Ne)),T[0]=(E[2]+E[0])/R-1,T[1]=2*(E[3]+O[2])/I-1,w[0]=Z[2]*C/R,w[1]=O[2]*C/I,W&&(j.color=K[2],j.tickScale=w,j.dataAxis=g,j.screenOffset=T,p.drawArrays(p.TRIANGLES,ne,W))}}(),d.update=function(){var m=[1,1,-1,-1,1,-1],b=[1,-1,1,1,-1,-1];return function(g){for(var _=g.ticks,T=g.bounds,w=new Float32Array(6*3*(_[0].length+_[1].length)),k=this.plot.zeroLineEnable,x=0,M=[[],[]],A=0;A<2;++A)for(var p=M[A],S=_[A],y=T[A],E=T[A+2],C=0;C<S.length;++C){var L=(S[C].x-y)/(E-y);p.push(L);for(var R=0;R<6;++R)w[x++]=L,w[x++]=m[R],w[x++]=b[R]}this.ticks=M,this.vbo.update(w)}}(),d.dispose=function(){this.vbo.dispose(),this.shader.dispose(),this.tickShader.dispose()};function v(m){var b=m.gl,g=s(b),_=l(b,f.gridVert,f.gridFrag),T=l(b,f.tickVert,f.gridFrag),w=new c(m,g,_,T);return w}},4747:function(i,a,o){"use strict";i.exports=h;var s=o(2762),l=o(9405),u=o(3603);function f(d,v,m){this.plot=d,this.vbo=v,this.shader=m}var c=f.prototype;c.bind=function(){var d=this.shader;this.vbo.bind(),this.shader.bind(),d.attributes.coord.pointer(),d.uniforms.screenBox=this.plot.screenBox},c.drawLine=function(){var d=[0,0],v=[0,0];return function(m,b,g,_,T,w){var k=this.plot,x=this.shader,M=k.gl;d[0]=m,d[1]=b,v[0]=g,v[1]=_,x.uniforms.start=d,x.uniforms.end=v,x.uniforms.width=T*k.pixelRatio,x.uniforms.color=w,M.drawArrays(M.TRIANGLE_STRIP,0,4)}}(),c.dispose=function(){this.vbo.dispose(),this.shader.dispose()};function h(d){var v=d.gl,m=s(v,[-1,-1,-1,1,1,-1,1,1]),b=l(v,u.lineVert,u.lineFrag),g=new f(d,m,b);return g}},3603:function(i,a,o){"use strict";var s=o(3236),l=s([`precision lowp float;
|
|
#define GLSLIFY 1
|
|
uniform vec4 color;
|
|
void main() {
|
|
gl_FragColor = vec4(color.xyz * color.w, color.w);
|
|
}
|
|
`]);i.exports={lineVert:s([`precision mediump float;
|
|
#define GLSLIFY 1
|
|
|
|
attribute vec2 coord;
|
|
|
|
uniform vec4 screenBox;
|
|
uniform vec2 start, end;
|
|
uniform float width;
|
|
|
|
vec2 perp(vec2 v) {
|
|
return vec2(v.y, -v.x);
|
|
}
|
|
|
|
vec2 screen(vec2 v) {
|
|
return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;
|
|
}
|
|
|
|
void main() {
|
|
vec2 delta = normalize(perp(start - end));
|
|
vec2 offset = mix(start, end, 0.5 * (coord.y+1.0));
|
|
gl_Position = vec4(screen(offset + 0.5 * width * delta * coord.x), 0, 1);
|
|
}
|
|
`]),lineFrag:l,textVert:s([`#define GLSLIFY 1
|
|
attribute vec3 textCoordinate;
|
|
|
|
uniform vec2 dataScale, dataShift, dataAxis, screenOffset, textScale;
|
|
uniform float angle;
|
|
|
|
void main() {
|
|
float dataOffset = textCoordinate.z;
|
|
vec2 glyphOffset = textCoordinate.xy;
|
|
mat2 glyphMatrix = mat2(cos(angle), sin(angle), -sin(angle), cos(angle));
|
|
vec2 screenCoordinate = dataAxis * (dataScale * dataOffset + dataShift) +
|
|
glyphMatrix * glyphOffset * textScale + screenOffset;
|
|
gl_Position = vec4(screenCoordinate, 0, 1);
|
|
}
|
|
`]),textFrag:l,gridVert:s([`precision mediump float;
|
|
#define GLSLIFY 1
|
|
|
|
attribute vec3 dataCoord;
|
|
|
|
uniform vec2 dataAxis, dataShift, dataScale;
|
|
uniform float lineWidth;
|
|
|
|
void main() {
|
|
vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);
|
|
pos += 10.0 * dataCoord.y * vec2(dataAxis.y, -dataAxis.x) + dataCoord.z * lineWidth;
|
|
gl_Position = vec4(pos, 0, 1);
|
|
}
|
|
`]),gridFrag:l,boxVert:s([`precision mediump float;
|
|
#define GLSLIFY 1
|
|
|
|
attribute vec2 coord;
|
|
|
|
uniform vec4 screenBox;
|
|
uniform vec2 lo, hi;
|
|
|
|
vec2 screen(vec2 v) {
|
|
return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;
|
|
}
|
|
|
|
void main() {
|
|
gl_Position = vec4(screen(mix(lo, hi, coord)), 0, 1);
|
|
}
|
|
`]),tickVert:s([`precision mediump float;
|
|
#define GLSLIFY 1
|
|
|
|
attribute vec3 dataCoord;
|
|
|
|
uniform vec2 dataAxis, dataShift, dataScale, screenOffset, tickScale;
|
|
|
|
void main() {
|
|
vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);
|
|
gl_Position = vec4(pos + tickScale*dataCoord.yz + screenOffset, 0, 1);
|
|
}
|
|
`])}},2142:function(i,a,o){"use strict";i.exports=v;var s=o(2762),l=o(9405),u=o(529),f=o(2478),c=o(3603);function h(m,b,g){this.plot=m,this.vbo=b,this.shader=g,this.tickOffset=[[],[]],this.tickX=[[],[]],this.labelOffset=[0,0],this.labelCount=[0,0]}var d=h.prototype;d.drawTicks=function(){var m=[0,0],b=[0,0],g=[0,0];return function(_){var T=this.plot,w=this.shader,k=this.tickX[_],x=this.tickOffset[_],M=T.gl,A=T.viewBox,p=T.dataBox,S=T.screenBox,y=T.pixelRatio,E=T.tickEnable,C=T.tickPad,L=T.tickColor,R=T.tickAngle,I=T.labelEnable,P=T.labelPad,D=T.labelColor,q=T.labelAngle,N=this.labelOffset[_],U=this.labelCount[_],G=f.lt(k,p[_]),ee=f.le(k,p[_+2]);m[0]=m[1]=0,m[_]=1,b[_]=(A[2+_]+A[_])/(S[2+_]-S[_])-1;var Q=2/S[2+(_^1)]-S[_^1];b[_^1]=Q*A[_^1]-1,E[_]&&(b[_^1]-=Q*y*C[_],G<ee&&x[ee]>x[G]&&(w.uniforms.dataAxis=m,w.uniforms.screenOffset=b,w.uniforms.color=L[_],w.uniforms.angle=R[_],M.drawArrays(M.TRIANGLES,x[G],x[ee]-x[G]))),I[_]&&U&&(b[_^1]-=Q*y*P[_],w.uniforms.dataAxis=g,w.uniforms.screenOffset=b,w.uniforms.color=D[_],w.uniforms.angle=q[_],M.drawArrays(M.TRIANGLES,N,U)),b[_^1]=Q*A[2+(_^1)]-1,E[_+2]&&(b[_^1]+=Q*y*C[_+2],G<ee&&x[ee]>x[G]&&(w.uniforms.dataAxis=m,w.uniforms.screenOffset=b,w.uniforms.color=L[_+2],w.uniforms.angle=R[_+2],M.drawArrays(M.TRIANGLES,x[G],x[ee]-x[G]))),I[_+2]&&U&&(b[_^1]+=Q*y*P[_+2],w.uniforms.dataAxis=g,w.uniforms.screenOffset=b,w.uniforms.color=D[_+2],w.uniforms.angle=q[_+2],M.drawArrays(M.TRIANGLES,N,U))}}(),d.drawTitle=function(){var m=[0,0],b=[0,0];return function(){var g=this.plot,_=this.shader,T=g.gl,w=g.screenBox,k=g.titleCenter,x=g.titleAngle,M=g.titleColor,A=g.pixelRatio;if(this.titleCount){for(var p=0;p<2;++p)b[p]=2*(k[p]*A-w[p])/(w[2+p]-w[p])-1;_.bind(),_.uniforms.dataAxis=m,_.uniforms.screenOffset=b,_.uniforms.angle=x,_.uniforms.color=M,T.drawArrays(T.TRIANGLES,this.titleOffset,this.titleCount)}}}(),d.bind=function(){var m=[0,0],b=[0,0],g=[0,0];return function(){var _=this.plot,T=this.shader,w=_._tickBounds,k=_.dataBox,x=_.screenBox,M=_.viewBox;T.bind();for(var A=0;A<2;++A){var p=w[A],S=w[A+2],y=S-p,E=.5*(k[A+2]+k[A]),C=k[A+2]-k[A],L=M[A],R=M[A+2],I=R-L,P=x[A],D=x[A+2],q=D-P;b[A]=2*y/C*I/q,m[A]=2*(p-E)/C*I/q}g[1]=2*_.pixelRatio/(x[3]-x[1]),g[0]=g[1]*(x[3]-x[1])/(x[2]-x[0]),T.uniforms.dataScale=b,T.uniforms.dataShift=m,T.uniforms.textScale=g,this.vbo.bind(),T.attributes.textCoordinate.pointer()}}(),d.update=function(m){var b=[],g=m.ticks,_=m.bounds,T,w,k,x,M,A;for(A=0;A<2;++A){var p=[Math.floor(b.length/3)],S=[-1/0],y=g[A];for(T=0;T<y.length;++T){var E=y[T],C=E.x,L=E.text,R=E.font||"sans-serif",I=E.fontStyle||"normal",P=E.fontWeight||"normal",D=E.fontVariant||"normal";M=E.fontSize||12;for(var q=1/(_[A+2]-_[A]),N=_[A],U=L.split(`
|
|
`),G=0;G<U.length;G++)for(x=u(R,U[G],{fontStyle:I,fontWeight:P,fontVariant:D}).data,w=0;w<x.length;w+=2)b.push(x[w]*M,-x[w+1]*M-G*M*1.2,(C-N)*q);p.push(Math.floor(b.length/3)),S.push(C)}this.tickOffset[A]=p,this.tickX[A]=S}for(A=0;A<2;++A){for(this.labelOffset[A]=Math.floor(b.length/3),x=u(m.labelFont[A],m.labels[A],{fontStyle:m.labelFontStyle[A],fontWeight:m.labelFontWeight[A],fontVariant:m.labelFontVariant[A],textAlign:"center"}).data,M=m.labelSize[A],T=0;T<x.length;T+=2)b.push(x[T]*M,-x[T+1]*M,0);this.labelCount[A]=Math.floor(b.length/3)-this.labelOffset[A]}for(this.titleOffset=Math.floor(b.length/3),x=u(m.titleFont,m.title,{fontStyle:m.titleFontStyle,fontWeight:m.titleFontWeight,fontVariant:m.titleFontVariant}).data,M=m.titleSize,T=0;T<x.length;T+=2)b.push(x[T]*M,-x[T+1]*M,0);this.titleCount=Math.floor(b.length/3)-this.titleOffset,this.vbo.update(b)},d.dispose=function(){this.vbo.dispose(),this.shader.dispose()};function v(m){var b=m.gl,g=s(b),_=l(b,c.textVert,c.textFrag),T=new h(m,g,_);return T}},1850:function(i,a,o){"use strict";i.exports=g;var s=o(3589),l=o(1913),u=o(2142),f=o(4747),c=o(8120);function h(_,T){this.gl=_,this.pickBuffer=T,this.screenBox=[0,0,_.drawingBufferWidth,_.drawingBufferHeight],this.viewBox=[0,0,0,0],this.dataBox=[-10,-10,10,10],this.gridLineEnable=[!0,!0],this.gridLineWidth=[1,1],this.gridLineColor=[[0,0,0,1],[0,0,0,1]],this.pixelRatio=1,this.tickMarkLength=[0,0,0,0],this.tickMarkWidth=[0,0,0,0],this.tickMarkColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[15,15,15,15],this.tickAngle=[0,0,0,0],this.tickEnable=[!0,!0,!0,!0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[15,15,15,15],this.labelAngle=[0,Math.PI/2,0,3*Math.PI/2],this.labelEnable=[!0,!0,!0,!0],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.titleCenter=[0,0],this.titleEnable=!0,this.titleAngle=0,this.titleColor=[0,0,0,1],this.borderColor=[0,0,0,0],this.backgroundColor=[0,0,0,0],this.zeroLineEnable=[!0,!0],this.zeroLineWidth=[4,4],this.zeroLineColor=[[0,0,0,1],[0,0,0,1]],this.borderLineEnable=[!0,!0,!0,!0],this.borderLineWidth=[2,2,2,2],this.borderLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.grid=null,this.text=null,this.line=null,this.box=null,this.objects=[],this.overlays=[],this._tickBounds=[1/0,1/0,-1/0,-1/0],this.static=!1,this.dirty=!1,this.pickDirty=!1,this.pickDelay=120,this.pickRadius=10,this._pickTimeout=null,this._drawPick=this.drawPick.bind(this),this._depthCounter=0}var d=h.prototype;d.setDirty=function(){this.dirty=this.pickDirty=!0},d.setOverlayDirty=function(){this.dirty=!0},d.nextDepthValue=function(){return this._depthCounter++/65536};function v(_,T,w){var k=.5*(w+1);return Math.floor((1-k)*_+k*T)|0}d.draw=function(){var _=[0,0,0,0];return function(){var T=this.gl,w=this.screenBox,k=this.viewBox,x=this.dataBox,M=this.pixelRatio,A=this.grid,p=this.line,S=this.text,y=this.objects;if(this._depthCounter=0,this.pickDirty&&(this._pickTimeout&&clearTimeout(this._pickTimeout),this.pickDirty=!1,this._pickTimeout=setTimeout(this._drawPick,this.pickDelay)),!!this.dirty){if(this.dirty=!1,T.bindFramebuffer(T.FRAMEBUFFER,null),T.enable(T.SCISSOR_TEST),T.disable(T.DEPTH_TEST),T.depthFunc(T.LESS),T.depthMask(!1),T.enable(T.BLEND),T.blendEquation(T.FUNC_ADD,T.FUNC_ADD),T.blendFunc(T.ONE,T.ONE_MINUS_SRC_ALPHA),this.borderColor){T.scissor(w[0],w[1],w[2]-w[0],w[3]-w[1]);var E=this.borderColor;T.clearColor(E[0]*E[3],E[1]*E[3],E[2]*E[3],E[3]),T.clear(T.COLOR_BUFFER_BIT|T.DEPTH_BUFFER_BIT)}T.scissor(k[0],k[1],k[2]-k[0],k[3]-k[1]),T.viewport(k[0],k[1],k[2]-k[0],k[3]-k[1]);var C=this.backgroundColor;T.clearColor(C[0]*C[3],C[1]*C[3],C[2]*C[3],C[3]),T.clear(T.COLOR_BUFFER_BIT),A.draw();var L=this.zeroLineEnable,R=this.zeroLineColor,I=this.zeroLineWidth;if(L[0]||L[1]){p.bind();for(var P=0;P<2;++P)if(!(!L[P]||!(x[P]<=0&&x[P+2]>=0))){var D=w[P]-x[P]*(w[P+2]-w[P])/(x[P+2]-x[P]);P===0?p.drawLine(D,w[1],D,w[3],I[P],R[P]):p.drawLine(w[0],D,w[2],D,I[P],R[P])}}for(var P=0;P<y.length;++P)y[P].draw();T.viewport(w[0],w[1],w[2]-w[0],w[3]-w[1]),T.scissor(w[0],w[1],w[2]-w[0],w[3]-w[1]),this.grid.drawTickMarks(),p.bind();var q=this.borderLineEnable,N=this.borderLineWidth,U=this.borderLineColor;q[1]&&p.drawLine(k[0],k[1]-.5*N[1]*M,k[0],k[3]+.5*N[3]*M,N[1],U[1]),q[0]&&p.drawLine(k[0]-.5*N[0]*M,k[1],k[2]+.5*N[2]*M,k[1],N[0],U[0]),q[3]&&p.drawLine(k[2],k[1]-.5*N[1]*M,k[2],k[3]+.5*N[3]*M,N[3],U[3]),q[2]&&p.drawLine(k[0]-.5*N[0]*M,k[3],k[2]+.5*N[2]*M,k[3],N[2],U[2]),S.bind();for(var P=0;P<2;++P)S.drawTicks(P);this.titleEnable&&S.drawTitle();for(var G=this.overlays,P=0;P<G.length;++P)G[P].draw();T.disable(T.SCISSOR_TEST),T.disable(T.BLEND),T.depthMask(!0)}}}(),d.drawPick=function(){return function(){if(!this.static){var _=this.pickBuffer,T=this.gl;this._pickTimeout=null,_.begin();for(var w=1,k=this.objects,x=0;x<k.length;++x)w=k[x].drawPick(w);_.end()}}}(),d.pick=function(){return function(_,T){if(!this.static){var w=this.pixelRatio,k=this.pickPixelRatio,x=this.viewBox,M=Math.round((_-x[0]/w)*k)|0,A=Math.round((T-x[1]/w)*k)|0,p=this.pickBuffer.query(M,A,this.pickRadius);if(!p)return null;for(var S=p.id+(p.value[0]<<8)+(p.value[1]<<16)+(p.value[2]<<24),y=this.objects,E=0;E<y.length;++E){var C=y[E].pick(M,A,S);if(C)return C}return null}}}();function m(_){for(var T=_.slice(),w=0;w<T.length;++w)T[w]=T[w].slice();return T}function b(_,T){return _.x-T.x}d.setScreenBox=function(_){var T=this.screenBox,w=this.pixelRatio;T[0]=Math.round(_[0]*w)|0,T[1]=Math.round(_[1]*w)|0,T[2]=Math.round(_[2]*w)|0,T[3]=Math.round(_[3]*w)|0,this.setDirty()},d.setDataBox=function(_){var T=this.dataBox,w=T[0]!==_[0]||T[1]!==_[1]||T[2]!==_[2]||T[3]!==_[3];w&&(T[0]=_[0],T[1]=_[1],T[2]=_[2],T[3]=_[3],this.setDirty())},d.setViewBox=function(_){var T=this.pixelRatio,w=this.viewBox;w[0]=Math.round(_[0]*T)|0,w[1]=Math.round(_[1]*T)|0,w[2]=Math.round(_[2]*T)|0,w[3]=Math.round(_[3]*T)|0;var k=this.pickPixelRatio;this.pickBuffer.shape=[Math.round((_[2]-_[0])*k)|0,Math.round((_[3]-_[1])*k)|0],this.setDirty()},d.update=function(_){_=_||{};var T=this.gl;this.pixelRatio=_.pixelRatio||1;var w=this.pixelRatio;this.pickPixelRatio=Math.max(w,1),this.setScreenBox(_.screenBox||[0,0,T.drawingBufferWidth/w,T.drawingBufferHeight/w]);var k=this.screenBox;this.setViewBox(_.viewBox||[.125*(this.screenBox[2]-this.screenBox[0])/w,.125*(this.screenBox[3]-this.screenBox[1])/w,.875*(this.screenBox[2]-this.screenBox[0])/w,.875*(this.screenBox[3]-this.screenBox[1])/w]);var x=this.viewBox,M=(x[2]-x[0])/(x[3]-x[1]);this.setDataBox(_.dataBox||[-10,-10/M,10,10/M]),this.borderColor=_.borderColor!==!1?(_.borderColor||[0,0,0,0]).slice():!1,this.backgroundColor=(_.backgroundColor||[0,0,0,0]).slice(),this.gridLineEnable=(_.gridLineEnable||[!0,!0]).slice(),this.gridLineWidth=(_.gridLineWidth||[1,1]).slice(),this.gridLineColor=m(_.gridLineColor||[[.5,.5,.5,1],[.5,.5,.5,1]]),this.zeroLineEnable=(_.zeroLineEnable||[!0,!0]).slice(),this.zeroLineWidth=(_.zeroLineWidth||[4,4]).slice(),this.zeroLineColor=m(_.zeroLineColor||[[0,0,0,1],[0,0,0,1]]),this.tickMarkLength=(_.tickMarkLength||[0,0,0,0]).slice(),this.tickMarkWidth=(_.tickMarkWidth||[0,0,0,0]).slice(),this.tickMarkColor=m(_.tickMarkColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.titleCenter=(_.titleCenter||[.5*(x[0]+x[2])/w,(x[3]+120)/w]).slice(),this.titleEnable=!("titleEnable"in _)||!!_.titleEnable,this.titleAngle=_.titleAngle||0,this.titleColor=(_.titleColor||[0,0,0,1]).slice(),this.labelPad=(_.labelPad||[15,15,15,15]).slice(),this.labelAngle=(_.labelAngle||[0,Math.PI/2,0,3*Math.PI/2]).slice(),this.labelEnable=(_.labelEnable||[!0,!0,!0,!0]).slice(),this.labelColor=m(_.labelColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.tickPad=(_.tickPad||[15,15,15,15]).slice(),this.tickAngle=(_.tickAngle||[0,0,0,0]).slice(),this.tickEnable=(_.tickEnable||[!0,!0,!0,!0]).slice(),this.tickColor=m(_.tickColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.borderLineEnable=(_.borderLineEnable||[!0,!0,!0,!0]).slice(),this.borderLineWidth=(_.borderLineWidth||[2,2,2,2]).slice(),this.borderLineColor=m(_.borderLineColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]);var A=_.ticks||[[],[]],p=this._tickBounds;p[0]=p[1]=1/0,p[2]=p[3]=-1/0;for(var S=0;S<2;++S){var y=A[S].slice(0);y.length!==0&&(y.sort(b),p[S]=Math.min(p[S],y[0].x),p[S+2]=Math.max(p[S+2],y[y.length-1].x))}this.grid.update({bounds:p,ticks:A}),this.text.update({bounds:p,ticks:A,labels:_.labels||["x","y"],labelSize:_.labelSize||[12,12],labelFont:_.labelFont||["sans-serif","sans-serif"],labelFontStyle:_.labelFontStyle||["normal","normal"],labelFontWeight:_.labelFontWeight||["normal","normal"],labelFontVariant:_.labelFontVariant||["normal","normal"],title:_.title||"",titleSize:_.titleSize||18,titleFont:_.titleFont||"sans-serif",titleFontStyle:_.titleFontStyle||"normal",titleFontWeight:_.titleFontWeight||"normal",titleFontVariant:_.titleFontVariant||"normal"}),this.static=!!_.static,this.setDirty()},d.dispose=function(){this.box.dispose(),this.grid.dispose(),this.text.dispose(),this.line.dispose();for(var _=this.objects.length-1;_>=0;--_)this.objects[_].dispose();this.objects.length=0;for(var _=this.overlays.length-1;_>=0;--_)this.overlays[_].dispose();this.overlays.length=0,this.gl=null},d.addObject=function(_){this.objects.indexOf(_)<0&&(this.objects.push(_),this.setDirty())},d.removeObject=function(_){for(var T=this.objects,w=0;w<T.length;++w)if(T[w]===_){T.splice(w,1),this.setDirty();break}},d.addOverlay=function(_){this.overlays.indexOf(_)<0&&(this.overlays.push(_),this.setOverlayDirty())},d.removeOverlay=function(_){for(var T=this.overlays,w=0;w<T.length;++w)if(T[w]===_){T.splice(w,1),this.setOverlayDirty();break}};function g(_){var T=_.gl,w=s(T,[T.drawingBufferWidth,T.drawingBufferHeight]),k=new h(T,w);return k.grid=l(k),k.text=u(k),k.line=f(k),k.box=c(k),k.update(_),k}},4437:function(i,a,o){"use strict";i.exports=d;var s=o(3025),l=o(6296),u=o(351),f=o(8512),c=o(24),h=o(7520);function d(v,m){v=v||document.body,m=m||{};var b=[.01,1/0];"distanceLimits"in m&&(b[0]=m.distanceLimits[0],b[1]=m.distanceLimits[1]),"zoomMin"in m&&(b[0]=m.zoomMin),"zoomMax"in m&&(b[1]=m.zoomMax);var g=l({center:m.center||[0,0,0],up:m.up||[0,1,0],eye:m.eye||[0,0,10],mode:m.mode||"orbit",distanceLimits:b}),_=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],T=0,w=v.clientWidth,k=v.clientHeight,x={keyBindingMode:"rotate",enableWheel:!0,view:g,element:v,delay:m.delay||16,rotateSpeed:m.rotateSpeed||1,zoomSpeed:m.zoomSpeed||1,translateSpeed:m.translateSpeed||1,flipX:!!m.flipX,flipY:!!m.flipY,modes:g.modes,_ortho:m._ortho||m.projection&&m.projection.type==="orthographic"||!1,tick:function(){var M=s(),A=this.delay,p=M-2*A;g.idle(M-A),g.recalcMatrix(p),g.flush(M-(100+A*2));for(var S=!0,y=g.computedMatrix,E=0;E<16;++E)S=S&&_[E]===y[E],_[E]=y[E];var C=v.clientWidth===w&&v.clientHeight===k;return w=v.clientWidth,k=v.clientHeight,S?!C:(T=Math.exp(g.computedRadius[0]),!0)},lookAt:function(M,A,p){g.lookAt(g.lastT(),M,A,p)},rotate:function(M,A,p){g.rotate(g.lastT(),M,A,p)},pan:function(M,A,p){g.pan(g.lastT(),M,A,p)},translate:function(M,A,p){g.translate(g.lastT(),M,A,p)}};return Object.defineProperties(x,{matrix:{get:function(){return g.computedMatrix},set:function(M){return g.setMatrix(g.lastT(),M),g.computedMatrix},enumerable:!0},mode:{get:function(){return g.getMode()},set:function(M){var A=g.computedUp.slice(),p=g.computedEye.slice(),S=g.computedCenter.slice();if(g.setMode(M),M==="turntable"){var y=s();g._active.lookAt(y,p,S,A),g._active.lookAt(y+500,p,S,[0,0,1]),g._active.flush(y)}return g.getMode()},enumerable:!0},center:{get:function(){return g.computedCenter},set:function(M){return g.lookAt(g.lastT(),null,M),g.computedCenter},enumerable:!0},eye:{get:function(){return g.computedEye},set:function(M){return g.lookAt(g.lastT(),M),g.computedEye},enumerable:!0},up:{get:function(){return g.computedUp},set:function(M){return g.lookAt(g.lastT(),null,null,M),g.computedUp},enumerable:!0},distance:{get:function(){return T},set:function(M){return g.setDistance(g.lastT(),M),M},enumerable:!0},distanceLimits:{get:function(){return g.getDistanceLimits(b)},set:function(M){return g.setDistanceLimits(M),M},enumerable:!0}}),v.addEventListener("contextmenu",function(M){return M.preventDefault(),!1}),x._lastX=-1,x._lastY=-1,x._lastMods={shift:!1,control:!1,alt:!1,meta:!1},x.enableMouseListeners=function(){x.mouseListener=u(v,M),v.addEventListener("touchstart",function(A){var p=c(A.changedTouches[0],v);M(0,p[0],p[1],x._lastMods),M(1,p[0],p[1],x._lastMods)},h?{passive:!0}:!1),v.addEventListener("touchmove",function(A){var p=c(A.changedTouches[0],v);M(1,p[0],p[1],x._lastMods),A.preventDefault()},h?{passive:!1}:!1),v.addEventListener("touchend",function(A){M(0,x._lastX,x._lastY,x._lastMods)},h?{passive:!0}:!1);function M(A,p,S,y){var E=x.keyBindingMode;if(E!==!1){var C=E==="rotate",L=E==="pan",R=E==="zoom",I=!!y.control,P=!!y.alt,D=!!y.shift,q=!!(A&1),N=!!(A&2),U=!!(A&4),G=1/v.clientHeight,ee=G*(p-x._lastX),Q=G*(S-x._lastY),j=x.flipX?1:-1,O=x.flipY?1:-1,Z=Math.PI*x.rotateSpeed,K=s();if(x._lastX!==-1&&x._lastY!==-1&&((C&&q&&!I&&!P&&!D||q&&!I&&!P&&D)&&g.rotate(K,j*Z*ee,-O*Z*Q,0),(L&&q&&!I&&!P&&!D||N||q&&I&&!P&&!D)&&g.pan(K,-x.translateSpeed*ee*T,x.translateSpeed*Q*T,0),R&&q&&!I&&!P&&!D||U||q&&!I&&P&&!D)){var $=-x.zoomSpeed*Q/window.innerHeight*(K-g.lastT())*100;g.pan(K,0,0,T*(Math.exp($)-1))}return x._lastX=p,x._lastY=S,x._lastMods=y,!0}}x.wheelListener=f(v,function(A,p){if(x.keyBindingMode!==!1&&x.enableWheel){var S=x.flipX?1:-1,y=x.flipY?1:-1,E=s();if(Math.abs(A)>Math.abs(p))g.rotate(E,0,0,-A*S*Math.PI*x.rotateSpeed/window.innerWidth);else if(!x._ortho){var C=-x.zoomSpeed*y*p/window.innerHeight*(E-g.lastT())/20;g.pan(E,0,0,T*(Math.exp(C)-1))}}},!0)},x.enableMouseListeners(),x}},799:function(i,a,o){var s=o(3236),l=o(9405),u=s([`precision mediump float;
|
|
#define GLSLIFY 1
|
|
attribute vec2 position;
|
|
varying vec2 uv;
|
|
void main() {
|
|
uv = position;
|
|
gl_Position = vec4(position, 0, 1);
|
|
}`]),f=s([`precision mediump float;
|
|
#define GLSLIFY 1
|
|
|
|
uniform sampler2D accumBuffer;
|
|
varying vec2 uv;
|
|
|
|
void main() {
|
|
vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));
|
|
gl_FragColor = min(vec4(1,1,1,1), accum);
|
|
}`]);i.exports=function(c){return l(c,u,f,null,[{name:"position",type:"vec2"}])}},4100:function(i,a,o){"use strict";var s=o(4437),l=o(3837),u=o(5445),f=o(4449),c=o(3589),h=o(2260),d=o(7169),v=o(351),m=o(4772),b=o(4040),g=o(799),_=o(9216)({tablet:!0,featureDetect:!0});i.exports={createScene:M,createCamera:s};function T(){this.mouse=[-1,-1],this.screen=null,this.distance=1/0,this.index=null,this.dataCoordinate=null,this.dataPosition=null,this.object=null,this.data=null}function w(p,S){var y=null;try{y=p.getContext("webgl",S),y||(y=p.getContext("experimental-webgl",S))}catch{return null}return y}function k(p){var S=Math.round(Math.log(Math.abs(p))/Math.log(10));if(S<0){var y=Math.round(Math.pow(10,-S));return Math.ceil(p*y)/y}else if(S>0){var y=Math.round(Math.pow(10,S));return Math.ceil(p/y)*y}return Math.ceil(p)}function x(p){return typeof p=="boolean"?p:!0}function M(p){p=p||{},p.camera=p.camera||{};var S=p.canvas;if(!S)if(S=document.createElement("canvas"),p.container){var y=p.container;y.appendChild(S)}else document.body.appendChild(S);var E=p.gl;if(E||(p.glOptions&&(_=!!p.glOptions.preserveDrawingBuffer),E=w(S,p.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:_})),!E)throw new Error("webgl not supported");var C=p.bounds||[[-10,-10,-10],[10,10,10]],L=new T,R=h(E,E.drawingBufferWidth,E.drawingBufferHeight,{preferFloat:!_}),I=g(E),P=p.cameraObject&&p.cameraObject._ortho===!0||p.camera.projection&&p.camera.projection.type==="orthographic"||!1,D={eye:p.camera.eye||[2,0,0],center:p.camera.center||[0,0,0],up:p.camera.up||[0,1,0],zoomMin:p.camera.zoomMax||.1,zoomMax:p.camera.zoomMin||100,mode:p.camera.mode||"turntable",_ortho:P},q=p.axes||{},N=l(E,q);N.enable=!q.disable;var U=p.spikes||{},G=f(E,U),ee=[],Q=[],j=[],O=[],Z=!0,te=!0,K=new Array(16),$=new Array(16),oe={view:null,projection:K,model:$,_ortho:!1},te=!0,V=[E.drawingBufferWidth,E.drawingBufferHeight],ne=p.cameraObject||s(S,D),W={gl:E,contextLost:!1,pixelRatio:p.pixelRatio||1,canvas:S,selection:L,camera:ne,axes:N,axesPixels:null,spikes:G,bounds:C,objects:ee,shape:V,aspect:p.aspectRatio||[1,1,1],pickRadius:p.pickRadius||10,zNear:p.zNear||.01,zFar:p.zFar||1e3,fovy:p.fovy||Math.PI/4,clearColor:p.clearColor||[0,0,0,0],autoResize:x(p.autoResize),autoBounds:x(p.autoBounds),autoScale:!!p.autoScale,autoCenter:x(p.autoCenter),clipToBounds:x(p.clipToBounds),snapToData:!!p.snapToData,onselect:p.onselect||null,onrender:p.onrender||null,onclick:p.onclick||null,cameraParams:oe,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(Be){this.aspect[0]=Be.x,this.aspect[1]=Be.y,this.aspect[2]=Be.z,te=!0},setBounds:function(Be,tt){this.bounds[0][Be]=tt.min,this.bounds[1][Be]=tt.max},setClearColor:function(Be){this.clearColor=Be},clearRGBA:function(){this.gl.clearColor(this.clearColor[0],this.clearColor[1],this.clearColor[2],this.clearColor[3]),this.gl.clear(this.gl.COLOR_BUFFER_BIT|this.gl.DEPTH_BUFFER_BIT)}},fe=[E.drawingBufferWidth/W.pixelRatio|0,E.drawingBufferHeight/W.pixelRatio|0];function ge(){if(!W._stopped&&W.autoResize){var Be=S.parentNode,tt=1,rt=1;Be&&Be!==document.body?(tt=Be.clientWidth,rt=Be.clientHeight):(tt=window.innerWidth,rt=window.innerHeight);var ce=Math.ceil(tt*W.pixelRatio)|0,Ee=Math.ceil(rt*W.pixelRatio)|0;if(ce!==S.width||Ee!==S.height){S.width=ce,S.height=Ee;var Ae=S.style;Ae.position=Ae.position||"absolute",Ae.left="0px",Ae.top="0px",Ae.width=tt+"px",Ae.height=rt+"px",Z=!0}}}W.autoResize&&ge(),window.addEventListener("resize",ge);function Ce(){for(var Be=ee.length,tt=O.length,rt=0;rt<tt;++rt)j[rt]=0;e:for(var rt=0;rt<Be;++rt){var ce=ee[rt],Ee=ce.pickSlots;if(!Ee){Q[rt]=-1;continue}for(var Ae=0;Ae<tt;++Ae)if(j[Ae]+Ee<255){Q[rt]=Ae,ce.setPickBase(j[Ae]+1),j[Ae]+=Ee;continue e}var Pe=c(E,V);Q[rt]=tt,O.push(Pe),j.push(Ee),ce.setPickBase(1),tt+=1}for(;tt>0&&j[tt-1]===0;)j.pop(),O.pop().dispose()}W.update=function(Be){W._stopped||(Be=Be||{},Z=!0,te=!0)},W.add=function(Be){W._stopped||(Be.axes=N,ee.push(Be),Q.push(-1),Z=!0,te=!0,Ce())},W.remove=function(Be){if(!W._stopped){var tt=ee.indexOf(Be);tt<0||(ee.splice(tt,1),Q.pop(),Z=!0,te=!0,Ce())}},W.dispose=function(){if(!W._stopped&&(W._stopped=!0,window.removeEventListener("resize",ge),S.removeEventListener("webglcontextlost",Ne),W.mouseListener.enabled=!1,!W.contextLost)){N.dispose(),G.dispose();for(var Be=0;Be<ee.length;++Be)ee[Be].dispose();R.dispose();for(var Be=0;Be<O.length;++Be)O[Be].dispose();I.dispose(),E=null,N=null,G=null,ee=[]}},W._mouseRotating=!1,W._prevButtons=0,W.enableMouseListeners=function(){W.mouseListener=v(S,function(Be,tt,rt){if(!W._stopped){var ce=O.length,Ee=ee.length,Ae=L.object;L.distance=1/0,L.mouse[0]=tt,L.mouse[1]=rt,L.object=null,L.screen=null,L.dataCoordinate=L.dataPosition=null;var Pe=!1;if(Be&&W._prevButtons)W._mouseRotating=!0;else{W._mouseRotating&&(te=!0),W._mouseRotating=!1;for(var He=0;He<ce;++He){var Fe=O[He].query(tt,fe[1]-rt-1,W.pickRadius);if(Fe){if(Fe.distance>L.distance)continue;for(var ke=0;ke<Ee;++ke){var Ue=ee[ke];if(Q[ke]===He){var Ge=Ue.pick(Fe);Ge&&(L.buttons=Be,L.screen=Fe.coord,L.distance=Fe.distance,L.object=Ue,L.index=Ge.distance,L.dataPosition=Ge.position,L.dataCoordinate=Ge.dataCoordinate,L.data=Ge,Pe=!0)}}}}}Ae&&Ae!==L.object&&(Ae.highlight&&Ae.highlight(null),Z=!0),L.object&&(L.object.highlight&&L.object.highlight(L.data),Z=!0),Pe=Pe||L.object!==Ae,Pe&&W.onselect&&W.onselect(L),Be&1&&!(W._prevButtons&1)&&W.onclick&&W.onclick(L),W._prevButtons=Be}})};function Ne(){if(W.contextLost)return!0;E.isContextLost()&&(W.contextLost=!0,W.mouseListener.enabled=!1,W.selection.object=null,W.oncontextloss&&W.oncontextloss())}S.addEventListener("webglcontextlost",Ne);function pe(){if(!Ne()){E.colorMask(!0,!0,!0,!0),E.depthMask(!0),E.disable(E.BLEND),E.enable(E.DEPTH_TEST),E.depthFunc(E.LEQUAL);for(var Be=ee.length,tt=O.length,rt=0;rt<tt;++rt){var ce=O[rt];ce.shape=fe,ce.begin();for(var Ee=0;Ee<Be;++Ee)if(Q[Ee]===rt){var Ae=ee[Ee];Ae.drawPick&&(Ae.pixelRatio=1,Ae.drawPick(oe))}ce.end()}}}var me=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],Ie=[me[0].slice(),me[1].slice()];function Re(){if(!Ne()){ge();var Be=W.camera.tick();oe.view=W.camera.matrix,Z=Z||Be,te=te||Be,N.pixelRatio=W.pixelRatio,G.pixelRatio=W.pixelRatio;var tt=ee.length,rt=me[0],ce=me[1];rt[0]=rt[1]=rt[2]=1/0,ce[0]=ce[1]=ce[2]=-1/0;for(var Ee=0;Ee<tt;++Ee){var Ae=ee[Ee];Ae.pixelRatio=W.pixelRatio,Ae.axes=W.axes,Z=Z||!!Ae.dirty,te=te||!!Ae.dirty;var Pe=Ae.bounds;if(Pe)for(var He=Pe[0],Fe=Pe[1],ke=0;ke<3;++ke)rt[ke]=Math.min(rt[ke],He[ke]),ce[ke]=Math.max(ce[ke],Fe[ke])}var Ue=W.bounds;if(W.autoBounds)for(var ke=0;ke<3;++ke){if(ce[ke]<rt[ke])rt[ke]=-1,ce[ke]=1;else{rt[ke]===ce[ke]&&(rt[ke]-=1,ce[ke]+=1);var Ge=.05*(ce[ke]-rt[ke]);rt[ke]=rt[ke]-Ge,ce[ke]=ce[ke]+Ge}Ue[0][ke]=rt[ke],Ue[1][ke]=ce[ke]}for(var lt=!1,ke=0;ke<3;++ke)lt=lt||Ie[0][ke]!==Ue[0][ke]||Ie[1][ke]!==Ue[1][ke],Ie[0][ke]=Ue[0][ke],Ie[1][ke]=Ue[1][ke];if(te=te||lt,Z=Z||lt,!!Z){if(lt){for(var it=[0,0,0],Ee=0;Ee<3;++Ee)it[Ee]=k((Ue[1][Ee]-Ue[0][Ee])/10);N.autoTicks?N.update({bounds:Ue,tickSpacing:it}):N.update({bounds:Ue})}var wt=E.drawingBufferWidth,_t=E.drawingBufferHeight;V[0]=wt,V[1]=_t,fe[0]=Math.max(wt/W.pixelRatio,1)|0,fe[1]=Math.max(_t/W.pixelRatio,1)|0,A(W,P);for(var Ee=0;Ee<tt;++Ee){var Ae=ee[Ee];Ae.axesBounds=Ue,W.clipToBounds&&(Ae.clipBounds=Ue)}L.object&&(W.snapToData?G.position=L.dataCoordinate:G.position=L.dataPosition,G.bounds=Ue),te&&(te=!1,pe()),W.axesPixels=u(W.axes,oe,wt,_t),W.onrender&&W.onrender(),E.bindFramebuffer(E.FRAMEBUFFER,null),E.viewport(0,0,wt,_t),W.clearRGBA(),E.depthMask(!0),E.colorMask(!0,!0,!0,!0),E.enable(E.DEPTH_TEST),E.depthFunc(E.LEQUAL),E.disable(E.BLEND),E.disable(E.CULL_FACE);var Tt=!1;N.enable&&(Tt=Tt||N.isTransparent(),N.draw(oe)),G.axes=N,L.object&&G.draw(oe),E.disable(E.CULL_FACE);for(var Ee=0;Ee<tt;++Ee){var Ae=ee[Ee];Ae.axes=N,Ae.pixelRatio=W.pixelRatio,Ae.isOpaque&&Ae.isOpaque()&&Ae.draw(oe),Ae.isTransparent&&Ae.isTransparent()&&(Tt=!0)}if(Tt){R.shape=V,R.bind(),E.clear(E.DEPTH_BUFFER_BIT),E.colorMask(!1,!1,!1,!1),E.depthMask(!0),E.depthFunc(E.LESS),N.enable&&N.isTransparent()&&N.drawTransparent(oe);for(var Ee=0;Ee<tt;++Ee){var Ae=ee[Ee];Ae.isOpaque&&Ae.isOpaque()&&Ae.draw(oe)}E.enable(E.BLEND),E.blendEquation(E.FUNC_ADD),E.blendFunc(E.ONE,E.ONE_MINUS_SRC_ALPHA),E.colorMask(!0,!0,!0,!0),E.depthMask(!1),E.clearColor(0,0,0,0),E.clear(E.COLOR_BUFFER_BIT),N.isTransparent()&&N.drawTransparent(oe);for(var Ee=0;Ee<tt;++Ee){var Ae=ee[Ee];Ae.isTransparent&&Ae.isTransparent()&&Ae.drawTransparent(oe)}E.bindFramebuffer(E.FRAMEBUFFER,null),E.blendFunc(E.ONE,E.ONE_MINUS_SRC_ALPHA),E.disable(E.DEPTH_TEST),I.bind(),R.color[0].bind(0),I.uniforms.accumBuffer=0,d(E),E.disable(E.BLEND)}Z=!1;for(var Ee=0;Ee<tt;++Ee)ee[Ee].dirty=!1}}}function ze(){W._stopped||W.contextLost||(Re(),requestAnimationFrame(ze))}return W.enableMouseListeners(),ze(),W.redraw=function(){W._stopped||(Z=!0,Re())},W}function A(p,S){var y=p.bounds,E=p.cameraParams,C=E.projection,L=E.model,R=p.gl.drawingBufferWidth,I=p.gl.drawingBufferHeight,P=p.zNear,D=p.zFar,q=p.fovy,N=R/I;S?(b(C,-N,N,-1,1,P,D),E._ortho=!0):(m(C,q,N,P,D),E._ortho=!1);for(var U=0;U<16;++U)L[U]=0;L[15]=1;for(var G=0,U=0;U<3;++U)G=Math.max(G,y[1][U]-y[0][U]);for(var U=0;U<3;++U)p.autoScale?L[5*U]=p.aspect[U]/(y[1][U]-y[0][U]):L[5*U]=1/G,p.autoCenter&&(L[12+U]=-L[5*U]*.5*(y[0][U]+y[1][U]))}},6640:function(i,a,o){var s=o(3236);a.pointVertex=s([`precision mediump float;
|
|
#define GLSLIFY 1
|
|
|
|
attribute vec2 position;
|
|
|
|
uniform mat3 matrix;
|
|
uniform float pointSize;
|
|
uniform float pointCloud;
|
|
|
|
highp float rand(vec2 co) {
|
|
highp float a = 12.9898;
|
|
highp float b = 78.233;
|
|
highp float c = 43758.5453;
|
|
highp float d = dot(co.xy, vec2(a, b));
|
|
highp float e = mod(d, 3.14);
|
|
return fract(sin(e) * c);
|
|
}
|
|
|
|
void main() {
|
|
vec3 hgPosition = matrix * vec3(position, 1);
|
|
gl_Position = vec4(hgPosition.xy, 0, hgPosition.z);
|
|
// if we don't jitter the point size a bit, overall point cloud
|
|
// saturation 'jumps' on zooming, which is disturbing and confusing
|
|
gl_PointSize = pointSize * ((19.5 + rand(position)) / 20.0);
|
|
if(pointCloud != 0.0) { // pointCloud is truthy
|
|
// get the same square surface as circle would be
|
|
gl_PointSize *= 0.886;
|
|
}
|
|
}`]),a.pointFragment=s([`precision mediump float;
|
|
#define GLSLIFY 1
|
|
|
|
uniform vec4 color, borderColor;
|
|
uniform float centerFraction;
|
|
uniform float pointCloud;
|
|
|
|
void main() {
|
|
float radius;
|
|
vec4 baseColor;
|
|
if(pointCloud != 0.0) { // pointCloud is truthy
|
|
if(centerFraction == 1.0) {
|
|
gl_FragColor = color;
|
|
} else {
|
|
gl_FragColor = mix(borderColor, color, centerFraction);
|
|
}
|
|
} else {
|
|
radius = length(2.0 * gl_PointCoord.xy - 1.0);
|
|
if(radius > 1.0) {
|
|
discard;
|
|
}
|
|
baseColor = mix(borderColor, color, step(radius, centerFraction));
|
|
gl_FragColor = vec4(baseColor.rgb * baseColor.a, baseColor.a);
|
|
}
|
|
}
|
|
`]),a.pickVertex=s([`precision mediump float;
|
|
#define GLSLIFY 1
|
|
|
|
attribute vec2 position;
|
|
attribute vec4 pickId;
|
|
|
|
uniform mat3 matrix;
|
|
uniform float pointSize;
|
|
uniform vec4 pickOffset;
|
|
|
|
varying vec4 fragId;
|
|
|
|
void main() {
|
|
vec3 hgPosition = matrix * vec3(position, 1);
|
|
gl_Position = vec4(hgPosition.xy, 0, hgPosition.z);
|
|
gl_PointSize = pointSize;
|
|
|
|
vec4 id = pickId + pickOffset;
|
|
id.y += floor(id.x / 256.0);
|
|
id.x -= floor(id.x / 256.0) * 256.0;
|
|
|
|
id.z += floor(id.y / 256.0);
|
|
id.y -= floor(id.y / 256.0) * 256.0;
|
|
|
|
id.w += floor(id.z / 256.0);
|
|
id.z -= floor(id.z / 256.0) * 256.0;
|
|
|
|
fragId = id;
|
|
}
|
|
`]),a.pickFragment=s([`precision mediump float;
|
|
#define GLSLIFY 1
|
|
|
|
varying vec4 fragId;
|
|
|
|
void main() {
|
|
float radius = length(2.0 * gl_PointCoord.xy - 1.0);
|
|
if(radius > 1.0) {
|
|
discard;
|
|
}
|
|
gl_FragColor = fragId / 255.0;
|
|
}
|
|
`])},4696:function(i,a,o){"use strict";var s=o(9405),l=o(2762),u=o(1888),f=o(6640);i.exports=v;function c(m,b,g,_,T){this.plot=m,this.offsetBuffer=b,this.pickBuffer=g,this.shader=_,this.pickShader=T,this.sizeMin=.5,this.sizeMinCap=2,this.sizeMax=20,this.areaRatio=1,this.pointCount=0,this.color=[1,0,0,1],this.borderColor=[0,0,0,1],this.blend=!1,this.pickOffset=0,this.points=null}var h=c.prototype;h.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},h.update=function(m){var b;m=m||{};function g(A,p){return A in m?m[A]:p}this.sizeMin=g("sizeMin",.5),this.sizeMax=g("sizeMax",20),this.color=g("color",[1,0,0,1]).slice(),this.areaRatio=g("areaRatio",1),this.borderColor=g("borderColor",[0,0,0,1]).slice(),this.blend=g("blend",!1);var _=m.positions.length>>>1,T=m.positions instanceof Float32Array,w=m.idToIndex instanceof Int32Array&&m.idToIndex.length>=_,k=m.positions,x=T?k:u.mallocFloat32(k.length),M=w?m.idToIndex:u.mallocInt32(_);if(T||x.set(k),!w)for(x.set(k),b=0;b<_;b++)M[b]=b;this.points=k,this.offsetBuffer.update(x),this.pickBuffer.update(M),T||u.free(x),w||u.free(M),this.pointCount=_,this.pickOffset=0};function d(m,b){var g=0,_=m.length>>>1,T;for(T=0;T<_;T++){var w=m[T*2],k=m[T*2+1];w>=b[0]&&w<=b[2]&&k>=b[1]&&k<=b[3]&&g++}return g}h.unifiedDraw=function(){var m=[1,0,0,0,1,0,0,0,1],b=[0,0,0,0];return function(g){var _=g!==void 0,T=_?this.pickShader:this.shader,w=this.plot.gl,k=this.plot.dataBox;if(this.pointCount===0)return g;var x=k[2]-k[0],M=k[3]-k[1],A=d(this.points,k),p=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(A,.33333)));m[0]=2/x,m[4]=2/M,m[6]=-2*k[0]/x-1,m[7]=-2*k[1]/M-1,this.offsetBuffer.bind(),T.bind(),T.attributes.position.pointer(),T.uniforms.matrix=m,T.uniforms.color=this.color,T.uniforms.borderColor=this.borderColor,T.uniforms.pointCloud=p<5,T.uniforms.pointSize=p,T.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),_&&(b[0]=g&255,b[1]=g>>8&255,b[2]=g>>16&255,b[3]=g>>24&255,this.pickBuffer.bind(),T.attributes.pickId.pointer(w.UNSIGNED_BYTE),T.uniforms.pickOffset=b,this.pickOffset=g);var S=w.getParameter(w.BLEND),y=w.getParameter(w.DITHER);return S&&!this.blend&&w.disable(w.BLEND),y&&w.disable(w.DITHER),w.drawArrays(w.POINTS,0,this.pointCount),S&&!this.blend&&w.enable(w.BLEND),y&&w.enable(w.DITHER),g+this.pointCount}}(),h.draw=h.unifiedDraw,h.drawPick=h.unifiedDraw,h.pick=function(m,b,g){var _=this.pickOffset,T=this.pointCount;if(g<_||g>=_+T)return null;var w=g-_,k=this.points;return{object:this,pointId:w,dataCoord:[k[2*w],k[2*w+1]]}};function v(m,b){var g=m.gl,_=l(g),T=l(g),w=s(g,f.pointVertex,f.pointFragment),k=s(g,f.pickVertex,f.pickFragment),x=new c(m,_,T,w,k);return x.update(b),m.addObject(x),x}},783:function(i){i.exports=a;function a(o,s,l,u){var f=s[0],c=s[1],h=s[2],d=s[3],v=l[0],m=l[1],b=l[2],g=l[3],_,T,w,k,x;return T=f*v+c*m+h*b+d*g,T<0&&(T=-T,v=-v,m=-m,b=-b,g=-g),1-T>1e-6?(_=Math.acos(T),w=Math.sin(_),k=Math.sin((1-u)*_)/w,x=Math.sin(u*_)/w):(k=1-u,x=u),o[0]=k*f+x*v,o[1]=k*c+x*m,o[2]=k*h+x*b,o[3]=k*d+x*g,o}},5964:function(i){"use strict";i.exports=function(a){return!a&&a!==0?"":a.toString()}},9366:function(i,a,o){"use strict";var s=o(4359);i.exports=u;var l={};function u(f,c,h){var d=[c.style,c.weight,c.variant,c.family].join("_"),v=l[d];if(v||(v=l[d]={}),f in v)return v[f];var m={textAlign:"center",textBaseline:"middle",lineHeight:1,font:c.family,fontStyle:c.style,fontWeight:c.weight,fontVariant:c.variant,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0}};m.triangles=!0;var b=s(f,m);m.triangles=!1;var g=s(f,m),_,T;if(h&&h!==1){for(_=0;_<b.positions.length;++_)for(T=0;T<b.positions[_].length;++T)b.positions[_][T]/=h;for(_=0;_<g.positions.length;++_)for(T=0;T<g.positions[_].length;++T)g.positions[_][T]/=h}var w=[[1/0,1/0],[-1/0,-1/0]],k=g.positions.length;for(_=0;_<k;++_){var x=g.positions[_];for(T=0;T<2;++T)w[0][T]=Math.min(w[0][T],x[T]),w[1][T]=Math.max(w[1][T],x[T])}return v[f]=[b,g,w]}},1283:function(i,a,o){var s=o(9405),l=o(3236),u=l([`precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
bool outOfRange(float a, float b, float p) {
|
|
return ((p > max(a, b)) ||
|
|
(p < min(a, b)));
|
|
}
|
|
|
|
bool outOfRange(vec2 a, vec2 b, vec2 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y));
|
|
}
|
|
|
|
bool outOfRange(vec3 a, vec3 b, vec3 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y) ||
|
|
outOfRange(a.z, b.z, p.z));
|
|
}
|
|
|
|
bool outOfRange(vec4 a, vec4 b, vec4 p) {
|
|
return outOfRange(a.xyz, b.xyz, p.xyz);
|
|
}
|
|
|
|
attribute vec3 position;
|
|
attribute vec4 color;
|
|
attribute vec2 glyph;
|
|
attribute vec4 id;
|
|
|
|
uniform vec4 highlightId;
|
|
uniform float highlightScale;
|
|
uniform mat4 model, view, projection;
|
|
uniform vec3 clipBounds[2];
|
|
|
|
varying vec4 interpColor;
|
|
varying vec4 pickId;
|
|
varying vec3 dataCoordinate;
|
|
|
|
void main() {
|
|
if (outOfRange(clipBounds[0], clipBounds[1], position)) {
|
|
|
|
gl_Position = vec4(0,0,0,0);
|
|
} else {
|
|
float scale = 1.0;
|
|
if(distance(highlightId, id) < 0.0001) {
|
|
scale = highlightScale;
|
|
}
|
|
|
|
vec4 worldPosition = model * vec4(position, 1);
|
|
vec4 viewPosition = view * worldPosition;
|
|
viewPosition = viewPosition / viewPosition.w;
|
|
vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));
|
|
|
|
gl_Position = clipPosition;
|
|
interpColor = color;
|
|
pickId = id;
|
|
dataCoordinate = position;
|
|
}
|
|
}`]),f=l([`precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
bool outOfRange(float a, float b, float p) {
|
|
return ((p > max(a, b)) ||
|
|
(p < min(a, b)));
|
|
}
|
|
|
|
bool outOfRange(vec2 a, vec2 b, vec2 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y));
|
|
}
|
|
|
|
bool outOfRange(vec3 a, vec3 b, vec3 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y) ||
|
|
outOfRange(a.z, b.z, p.z));
|
|
}
|
|
|
|
bool outOfRange(vec4 a, vec4 b, vec4 p) {
|
|
return outOfRange(a.xyz, b.xyz, p.xyz);
|
|
}
|
|
|
|
attribute vec3 position;
|
|
attribute vec4 color;
|
|
attribute vec2 glyph;
|
|
attribute vec4 id;
|
|
|
|
uniform mat4 model, view, projection;
|
|
uniform vec2 screenSize;
|
|
uniform vec3 clipBounds[2];
|
|
uniform float highlightScale, pixelRatio;
|
|
uniform vec4 highlightId;
|
|
|
|
varying vec4 interpColor;
|
|
varying vec4 pickId;
|
|
varying vec3 dataCoordinate;
|
|
|
|
void main() {
|
|
if (outOfRange(clipBounds[0], clipBounds[1], position)) {
|
|
|
|
gl_Position = vec4(0,0,0,0);
|
|
} else {
|
|
float scale = pixelRatio;
|
|
if(distance(highlightId.bgr, id.bgr) < 0.001) {
|
|
scale *= highlightScale;
|
|
}
|
|
|
|
vec4 worldPosition = model * vec4(position, 1.0);
|
|
vec4 viewPosition = view * worldPosition;
|
|
vec4 clipPosition = projection * viewPosition;
|
|
clipPosition /= clipPosition.w;
|
|
|
|
gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);
|
|
interpColor = color;
|
|
pickId = id;
|
|
dataCoordinate = position;
|
|
}
|
|
}`]),c=l([`precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
bool outOfRange(float a, float b, float p) {
|
|
return ((p > max(a, b)) ||
|
|
(p < min(a, b)));
|
|
}
|
|
|
|
bool outOfRange(vec2 a, vec2 b, vec2 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y));
|
|
}
|
|
|
|
bool outOfRange(vec3 a, vec3 b, vec3 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y) ||
|
|
outOfRange(a.z, b.z, p.z));
|
|
}
|
|
|
|
bool outOfRange(vec4 a, vec4 b, vec4 p) {
|
|
return outOfRange(a.xyz, b.xyz, p.xyz);
|
|
}
|
|
|
|
attribute vec3 position;
|
|
attribute vec4 color;
|
|
attribute vec2 glyph;
|
|
attribute vec4 id;
|
|
|
|
uniform float highlightScale;
|
|
uniform vec4 highlightId;
|
|
uniform vec3 axes[2];
|
|
uniform mat4 model, view, projection;
|
|
uniform vec2 screenSize;
|
|
uniform vec3 clipBounds[2];
|
|
uniform float scale, pixelRatio;
|
|
|
|
varying vec4 interpColor;
|
|
varying vec4 pickId;
|
|
varying vec3 dataCoordinate;
|
|
|
|
void main() {
|
|
if (outOfRange(clipBounds[0], clipBounds[1], position)) {
|
|
|
|
gl_Position = vec4(0,0,0,0);
|
|
} else {
|
|
float lscale = pixelRatio * scale;
|
|
if(distance(highlightId, id) < 0.0001) {
|
|
lscale *= highlightScale;
|
|
}
|
|
|
|
vec4 clipCenter = projection * (view * (model * vec4(position, 1)));
|
|
vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;
|
|
vec4 clipPosition = projection * (view * (model * vec4(dataPosition, 1)));
|
|
|
|
gl_Position = clipPosition;
|
|
interpColor = color;
|
|
pickId = id;
|
|
dataCoordinate = dataPosition;
|
|
}
|
|
}
|
|
`]),h=l([`precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
bool outOfRange(float a, float b, float p) {
|
|
return ((p > max(a, b)) ||
|
|
(p < min(a, b)));
|
|
}
|
|
|
|
bool outOfRange(vec2 a, vec2 b, vec2 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y));
|
|
}
|
|
|
|
bool outOfRange(vec3 a, vec3 b, vec3 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y) ||
|
|
outOfRange(a.z, b.z, p.z));
|
|
}
|
|
|
|
bool outOfRange(vec4 a, vec4 b, vec4 p) {
|
|
return outOfRange(a.xyz, b.xyz, p.xyz);
|
|
}
|
|
|
|
uniform vec3 fragClipBounds[2];
|
|
uniform float opacity;
|
|
|
|
varying vec4 interpColor;
|
|
varying vec3 dataCoordinate;
|
|
|
|
void main() {
|
|
if (
|
|
outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||
|
|
interpColor.a * opacity == 0.
|
|
) discard;
|
|
gl_FragColor = interpColor * opacity;
|
|
}
|
|
`]),d=l([`precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
bool outOfRange(float a, float b, float p) {
|
|
return ((p > max(a, b)) ||
|
|
(p < min(a, b)));
|
|
}
|
|
|
|
bool outOfRange(vec2 a, vec2 b, vec2 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y));
|
|
}
|
|
|
|
bool outOfRange(vec3 a, vec3 b, vec3 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y) ||
|
|
outOfRange(a.z, b.z, p.z));
|
|
}
|
|
|
|
bool outOfRange(vec4 a, vec4 b, vec4 p) {
|
|
return outOfRange(a.xyz, b.xyz, p.xyz);
|
|
}
|
|
|
|
uniform vec3 fragClipBounds[2];
|
|
uniform float pickGroup;
|
|
|
|
varying vec4 pickId;
|
|
varying vec3 dataCoordinate;
|
|
|
|
void main() {
|
|
if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;
|
|
|
|
gl_FragColor = vec4(pickGroup, pickId.bgr);
|
|
}`]),v=[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"glyph",type:"vec2"},{name:"id",type:"vec4"}],m={vertex:u,fragment:h,attributes:v},b={vertex:f,fragment:h,attributes:v},g={vertex:c,fragment:h,attributes:v},_={vertex:u,fragment:d,attributes:v},T={vertex:f,fragment:d,attributes:v},w={vertex:c,fragment:d,attributes:v};function k(x,M){var A=s(x,M),p=A.attributes;return p.position.location=0,p.color.location=1,p.glyph.location=2,p.id.location=3,A}a.createPerspective=function(x){return k(x,m)},a.createOrtho=function(x){return k(x,b)},a.createProject=function(x){return k(x,g)},a.createPickPerspective=function(x){return k(x,_)},a.createPickOrtho=function(x){return k(x,T)},a.createPickProject=function(x){return k(x,w)}},8418:function(i,a,o){"use strict";var s=o(5219),l=o(2762),u=o(8116),f=o(1888),c=o(6760),h=o(1283),d=o(9366),v=o(5964),m=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],b=ArrayBuffer,g=DataView;function _($){return b.isView($)&&!($ instanceof g)}function T($){return Array.isArray($)||_($)}i.exports=K;function w($,oe){var te=$[0],V=$[1],ne=$[2],W=$[3];return $[0]=oe[0]*te+oe[4]*V+oe[8]*ne+oe[12]*W,$[1]=oe[1]*te+oe[5]*V+oe[9]*ne+oe[13]*W,$[2]=oe[2]*te+oe[6]*V+oe[10]*ne+oe[14]*W,$[3]=oe[3]*te+oe[7]*V+oe[11]*ne+oe[15]*W,$}function k($,oe,te,V){return w(V,V,te),w(V,V,oe),w(V,V,$)}function x($,oe){this.index=$,this.dataCoordinate=this.position=oe}function M($){return $===!0||$>1?1:$}function A($,oe,te,V,ne,W,fe,ge,Ce,Ne,pe,me){this.gl=$,this.pixelRatio=1,this.shader=oe,this.orthoShader=te,this.projectShader=V,this.pointBuffer=ne,this.colorBuffer=W,this.glyphBuffer=fe,this.idBuffer=ge,this.vao=Ce,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[.6666666666666666,.6666666666666666,.6666666666666666],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=Ne,this.pickOrthoShader=pe,this.pickProjectShader=me,this.points=[],this._selectResult=new x(0,[0,0,0]),this.useOrtho=!0,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.axesProject=[!0,!0,!0],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.highlightId=[1,1,1,1],this.highlightScale=2,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.dirty=!0}var p=A.prototype;p.pickSlots=1,p.setPickBase=function($){this.pickId=$},p.isTransparent=function(){if(this.hasAlpha)return!0;for(var $=0;$<3;++$)if(this.axesProject[$]&&this.projectHasAlpha)return!0;return!1},p.isOpaque=function(){if(!this.hasAlpha)return!0;for(var $=0;$<3;++$)if(this.axesProject[$]&&!this.projectHasAlpha)return!0;return!1};var S=[0,0],y=[0,0,0],E=[0,0,0],C=[0,0,0,1],L=[0,0,0,1],R=m.slice(),I=[0,0,0],P=[[0,0,0],[0,0,0]];function D($){return $[0]=$[1]=$[2]=0,$}function q($,oe){return $[0]=oe[0],$[1]=oe[1],$[2]=oe[2],$[3]=1,$}function N($,oe,te,V){return $[0]=oe[0],$[1]=oe[1],$[2]=oe[2],$[te]=V,$}function U($){for(var oe=P,te=0;te<2;++te)for(var V=0;V<3;++V)oe[te][V]=Math.max(Math.min($[te][V],1e8),-1e8);return oe}function G($,oe,te,V){var ne=oe.axesProject,W=oe.gl,fe=$.uniforms,ge=te.model||m,Ce=te.view||m,Ne=te.projection||m,pe=oe.axesBounds,me=U(oe.clipBounds),Ie;oe.axes&&oe.axes.lastCubeProps?Ie=oe.axes.lastCubeProps.axis:Ie=[1,1,1],S[0]=2/W.drawingBufferWidth,S[1]=2/W.drawingBufferHeight,$.bind(),fe.view=Ce,fe.projection=Ne,fe.screenSize=S,fe.highlightId=oe.highlightId,fe.highlightScale=oe.highlightScale,fe.clipBounds=me,fe.pickGroup=oe.pickId/255,fe.pixelRatio=V;for(var Re=0;Re<3;++Re)if(ne[Re]){fe.scale=oe.projectScale[Re],fe.opacity=oe.projectOpacity[Re];for(var ze=R,Be=0;Be<16;++Be)ze[Be]=0;for(var Be=0;Be<4;++Be)ze[5*Be]=1;ze[5*Re]=0,Ie[Re]<0?ze[12+Re]=pe[0][Re]:ze[12+Re]=pe[1][Re],c(ze,ge,ze),fe.model=ze;var tt=(Re+1)%3,rt=(Re+2)%3,ce=D(y),Ee=D(E);ce[tt]=1,Ee[rt]=1;var Ae=k(Ne,Ce,ge,q(C,ce)),Pe=k(Ne,Ce,ge,q(L,Ee));if(Math.abs(Ae[1])>Math.abs(Pe[1])){var He=Ae;Ae=Pe,Pe=He,He=ce,ce=Ee,Ee=He;var Fe=tt;tt=rt,rt=Fe}Ae[0]<0&&(ce[tt]=-1),Pe[1]>0&&(Ee[rt]=-1);for(var ke=0,Ue=0,Be=0;Be<4;++Be)ke+=Math.pow(ge[4*tt+Be],2),Ue+=Math.pow(ge[4*rt+Be],2);ce[tt]/=Math.sqrt(ke),Ee[rt]/=Math.sqrt(Ue),fe.axes[0]=ce,fe.axes[1]=Ee,fe.fragClipBounds[0]=N(I,me[0],Re,-1e8),fe.fragClipBounds[1]=N(I,me[1],Re,1e8),oe.vao.bind(),oe.vao.draw(W.TRIANGLES,oe.vertexCount),oe.lineWidth>0&&(W.lineWidth(oe.lineWidth*V),oe.vao.draw(W.LINES,oe.lineVertexCount,oe.vertexCount)),oe.vao.unbind()}}var ee=[-1e8,-1e8,-1e8],Q=[1e8,1e8,1e8],j=[ee,Q];function O($,oe,te,V,ne,W,fe){var ge=te.gl;if((W===te.projectHasAlpha||fe)&&G(oe,te,V,ne),W===te.hasAlpha||fe){$.bind();var Ce=$.uniforms;Ce.model=V.model||m,Ce.view=V.view||m,Ce.projection=V.projection||m,S[0]=2/ge.drawingBufferWidth,S[1]=2/ge.drawingBufferHeight,Ce.screenSize=S,Ce.highlightId=te.highlightId,Ce.highlightScale=te.highlightScale,Ce.fragClipBounds=j,Ce.clipBounds=te.axes.bounds,Ce.opacity=te.opacity,Ce.pickGroup=te.pickId/255,Ce.pixelRatio=ne,te.vao.bind(),te.vao.draw(ge.TRIANGLES,te.vertexCount),te.lineWidth>0&&(ge.lineWidth(te.lineWidth*ne),te.vao.draw(ge.LINES,te.lineVertexCount,te.vertexCount)),te.vao.unbind()}}p.draw=function($){var oe=this.useOrtho?this.orthoShader:this.shader;O(oe,this.projectShader,this,$,this.pixelRatio,!1,!1)},p.drawTransparent=function($){var oe=this.useOrtho?this.orthoShader:this.shader;O(oe,this.projectShader,this,$,this.pixelRatio,!0,!1)},p.drawPick=function($){var oe=this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader;O(oe,this.pickProjectShader,this,$,1,!0,!0)},p.pick=function($){if(!$||$.id!==this.pickId)return null;var oe=$.value[2]+($.value[1]<<8)+($.value[0]<<16);if(oe>=this.pointCount||oe<0)return null;var te=this.points[oe],V=this._selectResult;V.index=oe;for(var ne=0;ne<3;++ne)V.position[ne]=V.dataCoordinate[ne]=te[ne];return V},p.highlight=function($){if(!$)this.highlightId=[1,1,1,1];else{var oe=$.index,te=oe&255,V=oe>>8&255,ne=oe>>16&255;this.highlightId=[te/255,V/255,ne/255,0]}};function Z($,oe,te,V){var ne;T($)?oe<$.length?ne=$[oe]:ne=void 0:ne=$,ne=v(ne);var W=!0;s(ne)&&(ne="\u25BC",W=!1),te||(te={});var fe=te.family;T(fe)&&(fe=fe[oe]),fe||(fe="normal");var ge=te.weight;T(ge)&&(ge=ge[oe]),ge||(ge="normal");var Ce=te.style;T(Ce)&&(Ce=Ce[oe]),Ce||(Ce="normal");var Ne=te.variant;T(Ne)&&(Ne=Ne[oe]),Ne||(Ne="normal");var pe=d(ne,{family:fe,weight:ge,style:Ce,variant:Ne},V),pe=d(ne,te,V);return{mesh:pe[0],lines:pe[1],bounds:pe[2],visible:W}}p.update=function($){if($=$||{},"perspective"in $&&(this.useOrtho=!$.perspective),"orthographic"in $&&(this.useOrtho=!!$.orthographic),"lineWidth"in $&&(this.lineWidth=$.lineWidth),"project"in $)if(T($.project))this.axesProject=$.project;else{var oe=!!$.project;this.axesProject=[oe,oe,oe]}if("projectScale"in $)if(T($.projectScale))this.projectScale=$.projectScale.slice();else{var te=+$.projectScale;this.projectScale=[te,te,te]}if(this.projectHasAlpha=!1,"projectOpacity"in $){if(T($.projectOpacity))this.projectOpacity=$.projectOpacity.slice();else{var te=+$.projectOpacity;this.projectOpacity=[te,te,te]}for(var V=0;V<3;++V)this.projectOpacity[V]=M(this.projectOpacity[V]),this.projectOpacity[V]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,"opacity"in $&&(this.opacity=M($.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var ne=$.position,W={family:$.font||"normal",style:$.fontStyle||"normal",weight:$.fontWeight||"normal",variant:$.fontVariant||"normal"},fe=$.alignment||[0,0],ge,Ce;if(fe.length===2)ge=fe[0],Ce=fe[1];else{ge=[],Ce=[];for(var V=0;V<fe.length;++V)ge[V]=fe[V][0],Ce[V]=fe[V][1]}var Ne=[1/0,1/0,1/0],pe=[-1/0,-1/0,-1/0],me=$.glyph,Ie=$.color,Re=$.size,ze=$.angle,Be=$.lineColor,tt=-1,rt=0,ce=0,Ee=0;if(ne.length){Ee=ne.length;e:for(var V=0;V<Ee;++V){for(var Ae=ne[V],Pe=0;Pe<3;++Pe)if(isNaN(Ae[Pe])||!isFinite(Ae[Pe]))continue e;var He=Z(me,V,W,this.pixelRatio),Fe=He.mesh,ke=He.lines,Ue=He.bounds;rt+=Fe.cells.length*3,ce+=ke.edges.length*2}}var Ge=rt+ce,lt=f.mallocFloat(3*Ge),it=f.mallocFloat(4*Ge),wt=f.mallocFloat(2*Ge),_t=f.mallocUint32(Ge);if(Ge>0){var Tt=0,nt=rt,bt=[0,0,0,1],At=[0,0,0,1],Ye=T(Ie)&&T(Ie[0]),je=T(Be)&&T(Be[0]);e:for(var V=0;V<Ee;++V){tt+=1;for(var Ae=ne[V],Pe=0;Pe<3;++Pe){if(isNaN(Ae[Pe])||!isFinite(Ae[Pe]))continue e;pe[Pe]=Math.max(pe[Pe],Ae[Pe]),Ne[Pe]=Math.min(Ne[Pe],Ae[Pe])}var He=Z(me,V,W,this.pixelRatio),Fe=He.mesh,ke=He.lines,Ue=He.bounds,$e=He.visible;if(!$e)bt=[1,1,1,0];else if(T(Ie)){var ve;if(Ye?V<Ie.length?ve=Ie[V]:ve=[0,0,0,0]:ve=Ie,ve.length===3){for(var Pe=0;Pe<3;++Pe)bt[Pe]=ve[Pe];bt[3]=1}else if(ve.length===4){for(var Pe=0;Pe<4;++Pe)bt[Pe]=ve[Pe];!this.hasAlpha&&ve[3]<1&&(this.hasAlpha=!0)}}else bt[0]=bt[1]=bt[2]=0,bt[3]=1;if(!$e)At=[1,1,1,0];else if(T(Be)){var ve;if(je?V<Be.length?ve=Be[V]:ve=[0,0,0,0]:ve=Be,ve.length===3){for(var Pe=0;Pe<3;++Pe)At[Pe]=ve[Pe];At[Pe]=1}else if(ve.length===4){for(var Pe=0;Pe<4;++Pe)At[Pe]=ve[Pe];!this.hasAlpha&&ve[3]<1&&(this.hasAlpha=!0)}}else At[0]=At[1]=At[2]=0,At[3]=1;var Y=.5;$e?T(Re)?V<Re.length?Y=+Re[V]:Y=12:Re?Y=+Re:this.useOrtho&&(Y=12):Y=0;var ie=0;T(ze)?V<ze.length?ie=+ze[V]:ie=0:ze&&(ie=+ze);for(var Te=Math.cos(ie),Ve=Math.sin(ie),Ae=ne[V],Pe=0;Pe<3;++Pe)pe[Pe]=Math.max(pe[Pe],Ae[Pe]),Ne[Pe]=Math.min(Ne[Pe],Ae[Pe]);var at=ge,ft=Ce,at=0;T(ge)?V<ge.length?at=ge[V]:at=0:ge&&(at=ge);var ft=0;T(Ce)?V<Ce.length?ft=Ce[V]:ft=0:Ce&&(ft=Ce),at*=at>0?1-Ue[0][0]:at<0?1+Ue[1][0]:1,ft*=ft>0?1-Ue[0][1]:ft<0?1+Ue[1][1]:1;for(var Ht=[at,ft],_r=Fe.cells||[],br=Fe.positions||[],Pe=0;Pe<_r.length;++Pe)for(var Xt=_r[Pe],St=0;St<3;++St){for(var Vt=0;Vt<3;++Vt)lt[3*Tt+Vt]=Ae[Vt];for(var Vt=0;Vt<4;++Vt)it[4*Tt+Vt]=bt[Vt];_t[Tt]=tt;var er=br[Xt[St]];wt[2*Tt]=Y*(Te*er[0]-Ve*er[1]+Ht[0]),wt[2*Tt+1]=Y*(Ve*er[0]+Te*er[1]+Ht[1]),Tt+=1}for(var _r=ke.edges,br=ke.positions,Pe=0;Pe<_r.length;++Pe)for(var Xt=_r[Pe],St=0;St<2;++St){for(var Vt=0;Vt<3;++Vt)lt[3*nt+Vt]=Ae[Vt];for(var Vt=0;Vt<4;++Vt)it[4*nt+Vt]=At[Vt];_t[nt]=tt;var er=br[Xt[St]];wt[2*nt]=Y*(Te*er[0]-Ve*er[1]+Ht[0]),wt[2*nt+1]=Y*(Ve*er[0]+Te*er[1]+Ht[1]),nt+=1}}}this.bounds=[Ne,pe],this.points=ne,this.pointCount=ne.length,this.vertexCount=rt,this.lineVertexCount=ce,this.pointBuffer.update(lt),this.colorBuffer.update(it),this.glyphBuffer.update(wt),this.idBuffer.update(_t),f.free(lt),f.free(it),f.free(wt),f.free(_t)},p.dispose=function(){this.shader.dispose(),this.orthoShader.dispose(),this.pickPerspectiveShader.dispose(),this.pickOrthoShader.dispose(),this.vao.dispose(),this.pointBuffer.dispose(),this.colorBuffer.dispose(),this.glyphBuffer.dispose(),this.idBuffer.dispose()};function K($){var oe=$.gl,te=h.createPerspective(oe),V=h.createOrtho(oe),ne=h.createProject(oe),W=h.createPickPerspective(oe),fe=h.createPickOrtho(oe),ge=h.createPickProject(oe),Ce=l(oe),Ne=l(oe),pe=l(oe),me=l(oe),Ie=u(oe,[{buffer:Ce,size:3,type:oe.FLOAT},{buffer:Ne,size:4,type:oe.FLOAT},{buffer:pe,size:2,type:oe.FLOAT},{buffer:me,size:4,type:oe.UNSIGNED_BYTE,normalized:!0}]),Re=new A(oe,te,V,ne,Ce,Ne,pe,me,Ie,W,fe,ge);return Re.update($),Re}},4298:function(i,a,o){"use strict";var s=o(3236);a.boxVertex=s([`precision mediump float;
|
|
#define GLSLIFY 1
|
|
|
|
attribute vec2 vertex;
|
|
|
|
uniform vec2 cornerA, cornerB;
|
|
|
|
void main() {
|
|
gl_Position = vec4(mix(cornerA, cornerB, vertex), 0, 1);
|
|
}
|
|
`]),a.boxFragment=s([`precision mediump float;
|
|
#define GLSLIFY 1
|
|
|
|
uniform vec4 color;
|
|
|
|
void main() {
|
|
gl_FragColor = color;
|
|
}
|
|
`])},3161:function(i,a,o){"use strict";var s=o(9405),l=o(2762),u=o(4298);i.exports=h;function f(d,v,m){this.plot=d,this.boxBuffer=v,this.boxShader=m,this.enabled=!0,this.selectBox=[1/0,1/0,-1/0,-1/0],this.borderColor=[0,0,0,1],this.innerFill=!1,this.innerColor=[0,0,0,.25],this.outerFill=!0,this.outerColor=[0,0,0,.5],this.borderWidth=10}var c=f.prototype;c.draw=function(){if(this.enabled){var d=this.plot,v=this.selectBox,m=this.borderWidth,b=this.innerFill,g=this.innerColor,_=this.outerFill,T=this.outerColor,w=this.borderColor,k=d.box,x=d.screenBox,M=d.dataBox,A=d.viewBox,p=d.pixelRatio,S=(v[0]-M[0])*(A[2]-A[0])/(M[2]-M[0])+A[0],y=(v[1]-M[1])*(A[3]-A[1])/(M[3]-M[1])+A[1],E=(v[2]-M[0])*(A[2]-A[0])/(M[2]-M[0])+A[0],C=(v[3]-M[1])*(A[3]-A[1])/(M[3]-M[1])+A[1];if(S=Math.max(S,A[0]),y=Math.max(y,A[1]),E=Math.min(E,A[2]),C=Math.min(C,A[3]),!(E<S||C<y)){k.bind();var L=x[2]-x[0],R=x[3]-x[1];if(this.outerFill&&(k.drawBox(0,0,L,y,T),k.drawBox(0,y,S,C,T),k.drawBox(0,C,L,R,T),k.drawBox(E,y,L,C,T)),this.innerFill&&k.drawBox(S,y,E,C,g),m>0){var I=m*p;k.drawBox(S-I,y-I,E+I,y+I,w),k.drawBox(S-I,C-I,E+I,C+I,w),k.drawBox(S-I,y-I,S+I,C+I,w),k.drawBox(E-I,y-I,E+I,C+I,w)}}}},c.update=function(d){d=d||{},this.innerFill=!!d.innerFill,this.outerFill=!!d.outerFill,this.innerColor=(d.innerColor||[0,0,0,.5]).slice(),this.outerColor=(d.outerColor||[0,0,0,.5]).slice(),this.borderColor=(d.borderColor||[0,0,0,1]).slice(),this.borderWidth=d.borderWidth||0,this.selectBox=(d.selectBox||this.selectBox).slice()},c.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)};function h(d,v){var m=d.gl,b=l(m,[0,0,0,1,1,0,1,1]),g=s(m,u.boxVertex,u.boxFragment),_=new f(d,b,g);return _.update(v),d.addOverlay(_),_}},3589:function(i,a,o){"use strict";i.exports=m;var s=o(2260),l=o(1888),u=o(9618),f=o(8828).nextPow2,c=function(b,g,_){for(var T=1e8,w=-1,k=-1,x=b.shape[0],M=b.shape[1],A=0;A<x;A++)for(var p=0;p<M;p++){var S=b.get(A,p,0),y=b.get(A,p,1),E=b.get(A,p,2),C=b.get(A,p,3);if(S<255||y<255||E<255||C<255){var L=g-A,R=_-p,I=L*L+R*R;I<T&&(T=I,w=A,k=p)}}return[w,k,T]};function h(b,g,_,T,w){this.coord=[b,g],this.id=_,this.value=T,this.distance=w}function d(b,g,_){this.gl=b,this.fbo=g,this.buffer=_,this._readTimeout=null;var T=this;this._readCallback=function(){T.gl&&(g.bind(),b.readPixels(0,0,g.shape[0],g.shape[1],b.RGBA,b.UNSIGNED_BYTE,T.buffer),T._readTimeout=null)}}var v=d.prototype;Object.defineProperty(v,"shape",{get:function(){return this.gl?this.fbo.shape.slice():[0,0]},set:function(b){if(this.gl){this.fbo.shape=b;var g=this.fbo.shape[0],_=this.fbo.shape[1];if(_*g*4>this.buffer.length){l.free(this.buffer);for(var T=this.buffer=l.mallocUint8(f(_*g*4)),w=0;w<_*g*4;++w)T[w]=255}return b}}}),v.begin=function(){var b=this.gl,g=this.shape;b&&(this.fbo.bind(),b.clearColor(1,1,1,1),b.clear(b.COLOR_BUFFER_BIT|b.DEPTH_BUFFER_BIT))},v.end=function(){var b=this.gl;b&&(b.bindFramebuffer(b.FRAMEBUFFER,null),this._readTimeout||clearTimeout(this._readTimeout),this._readTimeout=setTimeout(this._readCallback,1))},v.query=function(b,g,_){if(!this.gl)return null;var T=this.fbo.shape.slice();b=b|0,g=g|0,typeof _!="number"&&(_=1);var w=Math.min(Math.max(b-_,0),T[0])|0,k=Math.min(Math.max(b+_,0),T[0])|0,x=Math.min(Math.max(g-_,0),T[1])|0,M=Math.min(Math.max(g+_,0),T[1])|0;if(k<=w||M<=x)return null;var A=[k-w,M-x],p=u(this.buffer,[A[0],A[1],4],[4,T[0]*4,1],4*(w+T[0]*x)),S=c(p.hi(A[0],A[1],1),_,_),y=S[0],E=S[1];if(y<0||Math.pow(this.radius,2)<S[2])return null;var C=p.get(y,E,0),L=p.get(y,E,1),R=p.get(y,E,2),I=p.get(y,E,3);return new h(y+w|0,E+x|0,C,[L,R,I],Math.sqrt(S[2]))},v.dispose=function(){this.gl&&(this.fbo.dispose(),l.free(this.buffer),this.gl=null,this._readTimeout&&clearTimeout(this._readTimeout))};function m(b,g){var _=g[0],T=g[1],w={},k=s(b,_,T,w),x=l.mallocUint8(_*T*4);return new d(b,k,x)}},9405:function(i,a,o){"use strict";var s=o(3327),l=o(8731),u=o(216),f=o(5091),c=o(2145),h=o(8866);function d(g){this.gl=g,this.gl.lastAttribCount=0,this._vref=this._fref=this._relink=this.vertShader=this.fragShader=this.program=this.attributes=this.uniforms=this.types=null}var v=d.prototype;v.bind=function(){this.program||this._relink();var g,_=this.gl.getProgramParameter(this.program,this.gl.ACTIVE_ATTRIBUTES),T=this.gl.lastAttribCount;if(_>T)for(g=T;g<_;g++)this.gl.enableVertexAttribArray(g);else if(T>_)for(g=_;g<T;g++)this.gl.disableVertexAttribArray(g);this.gl.lastAttribCount=_,this.gl.useProgram(this.program)},v.dispose=function(){for(var g=this.gl.lastAttribCount,_=0;_<g;_++)this.gl.disableVertexAttribArray(_);this.gl.lastAttribCount=0,this._fref&&this._fref.dispose(),this._vref&&this._vref.dispose(),this.attributes=this.types=this.vertShader=this.fragShader=this.program=this._relink=this._fref=this._vref=null};function m(g,_){return g.name<_.name?-1:1}v.update=function(g,_,T,w){if(!_||arguments.length===1){var k=g;g=k.vertex,_=k.fragment,T=k.uniforms,w=k.attributes}var x=this,M=x.gl,A=x._vref;x._vref=f.shader(M,M.VERTEX_SHADER,g),A&&A.dispose(),x.vertShader=x._vref.shader;var p=this._fref;if(x._fref=f.shader(M,M.FRAGMENT_SHADER,_),p&&p.dispose(),x.fragShader=x._fref.shader,!T||!w){var S=M.createProgram();if(M.attachShader(S,x.fragShader),M.attachShader(S,x.vertShader),M.linkProgram(S),!M.getProgramParameter(S,M.LINK_STATUS)){var y=M.getProgramInfoLog(S);throw new h(y,"Error linking program:"+y)}T=T||c.uniforms(M,S),w=w||c.attributes(M,S),M.deleteProgram(S)}w=w.slice(),w.sort(m);var E=[],C=[],L=[],R;for(R=0;R<w.length;++R){var I=w[R];if(I.type.indexOf("mat")>=0){for(var P=I.type.charAt(I.type.length-1)|0,D=new Array(P),q=0;q<P;++q)D[q]=L.length,C.push(I.name+"["+q+"]"),typeof I.location=="number"?L.push(I.location+q):Array.isArray(I.location)&&I.location.length===P&&typeof I.location[q]=="number"?L.push(I.location[q]|0):L.push(-1);E.push({name:I.name,type:I.type,locations:D})}else E.push({name:I.name,type:I.type,locations:[L.length]}),C.push(I.name),typeof I.location=="number"?L.push(I.location|0):L.push(-1)}var N=0;for(R=0;R<L.length;++R)if(L[R]<0){for(;L.indexOf(N)>=0;)N+=1;L[R]=N}var U=new Array(T.length);function G(){x.program=f.program(M,x._vref,x._fref,C,L);for(var ee=0;ee<T.length;++ee)U[ee]=M.getUniformLocation(x.program,T[ee].name)}G(),x._relink=G,x.types={uniforms:u(T),attributes:u(w)},x.attributes=l(M,x,E,L),Object.defineProperty(x,"uniforms",s(M,x,T,U))};function b(g,_,T,w,k){var x=new d(g);return x.update(_,T,w,k),x}i.exports=b},8866:function(i){function a(o,s,l){this.shortMessage=s||"",this.longMessage=l||"",this.rawError=o||"",this.message="gl-shader: "+(s||o||"")+(l?`
|
|
`+l:""),this.stack=new Error().stack}a.prototype=new Error,a.prototype.name="GLError",a.prototype.constructor=a,i.exports=a},8731:function(i,a,o){"use strict";i.exports=d;var s=o(8866);function l(v,m,b,g,_,T){this._gl=v,this._wrapper=m,this._index=b,this._locations=g,this._dimension=_,this._constFunc=T}var u=l.prototype;u.pointer=function(m,b,g,_){var T=this,w=T._gl,k=T._locations[T._index];w.vertexAttribPointer(k,T._dimension,m||w.FLOAT,!!b,g||0,_||0),w.enableVertexAttribArray(k)},u.set=function(v,m,b,g){return this._constFunc(this._locations[this._index],v,m,b,g)},Object.defineProperty(u,"location",{get:function(){return this._locations[this._index]},set:function(v){return v!==this._locations[this._index]&&(this._locations[this._index]=v|0,this._wrapper.program=null),v|0}});var f=[function(v,m,b){return b.length===void 0?v.vertexAttrib1f(m,b):v.vertexAttrib1fv(m,b)},function(v,m,b,g){return b.length===void 0?v.vertexAttrib2f(m,b,g):v.vertexAttrib2fv(m,b)},function(v,m,b,g,_){return b.length===void 0?v.vertexAttrib3f(m,b,g,_):v.vertexAttrib3fv(m,b)},function(v,m,b,g,_,T){return b.length===void 0?v.vertexAttrib4f(m,b,g,_,T):v.vertexAttrib4fv(m,b)}];function c(v,m,b,g,_,T,w){var k=f[_],x=new l(v,m,b,g,_,k);Object.defineProperty(T,w,{set:function(M){return v.disableVertexAttribArray(g[b]),k(v,g[b],M),M},get:function(){return x},enumerable:!0})}function h(v,m,b,g,_,T,w){for(var k=new Array(_),x=new Array(_),M=0;M<_;++M)c(v,m,b[M],g,_,k,M),x[M]=k[M];Object.defineProperty(k,"location",{set:function(S){if(Array.isArray(S))for(var y=0;y<_;++y)x[y].location=S[y];else for(var y=0;y<_;++y)x[y].location=S+y;return S},get:function(){for(var S=new Array(_),y=0;y<_;++y)S[y]=g[b[y]];return S},enumerable:!0}),k.pointer=function(S,y,E,C){S=S||v.FLOAT,y=!!y,E=E||_*_,C=C||0;for(var L=0;L<_;++L){var R=g[b[L]];v.vertexAttribPointer(R,_,S,y,E,C+L*_),v.enableVertexAttribArray(R)}};var A=new Array(_),p=v["vertexAttrib"+_+"fv"];Object.defineProperty(T,w,{set:function(S){for(var y=0;y<_;++y){var E=g[b[y]];if(v.disableVertexAttribArray(E),Array.isArray(S[0]))p.call(v,E,S[y]);else{for(var C=0;C<_;++C)A[C]=S[_*y+C];p.call(v,E,A)}}return S},get:function(){return k},enumerable:!0})}function d(v,m,b,g){for(var _={},T=0,w=b.length;T<w;++T){var k=b[T],x=k.name,M=k.type,A=k.locations;switch(M){case"bool":case"int":case"float":c(v,m,A[0],g,1,_,x);break;default:if(M.indexOf("vec")>=0){var p=M.charCodeAt(M.length-1)-48;if(p<2||p>4)throw new s("","Invalid data type for attribute "+x+": "+M);c(v,m,A[0],g,p,_,x)}else if(M.indexOf("mat")>=0){var p=M.charCodeAt(M.length-1)-48;if(p<2||p>4)throw new s("","Invalid data type for attribute "+x+": "+M);h(v,m,A,g,p,_,x)}else throw new s("","Unknown data type for attribute "+x+": "+M);break}}return _}},3327:function(i,a,o){"use strict";var s=o(216),l=o(8866);i.exports=c;function u(h){return function(){return h}}function f(h,d){for(var v=new Array(h),m=0;m<h;++m)v[m]=d;return v}function c(h,d,v,m){function b(M){return function(A,p,S){return A.getUniform(p.program,S[M])}}function g(M){return function(p){for(var S=_("",M),y=0;y<S.length;++y){var E=S[y],C=E[0],L=E[1];if(m[L]){var R=p;if(typeof C=="string"&&(C.indexOf(".")===0||C.indexOf("[")===0)){var I=C;if(C.indexOf(".")===0&&(I=C.slice(1)),I.indexOf("]")===I.length-1){var P=I.indexOf("["),D=I.slice(0,P),q=I.slice(P+1,I.length-1);R=D?p[D][q]:p[q]}else R=p[I]}var N=v[L].type,U;switch(N){case"bool":case"int":case"sampler2D":case"samplerCube":h.uniform1i(m[L],R);break;case"float":h.uniform1f(m[L],R);break;default:var G=N.indexOf("vec");if(0<=G&&G<=1&&N.length===4+G){if(U=N.charCodeAt(N.length-1)-48,U<2||U>4)throw new l("","Invalid data type");switch(N.charAt(0)){case"b":case"i":h["uniform"+U+"iv"](m[L],R);break;case"v":h["uniform"+U+"fv"](m[L],R);break;default:throw new l("","Unrecognized data type for vector "+name+": "+N)}}else if(N.indexOf("mat")===0&&N.length===4){if(U=N.charCodeAt(N.length-1)-48,U<2||U>4)throw new l("","Invalid uniform dimension type for matrix "+name+": "+N);h["uniformMatrix"+U+"fv"](m[L],!1,R);break}else throw new l("","Unknown uniform data type for "+name+": "+N)}}}}}function _(M,A){if(typeof A!="object")return[[M,A]];var p=[];for(var S in A){var y=A[S],E=M;parseInt(S)+""===S?E+="["+S+"]":E+="."+S,typeof y=="object"?p.push.apply(p,_(E,y)):p.push([E,y])}return p}function T(M){switch(M){case"bool":return!1;case"int":case"sampler2D":case"samplerCube":return 0;case"float":return 0;default:var A=M.indexOf("vec");if(0<=A&&A<=1&&M.length===4+A){var p=M.charCodeAt(M.length-1)-48;if(p<2||p>4)throw new l("","Invalid data type");return M.charAt(0)==="b"?f(p,!1):f(p,0)}else if(M.indexOf("mat")===0&&M.length===4){var p=M.charCodeAt(M.length-1)-48;if(p<2||p>4)throw new l("","Invalid uniform dimension type for matrix "+name+": "+M);return f(p*p,0)}else throw new l("","Unknown uniform data type for "+name+": "+M)}}function w(M,A,p){if(typeof p=="object"){var S=k(p);Object.defineProperty(M,A,{get:u(S),set:g(p),enumerable:!0,configurable:!1})}else m[p]?Object.defineProperty(M,A,{get:b(p),set:g(p),enumerable:!0,configurable:!1}):M[A]=T(v[p].type)}function k(M){var A;if(Array.isArray(M)){A=new Array(M.length);for(var p=0;p<M.length;++p)w(A,p,M[p])}else{A={};for(var S in M)w(A,S,M[S])}return A}var x=s(v,!0);return{get:u(k(x)),set:g(x),enumerable:!0,configurable:!0}}},216:function(i){"use strict";i.exports=a;function a(o,s){for(var l={},u=0;u<o.length;++u)for(var f=o[u].name,c=f.split("."),h=l,d=0;d<c.length;++d){var v=c[d].split("[");if(v.length>1){v[0]in h||(h[v[0]]=[]),h=h[v[0]];for(var m=1;m<v.length;++m){var b=parseInt(v[m]);m<v.length-1||d<c.length-1?(b in h||(m<v.length-1?h[b]=[]:h[b]={}),h=h[b]):s?h[b]=u:h[b]=o[u].type}}else d<c.length-1?(v[0]in h||(h[v[0]]={}),h=h[v[0]]):s?h[v[0]]=u:h[v[0]]=o[u].type}return l}},2145:function(i,a){"use strict";a.uniforms=u,a.attributes=f;var o={FLOAT:"float",FLOAT_VEC2:"vec2",FLOAT_VEC3:"vec3",FLOAT_VEC4:"vec4",INT:"int",INT_VEC2:"ivec2",INT_VEC3:"ivec3",INT_VEC4:"ivec4",BOOL:"bool",BOOL_VEC2:"bvec2",BOOL_VEC3:"bvec3",BOOL_VEC4:"bvec4",FLOAT_MAT2:"mat2",FLOAT_MAT3:"mat3",FLOAT_MAT4:"mat4",SAMPLER_2D:"sampler2D",SAMPLER_CUBE:"samplerCube"},s=null;function l(c,h){if(!s){var d=Object.keys(o);s={};for(var v=0;v<d.length;++v){var m=d[v];s[c[m]]=o[m]}}return s[h]}function u(c,h){for(var d=c.getProgramParameter(h,c.ACTIVE_UNIFORMS),v=[],m=0;m<d;++m){var b=c.getActiveUniform(h,m);if(b){var g=l(c,b.type);if(b.size>1)for(var _=0;_<b.size;++_)v.push({name:b.name.replace("[0]","["+_+"]"),type:g});else v.push({name:b.name,type:g})}}return v}function f(c,h){for(var d=c.getProgramParameter(h,c.ACTIVE_ATTRIBUTES),v=[],m=0;m<d;++m){var b=c.getActiveAttrib(h,m);b&&v.push({name:b.name,type:l(c,b.type)})}return v}},5091:function(i,a,o){"use strict";a.shader=_,a.program=T;var s=o(8866),l=o(2992),u=typeof WeakMap>"u"?o(606):WeakMap,f=new u,c=0;function h(w,k,x,M,A,p,S){this.id=w,this.src=k,this.type=x,this.shader=M,this.count=p,this.programs=[],this.cache=S}h.prototype.dispose=function(){if(--this.count===0){for(var w=this.cache,k=w.gl,x=this.programs,M=0,A=x.length;M<A;++M){var p=w.programs[x[M]];p&&(delete w.programs[M],k.deleteProgram(p))}k.deleteShader(this.shader),delete w.shaders[this.type===k.FRAGMENT_SHADER|0][this.src]}};function d(w){this.gl=w,this.shaders=[{},{}],this.programs={}}var v=d.prototype;function m(w,k,x){var M=w.createShader(k);if(w.shaderSource(M,x),w.compileShader(M),!w.getShaderParameter(M,w.COMPILE_STATUS)){var A=w.getShaderInfoLog(M);try{var p=l(A,x,k)}catch(S){throw console.warn("Failed to format compiler error: "+S),new s(A,`Error compiling shader:
|
|
`+A)}throw new s(A,p.short,p.long)}return M}v.getShaderReference=function(w,k){var x=this.gl,M=this.shaders[w===x.FRAGMENT_SHADER|0],A=M[k];if(!A||!x.isShader(A.shader)){var p=m(x,w,k);A=M[k]=new h(c++,k,w,p,[],1,this)}else A.count+=1;return A};function b(w,k,x,M,A){var p=w.createProgram();w.attachShader(p,k),w.attachShader(p,x);for(var S=0;S<M.length;++S)w.bindAttribLocation(p,A[S],M[S]);if(w.linkProgram(p),!w.getProgramParameter(p,w.LINK_STATUS)){var y=w.getProgramInfoLog(p);throw new s(y,"Error linking program: "+y)}return p}v.getProgram=function(w,k,x,M){var A=[w.id,k.id,x.join(":"),M.join(":")].join("@"),p=this.programs[A];return(!p||!this.gl.isProgram(p))&&(this.programs[A]=p=b(this.gl,w.shader,k.shader,x,M),w.programs.push(A),k.programs.push(A)),p};function g(w){var k=f.get(w);return k||(k=new d(w),f.set(w,k)),k}function _(w,k,x){return g(w).getShaderReference(k,x)}function T(w,k,x,M,A){return g(w).getProgram(k,x,M,A)}},4098:function(i){"use strict";i.exports=s;function a(l){this.plot=l,this.enable=[!0,!0,!1,!1],this.width=[1,1,1,1],this.color=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.center=[1/0,1/0]}var o=a.prototype;o.update=function(l){l=l||{},this.enable=(l.enable||[!0,!0,!1,!1]).slice(),this.width=(l.width||[1,1,1,1]).slice(),this.color=(l.color||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]).map(function(u){return u.slice()}),this.center=(l.center||[1/0,1/0]).slice(),this.plot.setOverlayDirty()},o.draw=function(){var l=this.enable,u=this.width,f=this.color,c=this.center,h=this.plot,d=h.line,v=h.dataBox,m=h.viewBox;if(d.bind(),v[0]<=c[0]&&c[0]<=v[2]&&v[1]<=c[1]&&c[1]<=v[3]){var b=m[0]+(c[0]-v[0])/(v[2]-v[0])*(m[2]-m[0]),g=m[1]+(c[1]-v[1])/(v[3]-v[1])*(m[3]-m[1]);l[0]&&d.drawLine(b,g,m[0],g,u[0],f[0]),l[1]&&d.drawLine(b,g,b,m[1],u[1],f[1]),l[2]&&d.drawLine(b,g,m[2],g,u[2],f[2]),l[3]&&d.drawLine(b,g,b,m[3],u[3],f[3])}},o.dispose=function(){this.plot.removeOverlay(this)};function s(l,u){var f=new a(l);return f.update(u),l.addOverlay(f),f}},1493:function(i,a,o){"use strict";var s=o(3236),l=o(9405),u=s([`precision mediump float;
|
|
#define GLSLIFY 1
|
|
|
|
attribute vec3 position, color;
|
|
attribute float weight;
|
|
|
|
uniform mat4 model, view, projection;
|
|
uniform vec3 coordinates[3];
|
|
uniform vec4 colors[3];
|
|
uniform vec2 screenShape;
|
|
uniform float lineWidth;
|
|
|
|
varying vec4 fragColor;
|
|
|
|
void main() {
|
|
vec3 vertexPosition = mix(coordinates[0],
|
|
mix(coordinates[2], coordinates[1], 0.5 * (position + 1.0)), abs(position));
|
|
|
|
vec4 clipPos = projection * (view * (model * vec4(vertexPosition, 1.0)));
|
|
vec2 clipOffset = (projection * (view * (model * vec4(color, 0.0)))).xy;
|
|
vec2 delta = weight * clipOffset * screenShape;
|
|
vec2 lineOffset = normalize(vec2(delta.y, -delta.x)) / screenShape;
|
|
|
|
gl_Position = vec4(clipPos.xy + clipPos.w * 0.5 * lineWidth * lineOffset, clipPos.z, clipPos.w);
|
|
fragColor = color.x * colors[0] + color.y * colors[1] + color.z * colors[2];
|
|
}
|
|
`]),f=s([`precision mediump float;
|
|
#define GLSLIFY 1
|
|
|
|
varying vec4 fragColor;
|
|
|
|
void main() {
|
|
gl_FragColor = fragColor;
|
|
}`]);i.exports=function(c){return l(c,u,f,null,[{name:"position",type:"vec3"},{name:"color",type:"vec3"},{name:"weight",type:"float"}])}},4449:function(i,a,o){"use strict";var s=o(2762),l=o(8116),u=o(1493);i.exports=b;var f=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function c(g,_,T,w){this.gl=g,this.buffer=_,this.vao=T,this.shader=w,this.pixelRatio=1,this.bounds=[[-1e3,-1e3,-1e3],[1e3,1e3,1e3]],this.position=[0,0,0],this.lineWidth=[2,2,2],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.enabled=[!0,!0,!0],this.drawSides=[!0,!0,!0],this.axes=null}var h=c.prototype,d=[0,0,0],v=[0,0,0],m=[0,0];h.isTransparent=function(){return!1},h.drawTransparent=function(g){},h.draw=function(g){var _=this.gl,T=this.vao,w=this.shader;T.bind(),w.bind();var k=g.model||f,x=g.view||f,M=g.projection||f,A;this.axes&&(A=this.axes.lastCubeProps.axis);for(var p=d,S=v,y=0;y<3;++y)A&&A[y]<0?(p[y]=this.bounds[0][y],S[y]=this.bounds[1][y]):(p[y]=this.bounds[1][y],S[y]=this.bounds[0][y]);m[0]=_.drawingBufferWidth,m[1]=_.drawingBufferHeight,w.uniforms.model=k,w.uniforms.view=x,w.uniforms.projection=M,w.uniforms.coordinates=[this.position,p,S],w.uniforms.colors=this.colors,w.uniforms.screenShape=m;for(var y=0;y<3;++y)w.uniforms.lineWidth=this.lineWidth[y]*this.pixelRatio,this.enabled[y]&&(T.draw(_.TRIANGLES,6,6*y),this.drawSides[y]&&T.draw(_.TRIANGLES,12,18+12*y));T.unbind()},h.update=function(g){g&&("bounds"in g&&(this.bounds=g.bounds),"position"in g&&(this.position=g.position),"lineWidth"in g&&(this.lineWidth=g.lineWidth),"colors"in g&&(this.colors=g.colors),"enabled"in g&&(this.enabled=g.enabled),"drawSides"in g&&(this.drawSides=g.drawSides))},h.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()};function b(g,_){var T=[];function w(p,S,y,E,C,L){var R=[p,S,y,0,0,0,1];R[E+3]=1,R[E]=C,T.push.apply(T,R),R[6]=-1,T.push.apply(T,R),R[E]=L,T.push.apply(T,R),T.push.apply(T,R),R[6]=1,T.push.apply(T,R),R[E]=C,T.push.apply(T,R)}w(0,0,0,0,0,1),w(0,0,0,1,0,1),w(0,0,0,2,0,1),w(1,0,0,1,-1,1),w(1,0,0,2,-1,1),w(0,1,0,0,-1,1),w(0,1,0,2,-1,1),w(0,0,1,0,-1,1),w(0,0,1,1,-1,1);var k=s(g,T),x=l(g,[{type:g.FLOAT,buffer:k,size:3,offset:0,stride:28},{type:g.FLOAT,buffer:k,size:3,offset:12,stride:28},{type:g.FLOAT,buffer:k,size:1,offset:24,stride:28}]),M=u(g);M.attributes.position.location=0,M.attributes.color.location=1,M.attributes.weight.location=2;var A=new c(g,k,x,M);return A.update(_),A}},6740:function(i,a,o){var s=o(3236),l=s([`precision highp float;
|
|
|
|
precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
vec3 getOrthogonalVector(vec3 v) {
|
|
// Return up-vector for only-z vector.
|
|
// Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).
|
|
// From the above if-statement we have ||a|| > 0 U ||b|| > 0.
|
|
// Assign z = 0, x = -b, y = a:
|
|
// a*-b + b*a + c*0 = -ba + ba + 0 = 0
|
|
if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {
|
|
return normalize(vec3(-v.y, v.x, 0.0));
|
|
} else {
|
|
return normalize(vec3(0.0, v.z, -v.y));
|
|
}
|
|
}
|
|
|
|
// Calculate the tube vertex and normal at the given index.
|
|
//
|
|
// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.
|
|
//
|
|
// Each tube segment is made up of a ring of vertices.
|
|
// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.
|
|
// The indexes of tube segments run from 0 to 8.
|
|
//
|
|
vec3 getTubePosition(vec3 d, float index, out vec3 normal) {
|
|
float segmentCount = 8.0;
|
|
|
|
float angle = 2.0 * 3.14159 * (index / segmentCount);
|
|
|
|
vec3 u = getOrthogonalVector(d);
|
|
vec3 v = normalize(cross(u, d));
|
|
|
|
vec3 x = u * cos(angle) * length(d);
|
|
vec3 y = v * sin(angle) * length(d);
|
|
vec3 v3 = x + y;
|
|
|
|
normal = normalize(v3);
|
|
|
|
return v3;
|
|
}
|
|
|
|
attribute vec4 vector;
|
|
attribute vec4 color, position;
|
|
attribute vec2 uv;
|
|
|
|
uniform float vectorScale, tubeScale;
|
|
uniform mat4 model, view, projection, inverseModel;
|
|
uniform vec3 eyePosition, lightPosition;
|
|
|
|
varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;
|
|
varying vec4 f_color;
|
|
varying vec2 f_uv;
|
|
|
|
void main() {
|
|
// Scale the vector magnitude to stay constant with
|
|
// model & view changes.
|
|
vec3 normal;
|
|
vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);
|
|
vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);
|
|
|
|
//Lighting geometry parameters
|
|
vec4 cameraCoordinate = view * tubePosition;
|
|
cameraCoordinate.xyz /= cameraCoordinate.w;
|
|
f_lightDirection = lightPosition - cameraCoordinate.xyz;
|
|
f_eyeDirection = eyePosition - cameraCoordinate.xyz;
|
|
f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);
|
|
|
|
// vec4 m_position = model * vec4(tubePosition, 1.0);
|
|
vec4 t_position = view * tubePosition;
|
|
gl_Position = projection * t_position;
|
|
|
|
f_color = color;
|
|
f_data = tubePosition.xyz;
|
|
f_position = position.xyz;
|
|
f_uv = uv;
|
|
}
|
|
`]),u=s([`#extension GL_OES_standard_derivatives : enable
|
|
|
|
precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
float beckmannDistribution(float x, float roughness) {
|
|
float NdotH = max(x, 0.0001);
|
|
float cos2Alpha = NdotH * NdotH;
|
|
float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;
|
|
float roughness2 = roughness * roughness;
|
|
float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;
|
|
return exp(tan2Alpha / roughness2) / denom;
|
|
}
|
|
|
|
float cookTorranceSpecular(
|
|
vec3 lightDirection,
|
|
vec3 viewDirection,
|
|
vec3 surfaceNormal,
|
|
float roughness,
|
|
float fresnel) {
|
|
|
|
float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);
|
|
float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);
|
|
|
|
//Half angle vector
|
|
vec3 H = normalize(lightDirection + viewDirection);
|
|
|
|
//Geometric term
|
|
float NdotH = max(dot(surfaceNormal, H), 0.0);
|
|
float VdotH = max(dot(viewDirection, H), 0.000001);
|
|
float LdotH = max(dot(lightDirection, H), 0.000001);
|
|
float G1 = (2.0 * NdotH * VdotN) / VdotH;
|
|
float G2 = (2.0 * NdotH * LdotN) / LdotH;
|
|
float G = min(1.0, min(G1, G2));
|
|
|
|
//Distribution term
|
|
float D = beckmannDistribution(NdotH, roughness);
|
|
|
|
//Fresnel term
|
|
float F = pow(1.0 - VdotN, fresnel);
|
|
|
|
//Multiply terms and done
|
|
return G * F * D / max(3.14159265 * VdotN, 0.000001);
|
|
}
|
|
|
|
bool outOfRange(float a, float b, float p) {
|
|
return ((p > max(a, b)) ||
|
|
(p < min(a, b)));
|
|
}
|
|
|
|
bool outOfRange(vec2 a, vec2 b, vec2 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y));
|
|
}
|
|
|
|
bool outOfRange(vec3 a, vec3 b, vec3 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y) ||
|
|
outOfRange(a.z, b.z, p.z));
|
|
}
|
|
|
|
bool outOfRange(vec4 a, vec4 b, vec4 p) {
|
|
return outOfRange(a.xyz, b.xyz, p.xyz);
|
|
}
|
|
|
|
uniform vec3 clipBounds[2];
|
|
uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;
|
|
uniform sampler2D texture;
|
|
|
|
varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;
|
|
varying vec4 f_color;
|
|
varying vec2 f_uv;
|
|
|
|
void main() {
|
|
if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;
|
|
vec3 N = normalize(f_normal);
|
|
vec3 L = normalize(f_lightDirection);
|
|
vec3 V = normalize(f_eyeDirection);
|
|
|
|
if(gl_FrontFacing) {
|
|
N = -N;
|
|
}
|
|
|
|
float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));
|
|
float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);
|
|
|
|
vec4 surfaceColor = f_color * texture2D(texture, f_uv);
|
|
vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);
|
|
|
|
gl_FragColor = litColor * opacity;
|
|
}
|
|
`]),f=s([`precision highp float;
|
|
|
|
precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
vec3 getOrthogonalVector(vec3 v) {
|
|
// Return up-vector for only-z vector.
|
|
// Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).
|
|
// From the above if-statement we have ||a|| > 0 U ||b|| > 0.
|
|
// Assign z = 0, x = -b, y = a:
|
|
// a*-b + b*a + c*0 = -ba + ba + 0 = 0
|
|
if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {
|
|
return normalize(vec3(-v.y, v.x, 0.0));
|
|
} else {
|
|
return normalize(vec3(0.0, v.z, -v.y));
|
|
}
|
|
}
|
|
|
|
// Calculate the tube vertex and normal at the given index.
|
|
//
|
|
// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.
|
|
//
|
|
// Each tube segment is made up of a ring of vertices.
|
|
// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.
|
|
// The indexes of tube segments run from 0 to 8.
|
|
//
|
|
vec3 getTubePosition(vec3 d, float index, out vec3 normal) {
|
|
float segmentCount = 8.0;
|
|
|
|
float angle = 2.0 * 3.14159 * (index / segmentCount);
|
|
|
|
vec3 u = getOrthogonalVector(d);
|
|
vec3 v = normalize(cross(u, d));
|
|
|
|
vec3 x = u * cos(angle) * length(d);
|
|
vec3 y = v * sin(angle) * length(d);
|
|
vec3 v3 = x + y;
|
|
|
|
normal = normalize(v3);
|
|
|
|
return v3;
|
|
}
|
|
|
|
attribute vec4 vector;
|
|
attribute vec4 position;
|
|
attribute vec4 id;
|
|
|
|
uniform mat4 model, view, projection;
|
|
uniform float tubeScale;
|
|
|
|
varying vec3 f_position;
|
|
varying vec4 f_id;
|
|
|
|
void main() {
|
|
vec3 normal;
|
|
vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);
|
|
vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);
|
|
|
|
gl_Position = projection * (view * tubePosition);
|
|
f_id = id;
|
|
f_position = position.xyz;
|
|
}
|
|
`]),c=s([`precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
bool outOfRange(float a, float b, float p) {
|
|
return ((p > max(a, b)) ||
|
|
(p < min(a, b)));
|
|
}
|
|
|
|
bool outOfRange(vec2 a, vec2 b, vec2 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y));
|
|
}
|
|
|
|
bool outOfRange(vec3 a, vec3 b, vec3 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y) ||
|
|
outOfRange(a.z, b.z, p.z));
|
|
}
|
|
|
|
bool outOfRange(vec4 a, vec4 b, vec4 p) {
|
|
return outOfRange(a.xyz, b.xyz, p.xyz);
|
|
}
|
|
|
|
uniform vec3 clipBounds[2];
|
|
uniform float pickId;
|
|
|
|
varying vec3 f_position;
|
|
varying vec4 f_id;
|
|
|
|
void main() {
|
|
if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;
|
|
|
|
gl_FragColor = vec4(pickId, f_id.xyz);
|
|
}`]);a.meshShader={vertex:l,fragment:u,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec4"}]},a.pickShader={vertex:f,fragment:c,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec4"}]}},7815:function(i,a,o){"use strict";var s=o(2931),l=o(9970),u=["xyz","xzy","yxz","yzx","zxy","zyx"],f=function(w,k,x,M){for(var A=w.points,p=w.velocities,S=w.divergences,y=[],E=[],C=[],L=[],R=[],I=[],P=0,D=0,q=l.create(),N=l.create(),U=8,G=0;G<A.length;G++){var ee=A[G],Q=p[G],j=S[G];k===0&&(j=x*.05),D=s.length(Q)/M,q=l.create(),s.copy(q,Q),q[3]=j;for(var O=0;O<U;O++)R[O]=[ee[0],ee[1],ee[2],O];if(L.length>0)for(var O=0;O<U;O++){var Z=(O+1)%U;y.push(L[O],R[O],R[Z],R[Z],L[Z],L[O]),C.push(N,q,q,q,N,N),I.push(P,D,D,D,P,P);var K=y.length;E.push([K-6,K-5,K-4],[K-3,K-2,K-1])}var $=L;L=R,R=$;var oe=N;N=q,q=oe;var te=P;P=D,D=te}return{positions:y,cells:E,vectors:C,vertexIntensity:I}},c=function(w,k,x,M){for(var A=0,p=0;p<w.length;p++)for(var S=w[p].velocities,y=0;y<S.length;y++)A=Math.max(A,s.length(S[y]));for(var E=w.map(function(G){return f(G,x,M,A)}),C=[],L=[],R=[],I=[],p=0;p<E.length;p++){var P=E[p],D=C.length;C=C.concat(P.positions),R=R.concat(P.vectors),I=I.concat(P.vertexIntensity);for(var y=0;y<P.cells.length;y++){var q=P.cells[y],N=[];L.push(N);for(var U=0;U<q.length;U++)N.push(q[U]+D)}}return{positions:C,cells:L,vectors:R,vertexIntensity:I,colormap:k}},h=function(w,k){var x=w.length,M;for(M=0;M<x;M++){var A=w[M];if(A===k)return M;if(A>k)return M-1}return M},d=function(w,k,x){return w<k?k:w>x?x:w},v=function(w,k,x){var M=k.vectors,A=k.meshgrid,p=w[0],S=w[1],y=w[2],E=A[0].length,C=A[1].length,L=A[2].length,R=h(A[0],p),I=h(A[1],S),P=h(A[2],y),D=R+1,q=I+1,N=P+1;if(R=d(R,0,E-1),D=d(D,0,E-1),I=d(I,0,C-1),q=d(q,0,C-1),P=d(P,0,L-1),N=d(N,0,L-1),R<0||I<0||P<0||D>E-1||q>C-1||N>L-1)return s.create();var U=A[0][R],G=A[0][D],ee=A[1][I],Q=A[1][q],j=A[2][P],O=A[2][N],Z=(p-U)/(G-U),K=(S-ee)/(Q-ee),$=(y-j)/(O-j);isFinite(Z)||(Z=.5),isFinite(K)||(K=.5),isFinite($)||($=.5);var oe,te,V,ne,W,fe;switch(x.reversedX&&(R=E-1-R,D=E-1-D),x.reversedY&&(I=C-1-I,q=C-1-q),x.reversedZ&&(P=L-1-P,N=L-1-N),x.filled){case 5:W=P,fe=N,V=I*L,ne=q*L,oe=R*L*C,te=D*L*C;break;case 4:W=P,fe=N,oe=R*L,te=D*L,V=I*L*E,ne=q*L*E;break;case 3:V=I,ne=q,W=P*C,fe=N*C,oe=R*C*L,te=D*C*L;break;case 2:V=I,ne=q,oe=R*C,te=D*C,W=P*C*E,fe=N*C*E;break;case 1:oe=R,te=D,W=P*E,fe=N*E,V=I*E*L,ne=q*E*L;break;default:oe=R,te=D,V=I*E,ne=q*E,W=P*E*C,fe=N*E*C;break}var ge=M[oe+V+W],Ce=M[oe+V+fe],Ne=M[oe+ne+W],pe=M[oe+ne+fe],me=M[te+V+W],Ie=M[te+V+fe],Re=M[te+ne+W],ze=M[te+ne+fe],Be=s.create(),tt=s.create(),rt=s.create(),ce=s.create();s.lerp(Be,ge,me,Z),s.lerp(tt,Ce,Ie,Z),s.lerp(rt,Ne,Re,Z),s.lerp(ce,pe,ze,Z);var Ee=s.create(),Ae=s.create();s.lerp(Ee,Be,rt,K),s.lerp(Ae,tt,ce,K);var Pe=s.create();return s.lerp(Pe,Ee,Ae,$),Pe},m=function(w,k){var x=k[0],M=k[1],A=k[2];return w[0]=x<0?-x:x,w[1]=M<0?-M:M,w[2]=A<0?-A:A,w},b=function(w){var k=1/0;w.sort(function(p,S){return p-S});for(var x=w.length,M=1;M<x;M++){var A=Math.abs(w[M]-w[M-1]);A<k&&(k=A)}return k},g=function(w){for(var k=[],x=[],M=[],A={},p={},S={},y=w.length,E=0;E<y;E++){var C=w[E],L=C[0],R=C[1],I=C[2];A[L]||(k.push(L),A[L]=!0),p[R]||(x.push(R),p[R]=!0),S[I]||(M.push(I),S[I]=!0)}var P=b(k),D=b(x),q=b(M),N=Math.min(P,D,q);return isFinite(N)?N:1};i.exports=function(w,k){var x=w.startingPositions,M=w.maxLength||1e3,A=w.tubeSize||1,p=w.absoluteTubeSize,S=w.gridFill||"+x+y+z",y={};S.indexOf("-x")!==-1&&(y.reversedX=!0),S.indexOf("-y")!==-1&&(y.reversedY=!0),S.indexOf("-z")!==-1&&(y.reversedZ=!0),y.filled=u.indexOf(S.replace(/-/g,"").replace(/\+/g,""));var E=w.getVelocity||function(Ie){return v(Ie,w,y)},C=w.getDivergence||function(Ie,Re){var ze=s.create(),Be=1e-4;s.add(ze,Ie,[Be,0,0]);var tt=E(ze);s.subtract(tt,tt,Re),s.scale(tt,tt,1/Be),s.add(ze,Ie,[0,Be,0]);var rt=E(ze);s.subtract(rt,rt,Re),s.scale(rt,rt,1/Be),s.add(ze,Ie,[0,0,Be]);var ce=E(ze);return s.subtract(ce,ce,Re),s.scale(ce,ce,1/Be),s.add(ze,tt,rt),s.add(ze,ze,ce),ze},L=[],R=k[0][0],I=k[0][1],P=k[0][2],D=k[1][0],q=k[1][1],N=k[1][2],U=function(Ie){var Re=Ie[0],ze=Ie[1],Be=Ie[2];return!(Re<R||Re>D||ze<I||ze>q||Be<P||Be>N)},G=s.distance(k[0],k[1]),ee=10*G/M,Q=ee*ee,j=1,O=0,Z=x.length;Z>1&&(j=g(x));for(var K=0;K<Z;K++){var $=s.create();s.copy($,x[K]);var oe=[$],te=[],V=E($),ne=$;te.push(V);var W=[],fe=C($,V),ge=s.length(fe);isFinite(ge)&&ge>O&&(O=ge),W.push(ge),L.push({points:oe,velocities:te,divergences:W});for(var Ce=0;Ce<M*100&&oe.length<M&&U($);){Ce++;var Ne=s.clone(V),pe=s.squaredLength(Ne);if(pe===0)break;if(pe>Q&&s.scale(Ne,Ne,ee/Math.sqrt(pe)),s.add(Ne,Ne,$),V=E(Ne),s.squaredDistance(ne,Ne)-Q>-1e-4*Q){oe.push(Ne),ne=Ne,te.push(V);var fe=C(Ne,V),ge=s.length(fe);isFinite(ge)&&ge>O&&(O=ge),W.push(ge)}$=Ne}}var me=c(L,w.colormap,O,j);return p?me.tubeScale=p:(O===0&&(O=1),me.tubeScale=A*.5*j/O),me};var _=o(6740),T=o(6405).createMesh;i.exports.createTubeMesh=function(w,k){return T(w,k,{shaders:_,traceType:"streamtube"})}},990:function(i,a,o){var s=o(9405),l=o(3236),u=l([`precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
attribute vec4 uv;
|
|
attribute vec3 f;
|
|
attribute vec3 normal;
|
|
|
|
uniform vec3 objectOffset;
|
|
uniform mat4 model, view, projection, inverseModel;
|
|
uniform vec3 lightPosition, eyePosition;
|
|
uniform sampler2D colormap;
|
|
|
|
varying float value, kill;
|
|
varying vec3 worldCoordinate;
|
|
varying vec2 planeCoordinate;
|
|
varying vec3 lightDirection, eyeDirection, surfaceNormal;
|
|
varying vec4 vColor;
|
|
|
|
void main() {
|
|
vec3 localCoordinate = vec3(uv.zw, f.x);
|
|
worldCoordinate = objectOffset + localCoordinate;
|
|
mat4 objectOffsetTranslation = mat4(1.0) + mat4(vec4(0), vec4(0), vec4(0), vec4(objectOffset, 0));
|
|
vec4 worldPosition = (model * objectOffsetTranslation) * vec4(localCoordinate, 1.0);
|
|
vec4 clipPosition = projection * (view * worldPosition);
|
|
gl_Position = clipPosition;
|
|
kill = f.y;
|
|
value = f.z;
|
|
planeCoordinate = uv.xy;
|
|
|
|
vColor = texture2D(colormap, vec2(value, value));
|
|
|
|
//Lighting geometry parameters
|
|
vec4 cameraCoordinate = view * worldPosition;
|
|
cameraCoordinate.xyz /= cameraCoordinate.w;
|
|
lightDirection = lightPosition - cameraCoordinate.xyz;
|
|
eyeDirection = eyePosition - cameraCoordinate.xyz;
|
|
surfaceNormal = normalize((vec4(normal,0) * inverseModel).xyz);
|
|
}
|
|
`]),f=l([`precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
float beckmannDistribution(float x, float roughness) {
|
|
float NdotH = max(x, 0.0001);
|
|
float cos2Alpha = NdotH * NdotH;
|
|
float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;
|
|
float roughness2 = roughness * roughness;
|
|
float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;
|
|
return exp(tan2Alpha / roughness2) / denom;
|
|
}
|
|
|
|
float beckmannSpecular(
|
|
vec3 lightDirection,
|
|
vec3 viewDirection,
|
|
vec3 surfaceNormal,
|
|
float roughness) {
|
|
return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);
|
|
}
|
|
|
|
bool outOfRange(float a, float b, float p) {
|
|
return ((p > max(a, b)) ||
|
|
(p < min(a, b)));
|
|
}
|
|
|
|
bool outOfRange(vec2 a, vec2 b, vec2 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y));
|
|
}
|
|
|
|
bool outOfRange(vec3 a, vec3 b, vec3 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y) ||
|
|
outOfRange(a.z, b.z, p.z));
|
|
}
|
|
|
|
bool outOfRange(vec4 a, vec4 b, vec4 p) {
|
|
return outOfRange(a.xyz, b.xyz, p.xyz);
|
|
}
|
|
|
|
uniform vec3 lowerBound, upperBound;
|
|
uniform float contourTint;
|
|
uniform vec4 contourColor;
|
|
uniform sampler2D colormap;
|
|
uniform vec3 clipBounds[2];
|
|
uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;
|
|
uniform float vertexColor;
|
|
|
|
varying float value, kill;
|
|
varying vec3 worldCoordinate;
|
|
varying vec3 lightDirection, eyeDirection, surfaceNormal;
|
|
varying vec4 vColor;
|
|
|
|
void main() {
|
|
if (
|
|
kill > 0.0 ||
|
|
vColor.a == 0.0 ||
|
|
outOfRange(clipBounds[0], clipBounds[1], worldCoordinate)
|
|
) discard;
|
|
|
|
vec3 N = normalize(surfaceNormal);
|
|
vec3 V = normalize(eyeDirection);
|
|
vec3 L = normalize(lightDirection);
|
|
|
|
if(gl_FrontFacing) {
|
|
N = -N;
|
|
}
|
|
|
|
float specular = max(beckmannSpecular(L, V, N, roughness), 0.);
|
|
float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);
|
|
|
|
//decide how to interpolate color \u2014 in vertex or in fragment
|
|
vec4 surfaceColor =
|
|
step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) +
|
|
step(.5, vertexColor) * vColor;
|
|
|
|
vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);
|
|
|
|
gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;
|
|
}
|
|
`]),c=l([`precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
attribute vec4 uv;
|
|
attribute float f;
|
|
|
|
uniform vec3 objectOffset;
|
|
uniform mat3 permutation;
|
|
uniform mat4 model, view, projection;
|
|
uniform float height, zOffset;
|
|
uniform sampler2D colormap;
|
|
|
|
varying float value, kill;
|
|
varying vec3 worldCoordinate;
|
|
varying vec2 planeCoordinate;
|
|
varying vec3 lightDirection, eyeDirection, surfaceNormal;
|
|
varying vec4 vColor;
|
|
|
|
void main() {
|
|
vec3 dataCoordinate = permutation * vec3(uv.xy, height);
|
|
worldCoordinate = objectOffset + dataCoordinate;
|
|
mat4 objectOffsetTranslation = mat4(1.0) + mat4(vec4(0), vec4(0), vec4(0), vec4(objectOffset, 0));
|
|
vec4 worldPosition = (model * objectOffsetTranslation) * vec4(dataCoordinate, 1.0);
|
|
|
|
vec4 clipPosition = projection * (view * worldPosition);
|
|
clipPosition.z += zOffset;
|
|
|
|
gl_Position = clipPosition;
|
|
value = f + objectOffset.z;
|
|
kill = -1.0;
|
|
planeCoordinate = uv.zw;
|
|
|
|
vColor = texture2D(colormap, vec2(value, value));
|
|
|
|
//Don't do lighting for contours
|
|
surfaceNormal = vec3(1,0,0);
|
|
eyeDirection = vec3(0,1,0);
|
|
lightDirection = vec3(0,0,1);
|
|
}
|
|
`]),h=l([`precision highp float;
|
|
#define GLSLIFY 1
|
|
|
|
bool outOfRange(float a, float b, float p) {
|
|
return ((p > max(a, b)) ||
|
|
(p < min(a, b)));
|
|
}
|
|
|
|
bool outOfRange(vec2 a, vec2 b, vec2 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y));
|
|
}
|
|
|
|
bool outOfRange(vec3 a, vec3 b, vec3 p) {
|
|
return (outOfRange(a.x, b.x, p.x) ||
|
|
outOfRange(a.y, b.y, p.y) ||
|
|
outOfRange(a.z, b.z, p.z));
|
|
}
|
|
|
|
bool outOfRange(vec4 a, vec4 b, vec4 p) {
|
|
return outOfRange(a.xyz, b.xyz, p.xyz);
|
|
}
|
|
|
|
uniform vec2 shape;
|
|
uniform vec3 clipBounds[2];
|
|
uniform float pickId;
|
|
|
|
varying float value, kill;
|
|
varying vec3 worldCoordinate;
|
|
varying vec2 planeCoordinate;
|
|
varying vec3 surfaceNormal;
|
|
|
|
vec2 splitFloat(float v) {
|
|
float vh = 255.0 * v;
|
|
float upper = floor(vh);
|
|
float lower = fract(vh);
|
|
return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);
|
|
}
|
|
|
|
void main() {
|
|
if ((kill > 0.0) ||
|
|
(outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard;
|
|
|
|
vec2 ux = splitFloat(planeCoordinate.x / shape.x);
|
|
vec2 uy = splitFloat(planeCoordinate.y / shape.y);
|
|
gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));
|
|
}
|
|
`]);a.createShader=function(d){var v=s(d,u,f,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v.attributes.normal.location=2,v},a.createPickShader=function(d){var v=s(d,u,h,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v.attributes.normal.location=2,v},a.createContourShader=function(d){var v=s(d,c,f,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v},a.createPickContourShader=function(d){var v=s(d,c,h,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v}},9499:function(i,a,o){"use strict";i.exports=oe;var s=o(8828),l=o(2762),u=o(8116),f=o(7766),c=o(1888),h=o(6729),d=o(5298),v=o(9994),m=o(9618),b=o(3711),g=o(6760),_=o(7608),T=o(2478),w=o(6199),k=o(990),x=k.createShader,M=k.createContourShader,A=k.createPickShader,p=k.createPickContourShader,S=4*(4+3+3),y=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],E=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],C=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];(function(){for(var te=0;te<3;++te){var V=C[te],ne=(te+1)%3,W=(te+2)%3;V[ne+0]=1,V[W+3]=1,V[te+6]=1}})();function L(te,V,ne,W,fe){this.position=te,this.index=V,this.uv=ne,this.level=W,this.dataCoordinate=fe}var R=256;function I(te,V,ne,W,fe,ge,Ce,Ne,pe,me,Ie,Re,ze,Be,tt){this.gl=te,this.shape=V,this.bounds=ne,this.objectOffset=tt,this.intensityBounds=[],this._shader=W,this._pickShader=fe,this._coordinateBuffer=ge,this._vao=Ce,this._colorMap=Ne,this._contourShader=pe,this._contourPickShader=me,this._contourBuffer=Ie,this._contourVAO=Re,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new L([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=ze,this._dynamicVAO=Be,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[m(c.mallocFloat(1024),[0,0]),m(c.mallocFloat(1024),[0,0]),m(c.mallocFloat(1024),[0,0])],this.pickId=1,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.snapToData=!1,this.pixelRatio=1,this.opacity=1,this.lightPosition=[10,1e4,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.vertexColor=0,this.dirty=!0}var P=I.prototype;P.genColormap=function(te,V){var ne=!1,W=v([h({colormap:te,nshades:R,format:"rgba"}).map(function(fe,ge){var Ce=V?D(ge/255,V):fe[3];return Ce<1&&(ne=!0),[fe[0],fe[1],fe[2],255*Ce]})]);return d.divseq(W,255),this.hasAlphaScale=ne,W},P.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},P.isOpaque=function(){return!this.isTransparent()},P.pickSlots=1,P.setPickBase=function(te){this.pickId=te};function D(te,V){if(!V||!V.length)return 1;for(var ne=0;ne<V.length;++ne){if(V.length<2)return 1;if(V[ne][0]===te)return V[ne][1];if(V[ne][0]>te&&ne>0){var W=(V[ne][0]-te)/(V[ne][0]-V[ne-1][0]);return V[ne][1]*(1-W)+W*V[ne-1][1]}}return 1}var q=[0,0,0],N={showSurface:!1,showContour:!1,projections:[y.slice(),y.slice(),y.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function U(te,V){var ne,W,fe,ge=V.axes&&V.axes.lastCubeProps.axis||q,Ce=V.showSurface,Ne=V.showContour;for(ne=0;ne<3;++ne)for(Ce=Ce||V.surfaceProject[ne],W=0;W<3;++W)Ne=Ne||V.contourProject[ne][W];for(ne=0;ne<3;++ne){var pe=N.projections[ne];for(W=0;W<16;++W)pe[W]=0;for(W=0;W<4;++W)pe[5*W]=1;pe[5*ne]=0,pe[12+ne]=V.axesBounds[+(ge[ne]>0)][ne],g(pe,te.model,pe);var me=N.clipBounds[ne];for(fe=0;fe<2;++fe)for(W=0;W<3;++W)me[fe][W]=te.clipBounds[fe][W];me[0][ne]=-1e8,me[1][ne]=1e8}return N.showSurface=Ce,N.showContour=Ne,N}var G={model:y,view:y,projection:y,inverseModel:y.slice(),lowerBound:[0,0,0],upperBound:[0,0,0],colorMap:0,clipBounds:[[0,0,0],[0,0,0]],height:0,contourTint:0,contourColor:[0,0,0,1],permutation:[1,0,0,0,1,0,0,0,1],zOffset:-1e-4,objectOffset:[0,0,0],kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},ee=y.slice(),Q=[1,0,0,0,1,0,0,0,1];function j(te,V){te=te||{};var ne=this.gl;ne.disable(ne.CULL_FACE),this._colorMap.bind(0);var W=G;W.model=te.model||y,W.view=te.view||y,W.projection=te.projection||y,W.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],W.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],W.objectOffset=this.objectOffset,W.contourColor=this.contourColor[0],W.inverseModel=_(W.inverseModel,W.model);for(var fe=0;fe<2;++fe)for(var ge=W.clipBounds[fe],Ce=0;Ce<3;++Ce)ge[Ce]=Math.min(Math.max(this.clipBounds[fe][Ce],-1e8),1e8);W.kambient=this.ambientLight,W.kdiffuse=this.diffuseLight,W.kspecular=this.specularLight,W.roughness=this.roughness,W.fresnel=this.fresnel,W.opacity=this.opacity,W.height=0,W.permutation=Q,W.vertexColor=this.vertexColor;var Ne=ee;for(g(Ne,W.view,W.model),g(Ne,W.projection,Ne),_(Ne,Ne),fe=0;fe<3;++fe)W.eyePosition[fe]=Ne[12+fe]/Ne[15];var pe=Ne[15];for(fe=0;fe<3;++fe)pe+=this.lightPosition[fe]*Ne[4*fe+3];for(fe=0;fe<3;++fe){var me=Ne[12+fe];for(Ce=0;Ce<3;++Ce)me+=Ne[4*Ce+fe]*this.lightPosition[Ce];W.lightPosition[fe]=me/pe}var Ie=U(W,this);if(Ie.showSurface){for(this._shader.bind(),this._shader.uniforms=W,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(ne.TRIANGLES,this._vertexCount),fe=0;fe<3;++fe)!this.surfaceProject[fe]||!this.vertexCount||(this._shader.uniforms.model=Ie.projections[fe],this._shader.uniforms.clipBounds=Ie.clipBounds[fe],this._vao.draw(ne.TRIANGLES,this._vertexCount));this._vao.unbind()}if(Ie.showContour){var Re=this._contourShader;W.kambient=1,W.kdiffuse=0,W.kspecular=0,W.opacity=1,Re.bind(),Re.uniforms=W;var ze=this._contourVAO;for(ze.bind(),fe=0;fe<3;++fe)for(Re.uniforms.permutation=C[fe],ne.lineWidth(this.contourWidth[fe]*this.pixelRatio),Ce=0;Ce<this.contourLevels[fe].length;++Ce)Ce===this.highlightLevel[fe]?(Re.uniforms.contourColor=this.highlightColor[fe],Re.uniforms.contourTint=this.highlightTint[fe]):(Ce===0||Ce-1===this.highlightLevel[fe])&&(Re.uniforms.contourColor=this.contourColor[fe],Re.uniforms.contourTint=this.contourTint[fe]),this._contourCounts[fe][Ce]&&(Re.uniforms.height=this.contourLevels[fe][Ce],ze.draw(ne.LINES,this._contourCounts[fe][Ce],this._contourOffsets[fe][Ce]));for(fe=0;fe<3;++fe)for(Re.uniforms.model=Ie.projections[fe],Re.uniforms.clipBounds=Ie.clipBounds[fe],Ce=0;Ce<3;++Ce)if(this.contourProject[fe][Ce]){Re.uniforms.permutation=C[Ce],ne.lineWidth(this.contourWidth[Ce]*this.pixelRatio);for(var Be=0;Be<this.contourLevels[Ce].length;++Be)Be===this.highlightLevel[Ce]?(Re.uniforms.contourColor=this.highlightColor[Ce],Re.uniforms.contourTint=this.highlightTint[Ce]):(Be===0||Be-1===this.highlightLevel[Ce])&&(Re.uniforms.contourColor=this.contourColor[Ce],Re.uniforms.contourTint=this.contourTint[Ce]),this._contourCounts[Ce][Be]&&(Re.uniforms.height=this.contourLevels[Ce][Be],ze.draw(ne.LINES,this._contourCounts[Ce][Be],this._contourOffsets[Ce][Be]))}for(ze.unbind(),ze=this._dynamicVAO,ze.bind(),fe=0;fe<3;++fe)if(this._dynamicCounts[fe]!==0)for(Re.uniforms.model=W.model,Re.uniforms.clipBounds=W.clipBounds,Re.uniforms.permutation=C[fe],ne.lineWidth(this.dynamicWidth[fe]*this.pixelRatio),Re.uniforms.contourColor=this.dynamicColor[fe],Re.uniforms.contourTint=this.dynamicTint[fe],Re.uniforms.height=this.dynamicLevel[fe],ze.draw(ne.LINES,this._dynamicCounts[fe],this._dynamicOffsets[fe]),Ce=0;Ce<3;++Ce)this.contourProject[Ce][fe]&&(Re.uniforms.model=Ie.projections[Ce],Re.uniforms.clipBounds=Ie.clipBounds[Ce],ze.draw(ne.LINES,this._dynamicCounts[fe],this._dynamicOffsets[fe]));ze.unbind()}}P.draw=function(te){return j.call(this,te,!1)},P.drawTransparent=function(te){return j.call(this,te,!0)};var O={model:y,view:y,projection:y,inverseModel:y,clipBounds:[[0,0,0],[0,0,0]],height:0,shape:[0,0],pickId:0,lowerBound:[0,0,0],upperBound:[0,0,0],zOffset:0,objectOffset:[0,0,0],permutation:[1,0,0,0,1,0,0,0,1],lightPosition:[0,0,0],eyePosition:[0,0,0]};P.drawPick=function(te){te=te||{};var V=this.gl;V.disable(V.CULL_FACE);var ne=O;ne.model=te.model||y,ne.view=te.view||y,ne.projection=te.projection||y,ne.shape=this._field[2].shape,ne.pickId=this.pickId/255,ne.lowerBound=this.bounds[0],ne.upperBound=this.bounds[1],ne.objectOffset=this.objectOffset,ne.permutation=Q;for(var W=0;W<2;++W)for(var fe=ne.clipBounds[W],ge=0;ge<3;++ge)fe[ge]=Math.min(Math.max(this.clipBounds[W][ge],-1e8),1e8);var Ce=U(ne,this);if(Ce.showSurface){for(this._pickShader.bind(),this._pickShader.uniforms=ne,this._vao.bind(),this._vao.draw(V.TRIANGLES,this._vertexCount),W=0;W<3;++W)this.surfaceProject[W]&&(this._pickShader.uniforms.model=Ce.projections[W],this._pickShader.uniforms.clipBounds=Ce.clipBounds[W],this._vao.draw(V.TRIANGLES,this._vertexCount));this._vao.unbind()}if(Ce.showContour){var Ne=this._contourPickShader;Ne.bind(),Ne.uniforms=ne;var pe=this._contourVAO;for(pe.bind(),ge=0;ge<3;++ge)for(V.lineWidth(this.contourWidth[ge]*this.pixelRatio),Ne.uniforms.permutation=C[ge],W=0;W<this.contourLevels[ge].length;++W)this._contourCounts[ge][W]&&(Ne.uniforms.height=this.contourLevels[ge][W],pe.draw(V.LINES,this._contourCounts[ge][W],this._contourOffsets[ge][W]));for(W=0;W<3;++W)for(Ne.uniforms.model=Ce.projections[W],Ne.uniforms.clipBounds=Ce.clipBounds[W],ge=0;ge<3;++ge)if(this.contourProject[W][ge]){Ne.uniforms.permutation=C[ge],V.lineWidth(this.contourWidth[ge]*this.pixelRatio);for(var me=0;me<this.contourLevels[ge].length;++me)this._contourCounts[ge][me]&&(Ne.uniforms.height=this.contourLevels[ge][me],pe.draw(V.LINES,this._contourCounts[ge][me],this._contourOffsets[ge][me]))}pe.unbind()}},P.pick=function(te){if(!te||te.id!==this.pickId)return null;var V=this._field[2].shape,ne=this._pickResult,W=V[0]*(te.value[0]+(te.value[2]>>4)/16)/255,fe=Math.floor(W),ge=W-fe,Ce=V[1]*(te.value[1]+(te.value[2]&15)/16)/255,Ne=Math.floor(Ce),pe=Ce-Ne;fe+=1,Ne+=1;var me=ne.position;me[0]=me[1]=me[2]=0;for(var Ie=0;Ie<2;++Ie)for(var Re=Ie?ge:1-ge,ze=0;ze<2;++ze)for(var Be=ze?pe:1-pe,tt=fe+Ie,rt=Ne+ze,ce=Re*Be,Ee=0;Ee<3;++Ee)me[Ee]+=this._field[Ee].get(tt,rt)*ce;for(var Ae=this._pickResult.level,Pe=0;Pe<3;++Pe)if(Ae[Pe]=T.le(this.contourLevels[Pe],me[Pe]),Ae[Pe]<0)this.contourLevels[Pe].length>0&&(Ae[Pe]=0);else if(Ae[Pe]<this.contourLevels[Pe].length-1){var He=this.contourLevels[Pe][Ae[Pe]],Fe=this.contourLevels[Pe][Ae[Pe]+1];Math.abs(He-me[Pe])>Math.abs(Fe-me[Pe])&&(Ae[Pe]+=1)}for(ne.index[0]=ge<.5?fe:fe+1,ne.index[1]=pe<.5?Ne:Ne+1,ne.uv[0]=W/V[0],ne.uv[1]=Ce/V[1],Ee=0;Ee<3;++Ee)ne.dataCoordinate[Ee]=this._field[Ee].get(ne.index[0],ne.index[1]);return ne},P.padField=function(te,V){var ne=V.shape.slice(),W=te.shape.slice();d.assign(te.lo(1,1).hi(ne[0],ne[1]),V),d.assign(te.lo(1).hi(ne[0],1),V.hi(ne[0],1)),d.assign(te.lo(1,W[1]-1).hi(ne[0],1),V.lo(0,ne[1]-1).hi(ne[0],1)),d.assign(te.lo(0,1).hi(1,ne[1]),V.hi(1)),d.assign(te.lo(W[0]-1,1).hi(1,ne[1]),V.lo(ne[0]-1)),te.set(0,0,V.get(0,0)),te.set(0,W[1]-1,V.get(0,ne[1]-1)),te.set(W[0]-1,0,V.get(ne[0]-1,0)),te.set(W[0]-1,W[1]-1,V.get(ne[0]-1,ne[1]-1))};function Z(te,V){return Array.isArray(te)?[V(te[0]),V(te[1]),V(te[2])]:[V(te),V(te),V(te)]}function K(te){return Array.isArray(te)?te.length===3?[te[0],te[1],te[2],1]:[te[0],te[1],te[2],te[3]]:[0,0,0,1]}function $(te){if(Array.isArray(te)){if(Array.isArray(te))return[K(te[0]),K(te[1]),K(te[2])];var V=K(te);return[V.slice(),V.slice(),V.slice()]}}P.update=function(te){te=te||{},this.objectOffset=te.objectOffset||this.objectOffset,this.dirty=!0,"contourWidth"in te&&(this.contourWidth=Z(te.contourWidth,Number)),"showContour"in te&&(this.showContour=Z(te.showContour,Boolean)),"showSurface"in te&&(this.showSurface=!!te.showSurface),"contourTint"in te&&(this.contourTint=Z(te.contourTint,Boolean)),"contourColor"in te&&(this.contourColor=$(te.contourColor)),"contourProject"in te&&(this.contourProject=Z(te.contourProject,function(Ji){return Z(Ji,Boolean)})),"surfaceProject"in te&&(this.surfaceProject=te.surfaceProject),"dynamicColor"in te&&(this.dynamicColor=$(te.dynamicColor)),"dynamicTint"in te&&(this.dynamicTint=Z(te.dynamicTint,Number)),"dynamicWidth"in te&&(this.dynamicWidth=Z(te.dynamicWidth,Number)),"opacity"in te&&(this.opacity=te.opacity),"opacityscale"in te&&(this.opacityscale=te.opacityscale),"colorBounds"in te&&(this.colorBounds=te.colorBounds),"vertexColor"in te&&(this.vertexColor=te.vertexColor?1:0),"colormap"in te&&this._colorMap.setPixels(this.genColormap(te.colormap,this.opacityscale));var V=te.field||te.coords&&te.coords[2]||null,ne=!1;if(V||(this._field[2].shape[0]||this._field[2].shape[2]?V=this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):V=this._field[2].hi(0,0)),"field"in te||"coords"in te){var W=(V.shape[0]+2)*(V.shape[1]+2);W>this._field[2].data.length&&(c.freeFloat(this._field[2].data),this._field[2].data=c.mallocFloat(s.nextPow2(W))),this._field[2]=m(this._field[2].data,[V.shape[0]+2,V.shape[1]+2]),this.padField(this._field[2],V),this.shape=V.shape.slice();for(var fe=this.shape,ge=0;ge<2;++ge)this._field[2].size>this._field[ge].data.length&&(c.freeFloat(this._field[ge].data),this._field[ge].data=c.mallocFloat(this._field[2].size)),this._field[ge]=m(this._field[ge].data,[fe[0]+2,fe[1]+2]);if(te.coords){var Ce=te.coords;if(!Array.isArray(Ce)||Ce.length!==3)throw new Error("gl-surface: invalid coordinates for x/y");for(ge=0;ge<2;++ge){var Ne=Ce[ge];for(ze=0;ze<2;++ze)if(Ne.shape[ze]!==fe[ze])throw new Error("gl-surface: coords have incorrect shape");this.padField(this._field[ge],Ne)}}else if(te.ticks){var pe=te.ticks;if(!Array.isArray(pe)||pe.length!==2)throw new Error("gl-surface: invalid ticks");for(ge=0;ge<2;++ge){var me=pe[ge];if((Array.isArray(me)||me.length)&&(me=m(me)),me.shape[0]!==fe[ge])throw new Error("gl-surface: invalid tick length");var Ie=m(me.data,fe);Ie.stride[ge]=me.stride[0],Ie.stride[ge^1]=0,this.padField(this._field[ge],Ie)}}else{for(ge=0;ge<2;++ge){var Re=[0,0];Re[ge]=1,this._field[ge]=m(this._field[ge].data,[fe[0]+2,fe[1]+2],Re,0)}this._field[0].set(0,0,0);for(var ze=0;ze<fe[0];++ze)this._field[0].set(ze+1,0,ze);for(this._field[0].set(fe[0]+1,0,fe[0]-1),this._field[1].set(0,0,0),ze=0;ze<fe[1];++ze)this._field[1].set(0,ze+1,ze);this._field[1].set(0,fe[1]+1,fe[1]-1)}var Be=this._field,tt=m(c.mallocFloat(Be[2].size*3*2),[3,fe[0]+2,fe[1]+2,2]);for(ge=0;ge<3;++ge)w(tt.pick(ge),Be[ge],"mirror");var rt=m(c.mallocFloat(Be[2].size*3),[fe[0]+2,fe[1]+2,3]);for(ge=0;ge<fe[0]+2;++ge)for(ze=0;ze<fe[1]+2;++ze){var ce=tt.get(0,ge,ze,0),Ee=tt.get(0,ge,ze,1),Ae=tt.get(1,ge,ze,0),Pe=tt.get(1,ge,ze,1),He=tt.get(2,ge,ze,0),Fe=tt.get(2,ge,ze,1),ke=Ae*Fe-Pe*He,Ue=He*Ee-Fe*ce,Ge=ce*Pe-Ee*Ae,lt=Math.sqrt(ke*ke+Ue*Ue+Ge*Ge);lt<1e-8?(lt=Math.max(Math.abs(ke),Math.abs(Ue),Math.abs(Ge)),lt<1e-8?(Ge=1,Ue=ke=0,lt=1):lt=1/lt):lt=1/Math.sqrt(lt),rt.set(ge,ze,0,ke*lt),rt.set(ge,ze,1,Ue*lt),rt.set(ge,ze,2,Ge*lt)}c.free(tt.data);var it=[1/0,1/0,1/0],wt=[-1/0,-1/0,-1/0],_t=1/0,Tt=-1/0,nt=(fe[0]-1)*(fe[1]-1)*6,bt=c.mallocFloat(s.nextPow2(10*nt)),At=0,Ye=0;for(ge=0;ge<fe[0]-1;++ge){e:for(ze=0;ze<fe[1]-1;++ze){for(var je=0;je<2;++je)for(var $e=0;$e<2;++$e)for(var ve=0;ve<3;++ve){var Y=this._field[ve].get(1+ge+je,1+ze+$e);if(isNaN(Y)||!isFinite(Y))continue e}for(ve=0;ve<6;++ve){var ie=ge+E[ve][0],Te=ze+E[ve][1],Ve=this._field[0].get(ie+1,Te+1),at=this._field[1].get(ie+1,Te+1);Y=this._field[2].get(ie+1,Te+1),ke=rt.get(ie+1,Te+1,0),Ue=rt.get(ie+1,Te+1,1),Ge=rt.get(ie+1,Te+1,2),te.intensity&&(ft=te.intensity.get(ie,Te));var ft=te.intensity?te.intensity.get(ie,Te):Y+this.objectOffset[2];bt[At++]=ie,bt[At++]=Te,bt[At++]=Ve,bt[At++]=at,bt[At++]=Y,bt[At++]=0,bt[At++]=ft,bt[At++]=ke,bt[At++]=Ue,bt[At++]=Ge,it[0]=Math.min(it[0],Ve+this.objectOffset[0]),it[1]=Math.min(it[1],at+this.objectOffset[1]),it[2]=Math.min(it[2],Y+this.objectOffset[2]),_t=Math.min(_t,ft),wt[0]=Math.max(wt[0],Ve+this.objectOffset[0]),wt[1]=Math.max(wt[1],at+this.objectOffset[1]),wt[2]=Math.max(wt[2],Y+this.objectOffset[2]),Tt=Math.max(Tt,ft),Ye+=1}}}for(te.intensityBounds&&(_t=+te.intensityBounds[0],Tt=+te.intensityBounds[1]),ge=6;ge<At;ge+=10)bt[ge]=(bt[ge]-_t)/(Tt-_t);this._vertexCount=Ye,this._coordinateBuffer.update(bt.subarray(0,At)),c.freeFloat(bt),c.free(rt.data),this.bounds=[it,wt],this.intensity=te.intensity||this._field[2],(this.intensityBounds[0]!==_t||this.intensityBounds[1]!==Tt)&&(ne=!0),this.intensityBounds=[_t,Tt]}if("levels"in te){var Ht=te.levels;for(Array.isArray(Ht[0])?Ht=Ht.slice():Ht=[[],[],Ht],ge=0;ge<3;++ge)Ht[ge]=Ht[ge].slice(),Ht[ge].sort(function(Ji,ii){return Ji-ii});for(ge=0;ge<3;++ge)for(ze=0;ze<Ht[ge].length;++ze)Ht[ge][ze]-=this.objectOffset[ge];e:for(ge=0;ge<3;++ge){if(Ht[ge].length!==this.contourLevels[ge].length){ne=!0;break}for(ze=0;ze<Ht[ge].length;++ze)if(Ht[ge][ze]!==this.contourLevels[ge][ze]){ne=!0;break e}}this.contourLevels=Ht}if(ne){Be=this._field,fe=this.shape;for(var Xt=[],St=0;St<3;++St){var Vt=this.contourLevels[St],er=[],_r=[],br=[0,0,0];for(ge=0;ge<Vt.length;++ge){var or=b(this._field[St],Vt[ge]);er.push(Xt.length/5|0),Ye=0;e:for(ze=0;ze<or.cells.length;++ze){var tn=or.cells[ze];for(ve=0;ve<2;++ve){var Lr=or.positions[tn[ve]],Gr=Lr[0],sn=Math.floor(Gr)|0,Hr=Gr-sn,Br=Lr[1],qn=Math.floor(Br)|0,kn=Br-qn,Yn=!1;t:for(var Wn=0;Wn<3;++Wn){br[Wn]=0;var Fn=(St+Wn+1)%3;for(je=0;je<2;++je){var wn=je?Hr:1-Hr;for(ie=Math.min(Math.max(sn+je,0),fe[0])|0,$e=0;$e<2;++$e){var Si=$e?kn:1-kn;if(Te=Math.min(Math.max(qn+$e,0),fe[1])|0,Wn<2?Y=this._field[Fn].get(ie,Te):Y=(this.intensity.get(ie,Te)-this.intensityBounds[0])/(this.intensityBounds[1]-this.intensityBounds[0]),!isFinite(Y)||isNaN(Y)){Yn=!0;break t}var Aa=wn*Si;br[Wn]+=Aa*Y}}}if(!Yn)Xt.push(br[0],br[1],Lr[0],Lr[1],br[2]),Ye+=1;else{if(ve>0){for(var ia=0;ia<5;++ia)Xt.pop();Ye-=1}continue e}}}_r.push(Ye)}this._contourOffsets[St]=er,this._contourCounts[St]=_r}var An=c.mallocFloat(Xt.length);for(ge=0;ge<Xt.length;++ge)An[ge]=Xt[ge];this._contourBuffer.update(An),c.freeFloat(An)}},P.dispose=function(){this._shader.dispose(),this._vao.dispose(),this._coordinateBuffer.dispose(),this._colorMap.dispose(),this._contourBuffer.dispose(),this._contourVAO.dispose(),this._contourShader.dispose(),this._contourPickShader.dispose(),this._dynamicBuffer.dispose(),this._dynamicVAO.dispose();for(var te=0;te<3;++te)c.freeFloat(this._field[te].data)},P.highlight=function(te){var V;if(!te){this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],this.highlightLevel=[-1,-1,-1];return}for(V=0;V<3;++V)this.enableHighlight[V]?this.highlightLevel[V]=te.level[V]:this.highlightLevel[V]=-1;var ne;for(this.snapToData?ne=te.dataCoordinate:ne=te.position,V=0;V<3;++V)ne[V]-=this.objectOffset[V];if(!((!this.enableDynamic[0]||ne[0]===this.dynamicLevel[0])&&(!this.enableDynamic[1]||ne[1]===this.dynamicLevel[1])&&(!this.enableDynamic[2]||ne[2]===this.dynamicLevel[2]))){for(var W=0,fe=this.shape,ge=c.mallocFloat(12*fe[0]*fe[1]),Ce=0;Ce<3;++Ce){if(!this.enableDynamic[Ce]){this.dynamicLevel[Ce]=NaN,this._dynamicCounts[Ce]=0;continue}this.dynamicLevel[Ce]=ne[Ce];var Ne=(Ce+1)%3,pe=(Ce+2)%3,me=this._field[Ce],Ie=this._field[Ne],Re=this._field[pe],ze=b(me,ne[Ce]),Be=ze.cells,tt=ze.positions;for(this._dynamicOffsets[Ce]=W,V=0;V<Be.length;++V)for(var rt=Be[V],ce=0;ce<2;++ce){var Ee=tt[rt[ce]],Ae=+Ee[0],Pe=Ae|0,He=Math.min(Pe+1,fe[0])|0,Fe=Ae-Pe,ke=1-Fe,Ue=+Ee[1],Ge=Ue|0,lt=Math.min(Ge+1,fe[1])|0,it=Ue-Ge,wt=1-it,_t=ke*wt,Tt=ke*it,nt=Fe*wt,bt=Fe*it,At=_t*Ie.get(Pe,Ge)+Tt*Ie.get(Pe,lt)+nt*Ie.get(He,Ge)+bt*Ie.get(He,lt),Ye=_t*Re.get(Pe,Ge)+Tt*Re.get(Pe,lt)+nt*Re.get(He,Ge)+bt*Re.get(He,lt);if(isNaN(At)||isNaN(Ye)){ce&&(W-=1);break}ge[2*W+0]=At,ge[2*W+1]=Ye,W+=1}this._dynamicCounts[Ce]=W-this._dynamicOffsets[Ce]}this._dynamicBuffer.update(ge.subarray(0,2*W)),c.freeFloat(ge)}};function oe(te){var V=te.gl,ne=x(V),W=A(V),fe=M(V),ge=p(V),Ce=l(V),Ne=u(V,[{buffer:Ce,size:4,stride:S,offset:0},{buffer:Ce,size:3,stride:S,offset:16},{buffer:Ce,size:3,stride:S,offset:28}]),pe=l(V),me=u(V,[{buffer:pe,size:4,stride:20,offset:0},{buffer:pe,size:1,stride:20,offset:16}]),Ie=l(V),Re=u(V,[{buffer:Ie,size:2,type:V.FLOAT}]),ze=f(V,1,R,V.RGBA,V.UNSIGNED_BYTE);ze.minFilter=V.LINEAR,ze.magFilter=V.LINEAR;var Be=new I(V,[0,0],[[0,0,0],[0,0,0]],ne,W,Ce,Ne,ze,fe,ge,pe,me,Ie,Re,[0,0,0]),tt={levels:[[],[],[]]};for(var rt in te)tt[rt]=te[rt];return tt.colormap=tt.colormap||"jet",Be.update(tt),Be}},7766:function(i,a,o){"use strict";var s=o(9618),l=o(5298),u=o(1888);i.exports=p;var f=null,c=null,h=null;function d(S){f=[S.LINEAR,S.NEAREST_MIPMAP_LINEAR,S.LINEAR_MIPMAP_NEAREST,S.LINEAR_MIPMAP_NEAREST],c=[S.NEAREST,S.LINEAR,S.NEAREST_MIPMAP_NEAREST,S.NEAREST_MIPMAP_LINEAR,S.LINEAR_MIPMAP_NEAREST,S.LINEAR_MIPMAP_LINEAR],h=[S.REPEAT,S.CLAMP_TO_EDGE,S.MIRRORED_REPEAT]}function v(S){return typeof HTMLCanvasElement<"u"&&S instanceof HTMLCanvasElement||typeof HTMLImageElement<"u"&&S instanceof HTMLImageElement||typeof HTMLVideoElement<"u"&&S instanceof HTMLVideoElement||typeof ImageData<"u"&&S instanceof ImageData}var m=function(S,y){l.muls(S,y,255)};function b(S,y,E){var C=S.gl,L=C.getParameter(C.MAX_TEXTURE_SIZE);if(y<0||y>L||E<0||E>L)throw new Error("gl-texture2d: Invalid texture size");return S._shape=[y,E],S.bind(),C.texImage2D(C.TEXTURE_2D,0,S.format,y,E,0,S.format,S.type,null),S._mipLevels=[0],S}function g(S,y,E,C,L,R){this.gl=S,this.handle=y,this.format=L,this.type=R,this._shape=[E,C],this._mipLevels=[0],this._magFilter=S.NEAREST,this._minFilter=S.NEAREST,this._wrapS=S.CLAMP_TO_EDGE,this._wrapT=S.CLAMP_TO_EDGE,this._anisoSamples=1;var I=this,P=[this._wrapS,this._wrapT];Object.defineProperties(P,[{get:function(){return I._wrapS},set:function(q){return I.wrapS=q}},{get:function(){return I._wrapT},set:function(q){return I.wrapT=q}}]),this._wrapVector=P;var D=[this._shape[0],this._shape[1]];Object.defineProperties(D,[{get:function(){return I._shape[0]},set:function(q){return I.width=q}},{get:function(){return I._shape[1]},set:function(q){return I.height=q}}]),this._shapeVector=D}var _=g.prototype;Object.defineProperties(_,{minFilter:{get:function(){return this._minFilter},set:function(S){this.bind();var y=this.gl;if(this.type===y.FLOAT&&f.indexOf(S)>=0&&(y.getExtension("OES_texture_float_linear")||(S=y.NEAREST)),c.indexOf(S)<0)throw new Error("gl-texture2d: Unknown filter mode "+S);return y.texParameteri(y.TEXTURE_2D,y.TEXTURE_MIN_FILTER,S),this._minFilter=S}},magFilter:{get:function(){return this._magFilter},set:function(S){this.bind();var y=this.gl;if(this.type===y.FLOAT&&f.indexOf(S)>=0&&(y.getExtension("OES_texture_float_linear")||(S=y.NEAREST)),c.indexOf(S)<0)throw new Error("gl-texture2d: Unknown filter mode "+S);return y.texParameteri(y.TEXTURE_2D,y.TEXTURE_MAG_FILTER,S),this._magFilter=S}},mipSamples:{get:function(){return this._anisoSamples},set:function(S){var y=this._anisoSamples;if(this._anisoSamples=Math.max(S,1)|0,y!==this._anisoSamples){var E=this.gl.getExtension("EXT_texture_filter_anisotropic");E&&this.gl.texParameterf(this.gl.TEXTURE_2D,E.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(S){if(this.bind(),h.indexOf(S)<0)throw new Error("gl-texture2d: Unknown wrap mode "+S);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,S),this._wrapS=S}},wrapT:{get:function(){return this._wrapT},set:function(S){if(this.bind(),h.indexOf(S)<0)throw new Error("gl-texture2d: Unknown wrap mode "+S);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,S),this._wrapT=S}},wrap:{get:function(){return this._wrapVector},set:function(S){if(Array.isArray(S)||(S=[S,S]),S.length!==2)throw new Error("gl-texture2d: Must specify wrap mode for rows and columns");for(var y=0;y<2;++y)if(h.indexOf(S[y])<0)throw new Error("gl-texture2d: Unknown wrap mode "+S);this._wrapS=S[0],this._wrapT=S[1];var E=this.gl;return this.bind(),E.texParameteri(E.TEXTURE_2D,E.TEXTURE_WRAP_S,this._wrapS),E.texParameteri(E.TEXTURE_2D,E.TEXTURE_WRAP_T,this._wrapT),S}},shape:{get:function(){return this._shapeVector},set:function(S){if(!Array.isArray(S))S=[S|0,S|0];else if(S.length!==2)throw new Error("gl-texture2d: Invalid texture shape");return b(this,S[0]|0,S[1]|0),[S[0]|0,S[1]|0]}},width:{get:function(){return this._shape[0]},set:function(S){return S=S|0,b(this,S,this._shape[1]),S}},height:{get:function(){return this._shape[1]},set:function(S){return S=S|0,b(this,this._shape[0],S),S}}}),_.bind=function(S){var y=this.gl;return S!==void 0&&y.activeTexture(y.TEXTURE0+(S|0)),y.bindTexture(y.TEXTURE_2D,this.handle),S!==void 0?S|0:y.getParameter(y.ACTIVE_TEXTURE)-y.TEXTURE0},_.dispose=function(){this.gl.deleteTexture(this.handle)},_.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var S=Math.min(this._shape[0],this._shape[1]),y=0;S>0;++y,S>>>=1)this._mipLevels.indexOf(y)<0&&this._mipLevels.push(y)},_.setPixels=function(S,y,E,C){var L=this.gl;this.bind(),Array.isArray(y)?(C=E,E=y[1]|0,y=y[0]|0):(y=y||0,E=E||0),C=C||0;var R=v(S)?S:S.raw;if(R){var I=this._mipLevels.indexOf(C)<0;I?(L.texImage2D(L.TEXTURE_2D,0,this.format,this.format,this.type,R),this._mipLevels.push(C)):L.texSubImage2D(L.TEXTURE_2D,C,y,E,this.format,this.type,R)}else if(S.shape&&S.stride&&S.data){if(S.shape.length<2||y+S.shape[1]>this._shape[1]>>>C||E+S.shape[0]>this._shape[0]>>>C||y<0||E<0)throw new Error("gl-texture2d: Texture dimensions are out of bounds");w(L,y,E,C,this.format,this.type,this._mipLevels,S)}else throw new Error("gl-texture2d: Unsupported data type")};function T(S,y){return S.length===3?y[2]===1&&y[1]===S[0]*S[2]&&y[0]===S[2]:y[0]===1&&y[1]===S[0]}function w(S,y,E,C,L,R,I,P){var D=P.dtype,q=P.shape.slice();if(q.length<2||q.length>3)throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var N=0,U=0,G=T(q,P.stride.slice());D==="float32"?N=S.FLOAT:D==="float64"?(N=S.FLOAT,G=!1,D="float32"):D==="uint8"?N=S.UNSIGNED_BYTE:(N=S.UNSIGNED_BYTE,G=!1,D="uint8");var ee=1;if(q.length===2)U=S.LUMINANCE,q=[q[0],q[1],1],P=s(P.data,q,[P.stride[0],P.stride[1],1],P.offset);else if(q.length===3){if(q[2]===1)U=S.ALPHA;else if(q[2]===2)U=S.LUMINANCE_ALPHA;else if(q[2]===3)U=S.RGB;else if(q[2]===4)U=S.RGBA;else throw new Error("gl-texture2d: Invalid shape for pixel coords");ee=q[2]}else throw new Error("gl-texture2d: Invalid shape for texture");if((U===S.LUMINANCE||U===S.ALPHA)&&(L===S.LUMINANCE||L===S.ALPHA)&&(U=L),U!==L)throw new Error("gl-texture2d: Incompatible texture format for setPixels");var Q=P.size,j=I.indexOf(C)<0;if(j&&I.push(C),N===R&&G)P.offset===0&&P.data.length===Q?j?S.texImage2D(S.TEXTURE_2D,C,L,q[0],q[1],0,L,R,P.data):S.texSubImage2D(S.TEXTURE_2D,C,y,E,q[0],q[1],L,R,P.data):j?S.texImage2D(S.TEXTURE_2D,C,L,q[0],q[1],0,L,R,P.data.subarray(P.offset,P.offset+Q)):S.texSubImage2D(S.TEXTURE_2D,C,y,E,q[0],q[1],L,R,P.data.subarray(P.offset,P.offset+Q));else{var O;R===S.FLOAT?O=u.mallocFloat32(Q):O=u.mallocUint8(Q);var Z=s(O,q,[q[2],q[2]*q[0],1]);N===S.FLOAT&&R===S.UNSIGNED_BYTE?m(Z,P):l.assign(Z,P),j?S.texImage2D(S.TEXTURE_2D,C,L,q[0],q[1],0,L,R,O.subarray(0,Q)):S.texSubImage2D(S.TEXTURE_2D,C,y,E,q[0],q[1],L,R,O.subarray(0,Q)),R===S.FLOAT?u.freeFloat32(O):u.freeUint8(O)}}function k(S){var y=S.createTexture();return S.bindTexture(S.TEXTURE_2D,y),S.texParameteri(S.TEXTURE_2D,S.TEXTURE_MIN_FILTER,S.NEAREST),S.texParameteri(S.TEXTURE_2D,S.TEXTURE_MAG_FILTER,S.NEAREST),S.texParameteri(S.TEXTURE_2D,S.TEXTURE_WRAP_S,S.CLAMP_TO_EDGE),S.texParameteri(S.TEXTURE_2D,S.TEXTURE_WRAP_T,S.CLAMP_TO_EDGE),y}function x(S,y,E,C,L){var R=S.getParameter(S.MAX_TEXTURE_SIZE);if(y<0||y>R||E<0||E>R)throw new Error("gl-texture2d: Invalid texture shape");if(L===S.FLOAT&&!S.getExtension("OES_texture_float"))throw new Error("gl-texture2d: Floating point textures not supported on this platform");var I=k(S);return S.texImage2D(S.TEXTURE_2D,0,C,y,E,0,C,L,null),new g(S,I,y,E,C,L)}function M(S,y,E,C,L,R){var I=k(S);return S.texImage2D(S.TEXTURE_2D,0,L,L,R,y),new g(S,I,E,C,L,R)}function A(S,y){var E=y.dtype,C=y.shape.slice(),L=S.getParameter(S.MAX_TEXTURE_SIZE);if(C[0]<0||C[0]>L||C[1]<0||C[1]>L)throw new Error("gl-texture2d: Invalid texture size");var R=T(C,y.stride.slice()),I=0;E==="float32"?I=S.FLOAT:E==="float64"?(I=S.FLOAT,R=!1,E="float32"):E==="uint8"?I=S.UNSIGNED_BYTE:(I=S.UNSIGNED_BYTE,R=!1,E="uint8");var P=0;if(C.length===2)P=S.LUMINANCE,C=[C[0],C[1],1],y=s(y.data,C,[y.stride[0],y.stride[1],1],y.offset);else if(C.length===3)if(C[2]===1)P=S.ALPHA;else if(C[2]===2)P=S.LUMINANCE_ALPHA;else if(C[2]===3)P=S.RGB;else if(C[2]===4)P=S.RGBA;else throw new Error("gl-texture2d: Invalid shape for pixel coords");else throw new Error("gl-texture2d: Invalid shape for texture");I===S.FLOAT&&!S.getExtension("OES_texture_float")&&(I=S.UNSIGNED_BYTE,R=!1);var D,q,N=y.size;if(R)y.offset===0&&y.data.length===N?D=y.data:D=y.data.subarray(y.offset,y.offset+N);else{var U=[C[2],C[2]*C[0],1];q=u.malloc(N,E);var G=s(q,C,U,0);(E==="float32"||E==="float64")&&I===S.UNSIGNED_BYTE?m(G,y):l.assign(G,y),D=q.subarray(0,N)}var ee=k(S);return S.texImage2D(S.TEXTURE_2D,0,P,C[0],C[1],0,P,I,D),R||u.free(q),new g(S,ee,C[0],C[1],P,I)}function p(S){if(arguments.length<=1)throw new Error("gl-texture2d: Missing arguments for texture2d constructor");if(f||d(S),typeof arguments[1]=="number")return x(S,arguments[1],arguments[2],arguments[3]||S.RGBA,arguments[4]||S.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return x(S,arguments[1][0]|0,arguments[1][1]|0,arguments[2]||S.RGBA,arguments[3]||S.UNSIGNED_BYTE);if(typeof arguments[1]=="object"){var y=arguments[1],E=v(y)?y:y.raw;if(E)return M(S,E,y.width|0,y.height|0,arguments[2]||S.RGBA,arguments[3]||S.UNSIGNED_BYTE);if(y.shape&&y.data&&y.stride)return A(S,y)}throw new Error("gl-texture2d: Invalid arguments for texture2d constructor")}},1433:function(i){"use strict";function a(o,s,l){s?s.bind():o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,null);var u=o.getParameter(o.MAX_VERTEX_ATTRIBS)|0;if(l){if(l.length>u)throw new Error("gl-vao: Too many vertex attributes");for(var f=0;f<l.length;++f){var c=l[f];if(c.buffer){var h=c.buffer,d=c.size||4,v=c.type||o.FLOAT,m=!!c.normalized,b=c.stride||0,g=c.offset||0;h.bind(),o.enableVertexAttribArray(f),o.vertexAttribPointer(f,d,v,m,b,g)}else{if(typeof c=="number")o.vertexAttrib1f(f,c);else if(c.length===1)o.vertexAttrib1f(f,c[0]);else if(c.length===2)o.vertexAttrib2f(f,c[0],c[1]);else if(c.length===3)o.vertexAttrib3f(f,c[0],c[1],c[2]);else if(c.length===4)o.vertexAttrib4f(f,c[0],c[1],c[2],c[3]);else throw new Error("gl-vao: Invalid vertex attribute");o.disableVertexAttribArray(f)}}for(;f<u;++f)o.disableVertexAttribArray(f)}else{o.bindBuffer(o.ARRAY_BUFFER,null);for(var f=0;f<u;++f)o.disableVertexAttribArray(f)}}i.exports=a},870:function(i,a,o){"use strict";var s=o(1433);function l(f){this.gl=f,this._elements=null,this._attributes=null,this._elementsType=f.UNSIGNED_SHORT}l.prototype.bind=function(){s(this.gl,this._elements,this._attributes)},l.prototype.update=function(f,c,h){this._elements=c,this._attributes=f,this._elementsType=h||this.gl.UNSIGNED_SHORT},l.prototype.dispose=function(){},l.prototype.unbind=function(){},l.prototype.draw=function(f,c,h){h=h||0;var d=this.gl;this._elements?d.drawElements(f,c,this._elementsType,h):d.drawArrays(f,h,c)};function u(f){return new l(f)}i.exports=u},7518:function(i,a,o){"use strict";var s=o(1433);function l(c,h,d,v,m,b){this.location=c,this.dimension=h,this.a=d,this.b=v,this.c=m,this.d=b}l.prototype.bind=function(c){switch(this.dimension){case 1:c.vertexAttrib1f(this.location,this.a);break;case 2:c.vertexAttrib2f(this.location,this.a,this.b);break;case 3:c.vertexAttrib3f(this.location,this.a,this.b,this.c);break;case 4:c.vertexAttrib4f(this.location,this.a,this.b,this.c,this.d);break}};function u(c,h,d){this.gl=c,this._ext=h,this.handle=d,this._attribs=[],this._useElements=!1,this._elementsType=c.UNSIGNED_SHORT}u.prototype.bind=function(){this._ext.bindVertexArrayOES(this.handle);for(var c=0;c<this._attribs.length;++c)this._attribs[c].bind(this.gl)},u.prototype.unbind=function(){this._ext.bindVertexArrayOES(null)},u.prototype.dispose=function(){this._ext.deleteVertexArrayOES(this.handle)},u.prototype.update=function(c,h,d){if(this.bind(),s(this.gl,h,c),this.unbind(),this._attribs.length=0,c)for(var v=0;v<c.length;++v){var m=c[v];typeof m=="number"?this._attribs.push(new l(v,1,m)):Array.isArray(m)&&this._attribs.push(new l(v,m.length,m[0],m[1],m[2],m[3]))}this._useElements=!!h,this._elementsType=d||this.gl.UNSIGNED_SHORT},u.prototype.draw=function(c,h,d){d=d||0;var v=this.gl;this._useElements?v.drawElements(c,h,this._elementsType,d):v.drawArrays(c,d,h)};function f(c,h){return new u(c,h,h.createVertexArrayOES())}i.exports=f},8116:function(i,a,o){"use strict";var s=o(7518),l=o(870);function u(c){this.bindVertexArrayOES=c.bindVertexArray.bind(c),this.createVertexArrayOES=c.createVertexArray.bind(c),this.deleteVertexArrayOES=c.deleteVertexArray.bind(c)}function f(c,h,d,v){var m=c.createVertexArray?new u(c):c.getExtension("OES_vertex_array_object"),b;return m?b=s(c,m):b=l(c),b.update(h,d,v),b}i.exports=f},5632:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]+l[0],o[1]=s[1]+l[1],o[2]=s[2]+l[2],o}},8192:function(i,a,o){i.exports=f;var s=o(2825),l=o(3536),u=o(244);function f(c,h){var d=s(c[0],c[1],c[2]),v=s(h[0],h[1],h[2]);l(d,d),l(v,v);var m=u(d,v);return m>1?0:Math.acos(m)}},9226:function(i){i.exports=a;function a(o,s){return o[0]=Math.ceil(s[0]),o[1]=Math.ceil(s[1]),o[2]=Math.ceil(s[2]),o}},3126:function(i){i.exports=a;function a(o){var s=new Float32Array(3);return s[0]=o[0],s[1]=o[1],s[2]=o[2],s}},3990:function(i){i.exports=a;function a(o,s){return o[0]=s[0],o[1]=s[1],o[2]=s[2],o}},1091:function(i){i.exports=a;function a(){var o=new Float32Array(3);return o[0]=0,o[1]=0,o[2]=0,o}},5911:function(i){i.exports=a;function a(o,s,l){var u=s[0],f=s[1],c=s[2],h=l[0],d=l[1],v=l[2];return o[0]=f*v-c*d,o[1]=c*h-u*v,o[2]=u*d-f*h,o}},5455:function(i,a,o){i.exports=o(7056)},7056:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],f=s[2]-o[2];return Math.sqrt(l*l+u*u+f*f)}},4008:function(i,a,o){i.exports=o(6690)},6690:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]/l[0],o[1]=s[1]/l[1],o[2]=s[2]/l[2],o}},244:function(i){i.exports=a;function a(o,s){return o[0]*s[0]+o[1]*s[1]+o[2]*s[2]}},2613:function(i){i.exports=1e-6},9922:function(i,a,o){i.exports=l;var s=o(2613);function l(u,f){var c=u[0],h=u[1],d=u[2],v=f[0],m=f[1],b=f[2];return Math.abs(c-v)<=s*Math.max(1,Math.abs(c),Math.abs(v))&&Math.abs(h-m)<=s*Math.max(1,Math.abs(h),Math.abs(m))&&Math.abs(d-b)<=s*Math.max(1,Math.abs(d),Math.abs(b))}},9265:function(i){i.exports=a;function a(o,s){return o[0]===s[0]&&o[1]===s[1]&&o[2]===s[2]}},2681:function(i){i.exports=a;function a(o,s){return o[0]=Math.floor(s[0]),o[1]=Math.floor(s[1]),o[2]=Math.floor(s[2]),o}},5137:function(i,a,o){i.exports=l;var s=o(1091)();function l(u,f,c,h,d,v){var m,b;for(f||(f=3),c||(c=0),h?b=Math.min(h*f+c,u.length):b=u.length,m=c;m<b;m+=f)s[0]=u[m],s[1]=u[m+1],s[2]=u[m+2],d(s,s,v),u[m]=s[0],u[m+1]=s[1],u[m+2]=s[2];return u}},2825:function(i){i.exports=a;function a(o,s,l){var u=new Float32Array(3);return u[0]=o,u[1]=s,u[2]=l,u}},2931:function(i,a,o){i.exports={EPSILON:o(2613),create:o(1091),clone:o(3126),angle:o(8192),fromValues:o(2825),copy:o(3990),set:o(1463),equals:o(9922),exactEquals:o(9265),add:o(5632),subtract:o(6843),sub:o(2229),multiply:o(5847),mul:o(4505),divide:o(6690),div:o(4008),min:o(8107),max:o(7417),floor:o(2681),ceil:o(9226),round:o(2447),scale:o(6621),scaleAndAdd:o(8489),distance:o(7056),dist:o(5455),squaredDistance:o(2953),sqrDist:o(6141),length:o(1387),len:o(868),squaredLength:o(3066),sqrLen:o(5486),negate:o(5093),inverse:o(811),normalize:o(3536),dot:o(244),cross:o(5911),lerp:o(6658),random:o(7636),transformMat4:o(5673),transformMat3:o(492),transformQuat:o(264),rotateX:o(6894),rotateY:o(109),rotateZ:o(8692),forEach:o(5137)}},811:function(i){i.exports=a;function a(o,s){return o[0]=1/s[0],o[1]=1/s[1],o[2]=1/s[2],o}},868:function(i,a,o){i.exports=o(1387)},1387:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2];return Math.sqrt(s*s+l*l+u*u)}},6658:function(i){i.exports=a;function a(o,s,l,u){var f=s[0],c=s[1],h=s[2];return o[0]=f+u*(l[0]-f),o[1]=c+u*(l[1]-c),o[2]=h+u*(l[2]-h),o}},7417:function(i){i.exports=a;function a(o,s,l){return o[0]=Math.max(s[0],l[0]),o[1]=Math.max(s[1],l[1]),o[2]=Math.max(s[2],l[2]),o}},8107:function(i){i.exports=a;function a(o,s,l){return o[0]=Math.min(s[0],l[0]),o[1]=Math.min(s[1],l[1]),o[2]=Math.min(s[2],l[2]),o}},4505:function(i,a,o){i.exports=o(5847)},5847:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l[0],o[1]=s[1]*l[1],o[2]=s[2]*l[2],o}},5093:function(i){i.exports=a;function a(o,s){return o[0]=-s[0],o[1]=-s[1],o[2]=-s[2],o}},3536:function(i){i.exports=a;function a(o,s){var l=s[0],u=s[1],f=s[2],c=l*l+u*u+f*f;return c>0&&(c=1/Math.sqrt(c),o[0]=s[0]*c,o[1]=s[1]*c,o[2]=s[2]*c),o}},7636:function(i){i.exports=a;function a(o,s){s=s||1;var l=Math.random()*2*Math.PI,u=Math.random()*2-1,f=Math.sqrt(1-u*u)*s;return o[0]=Math.cos(l)*f,o[1]=Math.sin(l)*f,o[2]=u*s,o}},6894:function(i){i.exports=a;function a(o,s,l,u){var f=l[1],c=l[2],h=s[1]-f,d=s[2]-c,v=Math.sin(u),m=Math.cos(u);return o[0]=s[0],o[1]=f+h*m-d*v,o[2]=c+h*v+d*m,o}},109:function(i){i.exports=a;function a(o,s,l,u){var f=l[0],c=l[2],h=s[0]-f,d=s[2]-c,v=Math.sin(u),m=Math.cos(u);return o[0]=f+d*v+h*m,o[1]=s[1],o[2]=c+d*m-h*v,o}},8692:function(i){i.exports=a;function a(o,s,l,u){var f=l[0],c=l[1],h=s[0]-f,d=s[1]-c,v=Math.sin(u),m=Math.cos(u);return o[0]=f+h*m-d*v,o[1]=c+h*v+d*m,o[2]=s[2],o}},2447:function(i){i.exports=a;function a(o,s){return o[0]=Math.round(s[0]),o[1]=Math.round(s[1]),o[2]=Math.round(s[2]),o}},6621:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l,o[1]=s[1]*l,o[2]=s[2]*l,o}},8489:function(i){i.exports=a;function a(o,s,l,u){return o[0]=s[0]+l[0]*u,o[1]=s[1]+l[1]*u,o[2]=s[2]+l[2]*u,o}},1463:function(i){i.exports=a;function a(o,s,l,u){return o[0]=s,o[1]=l,o[2]=u,o}},6141:function(i,a,o){i.exports=o(2953)},5486:function(i,a,o){i.exports=o(3066)},2953:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],f=s[2]-o[2];return l*l+u*u+f*f}},3066:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2];return s*s+l*l+u*u}},2229:function(i,a,o){i.exports=o(6843)},6843:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]-l[0],o[1]=s[1]-l[1],o[2]=s[2]-l[2],o}},492:function(i){i.exports=a;function a(o,s,l){var u=s[0],f=s[1],c=s[2];return o[0]=u*l[0]+f*l[3]+c*l[6],o[1]=u*l[1]+f*l[4]+c*l[7],o[2]=u*l[2]+f*l[5]+c*l[8],o}},5673:function(i){i.exports=a;function a(o,s,l){var u=s[0],f=s[1],c=s[2],h=l[3]*u+l[7]*f+l[11]*c+l[15];return h=h||1,o[0]=(l[0]*u+l[4]*f+l[8]*c+l[12])/h,o[1]=(l[1]*u+l[5]*f+l[9]*c+l[13])/h,o[2]=(l[2]*u+l[6]*f+l[10]*c+l[14])/h,o}},264:function(i){i.exports=a;function a(o,s,l){var u=s[0],f=s[1],c=s[2],h=l[0],d=l[1],v=l[2],m=l[3],b=m*u+d*c-v*f,g=m*f+v*u-h*c,_=m*c+h*f-d*u,T=-h*u-d*f-v*c;return o[0]=b*m+T*-h+g*-v-_*-d,o[1]=g*m+T*-d+_*-h-b*-v,o[2]=_*m+T*-v+b*-d-g*-h,o}},4361:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]+l[0],o[1]=s[1]+l[1],o[2]=s[2]+l[2],o[3]=s[3]+l[3],o}},2335:function(i){i.exports=a;function a(o){var s=new Float32Array(4);return s[0]=o[0],s[1]=o[1],s[2]=o[2],s[3]=o[3],s}},2933:function(i){i.exports=a;function a(o,s){return o[0]=s[0],o[1]=s[1],o[2]=s[2],o[3]=s[3],o}},7536:function(i){i.exports=a;function a(){var o=new Float32Array(4);return o[0]=0,o[1]=0,o[2]=0,o[3]=0,o}},4691:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],f=s[2]-o[2],c=s[3]-o[3];return Math.sqrt(l*l+u*u+f*f+c*c)}},1373:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]/l[0],o[1]=s[1]/l[1],o[2]=s[2]/l[2],o[3]=s[3]/l[3],o}},3750:function(i){i.exports=a;function a(o,s){return o[0]*s[0]+o[1]*s[1]+o[2]*s[2]+o[3]*s[3]}},3390:function(i){i.exports=a;function a(o,s,l,u){var f=new Float32Array(4);return f[0]=o,f[1]=s,f[2]=l,f[3]=u,f}},9970:function(i,a,o){i.exports={create:o(7536),clone:o(2335),fromValues:o(3390),copy:o(2933),set:o(4578),add:o(4361),subtract:o(6860),multiply:o(3576),divide:o(1373),min:o(2334),max:o(160),scale:o(9288),scaleAndAdd:o(4844),distance:o(4691),squaredDistance:o(7960),length:o(6808),squaredLength:o(483),negate:o(1498),inverse:o(4494),normalize:o(5177),dot:o(3750),lerp:o(2573),random:o(9131),transformMat4:o(5352),transformQuat:o(4041)}},4494:function(i){i.exports=a;function a(o,s){return o[0]=1/s[0],o[1]=1/s[1],o[2]=1/s[2],o[3]=1/s[3],o}},6808:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2],f=o[3];return Math.sqrt(s*s+l*l+u*u+f*f)}},2573:function(i){i.exports=a;function a(o,s,l,u){var f=s[0],c=s[1],h=s[2],d=s[3];return o[0]=f+u*(l[0]-f),o[1]=c+u*(l[1]-c),o[2]=h+u*(l[2]-h),o[3]=d+u*(l[3]-d),o}},160:function(i){i.exports=a;function a(o,s,l){return o[0]=Math.max(s[0],l[0]),o[1]=Math.max(s[1],l[1]),o[2]=Math.max(s[2],l[2]),o[3]=Math.max(s[3],l[3]),o}},2334:function(i){i.exports=a;function a(o,s,l){return o[0]=Math.min(s[0],l[0]),o[1]=Math.min(s[1],l[1]),o[2]=Math.min(s[2],l[2]),o[3]=Math.min(s[3],l[3]),o}},3576:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l[0],o[1]=s[1]*l[1],o[2]=s[2]*l[2],o[3]=s[3]*l[3],o}},1498:function(i){i.exports=a;function a(o,s){return o[0]=-s[0],o[1]=-s[1],o[2]=-s[2],o[3]=-s[3],o}},5177:function(i){i.exports=a;function a(o,s){var l=s[0],u=s[1],f=s[2],c=s[3],h=l*l+u*u+f*f+c*c;return h>0&&(h=1/Math.sqrt(h),o[0]=l*h,o[1]=u*h,o[2]=f*h,o[3]=c*h),o}},9131:function(i,a,o){var s=o(5177),l=o(9288);i.exports=u;function u(f,c){return c=c||1,f[0]=Math.random(),f[1]=Math.random(),f[2]=Math.random(),f[3]=Math.random(),s(f,f),l(f,f,c),f}},9288:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l,o[1]=s[1]*l,o[2]=s[2]*l,o[3]=s[3]*l,o}},4844:function(i){i.exports=a;function a(o,s,l,u){return o[0]=s[0]+l[0]*u,o[1]=s[1]+l[1]*u,o[2]=s[2]+l[2]*u,o[3]=s[3]+l[3]*u,o}},4578:function(i){i.exports=a;function a(o,s,l,u,f){return o[0]=s,o[1]=l,o[2]=u,o[3]=f,o}},7960:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],f=s[2]-o[2],c=s[3]-o[3];return l*l+u*u+f*f+c*c}},483:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2],f=o[3];return s*s+l*l+u*u+f*f}},6860:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]-l[0],o[1]=s[1]-l[1],o[2]=s[2]-l[2],o[3]=s[3]-l[3],o}},5352:function(i){i.exports=a;function a(o,s,l){var u=s[0],f=s[1],c=s[2],h=s[3];return o[0]=l[0]*u+l[4]*f+l[8]*c+l[12]*h,o[1]=l[1]*u+l[5]*f+l[9]*c+l[13]*h,o[2]=l[2]*u+l[6]*f+l[10]*c+l[14]*h,o[3]=l[3]*u+l[7]*f+l[11]*c+l[15]*h,o}},4041:function(i){i.exports=a;function a(o,s,l){var u=s[0],f=s[1],c=s[2],h=l[0],d=l[1],v=l[2],m=l[3],b=m*u+d*c-v*f,g=m*f+v*u-h*c,_=m*c+h*f-d*u,T=-h*u-d*f-v*c;return o[0]=b*m+T*-h+g*-v-_*-d,o[1]=g*m+T*-d+_*-h-b*-v,o[2]=_*m+T*-v+b*-d-g*-h,o[3]=s[3],o}},1848:function(i,a,o){var s=o(4905),l=o(6468);i.exports=u;function u(f){for(var c=Array.isArray(f)?f:s(f),h=0;h<c.length;h++){var d=c[h];if(d.type==="preprocessor"){var v=d.data.match(/\#define\s+SHADER_NAME(_B64)?\s+(.+)$/);if(v&&v[2]){var m=v[1],b=v[2];return(m?l(b):b).trim()}}}}},5874:function(i,a,o){i.exports=y;var s=o(620),l=o(7827),u=o(6852),f=o(7932),c=o(3508),h=999,d=9999,v=0,m=1,b=2,g=3,_=4,T=5,w=6,k=7,x=8,M=9,A=10,p=11,S=["block-comment","line-comment","preprocessor","operator","integer","float","ident","builtin","keyword","whitespace","eof","integer"];function y(E){var C=0,L=0,R=h,I,P,D=[],q=[],N=0,U=0,G=1,ee=0,Q=0,j=!1,O=!1,Z="",K;E=E||{};var $=u,oe=s;E.version==="300 es"&&($=c,oe=f);for(var te={},V={},C=0;C<$.length;C++)te[$[C]]=!0;for(var C=0;C<oe.length;C++)V[oe[C]]=!0;return function(ce){return q=[],ce!==null?W(ce):fe()};function ne(ce){ce.length&&q.push({type:S[R],data:ce,position:Q,line:G,column:ee})}function W(ce){C=0,ce.toString&&(ce=ce.toString()),Z+=ce.replace(/\r\n/g,`
|
|
`),K=Z.length;for(var Ee;I=Z[C],C<K;){switch(Ee=C,R){case v:C=me();break;case m:C=pe();break;case b:C=Ne();break;case g:C=Ie();break;case _:C=Be();break;case p:C=ze();break;case T:C=tt();break;case d:C=rt();break;case M:C=Ce();break;case h:C=ge();break}if(Ee!==C)switch(Z[Ee]){case`
|
|
`:ee=0,++G;break;default:++ee;break}}return L+=C,Z=Z.slice(C),q}function fe(ce){return D.length&&ne(D.join("")),R=A,ne("(eof)"),q}function ge(){return D=D.length?[]:D,P==="/"&&I==="*"?(Q=L+C-1,R=v,P=I,C+1):P==="/"&&I==="/"?(Q=L+C-1,R=m,P=I,C+1):I==="#"?(R=b,Q=L+C,C):/\s/.test(I)?(R=M,Q=L+C,C):(j=/\d/.test(I),O=/[^\w_]/.test(I),Q=L+C,R=j?_:O?g:d,C)}function Ce(){return/[^\s]/g.test(I)?(ne(D.join("")),R=h,C):(D.push(I),P=I,C+1)}function Ne(){return(I==="\r"||I===`
|
|
`)&&P!=="\\"?(ne(D.join("")),R=h,C):(D.push(I),P=I,C+1)}function pe(){return Ne()}function me(){return I==="/"&&P==="*"?(D.push(I),ne(D.join("")),R=h,C+1):(D.push(I),P=I,C+1)}function Ie(){if(P==="."&&/\d/.test(I))return R=T,C;if(P==="/"&&I==="*")return R=v,C;if(P==="/"&&I==="/")return R=m,C;if(I==="."&&D.length){for(;Re(D););return R=T,C}if(I===";"||I===")"||I==="("){if(D.length)for(;Re(D););return ne(I),R=h,C+1}var ce=D.length===2&&I!=="=";if(/[\w_\d\s]/.test(I)||ce){for(;Re(D););return R=h,C}return D.push(I),P=I,C+1}function Re(ce){var Ee=0,Ae,Pe;do{if(Ae=l.indexOf(ce.slice(0,ce.length+Ee).join("")),Pe=l[Ae],Ae===-1){if(Ee--+ce.length>0)continue;Pe=ce.slice(0,1).join("")}return ne(Pe),Q+=Pe.length,D=D.slice(Pe.length),D.length}while(1)}function ze(){return/[^a-fA-F0-9]/.test(I)?(ne(D.join("")),R=h,C):(D.push(I),P=I,C+1)}function Be(){return I==="."||/[eE]/.test(I)?(D.push(I),R=T,P=I,C+1):I==="x"&&D.length===1&&D[0]==="0"?(R=p,D.push(I),P=I,C+1):/[^\d]/.test(I)?(ne(D.join("")),R=h,C):(D.push(I),P=I,C+1)}function tt(){return I==="f"&&(D.push(I),P=I,C+=1),/[eE]/.test(I)||(I==="-"||I==="+")&&/[eE]/.test(P)?(D.push(I),P=I,C+1):/[^\d]/.test(I)?(ne(D.join("")),R=h,C):(D.push(I),P=I,C+1)}function rt(){if(/[^\d\w_]/.test(I)){var ce=D.join("");return V[ce]?R=x:te[ce]?R=k:R=w,ne(D.join("")),R=h,C}return D.push(I),P=I,C+1}}},3508:function(i,a,o){var s=o(6852);s=s.slice().filter(function(l){return!/^(gl\_|texture)/.test(l)}),i.exports=s.concat(["gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","trunc","round","roundEven","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","outerProduct","transpose","determinant","inverse","texture","textureSize","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset"])},6852:function(i){i.exports=["abs","acos","all","any","asin","atan","ceil","clamp","cos","cross","dFdx","dFdy","degrees","distance","dot","equal","exp","exp2","faceforward","floor","fract","gl_BackColor","gl_BackLightModelProduct","gl_BackLightProduct","gl_BackMaterial","gl_BackSecondaryColor","gl_ClipPlane","gl_ClipVertex","gl_Color","gl_DepthRange","gl_DepthRangeParameters","gl_EyePlaneQ","gl_EyePlaneR","gl_EyePlaneS","gl_EyePlaneT","gl_Fog","gl_FogCoord","gl_FogFragCoord","gl_FogParameters","gl_FragColor","gl_FragCoord","gl_FragData","gl_FragDepth","gl_FragDepthEXT","gl_FrontColor","gl_FrontFacing","gl_FrontLightModelProduct","gl_FrontLightProduct","gl_FrontMaterial","gl_FrontSecondaryColor","gl_LightModel","gl_LightModelParameters","gl_LightModelProducts","gl_LightProducts","gl_LightSource","gl_LightSourceParameters","gl_MaterialParameters","gl_MaxClipPlanes","gl_MaxCombinedTextureImageUnits","gl_MaxDrawBuffers","gl_MaxFragmentUniformComponents","gl_MaxLights","gl_MaxTextureCoords","gl_MaxTextureImageUnits","gl_MaxTextureUnits","gl_MaxVaryingFloats","gl_MaxVertexAttribs","gl_MaxVertexTextureImageUnits","gl_MaxVertexUniformComponents","gl_ModelViewMatrix","gl_ModelViewMatrixInverse","gl_ModelViewMatrixInverseTranspose","gl_ModelViewMatrixTranspose","gl_ModelViewProjectionMatrix","gl_ModelViewProjectionMatrixInverse","gl_ModelViewProjectionMatrixInverseTranspose","gl_ModelViewProjectionMatrixTranspose","gl_MultiTexCoord0","gl_MultiTexCoord1","gl_MultiTexCoord2","gl_MultiTexCoord3","gl_MultiTexCoord4","gl_MultiTexCoord5","gl_MultiTexCoord6","gl_MultiTexCoord7","gl_Normal","gl_NormalMatrix","gl_NormalScale","gl_ObjectPlaneQ","gl_ObjectPlaneR","gl_ObjectPlaneS","gl_ObjectPlaneT","gl_Point","gl_PointCoord","gl_PointParameters","gl_PointSize","gl_Position","gl_ProjectionMatrix","gl_ProjectionMatrixInverse","gl_ProjectionMatrixInverseTranspose","gl_ProjectionMatrixTranspose","gl_SecondaryColor","gl_TexCoord","gl_TextureEnvColor","gl_TextureMatrix","gl_TextureMatrixInverse","gl_TextureMatrixInverseTranspose","gl_TextureMatrixTranspose","gl_Vertex","greaterThan","greaterThanEqual","inversesqrt","length","lessThan","lessThanEqual","log","log2","matrixCompMult","max","min","mix","mod","normalize","not","notEqual","pow","radians","reflect","refract","sign","sin","smoothstep","sqrt","step","tan","texture2D","texture2DLod","texture2DProj","texture2DProjLod","textureCube","textureCubeLod","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT"]},7932:function(i,a,o){var s=o(620);i.exports=s.slice().concat(["layout","centroid","smooth","case","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","uvec2","uvec3","uvec4","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","coherent","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","image1DShadow","image2DShadow","image1DArrayShadow","image2DArrayShadow","imageBuffer","iimageBuffer","uimageBuffer","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray"])},620:function(i){i.exports=["precision","highp","mediump","lowp","attribute","const","uniform","varying","break","continue","do","for","while","if","else","in","out","inout","float","int","uint","void","bool","true","false","discard","return","mat2","mat3","mat4","vec2","vec3","vec4","ivec2","ivec3","ivec4","bvec2","bvec3","bvec4","sampler1D","sampler2D","sampler3D","samplerCube","sampler1DShadow","sampler2DShadow","struct","asm","class","union","enum","typedef","template","this","packed","goto","switch","default","inline","noinline","volatile","public","static","extern","external","interface","long","short","double","half","fixed","unsigned","input","output","hvec2","hvec3","hvec4","dvec2","dvec3","dvec4","fvec2","fvec3","fvec4","sampler2DRect","sampler3DRect","sampler2DRectShadow","sizeof","cast","namespace","using"]},7827:function(i){i.exports=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]},4905:function(i,a,o){var s=o(5874);i.exports=l;function l(u,f){var c=s(f),h=[];return h=h.concat(c(u)),h=h.concat(c(null)),h}},3236:function(i){i.exports=function(a){typeof a=="string"&&(a=[a]);for(var o=[].slice.call(arguments,1),s=[],l=0;l<a.length-1;l++)s.push(a[l],o[l]||"");return s.push(a[l]),s.join("")}},7520:function(i,a,o){"use strict";var s=o(9507);function l(){var u=!1;try{var f=Object.defineProperty({},"passive",{get:function(){u=!0}});window.addEventListener("test",null,f),window.removeEventListener("test",null,f)}catch{u=!1}return u}i.exports=s&&l()},3778:function(i,a){a.read=function(o,s,l,u,f){var c,h,d=f*8-u-1,v=(1<<d)-1,m=v>>1,b=-7,g=l?f-1:0,_=l?-1:1,T=o[s+g];for(g+=_,c=T&(1<<-b)-1,T>>=-b,b+=d;b>0;c=c*256+o[s+g],g+=_,b-=8);for(h=c&(1<<-b)-1,c>>=-b,b+=u;b>0;h=h*256+o[s+g],g+=_,b-=8);if(c===0)c=1-m;else{if(c===v)return h?NaN:(T?-1:1)*(1/0);h=h+Math.pow(2,u),c=c-m}return(T?-1:1)*h*Math.pow(2,c-u)},a.write=function(o,s,l,u,f,c){var h,d,v,m=c*8-f-1,b=(1<<m)-1,g=b>>1,_=f===23?Math.pow(2,-24)-Math.pow(2,-77):0,T=u?0:c-1,w=u?1:-1,k=s<0||s===0&&1/s<0?1:0;for(s=Math.abs(s),isNaN(s)||s===1/0?(d=isNaN(s)?1:0,h=b):(h=Math.floor(Math.log(s)/Math.LN2),s*(v=Math.pow(2,-h))<1&&(h--,v*=2),h+g>=1?s+=_/v:s+=_*Math.pow(2,1-g),s*v>=2&&(h++,v/=2),h+g>=b?(d=0,h=b):h+g>=1?(d=(s*v-1)*Math.pow(2,f),h=h+g):(d=s*Math.pow(2,g-1)*Math.pow(2,f),h=0));f>=8;o[l+T]=d&255,T+=w,d/=256,f-=8);for(h=h<<f|d,m+=f;m>0;o[l+T]=h&255,T+=w,h/=256,m-=8);o[l+T-w]|=k*128}},8954:function(i,a,o){"use strict";i.exports=g;var s=o(3250),l=o(6803).Fw;function u(_,T,w){this.vertices=_,this.adjacent=T,this.boundary=w,this.lastVisited=-1}u.prototype.flip=function(){var _=this.vertices[0];this.vertices[0]=this.vertices[1],this.vertices[1]=_;var T=this.adjacent[0];this.adjacent[0]=this.adjacent[1],this.adjacent[1]=T};function f(_,T,w){this.vertices=_,this.cell=T,this.index=w}function c(_,T){return l(_.vertices,T.vertices)}function h(_){return function(){var T=this.tuple;return _.apply(this,T)}}function d(_){var T=s[_+1];return T||(T=s),h(T)}var v=[];function m(_,T,w){this.dimension=_,this.vertices=T,this.simplices=w,this.interior=w.filter(function(M){return!M.boundary}),this.tuple=new Array(_+1);for(var k=0;k<=_;++k)this.tuple[k]=this.vertices[k];var x=v[_];x||(x=v[_]=d(_)),this.orient=x}var b=m.prototype;b.handleBoundaryDegeneracy=function(_,T){var w=this.dimension,k=this.vertices.length-1,x=this.tuple,M=this.vertices,A=[_];for(_.lastVisited=-k;A.length>0;){_=A.pop();for(var p=_.adjacent,S=0;S<=w;++S){var y=p[S];if(!(!y.boundary||y.lastVisited<=-k)){for(var E=y.vertices,C=0;C<=w;++C){var L=E[C];L<0?x[C]=T:x[C]=M[L]}var R=this.orient();if(R>0)return y;y.lastVisited=-k,R===0&&A.push(y)}}}return null},b.walk=function(_,T){var w=this.vertices.length-1,k=this.dimension,x=this.vertices,M=this.tuple,A=T?this.interior.length*Math.random()|0:this.interior.length-1,p=this.interior[A];e:for(;!p.boundary;){for(var S=p.vertices,y=p.adjacent,E=0;E<=k;++E)M[E]=x[S[E]];p.lastVisited=w;for(var E=0;E<=k;++E){var C=y[E];if(!(C.lastVisited>=w)){var L=M[E];M[E]=_;var R=this.orient();if(M[E]=L,R<0){p=C;continue e}else C.boundary?C.lastVisited=-w:C.lastVisited=w}}return}return p},b.addPeaks=function(_,T){var w=this.vertices.length-1,k=this.dimension,x=this.vertices,M=this.tuple,A=this.interior,p=this.simplices,S=[T];T.lastVisited=w,T.vertices[T.vertices.indexOf(-1)]=w,T.boundary=!1,A.push(T);for(var y=[];S.length>0;){var T=S.pop(),E=T.vertices,C=T.adjacent,L=E.indexOf(w);if(!(L<0)){for(var R=0;R<=k;++R)if(R!==L){var I=C[R];if(!(!I.boundary||I.lastVisited>=w)){var P=I.vertices;if(I.lastVisited!==-w){for(var D=0,q=0;q<=k;++q)P[q]<0?(D=q,M[q]=_):M[q]=x[P[q]];var N=this.orient();if(N>0){P[D]=w,I.boundary=!1,A.push(I),S.push(I),I.lastVisited=w;continue}else I.lastVisited=-w}var U=I.adjacent,G=E.slice(),ee=C.slice(),Q=new u(G,ee,!0);p.push(Q);var j=U.indexOf(T);if(!(j<0)){U[j]=Q,ee[L]=I,G[R]=-1,ee[R]=T,C[R]=Q,Q.flip();for(var q=0;q<=k;++q){var O=G[q];if(!(O<0||O===w)){for(var Z=new Array(k-1),K=0,$=0;$<=k;++$){var oe=G[$];oe<0||$===q||(Z[K++]=oe)}y.push(new f(Z,Q,q))}}}}}}}y.sort(c);for(var R=0;R+1<y.length;R+=2){var te=y[R],V=y[R+1],ne=te.index,W=V.index;ne<0||W<0||(te.cell.adjacent[te.index]=V.cell,V.cell.adjacent[V.index]=te.cell)}},b.insert=function(_,T){var w=this.vertices;w.push(_);var k=this.walk(_,T);if(k){for(var x=this.dimension,M=this.tuple,A=0;A<=x;++A){var p=k.vertices[A];p<0?M[A]=_:M[A]=w[p]}var S=this.orient(M);S<0||S===0&&(k=this.handleBoundaryDegeneracy(k,_),!k)||this.addPeaks(_,k)}},b.boundary=function(){for(var _=this.dimension,T=[],w=this.simplices,k=w.length,x=0;x<k;++x){var M=w[x];if(M.boundary){for(var A=new Array(_),p=M.vertices,S=0,y=0,E=0;E<=_;++E)p[E]>=0?A[S++]=p[E]:y=E&1;if(y===(_&1)){var C=A[0];A[0]=A[1],A[1]=C}T.push(A)}}return T};function g(_,T){var w=_.length;if(w===0)throw new Error("Must have at least d+1 points");var k=_[0].length;if(w<=k)throw new Error("Must input at least d+1 points");var x=_.slice(0,k+1),M=s.apply(void 0,x);if(M===0)throw new Error("Input not in general position");for(var A=new Array(k+1),p=0;p<=k;++p)A[p]=p;M<0&&(A[0]=1,A[1]=0);for(var S=new u(A,new Array(k+1),!1),y=S.adjacent,E=new Array(k+2),p=0;p<=k;++p){for(var C=A.slice(),L=0;L<=k;++L)L===p&&(C[L]=-1);var R=C[0];C[0]=C[1],C[1]=R;var I=new u(C,new Array(k+1),!0);y[p]=I,E[p]=I}E[k+1]=S;for(var p=0;p<=k;++p)for(var C=y[p].vertices,P=y[p].adjacent,L=0;L<=k;++L){var D=C[L];if(D<0){P[L]=S;continue}for(var q=0;q<=k;++q)y[q].vertices.indexOf(D)<0&&(P[L]=y[q])}for(var N=new m(k,x,E),U=!!T,p=k+1;p<w;++p)N.insert(_[p],U);return N.boundary()}},3352:function(i,a,o){"use strict";var s=o(2478),l=0,u=1,f=2;i.exports=S;function c(y,E,C,L,R){this.mid=y,this.left=E,this.right=C,this.leftPoints=L,this.rightPoints=R,this.count=(E?E.count:0)+(C?C.count:0)+L.length}var h=c.prototype;function d(y,E){y.mid=E.mid,y.left=E.left,y.right=E.right,y.leftPoints=E.leftPoints,y.rightPoints=E.rightPoints,y.count=E.count}function v(y,E){var C=M(E);y.mid=C.mid,y.left=C.left,y.right=C.right,y.leftPoints=C.leftPoints,y.rightPoints=C.rightPoints,y.count=C.count}function m(y,E){var C=y.intervals([]);C.push(E),v(y,C)}function b(y,E){var C=y.intervals([]),L=C.indexOf(E);return L<0?l:(C.splice(L,1),v(y,C),u)}h.intervals=function(y){return y.push.apply(y,this.leftPoints),this.left&&this.left.intervals(y),this.right&&this.right.intervals(y),y},h.insert=function(y){var E=this.count-this.leftPoints.length;if(this.count+=1,y[1]<this.mid)this.left?4*(this.left.count+1)>3*(E+1)?m(this,y):this.left.insert(y):this.left=M([y]);else if(y[0]>this.mid)this.right?4*(this.right.count+1)>3*(E+1)?m(this,y):this.right.insert(y):this.right=M([y]);else{var C=s.ge(this.leftPoints,y,k),L=s.ge(this.rightPoints,y,x);this.leftPoints.splice(C,0,y),this.rightPoints.splice(L,0,y)}},h.remove=function(y){var E=this.count-this.leftPoints;if(y[1]<this.mid){if(!this.left)return l;var C=this.right?this.right.count:0;if(4*C>3*(E-1))return b(this,y);var L=this.left.remove(y);return L===f?(this.left=null,this.count-=1,u):(L===u&&(this.count-=1),L)}else if(y[0]>this.mid){if(!this.right)return l;var R=this.left?this.left.count:0;if(4*R>3*(E-1))return b(this,y);var L=this.right.remove(y);return L===f?(this.right=null,this.count-=1,u):(L===u&&(this.count-=1),L)}else{if(this.count===1)return this.leftPoints[0]===y?f:l;if(this.leftPoints.length===1&&this.leftPoints[0]===y){if(this.left&&this.right){for(var I=this,P=this.left;P.right;)I=P,P=P.right;if(I===this)P.right=this.right;else{var D=this.left,L=this.right;I.count-=P.count,I.right=P.left,P.left=D,P.right=L}d(this,P),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?d(this,this.left):d(this,this.right);return u}for(var D=s.ge(this.leftPoints,y,k);D<this.leftPoints.length&&this.leftPoints[D][0]===y[0];++D)if(this.leftPoints[D]===y){this.count-=1,this.leftPoints.splice(D,1);for(var L=s.ge(this.rightPoints,y,x);L<this.rightPoints.length&&this.rightPoints[L][1]===y[1];++L)if(this.rightPoints[L]===y)return this.rightPoints.splice(L,1),u}return l}};function g(y,E,C){for(var L=0;L<y.length&&y[L][0]<=E;++L){var R=C(y[L]);if(R)return R}}function _(y,E,C){for(var L=y.length-1;L>=0&&y[L][1]>=E;--L){var R=C(y[L]);if(R)return R}}function T(y,E){for(var C=0;C<y.length;++C){var L=E(y[C]);if(L)return L}}h.queryPoint=function(y,E){if(y<this.mid){if(this.left){var C=this.left.queryPoint(y,E);if(C)return C}return g(this.leftPoints,y,E)}else if(y>this.mid){if(this.right){var C=this.right.queryPoint(y,E);if(C)return C}return _(this.rightPoints,y,E)}else return T(this.leftPoints,E)},h.queryInterval=function(y,E,C){if(y<this.mid&&this.left){var L=this.left.queryInterval(y,E,C);if(L)return L}if(E>this.mid&&this.right){var L=this.right.queryInterval(y,E,C);if(L)return L}return E<this.mid?g(this.leftPoints,E,C):y>this.mid?_(this.rightPoints,y,C):T(this.leftPoints,C)};function w(y,E){return y-E}function k(y,E){var C=y[0]-E[0];return C||y[1]-E[1]}function x(y,E){var C=y[1]-E[1];return C||y[0]-E[0]}function M(y){if(y.length===0)return null;for(var E=[],C=0;C<y.length;++C)E.push(y[C][0],y[C][1]);E.sort(w);for(var L=E[E.length>>1],R=[],I=[],P=[],C=0;C<y.length;++C){var D=y[C];D[1]<L?R.push(D):L<D[0]?I.push(D):P.push(D)}var q=P,N=P.slice();return q.sort(k),N.sort(x),new c(L,M(R),M(I),q,N)}function A(y){this.root=y}var p=A.prototype;p.insert=function(y){this.root?this.root.insert(y):this.root=new c(y[0],null,null,[y],[y])},p.remove=function(y){if(this.root){var E=this.root.remove(y);return E===f&&(this.root=null),E!==l}return!1},p.queryPoint=function(y,E){if(this.root)return this.root.queryPoint(y,E)},p.queryInterval=function(y,E,C){if(y<=E&&this.root)return this.root.queryInterval(y,E,C)},Object.defineProperty(p,"count",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(p,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}});function S(y){return!y||y.length===0?new A(null):new A(M(y))}},7762:function(i){"use strict";function a(o){for(var s=new Array(o),l=0;l<o;++l)s[l]=l;return s}i.exports=a},9507:function(i){i.exports=!0},7163:function(i){i.exports=function(s){return s!=null&&(a(s)||o(s)||!!s._isBuffer)};function a(s){return!!s.constructor&&typeof s.constructor.isBuffer=="function"&&s.constructor.isBuffer(s)}function o(s){return typeof s.readFloatLE=="function"&&typeof s.slice=="function"&&a(s.slice(0,0))}},5219:function(i){"use strict";i.exports=function(a){for(var o=a.length,s,l=0;l<o;l++)if(s=a.charCodeAt(l),(s<9||s>13)&&s!==32&&s!==133&&s!==160&&s!==5760&&s!==6158&&(s<8192||s>8205)&&s!==8232&&s!==8233&&s!==8239&&s!==8287&&s!==8288&&s!==12288&&s!==65279)return!1;return!0}},395:function(i){function a(o,s,l){return o*(1-l)+s*l}i.exports=a},2652:function(i,a,o){var s=o(4335),l=o(6864),u=o(1903),f=o(9921),c=o(7608),h=o(5665),d={length:o(1387),normalize:o(3536),dot:o(244),cross:o(5911)},v=l(),m=l(),b=[0,0,0,0],g=[[0,0,0],[0,0,0],[0,0,0]],_=[0,0,0];i.exports=function(M,A,p,S,y,E){if(A||(A=[0,0,0]),p||(p=[0,0,0]),S||(S=[0,0,0]),y||(y=[0,0,0,1]),E||(E=[0,0,0,1]),!s(v,M)||(u(m,v),m[3]=0,m[7]=0,m[11]=0,m[15]=1,Math.abs(f(m)<1e-8)))return!1;var C=v[3],L=v[7],R=v[11],I=v[12],P=v[13],D=v[14],q=v[15];if(C!==0||L!==0||R!==0){b[0]=C,b[1]=L,b[2]=R,b[3]=q;var N=c(m,m);if(!N)return!1;h(m,m),T(y,b,m)}else y[0]=y[1]=y[2]=0,y[3]=1;if(A[0]=I,A[1]=P,A[2]=D,w(g,v),p[0]=d.length(g[0]),d.normalize(g[0],g[0]),S[0]=d.dot(g[0],g[1]),k(g[1],g[1],g[0],1,-S[0]),p[1]=d.length(g[1]),d.normalize(g[1],g[1]),S[0]/=p[1],S[1]=d.dot(g[0],g[2]),k(g[2],g[2],g[0],1,-S[1]),S[2]=d.dot(g[1],g[2]),k(g[2],g[2],g[1],1,-S[2]),p[2]=d.length(g[2]),d.normalize(g[2],g[2]),S[1]/=p[2],S[2]/=p[2],d.cross(_,g[1],g[2]),d.dot(g[0],_)<0)for(var U=0;U<3;U++)p[U]*=-1,g[U][0]*=-1,g[U][1]*=-1,g[U][2]*=-1;return E[0]=.5*Math.sqrt(Math.max(1+g[0][0]-g[1][1]-g[2][2],0)),E[1]=.5*Math.sqrt(Math.max(1-g[0][0]+g[1][1]-g[2][2],0)),E[2]=.5*Math.sqrt(Math.max(1-g[0][0]-g[1][1]+g[2][2],0)),E[3]=.5*Math.sqrt(Math.max(1+g[0][0]+g[1][1]+g[2][2],0)),g[2][1]>g[1][2]&&(E[0]=-E[0]),g[0][2]>g[2][0]&&(E[1]=-E[1]),g[1][0]>g[0][1]&&(E[2]=-E[2]),!0};function T(x,M,A){var p=M[0],S=M[1],y=M[2],E=M[3];return x[0]=A[0]*p+A[4]*S+A[8]*y+A[12]*E,x[1]=A[1]*p+A[5]*S+A[9]*y+A[13]*E,x[2]=A[2]*p+A[6]*S+A[10]*y+A[14]*E,x[3]=A[3]*p+A[7]*S+A[11]*y+A[15]*E,x}function w(x,M){x[0][0]=M[0],x[0][1]=M[1],x[0][2]=M[2],x[1][0]=M[4],x[1][1]=M[5],x[1][2]=M[6],x[2][0]=M[8],x[2][1]=M[9],x[2][2]=M[10]}function k(x,M,A,p,S){x[0]=M[0]*p+A[0]*S,x[1]=M[1]*p+A[1]*S,x[2]=M[2]*p+A[2]*S}},4335:function(i){i.exports=function(o,s){var l=s[15];if(l===0)return!1;for(var u=1/l,f=0;f<16;f++)o[f]=s[f]*u;return!0}},7442:function(i,a,o){var s=o(6658),l=o(7182),u=o(2652),f=o(9921),c=o(8648),h=b(),d=b(),v=b();i.exports=m;function m(T,w,k,x){if(f(w)===0||f(k)===0)return!1;var M=u(w,h.translate,h.scale,h.skew,h.perspective,h.quaternion),A=u(k,d.translate,d.scale,d.skew,d.perspective,d.quaternion);return!M||!A?!1:(s(v.translate,h.translate,d.translate,x),s(v.skew,h.skew,d.skew,x),s(v.scale,h.scale,d.scale,x),s(v.perspective,h.perspective,d.perspective,x),c(v.quaternion,h.quaternion,d.quaternion,x),l(T,v.translate,v.scale,v.skew,v.perspective,v.quaternion),!0)}function b(){return{translate:g(),scale:g(1),skew:g(),perspective:_(),quaternion:_()}}function g(T){return[T||0,T||0,T||0]}function _(){return[0,0,0,1]}},7182:function(i,a,o){var s={identity:o(7894),translate:o(7656),multiply:o(6760),create:o(6864),scale:o(2504),fromRotationTranslation:o(6743)},l=s.create(),u=s.create();i.exports=function(c,h,d,v,m,b){return s.identity(c),s.fromRotationTranslation(c,b,h),c[3]=m[0],c[7]=m[1],c[11]=m[2],c[15]=m[3],s.identity(u),v[2]!==0&&(u[9]=v[2],s.multiply(c,c,u)),v[1]!==0&&(u[9]=0,u[8]=v[1],s.multiply(c,c,u)),v[0]!==0&&(u[8]=0,u[4]=v[0],s.multiply(c,c,u)),s.scale(c,c,d),c}},4192:function(i,a,o){"use strict";var s=o(2478),l=o(7442),u=o(7608),f=o(5567),c=o(2408),h=o(7089),d=o(6582),v=o(7656),m=o(2504),b=o(3536),g=[0,0,0];i.exports=k;function _(x){this._components=x.slice(),this._time=[0],this.prevMatrix=x.slice(),this.nextMatrix=x.slice(),this.computedMatrix=x.slice(),this.computedInverse=x.slice(),this.computedEye=[0,0,0],this.computedUp=[0,0,0],this.computedCenter=[0,0,0],this.computedRadius=[0],this._limits=[-1/0,1/0]}var T=_.prototype;T.recalcMatrix=function(x){var M=this._time,A=s.le(M,x),p=this.computedMatrix;if(!(A<0)){var S=this._components;if(A===M.length-1)for(var y=16*A,E=0;E<16;++E)p[E]=S[y++];else{for(var C=M[A+1]-M[A],y=16*A,L=this.prevMatrix,R=!0,E=0;E<16;++E)L[E]=S[y++];for(var I=this.nextMatrix,E=0;E<16;++E)I[E]=S[y++],R=R&&L[E]===I[E];if(C<1e-6||R)for(var E=0;E<16;++E)p[E]=L[E];else l(p,L,I,(x-M[A])/C)}var P=this.computedUp;P[0]=p[1],P[1]=p[5],P[2]=p[9],b(P,P);var D=this.computedInverse;u(D,p);var q=this.computedEye,N=D[15];q[0]=D[12]/N,q[1]=D[13]/N,q[2]=D[14]/N;for(var U=this.computedCenter,G=Math.exp(this.computedRadius[0]),E=0;E<3;++E)U[E]=q[E]-p[2+4*E]*G}},T.idle=function(x){if(!(x<this.lastT())){for(var M=this._components,A=M.length-16,p=0;p<16;++p)M.push(M[A++]);this._time.push(x)}},T.flush=function(x){var M=s.gt(this._time,x)-2;M<0||(this._time.splice(0,M),this._components.splice(0,16*M))},T.lastT=function(){return this._time[this._time.length-1]},T.lookAt=function(x,M,A,p){this.recalcMatrix(x),M=M||this.computedEye,A=A||g,p=p||this.computedUp,this.setMatrix(x,d(this.computedMatrix,M,A,p));for(var S=0,y=0;y<3;++y)S+=Math.pow(A[y]-M[y],2);S=Math.log(Math.sqrt(S)),this.computedRadius[0]=S},T.rotate=function(x,M,A,p){this.recalcMatrix(x);var S=this.computedInverse;M&&c(S,S,M),A&&f(S,S,A),p&&h(S,S,p),this.setMatrix(x,u(this.computedMatrix,S))};var w=[0,0,0];T.pan=function(x,M,A,p){w[0]=-(M||0),w[1]=-(A||0),w[2]=-(p||0),this.recalcMatrix(x);var S=this.computedInverse;v(S,S,w),this.setMatrix(x,u(S,S))},T.translate=function(x,M,A,p){w[0]=M||0,w[1]=A||0,w[2]=p||0,this.recalcMatrix(x);var S=this.computedMatrix;v(S,S,w),this.setMatrix(x,S)},T.setMatrix=function(x,M){if(!(x<this.lastT())){this._time.push(x);for(var A=0;A<16;++A)this._components.push(M[A])}},T.setDistance=function(x,M){this.computedRadius[0]=M},T.setDistanceLimits=function(x,M){var A=this._limits;A[0]=x,A[1]=M},T.getDistanceLimits=function(x){var M=this._limits;return x?(x[0]=M[0],x[1]=M[1],x):M};function k(x){x=x||{};var M=x.matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return new _(M)}},3090:function(i,a,o){"use strict";i.exports=l;var s=o(3250)[3];function l(u){var f=u.length;if(f<3){for(var _=new Array(f),c=0;c<f;++c)_[c]=c;return f===2&&u[0][0]===u[1][0]&&u[0][1]===u[1][1]?[0]:_}for(var h=new Array(f),c=0;c<f;++c)h[c]=c;h.sort(function(x,M){var A=u[x][0]-u[M][0];return A||u[x][1]-u[M][1]});for(var d=[h[0],h[1]],v=[h[0],h[1]],c=2;c<f;++c){for(var m=h[c],b=u[m],g=d.length;g>1&&s(u[d[g-2]],u[d[g-1]],b)<=0;)g-=1,d.pop();for(d.push(m),g=v.length;g>1&&s(u[v[g-2]],u[v[g-1]],b)>=0;)g-=1,v.pop();v.push(m)}for(var _=new Array(v.length+d.length-2),T=0,c=0,w=d.length;c<w;++c)_[T++]=d[c];for(var k=v.length-2;k>0;--k)_[T++]=v[k];return _}},351:function(i,a,o){"use strict";i.exports=l;var s=o(4687);function l(u,f){f||(f=u,u=window);var c=0,h=0,d=0,v={shift:!1,alt:!1,control:!1,meta:!1},m=!1;function b(y){var E=!1;return"altKey"in y&&(E=E||y.altKey!==v.alt,v.alt=!!y.altKey),"shiftKey"in y&&(E=E||y.shiftKey!==v.shift,v.shift=!!y.shiftKey),"ctrlKey"in y&&(E=E||y.ctrlKey!==v.control,v.control=!!y.ctrlKey),"metaKey"in y&&(E=E||y.metaKey!==v.meta,v.meta=!!y.metaKey),E}function g(y,E){var C=s.x(E),L=s.y(E);"buttons"in E&&(y=E.buttons|0),(y!==c||C!==h||L!==d||b(E))&&(c=y|0,h=C||0,d=L||0,f&&f(c,h,d,v))}function _(y){g(0,y)}function T(){(c||h||d||v.shift||v.alt||v.meta||v.control)&&(h=d=0,c=0,v.shift=v.alt=v.control=v.meta=!1,f&&f(0,0,0,v))}function w(y){b(y)&&f&&f(c,h,d,v)}function k(y){s.buttons(y)===0?g(0,y):g(c,y)}function x(y){g(c|s.buttons(y),y)}function M(y){g(c&~s.buttons(y),y)}function A(){m||(m=!0,u.addEventListener("mousemove",k),u.addEventListener("mousedown",x),u.addEventListener("mouseup",M),u.addEventListener("mouseleave",_),u.addEventListener("mouseenter",_),u.addEventListener("mouseout",_),u.addEventListener("mouseover",_),u.addEventListener("blur",T),u.addEventListener("keyup",w),u.addEventListener("keydown",w),u.addEventListener("keypress",w),u!==window&&(window.addEventListener("blur",T),window.addEventListener("keyup",w),window.addEventListener("keydown",w),window.addEventListener("keypress",w)))}function p(){m&&(m=!1,u.removeEventListener("mousemove",k),u.removeEventListener("mousedown",x),u.removeEventListener("mouseup",M),u.removeEventListener("mouseleave",_),u.removeEventListener("mouseenter",_),u.removeEventListener("mouseout",_),u.removeEventListener("mouseover",_),u.removeEventListener("blur",T),u.removeEventListener("keyup",w),u.removeEventListener("keydown",w),u.removeEventListener("keypress",w),u!==window&&(window.removeEventListener("blur",T),window.removeEventListener("keyup",w),window.removeEventListener("keydown",w),window.removeEventListener("keypress",w)))}A();var S={element:u};return Object.defineProperties(S,{enabled:{get:function(){return m},set:function(y){y?A():p()},enumerable:!0},buttons:{get:function(){return c},enumerable:!0},x:{get:function(){return h},enumerable:!0},y:{get:function(){return d},enumerable:!0},mods:{get:function(){return v},enumerable:!0}}),S}},24:function(i){var a={left:0,top:0};i.exports=o;function o(l,u,f){u=u||l.currentTarget||l.srcElement,Array.isArray(f)||(f=[0,0]);var c=l.clientX||0,h=l.clientY||0,d=s(u);return f[0]=c-d.left,f[1]=h-d.top,f}function s(l){return l===window||l===document||l===document.body?a:l.getBoundingClientRect()}},4687:function(i,a){"use strict";function o(f){if(typeof f=="object"){if("buttons"in f)return f.buttons;if("which"in f){var c=f.which;if(c===2)return 4;if(c===3)return 2;if(c>0)return 1<<c-1}else if("button"in f){var c=f.button;if(c===1)return 4;if(c===2)return 2;if(c>=0)return 1<<c}}return 0}a.buttons=o;function s(f){return f.target||f.srcElement||window}a.element=s;function l(f){if(typeof f=="object"){if("offsetX"in f)return f.offsetX;var c=s(f),h=c.getBoundingClientRect();return f.clientX-h.left}return 0}a.x=l;function u(f){if(typeof f=="object"){if("offsetY"in f)return f.offsetY;var c=s(f),h=c.getBoundingClientRect();return f.clientY-h.top}return 0}a.y=u},8512:function(i,a,o){"use strict";var s=o(665);i.exports=l;function l(u,f,c){typeof u=="function"&&(c=!!f,f=u,u=window);var h=s("ex",u),d=function(v){c&&v.preventDefault();var m=v.deltaX||0,b=v.deltaY||0,g=v.deltaZ||0,_=v.deltaMode,T=1;switch(_){case 1:T=h;break;case 2:T=window.innerHeight;break}if(m*=T,b*=T,g*=T,m||b||g)return f(m,b,g,v)};return u.addEventListener("wheel",d),d}},2640:function(i,a,o){"use strict";var s=o(1888);i.exports=f;var l={"false,0,1":function(h,d,v,m,b){return function(_,T,w,k){var x=_.shape[0]|0,M=_.shape[1]|0,A=_.data,p=_.offset|0,S=_.stride[0]|0,y=_.stride[1]|0,E=p,C,L=-S|0,R=0,I=-y|0,P=0,D=-S-y|0,q=0,N=S|0,U=y-S*x|0,G=0,ee=0,Q=0,j=2*x|0,O=m(j),Z=m(j),K=0,$=0,oe=-1,te=-1,V=0,ne=-x|0,W=x|0,fe=0,ge=-x-1|0,Ce=x-1|0,Ne=0,pe=0,me=0;for(G=0;G<x;++G)O[K++]=v(A[E],T,w,k),E+=N;if(E+=U,M>0){if(ee=1,O[K++]=v(A[E],T,w,k),E+=N,x>0)for(G=1,C=A[E],$=O[K]=v(C,T,w,k),V=O[K+oe],fe=O[K+ne],Ne=O[K+ge],($!==V||$!==fe||$!==Ne)&&(R=A[E+L],P=A[E+I],q=A[E+D],h(G,ee,C,R,P,q,$,V,fe,Ne,T,w,k),pe=Z[K]=Q++),K+=1,E+=N,G=2;G<x;++G)C=A[E],$=O[K]=v(C,T,w,k),V=O[K+oe],fe=O[K+ne],Ne=O[K+ge],($!==V||$!==fe||$!==Ne)&&(R=A[E+L],P=A[E+I],q=A[E+D],h(G,ee,C,R,P,q,$,V,fe,Ne,T,w,k),pe=Z[K]=Q++,Ne!==V&&d(Z[K+oe],pe,q,R,Ne,V,T,w,k)),K+=1,E+=N;for(E+=U,K=0,me=oe,oe=te,te=me,me=ne,ne=W,W=me,me=ge,ge=Ce,Ce=me,ee=2;ee<M;++ee){if(O[K++]=v(A[E],T,w,k),E+=N,x>0)for(G=1,C=A[E],$=O[K]=v(C,T,w,k),V=O[K+oe],fe=O[K+ne],Ne=O[K+ge],($!==V||$!==fe||$!==Ne)&&(R=A[E+L],P=A[E+I],q=A[E+D],h(G,ee,C,R,P,q,$,V,fe,Ne,T,w,k),pe=Z[K]=Q++,Ne!==fe&&d(Z[K+ne],pe,P,q,fe,Ne,T,w,k)),K+=1,E+=N,G=2;G<x;++G)C=A[E],$=O[K]=v(C,T,w,k),V=O[K+oe],fe=O[K+ne],Ne=O[K+ge],($!==V||$!==fe||$!==Ne)&&(R=A[E+L],P=A[E+I],q=A[E+D],h(G,ee,C,R,P,q,$,V,fe,Ne,T,w,k),pe=Z[K]=Q++,Ne!==fe&&d(Z[K+ne],pe,P,q,fe,Ne,T,w,k),Ne!==V&&d(Z[K+oe],pe,q,R,Ne,V,T,w,k)),K+=1,E+=N;ee&1&&(K=0),me=oe,oe=te,te=me,me=ne,ne=W,W=me,me=ge,ge=Ce,Ce=me,E+=U}}b(Z),b(O)}},"false,1,0":function(h,d,v,m,b){return function(_,T,w,k){var x=_.shape[0]|0,M=_.shape[1]|0,A=_.data,p=_.offset|0,S=_.stride[0]|0,y=_.stride[1]|0,E=p,C,L=-S|0,R=0,I=-y|0,P=0,D=-S-y|0,q=0,N=y|0,U=S-y*M|0,G=0,ee=0,Q=0,j=2*M|0,O=m(j),Z=m(j),K=0,$=0,oe=-1,te=-1,V=0,ne=-M|0,W=M|0,fe=0,ge=-M-1|0,Ce=M-1|0,Ne=0,pe=0,me=0;for(ee=0;ee<M;++ee)O[K++]=v(A[E],T,w,k),E+=N;if(E+=U,x>0){if(G=1,O[K++]=v(A[E],T,w,k),E+=N,M>0)for(ee=1,C=A[E],$=O[K]=v(C,T,w,k),fe=O[K+ne],V=O[K+oe],Ne=O[K+ge],($!==fe||$!==V||$!==Ne)&&(R=A[E+L],P=A[E+I],q=A[E+D],h(G,ee,C,R,P,q,$,fe,V,Ne,T,w,k),pe=Z[K]=Q++),K+=1,E+=N,ee=2;ee<M;++ee)C=A[E],$=O[K]=v(C,T,w,k),fe=O[K+ne],V=O[K+oe],Ne=O[K+ge],($!==fe||$!==V||$!==Ne)&&(R=A[E+L],P=A[E+I],q=A[E+D],h(G,ee,C,R,P,q,$,fe,V,Ne,T,w,k),pe=Z[K]=Q++,Ne!==V&&d(Z[K+oe],pe,P,q,V,Ne,T,w,k)),K+=1,E+=N;for(E+=U,K=0,me=ne,ne=W,W=me,me=oe,oe=te,te=me,me=ge,ge=Ce,Ce=me,G=2;G<x;++G){if(O[K++]=v(A[E],T,w,k),E+=N,M>0)for(ee=1,C=A[E],$=O[K]=v(C,T,w,k),fe=O[K+ne],V=O[K+oe],Ne=O[K+ge],($!==fe||$!==V||$!==Ne)&&(R=A[E+L],P=A[E+I],q=A[E+D],h(G,ee,C,R,P,q,$,fe,V,Ne,T,w,k),pe=Z[K]=Q++,Ne!==fe&&d(Z[K+ne],pe,q,R,Ne,fe,T,w,k)),K+=1,E+=N,ee=2;ee<M;++ee)C=A[E],$=O[K]=v(C,T,w,k),fe=O[K+ne],V=O[K+oe],Ne=O[K+ge],($!==fe||$!==V||$!==Ne)&&(R=A[E+L],P=A[E+I],q=A[E+D],h(G,ee,C,R,P,q,$,fe,V,Ne,T,w,k),pe=Z[K]=Q++,Ne!==V&&d(Z[K+oe],pe,P,q,V,Ne,T,w,k),Ne!==fe&&d(Z[K+ne],pe,q,R,Ne,fe,T,w,k)),K+=1,E+=N;G&1&&(K=0),me=ne,ne=W,W=me,me=oe,oe=te,te=me,me=ge,ge=Ce,Ce=me,E+=U}}b(Z),b(O)}}};function u(c,h,d,v,m,b){var g=[b,m].join(","),_=l[g];return _(c,h,d,s.mallocUint32,s.freeUint32)}function f(c){function h(T){throw new Error("ndarray-extract-contour: "+T)}typeof c!="object"&&h("Must specify arguments");var d=c.order;Array.isArray(d)||h("Must specify order");var v=c.arrayArguments||1;v<1&&h("Must have at least one array argument");var m=c.scalarArguments||0;m<0&&h("Scalar arg count must be > 0"),typeof c.vertex!="function"&&h("Must specify vertex creation function"),typeof c.cell!="function"&&h("Must specify cell creation function"),typeof c.phase!="function"&&h("Must specify phase function");for(var b=c.getters||[],g=new Array(v),_=0;_<v;++_)b.indexOf(_)>=0?g[_]=!0:g[_]=!1;return u(c.vertex,c.cell,c.phase,m,d,g)}},6199:function(i,a,o){"use strict";var s=o(1338),l={zero:function(k,x,M,A){var p=k[0],S=M[0];A|=0;var y=0,E=S;for(y=0;y<p;++y)x[A]=0,A+=E},fdTemplate1:function(k,x,M,A,p,S,y){var E=k[0],C=M[0],L=S[0],R=-1*C,I=C;A|=0,y|=0;var P=0,D=C,q=L;for(P=0;P<E;++P)p[y]=.5*(x[A+R]-x[A+I]),A+=D,y+=q},fdTemplate2:function(k,x,M,A,p,S,y,E,C,L){var R=k[0],I=k[1],P=M[0],D=M[1],q=S[0],N=S[1],U=C[0],G=C[1],ee=-1*P,Q=P,j=-1*D,O=D;A|=0,y|=0,L|=0;var Z=0,K=0,$=D,oe=P-I*D,te=N,V=q-I*N,ne=G,W=U-I*G;for(K=0;K<R;++K){for(Z=0;Z<I;++Z)p[y]=.5*(x[A+ee]-x[A+Q]),E[L]=.5*(x[A+j]-x[A+O]),A+=$,y+=te,L+=ne;A+=oe,y+=V,L+=W}}},u={cdiff:function(k){var x={};return function(A,p,S){var y=A.dtype,E=A.order,C=p.dtype,L=p.order,R=S.dtype,I=S.order,P=[y,E.join(),C,L.join(),R,I.join()].join(),D=x[P];return D||(x[P]=D=k([y,E,C,L,R,I])),D(A.shape.slice(0),A.data,A.stride,A.offset|0,p.data,p.stride,p.offset|0,S.data,S.stride,S.offset|0)}},zero:function(k){var x={};return function(A){var p=A.dtype,S=A.order,y=[p,S.join()].join(),E=x[y];return E||(x[y]=E=k([p,S])),E(A.shape.slice(0),A.data,A.stride,A.offset|0)}},fdTemplate1:function(k){var x={};return function(A,p){var S=A.dtype,y=A.order,E=p.dtype,C=p.order,L=[S,y.join(),E,C.join()].join(),R=x[L];return R||(x[L]=R=k([S,y,E,C])),R(A.shape.slice(0),A.data,A.stride,A.offset|0,p.data,p.stride,p.offset|0)}},fdTemplate2:function(k){var x={};return function(A,p,S){var y=A.dtype,E=A.order,C=p.dtype,L=p.order,R=S.dtype,I=S.order,P=[y,E.join(),C,L.join(),R,I.join()].join(),D=x[P];return D||(x[P]=D=k([y,E,C,L,R,I])),D(A.shape.slice(0),A.data,A.stride,A.offset|0,p.data,p.stride,p.offset|0,S.data,S.stride,S.offset|0)}}};function f(k){var x=u[k.funcName];return x(c.bind(void 0,k))}function c(k){return l[k.funcName]}function h(k){return f({funcName:k.funcName})}var d={},v={},m={body:"",args:[],thisVars:[],localVars:[]},b=h({funcName:"cdiff"}),g=h({funcName:"zero"});function _(k){return k in d?d[k]:d[k]=h({funcName:"fdTemplate"+k})}function T(k,x,M,A){return function(p,S){var y=S.shape.slice();return y[0]>2&&y[1]>2&&A(S.pick(-1,-1).lo(1,1).hi(y[0]-2,y[1]-2),p.pick(-1,-1,0).lo(1,1).hi(y[0]-2,y[1]-2),p.pick(-1,-1,1).lo(1,1).hi(y[0]-2,y[1]-2)),y[1]>2&&(M(S.pick(0,-1).lo(1).hi(y[1]-2),p.pick(0,-1,1).lo(1).hi(y[1]-2)),x(p.pick(0,-1,0).lo(1).hi(y[1]-2))),y[1]>2&&(M(S.pick(y[0]-1,-1).lo(1).hi(y[1]-2),p.pick(y[0]-1,-1,1).lo(1).hi(y[1]-2)),x(p.pick(y[0]-1,-1,0).lo(1).hi(y[1]-2))),y[0]>2&&(M(S.pick(-1,0).lo(1).hi(y[0]-2),p.pick(-1,0,0).lo(1).hi(y[0]-2)),x(p.pick(-1,0,1).lo(1).hi(y[0]-2))),y[0]>2&&(M(S.pick(-1,y[1]-1).lo(1).hi(y[0]-2),p.pick(-1,y[1]-1,0).lo(1).hi(y[0]-2)),x(p.pick(-1,y[1]-1,1).lo(1).hi(y[0]-2))),p.set(0,0,0,0),p.set(0,0,1,0),p.set(y[0]-1,0,0,0),p.set(y[0]-1,0,1,0),p.set(0,y[1]-1,0,0),p.set(0,y[1]-1,1,0),p.set(y[0]-1,y[1]-1,0,0),p.set(y[0]-1,y[1]-1,1,0),p}}function w(k){var x=k.join(),y=v[x];if(y)return y;for(var M=k.length,A=[b,g],p=1;p<=M;++p)A.push(_(p));var S=T,y=S.apply(void 0,A);return v[x]=y,y}i.exports=function(x,M,A){if(Array.isArray(A)||(typeof A=="string"?A=s(M.dimension,A):A=s(M.dimension,"clamp")),M.size===0)return x;if(M.dimension===0)return x.set(0),x;var p=w(A);return p(x,M)}},4317:function(i){"use strict";function a(f,c){var h=Math.floor(c),d=c-h,v=0<=h&&h<f.shape[0],m=0<=h+1&&h+1<f.shape[0],b=v?+f.get(h):0,g=m?+f.get(h+1):0;return(1-d)*b+d*g}function o(f,c,h){var d=Math.floor(c),v=c-d,m=0<=d&&d<f.shape[0],b=0<=d+1&&d+1<f.shape[0],g=Math.floor(h),_=h-g,T=0<=g&&g<f.shape[1],w=0<=g+1&&g+1<f.shape[1],k=m&&T?f.get(d,g):0,x=m&&w?f.get(d,g+1):0,M=b&&T?f.get(d+1,g):0,A=b&&w?f.get(d+1,g+1):0;return(1-_)*((1-v)*k+v*M)+_*((1-v)*x+v*A)}function s(f,c,h,d){var v=Math.floor(c),m=c-v,b=0<=v&&v<f.shape[0],g=0<=v+1&&v+1<f.shape[0],_=Math.floor(h),T=h-_,w=0<=_&&_<f.shape[1],k=0<=_+1&&_+1<f.shape[1],x=Math.floor(d),M=d-x,A=0<=x&&x<f.shape[2],p=0<=x+1&&x+1<f.shape[2],S=b&&w&&A?f.get(v,_,x):0,y=b&&k&&A?f.get(v,_+1,x):0,E=g&&w&&A?f.get(v+1,_,x):0,C=g&&k&&A?f.get(v+1,_+1,x):0,L=b&&w&&p?f.get(v,_,x+1):0,R=b&&k&&p?f.get(v,_+1,x+1):0,I=g&&w&&p?f.get(v+1,_,x+1):0,P=g&&k&&p?f.get(v+1,_+1,x+1):0;return(1-M)*((1-T)*((1-m)*S+m*E)+T*((1-m)*y+m*C))+M*((1-T)*((1-m)*L+m*I)+T*((1-m)*R+m*P))}function l(f){var c=f.shape.length|0,h=new Array(c),d=new Array(c),v=new Array(c),m=new Array(c),b,g;for(b=0;b<c;++b)g=+arguments[b+1],h[b]=Math.floor(g),d[b]=g-h[b],v[b]=0<=h[b]&&h[b]<f.shape[b],m[b]=0<=h[b]+1&&h[b]+1<f.shape[b];var _=0,T,w,k;e:for(b=0;b<1<<c;++b){for(w=1,k=f.offset,T=0;T<c;++T)if(b&1<<T){if(!m[T])continue e;w*=d[T],k+=f.stride[T]*(h[T]+1)}else{if(!v[T])continue e;w*=1-d[T],k+=f.stride[T]*h[T]}_+=w*f.data[k]}return _}function u(f,c,h,d){switch(f.shape.length){case 0:return 0;case 1:return a(f,c);case 2:return o(f,c,h);case 3:return s(f,c,h,d);default:return l.apply(void 0,arguments)}}i.exports=u,i.exports.d1=a,i.exports.d2=o,i.exports.d3=s},5298:function(i,a){"use strict";var o={"float64,2,1,0":function(){return function(v,m,b,g,_){var T=v[0],w=v[1],k=v[2],x=b[0],M=b[1],A=b[2];g|=0;var p=0,S=0,y=0,E=A,C=M-k*A,L=x-w*M;for(y=0;y<T;++y){for(S=0;S<w;++S){for(p=0;p<k;++p)m[g]/=_,g+=E;g+=C}g+=L}}},"uint8,2,0,1,float64,2,1,0":function(){return function(v,m,b,g,_,T,w,k){var x=v[0],M=v[1],A=v[2],p=b[0],S=b[1],y=b[2],E=T[0],C=T[1],L=T[2];g|=0,w|=0;for(var R=g,I=w,P=v[0]|0;P>0;){P<64?(x=P,P=0):(x=64,P-=64);for(var D=v[1]|0;D>0;){D<64?(M=D,D=0):(M=64,D-=64),g=R+P*p+D*S,w=I+P*E+D*C;var q=0,N=0,U=0,G=y,ee=p-A*y,Q=S-x*p,j=L,O=E-A*L,Z=C-x*E;for(U=0;U<M;++U){for(N=0;N<x;++N){for(q=0;q<A;++q)m[g]=_[w]*k,g+=G,w+=j;g+=ee,w+=O}g+=Q,w+=Z}}}}},"float32,1,0,float32,1,0":function(){return function(v,m,b,g,_,T,w){var k=v[0],x=v[1],M=b[0],A=b[1],p=T[0],S=T[1];g|=0,w|=0;var y=0,E=0,C=A,L=M-x*A,R=S,I=p-x*S;for(E=0;E<k;++E){for(y=0;y<x;++y)m[g]=_[w],g+=C,w+=R;g+=L,w+=I}}},"float32,1,0,float32,0,1":function(){return function(v,m,b,g,_,T,w){var k=v[0],x=v[1],M=b[0],A=b[1],p=T[0],S=T[1];g|=0,w|=0;for(var y=g,E=w,C=v[1]|0;C>0;){C<64?(x=C,C=0):(x=64,C-=64);for(var L=v[0]|0;L>0;){L<64?(k=L,L=0):(k=64,L-=64),g=y+C*A+L*M,w=E+C*S+L*p;var R=0,I=0,P=A,D=M-x*A,q=S,N=p-x*S;for(I=0;I<k;++I){for(R=0;R<x;++R)m[g]=_[w],g+=P,w+=q;g+=D,w+=N}}}}},"uint8,2,0,1,uint8,1,2,0":function(){return function(v,m,b,g,_,T,w){var k=v[0],x=v[1],M=v[2],A=b[0],p=b[1],S=b[2],y=T[0],E=T[1],C=T[2];g|=0,w|=0;for(var L=g,R=w,I=v[2]|0;I>0;){I<64?(M=I,I=0):(M=64,I-=64);for(var P=v[0]|0;P>0;){P<64?(k=P,P=0):(k=64,P-=64);for(var D=v[1]|0;D>0;){D<64?(x=D,D=0):(x=64,D-=64),g=L+I*S+P*A+D*p,w=R+I*C+P*y+D*E;var q=0,N=0,U=0,G=S,ee=A-M*S,Q=p-k*A,j=C,O=y-M*C,Z=E-k*y;for(U=0;U<x;++U){for(N=0;N<k;++N){for(q=0;q<M;++q)m[g]=_[w],g+=G,w+=j;g+=ee,w+=O}g+=Q,w+=Z}}}}}},"uint8,2,0,1,array,2,0,1":function(){return function(v,m,b,g,_,T,w){var k=v[0],x=v[1],M=v[2],A=b[0],p=b[1],S=b[2],y=T[0],E=T[1],C=T[2];g|=0,w|=0;var L=0,R=0,I=0,P=S,D=A-M*S,q=p-k*A,N=C,U=y-M*C,G=E-k*y;for(I=0;I<x;++I){for(R=0;R<k;++R){for(L=0;L<M;++L)m[g]=_[w],g+=P,w+=N;g+=D,w+=U}g+=q,w+=G}}}};function s(d,v){var m=v.join(","),b=o[m];return b()}var l=s,u={mul:function(d){var v={};return function(b,g,_){var T=b.dtype,w=b.order,k=g.dtype,x=g.order,M=_.dtype,A=_.order,p=[T,w.join(),k,x.join(),M,A.join()].join(),S=v[p];return S||(v[p]=S=d([T,w,k,x,M,A])),S(b.shape.slice(0),b.data,b.stride,b.offset|0,g.data,g.stride,g.offset|0,_.data,_.stride,_.offset|0)}},muls:function(d){var v={};return function(b,g,_){var T=b.dtype,w=b.order,k=g.dtype,x=g.order,M=[T,w.join(),k,x.join()].join(),A=v[M];return A||(v[M]=A=d([T,w,k,x])),A(b.shape.slice(0),b.data,b.stride,b.offset|0,g.data,g.stride,g.offset|0,_)}},mulseq:function(d){var v={};return function(b,g){var _=b.dtype,T=b.order,w=[_,T.join()].join(),k=v[w];return k||(v[w]=k=d([_,T])),k(b.shape.slice(0),b.data,b.stride,b.offset|0,g)}},div:function(d){var v={};return function(b,g,_){var T=b.dtype,w=b.order,k=g.dtype,x=g.order,M=_.dtype,A=_.order,p=[T,w.join(),k,x.join(),M,A.join()].join(),S=v[p];return S||(v[p]=S=d([T,w,k,x,M,A])),S(b.shape.slice(0),b.data,b.stride,b.offset|0,g.data,g.stride,g.offset|0,_.data,_.stride,_.offset|0)}},divs:function(d){var v={};return function(b,g,_){var T=b.dtype,w=b.order,k=g.dtype,x=g.order,M=[T,w.join(),k,x.join()].join(),A=v[M];return A||(v[M]=A=d([T,w,k,x])),A(b.shape.slice(0),b.data,b.stride,b.offset|0,g.data,g.stride,g.offset|0,_)}},divseq:function(d){var v={};return function(b,g){var _=b.dtype,T=b.order,w=[_,T.join()].join(),k=v[w];return k||(v[w]=k=d([_,T])),k(b.shape.slice(0),b.data,b.stride,b.offset|0,g)}},assign:function(d){var v={};return function(b,g){var _=b.dtype,T=b.order,w=g.dtype,k=g.order,x=[_,T.join(),w,k.join()].join(),M=v[x];return M||(v[x]=M=d([_,T,w,k])),M(b.shape.slice(0),b.data,b.stride,b.offset|0,g.data,g.stride,g.offset|0)}}};function f(d){var v=u[d.funcName];return v(l.bind(void 0,d))}function c(d){return f({funcName:d.funcName})}var h={mul:"*",div:"/"};(function(){for(var d in h)a[d]=c({funcName:d}),a[d+"s"]=c({funcName:d+"s"}),a[d+"seq"]=c({funcName:d+"seq"})})(),a.assign=c({funcName:"assign"})},9994:function(i,a,o){"use strict";var s=o(9618),l=o(8277);i.exports=function(f,c){for(var h=[],d=f,v=1;Array.isArray(d);)h.push(d.length),v*=d.length,d=d[0];return h.length===0?s():(c||(c=s(new Float64Array(v),h)),l(c,f),c)}},8277:function(i){"use strict";function a(){return function(c,h,d,v,m){var b=c[0],g=c[1],_=c[2],T=d[0],w=d[1],k=d[2],x=[0,0,0];v|=0;var M=0,A=0,p=0,S=k,y=w-_*k,E=T-g*w;for(p=0;p<b;++p){for(A=0;A<g;++A){for(M=0;M<_;++M){{var C=m,L;for(L=0;L<x.length-1;++L)C=C[x[L]];h[v]=C[x[x.length-1]]}v+=S,++x[2]}v+=y,x[2]-=_,++x[1]}v+=E,x[1]-=g,++x[0]}}}function o(){return a()}var s=o;function l(c){var h={};return function(v,m){var b=v.dtype,g=v.order,_=[b,g.join()].join(),T=h[_];return T||(h[_]=T=c([b,g])),T(v.shape.slice(0),v.data,v.stride,v.offset|0,m)}}function u(c){return l(s.bind(void 0,c))}function f(c){return u({funcName:c.funcName})}i.exports=f({funcName:"convert"})},7640:function(i,a,o){"use strict";var s=o(1888);function l(m){switch(m){case"uint32":return[s.mallocUint32,s.freeUint32];default:return null}}var u={"uint32,1,0":function(m,b){return function(_,T,w,k,x,M,A,p,S,y,E){var C,L,R,I=_*x+k,P,D=m(p),q,N,U,G;for(C=_+1;C<=T;++C){for(L=C,I+=x,R=I,q=0,N=I,P=0;P<p;++P)D[q++]=w[N],N+=S;e:for(;L-- >_;){q=0,N=R-x;t:for(P=0;P<p;++P){if(U=w[N],G=D[q],U<G)break e;if(U>G)break t;N+=y,q+=E}for(q=R,N=R-x,P=0;P<p;++P)w[q]=w[N],q+=S,N+=S;R-=x}for(q=R,N=0,P=0;P<p;++P)w[q]=D[N++],q+=S}b(D)}}};function f(m,b){var g=l(b),_=[b,m].join(","),T=u[_];return g?T(g[0],g[1]):T()}var c={"uint32,1,0":function(m,b,g){return function _(T,w,k,x,M,A,p,S,y,E,C){var L=(w-T+1)/6|0,R=T+L,I=w-L,P=T+w>>1,D=P-L,q=P+L,N=R,U=D,G=P,ee=q,Q=I,j=T+1,O=w-1,Z=!0,K,$,oe,te,V,ne,W,fe,ge,Ce=0,Ne=0,pe=0,me,Ie,Re,ze,Be,tt,rt,ce,Ee,Ae,Pe,He,Fe,ke,Ue,Ge,lt=S,it=b(lt),wt=b(lt);Ie=M*N,Re=M*U,Ge=x;e:for(me=0;me<S;++me){if(W=Ie+Ge,fe=Re+Ge,pe=k[W]-k[fe],pe>0){$=N,N=U,U=$;break e}if(pe<0)break e;Ge+=E}Ie=M*ee,Re=M*Q,Ge=x;e:for(me=0;me<S;++me){if(W=Ie+Ge,fe=Re+Ge,pe=k[W]-k[fe],pe>0){$=ee,ee=Q,Q=$;break e}if(pe<0)break e;Ge+=E}Ie=M*N,Re=M*G,Ge=x;e:for(me=0;me<S;++me){if(W=Ie+Ge,fe=Re+Ge,pe=k[W]-k[fe],pe>0){$=N,N=G,G=$;break e}if(pe<0)break e;Ge+=E}Ie=M*U,Re=M*G,Ge=x;e:for(me=0;me<S;++me){if(W=Ie+Ge,fe=Re+Ge,pe=k[W]-k[fe],pe>0){$=U,U=G,G=$;break e}if(pe<0)break e;Ge+=E}Ie=M*N,Re=M*ee,Ge=x;e:for(me=0;me<S;++me){if(W=Ie+Ge,fe=Re+Ge,pe=k[W]-k[fe],pe>0){$=N,N=ee,ee=$;break e}if(pe<0)break e;Ge+=E}Ie=M*G,Re=M*ee,Ge=x;e:for(me=0;me<S;++me){if(W=Ie+Ge,fe=Re+Ge,pe=k[W]-k[fe],pe>0){$=G,G=ee,ee=$;break e}if(pe<0)break e;Ge+=E}Ie=M*U,Re=M*Q,Ge=x;e:for(me=0;me<S;++me){if(W=Ie+Ge,fe=Re+Ge,pe=k[W]-k[fe],pe>0){$=U,U=Q,Q=$;break e}if(pe<0)break e;Ge+=E}Ie=M*U,Re=M*G,Ge=x;e:for(me=0;me<S;++me){if(W=Ie+Ge,fe=Re+Ge,pe=k[W]-k[fe],pe>0){$=U,U=G,G=$;break e}if(pe<0)break e;Ge+=E}Ie=M*ee,Re=M*Q,Ge=x;e:for(me=0;me<S;++me){if(W=Ie+Ge,fe=Re+Ge,pe=k[W]-k[fe],pe>0){$=ee,ee=Q,Q=$;break e}if(pe<0)break e;Ge+=E}for(Ie=M*N,Re=M*U,ze=M*G,Be=M*ee,tt=M*Q,rt=M*R,ce=M*P,Ee=M*I,Ue=0,Ge=x,me=0;me<S;++me)W=Ie+Ge,fe=Re+Ge,ge=ze+Ge,Ae=Be+Ge,Pe=tt+Ge,He=rt+Ge,Fe=ce+Ge,ke=Ee+Ge,it[Ue]=k[fe],wt[Ue]=k[Ae],Z=Z&&it[Ue]===wt[Ue],oe=k[W],te=k[ge],V=k[Pe],k[He]=oe,k[Fe]=te,k[ke]=V,++Ue,Ge+=y;for(Ie=M*D,Re=M*T,Ge=x,me=0;me<S;++me)W=Ie+Ge,fe=Re+Ge,k[W]=k[fe],Ge+=y;for(Ie=M*q,Re=M*w,Ge=x,me=0;me<S;++me)W=Ie+Ge,fe=Re+Ge,k[W]=k[fe],Ge+=y;if(Z)for(ne=j;ne<=O;++ne){W=x+ne*M,Ue=0;e:for(me=0;me<S;++me){if(pe=k[W]-it[Ue],pe!==0)break e;Ue+=C,W+=E}if(pe!==0)if(pe<0){if(ne!==j)for(Ie=M*ne,Re=M*j,Ge=x,me=0;me<S;++me)W=Ie+Ge,fe=Re+Ge,K=k[W],k[W]=k[fe],k[fe]=K,Ge+=y;++j}else for(;;){W=x+O*M,Ue=0;e:for(me=0;me<S;++me){if(pe=k[W]-it[Ue],pe!==0)break e;Ue+=C,W+=E}if(pe>0)O--;else if(pe<0){for(Ie=M*ne,Re=M*j,ze=M*O,Ge=x,me=0;me<S;++me)W=Ie+Ge,fe=Re+Ge,ge=ze+Ge,K=k[W],k[W]=k[fe],k[fe]=k[ge],k[ge]=K,Ge+=y;++j,--O;break}else{for(Ie=M*ne,Re=M*O,Ge=x,me=0;me<S;++me)W=Ie+Ge,fe=Re+Ge,K=k[W],k[W]=k[fe],k[fe]=K,Ge+=y;--O;break}}}else for(ne=j;ne<=O;++ne){W=x+ne*M,Ue=0;e:for(me=0;me<S;++me){if(Ce=k[W]-it[Ue],Ce!==0)break e;Ue+=C,W+=E}if(Ce<0){if(ne!==j)for(Ie=M*ne,Re=M*j,Ge=x,me=0;me<S;++me)W=Ie+Ge,fe=Re+Ge,K=k[W],k[W]=k[fe],k[fe]=K,Ge+=y;++j}else{W=x+ne*M,Ue=0;e:for(me=0;me<S;++me){if(Ne=k[W]-wt[Ue],Ne!==0)break e;Ue+=C,W+=E}if(Ne>0)for(;;){W=x+O*M,Ue=0;e:for(me=0;me<S;++me){if(pe=k[W]-wt[Ue],pe!==0)break e;Ue+=C,W+=E}if(pe>0){if(--O<ne)break;continue}else{W=x+O*M,Ue=0;e:for(me=0;me<S;++me){if(pe=k[W]-it[Ue],pe!==0)break e;Ue+=C,W+=E}if(pe<0){for(Ie=M*ne,Re=M*j,ze=M*O,Ge=x,me=0;me<S;++me)W=Ie+Ge,fe=Re+Ge,ge=ze+Ge,K=k[W],k[W]=k[fe],k[fe]=k[ge],k[ge]=K,Ge+=y;++j,--O}else{for(Ie=M*ne,Re=M*O,Ge=x,me=0;me<S;++me)W=Ie+Ge,fe=Re+Ge,K=k[W],k[W]=k[fe],k[fe]=K,Ge+=y;--O}break}}}}for(Ie=M*T,Re=M*(j-1),Ue=0,Ge=x,me=0;me<S;++me)W=Ie+Ge,fe=Re+Ge,k[W]=k[fe],k[fe]=it[Ue],++Ue,Ge+=y;for(Ie=M*w,Re=M*(O+1),Ue=0,Ge=x,me=0;me<S;++me)W=Ie+Ge,fe=Re+Ge,k[W]=k[fe],k[fe]=wt[Ue],++Ue,Ge+=y;if(j-2-T<=32?m(T,j-2,k,x,M,A,p,S,y,E,C):_(T,j-2,k,x,M,A,p,S,y,E,C),w-(O+2)<=32?m(O+2,w,k,x,M,A,p,S,y,E,C):_(O+2,w,k,x,M,A,p,S,y,E,C),Z){g(it),g(wt);return}if(j<R&&O>I){e:for(;;){for(W=x+j*M,Ue=0,Ge=x,me=0;me<S;++me){if(k[W]!==it[Ue])break e;++Ue,W+=y}++j}e:for(;;){for(W=x+O*M,Ue=0,Ge=x,me=0;me<S;++me){if(k[W]!==wt[Ue])break e;++Ue,W+=y}--O}for(ne=j;ne<=O;++ne){W=x+ne*M,Ue=0;e:for(me=0;me<S;++me){if(Ce=k[W]-it[Ue],Ce!==0)break e;Ue+=C,W+=E}if(Ce===0){if(ne!==j)for(Ie=M*ne,Re=M*j,Ge=x,me=0;me<S;++me)W=Ie+Ge,fe=Re+Ge,K=k[W],k[W]=k[fe],k[fe]=K,Ge+=y;++j}else{W=x+ne*M,Ue=0;e:for(me=0;me<S;++me){if(Ne=k[W]-wt[Ue],Ne!==0)break e;Ue+=C,W+=E}if(Ne===0)for(;;){W=x+O*M,Ue=0;e:for(me=0;me<S;++me){if(pe=k[W]-wt[Ue],pe!==0)break e;Ue+=C,W+=E}if(pe===0){if(--O<ne)break;continue}else{W=x+O*M,Ue=0;e:for(me=0;me<S;++me){if(pe=k[W]-it[Ue],pe!==0)break e;Ue+=C,W+=E}if(pe<0){for(Ie=M*ne,Re=M*j,ze=M*O,Ge=x,me=0;me<S;++me)W=Ie+Ge,fe=Re+Ge,ge=ze+Ge,K=k[W],k[W]=k[fe],k[fe]=k[ge],k[ge]=K,Ge+=y;++j,--O}else{for(Ie=M*ne,Re=M*O,Ge=x,me=0;me<S;++me)W=Ie+Ge,fe=Re+Ge,K=k[W],k[W]=k[fe],k[fe]=K,Ge+=y;--O}break}}}}}g(it),g(wt),O-j<=32?m(j,O,k,x,M,A,p,S,y,E,C):_(j,O,k,x,M,A,p,S,y,E,C)}}};function h(m,b,g){var _=l(b),T=[b,m].join(","),w=c[T];return m.length>1&&_?w(g,_[0],_[1]):w(g)}var d={"uint32,1,0":function(m,b){return function(g){var _=g.data,T=g.offset|0,w=g.shape,k=g.stride,x=k[0]|0,M=w[0]|0,A=k[1]|0,p=w[1]|0,S=A,y=A,E=1;M<=32?m(0,M-1,_,T,x,A,M,p,S,y,E):b(0,M-1,_,T,x,A,M,p,S,y,E)}}};function v(m,b){var g=[b,m].join(","),_=d[g],T=f(m,b),w=h(m,b,T);return _(T,w)}i.exports=v},446:function(i,a,o){"use strict";var s=o(7640),l={};function u(f){var c=f.order,h=f.dtype,d=[c,h],v=d.join(":"),m=l[v];return m||(l[v]=m=s(c,h)),m(f),f}i.exports=u},9618:function(i,a,o){var s=o(7163),l=typeof Float64Array<"u";function u(b,g){return b[0]-g[0]}function f(){var b=this.stride,g=new Array(b.length),_;for(_=0;_<g.length;++_)g[_]=[Math.abs(b[_]),_];g.sort(u);var T=new Array(g.length);for(_=0;_<T.length;++_)T[_]=g[_][1];return T}var c={T:function(b){function g(T){this.data=T}var _=g.prototype;return _.dtype=b,_.index=function(){return-1},_.size=0,_.dimension=-1,_.shape=_.stride=_.order=[],_.lo=_.hi=_.transpose=_.step=function(){return new g(this.data)},_.get=_.set=function(){},_.pick=function(){return null},function(w){return new g(w)}},0:function(b,g){function _(w,k){this.data=w,this.offset=k}var T=_.prototype;return T.dtype=b,T.index=function(){return this.offset},T.dimension=0,T.size=1,T.shape=T.stride=T.order=[],T.lo=T.hi=T.transpose=T.step=function(){return new _(this.data,this.offset)},T.pick=function(){return g(this.data)},T.valueOf=T.get=function(){return b==="generic"?this.data.get(this.offset):this.data[this.offset]},T.set=function(k){return b==="generic"?this.data.set(this.offset,k):this.data[this.offset]=k},function(k,x,M,A){return new _(k,A)}},1:function(b,g,_){function T(k,x,M,A){this.data=k,this.shape=[x],this.stride=[M],this.offset=A|0}var w=T.prototype;return w.dtype=b,w.dimension=1,Object.defineProperty(w,"size",{get:function(){return this.shape[0]}}),w.order=[0],w.set=function(x,M){return b==="generic"?this.data.set(this.offset+this.stride[0]*x,M):this.data[this.offset+this.stride[0]*x]=M},w.get=function(x){return b==="generic"?this.data.get(this.offset+this.stride[0]*x):this.data[this.offset+this.stride[0]*x]},w.index=function(x){return this.offset+this.stride[0]*x},w.hi=function(x){return new T(this.data,typeof x!="number"||x<0?this.shape[0]:x|0,this.stride[0],this.offset)},w.lo=function(x){var M=this.offset,A=0,p=this.shape[0],S=this.stride[0];return typeof x=="number"&&x>=0&&(A=x|0,M+=S*A,p-=A),new T(this.data,p,S,M)},w.step=function(x){var M=this.shape[0],A=this.stride[0],p=this.offset,S=0,y=Math.ceil;return typeof x=="number"&&(S=x|0,S<0?(p+=A*(M-1),M=y(-M/S)):M=y(M/S),A*=S),new T(this.data,M,A,p)},w.transpose=function(x){x=x===void 0?0:x|0;var M=this.shape,A=this.stride;return new T(this.data,M[x],A[x],this.offset)},w.pick=function(x){var M=[],A=[],p=this.offset;typeof x=="number"&&x>=0?p=p+this.stride[0]*x|0:(M.push(this.shape[0]),A.push(this.stride[0]));var S=g[M.length+1];return S(this.data,M,A,p)},function(x,M,A,p){return new T(x,M[0],A[0],p)}},2:function(b,g,_){function T(k,x,M,A,p,S){this.data=k,this.shape=[x,M],this.stride=[A,p],this.offset=S|0}var w=T.prototype;return w.dtype=b,w.dimension=2,Object.defineProperty(w,"size",{get:function(){return this.shape[0]*this.shape[1]}}),Object.defineProperty(w,"order",{get:function(){return Math.abs(this.stride[0])>Math.abs(this.stride[1])?[1,0]:[0,1]}}),w.set=function(x,M,A){return b==="generic"?this.data.set(this.offset+this.stride[0]*x+this.stride[1]*M,A):this.data[this.offset+this.stride[0]*x+this.stride[1]*M]=A},w.get=function(x,M){return b==="generic"?this.data.get(this.offset+this.stride[0]*x+this.stride[1]*M):this.data[this.offset+this.stride[0]*x+this.stride[1]*M]},w.index=function(x,M){return this.offset+this.stride[0]*x+this.stride[1]*M},w.hi=function(x,M){return new T(this.data,typeof x!="number"||x<0?this.shape[0]:x|0,typeof M!="number"||M<0?this.shape[1]:M|0,this.stride[0],this.stride[1],this.offset)},w.lo=function(x,M){var A=this.offset,p=0,S=this.shape[0],y=this.shape[1],E=this.stride[0],C=this.stride[1];return typeof x=="number"&&x>=0&&(p=x|0,A+=E*p,S-=p),typeof M=="number"&&M>=0&&(p=M|0,A+=C*p,y-=p),new T(this.data,S,y,E,C,A)},w.step=function(x,M){var A=this.shape[0],p=this.shape[1],S=this.stride[0],y=this.stride[1],E=this.offset,C=0,L=Math.ceil;return typeof x=="number"&&(C=x|0,C<0?(E+=S*(A-1),A=L(-A/C)):A=L(A/C),S*=C),typeof M=="number"&&(C=M|0,C<0?(E+=y*(p-1),p=L(-p/C)):p=L(p/C),y*=C),new T(this.data,A,p,S,y,E)},w.transpose=function(x,M){x=x===void 0?0:x|0,M=M===void 0?1:M|0;var A=this.shape,p=this.stride;return new T(this.data,A[x],A[M],p[x],p[M],this.offset)},w.pick=function(x,M){var A=[],p=[],S=this.offset;typeof x=="number"&&x>=0?S=S+this.stride[0]*x|0:(A.push(this.shape[0]),p.push(this.stride[0])),typeof M=="number"&&M>=0?S=S+this.stride[1]*M|0:(A.push(this.shape[1]),p.push(this.stride[1]));var y=g[A.length+1];return y(this.data,A,p,S)},function(x,M,A,p){return new T(x,M[0],M[1],A[0],A[1],p)}},3:function(b,g,_){function T(k,x,M,A,p,S,y,E){this.data=k,this.shape=[x,M,A],this.stride=[p,S,y],this.offset=E|0}var w=T.prototype;return w.dtype=b,w.dimension=3,Object.defineProperty(w,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]}}),Object.defineProperty(w,"order",{get:function(){var x=Math.abs(this.stride[0]),M=Math.abs(this.stride[1]),A=Math.abs(this.stride[2]);return x>M?M>A?[2,1,0]:x>A?[1,2,0]:[1,0,2]:x>A?[2,0,1]:A>M?[0,1,2]:[0,2,1]}}),w.set=function(x,M,A,p){return b==="generic"?this.data.set(this.offset+this.stride[0]*x+this.stride[1]*M+this.stride[2]*A,p):this.data[this.offset+this.stride[0]*x+this.stride[1]*M+this.stride[2]*A]=p},w.get=function(x,M,A){return b==="generic"?this.data.get(this.offset+this.stride[0]*x+this.stride[1]*M+this.stride[2]*A):this.data[this.offset+this.stride[0]*x+this.stride[1]*M+this.stride[2]*A]},w.index=function(x,M,A){return this.offset+this.stride[0]*x+this.stride[1]*M+this.stride[2]*A},w.hi=function(x,M,A){return new T(this.data,typeof x!="number"||x<0?this.shape[0]:x|0,typeof M!="number"||M<0?this.shape[1]:M|0,typeof A!="number"||A<0?this.shape[2]:A|0,this.stride[0],this.stride[1],this.stride[2],this.offset)},w.lo=function(x,M,A){var p=this.offset,S=0,y=this.shape[0],E=this.shape[1],C=this.shape[2],L=this.stride[0],R=this.stride[1],I=this.stride[2];return typeof x=="number"&&x>=0&&(S=x|0,p+=L*S,y-=S),typeof M=="number"&&M>=0&&(S=M|0,p+=R*S,E-=S),typeof A=="number"&&A>=0&&(S=A|0,p+=I*S,C-=S),new T(this.data,y,E,C,L,R,I,p)},w.step=function(x,M,A){var p=this.shape[0],S=this.shape[1],y=this.shape[2],E=this.stride[0],C=this.stride[1],L=this.stride[2],R=this.offset,I=0,P=Math.ceil;return typeof x=="number"&&(I=x|0,I<0?(R+=E*(p-1),p=P(-p/I)):p=P(p/I),E*=I),typeof M=="number"&&(I=M|0,I<0?(R+=C*(S-1),S=P(-S/I)):S=P(S/I),C*=I),typeof A=="number"&&(I=A|0,I<0?(R+=L*(y-1),y=P(-y/I)):y=P(y/I),L*=I),new T(this.data,p,S,y,E,C,L,R)},w.transpose=function(x,M,A){x=x===void 0?0:x|0,M=M===void 0?1:M|0,A=A===void 0?2:A|0;var p=this.shape,S=this.stride;return new T(this.data,p[x],p[M],p[A],S[x],S[M],S[A],this.offset)},w.pick=function(x,M,A){var p=[],S=[],y=this.offset;typeof x=="number"&&x>=0?y=y+this.stride[0]*x|0:(p.push(this.shape[0]),S.push(this.stride[0])),typeof M=="number"&&M>=0?y=y+this.stride[1]*M|0:(p.push(this.shape[1]),S.push(this.stride[1])),typeof A=="number"&&A>=0?y=y+this.stride[2]*A|0:(p.push(this.shape[2]),S.push(this.stride[2]));var E=g[p.length+1];return E(this.data,p,S,y)},function(x,M,A,p){return new T(x,M[0],M[1],M[2],A[0],A[1],A[2],p)}},4:function(b,g,_){function T(k,x,M,A,p,S,y,E,C,L){this.data=k,this.shape=[x,M,A,p],this.stride=[S,y,E,C],this.offset=L|0}var w=T.prototype;return w.dtype=b,w.dimension=4,Object.defineProperty(w,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]}}),Object.defineProperty(w,"order",{get:_}),w.set=function(x,M,A,p,S){return b==="generic"?this.data.set(this.offset+this.stride[0]*x+this.stride[1]*M+this.stride[2]*A+this.stride[3]*p,S):this.data[this.offset+this.stride[0]*x+this.stride[1]*M+this.stride[2]*A+this.stride[3]*p]=S},w.get=function(x,M,A,p){return b==="generic"?this.data.get(this.offset+this.stride[0]*x+this.stride[1]*M+this.stride[2]*A+this.stride[3]*p):this.data[this.offset+this.stride[0]*x+this.stride[1]*M+this.stride[2]*A+this.stride[3]*p]},w.index=function(x,M,A,p){return this.offset+this.stride[0]*x+this.stride[1]*M+this.stride[2]*A+this.stride[3]*p},w.hi=function(x,M,A,p){return new T(this.data,typeof x!="number"||x<0?this.shape[0]:x|0,typeof M!="number"||M<0?this.shape[1]:M|0,typeof A!="number"||A<0?this.shape[2]:A|0,typeof p!="number"||p<0?this.shape[3]:p|0,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},w.lo=function(x,M,A,p){var S=this.offset,y=0,E=this.shape[0],C=this.shape[1],L=this.shape[2],R=this.shape[3],I=this.stride[0],P=this.stride[1],D=this.stride[2],q=this.stride[3];return typeof x=="number"&&x>=0&&(y=x|0,S+=I*y,E-=y),typeof M=="number"&&M>=0&&(y=M|0,S+=P*y,C-=y),typeof A=="number"&&A>=0&&(y=A|0,S+=D*y,L-=y),typeof p=="number"&&p>=0&&(y=p|0,S+=q*y,R-=y),new T(this.data,E,C,L,R,I,P,D,q,S)},w.step=function(x,M,A,p){var S=this.shape[0],y=this.shape[1],E=this.shape[2],C=this.shape[3],L=this.stride[0],R=this.stride[1],I=this.stride[2],P=this.stride[3],D=this.offset,q=0,N=Math.ceil;return typeof x=="number"&&(q=x|0,q<0?(D+=L*(S-1),S=N(-S/q)):S=N(S/q),L*=q),typeof M=="number"&&(q=M|0,q<0?(D+=R*(y-1),y=N(-y/q)):y=N(y/q),R*=q),typeof A=="number"&&(q=A|0,q<0?(D+=I*(E-1),E=N(-E/q)):E=N(E/q),I*=q),typeof p=="number"&&(q=p|0,q<0?(D+=P*(C-1),C=N(-C/q)):C=N(C/q),P*=q),new T(this.data,S,y,E,C,L,R,I,P,D)},w.transpose=function(x,M,A,p){x=x===void 0?0:x|0,M=M===void 0?1:M|0,A=A===void 0?2:A|0,p=p===void 0?3:p|0;var S=this.shape,y=this.stride;return new T(this.data,S[x],S[M],S[A],S[p],y[x],y[M],y[A],y[p],this.offset)},w.pick=function(x,M,A,p){var S=[],y=[],E=this.offset;typeof x=="number"&&x>=0?E=E+this.stride[0]*x|0:(S.push(this.shape[0]),y.push(this.stride[0])),typeof M=="number"&&M>=0?E=E+this.stride[1]*M|0:(S.push(this.shape[1]),y.push(this.stride[1])),typeof A=="number"&&A>=0?E=E+this.stride[2]*A|0:(S.push(this.shape[2]),y.push(this.stride[2])),typeof p=="number"&&p>=0?E=E+this.stride[3]*p|0:(S.push(this.shape[3]),y.push(this.stride[3]));var C=g[S.length+1];return C(this.data,S,y,E)},function(x,M,A,p){return new T(x,M[0],M[1],M[2],M[3],A[0],A[1],A[2],A[3],p)}},5:function(g,_,T){function w(x,M,A,p,S,y,E,C,L,R,I,P){this.data=x,this.shape=[M,A,p,S,y],this.stride=[E,C,L,R,I],this.offset=P|0}var k=w.prototype;return k.dtype=g,k.dimension=5,Object.defineProperty(k,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(k,"order",{get:T}),k.set=function(M,A,p,S,y,E){return g==="generic"?this.data.set(this.offset+this.stride[0]*M+this.stride[1]*A+this.stride[2]*p+this.stride[3]*S+this.stride[4]*y,E):this.data[this.offset+this.stride[0]*M+this.stride[1]*A+this.stride[2]*p+this.stride[3]*S+this.stride[4]*y]=E},k.get=function(M,A,p,S,y){return g==="generic"?this.data.get(this.offset+this.stride[0]*M+this.stride[1]*A+this.stride[2]*p+this.stride[3]*S+this.stride[4]*y):this.data[this.offset+this.stride[0]*M+this.stride[1]*A+this.stride[2]*p+this.stride[3]*S+this.stride[4]*y]},k.index=function(M,A,p,S,y){return this.offset+this.stride[0]*M+this.stride[1]*A+this.stride[2]*p+this.stride[3]*S+this.stride[4]*y},k.hi=function(M,A,p,S,y){return new w(this.data,typeof M!="number"||M<0?this.shape[0]:M|0,typeof A!="number"||A<0?this.shape[1]:A|0,typeof p!="number"||p<0?this.shape[2]:p|0,typeof S!="number"||S<0?this.shape[3]:S|0,typeof y!="number"||y<0?this.shape[4]:y|0,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},k.lo=function(M,A,p,S,y){var E=this.offset,C=0,L=this.shape[0],R=this.shape[1],I=this.shape[2],P=this.shape[3],D=this.shape[4],q=this.stride[0],N=this.stride[1],U=this.stride[2],G=this.stride[3],ee=this.stride[4];return typeof M=="number"&&M>=0&&(C=M|0,E+=q*C,L-=C),typeof A=="number"&&A>=0&&(C=A|0,E+=N*C,R-=C),typeof p=="number"&&p>=0&&(C=p|0,E+=U*C,I-=C),typeof S=="number"&&S>=0&&(C=S|0,E+=G*C,P-=C),typeof y=="number"&&y>=0&&(C=y|0,E+=ee*C,D-=C),new w(this.data,L,R,I,P,D,q,N,U,G,ee,E)},k.step=function(M,A,p,S,y){var E=this.shape[0],C=this.shape[1],L=this.shape[2],R=this.shape[3],I=this.shape[4],P=this.stride[0],D=this.stride[1],q=this.stride[2],N=this.stride[3],U=this.stride[4],G=this.offset,ee=0,Q=Math.ceil;return typeof M=="number"&&(ee=M|0,ee<0?(G+=P*(E-1),E=Q(-E/ee)):E=Q(E/ee),P*=ee),typeof A=="number"&&(ee=A|0,ee<0?(G+=D*(C-1),C=Q(-C/ee)):C=Q(C/ee),D*=ee),typeof p=="number"&&(ee=p|0,ee<0?(G+=q*(L-1),L=Q(-L/ee)):L=Q(L/ee),q*=ee),typeof S=="number"&&(ee=S|0,ee<0?(G+=N*(R-1),R=Q(-R/ee)):R=Q(R/ee),N*=ee),typeof y=="number"&&(ee=y|0,ee<0?(G+=U*(I-1),I=Q(-I/ee)):I=Q(I/ee),U*=ee),new w(this.data,E,C,L,R,I,P,D,q,N,U,G)},k.transpose=function(M,A,p,S,y){M=M===void 0?0:M|0,A=A===void 0?1:A|0,p=p===void 0?2:p|0,S=S===void 0?3:S|0,y=y===void 0?4:y|0;var E=this.shape,C=this.stride;return new w(this.data,E[M],E[A],E[p],E[S],E[y],C[M],C[A],C[p],C[S],C[y],this.offset)},k.pick=function(M,A,p,S,y){var E=[],C=[],L=this.offset;typeof M=="number"&&M>=0?L=L+this.stride[0]*M|0:(E.push(this.shape[0]),C.push(this.stride[0])),typeof A=="number"&&A>=0?L=L+this.stride[1]*A|0:(E.push(this.shape[1]),C.push(this.stride[1])),typeof p=="number"&&p>=0?L=L+this.stride[2]*p|0:(E.push(this.shape[2]),C.push(this.stride[2])),typeof S=="number"&&S>=0?L=L+this.stride[3]*S|0:(E.push(this.shape[3]),C.push(this.stride[3])),typeof y=="number"&&y>=0?L=L+this.stride[4]*y|0:(E.push(this.shape[4]),C.push(this.stride[4]));var R=_[E.length+1];return R(this.data,E,C,L)},function(M,A,p,S){return new w(M,A[0],A[1],A[2],A[3],A[4],p[0],p[1],p[2],p[3],p[4],S)}}};function h(b,g){var _=g===-1?"T":String(g),T=c[_];return g===-1?T(b):g===0?T(b,v[b][0]):T(b,v[b],f)}function d(b){if(s(b))return"buffer";if(l)switch(Object.prototype.toString.call(b)){case"[object Float64Array]":return"float64";case"[object Float32Array]":return"float32";case"[object Int8Array]":return"int8";case"[object Int16Array]":return"int16";case"[object Int32Array]":return"int32";case"[object Uint8ClampedArray]":return"uint8_clamped";case"[object Uint8Array]":return"uint8";case"[object Uint16Array]":return"uint16";case"[object Uint32Array]":return"uint32";case"[object BigInt64Array]":return"bigint64";case"[object BigUint64Array]":return"biguint64"}return Array.isArray(b)?"array":"generic"}var v={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};function m(b,g,_,T){if(b===void 0){var p=v.array[0];return p([])}else typeof b=="number"&&(b=[b]);g===void 0&&(g=[b.length]);var w=g.length;if(_===void 0){_=new Array(w);for(var k=w-1,x=1;k>=0;--k)_[k]=x,x*=g[k]}if(T===void 0){T=0;for(var k=0;k<w;++k)_[k]<0&&(T-=(g[k]-1)*_[k])}for(var M=d(b),A=v[M];A.length<=w+1;)A.push(h(M,A.length-1));var p=A[w+1];return p(b,g,_,T)}i.exports=m},1278:function(i,a,o){"use strict";var s=o(2361),l=Math.pow(2,-1074),u=-1>>>0;i.exports=f;function f(c,h){if(isNaN(c)||isNaN(h))return NaN;if(c===h)return c;if(c===0)return h<0?-l:l;var d=s.hi(c),v=s.lo(c);return h>c==c>0?v===u?(d+=1,v=0):v+=1:v===0?(v=u,d-=1):v-=1,s.pack(v,d)}},8406:function(i,a){var o=1e-6,s=1e-6;a.vertexNormals=function(l,u,f){for(var c=u.length,h=new Array(c),d=f===void 0?o:f,v=0;v<c;++v)h[v]=[0,0,0];for(var v=0;v<l.length;++v)for(var m=l[v],b=0,g=m[m.length-1],_=m[0],T=0;T<m.length;++T){b=g,g=_,_=m[(T+1)%m.length];for(var w=u[b],k=u[g],x=u[_],M=new Array(3),A=0,p=new Array(3),S=0,y=0;y<3;++y)M[y]=w[y]-k[y],A+=M[y]*M[y],p[y]=x[y]-k[y],S+=p[y]*p[y];if(A*S>d)for(var E=h[g],C=1/Math.sqrt(A*S),y=0;y<3;++y){var L=(y+1)%3,R=(y+2)%3;E[y]+=C*(p[L]*M[R]-p[R]*M[L])}}for(var v=0;v<c;++v){for(var E=h[v],I=0,y=0;y<3;++y)I+=E[y]*E[y];if(I>d)for(var C=1/Math.sqrt(I),y=0;y<3;++y)E[y]*=C;else for(var y=0;y<3;++y)E[y]=0}return h},a.faceNormals=function(l,u,f){for(var c=l.length,h=new Array(c),d=f===void 0?s:f,v=0;v<c;++v){for(var m=l[v],b=new Array(3),g=0;g<3;++g)b[g]=u[m[g]];for(var _=new Array(3),T=new Array(3),g=0;g<3;++g)_[g]=b[1][g]-b[0][g],T[g]=b[2][g]-b[0][g];for(var w=new Array(3),k=0,g=0;g<3;++g){var x=(g+1)%3,M=(g+2)%3;w[g]=_[x]*T[M]-_[M]*T[x],k+=w[g]*w[g]}k>d?k=1/Math.sqrt(k):k=0;for(var g=0;g<3;++g)w[g]*=k;h[v]=w}return h}},4081:function(i){"use strict";i.exports=a;function a(o,s,l,u,f,c,h,d,v,m){var b=s+c+m;if(g>0){var g=Math.sqrt(b+1);o[0]=.5*(h-v)/g,o[1]=.5*(d-u)/g,o[2]=.5*(l-c)/g,o[3]=.5*g}else{var _=Math.max(s,c,m),g=Math.sqrt(2*_-b+1);s>=_?(o[0]=.5*g,o[1]=.5*(f+l)/g,o[2]=.5*(d+u)/g,o[3]=.5*(h-v)/g):c>=_?(o[0]=.5*(l+f)/g,o[1]=.5*g,o[2]=.5*(v+h)/g,o[3]=.5*(d-u)/g):(o[0]=.5*(u+d)/g,o[1]=.5*(h+v)/g,o[2]=.5*g,o[3]=.5*(l-f)/g)}return o}},9977:function(i,a,o){"use strict";i.exports=g;var s=o(9215),l=o(6582),u=o(7399),f=o(7608),c=o(4081);function h(_,T,w){return Math.sqrt(Math.pow(_,2)+Math.pow(T,2)+Math.pow(w,2))}function d(_,T,w,k){return Math.sqrt(Math.pow(_,2)+Math.pow(T,2)+Math.pow(w,2)+Math.pow(k,2))}function v(_,T){var w=T[0],k=T[1],x=T[2],M=T[3],A=d(w,k,x,M);A>1e-6?(_[0]=w/A,_[1]=k/A,_[2]=x/A,_[3]=M/A):(_[0]=_[1]=_[2]=0,_[3]=1)}function m(_,T,w){this.radius=s([w]),this.center=s(T),this.rotation=s(_),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var b=m.prototype;b.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},b.recalcMatrix=function(_){this.radius.curve(_),this.center.curve(_),this.rotation.curve(_);var T=this.computedRotation;v(T,T);var w=this.computedMatrix;u(w,T);var k=this.computedCenter,x=this.computedEye,M=this.computedUp,A=Math.exp(this.computedRadius[0]);x[0]=k[0]+A*w[2],x[1]=k[1]+A*w[6],x[2]=k[2]+A*w[10],M[0]=w[1],M[1]=w[5],M[2]=w[9];for(var p=0;p<3;++p){for(var S=0,y=0;y<3;++y)S+=w[p+4*y]*x[y];w[12+p]=-S}},b.getMatrix=function(_,T){this.recalcMatrix(_);var w=this.computedMatrix;if(T){for(var k=0;k<16;++k)T[k]=w[k];return T}return w},b.idle=function(_){this.center.idle(_),this.radius.idle(_),this.rotation.idle(_)},b.flush=function(_){this.center.flush(_),this.radius.flush(_),this.rotation.flush(_)},b.pan=function(_,T,w,k){T=T||0,w=w||0,k=k||0,this.recalcMatrix(_);var x=this.computedMatrix,M=x[1],A=x[5],p=x[9],S=h(M,A,p);M/=S,A/=S,p/=S;var y=x[0],E=x[4],C=x[8],L=y*M+E*A+C*p;y-=M*L,E-=A*L,C-=p*L;var R=h(y,E,C);y/=R,E/=R,C/=R;var I=x[2],P=x[6],D=x[10],q=I*M+P*A+D*p,N=I*y+P*E+D*C;I-=q*M+N*y,P-=q*A+N*E,D-=q*p+N*C;var U=h(I,P,D);I/=U,P/=U,D/=U;var G=y*T+M*w,ee=E*T+A*w,Q=C*T+p*w;this.center.move(_,G,ee,Q);var j=Math.exp(this.computedRadius[0]);j=Math.max(1e-4,j+k),this.radius.set(_,Math.log(j))},b.rotate=function(_,T,w,k){this.recalcMatrix(_),T=T||0,w=w||0;var x=this.computedMatrix,M=x[0],A=x[4],p=x[8],S=x[1],y=x[5],E=x[9],C=x[2],L=x[6],R=x[10],I=T*M+w*S,P=T*A+w*y,D=T*p+w*E,q=-(L*D-R*P),N=-(R*I-C*D),U=-(C*P-L*I),G=Math.sqrt(Math.max(0,1-Math.pow(q,2)-Math.pow(N,2)-Math.pow(U,2))),ee=d(q,N,U,G);ee>1e-6?(q/=ee,N/=ee,U/=ee,G/=ee):(q=N=U=0,G=1);var Q=this.computedRotation,j=Q[0],O=Q[1],Z=Q[2],K=Q[3],$=j*G+K*q+O*U-Z*N,oe=O*G+K*N+Z*q-j*U,te=Z*G+K*U+j*N-O*q,V=K*G-j*q-O*N-Z*U;if(k){q=C,N=L,U=R;var ne=Math.sin(k)/h(q,N,U);q*=ne,N*=ne,U*=ne,G=Math.cos(T),$=$*G+V*q+oe*U-te*N,oe=oe*G+V*N+te*q-$*U,te=te*G+V*U+$*N-oe*q,V=V*G-$*q-oe*N-te*U}var W=d($,oe,te,V);W>1e-6?($/=W,oe/=W,te/=W,V/=W):($=oe=te=0,V=1),this.rotation.set(_,$,oe,te,V)},b.lookAt=function(_,T,w,k){this.recalcMatrix(_),w=w||this.computedCenter,T=T||this.computedEye,k=k||this.computedUp;var x=this.computedMatrix;l(x,T,w,k);var M=this.computedRotation;c(M,x[0],x[1],x[2],x[4],x[5],x[6],x[8],x[9],x[10]),v(M,M),this.rotation.set(_,M[0],M[1],M[2],M[3]);for(var A=0,p=0;p<3;++p)A+=Math.pow(w[p]-T[p],2);this.radius.set(_,.5*Math.log(Math.max(A,1e-6))),this.center.set(_,w[0],w[1],w[2])},b.translate=function(_,T,w,k){this.center.move(_,T||0,w||0,k||0)},b.setMatrix=function(_,T){var w=this.computedRotation;c(w,T[0],T[1],T[2],T[4],T[5],T[6],T[8],T[9],T[10]),v(w,w),this.rotation.set(_,w[0],w[1],w[2],w[3]);var k=this.computedMatrix;f(k,T);var x=k[15];if(Math.abs(x)>1e-6){var M=k[12]/x,A=k[13]/x,p=k[14]/x;this.recalcMatrix(_);var S=Math.exp(this.computedRadius[0]);this.center.set(_,M-k[2]*S,A-k[6]*S,p-k[10]*S),this.radius.idle(_)}else this.center.idle(_),this.radius.idle(_)},b.setDistance=function(_,T){T>0&&this.radius.set(_,Math.log(T))},b.setDistanceLimits=function(_,T){_>0?_=Math.log(_):_=-1/0,T>0?T=Math.log(T):T=1/0,T=Math.max(T,_),this.radius.bounds[0][0]=_,this.radius.bounds[1][0]=T},b.getDistanceLimits=function(_){var T=this.radius.bounds;return _?(_[0]=Math.exp(T[0][0]),_[1]=Math.exp(T[1][0]),_):[Math.exp(T[0][0]),Math.exp(T[1][0])]},b.toJSON=function(){return this.recalcMatrix(this.lastT()),{center:this.computedCenter.slice(),rotation:this.computedRotation.slice(),distance:Math.log(this.computedRadius[0]),zoomMin:this.radius.bounds[0][0],zoomMax:this.radius.bounds[1][0]}},b.fromJSON=function(_){var T=this.lastT(),w=_.center;w&&this.center.set(T,w[0],w[1],w[2]);var k=_.rotation;k&&this.rotation.set(T,k[0],k[1],k[2],k[3]);var x=_.distance;x&&x>0&&this.radius.set(T,Math.log(x)),this.setDistanceLimits(_.zoomMin,_.zoomMax)};function g(_){_=_||{};var T=_.center||[0,0,0],w=_.rotation||[0,0,0,1],k=_.radius||1;T=[].slice.call(T,0,3),w=[].slice.call(w,0,4),v(w,w);var x=new m(w,T,Math.log(k));return x.setDistanceLimits(_.zoomMin,_.zoomMax),("eye"in _||"up"in _)&&x.lookAt(0,_.eye,_.center,_.up),x}},1371:function(i,a,o){"use strict";var s=o(3233);i.exports=function(u,f,c){return c=typeof c<"u"?c+"":" ",s(c,f)+u}},3202:function(i){i.exports=function(o,s){s||(s=[0,""]),o=String(o);var l=parseFloat(o,10);return s[0]=l,s[1]=o.match(/[\d.\-\+]*\s*(.*)/)[1]||"",s}},3088:function(i,a,o){"use strict";i.exports=l;var s=o(3140);function l(u,f){for(var c=f.length|0,h=u.length,d=[new Array(c),new Array(c)],v=0;v<c;++v)d[0][v]=[],d[1][v]=[];for(var v=0;v<h;++v){var m=u[v];d[0][m[0]].push(m),d[1][m[1]].push(m)}for(var b=[],v=0;v<c;++v)d[0][v].length+d[1][v].length===0&&b.push([v]);function g(p,S){var y=d[S][p[S]];y.splice(y.indexOf(p),1)}function _(p,S,y){for(var E,C,L,R=0;R<2;++R)if(d[R][S].length>0){E=d[R][S][0],L=R;break}C=E[L^1];for(var I=0;I<2;++I)for(var P=d[I][S],D=0;D<P.length;++D){var q=P[D],N=q[I^1],U=s(f[p],f[S],f[C],f[N]);U>0&&(E=q,C=N,L=I)}return y||E&&g(E,L),C}function T(p,S){var y=d[S][p][0],E=[p];g(y,S);for(var C=y[S^1],L=S;;){for(;C!==p;)E.push(C),C=_(E[E.length-2],C,!1);if(d[0][p].length+d[1][p].length===0)break;var R=E[E.length-1],I=p,P=E[1],D=_(R,I,!0);if(s(f[R],f[I],f[P],f[D])<0)break;E.push(p),C=_(R,I)}return E}function w(p,S){return S[1]===S[S.length-1]}for(var v=0;v<c;++v)for(var k=0;k<2;++k){for(var x=[];d[k][v].length>0;){var M=d[0][v].length,A=T(v,k);w(x,A)?x.push.apply(x,A):(x.length>0&&b.push(x),x=A)}x.length>0&&b.push(x)}return b}},5609:function(i,a,o){"use strict";i.exports=l;var s=o(3134);function l(u,f){for(var c=s(u,f.length),h=new Array(f.length),d=new Array(f.length),v=[],m=0;m<f.length;++m){var b=c[m].length;d[m]=b,h[m]=!0,b<=1&&v.push(m)}for(;v.length>0;){var g=v.pop();h[g]=!1;for(var _=c[g],m=0;m<_.length;++m){var T=_[m];--d[T]===0&&v.push(T)}}for(var w=new Array(f.length),k=[],m=0;m<f.length;++m)if(h[m]){var g=k.length;w[m]=g,k.push(f[m])}else w[m]=-1;for(var x=[],m=0;m<u.length;++m){var M=u[m];h[M[0]]&&h[M[1]]&&x.push([w[M[0]],w[M[1]]])}return[x,k]}},2095:function(i,a,o){"use strict";i.exports=b;var s=o(3134),l=o(3088),u=o(5085),f=o(5250),c=o(8210),h=o(1682),d=o(5609);function v(g,_){for(var T=new Array(g),w=0;w<g;++w)T[w]=_;return T}function m(g){for(var _=new Array(g),T=0;T<g;++T)_[T]=[];return _}function b(g,_){var ne=d(g,_);g=ne[0],_=ne[1];for(var T=_.length,w=g.length,k=s(g,_.length),x=0;x<T;++x)if(k[x].length%2===1)throw new Error("planar-graph-to-polyline: graph must be manifold");var M=l(g,_);function A(me){for(var Ie=me.length,Re=[0],ze=0;ze<Ie;++ze){var Be=_[me[ze]],tt=_[me[(ze+1)%Ie]],rt=f(-Be[0],Be[1]),ce=f(-Be[0],tt[1]),Ee=f(tt[0],Be[1]),Ae=f(tt[0],tt[1]);Re=c(Re,c(c(rt,ce),c(Ee,Ae)))}return Re[Re.length-1]>0}M=M.filter(A);for(var p=M.length,S=new Array(p),y=new Array(p),x=0;x<p;++x){S[x]=x;var E=new Array(p),C=M[x].map(function(Ie){return _[Ie]}),L=u([C]),R=0;e:for(var I=0;I<p;++I)if(E[I]=0,x!==I){for(var P=M[I],D=P.length,q=0;q<D;++q){var N=L(_[P[q]]);if(N!==0){N<0&&(E[I]=1,R+=1);continue e}}E[I]=1,R+=1}y[x]=[R,x,E]}y.sort(function(me,Ie){return Ie[0]-me[0]});for(var x=0;x<p;++x)for(var E=y[x],U=E[1],G=E[2],I=0;I<p;++I)G[I]&&(S[I]=U);for(var ee=m(p),x=0;x<p;++x)ee[x].push(S[x]),ee[S[x]].push(x);for(var Q={},j=v(T,!1),x=0;x<p;++x)for(var P=M[x],D=P.length,I=0;I<D;++I){var O=P[I],Z=P[(I+1)%D],K=Math.min(O,Z)+":"+Math.max(O,Z);if(K in Q){var $=Q[K];ee[$].push(x),ee[x].push($),j[O]=j[Z]=!0}else Q[K]=x}function oe(me){for(var Ie=me.length,Re=0;Re<Ie;++Re)if(!j[me[Re]])return!1;return!0}for(var te=[],V=v(p,-1),x=0;x<p;++x)S[x]===x&&!oe(M[x])?(te.push(x),V[x]=0):V[x]=-1;for(var ne=[];te.length>0;){var W=te.pop(),fe=ee[W];h(fe,function(me,Ie){return me-Ie});var ge=fe.length,Ce=V[W],Ne;if(Ce===0){var P=M[W];Ne=[P]}for(var x=0;x<ge;++x){var pe=fe[x];if(!(V[pe]>=0)&&(V[pe]=Ce^1,te.push(pe),Ce===0)){var P=M[pe];oe(P)||(P.reverse(),Ne.push(P))}}Ce===0&&ne.push(Ne)}return ne}},5085:function(i,a,o){i.exports=_;var s=o(3250)[3],l=o(4209),u=o(3352),f=o(2478);function c(){return!0}function h(T){return function(w,k){var x=T[w];return x?!!x.queryPoint(k,c):!1}}function d(T){for(var w={},k=0;k<T.length;++k){var x=T[k],M=x[0][0],A=x[0][1],p=x[1][1],S=[Math.min(A,p),Math.max(A,p)];M in w?w[M].push(S):w[M]=[S]}for(var y={},E=Object.keys(w),k=0;k<E.length;++k){var C=w[E[k]];y[E[k]]=u(C)}return h(y)}function v(T,w){return function(k){var x=f.le(w,k[0]);if(x<0)return 1;var M=T[x];if(!M)if(x>0&&w[x]===k[0])M=T[x-1];else return 1;for(var A=1;M;){var p=M.key,S=s(k,p[0],p[1]);if(p[0][0]<p[1][0])if(S<0)M=M.left;else if(S>0)A=-1,M=M.right;else return 0;else if(S>0)M=M.left;else if(S<0)A=1,M=M.right;else return 0}return A}}function m(T){return 1}function b(T){return function(k){return T(k[0],k[1])?0:1}}function g(T,w){return function(x){return T(x[0],x[1])?0:w(x)}}function _(T){for(var w=T.length,k=[],x=[],M=0,A=0;A<w;++A)for(var p=T[A],S=p.length,y=S-1,E=0;E<S;y=E++){var C=p[y],L=p[E];C[0]===L[0]?x.push([C,L]):k.push([C,L])}if(k.length===0)return x.length===0?m:b(d(x));var R=l(k),I=v(R.slabs,R.coordinates);return x.length===0?I:g(d(x),I)}},9346:function(i){"use strict";var a=new Float64Array(4),o=new Float64Array(4),s=new Float64Array(4);function l(u,f,c,h,d){a.length<h.length&&(a=new Float64Array(h.length),o=new Float64Array(h.length),s=new Float64Array(h.length));for(var v=0;v<h.length;++v)a[v]=u[v]-h[v],o[v]=f[v]-u[v],s[v]=c[v]-u[v];for(var m=0,b=0,g=0,_=0,T=0,w=0,v=0;v<h.length;++v){var k=o[v],x=s[v],M=a[v];m+=k*k,b+=k*x,g+=x*x,_+=M*k,T+=M*x,w+=M*M}var A=Math.abs(m*g-b*b),p=b*T-g*_,S=b*_-m*T,y;if(p+S<=A)if(p<0)S<0&&_<0?(S=0,-_>=m?(p=1,y=m+2*_+w):(p=-_/m,y=_*p+w)):(p=0,T>=0?(S=0,y=w):-T>=g?(S=1,y=g+2*T+w):(S=-T/g,y=T*S+w));else if(S<0)S=0,_>=0?(p=0,y=w):-_>=m?(p=1,y=m+2*_+w):(p=-_/m,y=_*p+w);else{var E=1/A;p*=E,S*=E,y=p*(m*p+b*S+2*_)+S*(b*p+g*S+2*T)+w}else{var C,L,R,I;p<0?(C=b+_,L=g+T,L>C?(R=L-C,I=m-2*b+g,R>=I?(p=1,S=0,y=m+2*_+w):(p=R/I,S=1-p,y=p*(m*p+b*S+2*_)+S*(b*p+g*S+2*T)+w)):(p=0,L<=0?(S=1,y=g+2*T+w):T>=0?(S=0,y=w):(S=-T/g,y=T*S+w))):S<0?(C=b+T,L=m+_,L>C?(R=L-C,I=m-2*b+g,R>=I?(S=1,p=0,y=g+2*T+w):(S=R/I,p=1-S,y=p*(m*p+b*S+2*_)+S*(b*p+g*S+2*T)+w)):(S=0,L<=0?(p=1,y=m+2*_+w):_>=0?(p=0,y=w):(p=-_/m,y=_*p+w))):(R=g+T-b-_,R<=0?(p=0,S=1,y=g+2*T+w):(I=m-2*b+g,R>=I?(p=1,S=0,y=m+2*_+w):(p=R/I,S=1-p,y=p*(m*p+b*S+2*_)+S*(b*p+g*S+2*T)+w)))}for(var P=1-p-S,v=0;v<h.length;++v)d[v]=P*u[v]+p*f[v]+S*c[v];return y<0?0:y}i.exports=l},8648:function(i,a,o){i.exports=o(783)},2653:function(i,a,o){"use strict";var s=o(3865);i.exports=l;function l(u,f){for(var c=u.length,h=new Array(c),d=0;d<c;++d)h[d]=s(u[d],f[d]);return h}},5838:function(i,a,o){"use strict";i.exports=l;var s=o(7842);function l(u){for(var f=new Array(u.length),c=0;c<u.length;++c)f[c]=s(u[c]);return f}},8987:function(i,a,o){"use strict";var s=o(7842),l=o(6504);i.exports=u;function u(f,c){for(var h=s(c),d=f.length,v=new Array(d),m=0;m<d;++m)v[m]=l(f[m],h);return v}},544:function(i,a,o){"use strict";var s=o(5572);i.exports=l;function l(u,f){for(var c=u.length,h=new Array(c),d=0;d<c;++d)h[d]=s(u[d],f[d]);return h}},5771:function(i,a,o){"use strict";var s=o(8507),l=o(3788),u=o(2419);i.exports=f;function f(c){c.sort(l);for(var h=c.length,d=0,v=0;v<h;++v){var m=c[v],b=u(m);if(b!==0){if(d>0){var g=c[d-1];if(s(m,g)===0&&u(g)!==b){d-=1;continue}}c[d++]=m}}return c.length=d,c}},3233:function(i){"use strict";var a="",o;i.exports=s;function s(l,u){if(typeof l!="string")throw new TypeError("expected a string");if(u===1)return l;if(u===2)return l+l;var f=l.length*u;if(o!==l||typeof o>"u")o=l,a="";else if(a.length>=f)return a.substr(0,f);for(;f>a.length&&u>1;)u&1&&(a+=l),u>>=1,l+=l;return a+=l,a=a.substr(0,f),a}},3025:function(i,a,o){i.exports=o.g.performance&&o.g.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}},7004:function(i){"use strict";i.exports=a;function a(o){for(var s=o.length,l=o[o.length-1],u=s,f=s-2;f>=0;--f){var c=l,h=o[f];l=c+h;var d=l-c,v=h-d;v&&(o[--u]=l,l=v)}for(var m=0,f=u;f<s;++f){var c=o[f],h=l;l=c+h;var d=l-c,v=h-d;v&&(o[m++]=v)}return o[m++]=l,o.length=m,o}},2962:function(i,a,o){"use strict";var s=o(5250),l=o(8210),u=o(3012),f=o(7004),c=6;function h(w,k,x,M){return function(p){return M(w(x(p[0][0],p[1][1]),x(-p[0][1],p[1][0])))}}function d(w,k,x,M){return function(p){return M(w(k(w(x(p[1][1],p[2][2]),x(-p[1][2],p[2][1])),p[0][0]),w(k(w(x(p[1][0],p[2][2]),x(-p[1][2],p[2][0])),-p[0][1]),k(w(x(p[1][0],p[2][1]),x(-p[1][1],p[2][0])),p[0][2]))))}}function v(w,k,x,M){return function(p){return M(w(w(k(w(k(w(x(p[2][2],p[3][3]),x(-p[2][3],p[3][2])),p[1][1]),w(k(w(x(p[2][1],p[3][3]),x(-p[2][3],p[3][1])),-p[1][2]),k(w(x(p[2][1],p[3][2]),x(-p[2][2],p[3][1])),p[1][3]))),p[0][0]),k(w(k(w(x(p[2][2],p[3][3]),x(-p[2][3],p[3][2])),p[1][0]),w(k(w(x(p[2][0],p[3][3]),x(-p[2][3],p[3][0])),-p[1][2]),k(w(x(p[2][0],p[3][2]),x(-p[2][2],p[3][0])),p[1][3]))),-p[0][1])),w(k(w(k(w(x(p[2][1],p[3][3]),x(-p[2][3],p[3][1])),p[1][0]),w(k(w(x(p[2][0],p[3][3]),x(-p[2][3],p[3][0])),-p[1][1]),k(w(x(p[2][0],p[3][1]),x(-p[2][1],p[3][0])),p[1][3]))),p[0][2]),k(w(k(w(x(p[2][1],p[3][2]),x(-p[2][2],p[3][1])),p[1][0]),w(k(w(x(p[2][0],p[3][2]),x(-p[2][2],p[3][0])),-p[1][1]),k(w(x(p[2][0],p[3][1]),x(-p[2][1],p[3][0])),p[1][2]))),-p[0][3]))))}}function m(w,k,x,M){return function(p){return M(w(w(k(w(w(k(w(k(w(x(p[3][3],p[4][4]),x(-p[3][4],p[4][3])),p[2][2]),w(k(w(x(p[3][2],p[4][4]),x(-p[3][4],p[4][2])),-p[2][3]),k(w(x(p[3][2],p[4][3]),x(-p[3][3],p[4][2])),p[2][4]))),p[1][1]),k(w(k(w(x(p[3][3],p[4][4]),x(-p[3][4],p[4][3])),p[2][1]),w(k(w(x(p[3][1],p[4][4]),x(-p[3][4],p[4][1])),-p[2][3]),k(w(x(p[3][1],p[4][3]),x(-p[3][3],p[4][1])),p[2][4]))),-p[1][2])),w(k(w(k(w(x(p[3][2],p[4][4]),x(-p[3][4],p[4][2])),p[2][1]),w(k(w(x(p[3][1],p[4][4]),x(-p[3][4],p[4][1])),-p[2][2]),k(w(x(p[3][1],p[4][2]),x(-p[3][2],p[4][1])),p[2][4]))),p[1][3]),k(w(k(w(x(p[3][2],p[4][3]),x(-p[3][3],p[4][2])),p[2][1]),w(k(w(x(p[3][1],p[4][3]),x(-p[3][3],p[4][1])),-p[2][2]),k(w(x(p[3][1],p[4][2]),x(-p[3][2],p[4][1])),p[2][3]))),-p[1][4]))),p[0][0]),k(w(w(k(w(k(w(x(p[3][3],p[4][4]),x(-p[3][4],p[4][3])),p[2][2]),w(k(w(x(p[3][2],p[4][4]),x(-p[3][4],p[4][2])),-p[2][3]),k(w(x(p[3][2],p[4][3]),x(-p[3][3],p[4][2])),p[2][4]))),p[1][0]),k(w(k(w(x(p[3][3],p[4][4]),x(-p[3][4],p[4][3])),p[2][0]),w(k(w(x(p[3][0],p[4][4]),x(-p[3][4],p[4][0])),-p[2][3]),k(w(x(p[3][0],p[4][3]),x(-p[3][3],p[4][0])),p[2][4]))),-p[1][2])),w(k(w(k(w(x(p[3][2],p[4][4]),x(-p[3][4],p[4][2])),p[2][0]),w(k(w(x(p[3][0],p[4][4]),x(-p[3][4],p[4][0])),-p[2][2]),k(w(x(p[3][0],p[4][2]),x(-p[3][2],p[4][0])),p[2][4]))),p[1][3]),k(w(k(w(x(p[3][2],p[4][3]),x(-p[3][3],p[4][2])),p[2][0]),w(k(w(x(p[3][0],p[4][3]),x(-p[3][3],p[4][0])),-p[2][2]),k(w(x(p[3][0],p[4][2]),x(-p[3][2],p[4][0])),p[2][3]))),-p[1][4]))),-p[0][1])),w(k(w(w(k(w(k(w(x(p[3][3],p[4][4]),x(-p[3][4],p[4][3])),p[2][1]),w(k(w(x(p[3][1],p[4][4]),x(-p[3][4],p[4][1])),-p[2][3]),k(w(x(p[3][1],p[4][3]),x(-p[3][3],p[4][1])),p[2][4]))),p[1][0]),k(w(k(w(x(p[3][3],p[4][4]),x(-p[3][4],p[4][3])),p[2][0]),w(k(w(x(p[3][0],p[4][4]),x(-p[3][4],p[4][0])),-p[2][3]),k(w(x(p[3][0],p[4][3]),x(-p[3][3],p[4][0])),p[2][4]))),-p[1][1])),w(k(w(k(w(x(p[3][1],p[4][4]),x(-p[3][4],p[4][1])),p[2][0]),w(k(w(x(p[3][0],p[4][4]),x(-p[3][4],p[4][0])),-p[2][1]),k(w(x(p[3][0],p[4][1]),x(-p[3][1],p[4][0])),p[2][4]))),p[1][3]),k(w(k(w(x(p[3][1],p[4][3]),x(-p[3][3],p[4][1])),p[2][0]),w(k(w(x(p[3][0],p[4][3]),x(-p[3][3],p[4][0])),-p[2][1]),k(w(x(p[3][0],p[4][1]),x(-p[3][1],p[4][0])),p[2][3]))),-p[1][4]))),p[0][2]),w(k(w(w(k(w(k(w(x(p[3][2],p[4][4]),x(-p[3][4],p[4][2])),p[2][1]),w(k(w(x(p[3][1],p[4][4]),x(-p[3][4],p[4][1])),-p[2][2]),k(w(x(p[3][1],p[4][2]),x(-p[3][2],p[4][1])),p[2][4]))),p[1][0]),k(w(k(w(x(p[3][2],p[4][4]),x(-p[3][4],p[4][2])),p[2][0]),w(k(w(x(p[3][0],p[4][4]),x(-p[3][4],p[4][0])),-p[2][2]),k(w(x(p[3][0],p[4][2]),x(-p[3][2],p[4][0])),p[2][4]))),-p[1][1])),w(k(w(k(w(x(p[3][1],p[4][4]),x(-p[3][4],p[4][1])),p[2][0]),w(k(w(x(p[3][0],p[4][4]),x(-p[3][4],p[4][0])),-p[2][1]),k(w(x(p[3][0],p[4][1]),x(-p[3][1],p[4][0])),p[2][4]))),p[1][2]),k(w(k(w(x(p[3][1],p[4][2]),x(-p[3][2],p[4][1])),p[2][0]),w(k(w(x(p[3][0],p[4][2]),x(-p[3][2],p[4][0])),-p[2][1]),k(w(x(p[3][0],p[4][1]),x(-p[3][1],p[4][0])),p[2][2]))),-p[1][4]))),-p[0][3]),k(w(w(k(w(k(w(x(p[3][2],p[4][3]),x(-p[3][3],p[4][2])),p[2][1]),w(k(w(x(p[3][1],p[4][3]),x(-p[3][3],p[4][1])),-p[2][2]),k(w(x(p[3][1],p[4][2]),x(-p[3][2],p[4][1])),p[2][3]))),p[1][0]),k(w(k(w(x(p[3][2],p[4][3]),x(-p[3][3],p[4][2])),p[2][0]),w(k(w(x(p[3][0],p[4][3]),x(-p[3][3],p[4][0])),-p[2][2]),k(w(x(p[3][0],p[4][2]),x(-p[3][2],p[4][0])),p[2][3]))),-p[1][1])),w(k(w(k(w(x(p[3][1],p[4][3]),x(-p[3][3],p[4][1])),p[2][0]),w(k(w(x(p[3][0],p[4][3]),x(-p[3][3],p[4][0])),-p[2][1]),k(w(x(p[3][0],p[4][1]),x(-p[3][1],p[4][0])),p[2][3]))),p[1][2]),k(w(k(w(x(p[3][1],p[4][2]),x(-p[3][2],p[4][1])),p[2][0]),w(k(w(x(p[3][0],p[4][2]),x(-p[3][2],p[4][0])),-p[2][1]),k(w(x(p[3][0],p[4][1]),x(-p[3][1],p[4][0])),p[2][2]))),-p[1][3]))),p[0][4])))))}}function b(w){var k=w===2?h:w===3?d:w===4?v:w===5?m:void 0;return k(l,u,s,f)}var g=[function(){return[0]},function(k){return[k[0][0]]}];function _(w,k,x,M,A,p,S,y){return function(C){switch(C.length){case 0:return w(C);case 1:return k(C);case 2:return x(C);case 3:return M(C);case 4:return A(C);case 5:return p(C)}var L=S[C.length];return L||(L=S[C.length]=y(C.length)),L(C)}}function T(){for(;g.length<c;)g.push(b(g.length));i.exports=_.apply(void 0,g.concat([g,b]));for(var w=0;w<g.length;++w)i.exports[w]=g[w]}T()},1944:function(i,a,o){"use strict";var s=o(5250),l=o(8210);i.exports=u;function u(f,c){for(var h=s(f[0],c[0]),d=1;d<f.length;++d)h=l(h,s(f[d],c[d]));return h}},2646:function(i,a,o){"use strict";var s=o(5250),l=o(8210),u=o(8545),f=o(3012),c=6;function h(A){var p=A===3?b:A===4?g:A===5?_:T;return p(l,u,s,f)}function d(){return 0}function v(){return 0}function m(){return 0}function b(A,p,S,y){function E(C,L,R){var I=S(C[0],C[0]),P=y(I,L[0]),D=y(I,R[0]),q=S(L[0],L[0]),N=y(q,C[0]),U=y(q,R[0]),G=S(R[0],R[0]),ee=y(G,C[0]),Q=y(G,L[0]),j=A(p(Q,U),p(N,P)),O=p(ee,D),Z=p(j,O);return Z[Z.length-1]}return E}function g(A,p,S,y){function E(C,L,R,I){var P=A(S(C[0],C[0]),S(C[1],C[1])),D=y(P,L[0]),q=y(P,R[0]),N=y(P,I[0]),U=A(S(L[0],L[0]),S(L[1],L[1])),G=y(U,C[0]),ee=y(U,R[0]),Q=y(U,I[0]),j=A(S(R[0],R[0]),S(R[1],R[1])),O=y(j,C[0]),Z=y(j,L[0]),K=y(j,I[0]),$=A(S(I[0],I[0]),S(I[1],I[1])),oe=y($,C[0]),te=y($,L[0]),V=y($,R[0]),ne=A(A(y(p(V,K),L[1]),A(y(p(te,Q),-R[1]),y(p(Z,ee),I[1]))),A(y(p(te,Q),C[1]),A(y(p(oe,N),-L[1]),y(p(G,D),I[1])))),W=A(A(y(p(V,K),C[1]),A(y(p(oe,N),-R[1]),y(p(O,q),I[1]))),A(y(p(Z,ee),C[1]),A(y(p(O,q),-L[1]),y(p(G,D),R[1])))),fe=p(ne,W);return fe[fe.length-1]}return E}function _(A,p,S,y){function E(C,L,R,I,P){var D=A(S(C[0],C[0]),A(S(C[1],C[1]),S(C[2],C[2]))),q=y(D,L[0]),N=y(D,R[0]),U=y(D,I[0]),G=y(D,P[0]),ee=A(S(L[0],L[0]),A(S(L[1],L[1]),S(L[2],L[2]))),Q=y(ee,C[0]),j=y(ee,R[0]),O=y(ee,I[0]),Z=y(ee,P[0]),K=A(S(R[0],R[0]),A(S(R[1],R[1]),S(R[2],R[2]))),$=y(K,C[0]),oe=y(K,L[0]),te=y(K,I[0]),V=y(K,P[0]),ne=A(S(I[0],I[0]),A(S(I[1],I[1]),S(I[2],I[2]))),W=y(ne,C[0]),fe=y(ne,L[0]),ge=y(ne,R[0]),Ce=y(ne,P[0]),Ne=A(S(P[0],P[0]),A(S(P[1],P[1]),S(P[2],P[2]))),pe=y(Ne,C[0]),me=y(Ne,L[0]),Ie=y(Ne,R[0]),Re=y(Ne,I[0]),ze=A(A(A(y(A(y(p(Re,Ce),R[1]),A(y(p(Ie,V),-I[1]),y(p(ge,te),P[1]))),L[2]),A(y(A(y(p(Re,Ce),L[1]),A(y(p(me,Z),-I[1]),y(p(fe,O),P[1]))),-R[2]),y(A(y(p(Ie,V),L[1]),A(y(p(me,Z),-R[1]),y(p(oe,j),P[1]))),I[2]))),A(y(A(y(p(ge,te),L[1]),A(y(p(fe,O),-R[1]),y(p(oe,j),I[1]))),-P[2]),A(y(A(y(p(Re,Ce),L[1]),A(y(p(me,Z),-I[1]),y(p(fe,O),P[1]))),C[2]),y(A(y(p(Re,Ce),C[1]),A(y(p(pe,G),-I[1]),y(p(W,U),P[1]))),-L[2])))),A(A(y(A(y(p(me,Z),C[1]),A(y(p(pe,G),-L[1]),y(p(Q,q),P[1]))),I[2]),A(y(A(y(p(fe,O),C[1]),A(y(p(W,U),-L[1]),y(p(Q,q),I[1]))),-P[2]),y(A(y(p(ge,te),L[1]),A(y(p(fe,O),-R[1]),y(p(oe,j),I[1]))),C[2]))),A(y(A(y(p(ge,te),C[1]),A(y(p(W,U),-R[1]),y(p($,N),I[1]))),-L[2]),A(y(A(y(p(fe,O),C[1]),A(y(p(W,U),-L[1]),y(p(Q,q),I[1]))),R[2]),y(A(y(p(oe,j),C[1]),A(y(p($,N),-L[1]),y(p(Q,q),R[1]))),-I[2]))))),Be=A(A(A(y(A(y(p(Re,Ce),R[1]),A(y(p(Ie,V),-I[1]),y(p(ge,te),P[1]))),C[2]),y(A(y(p(Re,Ce),C[1]),A(y(p(pe,G),-I[1]),y(p(W,U),P[1]))),-R[2])),A(y(A(y(p(Ie,V),C[1]),A(y(p(pe,G),-R[1]),y(p($,N),P[1]))),I[2]),y(A(y(p(ge,te),C[1]),A(y(p(W,U),-R[1]),y(p($,N),I[1]))),-P[2]))),A(A(y(A(y(p(Ie,V),L[1]),A(y(p(me,Z),-R[1]),y(p(oe,j),P[1]))),C[2]),y(A(y(p(Ie,V),C[1]),A(y(p(pe,G),-R[1]),y(p($,N),P[1]))),-L[2])),A(y(A(y(p(me,Z),C[1]),A(y(p(pe,G),-L[1]),y(p(Q,q),P[1]))),R[2]),y(A(y(p(oe,j),C[1]),A(y(p($,N),-L[1]),y(p(Q,q),R[1]))),-P[2])))),tt=p(ze,Be);return tt[tt.length-1]}return E}function T(A,p,S,y){function E(C,L,R,I,P,D){var q=A(A(S(C[0],C[0]),S(C[1],C[1])),A(S(C[2],C[2]),S(C[3],C[3]))),N=y(q,L[0]),U=y(q,R[0]),G=y(q,I[0]),ee=y(q,P[0]),Q=y(q,D[0]),j=A(A(S(L[0],L[0]),S(L[1],L[1])),A(S(L[2],L[2]),S(L[3],L[3]))),O=y(j,C[0]),Z=y(j,R[0]),K=y(j,I[0]),$=y(j,P[0]),oe=y(j,D[0]),te=A(A(S(R[0],R[0]),S(R[1],R[1])),A(S(R[2],R[2]),S(R[3],R[3]))),V=y(te,C[0]),ne=y(te,L[0]),W=y(te,I[0]),fe=y(te,P[0]),ge=y(te,D[0]),Ce=A(A(S(I[0],I[0]),S(I[1],I[1])),A(S(I[2],I[2]),S(I[3],I[3]))),Ne=y(Ce,C[0]),pe=y(Ce,L[0]),me=y(Ce,R[0]),Ie=y(Ce,P[0]),Re=y(Ce,D[0]),ze=A(A(S(P[0],P[0]),S(P[1],P[1])),A(S(P[2],P[2]),S(P[3],P[3]))),Be=y(ze,C[0]),tt=y(ze,L[0]),rt=y(ze,R[0]),ce=y(ze,I[0]),Ee=y(ze,D[0]),Ae=A(A(S(D[0],D[0]),S(D[1],D[1])),A(S(D[2],D[2]),S(D[3],D[3]))),Pe=y(Ae,C[0]),He=y(Ae,L[0]),Fe=y(Ae,R[0]),ke=y(Ae,I[0]),Ue=y(Ae,P[0]),Ge=A(A(A(y(A(A(y(A(y(p(Ue,Ee),I[1]),A(y(p(ke,Re),-P[1]),y(p(ce,Ie),D[1]))),R[2]),y(A(y(p(Ue,Ee),R[1]),A(y(p(Fe,ge),-P[1]),y(p(rt,fe),D[1]))),-I[2])),A(y(A(y(p(ke,Re),R[1]),A(y(p(Fe,ge),-I[1]),y(p(me,W),D[1]))),P[2]),y(A(y(p(ce,Ie),R[1]),A(y(p(rt,fe),-I[1]),y(p(me,W),P[1]))),-D[2]))),L[3]),A(y(A(A(y(A(y(p(Ue,Ee),I[1]),A(y(p(ke,Re),-P[1]),y(p(ce,Ie),D[1]))),L[2]),y(A(y(p(Ue,Ee),L[1]),A(y(p(He,oe),-P[1]),y(p(tt,$),D[1]))),-I[2])),A(y(A(y(p(ke,Re),L[1]),A(y(p(He,oe),-I[1]),y(p(pe,K),D[1]))),P[2]),y(A(y(p(ce,Ie),L[1]),A(y(p(tt,$),-I[1]),y(p(pe,K),P[1]))),-D[2]))),-R[3]),y(A(A(y(A(y(p(Ue,Ee),R[1]),A(y(p(Fe,ge),-P[1]),y(p(rt,fe),D[1]))),L[2]),y(A(y(p(Ue,Ee),L[1]),A(y(p(He,oe),-P[1]),y(p(tt,$),D[1]))),-R[2])),A(y(A(y(p(Fe,ge),L[1]),A(y(p(He,oe),-R[1]),y(p(ne,Z),D[1]))),P[2]),y(A(y(p(rt,fe),L[1]),A(y(p(tt,$),-R[1]),y(p(ne,Z),P[1]))),-D[2]))),I[3]))),A(A(y(A(A(y(A(y(p(ke,Re),R[1]),A(y(p(Fe,ge),-I[1]),y(p(me,W),D[1]))),L[2]),y(A(y(p(ke,Re),L[1]),A(y(p(He,oe),-I[1]),y(p(pe,K),D[1]))),-R[2])),A(y(A(y(p(Fe,ge),L[1]),A(y(p(He,oe),-R[1]),y(p(ne,Z),D[1]))),I[2]),y(A(y(p(me,W),L[1]),A(y(p(pe,K),-R[1]),y(p(ne,Z),I[1]))),-D[2]))),-P[3]),y(A(A(y(A(y(p(ce,Ie),R[1]),A(y(p(rt,fe),-I[1]),y(p(me,W),P[1]))),L[2]),y(A(y(p(ce,Ie),L[1]),A(y(p(tt,$),-I[1]),y(p(pe,K),P[1]))),-R[2])),A(y(A(y(p(rt,fe),L[1]),A(y(p(tt,$),-R[1]),y(p(ne,Z),P[1]))),I[2]),y(A(y(p(me,W),L[1]),A(y(p(pe,K),-R[1]),y(p(ne,Z),I[1]))),-P[2]))),D[3])),A(y(A(A(y(A(y(p(Ue,Ee),I[1]),A(y(p(ke,Re),-P[1]),y(p(ce,Ie),D[1]))),L[2]),y(A(y(p(Ue,Ee),L[1]),A(y(p(He,oe),-P[1]),y(p(tt,$),D[1]))),-I[2])),A(y(A(y(p(ke,Re),L[1]),A(y(p(He,oe),-I[1]),y(p(pe,K),D[1]))),P[2]),y(A(y(p(ce,Ie),L[1]),A(y(p(tt,$),-I[1]),y(p(pe,K),P[1]))),-D[2]))),C[3]),y(A(A(y(A(y(p(Ue,Ee),I[1]),A(y(p(ke,Re),-P[1]),y(p(ce,Ie),D[1]))),C[2]),y(A(y(p(Ue,Ee),C[1]),A(y(p(Pe,Q),-P[1]),y(p(Be,ee),D[1]))),-I[2])),A(y(A(y(p(ke,Re),C[1]),A(y(p(Pe,Q),-I[1]),y(p(Ne,G),D[1]))),P[2]),y(A(y(p(ce,Ie),C[1]),A(y(p(Be,ee),-I[1]),y(p(Ne,G),P[1]))),-D[2]))),-L[3])))),A(A(A(y(A(A(y(A(y(p(Ue,Ee),L[1]),A(y(p(He,oe),-P[1]),y(p(tt,$),D[1]))),C[2]),y(A(y(p(Ue,Ee),C[1]),A(y(p(Pe,Q),-P[1]),y(p(Be,ee),D[1]))),-L[2])),A(y(A(y(p(He,oe),C[1]),A(y(p(Pe,Q),-L[1]),y(p(O,N),D[1]))),P[2]),y(A(y(p(tt,$),C[1]),A(y(p(Be,ee),-L[1]),y(p(O,N),P[1]))),-D[2]))),I[3]),y(A(A(y(A(y(p(ke,Re),L[1]),A(y(p(He,oe),-I[1]),y(p(pe,K),D[1]))),C[2]),y(A(y(p(ke,Re),C[1]),A(y(p(Pe,Q),-I[1]),y(p(Ne,G),D[1]))),-L[2])),A(y(A(y(p(He,oe),C[1]),A(y(p(Pe,Q),-L[1]),y(p(O,N),D[1]))),I[2]),y(A(y(p(pe,K),C[1]),A(y(p(Ne,G),-L[1]),y(p(O,N),I[1]))),-D[2]))),-P[3])),A(y(A(A(y(A(y(p(ce,Ie),L[1]),A(y(p(tt,$),-I[1]),y(p(pe,K),P[1]))),C[2]),y(A(y(p(ce,Ie),C[1]),A(y(p(Be,ee),-I[1]),y(p(Ne,G),P[1]))),-L[2])),A(y(A(y(p(tt,$),C[1]),A(y(p(Be,ee),-L[1]),y(p(O,N),P[1]))),I[2]),y(A(y(p(pe,K),C[1]),A(y(p(Ne,G),-L[1]),y(p(O,N),I[1]))),-P[2]))),D[3]),y(A(A(y(A(y(p(ke,Re),R[1]),A(y(p(Fe,ge),-I[1]),y(p(me,W),D[1]))),L[2]),y(A(y(p(ke,Re),L[1]),A(y(p(He,oe),-I[1]),y(p(pe,K),D[1]))),-R[2])),A(y(A(y(p(Fe,ge),L[1]),A(y(p(He,oe),-R[1]),y(p(ne,Z),D[1]))),I[2]),y(A(y(p(me,W),L[1]),A(y(p(pe,K),-R[1]),y(p(ne,Z),I[1]))),-D[2]))),C[3]))),A(A(y(A(A(y(A(y(p(ke,Re),R[1]),A(y(p(Fe,ge),-I[1]),y(p(me,W),D[1]))),C[2]),y(A(y(p(ke,Re),C[1]),A(y(p(Pe,Q),-I[1]),y(p(Ne,G),D[1]))),-R[2])),A(y(A(y(p(Fe,ge),C[1]),A(y(p(Pe,Q),-R[1]),y(p(V,U),D[1]))),I[2]),y(A(y(p(me,W),C[1]),A(y(p(Ne,G),-R[1]),y(p(V,U),I[1]))),-D[2]))),-L[3]),y(A(A(y(A(y(p(ke,Re),L[1]),A(y(p(He,oe),-I[1]),y(p(pe,K),D[1]))),C[2]),y(A(y(p(ke,Re),C[1]),A(y(p(Pe,Q),-I[1]),y(p(Ne,G),D[1]))),-L[2])),A(y(A(y(p(He,oe),C[1]),A(y(p(Pe,Q),-L[1]),y(p(O,N),D[1]))),I[2]),y(A(y(p(pe,K),C[1]),A(y(p(Ne,G),-L[1]),y(p(O,N),I[1]))),-D[2]))),R[3])),A(y(A(A(y(A(y(p(Fe,ge),L[1]),A(y(p(He,oe),-R[1]),y(p(ne,Z),D[1]))),C[2]),y(A(y(p(Fe,ge),C[1]),A(y(p(Pe,Q),-R[1]),y(p(V,U),D[1]))),-L[2])),A(y(A(y(p(He,oe),C[1]),A(y(p(Pe,Q),-L[1]),y(p(O,N),D[1]))),R[2]),y(A(y(p(ne,Z),C[1]),A(y(p(V,U),-L[1]),y(p(O,N),R[1]))),-D[2]))),-I[3]),y(A(A(y(A(y(p(me,W),L[1]),A(y(p(pe,K),-R[1]),y(p(ne,Z),I[1]))),C[2]),y(A(y(p(me,W),C[1]),A(y(p(Ne,G),-R[1]),y(p(V,U),I[1]))),-L[2])),A(y(A(y(p(pe,K),C[1]),A(y(p(Ne,G),-L[1]),y(p(O,N),I[1]))),R[2]),y(A(y(p(ne,Z),C[1]),A(y(p(V,U),-L[1]),y(p(O,N),R[1]))),-I[2]))),D[3]))))),lt=A(A(A(y(A(A(y(A(y(p(Ue,Ee),I[1]),A(y(p(ke,Re),-P[1]),y(p(ce,Ie),D[1]))),R[2]),y(A(y(p(Ue,Ee),R[1]),A(y(p(Fe,ge),-P[1]),y(p(rt,fe),D[1]))),-I[2])),A(y(A(y(p(ke,Re),R[1]),A(y(p(Fe,ge),-I[1]),y(p(me,W),D[1]))),P[2]),y(A(y(p(ce,Ie),R[1]),A(y(p(rt,fe),-I[1]),y(p(me,W),P[1]))),-D[2]))),C[3]),A(y(A(A(y(A(y(p(Ue,Ee),I[1]),A(y(p(ke,Re),-P[1]),y(p(ce,Ie),D[1]))),C[2]),y(A(y(p(Ue,Ee),C[1]),A(y(p(Pe,Q),-P[1]),y(p(Be,ee),D[1]))),-I[2])),A(y(A(y(p(ke,Re),C[1]),A(y(p(Pe,Q),-I[1]),y(p(Ne,G),D[1]))),P[2]),y(A(y(p(ce,Ie),C[1]),A(y(p(Be,ee),-I[1]),y(p(Ne,G),P[1]))),-D[2]))),-R[3]),y(A(A(y(A(y(p(Ue,Ee),R[1]),A(y(p(Fe,ge),-P[1]),y(p(rt,fe),D[1]))),C[2]),y(A(y(p(Ue,Ee),C[1]),A(y(p(Pe,Q),-P[1]),y(p(Be,ee),D[1]))),-R[2])),A(y(A(y(p(Fe,ge),C[1]),A(y(p(Pe,Q),-R[1]),y(p(V,U),D[1]))),P[2]),y(A(y(p(rt,fe),C[1]),A(y(p(Be,ee),-R[1]),y(p(V,U),P[1]))),-D[2]))),I[3]))),A(A(y(A(A(y(A(y(p(ke,Re),R[1]),A(y(p(Fe,ge),-I[1]),y(p(me,W),D[1]))),C[2]),y(A(y(p(ke,Re),C[1]),A(y(p(Pe,Q),-I[1]),y(p(Ne,G),D[1]))),-R[2])),A(y(A(y(p(Fe,ge),C[1]),A(y(p(Pe,Q),-R[1]),y(p(V,U),D[1]))),I[2]),y(A(y(p(me,W),C[1]),A(y(p(Ne,G),-R[1]),y(p(V,U),I[1]))),-D[2]))),-P[3]),y(A(A(y(A(y(p(ce,Ie),R[1]),A(y(p(rt,fe),-I[1]),y(p(me,W),P[1]))),C[2]),y(A(y(p(ce,Ie),C[1]),A(y(p(Be,ee),-I[1]),y(p(Ne,G),P[1]))),-R[2])),A(y(A(y(p(rt,fe),C[1]),A(y(p(Be,ee),-R[1]),y(p(V,U),P[1]))),I[2]),y(A(y(p(me,W),C[1]),A(y(p(Ne,G),-R[1]),y(p(V,U),I[1]))),-P[2]))),D[3])),A(y(A(A(y(A(y(p(Ue,Ee),R[1]),A(y(p(Fe,ge),-P[1]),y(p(rt,fe),D[1]))),L[2]),y(A(y(p(Ue,Ee),L[1]),A(y(p(He,oe),-P[1]),y(p(tt,$),D[1]))),-R[2])),A(y(A(y(p(Fe,ge),L[1]),A(y(p(He,oe),-R[1]),y(p(ne,Z),D[1]))),P[2]),y(A(y(p(rt,fe),L[1]),A(y(p(tt,$),-R[1]),y(p(ne,Z),P[1]))),-D[2]))),C[3]),y(A(A(y(A(y(p(Ue,Ee),R[1]),A(y(p(Fe,ge),-P[1]),y(p(rt,fe),D[1]))),C[2]),y(A(y(p(Ue,Ee),C[1]),A(y(p(Pe,Q),-P[1]),y(p(Be,ee),D[1]))),-R[2])),A(y(A(y(p(Fe,ge),C[1]),A(y(p(Pe,Q),-R[1]),y(p(V,U),D[1]))),P[2]),y(A(y(p(rt,fe),C[1]),A(y(p(Be,ee),-R[1]),y(p(V,U),P[1]))),-D[2]))),-L[3])))),A(A(A(y(A(A(y(A(y(p(Ue,Ee),L[1]),A(y(p(He,oe),-P[1]),y(p(tt,$),D[1]))),C[2]),y(A(y(p(Ue,Ee),C[1]),A(y(p(Pe,Q),-P[1]),y(p(Be,ee),D[1]))),-L[2])),A(y(A(y(p(He,oe),C[1]),A(y(p(Pe,Q),-L[1]),y(p(O,N),D[1]))),P[2]),y(A(y(p(tt,$),C[1]),A(y(p(Be,ee),-L[1]),y(p(O,N),P[1]))),-D[2]))),R[3]),y(A(A(y(A(y(p(Fe,ge),L[1]),A(y(p(He,oe),-R[1]),y(p(ne,Z),D[1]))),C[2]),y(A(y(p(Fe,ge),C[1]),A(y(p(Pe,Q),-R[1]),y(p(V,U),D[1]))),-L[2])),A(y(A(y(p(He,oe),C[1]),A(y(p(Pe,Q),-L[1]),y(p(O,N),D[1]))),R[2]),y(A(y(p(ne,Z),C[1]),A(y(p(V,U),-L[1]),y(p(O,N),R[1]))),-D[2]))),-P[3])),A(y(A(A(y(A(y(p(rt,fe),L[1]),A(y(p(tt,$),-R[1]),y(p(ne,Z),P[1]))),C[2]),y(A(y(p(rt,fe),C[1]),A(y(p(Be,ee),-R[1]),y(p(V,U),P[1]))),-L[2])),A(y(A(y(p(tt,$),C[1]),A(y(p(Be,ee),-L[1]),y(p(O,N),P[1]))),R[2]),y(A(y(p(ne,Z),C[1]),A(y(p(V,U),-L[1]),y(p(O,N),R[1]))),-P[2]))),D[3]),y(A(A(y(A(y(p(ce,Ie),R[1]),A(y(p(rt,fe),-I[1]),y(p(me,W),P[1]))),L[2]),y(A(y(p(ce,Ie),L[1]),A(y(p(tt,$),-I[1]),y(p(pe,K),P[1]))),-R[2])),A(y(A(y(p(rt,fe),L[1]),A(y(p(tt,$),-R[1]),y(p(ne,Z),P[1]))),I[2]),y(A(y(p(me,W),L[1]),A(y(p(pe,K),-R[1]),y(p(ne,Z),I[1]))),-P[2]))),C[3]))),A(A(y(A(A(y(A(y(p(ce,Ie),R[1]),A(y(p(rt,fe),-I[1]),y(p(me,W),P[1]))),C[2]),y(A(y(p(ce,Ie),C[1]),A(y(p(Be,ee),-I[1]),y(p(Ne,G),P[1]))),-R[2])),A(y(A(y(p(rt,fe),C[1]),A(y(p(Be,ee),-R[1]),y(p(V,U),P[1]))),I[2]),y(A(y(p(me,W),C[1]),A(y(p(Ne,G),-R[1]),y(p(V,U),I[1]))),-P[2]))),-L[3]),y(A(A(y(A(y(p(ce,Ie),L[1]),A(y(p(tt,$),-I[1]),y(p(pe,K),P[1]))),C[2]),y(A(y(p(ce,Ie),C[1]),A(y(p(Be,ee),-I[1]),y(p(Ne,G),P[1]))),-L[2])),A(y(A(y(p(tt,$),C[1]),A(y(p(Be,ee),-L[1]),y(p(O,N),P[1]))),I[2]),y(A(y(p(pe,K),C[1]),A(y(p(Ne,G),-L[1]),y(p(O,N),I[1]))),-P[2]))),R[3])),A(y(A(A(y(A(y(p(rt,fe),L[1]),A(y(p(tt,$),-R[1]),y(p(ne,Z),P[1]))),C[2]),y(A(y(p(rt,fe),C[1]),A(y(p(Be,ee),-R[1]),y(p(V,U),P[1]))),-L[2])),A(y(A(y(p(tt,$),C[1]),A(y(p(Be,ee),-L[1]),y(p(O,N),P[1]))),R[2]),y(A(y(p(ne,Z),C[1]),A(y(p(V,U),-L[1]),y(p(O,N),R[1]))),-P[2]))),-I[3]),y(A(A(y(A(y(p(me,W),L[1]),A(y(p(pe,K),-R[1]),y(p(ne,Z),I[1]))),C[2]),y(A(y(p(me,W),C[1]),A(y(p(Ne,G),-R[1]),y(p(V,U),I[1]))),-L[2])),A(y(A(y(p(pe,K),C[1]),A(y(p(Ne,G),-L[1]),y(p(O,N),I[1]))),R[2]),y(A(y(p(ne,Z),C[1]),A(y(p(V,U),-L[1]),y(p(O,N),R[1]))),-I[2]))),P[3]))))),it=p(Ge,lt);return it[it.length-1]}return E}var w=[d,v,m];function k(A){var p=w[A.length];return p||(p=w[A.length]=h(A.length)),p.apply(void 0,A)}function x(A,p,S,y,E,C,L,R){function I(P,D,q,N,U,G){switch(arguments.length){case 0:case 1:return 0;case 2:return y(P,D);case 3:return E(P,D,q);case 4:return C(P,D,q,N);case 5:return L(P,D,q,N,U);case 6:return R(P,D,q,N,U,G)}for(var ee=new Array(arguments.length),Q=0;Q<arguments.length;++Q)ee[Q]=arguments[Q];return A(ee)}return I}function M(){for(;w.length<=c;)w.push(h(w.length));i.exports=x.apply(void 0,[k].concat(w));for(var A=0;A<=c;++A)i.exports[A]=w[A]}M()},727:function(i,a,o){"use strict";var s=o(2962),l=6;function u(w){var k=w===2?h:w===3?d:w===4?v:w===5?m:b;return w<6?k(s[w]):k(s)}function f(){return[[0]]}function c(w,k){return[[k[0]],[w[0][0]]]}function h(w){return function(x,M){return[w([[+M[0],+x[0][1]],[+M[1],+x[1][1]]]),w([[+x[0][0],+M[0]],[+x[1][0],+M[1]]]),w(x)]}}function d(w){return function(x,M){return[w([[+M[0],+x[0][1],+x[0][2]],[+M[1],+x[1][1],+x[1][2]],[+M[2],+x[2][1],+x[2][2]]]),w([[+x[0][0],+M[0],+x[0][2]],[+x[1][0],+M[1],+x[1][2]],[+x[2][0],+M[2],+x[2][2]]]),w([[+x[0][0],+x[0][1],+M[0]],[+x[1][0],+x[1][1],+M[1]],[+x[2][0],+x[2][1],+M[2]]]),w(x)]}}function v(w){return function(x,M){return[w([[+M[0],+x[0][1],+x[0][2],+x[0][3]],[+M[1],+x[1][1],+x[1][2],+x[1][3]],[+M[2],+x[2][1],+x[2][2],+x[2][3]],[+M[3],+x[3][1],+x[3][2],+x[3][3]]]),w([[+x[0][0],+M[0],+x[0][2],+x[0][3]],[+x[1][0],+M[1],+x[1][2],+x[1][3]],[+x[2][0],+M[2],+x[2][2],+x[2][3]],[+x[3][0],+M[3],+x[3][2],+x[3][3]]]),w([[+x[0][0],+x[0][1],+M[0],+x[0][3]],[+x[1][0],+x[1][1],+M[1],+x[1][3]],[+x[2][0],+x[2][1],+M[2],+x[2][3]],[+x[3][0],+x[3][1],+M[3],+x[3][3]]]),w([[+x[0][0],+x[0][1],+x[0][2],+M[0]],[+x[1][0],+x[1][1],+x[1][2],+M[1]],[+x[2][0],+x[2][1],+x[2][2],+M[2]],[+x[3][0],+x[3][1],+x[3][2],+M[3]]]),w(x)]}}function m(w){return function(x,M){return[w([[+M[0],+x[0][1],+x[0][2],+x[0][3],+x[0][4]],[+M[1],+x[1][1],+x[1][2],+x[1][3],+x[1][4]],[+M[2],+x[2][1],+x[2][2],+x[2][3],+x[2][4]],[+M[3],+x[3][1],+x[3][2],+x[3][3],+x[3][4]],[+M[4],+x[4][1],+x[4][2],+x[4][3],+x[4][4]]]),w([[+x[0][0],+M[0],+x[0][2],+x[0][3],+x[0][4]],[+x[1][0],+M[1],+x[1][2],+x[1][3],+x[1][4]],[+x[2][0],+M[2],+x[2][2],+x[2][3],+x[2][4]],[+x[3][0],+M[3],+x[3][2],+x[3][3],+x[3][4]],[+x[4][0],+M[4],+x[4][2],+x[4][3],+x[4][4]]]),w([[+x[0][0],+x[0][1],+M[0],+x[0][3],+x[0][4]],[+x[1][0],+x[1][1],+M[1],+x[1][3],+x[1][4]],[+x[2][0],+x[2][1],+M[2],+x[2][3],+x[2][4]],[+x[3][0],+x[3][1],+M[3],+x[3][3],+x[3][4]],[+x[4][0],+x[4][1],+M[4],+x[4][3],+x[4][4]]]),w([[+x[0][0],+x[0][1],+x[0][2],+M[0],+x[0][4]],[+x[1][0],+x[1][1],+x[1][2],+M[1],+x[1][4]],[+x[2][0],+x[2][1],+x[2][2],+M[2],+x[2][4]],[+x[3][0],+x[3][1],+x[3][2],+M[3],+x[3][4]],[+x[4][0],+x[4][1],+x[4][2],+M[4],+x[4][4]]]),w([[+x[0][0],+x[0][1],+x[0][2],+x[0][3],+M[0]],[+x[1][0],+x[1][1],+x[1][2],+x[1][3],+M[1]],[+x[2][0],+x[2][1],+x[2][2],+x[2][3],+M[2]],[+x[3][0],+x[3][1],+x[3][2],+x[3][3],+M[3]],[+x[4][0],+x[4][1],+x[4][2],+x[4][3],+M[4]]]),w(x)]}}function b(w){return function(x,M){return[w([[+M[0],+x[0][1],+x[0][2],+x[0][3],+x[0][4],+x[0][5]],[+M[1],+x[1][1],+x[1][2],+x[1][3],+x[1][4],+x[1][5]],[+M[2],+x[2][1],+x[2][2],+x[2][3],+x[2][4],+x[2][5]],[+M[3],+x[3][1],+x[3][2],+x[3][3],+x[3][4],+x[3][5]],[+M[4],+x[4][1],+x[4][2],+x[4][3],+x[4][4],+x[4][5]],[+M[5],+x[5][1],+x[5][2],+x[5][3],+x[5][4],+x[5][5]]]),w([[+x[0][0],+M[0],+x[0][2],+x[0][3],+x[0][4],+x[0][5]],[+x[1][0],+M[1],+x[1][2],+x[1][3],+x[1][4],+x[1][5]],[+x[2][0],+M[2],+x[2][2],+x[2][3],+x[2][4],+x[2][5]],[+x[3][0],+M[3],+x[3][2],+x[3][3],+x[3][4],+x[3][5]],[+x[4][0],+M[4],+x[4][2],+x[4][3],+x[4][4],+x[4][5]],[+x[5][0],+M[5],+x[5][2],+x[5][3],+x[5][4],+x[5][5]]]),w([[+x[0][0],+x[0][1],+M[0],+x[0][3],+x[0][4],+x[0][5]],[+x[1][0],+x[1][1],+M[1],+x[1][3],+x[1][4],+x[1][5]],[+x[2][0],+x[2][1],+M[2],+x[2][3],+x[2][4],+x[2][5]],[+x[3][0],+x[3][1],+M[3],+x[3][3],+x[3][4],+x[3][5]],[+x[4][0],+x[4][1],+M[4],+x[4][3],+x[4][4],+x[4][5]],[+x[5][0],+x[5][1],+M[5],+x[5][3],+x[5][4],+x[5][5]]]),w([[+x[0][0],+x[0][1],+x[0][2],+M[0],+x[0][4],+x[0][5]],[+x[1][0],+x[1][1],+x[1][2],+M[1],+x[1][4],+x[1][5]],[+x[2][0],+x[2][1],+x[2][2],+M[2],+x[2][4],+x[2][5]],[+x[3][0],+x[3][1],+x[3][2],+M[3],+x[3][4],+x[3][5]],[+x[4][0],+x[4][1],+x[4][2],+M[4],+x[4][4],+x[4][5]],[+x[5][0],+x[5][1],+x[5][2],+M[5],+x[5][4],+x[5][5]]]),w([[+x[0][0],+x[0][1],+x[0][2],+x[0][3],+M[0],+x[0][5]],[+x[1][0],+x[1][1],+x[1][2],+x[1][3],+M[1],+x[1][5]],[+x[2][0],+x[2][1],+x[2][2],+x[2][3],+M[2],+x[2][5]],[+x[3][0],+x[3][1],+x[3][2],+x[3][3],+M[3],+x[3][5]],[+x[4][0],+x[4][1],+x[4][2],+x[4][3],+M[4],+x[4][5]],[+x[5][0],+x[5][1],+x[5][2],+x[5][3],+M[5],+x[5][5]]]),w([[+x[0][0],+x[0][1],+x[0][2],+x[0][3],+x[0][4],+M[0]],[+x[1][0],+x[1][1],+x[1][2],+x[1][3],+x[1][4],+M[1]],[+x[2][0],+x[2][1],+x[2][2],+x[2][3],+x[2][4],+M[2]],[+x[3][0],+x[3][1],+x[3][2],+x[3][3],+x[3][4],+M[3]],[+x[4][0],+x[4][1],+x[4][2],+x[4][3],+x[4][4],+M[4]],[+x[5][0],+x[5][1],+x[5][2],+x[5][3],+x[5][4],+M[5]]]),w(x)]}}var g=[f,c];function _(w,k,x,M,A,p,S,y){return function(C,L){switch(C.length){case 0:return w(C,L);case 1:return k(C,L);case 2:return x(C,L);case 3:return M(C,L);case 4:return A(C,L);case 5:return p(C,L)}var R=S[C.length];return R||(R=S[C.length]=y(C.length)),R(C,L)}}function T(){for(;g.length<l;)g.push(u(g.length));i.exports=_.apply(void 0,g.concat([g,u]));for(var w=0;w<l;++w)i.exports[w]=g[w]}T()},3250:function(i,a,o){"use strict";var s=o(5250),l=o(8210),u=o(3012),f=o(8545),c=5,h=11102230246251565e-32,d=(3+16*h)*h,v=(7+56*h)*h;function m(p,S,y,E){return function(L,R,I){var P=p(p(S(R[1],I[0]),S(-I[1],R[0])),p(S(L[1],R[0]),S(-R[1],L[0]))),D=p(S(L[1],I[0]),S(-I[1],L[0])),q=E(P,D);return q[q.length-1]}}function b(p,S,y,E){return function(L,R,I,P){var D=p(p(y(p(S(I[1],P[0]),S(-P[1],I[0])),R[2]),p(y(p(S(R[1],P[0]),S(-P[1],R[0])),-I[2]),y(p(S(R[1],I[0]),S(-I[1],R[0])),P[2]))),p(y(p(S(R[1],P[0]),S(-P[1],R[0])),L[2]),p(y(p(S(L[1],P[0]),S(-P[1],L[0])),-R[2]),y(p(S(L[1],R[0]),S(-R[1],L[0])),P[2])))),q=p(p(y(p(S(I[1],P[0]),S(-P[1],I[0])),L[2]),p(y(p(S(L[1],P[0]),S(-P[1],L[0])),-I[2]),y(p(S(L[1],I[0]),S(-I[1],L[0])),P[2]))),p(y(p(S(R[1],I[0]),S(-I[1],R[0])),L[2]),p(y(p(S(L[1],I[0]),S(-I[1],L[0])),-R[2]),y(p(S(L[1],R[0]),S(-R[1],L[0])),I[2])))),N=E(D,q);return N[N.length-1]}}function g(p,S,y,E){return function(L,R,I,P,D){var q=p(p(p(y(p(y(p(S(P[1],D[0]),S(-D[1],P[0])),I[2]),p(y(p(S(I[1],D[0]),S(-D[1],I[0])),-P[2]),y(p(S(I[1],P[0]),S(-P[1],I[0])),D[2]))),R[3]),p(y(p(y(p(S(P[1],D[0]),S(-D[1],P[0])),R[2]),p(y(p(S(R[1],D[0]),S(-D[1],R[0])),-P[2]),y(p(S(R[1],P[0]),S(-P[1],R[0])),D[2]))),-I[3]),y(p(y(p(S(I[1],D[0]),S(-D[1],I[0])),R[2]),p(y(p(S(R[1],D[0]),S(-D[1],R[0])),-I[2]),y(p(S(R[1],I[0]),S(-I[1],R[0])),D[2]))),P[3]))),p(y(p(y(p(S(I[1],P[0]),S(-P[1],I[0])),R[2]),p(y(p(S(R[1],P[0]),S(-P[1],R[0])),-I[2]),y(p(S(R[1],I[0]),S(-I[1],R[0])),P[2]))),-D[3]),p(y(p(y(p(S(P[1],D[0]),S(-D[1],P[0])),R[2]),p(y(p(S(R[1],D[0]),S(-D[1],R[0])),-P[2]),y(p(S(R[1],P[0]),S(-P[1],R[0])),D[2]))),L[3]),y(p(y(p(S(P[1],D[0]),S(-D[1],P[0])),L[2]),p(y(p(S(L[1],D[0]),S(-D[1],L[0])),-P[2]),y(p(S(L[1],P[0]),S(-P[1],L[0])),D[2]))),-R[3])))),p(p(y(p(y(p(S(R[1],D[0]),S(-D[1],R[0])),L[2]),p(y(p(S(L[1],D[0]),S(-D[1],L[0])),-R[2]),y(p(S(L[1],R[0]),S(-R[1],L[0])),D[2]))),P[3]),p(y(p(y(p(S(R[1],P[0]),S(-P[1],R[0])),L[2]),p(y(p(S(L[1],P[0]),S(-P[1],L[0])),-R[2]),y(p(S(L[1],R[0]),S(-R[1],L[0])),P[2]))),-D[3]),y(p(y(p(S(I[1],P[0]),S(-P[1],I[0])),R[2]),p(y(p(S(R[1],P[0]),S(-P[1],R[0])),-I[2]),y(p(S(R[1],I[0]),S(-I[1],R[0])),P[2]))),L[3]))),p(y(p(y(p(S(I[1],P[0]),S(-P[1],I[0])),L[2]),p(y(p(S(L[1],P[0]),S(-P[1],L[0])),-I[2]),y(p(S(L[1],I[0]),S(-I[1],L[0])),P[2]))),-R[3]),p(y(p(y(p(S(R[1],P[0]),S(-P[1],R[0])),L[2]),p(y(p(S(L[1],P[0]),S(-P[1],L[0])),-R[2]),y(p(S(L[1],R[0]),S(-R[1],L[0])),P[2]))),I[3]),y(p(y(p(S(R[1],I[0]),S(-I[1],R[0])),L[2]),p(y(p(S(L[1],I[0]),S(-I[1],L[0])),-R[2]),y(p(S(L[1],R[0]),S(-R[1],L[0])),I[2]))),-P[3]))))),N=p(p(p(y(p(y(p(S(P[1],D[0]),S(-D[1],P[0])),I[2]),p(y(p(S(I[1],D[0]),S(-D[1],I[0])),-P[2]),y(p(S(I[1],P[0]),S(-P[1],I[0])),D[2]))),L[3]),y(p(y(p(S(P[1],D[0]),S(-D[1],P[0])),L[2]),p(y(p(S(L[1],D[0]),S(-D[1],L[0])),-P[2]),y(p(S(L[1],P[0]),S(-P[1],L[0])),D[2]))),-I[3])),p(y(p(y(p(S(I[1],D[0]),S(-D[1],I[0])),L[2]),p(y(p(S(L[1],D[0]),S(-D[1],L[0])),-I[2]),y(p(S(L[1],I[0]),S(-I[1],L[0])),D[2]))),P[3]),y(p(y(p(S(I[1],P[0]),S(-P[1],I[0])),L[2]),p(y(p(S(L[1],P[0]),S(-P[1],L[0])),-I[2]),y(p(S(L[1],I[0]),S(-I[1],L[0])),P[2]))),-D[3]))),p(p(y(p(y(p(S(I[1],D[0]),S(-D[1],I[0])),R[2]),p(y(p(S(R[1],D[0]),S(-D[1],R[0])),-I[2]),y(p(S(R[1],I[0]),S(-I[1],R[0])),D[2]))),L[3]),y(p(y(p(S(I[1],D[0]),S(-D[1],I[0])),L[2]),p(y(p(S(L[1],D[0]),S(-D[1],L[0])),-I[2]),y(p(S(L[1],I[0]),S(-I[1],L[0])),D[2]))),-R[3])),p(y(p(y(p(S(R[1],D[0]),S(-D[1],R[0])),L[2]),p(y(p(S(L[1],D[0]),S(-D[1],L[0])),-R[2]),y(p(S(L[1],R[0]),S(-R[1],L[0])),D[2]))),I[3]),y(p(y(p(S(R[1],I[0]),S(-I[1],R[0])),L[2]),p(y(p(S(L[1],I[0]),S(-I[1],L[0])),-R[2]),y(p(S(L[1],R[0]),S(-R[1],L[0])),I[2]))),-D[3])))),U=E(q,N);return U[U.length-1]}}function _(p){var S=p===3?m:p===4?b:g;return S(l,s,u,f)}var T=_(3),w=_(4),k=[function(){return 0},function(){return 0},function(S,y){return y[0]-S[0]},function(S,y,E){var C=(S[1]-E[1])*(y[0]-E[0]),L=(S[0]-E[0])*(y[1]-E[1]),R=C-L,I;if(C>0){if(L<=0)return R;I=C+L}else if(C<0){if(L>=0)return R;I=-(C+L)}else return R;var P=d*I;return R>=P||R<=-P?R:T(S,y,E)},function(S,y,E,C){var L=S[0]-C[0],R=y[0]-C[0],I=E[0]-C[0],P=S[1]-C[1],D=y[1]-C[1],q=E[1]-C[1],N=S[2]-C[2],U=y[2]-C[2],G=E[2]-C[2],ee=R*q,Q=I*D,j=I*P,O=L*q,Z=L*D,K=R*P,$=N*(ee-Q)+U*(j-O)+G*(Z-K),oe=(Math.abs(ee)+Math.abs(Q))*Math.abs(N)+(Math.abs(j)+Math.abs(O))*Math.abs(U)+(Math.abs(Z)+Math.abs(K))*Math.abs(G),te=v*oe;return $>te||-$>te?$:w(S,y,E,C)}];function x(p){var S=k[p.length];return S||(S=k[p.length]=_(p.length)),S.apply(void 0,p)}function M(p,S,y,E,C,L,R){return function(P,D,q,N,U){switch(arguments.length){case 0:case 1:return 0;case 2:return E(P,D);case 3:return C(P,D,q);case 4:return L(P,D,q,N);case 5:return R(P,D,q,N,U)}for(var G=new Array(arguments.length),ee=0;ee<arguments.length;++ee)G[ee]=arguments[ee];return p(G)}}function A(){for(;k.length<=c;)k.push(_(k.length));i.exports=M.apply(void 0,[x].concat(k));for(var p=0;p<=c;++p)i.exports[p]=k[p]}A()},5382:function(i,a,o){"use strict";var s=o(8210),l=o(3012);i.exports=u;function u(f,c){if(f.length===1)return l(c,f[0]);if(c.length===1)return l(f,c[0]);if(f.length===0||c.length===0)return[0];var h=[0];if(f.length<c.length)for(var d=0;d<f.length;++d)h=s(h,l(c,f[d]));else for(var d=0;d<c.length;++d)h=s(h,l(f,c[d]));return h}},3012:function(i,a,o){"use strict";var s=o(5250),l=o(9362);i.exports=u;function u(f,c){var h=f.length;if(h===1){var d=s(f[0],c);return d[0]?d:[d[1]]}var v=new Array(2*h),m=[.1,.1],b=[.1,.1],g=0;s(f[0],c,m),m[0]&&(v[g++]=m[0]);for(var _=1;_<h;++_){s(f[_],c,b);var T=m[1];l(T,b[0],m),m[0]&&(v[g++]=m[0]);var w=b[1],k=m[1],x=w+k,M=x-w,A=k-M;m[1]=x,A&&(v[g++]=A)}return m[1]&&(v[g++]=m[1]),g===0&&(v[g++]=0),v.length=g,v}},1125:function(i,a,o){"use strict";i.exports=u;var s=o(3250)[3];function l(f,c,h,d){for(var v=0;v<2;++v){var m=f[v],b=c[v],g=Math.min(m,b),_=Math.max(m,b),T=h[v],w=d[v],k=Math.min(T,w),x=Math.max(T,w);if(x<g||_<k)return!1}return!0}function u(f,c,h,d){var v=s(f,h,d),m=s(c,h,d);if(v>0&&m>0||v<0&&m<0)return!1;var b=s(h,f,c),g=s(d,f,c);return b>0&&g>0||b<0&&g<0?!1:v===0&&m===0&&b===0&&g===0?l(f,c,h,d):!0}},8545:function(i){"use strict";i.exports=o;function a(s,l){var u=s+l,f=u-s,c=u-f,h=l-f,d=s-c,v=d+h;return v?[v,u]:[u]}function o(s,l){var u=s.length|0,f=l.length|0;if(u===1&&f===1)return a(s[0],-l[0]);var c=u+f,h=new Array(c),d=0,v=0,m=0,b=Math.abs,g=s[v],_=b(g),T=-l[m],w=b(T),k,x;_<w?(x=g,v+=1,v<u&&(g=s[v],_=b(g))):(x=T,m+=1,m<f&&(T=-l[m],w=b(T))),v<u&&_<w||m>=f?(k=g,v+=1,v<u&&(g=s[v],_=b(g))):(k=T,m+=1,m<f&&(T=-l[m],w=b(T)));for(var M=k+x,A=M-k,p=x-A,S=p,y=M,E,C,L,R,I;v<u&&m<f;)_<w?(k=g,v+=1,v<u&&(g=s[v],_=b(g))):(k=T,m+=1,m<f&&(T=-l[m],w=b(T))),x=S,M=k+x,A=M-k,p=x-A,p&&(h[d++]=p),E=y+M,C=E-y,L=E-C,R=M-C,I=y-L,S=I+R,y=E;for(;v<u;)k=g,x=S,M=k+x,A=M-k,p=x-A,p&&(h[d++]=p),E=y+M,C=E-y,L=E-C,R=M-C,I=y-L,S=I+R,y=E,v+=1,v<u&&(g=s[v]);for(;m<f;)k=T,x=S,M=k+x,A=M-k,p=x-A,p&&(h[d++]=p),E=y+M,C=E-y,L=E-C,R=M-C,I=y-L,S=I+R,y=E,m+=1,m<f&&(T=-l[m]);return S&&(h[d++]=S),y&&(h[d++]=y),d||(h[d++]=0),h.length=d,h}},8210:function(i){"use strict";i.exports=o;function a(s,l){var u=s+l,f=u-s,c=u-f,h=l-f,d=s-c,v=d+h;return v?[v,u]:[u]}function o(s,l){var u=s.length|0,f=l.length|0;if(u===1&&f===1)return a(s[0],l[0]);var c=u+f,h=new Array(c),d=0,v=0,m=0,b=Math.abs,g=s[v],_=b(g),T=l[m],w=b(T),k,x;_<w?(x=g,v+=1,v<u&&(g=s[v],_=b(g))):(x=T,m+=1,m<f&&(T=l[m],w=b(T))),v<u&&_<w||m>=f?(k=g,v+=1,v<u&&(g=s[v],_=b(g))):(k=T,m+=1,m<f&&(T=l[m],w=b(T)));for(var M=k+x,A=M-k,p=x-A,S=p,y=M,E,C,L,R,I;v<u&&m<f;)_<w?(k=g,v+=1,v<u&&(g=s[v],_=b(g))):(k=T,m+=1,m<f&&(T=l[m],w=b(T))),x=S,M=k+x,A=M-k,p=x-A,p&&(h[d++]=p),E=y+M,C=E-y,L=E-C,R=M-C,I=y-L,S=I+R,y=E;for(;v<u;)k=g,x=S,M=k+x,A=M-k,p=x-A,p&&(h[d++]=p),E=y+M,C=E-y,L=E-C,R=M-C,I=y-L,S=I+R,y=E,v+=1,v<u&&(g=s[v]);for(;m<f;)k=T,x=S,M=k+x,A=M-k,p=x-A,p&&(h[d++]=p),E=y+M,C=E-y,L=E-C,R=M-C,I=y-L,S=I+R,y=E,m+=1,m<f&&(T=l[m]);return S&&(h[d++]=S),y&&(h[d++]=y),d||(h[d++]=0),h.length=d,h}},9127:function(i,a,o){"use strict";i.exports=u;var s=o(6204),l=o(5771);function u(f){return l(s(f))}},7765:function(i,a,o){"use strict";i.exports=g;var s=o(9618),l=o(1888),u=o(446),f=o(1570);function c(_){for(var T=_.length,w=0,k=0;k<T;++k)w=Math.max(w,_[k].length)|0;return w-1}function h(_,T){for(var w=_.length,k=l.mallocUint8(w),x=0;x<w;++x)k[x]=_[x]<T|0;return k}function d(_,T){for(var w=_.length,k=T*(T+1)/2*w|0,x=l.mallocUint32(k*2),M=0,A=0;A<w;++A)for(var p=_[A],T=p.length,S=0;S<T;++S)for(var y=0;y<S;++y){var E=p[y],C=p[S];x[M++]=Math.min(E,C)|0,x[M++]=Math.max(E,C)|0}var L=M/2|0;u(s(x,[L,2]));for(var R=2,A=2;A<M;A+=2)x[A-2]===x[A]&&x[A-1]===x[A+1]||(x[R++]=x[A],x[R++]=x[A+1]);return s(x,[R/2|0,2])}function v(_,T,w,k){for(var x=_.data,M=_.shape[0],A=l.mallocDouble(M),p=0,S=0;S<M;++S){var y=x[2*S],E=x[2*S+1];if(w[y]!==w[E]){var C=T[y],L=T[E];x[2*p]=y,x[2*p+1]=E,A[p++]=(L-k)/(L-C)}}return _.shape[0]=p,s(A,[p])}function m(_,T){var w=l.mallocInt32(T*2),k=_.shape[0],x=_.data;w[0]=0;for(var M=0,A=0;A<k;++A){var p=x[2*A];if(p!==M){for(w[2*M+1]=A;++M<p;)w[2*M]=A,w[2*M+1]=A;w[2*M]=A}}for(w[2*M+1]=k;++M<T;)w[2*M]=w[2*M+1]=k;return w}function b(_){for(var T=_.shape[0]|0,w=_.data,k=new Array(T),x=0;x<T;++x)k[x]=[w[2*x],w[2*x+1]];return k}function g(_,T,w,k){w=w||0,typeof k>"u"&&(k=c(_));var x=_.length;if(x===0||k<1)return{cells:[],vertexIds:[],vertexWeights:[]};var M=h(T,+w),A=d(_,k),p=v(A,T,M,+w),S=m(A,T.length|0),y=f(k)(_,A.data,S,M),E=b(A),C=[].slice.call(p.data,0,p.shape[0]);return l.free(M),l.free(A.data),l.free(p.data),l.free(S),{cells:y,vertexIds:E,vertexWeights:C}}},1570:function(i){"use strict";i.exports=o;var a=[function(){function l(f,c,h,d){for(var v=Math.min(h,d)|0,m=Math.max(h,d)|0,b=f[2*v],g=f[2*v+1];b<g;){var _=b+g>>1,T=c[2*_+1];if(T===m)return _;m<T?g=_:b=_+1}return b}function u(f,c,h,d){for(var v=f.length,m=[],b=0;b<v;++b)var g=f[b],_=g.length;return m}return u},function(){function l(f,c,h,d){for(var v=Math.min(h,d)|0,m=Math.max(h,d)|0,b=f[2*v],g=f[2*v+1];b<g;){var _=b+g>>1,T=c[2*_+1];if(T===m)return _;m<T?g=_:b=_+1}return b}function u(f,c,h,d){for(var v=f.length,m=[],b=0;b<v;++b){var g=f[b],_=g.length;if(_===2){var T=(d[g[0]]<<0)+(d[g[1]]<<1);if(T===0||T===3)continue;switch(T){case 0:break;case 1:m.push([l(h,c,g[0],g[1])]);break;case 2:m.push([l(h,c,g[1],g[0])]);break;case 3:break}}}return m}return u},function(){function l(f,c,h,d){for(var v=Math.min(h,d)|0,m=Math.max(h,d)|0,b=f[2*v],g=f[2*v+1];b<g;){var _=b+g>>1,T=c[2*_+1];if(T===m)return _;m<T?g=_:b=_+1}return b}function u(f,c,h,d){for(var v=f.length,m=[],b=0;b<v;++b){var g=f[b],_=g.length;if(_===3){var T=(d[g[0]]<<0)+(d[g[1]]<<1)+(d[g[2]]<<2);if(T===0||T===7)continue;switch(T){case 0:break;case 1:m.push([l(h,c,g[0],g[2]),l(h,c,g[0],g[1])]);break;case 2:m.push([l(h,c,g[1],g[0]),l(h,c,g[1],g[2])]);break;case 3:m.push([l(h,c,g[0],g[2]),l(h,c,g[1],g[2])]);break;case 4:m.push([l(h,c,g[2],g[1]),l(h,c,g[2],g[0])]);break;case 5:m.push([l(h,c,g[2],g[1]),l(h,c,g[0],g[1])]);break;case 6:m.push([l(h,c,g[1],g[0]),l(h,c,g[2],g[0])]);break;case 7:break}}else if(_===2){var T=(d[g[0]]<<0)+(d[g[1]]<<1);if(T===0||T===3)continue;switch(T){case 0:break;case 1:m.push([l(h,c,g[0],g[1])]);break;case 2:m.push([l(h,c,g[1],g[0])]);break;case 3:break}}}return m}return u},function(){function l(f,c,h,d){for(var v=Math.min(h,d)|0,m=Math.max(h,d)|0,b=f[2*v],g=f[2*v+1];b<g;){var _=b+g>>1,T=c[2*_+1];if(T===m)return _;m<T?g=_:b=_+1}return b}function u(f,c,h,d){for(var v=f.length,m=[],b=0;b<v;++b){var g=f[b],_=g.length;if(_===4){var T=(d[g[0]]<<0)+(d[g[1]]<<1)+(d[g[2]]<<2)+(d[g[3]]<<3);if(T===0||T===15)continue;switch(T){case 0:break;case 1:m.push([l(h,c,g[0],g[1]),l(h,c,g[0],g[2]),l(h,c,g[0],g[3])]);break;case 2:m.push([l(h,c,g[1],g[2]),l(h,c,g[1],g[0]),l(h,c,g[1],g[3])]);break;case 3:m.push([l(h,c,g[1],g[2]),l(h,c,g[0],g[2]),l(h,c,g[0],g[3])],[l(h,c,g[1],g[3]),l(h,c,g[1],g[2]),l(h,c,g[0],g[3])]);break;case 4:m.push([l(h,c,g[2],g[0]),l(h,c,g[2],g[1]),l(h,c,g[2],g[3])]);break;case 5:m.push([l(h,c,g[0],g[1]),l(h,c,g[2],g[1]),l(h,c,g[0],g[3])],[l(h,c,g[2],g[1]),l(h,c,g[2],g[3]),l(h,c,g[0],g[3])]);break;case 6:m.push([l(h,c,g[2],g[0]),l(h,c,g[1],g[0]),l(h,c,g[1],g[3])],[l(h,c,g[2],g[3]),l(h,c,g[2],g[0]),l(h,c,g[1],g[3])]);break;case 7:m.push([l(h,c,g[0],g[3]),l(h,c,g[1],g[3]),l(h,c,g[2],g[3])]);break;case 8:m.push([l(h,c,g[3],g[1]),l(h,c,g[3],g[0]),l(h,c,g[3],g[2])]);break;case 9:m.push([l(h,c,g[3],g[1]),l(h,c,g[0],g[1]),l(h,c,g[0],g[2])],[l(h,c,g[3],g[2]),l(h,c,g[3],g[1]),l(h,c,g[0],g[2])]);break;case 10:m.push([l(h,c,g[1],g[0]),l(h,c,g[3],g[0]),l(h,c,g[1],g[2])],[l(h,c,g[3],g[0]),l(h,c,g[3],g[2]),l(h,c,g[1],g[2])]);break;case 11:m.push([l(h,c,g[1],g[2]),l(h,c,g[0],g[2]),l(h,c,g[3],g[2])]);break;case 12:m.push([l(h,c,g[3],g[0]),l(h,c,g[2],g[0]),l(h,c,g[2],g[1])],[l(h,c,g[3],g[1]),l(h,c,g[3],g[0]),l(h,c,g[2],g[1])]);break;case 13:m.push([l(h,c,g[0],g[1]),l(h,c,g[2],g[1]),l(h,c,g[3],g[1])]);break;case 14:m.push([l(h,c,g[2],g[0]),l(h,c,g[1],g[0]),l(h,c,g[3],g[0])]);break;case 15:break}}else if(_===3){var T=(d[g[0]]<<0)+(d[g[1]]<<1)+(d[g[2]]<<2);if(T===0||T===7)continue;switch(T){case 0:break;case 1:m.push([l(h,c,g[0],g[2]),l(h,c,g[0],g[1])]);break;case 2:m.push([l(h,c,g[1],g[0]),l(h,c,g[1],g[2])]);break;case 3:m.push([l(h,c,g[0],g[2]),l(h,c,g[1],g[2])]);break;case 4:m.push([l(h,c,g[2],g[1]),l(h,c,g[2],g[0])]);break;case 5:m.push([l(h,c,g[2],g[1]),l(h,c,g[0],g[1])]);break;case 6:m.push([l(h,c,g[1],g[0]),l(h,c,g[2],g[0])]);break;case 7:break}}else if(_===2){var T=(d[g[0]]<<0)+(d[g[1]]<<1);if(T===0||T===3)continue;switch(T){case 0:break;case 1:m.push([l(h,c,g[0],g[1])]);break;case 2:m.push([l(h,c,g[1],g[0])]);break;case 3:break}}}return m}return u}];function o(s){return a[s]()}},6803:function(i,a,o){"use strict";var s,l=o(8828),u=o(1755);function f(S){for(var y=0,E=Math.max,C=0,L=S.length;C<L;++C)y=E(y,S[C].length);return y-1}s=f;function c(S){for(var y=-1,E=Math.max,C=0,L=S.length;C<L;++C)for(var R=S[C],I=0,P=R.length;I<P;++I)y=E(y,R[I]);return y+1}s=c;function h(S){for(var y=new Array(S.length),E=0,C=S.length;E<C;++E)y[E]=S[E].slice(0);return y}s=h;function d(S,y){var E=S.length,C=S.length-y.length,L=Math.min;if(C)return C;switch(E){case 0:return 0;case 1:return S[0]-y[0];case 2:var q=S[0]+S[1]-y[0]-y[1];return q||L(S[0],S[1])-L(y[0],y[1]);case 3:var R=S[0]+S[1],I=y[0]+y[1];if(q=R+S[2]-(I+y[2]),q)return q;var P=L(S[0],S[1]),D=L(y[0],y[1]),q=L(P,S[2])-L(D,y[2]);return q||L(P+S[2],R)-L(D+y[2],I);default:var N=S.slice(0);N.sort();var U=y.slice(0);U.sort();for(var G=0;G<E;++G)if(C=N[G]-U[G],C)return C;return 0}}a.Fw=d;function v(S,y){return d(S[0],y[0])}function m(S,y){if(y){for(var E=S.length,C=new Array(E),L=0;L<E;++L)C[L]=[S[L],y[L]];C.sort(v);for(var L=0;L<E;++L)S[L]=C[L][0],y[L]=C[L][1];return S}else return S.sort(d),S}s=m;function b(S){if(S.length===0)return[];for(var y=1,E=S.length,C=1;C<E;++C){var L=S[C];if(d(L,S[C-1])){if(C===y){y++;continue}S[y++]=L}}return S.length=y,S}s=b;function g(S,y){for(var E=0,C=S.length-1,L=-1;E<=C;){var R=E+C>>1,I=d(S[R],y);I<=0?(I===0&&(L=R),E=R+1):I>0&&(C=R-1)}return L}s=g;function _(S,y){for(var E=new Array(S.length),C=0,L=E.length;C<L;++C)E[C]=[];for(var R=[],C=0,I=y.length;C<I;++C)for(var P=y[C],D=P.length,q=1,N=1<<D;q<N;++q){R.length=l.popCount(q);for(var U=0,G=0;G<D;++G)q&1<<G&&(R[U++]=P[G]);var ee=g(S,R);if(!(ee<0))for(;E[ee++].push(C),!(ee>=S.length||d(S[ee],R)!==0););}return E}s=_;function T(S,y){if(!y)return _(b(k(S,0)),S,0);for(var E=new Array(y),C=0;C<y;++C)E[C]=[];for(var C=0,L=S.length;C<L;++C)for(var R=S[C],I=0,P=R.length;I<P;++I)E[R[I]].push(C);return E}s=T;function w(S){for(var y=[],E=0,C=S.length;E<C;++E)for(var L=S[E],R=L.length|0,I=1,P=1<<R;I<P;++I){for(var D=[],q=0;q<R;++q)I>>>q&1&&D.push(L[q]);y.push(D)}return m(y)}s=w;function k(S,y){if(y<0)return[];for(var E=[],C=(1<<y+1)-1,L=0;L<S.length;++L)for(var R=S[L],I=C;I<1<<R.length;I=l.nextCombination(I)){for(var P=new Array(y+1),D=0,q=0;q<R.length;++q)I&1<<q&&(P[D++]=R[q]);E.push(P)}return m(E)}s=k;function x(S){for(var y=[],E=0,C=S.length;E<C;++E)for(var L=S[E],R=0,I=L.length;R<I;++R){for(var P=new Array(L.length-1),D=0,q=0;D<I;++D)D!==R&&(P[q++]=L[D]);y.push(P)}return m(y)}s=x;function M(S,y){for(var E=new u(y),C=0;C<S.length;++C)for(var L=S[C],R=0;R<L.length;++R)for(var I=R+1;I<L.length;++I)E.link(L[R],L[I]);for(var P=[],D=E.ranks,C=0;C<D.length;++C)D[C]=-1;for(var C=0;C<S.length;++C){var q=E.find(S[C][0]);D[q]<0?(D[q]=P.length,P.push([S[C].slice(0)])):P[D[q]].push(S[C].slice(0))}return P}function A(S){for(var y=b(m(k(S,0))),E=new u(y.length),C=0;C<S.length;++C)for(var L=S[C],R=0;R<L.length;++R)for(var I=g(y,[L[R]]),P=R+1;P<L.length;++P)E.link(I,g(y,[L[P]]));for(var D=[],q=E.ranks,C=0;C<q.length;++C)q[C]=-1;for(var C=0;C<S.length;++C){var N=E.find(g(y,[S[C][0]]));q[N]<0?(q[N]=D.length,D.push([S[C].slice(0)])):D[q[N]].push(S[C].slice(0))}return D}function p(S,y){return y?M(S,y):A(S)}s=p},3105:function(i,a){"use strict";var o=32;a.INT_BITS=o,a.INT_MAX=2147483647,a.INT_MIN=-1<<o-1,a.sign=function(u){return(u>0)-(u<0)},a.abs=function(u){var f=u>>o-1;return(u^f)-f},a.min=function(u,f){return f^(u^f)&-(u<f)},a.max=function(u,f){return u^(u^f)&-(u<f)},a.isPow2=function(u){return!(u&u-1)&&!!u},a.log2=function(u){var f,c;return f=(u>65535)<<4,u>>>=f,c=(u>255)<<3,u>>>=c,f|=c,c=(u>15)<<2,u>>>=c,f|=c,c=(u>3)<<1,u>>>=c,f|=c,f|u>>1},a.log10=function(u){return u>=1e9?9:u>=1e8?8:u>=1e7?7:u>=1e6?6:u>=1e5?5:u>=1e4?4:u>=1e3?3:u>=100?2:u>=10?1:0},a.popCount=function(u){return u=u-(u>>>1&1431655765),u=(u&858993459)+(u>>>2&858993459),(u+(u>>>4)&252645135)*16843009>>>24};function s(u){var f=32;return u&=-u,u&&f--,u&65535&&(f-=16),u&16711935&&(f-=8),u&252645135&&(f-=4),u&858993459&&(f-=2),u&1431655765&&(f-=1),f}a.countTrailingZeros=s,a.nextPow2=function(u){return u+=u===0,--u,u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u+1},a.prevPow2=function(u){return u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u-(u>>>1)},a.parity=function(u){return u^=u>>>16,u^=u>>>8,u^=u>>>4,u&=15,27030>>>u&1};var l=new Array(256);(function(u){for(var f=0;f<256;++f){var c=f,h=f,d=7;for(c>>>=1;c;c>>>=1)h<<=1,h|=c&1,--d;u[f]=h<<d&255}})(l),a.reverse=function(u){return l[u&255]<<24|l[u>>>8&255]<<16|l[u>>>16&255]<<8|l[u>>>24&255]},a.interleave2=function(u,f){return u&=65535,u=(u|u<<8)&16711935,u=(u|u<<4)&252645135,u=(u|u<<2)&858993459,u=(u|u<<1)&1431655765,f&=65535,f=(f|f<<8)&16711935,f=(f|f<<4)&252645135,f=(f|f<<2)&858993459,f=(f|f<<1)&1431655765,u|f<<1},a.deinterleave2=function(u,f){return u=u>>>f&1431655765,u=(u|u>>>1)&858993459,u=(u|u>>>2)&252645135,u=(u|u>>>4)&16711935,u=(u|u>>>16)&65535,u<<16>>16},a.interleave3=function(u,f,c){return u&=1023,u=(u|u<<16)&4278190335,u=(u|u<<8)&251719695,u=(u|u<<4)&3272356035,u=(u|u<<2)&1227133513,f&=1023,f=(f|f<<16)&4278190335,f=(f|f<<8)&251719695,f=(f|f<<4)&3272356035,f=(f|f<<2)&1227133513,u|=f<<1,c&=1023,c=(c|c<<16)&4278190335,c=(c|c<<8)&251719695,c=(c|c<<4)&3272356035,c=(c|c<<2)&1227133513,u|c<<2},a.deinterleave3=function(u,f){return u=u>>>f&1227133513,u=(u|u>>>2)&3272356035,u=(u|u>>>4)&251719695,u=(u|u>>>8)&4278190335,u=(u|u>>>16)&1023,u<<22>>22},a.nextCombination=function(u){var f=u|u-1;return f+1|(~f&-~f)-1>>>s(u)+1}},2014:function(i,a,o){"use strict";var s=o(3105),l=o(4623);function u(p){for(var S=0,y=Math.max,E=0,C=p.length;E<C;++E)S=y(S,p[E].length);return S-1}a.dimension=u;function f(p){for(var S=-1,y=Math.max,E=0,C=p.length;E<C;++E)for(var L=p[E],R=0,I=L.length;R<I;++R)S=y(S,L[R]);return S+1}a.countVertices=f;function c(p){for(var S=new Array(p.length),y=0,E=p.length;y<E;++y)S[y]=p[y].slice(0);return S}a.cloneCells=c;function h(p,S){var y=p.length,E=p.length-S.length,C=Math.min;if(E)return E;switch(y){case 0:return 0;case 1:return p[0]-S[0];case 2:var D=p[0]+p[1]-S[0]-S[1];return D||C(p[0],p[1])-C(S[0],S[1]);case 3:var L=p[0]+p[1],R=S[0]+S[1];if(D=L+p[2]-(R+S[2]),D)return D;var I=C(p[0],p[1]),P=C(S[0],S[1]),D=C(I,p[2])-C(P,S[2]);return D||C(I+p[2],L)-C(P+S[2],R);default:var q=p.slice(0);q.sort();var N=S.slice(0);N.sort();for(var U=0;U<y;++U)if(E=q[U]-N[U],E)return E;return 0}}a.compareCells=h;function d(p,S){return h(p[0],S[0])}function v(p,S){if(S){for(var y=p.length,E=new Array(y),C=0;C<y;++C)E[C]=[p[C],S[C]];E.sort(d);for(var C=0;C<y;++C)p[C]=E[C][0],S[C]=E[C][1];return p}else return p.sort(h),p}a.normalize=v;function m(p){if(p.length===0)return[];for(var S=1,y=p.length,E=1;E<y;++E){var C=p[E];if(h(C,p[E-1])){if(E===S){S++;continue}p[S++]=C}}return p.length=S,p}a.unique=m;function b(p,S){for(var y=0,E=p.length-1,C=-1;y<=E;){var L=y+E>>1,R=h(p[L],S);R<=0?(R===0&&(C=L),y=L+1):R>0&&(E=L-1)}return C}a.findCell=b;function g(p,S){for(var y=new Array(p.length),E=0,C=y.length;E<C;++E)y[E]=[];for(var L=[],E=0,R=S.length;E<R;++E)for(var I=S[E],P=I.length,D=1,q=1<<P;D<q;++D){L.length=s.popCount(D);for(var N=0,U=0;U<P;++U)D&1<<U&&(L[N++]=I[U]);var G=b(p,L);if(!(G<0))for(;y[G++].push(E),!(G>=p.length||h(p[G],L)!==0););}return y}a.incidence=g;function _(p,S){if(!S)return g(m(w(p,0)),p,0);for(var y=new Array(S),E=0;E<S;++E)y[E]=[];for(var E=0,C=p.length;E<C;++E)for(var L=p[E],R=0,I=L.length;R<I;++R)y[L[R]].push(E);return y}a.dual=_;function T(p){for(var S=[],y=0,E=p.length;y<E;++y)for(var C=p[y],L=C.length|0,R=1,I=1<<L;R<I;++R){for(var P=[],D=0;D<L;++D)R>>>D&1&&P.push(C[D]);S.push(P)}return v(S)}a.explode=T;function w(p,S){if(S<0)return[];for(var y=[],E=(1<<S+1)-1,C=0;C<p.length;++C)for(var L=p[C],R=E;R<1<<L.length;R=s.nextCombination(R)){for(var I=new Array(S+1),P=0,D=0;D<L.length;++D)R&1<<D&&(I[P++]=L[D]);y.push(I)}return v(y)}a.skeleton=w;function k(p){for(var S=[],y=0,E=p.length;y<E;++y)for(var C=p[y],L=0,R=C.length;L<R;++L){for(var I=new Array(C.length-1),P=0,D=0;P<R;++P)P!==L&&(I[D++]=C[P]);S.push(I)}return v(S)}a.boundary=k;function x(p,S){for(var y=new l(S),E=0;E<p.length;++E)for(var C=p[E],L=0;L<C.length;++L)for(var R=L+1;R<C.length;++R)y.link(C[L],C[R]);for(var I=[],P=y.ranks,E=0;E<P.length;++E)P[E]=-1;for(var E=0;E<p.length;++E){var D=y.find(p[E][0]);P[D]<0?(P[D]=I.length,I.push([p[E].slice(0)])):I[P[D]].push(p[E].slice(0))}return I}function M(p){for(var S=m(v(w(p,0))),y=new l(S.length),E=0;E<p.length;++E)for(var C=p[E],L=0;L<C.length;++L)for(var R=b(S,[C[L]]),I=L+1;I<C.length;++I)y.link(R,b(S,[C[I]]));for(var P=[],D=y.ranks,E=0;E<D.length;++E)D[E]=-1;for(var E=0;E<p.length;++E){var q=y.find(b(S,[p[E][0]]));D[q]<0?(D[q]=P.length,P.push([p[E].slice(0)])):P[D[q]].push(p[E].slice(0))}return P}function A(p,S){return S?x(p,S):M(p)}a.connectedComponents=A},4623:function(i){"use strict";i.exports=a;function a(o){this.roots=new Array(o),this.ranks=new Array(o);for(var s=0;s<o;++s)this.roots[s]=s,this.ranks[s]=0}a.prototype.length=function(){return this.roots.length},a.prototype.makeSet=function(){var o=this.roots.length;return this.roots.push(o),this.ranks.push(0),o},a.prototype.find=function(o){for(var s=this.roots;s[o]!==o;){var l=s[o];s[o]=s[l],o=l}return o},a.prototype.link=function(o,s){var l=this.find(o),u=this.find(s);if(l!==u){var f=this.ranks,c=this.roots,h=f[l],d=f[u];h<d?c[l]=u:d<h?c[u]=l:(c[u]=l,++f[l])}}},5878:function(i,a,o){"use strict";i.exports=f;var s=o(3250),l=o(2014);function u(c,h,d){var v=Math.abs(s(c,h,d)),m=Math.sqrt(Math.pow(h[0]-d[0],2)+Math.pow(h[1]-d[1],2));return v/m}function f(c,h,d){for(var v=h.length,m=c.length,b=new Array(v),g=new Array(v),_=new Array(v),T=new Array(v),w=0;w<v;++w)b[w]=g[w]=-1,_[w]=1/0,T[w]=!1;for(var w=0;w<m;++w){var k=c[w];if(k.length!==2)throw new Error("Input must be a graph");var x=k[1],M=k[0];g[M]!==-1?g[M]=-2:g[M]=x,b[x]!==-1?b[x]=-2:b[x]=M}function A(O){if(T[O])return 1/0;var Z=b[O],K=g[O];return Z<0||K<0?1/0:u(h[O],h[Z],h[K])}function p(O,Z){var K=P[O],$=P[Z];P[O]=$,P[Z]=K,D[K]=Z,D[$]=O}function S(O){return _[P[O]]}function y(O){return O&1?O-1>>1:(O>>1)-1}function E(O){for(var Z=S(O);;){var K=Z,$=2*O+1,oe=2*(O+1),te=O;if($<N){var V=S($);V<K&&(te=$,K=V)}if(oe<N){var ne=S(oe);ne<K&&(te=oe)}if(te===O)return O;p(O,te),O=te}}function C(O){for(var Z=S(O);O>0;){var K=y(O);if(K>=0){var $=S(K);if(Z<$){p(O,K),O=K;continue}}return O}}function L(){if(N>0){var O=P[0];return p(0,N-1),N-=1,E(0),O}return-1}function R(O,Z){var K=P[O];return _[K]===Z?O:(_[K]=-1/0,C(O),L(),_[K]=Z,N+=1,C(N-1))}function I(O){if(!T[O]){T[O]=!0;var Z=b[O],K=g[O];b[K]>=0&&(b[K]=Z),g[Z]>=0&&(g[Z]=K),D[Z]>=0&&R(D[Z],A(Z)),D[K]>=0&&R(D[K],A(K))}}for(var P=[],D=new Array(v),w=0;w<v;++w){var q=_[w]=A(w);q<1/0?(D[w]=P.length,P.push(w)):D[w]=-1}for(var N=P.length,w=N>>1;w>=0;--w)E(w);for(;;){var U=L();if(U<0||_[U]>d)break;I(U)}for(var G=[],w=0;w<v;++w)T[w]||(D[w]=G.length,G.push(h[w].slice()));var ee=G.length;function Q(O,Z){if(O[Z]<0)return Z;var K=Z,$=Z;do{var oe=O[$];if(!T[$]||oe<0||oe===$||($=oe,oe=O[$],!T[$]||oe<0||oe===$))break;$=oe,K=O[K]}while(K!==$);for(var te=Z;te!==$;te=O[te])O[te]=$;return $}var j=[];return c.forEach(function(O){var Z=Q(b,O[0]),K=Q(g,O[1]);if(Z>=0&&K>=0&&Z!==K){var $=D[Z],oe=D[K];$!==oe&&j.push([$,oe])}}),l.unique(l.normalize(j)),{positions:G,edges:j}}},1303:function(i,a,o){"use strict";i.exports=u;var s=o(3250);function l(f,c){var h,d;if(c[0][0]<c[1][0])h=c[0],d=c[1];else if(c[0][0]>c[1][0])h=c[1],d=c[0];else{var v=Math.min(f[0][1],f[1][1]),m=Math.max(f[0][1],f[1][1]),b=Math.min(c[0][1],c[1][1]),g=Math.max(c[0][1],c[1][1]);return m<b?m-b:v>g?v-g:m-g}var _,T;f[0][1]<f[1][1]?(_=f[0],T=f[1]):(_=f[1],T=f[0]);var w=s(d,h,_);return w||(w=s(d,h,T),w)?w:T-d}function u(f,c){var h,d;if(c[0][0]<c[1][0])h=c[0],d=c[1];else if(c[0][0]>c[1][0])h=c[1],d=c[0];else return l(c,f);var v,m;if(f[0][0]<f[1][0])v=f[0],m=f[1];else if(f[0][0]>f[1][0])v=f[1],m=f[0];else return-l(f,c);var b=s(h,d,m),g=s(h,d,v);if(b<0){if(g<=0)return b}else if(b>0){if(g>=0)return b}else if(g)return g;if(b=s(m,v,d),g=s(m,v,h),b<0){if(g<=0)return b}else if(b>0){if(g>=0)return b}else if(g)return g;return d[0]-m[0]}},4209:function(i,a,o){"use strict";i.exports=g;var s=o(2478),l=o(3840),u=o(3250),f=o(1303);function c(_,T,w){this.slabs=_,this.coordinates=T,this.horizontal=w}var h=c.prototype;function d(_,T){return _.y-T}function v(_,T){for(var w=null;_;){var k=_.key,x,M;k[0][0]<k[1][0]?(x=k[0],M=k[1]):(x=k[1],M=k[0]);var A=u(x,M,T);if(A<0)_=_.left;else if(A>0)if(T[0]!==k[1][0])w=_,_=_.right;else{var p=v(_.right,T);if(p)return p;_=_.left}else{if(T[0]!==k[1][0])return _;var p=v(_.right,T);if(p)return p;_=_.left}}return w}h.castUp=function(_){var T=s.le(this.coordinates,_[0]);if(T<0)return-1;var w=this.slabs[T],k=v(this.slabs[T],_),x=-1;if(k&&(x=k.value),this.coordinates[T]===_[0]){var M=null;if(k&&(M=k.key),T>0){var A=v(this.slabs[T-1],_);A&&(M?f(A.key,M)>0&&(M=A.key,x=A.value):(x=A.value,M=A.key))}var p=this.horizontal[T];if(p.length>0){var S=s.ge(p,_[1],d);if(S<p.length){var y=p[S];if(_[1]===y.y){if(y.closed)return y.index;for(;S<p.length-1&&p[S+1].y===_[1];)if(S=S+1,y=p[S],y.closed)return y.index;if(y.y===_[1]&&!y.start){if(S=S+1,S>=p.length)return x;y=p[S]}}if(y.start)if(M){var E=u(M[0],M[1],[_[0],y.y]);M[0][0]>M[1][0]&&(E=-E),E>0&&(x=y.index)}else x=y.index;else y.y!==_[1]&&(x=y.index)}}}return x};function m(_,T,w,k){this.y=_,this.index=T,this.start=w,this.closed=k}function b(_,T,w,k){this.x=_,this.segment=T,this.create=w,this.index=k}function g(_){for(var T=_.length,w=2*T,k=new Array(w),x=0;x<T;++x){var M=_[x],A=M[0][0]<M[1][0];k[2*x]=new b(M[0][0],M,A,x),k[2*x+1]=new b(M[1][0],M,!A,x)}k.sort(function(P,D){var q=P.x-D.x;return q||(q=P.create-D.create,q)?q:Math.min(P.segment[0][1],P.segment[1][1])-Math.min(D.segment[0][1],D.segment[1][1])});for(var p=l(f),S=[],y=[],E=[],C=-1/0,x=0;x<w;){for(var L=k[x].x,R=[];x<w;){var I=k[x];if(I.x!==L)break;x+=1,I.segment[0][0]===I.x&&I.segment[1][0]===I.x?I.create&&(I.segment[0][1]<I.segment[1][1]?(R.push(new m(I.segment[0][1],I.index,!0,!0)),R.push(new m(I.segment[1][1],I.index,!1,!1))):(R.push(new m(I.segment[1][1],I.index,!0,!1)),R.push(new m(I.segment[0][1],I.index,!1,!0)))):I.create?p=p.insert(I.segment,I.index):p=p.remove(I.segment)}S.push(p.root),y.push(L),E.push(R)}return new c(S,y,E)}},5202:function(i,a,o){"use strict";var s=o(1944),l=o(8210);i.exports=c,i.exports.positive=h,i.exports.negative=d;function u(v,m){var b=l(s(v,m),[m[m.length-1]]);return b[b.length-1]}function f(v,m,b,g){var _=g-m,T=-m/_;T<0?T=0:T>1&&(T=1);for(var w=1-T,k=v.length,x=new Array(k),M=0;M<k;++M)x[M]=T*v[M]+w*b[M];return x}function c(v,m){for(var b=[],g=[],_=u(v[v.length-1],m),T=v[v.length-1],w=v[0],k=0;k<v.length;++k,T=w){w=v[k];var x=u(w,m);if(_<0&&x>0||_>0&&x<0){var M=f(T,x,w,_);b.push(M),g.push(M.slice())}x<0?g.push(w.slice()):x>0?b.push(w.slice()):(b.push(w.slice()),g.push(w.slice())),_=x}return{positive:b,negative:g}}function h(v,m){for(var b=[],g=u(v[v.length-1],m),_=v[v.length-1],T=v[0],w=0;w<v.length;++w,_=T){T=v[w];var k=u(T,m);(g<0&&k>0||g>0&&k<0)&&b.push(f(_,k,T,g)),k>=0&&b.push(T.slice()),g=k}return b}function d(v,m){for(var b=[],g=u(v[v.length-1],m),_=v[v.length-1],T=v[0],w=0;w<v.length;++w,_=T){T=v[w];var k=u(T,m);(g<0&&k>0||g>0&&k<0)&&b.push(f(_,k,T,g)),k<=0&&b.push(T.slice()),g=k}return b}},3387:function(i,a,o){var s;(function(){"use strict";var l={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function u(v){return c(d(v),arguments)}function f(v,m){return u.apply(null,[v].concat(m||[]))}function c(v,m){var b=1,g=v.length,_,T="",w,k,x,M,A,p,S,y;for(w=0;w<g;w++)if(typeof v[w]=="string")T+=v[w];else if(typeof v[w]=="object"){if(x=v[w],x.keys)for(_=m[b],k=0;k<x.keys.length;k++){if(_==null)throw new Error(u('[sprintf] Cannot access property "%s" of undefined value "%s"',x.keys[k],x.keys[k-1]));_=_[x.keys[k]]}else x.param_no?_=m[x.param_no]:_=m[b++];if(l.not_type.test(x.type)&&l.not_primitive.test(x.type)&&_ instanceof Function&&(_=_()),l.numeric_arg.test(x.type)&&typeof _!="number"&&isNaN(_))throw new TypeError(u("[sprintf] expecting number but found %T",_));switch(l.number.test(x.type)&&(S=_>=0),x.type){case"b":_=parseInt(_,10).toString(2);break;case"c":_=String.fromCharCode(parseInt(_,10));break;case"d":case"i":_=parseInt(_,10);break;case"j":_=JSON.stringify(_,null,x.width?parseInt(x.width):0);break;case"e":_=x.precision?parseFloat(_).toExponential(x.precision):parseFloat(_).toExponential();break;case"f":_=x.precision?parseFloat(_).toFixed(x.precision):parseFloat(_);break;case"g":_=x.precision?String(Number(_.toPrecision(x.precision))):parseFloat(_);break;case"o":_=(parseInt(_,10)>>>0).toString(8);break;case"s":_=String(_),_=x.precision?_.substring(0,x.precision):_;break;case"t":_=String(!!_),_=x.precision?_.substring(0,x.precision):_;break;case"T":_=Object.prototype.toString.call(_).slice(8,-1).toLowerCase(),_=x.precision?_.substring(0,x.precision):_;break;case"u":_=parseInt(_,10)>>>0;break;case"v":_=_.valueOf(),_=x.precision?_.substring(0,x.precision):_;break;case"x":_=(parseInt(_,10)>>>0).toString(16);break;case"X":_=(parseInt(_,10)>>>0).toString(16).toUpperCase();break}l.json.test(x.type)?T+=_:(l.number.test(x.type)&&(!S||x.sign)?(y=S?"+":"-",_=_.toString().replace(l.sign,"")):y="",A=x.pad_char?x.pad_char==="0"?"0":x.pad_char.charAt(1):" ",p=x.width-(y+_).length,M=x.width&&p>0?A.repeat(p):"",T+=x.align?y+_+M:A==="0"?y+M+_:M+y+_)}return T}var h=Object.create(null);function d(v){if(h[v])return h[v];for(var m=v,b,g=[],_=0;m;){if((b=l.text.exec(m))!==null)g.push(b[0]);else if((b=l.modulo.exec(m))!==null)g.push("%");else if((b=l.placeholder.exec(m))!==null){if(b[2]){_|=1;var T=[],w=b[2],k=[];if((k=l.key.exec(w))!==null)for(T.push(k[1]);(w=w.substring(k[0].length))!=="";)if((k=l.key_access.exec(w))!==null)T.push(k[1]);else if((k=l.index_access.exec(w))!==null)T.push(k[1]);else throw new SyntaxError("[sprintf] failed to parse named argument key");else throw new SyntaxError("[sprintf] failed to parse named argument key");b[2]=T}else _|=2;if(_===3)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");g.push({placeholder:b[0],param_no:b[1],keys:b[2],sign:b[3],pad_char:b[4],align:b[5],width:b[6],precision:b[7],type:b[8]})}else throw new SyntaxError("[sprintf] unexpected placeholder");m=m.substring(b[0].length)}return h[v]=g}a.sprintf=u,a.vsprintf=f,typeof window<"u"&&(window.sprintf=u,window.vsprintf=f,s=function(){return{sprintf:u,vsprintf:f}}.call(a,o,a,i),s!==void 0&&(i.exports=s))})()},3711:function(i,a,o){"use strict";i.exports=d;var s=o(2640),l=o(781),u={"2d":function(v,m,b){var g=v({order:m,scalarArguments:3,getters:b==="generic"?[0]:void 0,phase:function(T,w,k,x){return T>x|0},vertex:function(T,w,k,x,M,A,p,S,y,E,C,L,R){var I=(p<<0)+(S<<1)+(y<<2)+(E<<3)|0;if(!(I===0||I===15))switch(I){case 0:C.push([T-.5,w-.5]);break;case 1:C.push([T-.25-.25*(x+k-2*R)/(k-x),w-.25-.25*(M+k-2*R)/(k-M)]);break;case 2:C.push([T-.75-.25*(-x-k+2*R)/(x-k),w-.25-.25*(A+x-2*R)/(x-A)]);break;case 3:C.push([T-.5,w-.5-.5*(M+k+A+x-4*R)/(k-M+x-A)]);break;case 4:C.push([T-.25-.25*(A+M-2*R)/(M-A),w-.75-.25*(-M-k+2*R)/(M-k)]);break;case 5:C.push([T-.5-.5*(x+k+A+M-4*R)/(k-x+M-A),w-.5]);break;case 6:C.push([T-.5-.25*(-x-k+A+M)/(x-k+M-A),w-.5-.25*(-M-k+A+x)/(M-k+x-A)]);break;case 7:C.push([T-.75-.25*(A+M-2*R)/(M-A),w-.75-.25*(A+x-2*R)/(x-A)]);break;case 8:C.push([T-.75-.25*(-A-M+2*R)/(A-M),w-.75-.25*(-A-x+2*R)/(A-x)]);break;case 9:C.push([T-.5-.25*(x+k+-A-M)/(k-x+A-M),w-.5-.25*(M+k+-A-x)/(k-M+A-x)]);break;case 10:C.push([T-.5-.5*(-x-k+-A-M+4*R)/(x-k+A-M),w-.5]);break;case 11:C.push([T-.25-.25*(-A-M+2*R)/(A-M),w-.75-.25*(M+k-2*R)/(k-M)]);break;case 12:C.push([T-.5,w-.5-.5*(-M-k+-A-x+4*R)/(M-k+A-x)]);break;case 13:C.push([T-.75-.25*(x+k-2*R)/(k-x),w-.25-.25*(-A-x+2*R)/(A-x)]);break;case 14:C.push([T-.25-.25*(-x-k+2*R)/(x-k),w-.25-.25*(-M-k+2*R)/(M-k)]);break;case 15:C.push([T-.5,w-.5]);break}},cell:function(T,w,k,x,M,A,p,S,y){M?S.push([T,w]):S.push([w,T])}});return function(_,T){var w=[],k=[];return g(_,w,k,T),{positions:w,cells:k}}}};function f(v,m){var b=v.length+"d",g=u[b];if(g)return g(s,v,m)}function c(v,m){for(var b=l(v,m),g=b.length,_=new Array(g),T=new Array(g),w=0;w<g;++w)_[w]=[b[w]],T[w]=[w];return{positions:_,cells:T}}var h={};function d(v,_){if(v.dimension<=0)return{positions:[],cells:[]};if(v.dimension===1)return c(v,_);var b=v.order.join()+"-"+v.dtype,g=h[b],_=+_||0;return g||(g=h[b]=f(v.order,v.dtype)),g(v,_)}},529:function(i,a,o){"use strict";i.exports=c;var s=o(4359),l=window||process.global||{},u=l.__TEXT_CACHE||{};l.__TEXT_CACHE={};function f(h){for(var d=h.cells,v=h.positions,m=new Float32Array(d.length*6),b=0,g=0,_=0;_<d.length;++_)for(var T=d[_],w=0;w<3;++w){var k=v[T[w]];m[b++]=k[0],m[b++]=k[1]+1.4,g=Math.max(k[0],g)}return{data:m,shape:g}}function c(h,d,m){var m=m||{},b=m.fontStyle||"normal",g=m.fontWeight||"normal",_=m.fontVariant||"normal",T=[b,g,_,h].join("_"),w=u[T];w||(w=u[T]={" ":{data:new Float32Array(0),shape:.2}});var k=w[d];if(!k)if(d.length<=1||!/\d/.test(d))k=w[d]=f(s(d,{triangles:!0,font:h,fontStyle:b,fontWeight:g,fontVariant:_,textAlign:m.textAlign||"left",textBaseline:"alphabetic",styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0}}));else{for(var x=d.split(/(\d|\s)/),M=new Array(x.length),A=0,p=0,S=0;S<x.length;++S)M[S]=c(h,x[S]),A+=M[S].data.length,p+=M[S].shape,S>0&&(p+=.02);for(var y=new Float32Array(A),E=0,C=-.5*p,S=0;S<M.length;++S){for(var L=M[S].data,R=0;R<L.length;R+=2)y[E++]=L[R]+C,y[E++]=L[R+1];C+=M[S].shape+.02}k=w[d]={data:y,shape:p}}return k}},665:function(i,a,o){"use strict";var s=o(3202);i.exports=c;var l=96;function u(h,d){var v=s(getComputedStyle(h).getPropertyValue(d));return v[0]*c(v[1],h)}function f(h,d){var v=document.createElement("div");v.style["font-size"]="128"+h,d.appendChild(v);var m=u(v,"font-size")/128;return d.removeChild(v),m}function c(h,d){switch(d=d||document.body,h=(h||"px").trim().toLowerCase(),(d===window||d===document)&&(d=document.body),h){case"%":return d.clientHeight/100;case"ch":case"ex":return f(h,d);case"em":return u(d,"font-size");case"rem":return u(document.body,"font-size");case"vw":return window.innerWidth/100;case"vh":return window.innerHeight/100;case"vmin":return Math.min(window.innerWidth,window.innerHeight)/100;case"vmax":return Math.max(window.innerWidth,window.innerHeight)/100;case"in":return l;case"cm":return l/2.54;case"mm":return l/25.4;case"pt":return l/72;case"pc":return l/6}return 1}},7261:function(i,a,o){"use strict";i.exports=T;var s=o(9215),l=o(7608),u=o(6079),f=o(5911),c=o(3536),h=o(244);function d(w,k,x){return Math.sqrt(Math.pow(w,2)+Math.pow(k,2)+Math.pow(x,2))}function v(w){return Math.min(1,Math.max(-1,w))}function m(w){var k=Math.abs(w[0]),x=Math.abs(w[1]),M=Math.abs(w[2]),A=[0,0,0];k>Math.max(x,M)?A[2]=1:x>Math.max(k,M)?A[0]=1:A[1]=1;for(var p=0,S=0,y=0;y<3;++y)p+=w[y]*w[y],S+=A[y]*w[y];for(var y=0;y<3;++y)A[y]-=S/p*w[y];return c(A,A),A}function b(w,k,x,M,A,p,S,y){this.center=s(x),this.up=s(M),this.right=s(A),this.radius=s([p]),this.angle=s([S,y]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(w,k),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var E=0;E<16;++E)this.computedMatrix[E]=.5;this.recalcMatrix(0)}var g=b.prototype;g.setDistanceLimits=function(w,k){w>0?w=Math.log(w):w=-1/0,k>0?k=Math.log(k):k=1/0,k=Math.max(k,w),this.radius.bounds[0][0]=w,this.radius.bounds[1][0]=k},g.getDistanceLimits=function(w){var k=this.radius.bounds[0];return w?(w[0]=Math.exp(k[0][0]),w[1]=Math.exp(k[1][0]),w):[Math.exp(k[0][0]),Math.exp(k[1][0])]},g.recalcMatrix=function(w){this.center.curve(w),this.up.curve(w),this.right.curve(w),this.radius.curve(w),this.angle.curve(w);for(var k=this.computedUp,x=this.computedRight,M=0,A=0,p=0;p<3;++p)A+=k[p]*x[p],M+=k[p]*k[p];for(var S=Math.sqrt(M),y=0,p=0;p<3;++p)x[p]-=k[p]*A/M,y+=x[p]*x[p],k[p]/=S;for(var E=Math.sqrt(y),p=0;p<3;++p)x[p]/=E;var C=this.computedToward;f(C,k,x),c(C,C);for(var L=Math.exp(this.computedRadius[0]),R=this.computedAngle[0],I=this.computedAngle[1],P=Math.cos(R),D=Math.sin(R),q=Math.cos(I),N=Math.sin(I),U=this.computedCenter,G=P*q,ee=D*q,Q=N,j=-P*N,O=-D*N,Z=q,K=this.computedEye,$=this.computedMatrix,p=0;p<3;++p){var oe=G*x[p]+ee*C[p]+Q*k[p];$[4*p+1]=j*x[p]+O*C[p]+Z*k[p],$[4*p+2]=oe,$[4*p+3]=0}var te=$[1],V=$[5],ne=$[9],W=$[2],fe=$[6],ge=$[10],Ce=V*ge-ne*fe,Ne=ne*W-te*ge,pe=te*fe-V*W,me=d(Ce,Ne,pe);Ce/=me,Ne/=me,pe/=me,$[0]=Ce,$[4]=Ne,$[8]=pe;for(var p=0;p<3;++p)K[p]=U[p]+$[2+4*p]*L;for(var p=0;p<3;++p){for(var y=0,Ie=0;Ie<3;++Ie)y+=$[p+4*Ie]*K[Ie];$[12+p]=-y}$[15]=1},g.getMatrix=function(w,k){this.recalcMatrix(w);var x=this.computedMatrix;if(k){for(var M=0;M<16;++M)k[M]=x[M];return k}return x};var _=[0,0,0];g.rotate=function(w,k,x,M){if(this.angle.move(w,k,x),M){this.recalcMatrix(w);var A=this.computedMatrix;_[0]=A[2],_[1]=A[6],_[2]=A[10];for(var p=this.computedUp,S=this.computedRight,y=this.computedToward,E=0;E<3;++E)A[4*E]=p[E],A[4*E+1]=S[E],A[4*E+2]=y[E];u(A,A,M,_);for(var E=0;E<3;++E)p[E]=A[4*E],S[E]=A[4*E+1];this.up.set(w,p[0],p[1],p[2]),this.right.set(w,S[0],S[1],S[2])}},g.pan=function(w,k,x,M){k=k||0,x=x||0,M=M||0,this.recalcMatrix(w);var A=this.computedMatrix,p=Math.exp(this.computedRadius[0]),S=A[1],y=A[5],E=A[9],C=d(S,y,E);S/=C,y/=C,E/=C;var L=A[0],R=A[4],I=A[8],P=L*S+R*y+I*E;L-=S*P,R-=y*P,I-=E*P;var D=d(L,R,I);L/=D,R/=D,I/=D;var q=L*k+S*x,N=R*k+y*x,U=I*k+E*x;this.center.move(w,q,N,U);var G=Math.exp(this.computedRadius[0]);G=Math.max(1e-4,G+M),this.radius.set(w,Math.log(G))},g.translate=function(w,k,x,M){this.center.move(w,k||0,x||0,M||0)},g.setMatrix=function(w,k,x,M){var A=1;typeof x=="number"&&(A=x|0),(A<0||A>3)&&(A=1);var p=(A+2)%3,S=(A+1)%3;k||(this.recalcMatrix(w),k=this.computedMatrix);var y=k[A],E=k[A+4],C=k[A+8];if(M){var R=Math.abs(y),I=Math.abs(E),P=Math.abs(C),D=Math.max(R,I,P);R===D?(y=y<0?-1:1,E=C=0):P===D?(C=C<0?-1:1,y=E=0):(E=E<0?-1:1,y=C=0)}else{var L=d(y,E,C);y/=L,E/=L,C/=L}var q=k[p],N=k[p+4],U=k[p+8],G=q*y+N*E+U*C;q-=y*G,N-=E*G,U-=C*G;var ee=d(q,N,U);q/=ee,N/=ee,U/=ee;var Q=E*U-C*N,j=C*q-y*U,O=y*N-E*q,Z=d(Q,j,O);Q/=Z,j/=Z,O/=Z,this.center.jump(w,rt,ce,Ee),this.radius.idle(w),this.up.jump(w,y,E,C),this.right.jump(w,q,N,U);var K,$;if(A===2){var oe=k[1],te=k[5],V=k[9],ne=oe*q+te*N+V*U,W=oe*Q+te*j+V*O;Ne<0?K=-Math.PI/2:K=Math.PI/2,$=Math.atan2(W,ne)}else{var fe=k[2],ge=k[6],Ce=k[10],Ne=fe*y+ge*E+Ce*C,pe=fe*q+ge*N+Ce*U,me=fe*Q+ge*j+Ce*O;K=Math.asin(v(Ne)),$=Math.atan2(me,pe)}this.angle.jump(w,$,K),this.recalcMatrix(w);var Ie=k[2],Re=k[6],ze=k[10],Be=this.computedMatrix;l(Be,k);var tt=Be[15],rt=Be[12]/tt,ce=Be[13]/tt,Ee=Be[14]/tt,Ae=Math.exp(this.computedRadius[0]);this.center.jump(w,rt-Ie*Ae,ce-Re*Ae,Ee-ze*Ae)},g.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},g.idle=function(w){this.center.idle(w),this.up.idle(w),this.right.idle(w),this.radius.idle(w),this.angle.idle(w)},g.flush=function(w){this.center.flush(w),this.up.flush(w),this.right.flush(w),this.radius.flush(w),this.angle.flush(w)},g.setDistance=function(w,k){k>0&&this.radius.set(w,Math.log(k))},g.lookAt=function(w,k,x,M){this.recalcMatrix(w),k=k||this.computedEye,x=x||this.computedCenter,M=M||this.computedUp;var A=M[0],p=M[1],S=M[2],y=d(A,p,S);if(!(y<1e-6)){A/=y,p/=y,S/=y;var E=k[0]-x[0],C=k[1]-x[1],L=k[2]-x[2],R=d(E,C,L);if(!(R<1e-6)){E/=R,C/=R,L/=R;var I=this.computedRight,P=I[0],D=I[1],q=I[2],N=A*P+p*D+S*q;P-=N*A,D-=N*p,q-=N*S;var U=d(P,D,q);if(!(U<.01&&(P=p*L-S*C,D=S*E-A*L,q=A*C-p*E,U=d(P,D,q),U<1e-6))){P/=U,D/=U,q/=U,this.up.set(w,A,p,S),this.right.set(w,P,D,q),this.center.set(w,x[0],x[1],x[2]),this.radius.set(w,Math.log(R));var G=p*q-S*D,ee=S*P-A*q,Q=A*D-p*P,j=d(G,ee,Q);G/=j,ee/=j,Q/=j;var O=A*E+p*C+S*L,Z=P*E+D*C+q*L,K=G*E+ee*C+Q*L,$=Math.asin(v(O)),oe=Math.atan2(K,Z),te=this.angle._state,V=te[te.length-1],ne=te[te.length-2];V=V%(2*Math.PI);var W=Math.abs(V+2*Math.PI-oe),fe=Math.abs(V-oe),ge=Math.abs(V-2*Math.PI-oe);W<fe&&(V+=2*Math.PI),ge<fe&&(V-=2*Math.PI),this.angle.jump(this.angle.lastT(),V,ne),this.angle.set(w,oe,$)}}}};function T(w){w=w||{};var k=w.center||[0,0,0],x=w.up||[0,1,0],M=w.right||m(x),A=w.radius||1,p=w.theta||0,S=w.phi||0;if(k=[].slice.call(k,0,3),x=[].slice.call(x,0,3),c(x,x),M=[].slice.call(M,0,3),c(M,M),"eye"in w){var y=w.eye,E=[y[0]-k[0],y[1]-k[1],y[2]-k[2]];f(M,E,x),d(M[0],M[1],M[2])<1e-6?M=m(x):c(M,M),A=d(E[0],E[1],E[2]);var C=h(x,E)/A,L=h(M,E)/A;S=Math.acos(C),p=Math.acos(L)}return A=Math.log(A),new b(w.zoomMin,w.zoomMax,k,x,M,A,p,S)}},5250:function(i){"use strict";i.exports=o;var a=+(Math.pow(2,27)+1);function o(s,l,u){var f=s*l,c=a*s,h=c-s,d=c-h,v=s-d,m=a*l,b=m-l,g=m-b,_=l-g,T=f-d*g,w=T-v*g,k=w-d*_,x=v*_-k;return u?(u[0]=x,u[1]=f,u):[x,f]}},9362:function(i){"use strict";i.exports=a;function a(o,s,l){var u=o+s,f=u-o,c=u-f,h=s-f,d=o-c;return l?(l[0]=d+h,l[1]=u,l):[d+h,u]}},1888:function(i,a,o){"use strict";var s=o(8828),l=o(1338),u=o(4793).hp;o.g.__TYPEDARRAY_POOL||(o.g.__TYPEDARRAY_POOL={UINT8:l([32,0]),UINT16:l([32,0]),UINT32:l([32,0]),BIGUINT64:l([32,0]),INT8:l([32,0]),INT16:l([32,0]),INT32:l([32,0]),BIGINT64:l([32,0]),FLOAT:l([32,0]),DOUBLE:l([32,0]),DATA:l([32,0]),UINT8C:l([32,0]),BUFFER:l([32,0])});var f=typeof Uint8ClampedArray<"u",c=typeof BigUint64Array<"u",h=typeof BigInt64Array<"u",d=o.g.__TYPEDARRAY_POOL;d.UINT8C||(d.UINT8C=l([32,0])),d.BIGUINT64||(d.BIGUINT64=l([32,0])),d.BIGINT64||(d.BIGINT64=l([32,0])),d.BUFFER||(d.BUFFER=l([32,0]));var v=d.DATA,m=d.BUFFER;a.free=function(P){if(u.isBuffer(P))m[s.log2(P.length)].push(P);else{if(Object.prototype.toString.call(P)!=="[object ArrayBuffer]"&&(P=P.buffer),!P)return;var D=P.length||P.byteLength,q=s.log2(D)|0;v[q].push(P)}};function b(I){if(I){var P=I.length||I.byteLength,D=s.log2(P);v[D].push(I)}}function g(I){b(I.buffer)}a.freeUint8=a.freeUint16=a.freeUint32=a.freeBigUint64=a.freeInt8=a.freeInt16=a.freeInt32=a.freeBigInt64=a.freeFloat32=a.freeFloat=a.freeFloat64=a.freeDouble=a.freeUint8Clamped=a.freeDataView=g,a.freeArrayBuffer=b,a.freeBuffer=function(P){m[s.log2(P.length)].push(P)},a.malloc=function(P,D){if(D===void 0||D==="arraybuffer")return _(P);switch(D){case"uint8":return T(P);case"uint16":return w(P);case"uint32":return k(P);case"int8":return x(P);case"int16":return M(P);case"int32":return A(P);case"float":case"float32":return p(P);case"double":case"float64":return S(P);case"uint8_clamped":return y(P);case"bigint64":return C(P);case"biguint64":return E(P);case"buffer":return R(P);case"data":case"dataview":return L(P);default:return null}return null};function _(P){var P=s.nextPow2(P),D=s.log2(P),q=v[D];return q.length>0?q.pop():new ArrayBuffer(P)}a.mallocArrayBuffer=_;function T(I){return new Uint8Array(_(I),0,I)}a.mallocUint8=T;function w(I){return new Uint16Array(_(2*I),0,I)}a.mallocUint16=w;function k(I){return new Uint32Array(_(4*I),0,I)}a.mallocUint32=k;function x(I){return new Int8Array(_(I),0,I)}a.mallocInt8=x;function M(I){return new Int16Array(_(2*I),0,I)}a.mallocInt16=M;function A(I){return new Int32Array(_(4*I),0,I)}a.mallocInt32=A;function p(I){return new Float32Array(_(4*I),0,I)}a.mallocFloat32=a.mallocFloat=p;function S(I){return new Float64Array(_(8*I),0,I)}a.mallocFloat64=a.mallocDouble=S;function y(I){return f?new Uint8ClampedArray(_(I),0,I):T(I)}a.mallocUint8Clamped=y;function E(I){return c?new BigUint64Array(_(8*I),0,I):null}a.mallocBigUint64=E;function C(I){return h?new BigInt64Array(_(8*I),0,I):null}a.mallocBigInt64=C;function L(I){return new DataView(_(I),0,I)}a.mallocDataView=L;function R(I){I=s.nextPow2(I);var P=s.log2(I),D=m[P];return D.length>0?D.pop():new u(I)}a.mallocBuffer=R,a.clearCache=function(){for(var P=0;P<32;++P)d.UINT8[P].length=0,d.UINT16[P].length=0,d.UINT32[P].length=0,d.INT8[P].length=0,d.INT16[P].length=0,d.INT32[P].length=0,d.FLOAT[P].length=0,d.DOUBLE[P].length=0,d.BIGUINT64[P].length=0,d.BIGINT64[P].length=0,d.UINT8C[P].length=0,v[P].length=0,m[P].length=0}},1755:function(i){"use strict";i.exports=a;function a(s){this.roots=new Array(s),this.ranks=new Array(s);for(var l=0;l<s;++l)this.roots[l]=l,this.ranks[l]=0}var o=a.prototype;Object.defineProperty(o,"length",{get:function(){return this.roots.length}}),o.makeSet=function(){var s=this.roots.length;return this.roots.push(s),this.ranks.push(0),s},o.find=function(s){for(var l=s,u=this.roots;u[s]!==s;)s=u[s];for(;u[l]!==s;){var f=u[l];u[l]=s,l=f}return s},o.link=function(s,l){var u=this.find(s),f=this.find(l);if(u!==f){var c=this.ranks,h=this.roots,d=c[u],v=c[f];d<v?h[u]=f:v<d?h[f]=u:(h[f]=u,++c[u])}}},1682:function(i){"use strict";function a(l,u){for(var f=1,c=l.length,h=l[0],d=l[0],v=1;v<c;++v)if(d=h,h=l[v],u(h,d)){if(v===f){f++;continue}l[f++]=h}return l.length=f,l}function o(l){for(var u=1,f=l.length,c=l[0],h=l[0],d=1;d<f;++d,h=c)if(h=c,c=l[d],c!==h){if(d===u){u++;continue}l[u++]=c}return l.length=u,l}function s(l,u,f){return l.length===0?l:u?(f||l.sort(u),a(l,u)):(f||l.sort(),o(l))}i.exports=s},4359:function(i,a,o){"use strict";i.exports=f;var s=o(7718),l=null,u=null;typeof document<"u"&&(l=document.createElement("canvas"),l.width=8192,l.height=1024,u=l.getContext("2d"));function f(c,h){return(typeof h!="object"||h===null)&&(h={}),s(c,h.canvas||l,h.context||u,h)}},7718:function(i,a,o){i.exports=C,i.exports.processPixels=E;var s=o(3711),l=o(9618),u=o(5878),f=o(332),c=o(2538),h=o(2095),d="b",v="b|",m="i",b="i|",g="sup",_="+",T="+1",w="sub",k="-",x="-1";function M(L,R,I,P){for(var D="<"+L+">",q="</"+L+">",N=D.length,U=q.length,G=R[0]===_||R[0]===k,ee=0,Q=-U;ee>-1&&(ee=I.indexOf(D,ee),!(ee===-1||(Q=I.indexOf(q,ee+N),Q===-1)||Q<=ee));){for(var j=ee;j<Q+U;++j)if(j<ee+N||j>=Q)P[j]=null,I=I.substr(0,j)+" "+I.substr(j+1);else if(P[j]!==null){var O=P[j].indexOf(R[0]);O===-1?P[j]+=R:G&&(P[j]=P[j].substr(0,O+1)+(1+parseInt(P[j][O+1]))+P[j].substr(O+2))}var Z=ee+N,K=I.substr(Z,Q-Z),$=K.indexOf(D);$!==-1?ee=$:ee=Q+U}return P}function A(L,R,I){for(var P=R.textAlign||"start",D=R.textBaseline||"alphabetic",q=[1<<30,1<<30],N=[0,0],U=L.length,G=0;G<U;++G)for(var ee=L[G],Q=0;Q<2;++Q)q[Q]=Math.min(q[Q],ee[Q])|0,N[Q]=Math.max(N[Q],ee[Q])|0;var j=0;switch(P){case"center":j=-.5*(q[0]+N[0]);break;case"right":case"end":j=-N[0];break;case"left":case"start":j=-q[0];break;default:throw new Error("vectorize-text: Unrecognized textAlign: '"+P+"'")}var O=0;switch(D){case"hanging":case"top":O=-q[1];break;case"middle":O=-.5*(q[1]+N[1]);break;case"alphabetic":case"ideographic":O=-3*I;break;case"bottom":O=-N[1];break;default:throw new Error("vectorize-text: Unrecoginized textBaseline: '"+D+"'")}var Z=1/I;return"lineHeight"in R?Z*=+R.lineHeight:"width"in R?Z=R.width/(N[0]-q[0]):"height"in R&&(Z=R.height/(N[1]-q[1])),L.map(function(K){return[Z*(K[0]+j),Z*(K[1]+O)]})}function p(L,R,I,P,D,q){I=I.replace(/\n/g,""),q.breaklines===!0?I=I.replace(/\<br\>/g,`
|
|
`):I=I.replace(/\<br\>/g," ");var N="",U=[];for(V=0;V<I.length;++V)U[V]=N;q.bolds===!0&&(U=M(d,v,I,U)),q.italics===!0&&(U=M(m,b,I,U)),q.superscripts===!0&&(U=M(g,T,I,U)),q.subscripts===!0&&(U=M(w,x,I,U));var G=[],ee="";for(V=0;V<I.length;++V)U[V]!==null&&(ee+=I[V],G.push(U[V]));var Q=ee.split(`
|
|
`),j=Q.length,O=Math.round(D*P),Z=P,K=P*2,$=0,oe=j*O+K;L.height<oe&&(L.height=oe),R.fillStyle="#000",R.fillRect(0,0,L.width,L.height),R.fillStyle="#fff";var te,V,ne,W,fe,ge=0,Ce="";function Ne(){if(Ce!==""){var ce=R.measureText(Ce).width;R.fillText(Ce,Z+ne,K+W),ne+=ce}}function pe(){return""+Math.round(fe)+"px "}function me(ce,Ee){var Ae=""+R.font;if(q.subscripts===!0){var Pe=ce.indexOf(k),He=Ee.indexOf(k),Fe=Pe>-1?parseInt(ce[1+Pe]):0,ke=He>-1?parseInt(Ee[1+He]):0;Fe!==ke&&(Ae=Ae.replace(pe(),"?px "),fe*=Math.pow(.75,ke-Fe),Ae=Ae.replace("?px ",pe())),W+=.25*O*(ke-Fe)}if(q.superscripts===!0){var Ue=ce.indexOf(_),Ge=Ee.indexOf(_),lt=Ue>-1?parseInt(ce[1+Ue]):0,it=Ge>-1?parseInt(Ee[1+Ge]):0;lt!==it&&(Ae=Ae.replace(pe(),"?px "),fe*=Math.pow(.75,it-lt),Ae=Ae.replace("?px ",pe())),W-=.25*O*(it-lt)}if(q.bolds===!0){var wt=ce.indexOf(v)>-1,_t=Ee.indexOf(v)>-1;!wt&&_t&&(Tt?Ae=Ae.replace("italic ","italic bold "):Ae="bold "+Ae),wt&&!_t&&(Ae=Ae.replace("bold ",""))}if(q.italics===!0){var Tt=ce.indexOf(b)>-1,nt=Ee.indexOf(b)>-1;!Tt&&nt&&(Ae="italic "+Ae),Tt&&!nt&&(Ae=Ae.replace("italic ",""))}R.font=Ae}for(te=0;te<j;++te){var Ie=Q[te]+`
|
|
`;for(ne=0,W=te*O,fe=P,Ce="",V=0;V<Ie.length;++V){var Re=V+ge<G.length?G[V+ge]:G[G.length-1];N===Re?Ce+=Ie[V]:(Ne(),Ce=Ie[V],Re!==void 0&&(me(N,Re),N=Re))}Ne(),ge+=Ie.length;var ze=Math.round(ne+2*Z)|0;$<ze&&($=ze)}var Be=$,tt=K+O*j,rt=l(R.getImageData(0,0,Be,tt).data,[tt,Be,4]);return rt.pick(-1,-1,0).transpose(1,0)}function S(L,R){var I=s(L,128);return R?u(I.cells,I.positions,.25):{edges:I.cells,positions:I.positions}}function y(L,R,I,P){var D=S(L,P),q=A(D.positions,R,I),N=D.edges,U=R.orientation==="ccw";if(f(q,N),R.polygons||R.polygon||R.polyline){for(var G=h(N,q),ee=new Array(G.length),Q=0;Q<G.length;++Q){for(var j=G[Q],O=new Array(j.length),Z=0;Z<j.length;++Z){for(var K=j[Z],$=new Array(K.length),oe=0;oe<K.length;++oe)$[oe]=q[K[oe]].slice();U&&$.reverse(),O[Z]=$}ee[Q]=O}return ee}else return R.triangles||R.triangulate||R.triangle?{cells:c(q,N,{delaunay:!1,exterior:!1,interior:!0}),positions:q}:{edges:N,positions:q}}function E(L,R,I){try{return y(L,R,I,!0)}catch{}try{return y(L,R,I,!1)}catch{}return R.polygons||R.polyline||R.polygon?[]:R.triangles||R.triangulate||R.triangle?{cells:[],positions:[]}:{edges:[],positions:[]}}function C(L,R,I,P){var D=64,q=1.25,N={breaklines:!1,bolds:!1,italics:!1,subscripts:!1,superscripts:!1};P&&(P.size&&P.size>0&&(D=P.size),P.lineSpacing&&P.lineSpacing>0&&(q=P.lineSpacing),P.styletags&&P.styletags.breaklines&&(N.breaklines=!!P.styletags.breaklines),P.styletags&&P.styletags.bolds&&(N.bolds=!!P.styletags.bolds),P.styletags&&P.styletags.italics&&(N.italics=!!P.styletags.italics),P.styletags&&P.styletags.subscripts&&(N.subscripts=!!P.styletags.subscripts),P.styletags&&P.styletags.superscripts&&(N.superscripts=!!P.styletags.superscripts)),I.font=[P.fontStyle,P.fontVariant,P.fontWeight,D+"px",P.font].filter(function(G){return G}).join(" "),I.textAlign="start",I.textBaseline="alphabetic",I.direction="ltr";var U=p(R,I,L,D,q,N);return E(U,P,D)}},1538:function(i){(function(){"use strict";if(typeof ses<"u"&&ses.ok&&!ses.ok())return;function o(y){y.permitHostObjects___&&y.permitHostObjects___(o)}typeof ses<"u"&&(ses.weakMapPermitHostObjects=o);var s=!1;if(typeof WeakMap=="function"){var l=WeakMap;if(!(typeof navigator<"u"&&/Firefox/.test(navigator.userAgent))){var u=new l,f=Object.freeze({});if(u.set(f,1),u.get(f)!==1)s=!0;else{i.exports=WeakMap;return}}}var c=Object.prototype.hasOwnProperty,h=Object.getOwnPropertyNames,d=Object.defineProperty,v=Object.isExtensible,m="weakmap:",b=m+"ident:"+Math.random()+"___";if(typeof crypto<"u"&&typeof crypto.getRandomValues=="function"&&typeof ArrayBuffer=="function"&&typeof Uint8Array=="function"){var g=new ArrayBuffer(25),_=new Uint8Array(g);crypto.getRandomValues(_),b=m+"rand:"+Array.prototype.map.call(_,function(y){return(y%36).toString(36)}).join("")+"___"}function T(y){return!(y.substr(0,m.length)==m&&y.substr(y.length-3)==="___")}if(d(Object,"getOwnPropertyNames",{value:function(E){return h(E).filter(T)}}),"getPropertyNames"in Object){var w=Object.getPropertyNames;d(Object,"getPropertyNames",{value:function(E){return w(E).filter(T)}})}function k(y){if(y!==Object(y))throw new TypeError("Not an object: "+y);var E=y[b];if(E&&E.key===y)return E;if(v(y)){E={key:y};try{return d(y,b,{value:E,writable:!1,enumerable:!1,configurable:!1}),E}catch{return}}}(function(){var y=Object.freeze;d(Object,"freeze",{value:function(R){return k(R),y(R)}});var E=Object.seal;d(Object,"seal",{value:function(R){return k(R),E(R)}});var C=Object.preventExtensions;d(Object,"preventExtensions",{value:function(R){return k(R),C(R)}})})();function x(y){return y.prototype=null,Object.freeze(y)}var M=!1;function A(){!M&&typeof console<"u"&&(M=!0,console.warn("WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future."))}var p=0,S=function(){this instanceof S||A();var y=[],E=[],C=p++;function L(D,q){var N,U=k(D);return U?C in U?U[C]:q:(N=y.indexOf(D),N>=0?E[N]:q)}function R(D){var q=k(D);return q?C in q:y.indexOf(D)>=0}function I(D,q){var N,U=k(D);return U?U[C]=q:(N=y.indexOf(D),N>=0?E[N]=q:(N=y.length,E[N]=q,y[N]=D)),this}function P(D){var q=k(D),N,U;return q?C in q&&delete q[C]:(N=y.indexOf(D),N<0?!1:(U=y.length-1,y[N]=void 0,E[N]=E[U],y[N]=y[U],y.length=U,E.length=U,!0))}return Object.create(S.prototype,{get___:{value:x(L)},has___:{value:x(R)},set___:{value:x(I)},delete___:{value:x(P)}})};S.prototype=Object.create(Object.prototype,{get:{value:function(E,C){return this.get___(E,C)},writable:!0,configurable:!0},has:{value:function(E){return this.has___(E)},writable:!0,configurable:!0},set:{value:function(E,C){return this.set___(E,C)},writable:!0,configurable:!0},delete:{value:function(E){return this.delete___(E)},writable:!0,configurable:!0}}),typeof l=="function"?function(){s&&typeof Proxy<"u"&&(Proxy=void 0);function y(){this instanceof S||A();var E=new l,C=void 0,L=!1;function R(q,N){return C?E.has(q)?E.get(q):C.get___(q,N):E.get(q,N)}function I(q){return E.has(q)||(C?C.has___(q):!1)}var P;s?P=function(q,N){return E.set(q,N),E.has(q)||(C||(C=new S),C.set(q,N)),this}:P=function(q,N){if(L)try{E.set(q,N)}catch{C||(C=new S),C.set___(q,N)}else E.set(q,N);return this};function D(q){var N=!!E.delete(q);return C&&C.delete___(q)||N}return Object.create(S.prototype,{get___:{value:x(R)},has___:{value:x(I)},set___:{value:x(P)},delete___:{value:x(D)},permitHostObjects___:{value:x(function(q){if(q===o)L=!0;else throw new Error("bogus call to permitHostObjects___")})}})}y.prototype=S.prototype,i.exports=y,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(typeof Proxy<"u"&&(Proxy=void 0),i.exports=S)})()},236:function(i,a,o){var s=o(8284);i.exports=l;function l(){var u={};return function(f){if((typeof f!="object"||f===null)&&typeof f!="function")throw new Error("Weakmap-shim: Key must be object");var c=f.valueOf(u);return c&&c.identity===u?c:s(f,u)}}},8284:function(i){i.exports=a;function a(o,s){var l={identity:s},u=o.valueOf;return Object.defineProperty(o,"valueOf",{value:function(f){return f!==s?u.apply(this,arguments):l},writable:!0}),l}},606:function(i,a,o){var s=o(236);i.exports=l;function l(){var u=s();return{get:function(f,c){var h=u(f);return h.hasOwnProperty("value")?h.value:c},set:function(f,c){return u(f).value=c,this},has:function(f){return"value"in u(f)},delete:function(f){return delete u(f).value}}}},3349:function(i){"use strict";function a(){return function(c,h,d,v,m,b){var g=c[0],_=d[0],T=[0],w=_;v|=0;var k=0,x=_;for(k=0;k<g;++k){{var M=h[v]-b,A=h[v+w]-b;M>=0!=A>=0&&m.push(T[0]+.5+.5*(M+A)/(M-A))}v+=x,++T[0]}}}function o(){return a()}var s=o;function l(c){var h={};return function(v,m,b){var g=v.dtype,_=v.order,T=[g,_.join()].join(),w=h[T];return w||(h[T]=w=c([g,_])),w(v.shape.slice(0),v.data,v.stride,v.offset|0,m,b)}}function u(c){return l(s.bind(void 0,c))}function f(c){return u({funcName:c.funcName})}i.exports=f({funcName:"zeroCrossings"})},781:function(i,a,o){"use strict";i.exports=l;var s=o(3349);function l(u,f){var c=[];return f=+f||0,s(u.hi(u.shape[0]-1),c,f),c}},7790:function(){}},t={};function r(i){var a=t[i];if(a!==void 0)return a.exports;var o=t[i]={id:i,loaded:!1,exports:{}};return e[i].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}(function(){r.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}()})(),function(){r.nmd=function(i){return i.paths=[],i.children||(i.children=[]),i}}();var n=r(1964);dxe.exports=n})()});var gxe=J((gOt,pxe)=>{"use strict";pxe.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var yxe=J((mOt,mxe)=>{"use strict";var Tgt=Object.prototype.toString;mxe.exports=function(e){var t;return Tgt.call(e)==="[object Object]"&&(t=Object.getPrototypeOf(e),t===null||t===Object.getPrototypeOf({}))}});var bxe=J((yOt,xxe)=>{"use strict";xxe.exports=function(){for(var t=0;t<arguments.length;t++)if(typeof arguments[t]<"u")return arguments[t]}});var Axe=J((xOt,Txe)=>{"use strict";var wxe=gxe(),Agt=yxe(),om=bxe();Txe.exports=Mgt;var _xe={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};function Mgt(e){var t,r=[],n=1,i;if(typeof e=="string")if(wxe[e])r=wxe[e].slice(),i="rgb";else if(e==="transparent")n=0,i="rgb",r=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(e)){var a=e.slice(1),o=a.length,s=o<=4;n=1,s?(r=[parseInt(a[0]+a[0],16),parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16)],o===4&&(n=parseInt(a[3]+a[3],16)/255)):(r=[parseInt(a[0]+a[1],16),parseInt(a[2]+a[3],16),parseInt(a[4]+a[5],16)],o===8&&(n=parseInt(a[6]+a[7],16)/255)),r[0]||(r[0]=0),r[1]||(r[1]=0),r[2]||(r[2]=0),i="rgb"}else if(t=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(e)){var l=t[1],u=l==="rgb",a=l.replace(/a$/,"");i=a;var o=a==="cmyk"?4:a==="gray"?1:3;r=t[2].trim().split(/\s*,\s*/).map(function(d,v){if(/%$/.test(d))return v===o?parseFloat(d)/100:a==="rgb"?parseFloat(d)*255/100:parseFloat(d);if(a[v]==="h"){if(/deg$/.test(d))return parseFloat(d);if(_xe[d]!==void 0)return _xe[d]}return parseFloat(d)}),l===a&&r.push(1),n=u||r[o]===void 0?1:r[o],r=r.slice(0,o)}else e.length>10&&/[0-9](?:\s|\/)/.test(e)&&(r=e.match(/([0-9]+)/g).map(function(c){return parseFloat(c)}),i=e.match(/([a-z])/ig).join("").toLowerCase());else if(!isNaN(e))i="rgb",r=[e>>>16,(e&65280)>>>8,e&255];else if(Agt(e)){var f=om(e.r,e.red,e.R,null);f!==null?(i="rgb",r=[f,om(e.g,e.green,e.G),om(e.b,e.blue,e.B)]):(i="hsl",r=[om(e.h,e.hue,e.H),om(e.s,e.saturation,e.S),om(e.l,e.lightness,e.L,e.b,e.brightness)]),n=om(e.a,e.alpha,e.opacity,1),e.opacity!=null&&(n/=100)}else(Array.isArray(e)||global.ArrayBuffer&&ArrayBuffer.isView&&ArrayBuffer.isView(e))&&(r=[e[0],e[1],e[2]],i="rgb",n=e.length===4?e[3]:1);return{space:i,values:r,alpha:n}}});var kxe=J((bOt,Mxe)=>{"use strict";Mxe.exports={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}});var Cxe=J((wOt,Sxe)=>{"use strict";var kgt=kxe();Sxe.exports={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(e){var t=e[0]/360,r=e[1]/100,n=e[2]/100,i,a,o,s,l;if(r===0)return l=n*255,[l,l,l];n<.5?a=n*(1+r):a=n+r-n*r,i=2*n-a,s=[0,0,0];for(var u=0;u<3;u++)o=t+1/3*-(u-1),o<0?o++:o>1&&o--,6*o<1?l=i+(a-i)*6*o:2*o<1?l=a:3*o<2?l=i+(a-i)*(2/3-o)*6:l=i,s[u]=l*255;return s}};kgt.hsl=function(e){var t=e[0]/255,r=e[1]/255,n=e[2]/255,i=Math.min(t,r,n),a=Math.max(t,r,n),o=a-i,s,l,u;return a===i?s=0:t===a?s=(r-n)/o:r===a?s=2+(n-t)/o:n===a&&(s=4+(t-r)/o),s=Math.min(s*60,360),s<0&&(s+=360),u=(i+a)/2,a===i?l=0:u<=.5?l=o/(a+i):l=o/(2-a-i),[s,l*100,u*100]}});var i7=J((_Ot,Exe)=>{Exe.exports=Sgt;function Sgt(e,t,r){return t<r?e<t?t:e>r?r:e:e<r?r:e>t?t:e}});var Dxe=J((TOt,Lxe)=>{"use strict";var Cgt=Axe(),Egt=Cxe(),g5=i7();Lxe.exports=function(t){var r,n,i,a=Cgt(t);return a.space?(r=Array(3),r[0]=g5(a.values[0],0,255),r[1]=g5(a.values[1],0,255),r[2]=g5(a.values[2],0,255),a.space[0]==="h"&&(r=Egt.rgb(r)),r.push(g5(a.alpha,0,1)),r):[]}});var Pxe=J((AOt,Rxe)=>{Rxe.exports=function(e){switch(e){case"int8":return Int8Array;case"int16":return Int16Array;case"int32":return Int32Array;case"uint8":return Uint8Array;case"uint16":return Uint16Array;case"uint32":return Uint32Array;case"float32":return Float32Array;case"float64":return Float64Array;case"array":return Array;case"uint8_clamped":return Uint8ClampedArray}}});var a7=J((MOt,Ixe)=>{"use strict";var Lgt=Dxe(),m5=i7(),Dgt=Pxe();Ixe.exports=function(t,r){(r==="float"||!r)&&(r="array"),r==="uint"&&(r="uint8"),r==="uint_clamped"&&(r="uint8_clamped");var n=Dgt(r),i=new n(4),a=r!=="uint8"&&r!=="uint8_clamped";return(!t.length||typeof t=="string")&&(t=Lgt(t),t[0]/=255,t[1]/=255,t[2]/=255),Rgt(t)?(i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=t[3]!=null?t[3]:255,a&&(i[0]/=255,i[1]/=255,i[2]/=255,i[3]/=255),i):(a?(i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=t[3]!=null?t[3]:1):(i[0]=m5(Math.floor(t[0]*255),0,255),i[1]=m5(Math.floor(t[1]*255),0,255),i[2]=m5(Math.floor(t[2]*255),0,255),i[3]=t[3]==null?255:m5(Math.floor(t[3]*255),0,255)),i)};function Rgt(e){return!!(e instanceof Uint8Array||e instanceof Uint8ClampedArray||Array.isArray(e)&&(e[0]>1||e[0]===0)&&(e[1]>1||e[1]===0)&&(e[2]>1||e[2]===0)&&(!e[3]||e[3]>1))}});var Ac=J((kOt,qxe)=>{"use strict";var Pgt=a7();function Igt(e){return e?Pgt(e):[0,0,0,1]}qxe.exports=Igt});var Z0=J((SOt,Hxe)=>{"use strict";var Bxe=dn(),qgt=ls(),y5=a7(),x5=Qa(),Fgt=Ho().defaultLine,Fxe=fl().isArrayOrTypedArray,o7=y5(Fgt),Uxe=1;function zxe(e,t){var r=e;return r[3]*=t,r}function Nxe(e){if(Bxe(e))return o7;var t=y5(e);return t.length?t:o7}function Oxe(e){return Bxe(e)?e:Uxe}function zgt(e,t,r){var n=e.color;n&&n._inputArray&&(n=n._inputArray);var i=Fxe(n),a=Fxe(t),o=x5.extractOpts(e),s=[],l,u,f,c,h;if(o.colorscale!==void 0?l=x5.makeColorScaleFuncFromTrace(e):l=Nxe,i?u=function(v,m){return v[m]===void 0?o7:y5(l(v[m]))}:u=Nxe,a?f=function(v,m){return v[m]===void 0?Uxe:Oxe(v[m])}:f=Oxe,i||a)for(var d=0;d<r;d++)c=u(n,d),h=f(t,d),s[d]=zxe(c,h);else s=zxe(y5(n),t);return s}function Ngt(e){var t=x5.extractOpts(e),r=t.colorscale;return t.reversescale&&(r=x5.flipScale(t.colorscale)),r.map(function(n){var i=n[0],a=qgt(n[1]),o=a.toRgb();return{index:i,rgb:[o.r,o.g,o.b,o.a]}})}Hxe.exports={formatColor:zgt,parseColorScale:Ngt}});var s7=J((COt,jxe)=>{"use strict";jxe.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}});var b5=J((EOt,Vxe)=>{"use strict";Vxe.exports={circle:"\u25CF","circle-open":"\u25CB",square:"\u25A0","square-open":"\u25A1",diamond:"\u25C6","diamond-open":"\u25C7",cross:"+",x:"\u274C"}});var Gxe=J((LOt,Yxe)=>{"use strict";var Ogt=zr();function l7(e,t,r,n){if(!t||!t.visible)return null;for(var i=Ogt.getComponentMethod("errorbars","makeComputeError")(t),a=new Array(e.length),o=0;o<e.length;o++){var s=i(+e[o],o);if(n.type==="log"){var l=n.c2l(e[o]),u=e[o]-s[0],f=e[o]+s[1];if(a[o]=[(n.c2l(u,!0)-l)*r,(n.c2l(f,!0)-l)*r],u>0){var c=n.c2l(u);n._lowerLogErrorBound||(n._lowerLogErrorBound=c),n._lowerErrorBound=Math.min(n._lowerLogErrorBound,c)}}else a[o]=[-s[0]*r,s[1]*r]}return a}function Bgt(e){for(var t=0;t<e.length;t++)if(e[t])return e[t].length;return 0}function Ugt(e,t,r){var n=[l7(e.x,e.error_x,t[0],r.xaxis),l7(e.y,e.error_y,t[1],r.yaxis),l7(e.z,e.error_z,t[2],r.zaxis)],i=Bgt(n);if(i===0)return null;for(var a=new Array(i),o=0;o<i;o++){for(var s=[[0,0,0],[0,0,0]],l=0;l<3;l++)if(n[l])for(var u=0;u<2;u++)s[u][l]=n[l][o][u];a[o]=s}return a}Yxe.exports=Ugt});var tbe=J((DOt,ebe)=>{"use strict";var Hgt=ao().gl_line3d,Wxe=ao().gl_scatter3d,jgt=ao().gl_error3d,Vgt=ao().gl_mesh3d,Ygt=ao().delaunay_triangulate,bd=gt(),Kxe=Ac(),w5=Z0().formatColor,Ggt=kL(),u7=s7(),Wgt=b5(),Xgt=nn(),Zgt=Qf().appendArrayPointValue,Jgt=Gxe();function Qxe(e,t){this.scene=e,this.uid=t,this.linePlot=null,this.scatterPlot=null,this.errorBars=null,this.textMarkers=null,this.delaunayMesh=null,this.color=null,this.mode="",this.dataPoints=[],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.textLabels=null,this.data=null}var c7=Qxe.prototype;c7.handlePick=function(e){if(e.object&&(e.object===this.linePlot||e.object===this.delaunayMesh||e.object===this.textMarkers||e.object===this.scatterPlot)){var t=e.index=e.data.index;return e.object.highlight&&e.object.highlight(null),this.scatterPlot&&(e.object=this.scatterPlot,this.scatterPlot.highlight(e.data)),e.textLabel="",this.textLabels&&(bd.isArrayOrTypedArray(this.textLabels)?(this.textLabels[t]||this.textLabels[t]===0)&&(e.textLabel=this.textLabels[t]):e.textLabel=this.textLabels),e.traceCoordinate=[this.data.x[t],this.data.y[t],this.data.z[t]],!0}};function $gt(e,t,r){var n=(r+1)%3,i=(r+2)%3,a=[],o=[],s;for(s=0;s<e.length;++s){var l=e[s];isNaN(l[n])||!isFinite(l[n])||isNaN(l[i])||!isFinite(l[i])||(a.push([l[n],l[i]]),o.push(s))}var u=Ygt(a);for(s=0;s<u.length;++s)for(var f=u[s],c=0;c<f.length;++c)f[c]=o[f[c]];return{positions:e,cells:u,meshColor:t}}function Kgt(e){for(var t=[0,0,0],r=[[0,0,0],[0,0,0],[0,0,0]],n=[1,1,1],i=0;i<3;i++){var a=e[i];a&&a.copy_zstyle!==!1&&e[2].visible!==!1&&(a=e[2]),!(!a||!a.visible)&&(t[i]=a.width/2,r[i]=Kxe(a.color),n[i]=a.thickness)}return{capSize:t,color:r,lineWidth:n}}function Xxe(e){return e==null?0:e.indexOf("left")>-1?-1:e.indexOf("right")>-1?1:0}function Zxe(e){return e==null?0:e.indexOf("top")>-1?-1:e.indexOf("bottom")>-1?1:0}function Qgt(e){var t=0,r=0,n=[t,r];if(Array.isArray(e))for(var i=0;i<e.length;i++)n[i]=[t,r],e[i]&&(n[i][0]=Xxe(e[i]),n[i][1]=Zxe(e[i]));else n[0]=Xxe(e),n[1]=Zxe(e);return n}function emt(e,t){return t(e*4)}function tmt(e){return Wgt[e]}function f7(e,t,r,n,i){var a=null;if(bd.isArrayOrTypedArray(e)){a=[];for(var o=0;o<t;o++)e[o]===void 0?a[o]=n:a[o]=r(e[o],i)}else a=r(e,bd.identity);return a}function rmt(e,t){var r=[],n=e.fullSceneLayout,i=e.dataScale,a=n.xaxis,o=n.yaxis,s=n.zaxis,l=t.marker,u=t.line,f=t.x||[],c=t.y||[],h=t.z||[],d=f.length,v=t.xcalendar,m=t.ycalendar,b=t.zcalendar,g,_,T,w,k,x;for(k=0;k<d;k++)g=a.d2l(f[k],0,v)*i[0],_=o.d2l(c[k],0,m)*i[1],T=s.d2l(h[k],0,b)*i[2],r[k]=[g,_,T];if(Array.isArray(t.text))x=t.text;else if(bd.isTypedArray(t.text))x=Array.from(t.text);else if(t.text!==void 0)for(x=new Array(d),k=0;k<d;k++)x[k]=t.text;function M(G,ee){var Q=n[G];return Xgt.tickText(Q,Q.d2l(ee),!0).text}var A=t.texttemplate;if(A){var p=e.fullLayout,S=p._d3locale,y=Array.isArray(A),E=y?Math.min(A.length,d):d,C=y?function(G){return A[G]}:function(){return A};for(x=new Array(E),k=0;k<E;k++){var L={x:f[k],y:c[k],z:h[k]},R={xLabel:M("xaxis",f[k]),yLabel:M("yaxis",c[k]),zLabel:M("zaxis",h[k])},I={};Zgt(I,t,k);var P=t._meta||{};x[k]=bd.texttemplateString(C(k),R,S,I,L,P)}}if(w={position:r,mode:t.mode,text:x},"line"in t&&(w.lineColor=w5(u,1,d),w.lineWidth=u.width,w.lineDashes=u.dash),"marker"in t){var D=Ggt(t);w.scatterColor=w5(l,1,d),w.scatterSize=f7(l.size,d,emt,20,D),w.scatterMarker=f7(l.symbol,d,tmt,"\u25CF"),w.scatterLineWidth=l.line.width,w.scatterLineColor=w5(l.line,1,d),w.scatterAngle=0}"textposition"in t&&(w.textOffset=Qgt(t.textposition),w.textColor=w5(t.textfont,1,d),w.textSize=f7(t.textfont.size,d,bd.identity,12),w.textFontFamily=t.textfont.family,w.textFontWeight=t.textfont.weight,w.textFontStyle=t.textfont.style,w.textFontVariant=t.textfont.variant,w.textAngle=0);var q=["x","y","z"];for(w.project=[!1,!1,!1],w.projectScale=[1,1,1],w.projectOpacity=[1,1,1],k=0;k<3;++k){var N=t.projection[q[k]];(w.project[k]=N.show)&&(w.projectOpacity[k]=N.opacity,w.projectScale[k]=N.scale)}w.errorBounds=Jgt(t,i,n);var U=Kgt([t.error_x,t.error_y,t.error_z]);return w.errorColor=U.color,w.errorLineWidth=U.lineWidth,w.errorCapSize=U.capSize,w.delaunayAxis=t.surfaceaxis,w.delaunayColor=Kxe(t.surfacecolor),w}function Jxe(e){if(bd.isArrayOrTypedArray(e)){var t=e[0];return bd.isArrayOrTypedArray(t)&&(e=t),"rgb("+e.slice(0,3).map(function(r){return Math.round(r*255)})+")"}return null}function $xe(e){return bd.isArrayOrTypedArray(e)?e.length===4&&typeof e[0]=="number"?Jxe(e):e.map(Jxe):null}c7.update=function(e){var t=this.scene.glplot.gl,r,n,i,a,o=u7.solid;this.data=e;var s=rmt(this.scene,e);"mode"in s&&(this.mode=s.mode),"lineDashes"in s&&s.lineDashes in u7&&(o=u7[s.lineDashes]),this.color=$xe(s.scatterColor)||$xe(s.lineColor),this.dataPoints=s.position,r={gl:this.scene.glplot.gl,position:s.position,color:s.lineColor,lineWidth:s.lineWidth||1,dashes:o[0],dashScale:o[1],opacity:e.opacity,connectGaps:e.connectgaps},this.mode.indexOf("lines")!==-1?this.linePlot?this.linePlot.update(r):(this.linePlot=Hgt(r),this.linePlot._trace=this,this.scene.glplot.add(this.linePlot)):this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose(),this.linePlot=null);var l=e.opacity;if(e.marker&&e.marker.opacity!==void 0&&(l*=e.marker.opacity),n={gl:this.scene.glplot.gl,position:s.position,color:s.scatterColor,size:s.scatterSize,glyph:s.scatterMarker,opacity:l,orthographic:!0,lineWidth:s.scatterLineWidth,lineColor:s.scatterLineColor,project:s.project,projectScale:s.projectScale,projectOpacity:s.projectOpacity},this.mode.indexOf("markers")!==-1?this.scatterPlot?this.scatterPlot.update(n):(this.scatterPlot=Wxe(n),this.scatterPlot._trace=this,this.scatterPlot.highlightScale=1,this.scene.glplot.add(this.scatterPlot)):this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose(),this.scatterPlot=null),a={gl:this.scene.glplot.gl,position:s.position,glyph:s.text,color:s.textColor,size:s.textSize,angle:s.textAngle,alignment:s.textOffset,font:s.textFontFamily,fontWeight:s.textFontWeight,fontStyle:s.textFontStyle,fontVariant:s.textFontVariant,orthographic:!0,lineWidth:0,project:!1,opacity:e.opacity},this.textLabels=e.hovertext||e.text,this.mode.indexOf("text")!==-1?this.textMarkers?this.textMarkers.update(a):(this.textMarkers=Wxe(a),this.textMarkers._trace=this,this.textMarkers.highlightScale=1,this.scene.glplot.add(this.textMarkers)):this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose(),this.textMarkers=null),i={gl:this.scene.glplot.gl,position:s.position,color:s.errorColor,error:s.errorBounds,lineWidth:s.errorLineWidth,capSize:s.errorCapSize,opacity:e.opacity},this.errorBars?s.errorBounds?this.errorBars.update(i):(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose(),this.errorBars=null):s.errorBounds&&(this.errorBars=jgt(i),this.errorBars._trace=this,this.scene.glplot.add(this.errorBars)),s.delaunayAxis>=0){var u=$gt(s.position,s.delaunayColor,s.delaunayAxis);u.opacity=e.opacity,this.delaunayMesh?this.delaunayMesh.update(u):(u.gl=t,this.delaunayMesh=Vgt(u),this.delaunayMesh._trace=this,this.scene.glplot.add(this.delaunayMesh))}else this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose(),this.delaunayMesh=null)};c7.dispose=function(){this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose()),this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose()),this.errorBars&&(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose()),this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose()),this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose())};function nmt(e,t){var r=new Qxe(e,t.uid);return r.update(t),r}ebe.exports=nmt});var g7=J((ROt,ibe)=>{"use strict";var wd=ds(),imt=xa(),p7=Da(),h7=Ga().axisHoverFormat,amt=Jn().hovertemplateAttrs,omt=Jn().texttemplateAttrs,rbe=Qi(),smt=s7(),lmt=b5(),xh=cn().extendFlat,umt=La().overrideAll,nbe=Vb(),fmt=wd.line,sm=wd.marker,cmt=sm.line,hmt=xh({width:fmt.width,dash:{valType:"enumerated",values:nbe(smt),dflt:"solid",description:"Sets the dash style of the lines."}},p7("line"));function v7(e){return{show:{valType:"boolean",dflt:!1,description:["Sets whether or not projections are shown along the",e,"axis."].join(" ")},opacity:{valType:"number",min:0,max:1,dflt:1,description:"Sets the projection color."},scale:{valType:"number",min:0,max:10,dflt:2/3,description:["Sets the scale factor determining the size of the","projection marker points."].join(" ")}}}var d7=ibe.exports=umt({x:wd.x,y:wd.y,z:{valType:"data_array",description:"Sets the z coordinates."},text:xh({},wd.text,{description:["Sets text elements associated with each (x,y,z) triplet.","If a single string, the same string appears over","all the data points.","If an array of string, the items are mapped in order to the","this trace's (x,y,z) coordinates.","If trace `hoverinfo` contains a *text* flag and *hovertext* is not set,","these elements will be seen in the hover labels."].join(" ")}),texttemplate:omt({},{}),hovertext:xh({},wd.hovertext,{description:["Sets text elements associated with each (x,y,z) triplet.","If a single string, the same string appears over","all the data points.","If an array of string, the items are mapped in order to the","this trace's (x,y,z) coordinates.","To be seen, trace `hoverinfo` must contain a *text* flag."].join(" ")}),hovertemplate:amt(),xhoverformat:h7("x"),yhoverformat:h7("y"),zhoverformat:h7("z"),mode:xh({},wd.mode,{dflt:"lines+markers"}),surfaceaxis:{valType:"enumerated",values:[-1,0,1,2],dflt:-1,description:["If *-1*, the scatter points are not fill with a surface","If *0*, *1*, *2*, the scatter points are filled with","a Delaunay surface about the x, y, z respectively."].join(" ")},surfacecolor:{valType:"color",description:"Sets the surface fill color."},projection:{x:v7("x"),y:v7("y"),z:v7("z")},connectgaps:wd.connectgaps,line:hmt,marker:xh({symbol:{valType:"enumerated",values:nbe(lmt),dflt:"circle",arrayOk:!0,description:"Sets the marker symbol type."},size:xh({},sm.size,{dflt:8}),sizeref:sm.sizeref,sizemin:sm.sizemin,sizemode:sm.sizemode,opacity:xh({},sm.opacity,{arrayOk:!1,description:["Sets the marker opacity.","Note that the marker opacity for scatter3d traces","must be a scalar value for performance reasons.","To set a blending opacity value","(i.e. which is not transparent), set *marker.color*","to an rgba color and use its alpha channel."].join(" ")}),colorbar:sm.colorbar,line:xh({width:xh({},cmt.width,{arrayOk:!1})},p7("marker.line"))},p7("marker")),textposition:xh({},wd.textposition,{dflt:"top center"}),textfont:imt({noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,editType:"calc",colorEditType:"style",arrayOk:!0,variantValues:["normal","small-caps"],description:"Sets the text font."}),opacity:rbe.opacity,hoverinfo:xh({},rbe.hoverinfo)},"calc","nested");d7.x.editType=d7.y.editType=d7.z.editType="calc+clearAxisTypes"});var sbe=J((POt,obe)=>{"use strict";var abe=zr(),vmt=gt(),m7=fs(),dmt=bg(),pmt=wg(),gmt=_g(),mmt=g7();obe.exports=function(t,r,n,i){function a(d,v){return vmt.coerce(t,r,mmt,d,v)}var o=ymt(t,r,a,i);if(!o){r.visible=!1;return}a("text"),a("hovertext"),a("hovertemplate"),a("xhoverformat"),a("yhoverformat"),a("zhoverformat"),a("mode"),m7.hasMarkers(r)&&dmt(t,r,n,i,a,{noSelect:!0,noAngle:!0}),m7.hasLines(r)&&(a("connectgaps"),pmt(t,r,n,i,a)),m7.hasText(r)&&(a("texttemplate"),gmt(t,r,i,a,{noSelect:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}));var s=(r.line||{}).color,l=(r.marker||{}).color;a("surfaceaxis")>=0&&a("surfacecolor",s||l);for(var u=["x","y","z"],f=0;f<3;++f){var c="projection."+u[f];a(c+".show")&&(a(c+".opacity"),a(c+".scale"))}var h=abe.getComponentMethod("errorbars","supplyDefaults");h(t,r,s||l||n,{axis:"z"}),h(t,r,s||l||n,{axis:"y",inherit:"z"}),h(t,r,s||l||n,{axis:"x",inherit:"z"})};function ymt(e,t,r,n){var i=0,a=r("x"),o=r("y"),s=r("z"),l=abe.getComponentMethod("calendars","handleTraceDefaults");return l(e,t,["x","y","z"],n),a&&o&&s&&(i=Math.min(a.length,o.length,s.length),t._length=t._xlength=t._ylength=t._zlength=i),i}});var y7=J((IOt,lbe)=>{"use strict";var xmt=nd(),bmt=Ag();lbe.exports=function(t,r){var n=[{x:!1,y:!1,trace:r,t:{}}];return xmt(n,r),bmt(t,r),n}});var fbe=J((qOt,ube)=>{ube.exports=wmt;function wmt(e,t){if(typeof e!="string")throw new TypeError("must specify type string");if(t=t||{},typeof document>"u"&&!t.canvas)return null;var r=t.canvas||document.createElement("canvas");typeof t.width=="number"&&(r.width=t.width),typeof t.height=="number"&&(r.height=t.height);var n=t,i;try{var a=[e];e.indexOf("webgl")===0&&a.push("experimental-"+e);for(var o=0;o<a.length;o++)if(i=r.getContext(a[o],n),i)return i}catch{i=null}return i||null}});var x7=J((FOt,cbe)=>{var _mt=fbe();cbe.exports=function(t){return _mt("webgl",t)}});var b7=J((zOt,vbe)=>{"use strict";var hbe=qr(),Tmt=function(){};vbe.exports=function(t){for(var r in t)typeof t[r]=="function"&&(t[r]=Tmt);t.destroy=function(){t.container.parentNode.removeChild(t.container)};var n=document.createElement("div");n.className="no-webgl",n.style.cursor="pointer",n.style.fontSize="24px",n.style.color=hbe.defaults[0],n.style.position="absolute",n.style.left=n.style.top="0px",n.style.width=n.style.height="100%",n.style["background-color"]=hbe.lightLine,n.style["z-index"]=30;var i=document.createElement("p");return i.textContent="WebGL is not supported by your browser - visit https://get.webgl.org for more info",i.style.position="relative",i.style.top="50%",i.style.left="50%",i.style.height="30%",i.style.width="50%",i.style.margin="-15% 0 0 -25%",n.appendChild(i),t.container.appendChild(n),t.container.style.background="#FFFFFF",t.container.onclick=function(){window.open("https://get.webgl.org")},!1}});var gbe=J((NOt,pbe)=>{"use strict";var lm=Ac(),Amt=gt(),Mmt=["xaxis","yaxis","zaxis"];function dbe(){this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.tickEnable=[!0,!0,!0],this.tickFont=["sans-serif","sans-serif","sans-serif"],this.tickSize=[12,12,12],this.tickFontWeight=["normal","normal","normal","normal"],this.tickFontStyle=["normal","normal","normal","normal"],this.tickFontVariant=["normal","normal","normal","normal"],this.tickAngle=[0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[18,18,18],this.labels=["x","y","z"],this.labelEnable=[!0,!0,!0],this.labelFont=["Open Sans","Open Sans","Open Sans"],this.labelSize=[20,20,20],this.labelFontWeight=["normal","normal","normal","normal"],this.labelFontStyle=["normal","normal","normal","normal"],this.labelFontVariant=["normal","normal","normal","normal"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[30,30,30],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[10,10,10],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!0,!0,!0],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._defaultTickPad=this.tickPad.slice(),this._defaultLabelPad=this.labelPad.slice(),this._defaultLineTickLength=this.lineTickLength.slice()}var kmt=dbe.prototype;kmt.merge=function(e,t){for(var r=this,n=0;n<3;++n){var i=t[Mmt[n]];if(!i.visible){r.tickEnable[n]=!1,r.labelEnable[n]=!1,r.lineEnable[n]=!1,r.lineTickEnable[n]=!1,r.gridEnable[n]=!1,r.zeroEnable[n]=!1,r.backgroundEnable[n]=!1;continue}r.labels[n]=e._meta?Amt.templateString(i.title.text,e._meta):i.title.text,"font"in i.title&&(i.title.font.color&&(r.labelColor[n]=lm(i.title.font.color)),i.title.font.family&&(r.labelFont[n]=i.title.font.family),i.title.font.size&&(r.labelSize[n]=i.title.font.size),i.title.font.weight&&(r.labelFontWeight[n]=i.title.font.weight),i.title.font.style&&(r.labelFontStyle[n]=i.title.font.style),i.title.font.variant&&(r.labelFontVariant[n]=i.title.font.variant)),"showline"in i&&(r.lineEnable[n]=i.showline),"linecolor"in i&&(r.lineColor[n]=lm(i.linecolor)),"linewidth"in i&&(r.lineWidth[n]=i.linewidth),"showgrid"in i&&(r.gridEnable[n]=i.showgrid),"gridcolor"in i&&(r.gridColor[n]=lm(i.gridcolor)),"gridwidth"in i&&(r.gridWidth[n]=i.gridwidth),i.type==="log"?r.zeroEnable[n]=!1:"zeroline"in i&&(r.zeroEnable[n]=i.zeroline),"zerolinecolor"in i&&(r.zeroLineColor[n]=lm(i.zerolinecolor)),"zerolinewidth"in i&&(r.zeroLineWidth[n]=i.zerolinewidth),"ticks"in i&&i.ticks?r.lineTickEnable[n]=!0:r.lineTickEnable[n]=!1,"ticklen"in i&&(r.lineTickLength[n]=r._defaultLineTickLength[n]=i.ticklen),"tickcolor"in i&&(r.lineTickColor[n]=lm(i.tickcolor)),"tickwidth"in i&&(r.lineTickWidth[n]=i.tickwidth),"tickangle"in i&&(r.tickAngle[n]=i.tickangle==="auto"?-3600:Math.PI*-i.tickangle/180),"showticklabels"in i&&(r.tickEnable[n]=i.showticklabels),"tickfont"in i&&(i.tickfont.color&&(r.tickColor[n]=lm(i.tickfont.color)),i.tickfont.family&&(r.tickFont[n]=i.tickfont.family),i.tickfont.size&&(r.tickSize[n]=i.tickfont.size),i.tickfont.weight&&(r.tickFontWeight[n]=i.tickfont.weight),i.tickfont.style&&(r.tickFontStyle[n]=i.tickfont.style),i.tickfont.variant&&(r.tickFontVariant[n]=i.tickfont.variant)),"mirror"in i?["ticks","all","allticks"].indexOf(i.mirror)!==-1?(r.lineTickMirror[n]=!0,r.lineMirror[n]=!0):i.mirror===!0?(r.lineTickMirror[n]=!1,r.lineMirror[n]=!0):(r.lineTickMirror[n]=!1,r.lineMirror[n]=!1):r.lineMirror[n]=!1,"showbackground"in i&&i.showbackground!==!1?(r.backgroundEnable[n]=!0,r.backgroundColor[n]=lm(i.backgroundcolor)):r.backgroundEnable[n]=!1}};function Smt(e,t){var r=new dbe;return r.merge(e,t),r}pbe.exports=Smt});var xbe=J((OOt,ybe)=>{"use strict";var Cmt=Ac(),Emt=["xaxis","yaxis","zaxis"];function mbe(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}var Lmt=mbe.prototype;Lmt.merge=function(e){for(var t=0;t<3;++t){var r=e[Emt[t]];if(!r.visible){this.enabled[t]=!1,this.drawSides[t]=!1;continue}this.enabled[t]=r.showspikes,this.colors[t]=Cmt(r.spikecolor),this.drawSides[t]=r.spikesides,this.lineWidth[t]=r.spikethickness}};function Dmt(e){var t=new mbe;return t.merge(e),t}ybe.exports=Dmt});var _be=J((BOt,wbe)=>{"use strict";wbe.exports=Fmt;var bbe=nn(),Rmt=gt(),Pmt=["xaxis","yaxis","zaxis"],Imt=[0,0,0];function qmt(e){for(var t=new Array(3),r=0;r<3;++r){for(var n=e[r],i=new Array(n.length),a=0;a<n.length;++a)i[a]=n[a].x;t[r]=i}return t}function Fmt(e){for(var t=e.axesOptions,r=e.glplot.axesPixels,n=e.fullSceneLayout,i=[[],[],[]],a=0;a<3;++a){var o=n[Pmt[a]];if(o._length=(r[a].hi-r[a].lo)*r[a].pixelsPerDataUnit/e.dataScale[a],Math.abs(o._length)===1/0||isNaN(o._length))i[a]=[];else{o._input_range=o.range.slice(),o.range[0]=r[a].lo/e.dataScale[a],o.range[1]=r[a].hi/e.dataScale[a],o._m=1/(e.dataScale[a]*r[a].pixelsPerDataUnit),o.range[0]===o.range[1]&&(o.range[0]-=1,o.range[1]+=1);var s=o.tickmode;if(o.tickmode==="auto"){o.tickmode="linear";var l=o.nticks||Rmt.constrain(o._length/40,4,9);bbe.autoTicks(o,Math.abs(o.range[1]-o.range[0])/l)}for(var u=bbe.calcTicks(o,{msUTC:!0}),f=0;f<u.length;++f)u[f].x=u[f].x*e.dataScale[a],o.type==="date"&&(u[f].text=u[f].text.replace(/\<br\>/g," "));i[a]=u,o.tickmode=s}}t.ticks=i;for(var a=0;a<3;++a){Imt[a]=.5*(e.glplot.bounds[0][a]+e.glplot.bounds[1][a]);for(var f=0;f<2;++f)t.bounds[f][a]=e.glplot.bounds[f][a]}e.contourLevels=qmt(i)}});var Ebe=J((UOt,Cbe)=>{"use strict";var Mbe=ao().gl_plot3d,zmt=Mbe.createCamera,Tbe=Mbe.createScene,Nmt=x7(),Omt=d2(),A5=zr(),cu=gt(),T5=cu.preserveDrawingBuffer(),M5=nn(),bh=go(),Bmt=Ac(),Umt=b7(),Hmt=IR(),jmt=gbe(),Vmt=xbe(),Ymt=_be(),Gmt=ec().applyAutorangeOptions,__,_5,kbe=!1;function Sbe(e,t){var r=document.createElement("div"),n=e.container;this.graphDiv=e.graphDiv;var i=document.createElementNS("http://www.w3.org/2000/svg","svg");i.style.position="absolute",i.style.top=i.style.left="0px",i.style.width=i.style.height="100%",i.style["z-index"]=20,i.style["pointer-events"]="none",r.appendChild(i),this.svgContainer=i,r.id=e.id,r.style.position="absolute",r.style.top=r.style.left="0px",r.style.width=r.style.height="100%",n.appendChild(r),this.fullLayout=t,this.id=e.id||"scene",this.fullSceneLayout=t[this.id],this.plotArgs=[[],{},{}],this.axesOptions=jmt(t,t[this.id]),this.spikeOptions=Vmt(t[this.id]),this.container=r,this.staticMode=!!e.staticPlot,this.pixelRatio=this.pixelRatio||e.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=A5.getComponentMethod("annotations3d","convert"),this.drawAnnotations=A5.getComponentMethod("annotations3d","draw"),this.initializeGLPlot()}var wl=Sbe.prototype;wl.prepareOptions=function(){var e=this,t={canvas:e.canvas,gl:e.gl,glOptions:{preserveDrawingBuffer:T5,premultipliedAlpha:!0,antialias:!0},container:e.container,axes:e.axesOptions,spikes:e.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1,cameraObject:e.camera,pixelRatio:e.pixelRatio};if(e.staticMode){if(!_5&&(__=document.createElement("canvas"),_5=Nmt({canvas:__,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}),!_5))throw new Error("error creating static canvas/context for image server");t.gl=_5,t.canvas=__}return t};var Abe=!0;wl.tryCreatePlot=function(){var e=this,t=e.prepareOptions(),r=!0;try{e.glplot=Tbe(t)}catch{if(e.staticMode||!Abe||T5)r=!1;else{cu.warn(["webgl setup failed possibly due to","false preserveDrawingBuffer config.","The mobile/tablet device may not be detected by is-mobile module.","Enabling preserveDrawingBuffer in second attempt to create webgl scene..."].join(" "));try{T5=t.glOptions.preserveDrawingBuffer=!0,e.glplot=Tbe(t)}catch{T5=t.glOptions.preserveDrawingBuffer=!1,r=!1}}}return Abe=!1,r};wl.initializeGLCamera=function(){var e=this,t=e.fullSceneLayout.camera,r=t.projection.type==="orthographic";e.camera=zmt(e.container,{center:[t.center.x,t.center.y,t.center.z],eye:[t.eye.x,t.eye.y,t.eye.z],up:[t.up.x,t.up.y,t.up.z],_ortho:r,zoomMin:.01,zoomMax:100,mode:"orbit"})};wl.initializeGLPlot=function(){var e=this;e.initializeGLCamera();var t=e.tryCreatePlot();if(!t)return Umt(e);e.traces={},e.make4thDimension();var r=e.graphDiv,n=r.layout,i=function(){var o={};return e.isCameraChanged(n)&&(o[e.id+".camera"]=e.getCamera()),e.isAspectChanged(n)&&(o[e.id+".aspectratio"]=e.glplot.getAspectratio(),n[e.id].aspectmode!=="manual"&&(e.fullSceneLayout.aspectmode=n[e.id].aspectmode=o[e.id+".aspectmode"]="manual")),o},a=function(o){if(o.fullSceneLayout.dragmode!==!1){var s=i();o.saveLayout(n),o.graphDiv.emit("plotly_relayout",s)}};return e.glplot.canvas&&(e.glplot.canvas.addEventListener("mouseup",function(){a(e)}),e.glplot.canvas.addEventListener("touchstart",function(){kbe=!0}),e.glplot.canvas.addEventListener("wheel",function(o){if(r._context._scrollZoom.gl3d){if(e.camera._ortho){var s=o.deltaX>o.deltaY?1.1:.9090909090909091,l=e.glplot.getAspectratio();e.glplot.setAspectratio({x:s*l.x,y:s*l.y,z:s*l.z})}a(e)}},Omt?{passive:!1}:!1),e.glplot.canvas.addEventListener("mousemove",function(){if(e.fullSceneLayout.dragmode!==!1&&e.camera.mouseListener.buttons!==0){var o=i();e.graphDiv.emit("plotly_relayouting",o)}}),e.staticMode||e.glplot.canvas.addEventListener("webglcontextlost",function(o){r&&r.emit&&r.emit("plotly_webglcontextlost",{event:o,layer:e.id})},!1)),e.glplot.oncontextloss=function(){e.recoverContext()},e.glplot.onrender=function(){e.render()},!0};wl.render=function(){var e=this,t=e.graphDiv,r,n=e.svgContainer,i=e.container.getBoundingClientRect();t._fullLayout._calcInverseTransform(t);var a=t._fullLayout._invScaleX,o=t._fullLayout._invScaleY,s=i.width*a,l=i.height*o;n.setAttributeNS(null,"viewBox","0 0 "+s+" "+l),n.setAttributeNS(null,"width",s),n.setAttributeNS(null,"height",l),Ymt(e),e.glplot.axes.update(e.axesOptions);for(var u=Object.keys(e.traces),f=null,c=e.glplot.selection,h=0;h<u.length;++h)r=e.traces[u[h]],r.data.hoverinfo!=="skip"&&r.handlePick(c)&&(f=r),r.setContourLevels&&r.setContourLevels();function d(S,y,E){var C=e.fullSceneLayout[S+"axis"];return C.type!=="log"&&(y=C.d2l(y)),M5.hoverLabelText(C,y,E)}if(f!==null){var v=Hmt(e.glplot.cameraParams,c.dataCoordinate);r=f.data;var m=t._fullData[r.index],b=c.index,g={xLabel:d("x",c.traceCoordinate[0],r.xhoverformat),yLabel:d("y",c.traceCoordinate[1],r.yhoverformat),zLabel:d("z",c.traceCoordinate[2],r.zhoverformat)},_=bh.castHoverinfo(m,e.fullLayout,b),T=(_||"").split("+"),w=_&&_==="all";!m.hovertemplate&&!w&&(T.indexOf("x")===-1&&(g.xLabel=void 0),T.indexOf("y")===-1&&(g.yLabel=void 0),T.indexOf("z")===-1&&(g.zLabel=void 0),T.indexOf("text")===-1&&(c.textLabel=void 0),T.indexOf("name")===-1&&(f.name=void 0));var k,x=[];r.type==="cone"||r.type==="streamtube"?(g.uLabel=d("x",c.traceCoordinate[3],r.uhoverformat),(w||T.indexOf("u")!==-1)&&x.push("u: "+g.uLabel),g.vLabel=d("y",c.traceCoordinate[4],r.vhoverformat),(w||T.indexOf("v")!==-1)&&x.push("v: "+g.vLabel),g.wLabel=d("z",c.traceCoordinate[5],r.whoverformat),(w||T.indexOf("w")!==-1)&&x.push("w: "+g.wLabel),g.normLabel=c.traceCoordinate[6].toPrecision(3),(w||T.indexOf("norm")!==-1)&&x.push("norm: "+g.normLabel),r.type==="streamtube"&&(g.divergenceLabel=c.traceCoordinate[7].toPrecision(3),(w||T.indexOf("divergence")!==-1)&&x.push("divergence: "+g.divergenceLabel)),c.textLabel&&x.push(c.textLabel),k=x.join("<br>")):r.type==="isosurface"||r.type==="volume"?(g.valueLabel=M5.hoverLabelText(e._mockAxis,e._mockAxis.d2l(c.traceCoordinate[3]),r.valuehoverformat),x.push("value: "+g.valueLabel),c.textLabel&&x.push(c.textLabel),k=x.join("<br>")):k=c.textLabel;var M={x:c.traceCoordinate[0],y:c.traceCoordinate[1],z:c.traceCoordinate[2],data:m._input,fullData:m,curveNumber:m.index,pointNumber:b};bh.appendArrayPointValue(M,m,b),r._module.eventData&&(M=m._module.eventData(M,c,m,{},b));var A={points:[M]};if(e.fullSceneLayout.hovermode){var p=[];bh.loneHover({trace:m,x:(.5+.5*v[0]/v[3])*s,y:(.5-.5*v[1]/v[3])*l,xLabel:g.xLabel,yLabel:g.yLabel,zLabel:g.zLabel,text:k,name:f.name,color:bh.castHoverOption(m,b,"bgcolor")||f.color,borderColor:bh.castHoverOption(m,b,"bordercolor"),fontFamily:bh.castHoverOption(m,b,"font.family"),fontSize:bh.castHoverOption(m,b,"font.size"),fontColor:bh.castHoverOption(m,b,"font.color"),nameLength:bh.castHoverOption(m,b,"namelength"),textAlign:bh.castHoverOption(m,b,"align"),hovertemplate:cu.castOption(m,b,"hovertemplate"),hovertemplateLabels:cu.extendFlat({},M,g),eventData:[M]},{container:n,gd:t,inOut_bbox:p}),M.bbox=p[0]}c.distance<5&&(c.buttons||kbe)?t.emit("plotly_click",A):t.emit("plotly_hover",A),this.oldEventData=A}else bh.loneUnhover(n),this.oldEventData&&t.emit("plotly_unhover",this.oldEventData),this.oldEventData=void 0;e.drawAnnotations(e)};wl.recoverContext=function(){var e=this;e.glplot.dispose();var t=function(){if(e.glplot.gl.isContextLost()){requestAnimationFrame(t);return}if(!e.initializeGLPlot()){cu.error("Catastrophic and unrecoverable WebGL error. Context lost.");return}e.plot.apply(e,e.plotArgs)};requestAnimationFrame(t)};var T_=["xaxis","yaxis","zaxis"];function Wmt(e,t,r){for(var n=e.fullSceneLayout,i=0;i<3;i++){var a=T_[i],o=a.charAt(0),s=n[a],l=t[o],u=t[o+"calendar"],f=t["_"+o+"length"];if(!cu.isArrayOrTypedArray(l))r[0][i]=Math.min(r[0][i],0),r[1][i]=Math.max(r[1][i],f-1);else for(var c,h=0;h<(f||l.length);h++)if(cu.isArrayOrTypedArray(l[h]))for(var d=0;d<l[h].length;++d)c=s.d2l(l[h][d],0,u),!isNaN(c)&&isFinite(c)&&(r[0][i]=Math.min(r[0][i],c),r[1][i]=Math.max(r[1][i],c));else c=s.d2l(l[h],0,u),!isNaN(c)&&isFinite(c)&&(r[0][i]=Math.min(r[0][i],c),r[1][i]=Math.max(r[1][i],c))}}function Xmt(e,t){for(var r=e.fullSceneLayout,n=r.annotations||[],i=0;i<3;i++)for(var a=T_[i],o=a.charAt(0),s=r[a],l=0;l<n.length;l++){var u=n[l];if(u.visible){var f=s.r2l(u[o]);!isNaN(f)&&isFinite(f)&&(t[0][i]=Math.min(t[0][i],f),t[1][i]=Math.max(t[1][i],f))}}}wl.plot=function(e,t,r){var n=this;if(n.plotArgs=[e,t,r],n.glplot.contextLost)return;var i,a,o,s,l,u,f=t[n.id],c=r[n.id];n.fullLayout=t,n.fullSceneLayout=f,n.axesOptions.merge(t,f),n.spikeOptions.merge(f),n.setViewport(f),n.updateFx(f.dragmode,f.hovermode),n.camera.enableWheel=n.graphDiv._context._scrollZoom.gl3d,n.glplot.setClearColor(Bmt(f.bgcolor)),n.setConvert(l),e?Array.isArray(e)||(e=[e]):e=[];var h=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(o=0;o<e.length;++o)i=e[o],!(i.visible!==!0||i._length===0)&&Wmt(this,i,h);Xmt(this,h);var d=[1,1,1];for(s=0;s<3;++s)h[1][s]===h[0][s]?d[s]=1:d[s]=1/(h[1][s]-h[0][s]);for(n.dataScale=d,n.convertAnnotations(this),o=0;o<e.length;++o)i=e[o],!(i.visible!==!0||i._length===0)&&(a=n.traces[i.uid],a?a.data.type===i.type?a.update(i):(a.dispose(),a=i._module.plot(this,i),n.traces[i.uid]=a):(a=i._module.plot(this,i),n.traces[i.uid]=a),a.name=i.name);var v=Object.keys(n.traces);e:for(o=0;o<v.length;++o){for(s=0;s<e.length;++s)if(e[s].uid===v[o]&&e[s].visible===!0&&e[s]._length!==0)continue e;a=n.traces[v[o]],a.dispose(),delete n.traces[v[o]]}n.glplot.objects.sort(function(U,G){return U._trace.data.index-G._trace.data.index});var m=[[0,0,0],[0,0,0]],b=[],g={};for(o=0;o<3;++o){l=f[T_[o]],u=l.type,u in g?(g[u].acc*=d[o],g[u].count+=1):g[u]={acc:d[o],count:1};var _;if(l.autorange){m[0][o]=1/0,m[1][o]=-1/0;var T=n.glplot.objects,w=n.fullSceneLayout.annotations||[],k=l._name.charAt(0);for(s=0;s<T.length;s++){var x=T[s],M=x.bounds,A=x._trace.data._pad||0;x.constructor.name==="ErrorBars"&&l._lowerLogErrorBound?m[0][o]=Math.min(m[0][o],l._lowerLogErrorBound):m[0][o]=Math.min(m[0][o],M[0][o]/d[o]-A),m[1][o]=Math.max(m[1][o],M[1][o]/d[o]+A)}for(s=0;s<w.length;s++){var p=w[s];if(p.visible){var S=l.r2l(p[k]);m[0][o]=Math.min(m[0][o],S),m[1][o]=Math.max(m[1][o],S)}}if("rangemode"in l&&l.rangemode==="tozero"&&(m[0][o]=Math.min(m[0][o],0),m[1][o]=Math.max(m[1][o],0)),m[0][o]>m[1][o])m[0][o]=-1,m[1][o]=1;else{var y=m[1][o]-m[0][o];m[0][o]-=y/32,m[1][o]+=y/32}if(_=[m[0][o],m[1][o]],_=Gmt(_,l),m[0][o]=_[0],m[1][o]=_[1],l.isReversed()){var E=m[0][o];m[0][o]=m[1][o],m[1][o]=E}}else _=l.range,m[0][o]=l.r2l(_[0]),m[1][o]=l.r2l(_[1]);m[0][o]===m[1][o]&&(m[0][o]-=1,m[1][o]+=1),b[o]=m[1][o]-m[0][o],l.range=[m[0][o],m[1][o]],l.limitRange(),n.glplot.setBounds(o,{min:l.range[0]*d[o],max:l.range[1]*d[o]})}var C,L=f.aspectmode;if(L==="cube")C=[1,1,1];else if(L==="manual"){var R=f.aspectratio;C=[R.x,R.y,R.z]}else if(L==="auto"||L==="data"){var I=[1,1,1];for(o=0;o<3;++o){l=f[T_[o]],u=l.type;var P=g[u];I[o]=Math.pow(P.acc,1/P.count)/d[o]}L==="data"||Math.max.apply(null,I)/Math.min.apply(null,I)<=4?C=I:C=[1,1,1]}else throw new Error("scene.js aspectRatio was not one of the enumerated types");f.aspectratio.x=c.aspectratio.x=C[0],f.aspectratio.y=c.aspectratio.y=C[1],f.aspectratio.z=c.aspectratio.z=C[2],n.glplot.setAspectratio(f.aspectratio),n.viewInitial.aspectratio||(n.viewInitial.aspectratio={x:f.aspectratio.x,y:f.aspectratio.y,z:f.aspectratio.z}),n.viewInitial.aspectmode||(n.viewInitial.aspectmode=f.aspectmode);var D=f.domain||null,q=t._size||null;if(D&&q){var N=n.container.style;N.position="absolute",N.left=q.l+D.x[0]*q.w+"px",N.top=q.t+(1-D.y[1])*q.h+"px",N.width=q.w*(D.x[1]-D.x[0])+"px",N.height=q.h*(D.y[1]-D.y[0])+"px"}n.glplot.redraw()};wl.destroy=function(){var e=this;e.glplot&&(e.camera.mouseListener.enabled=!1,e.container.removeEventListener("wheel",e.camera.wheelListener),e.camera=null,e.glplot.dispose(),e.container.parentNode.removeChild(e.container),e.glplot=null)};function Zmt(e){return[[e.eye.x,e.eye.y,e.eye.z],[e.center.x,e.center.y,e.center.z],[e.up.x,e.up.y,e.up.z]]}function Jmt(e){return{up:{x:e.up[0],y:e.up[1],z:e.up[2]},center:{x:e.center[0],y:e.center[1],z:e.center[2]},eye:{x:e.eye[0],y:e.eye[1],z:e.eye[2]},projection:{type:e._ortho===!0?"orthographic":"perspective"}}}wl.getCamera=function(){var e=this;return e.camera.view.recalcMatrix(e.camera.view.lastT()),Jmt(e.camera)};wl.setViewport=function(e){var t=this,r=e.camera;t.camera.lookAt.apply(this,Zmt(r)),t.glplot.setAspectratio(e.aspectratio);var n=r.projection.type==="orthographic",i=t.camera._ortho;n!==i&&(t.glplot.redraw(),t.glplot.clearRGBA(),t.glplot.dispose(),t.initializeGLPlot())};wl.isCameraChanged=function(e){var t=this,r=t.getCamera(),n=cu.nestedProperty(e,t.id+".camera"),i=n.get();function a(u,f,c,h){var d=["up","center","eye"],v=["x","y","z"];return f[d[c]]&&u[d[c]][v[h]]===f[d[c]][v[h]]}var o=!1;if(i===void 0)o=!0;else{for(var s=0;s<3;s++)for(var l=0;l<3;l++)if(!a(r,i,s,l)){o=!0;break}(!i.projection||r.projection&&r.projection.type!==i.projection.type)&&(o=!0)}return o};wl.isAspectChanged=function(e){var t=this,r=t.glplot.getAspectratio(),n=cu.nestedProperty(e,t.id+".aspectratio"),i=n.get();return i===void 0||i.x!==r.x||i.y!==r.y||i.z!==r.z};wl.saveLayout=function(e){var t=this,r=t.fullLayout,n,i,a,o,s,l,u=t.isCameraChanged(e),f=t.isAspectChanged(e),c=u||f;if(c){var h={};if(u&&(n=t.getCamera(),i=cu.nestedProperty(e,t.id+".camera"),a=i.get(),h[t.id+".camera"]=a),f&&(o=t.glplot.getAspectratio(),s=cu.nestedProperty(e,t.id+".aspectratio"),l=s.get(),h[t.id+".aspectratio"]=l),A5.call("_storeDirectGUIEdit",e,r._preGUI,h),u){i.set(n);var d=cu.nestedProperty(r,t.id+".camera");d.set(n)}if(f){s.set(o);var v=cu.nestedProperty(r,t.id+".aspectratio");v.set(o),t.glplot.redraw()}}return c};wl.updateFx=function(e,t){var r=this,n=r.camera;if(n)if(e==="orbit")n.mode="orbit",n.keyBindingMode="rotate";else if(e==="turntable"){n.up=[0,0,1],n.mode="turntable",n.keyBindingMode="rotate";var i=r.graphDiv,a=i._fullLayout,o=r.fullSceneLayout.camera,s=o.up.x,l=o.up.y,u=o.up.z;if(u/Math.sqrt(s*s+l*l+u*u)<.999){var f=r.id+".camera.up",c={x:0,y:0,z:1},h={};h[f]=c;var d=i.layout;A5.call("_storeDirectGUIEdit",d,a._preGUI,h),o.up=c,cu.nestedProperty(d,f).set(c)}}else n.keyBindingMode=e;r.fullSceneLayout.hovermode=t};function $mt(e,t,r){for(var n=0,i=r-1;n<i;++n,--i)for(var a=0;a<t;++a)for(var o=0;o<4;++o){var s=4*(t*n+a)+o,l=4*(t*i+a)+o,u=e[s];e[s]=e[l],e[l]=u}}function Kmt(e,t,r){for(var n=0;n<r;++n)for(var i=0;i<t;++i){var a=4*(t*n+i),o=e[a+3];if(o>0)for(var s=255/o,l=0;l<3;++l)e[a+l]=Math.min(s*e[a+l],255)}}wl.toImage=function(e){var t=this;e||(e="png"),t.staticMode&&t.container.appendChild(__),t.glplot.redraw();var r=t.glplot.gl,n=r.drawingBufferWidth,i=r.drawingBufferHeight;r.bindFramebuffer(r.FRAMEBUFFER,null);var a=new Uint8Array(n*i*4);r.readPixels(0,0,n,i,r.RGBA,r.UNSIGNED_BYTE,a),$mt(a,n,i),Kmt(a,n,i);var o=document.createElement("canvas");o.width=n,o.height=i;var s=o.getContext("2d",{willReadFrequently:!0}),l=s.createImageData(n,i);l.data.set(a),s.putImageData(l,0,0);var u;switch(e){case"jpeg":u=o.toDataURL("image/jpeg");break;case"webp":u=o.toDataURL("image/webp");break;default:u=o.toDataURL("image/png")}return t.staticMode&&t.container.removeChild(__),u};wl.setConvert=function(){for(var e=this,t=0;t<3;t++){var r=e.fullSceneLayout[T_[t]];M5.setConvert(r,e.fullLayout),r.setScale=cu.noop}};wl.make4thDimension=function(){var e=this,t=e.graphDiv,r=t._fullLayout;e._mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},M5.setConvert(e._mockAxis,r)};Cbe.exports=Sbe});var Dbe=J((HOt,Lbe)=>{"use strict";Lbe.exports={scene:{valType:"subplotid",dflt:"scene",editType:"calc+clearAxisTypes",description:["Sets a reference between this trace's 3D coordinate system and","a 3D scene.","If *scene* (the default value), the (x,y,z) coordinates refer to","`layout.scene`.","If *scene2*, the (x,y,z) coordinates refer to `layout.scene2`,","and so on."].join(" ")}}});var _7=J((jOt,Rbe)=>{"use strict";var Qmt=qr(),Dn=hl(),w7=cn().extendFlat,e1t=La().overrideAll;Rbe.exports=e1t({visible:Dn.visible,showspikes:{valType:"boolean",dflt:!0,description:["Sets whether or not spikes starting from","data points to this axis' wall are shown on hover."].join(" ")},spikesides:{valType:"boolean",dflt:!0,description:["Sets whether or not spikes extending from the","projection data points to this axis' wall boundaries","are shown on hover."].join(" ")},spikethickness:{valType:"number",min:0,dflt:2,description:"Sets the thickness (in px) of the spikes."},spikecolor:{valType:"color",dflt:Qmt.defaultLine,description:"Sets the color of the spikes."},showbackground:{valType:"boolean",dflt:!1,description:["Sets whether or not this axis' wall","has a background color."].join(" ")},backgroundcolor:{valType:"color",dflt:"rgba(204, 204, 204, 0.5)",description:"Sets the background color of this axis' wall."},showaxeslabels:{valType:"boolean",dflt:!0,description:"Sets whether or not this axis is labeled"},color:Dn.color,categoryorder:Dn.categoryorder,categoryarray:Dn.categoryarray,title:{text:Dn.title.text,font:Dn.title.font},type:w7({},Dn.type,{values:["-","linear","log","date","category"]}),autotypenumbers:Dn.autotypenumbers,autorange:Dn.autorange,autorangeoptions:{minallowed:Dn.autorangeoptions.minallowed,maxallowed:Dn.autorangeoptions.maxallowed,clipmin:Dn.autorangeoptions.clipmin,clipmax:Dn.autorangeoptions.clipmax,include:Dn.autorangeoptions.include,editType:"plot"},rangemode:Dn.rangemode,minallowed:Dn.minallowed,maxallowed:Dn.maxallowed,range:w7({},Dn.range,{items:[{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}}],anim:!1}),tickmode:Dn.minor.tickmode,nticks:Dn.nticks,tick0:Dn.tick0,dtick:Dn.dtick,tickvals:Dn.tickvals,ticktext:Dn.ticktext,ticks:Dn.ticks,mirror:Dn.mirror,ticklen:Dn.ticklen,tickwidth:Dn.tickwidth,tickcolor:Dn.tickcolor,showticklabels:Dn.showticklabels,labelalias:Dn.labelalias,tickfont:Dn.tickfont,tickangle:Dn.tickangle,tickprefix:Dn.tickprefix,showtickprefix:Dn.showtickprefix,ticksuffix:Dn.ticksuffix,showticksuffix:Dn.showticksuffix,showexponent:Dn.showexponent,exponentformat:Dn.exponentformat,minexponent:Dn.minexponent,separatethousands:Dn.separatethousands,tickformat:Dn.tickformat,tickformatstops:Dn.tickformatstops,hoverformat:Dn.hoverformat,showline:Dn.showline,linecolor:Dn.linecolor,linewidth:Dn.linewidth,showgrid:Dn.showgrid,gridcolor:w7({},Dn.gridcolor,{dflt:"rgb(204, 204, 204)"}),gridwidth:Dn.gridwidth,zeroline:Dn.zeroline,zerolinecolor:Dn.zerolinecolor,zerolinewidth:Dn.zerolinewidth,_deprecated:{title:Dn._deprecated.title,titlefont:Dn._deprecated.titlefont}},"plot","from-root")});var k7=J((VOt,Pbe)=>{"use strict";var T7=_7(),t1t=Wa().attributes,A7=cn().extendFlat,r1t=gt().counterRegex;function M7(e,t,r){return{x:{valType:"number",dflt:e,editType:"camera"},y:{valType:"number",dflt:t,editType:"camera"},z:{valType:"number",dflt:r,editType:"camera"},editType:"camera"}}Pbe.exports={_arrayAttrRegexps:[r1t("scene",".annotations",!0)],bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"plot"},camera:{up:A7(M7(0,0,1),{description:["Sets the (x,y,z) components of the 'up' camera vector.","This vector determines the up direction of this scene","with respect to the page.","The default is *{x: 0, y: 0, z: 1}* which means that","the z axis points up."].join(" ")}),center:A7(M7(0,0,0),{description:["Sets the (x,y,z) components of the 'center' camera vector","This vector determines the translation (x,y,z) space","about the center of this scene.","By default, there is no such translation."].join(" ")}),eye:A7(M7(1.25,1.25,1.25),{description:["Sets the (x,y,z) components of the 'eye' camera vector.","This vector determines the view point about the origin","of this scene."].join(" ")}),projection:{type:{valType:"enumerated",values:["perspective","orthographic"],dflt:"perspective",editType:"calc",description:["Sets the projection type. The projection type could be","either *perspective* or *orthographic*. The default is","*perspective*."].join(" ")},editType:"calc"},editType:"camera"},domain:t1t({name:"scene",editType:"plot"}),aspectmode:{valType:"enumerated",values:["auto","cube","data","manual"],dflt:"auto",editType:"plot",impliedEdits:{"aspectratio.x":void 0,"aspectratio.y":void 0,"aspectratio.z":void 0},description:["If *cube*, this scene's axes are drawn as a cube,","regardless of the axes' ranges.","If *data*, this scene's axes are drawn","in proportion with the axes' ranges.","If *manual*, this scene's axes are drawn","in proportion with the input of *aspectratio*","(the default behavior if *aspectratio* is provided).","If *auto*, this scene's axes are drawn","using the results of *data* except when one axis","is more than four times the size of the two others,","where in that case the results of *cube* are used."].join(" ")},aspectratio:{x:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},y:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},z:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},editType:"plot",impliedEdits:{aspectmode:"manual"},description:["Sets this scene's axis aspectratio."].join(" ")},xaxis:T7,yaxis:T7,zaxis:T7,dragmode:{valType:"enumerated",values:["orbit","turntable","zoom","pan",!1],editType:"plot",description:["Determines the mode of drag interactions for this scene."].join(" ")},hovermode:{valType:"enumerated",values:["closest",!1],dflt:"closest",editType:"modebar",description:["Determines the mode of hover interactions for this scene."].join(" ")},uirevision:{valType:"any",editType:"none",description:["Controls persistence of user-driven changes in camera attributes.","Defaults to `layout.uirevision`."].join(" ")},editType:"plot",_deprecated:{cameraposition:{valType:"info_array",editType:"camera",description:"Obsolete. Use `camera` instead."}}}});var zbe=J((YOt,Fbe)=>{"use strict";var n1t=ls().mix,Ibe=gt(),i1t=ki(),a1t=_7(),o1t=yR(),s1t=vw(),qbe=["xaxis","yaxis","zaxis"],l1t=100*(204-68)/(255-68);Fbe.exports=function(t,r,n){var i,a;function o(u,f){return Ibe.coerce(i,a,a1t,u,f)}for(var s=0;s<qbe.length;s++){var l=qbe[s];i=t[l]||{},a=i1t.newContainer(r,l),a._id=l[0]+n.scene,a._name=l,o1t(i,a,o,n),s1t(i,a,o,{font:n.font,letter:l[0],data:n.data,showGrid:!0,noAutotickangles:!0,noTicklabelindex:!0,noTickson:!0,noTicklabelmode:!0,noTicklabelshift:!0,noTicklabelstandoff:!0,noTicklabelstep:!0,noTicklabelposition:!0,noTicklabeloverflow:!0,noInsiderange:!0,bgColor:n.bgColor,calendar:n.calendar},n.fullLayout),o("gridcolor",n1t(a.color,n.bgColor,l1t).toRgbString()),o("title.text",l[0]),a.setScale=Ibe.noop,o("showspikes")&&(o("spikesides"),o("spikethickness"),o("spikecolor",a.color)),o("showaxeslabels"),o("showbackground")&&o("backgroundcolor")}}});var Ube=J((GOt,Bbe)=>{"use strict";var u1t=gt(),f1t=qr(),c1t=zr(),h1t=Kw(),v1t=zbe(),Nbe=k7(),d1t=Nu().getSubplotData,Obe="gl3d";Bbe.exports=function(t,r,n){var i=r._basePlotModules.length>1;function a(o){if(!i){var s=u1t.validate(t[o],Nbe[o]);if(s)return t[o]}}h1t(t,r,n,{type:Obe,attributes:Nbe,handleDefaults:p1t,fullLayout:r,font:r.font,fullData:n,getDfltFromLayout:a,autotypenumbersDflt:r.autotypenumbers,paper_bgcolor:r.paper_bgcolor,calendar:r.calendar})};function p1t(e,t,r,n){for(var i=r("bgcolor"),a=f1t.combine(i,n.paper_bgcolor),o=["up","center","eye"],s=0;s<o.length;s++)r("camera."+o[s]+".x"),r("camera."+o[s]+".y"),r("camera."+o[s]+".z");r("camera.projection.type");var l=!!r("aspectratio.x")&&!!r("aspectratio.y")&&!!r("aspectratio.z"),u=l?"manual":"auto",f=r("aspectmode",u);l||(e.aspectratio=t.aspectratio={x:1,y:1,z:1},f==="manual"&&(t.aspectmode="auto"),e.aspectmode=t.aspectmode);var c=d1t(n.fullData,Obe,n.id);v1t(e,t,{font:n.font,scene:n.id,data:c,bgColor:a,calendar:n.calendar,autotypenumbersDflt:n.autotypenumbersDflt,fullLayout:n.fullLayout}),c1t.getComponentMethod("annotations3d","handleDefaults")(e,t,n);var h=n.getDfltFromLayout("dragmode");if(h!==!1&&!h)if(h="orbit",e.camera&&e.camera.up){var d=e.camera.up.x,v=e.camera.up.y,m=e.camera.up.z;m!==0&&(!d||!v||!m||m/Math.sqrt(d*d+v*v+m*m)>.999)&&(h="turntable")}else h="turntable";r("dragmode",h),r("hovermode",n.getDfltFromLayout("hovermode"))}});var J0=J(hu=>{"use strict";var g1t=La().overrideAll,m1t=Uv(),y1t=Ebe(),x1t=Nu().getSubplotData,b1t=gt(),w1t=Gh(),xx="gl3d",S7="scene";hu.name=xx;hu.attr=S7;hu.idRoot=S7;hu.idRegex=hu.attrRegex=b1t.counterRegex("scene");hu.attributes=Dbe();hu.layoutAttributes=k7();hu.baseLayoutAttrOverrides=g1t({hoverlabel:m1t.hoverlabel},"plot","nested");hu.supplyLayoutDefaults=Ube();hu.plot=function(t){for(var r=t._fullLayout,n=t._fullData,i=r._subplots[xx],a=0;a<i.length;a++){var o=i[a],s=x1t(n,xx,o),l=r[o],u=l.camera,f=l._scene;f||(f=new y1t({id:o,graphDiv:t,container:t.querySelector(".gl-container"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio,camera:u},r),l._scene=f),f.viewInitial||(f.viewInitial={up:{x:u.up.x,y:u.up.y,z:u.up.z},eye:{x:u.eye.x,y:u.eye.y,z:u.eye.z},center:{x:u.center.x,y:u.center.y,z:u.center.z}}),f.plot(s,r,t.layout)}};hu.clean=function(e,t,r,n){for(var i=n._subplots[xx]||[],a=0;a<i.length;a++){var o=i[a];!t[o]&&n[o]._scene&&(n[o]._scene.destroy(),n._infolayer&&n._infolayer.selectAll(".annotation-"+o).remove())}};hu.toSVG=function(e){for(var t=e._fullLayout,r=t._subplots[xx],n=t._size,i=0;i<r.length;i++){var a=t[r[i]],o=a.domain,s=a._scene,l=s.toImage("png"),u=t._glimages.append("svg:image");u.attr({xmlns:w1t.svg,"xlink:href":l,x:n.l+n.w*o.x[0],y:n.t+n.h*(1-o.y[1]),width:n.w*(o.x[1]-o.x[0]),height:n.h*(o.y[1]-o.y[0]),preserveAspectRatio:"none"}),s.destroy()}};hu.cleanId=function(t){if(t.match(/^scene[0-9]*$/)){var r=t.substr(5);return r==="1"&&(r=""),S7+r}};hu.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots[xx],n=0;n<r.length;n++){var i=t[r[n]]._scene;i.updateFx(t.dragmode,t.hovermode)}}});var jbe=J((XOt,Hbe)=>{"use strict";Hbe.exports={plot:tbe(),attributes:g7(),markerSymbols:b5(),supplyDefaults:sbe(),colorbar:[{container:"marker",min:"cmin",max:"cmax"},{container:"line",min:"cmin",max:"cmax"}],calc:y7(),moduleType:"trace",name:"scatter3d",basePlotModule:J0(),categories:["gl3d","symbols","showLegend","scatter-like"],meta:{hrName:"scatter_3d",description:["The data visualized as scatter point or lines in 3D dimension","is set in `x`, `y`, `z`.","Text (appearing either on the chart or on hover only) is via `text`.","Bubble charts are achieved by setting `marker.size` and/or `marker.color`","Projections are achieved via `projection`.","Surface fills are achieved via `surfaceaxis`."].join(" ")}}});var Ybe=J((ZOt,Vbe)=>{"use strict";Vbe.exports=jbe()});var A_=J((JOt,Xbe)=>{"use strict";var Gbe=qr(),k5=Da(),C7=Ga().axisHoverFormat,_1t=Jn().hovertemplateAttrs,Wbe=Qi(),bx=cn().extendFlat,T1t=La().overrideAll;function E7(e){return{valType:"boolean",dflt:!1,description:["Determines whether or not these contour lines are projected","on the",e,"plane.","If `highlight` is set to *true* (the default), the projected","lines are shown on hover.","If `show` is set to *true*, the projected lines are shown","in permanence."].join(" ")}}function L7(e){return{show:{valType:"boolean",dflt:!1,description:["Determines whether or not contour lines about the",e,"dimension are drawn."].join(" ")},start:{valType:"number",dflt:null,editType:"plot",description:["Sets the starting contour level value.","Must be less than `contours.end`"].join(" ")},end:{valType:"number",dflt:null,editType:"plot",description:["Sets the end contour level value.","Must be more than `contours.start`"].join(" ")},size:{valType:"number",dflt:null,min:0,editType:"plot",description:["Sets the step between each contour level.","Must be positive."].join(" ")},project:{x:E7("x"),y:E7("y"),z:E7("z")},color:{valType:"color",dflt:Gbe.defaultLine,description:"Sets the color of the contour lines."},usecolormap:{valType:"boolean",dflt:!1,description:["An alternate to *color*.","Determines whether or not the contour lines are colored using","the trace *colorscale*."].join(" ")},width:{valType:"number",min:1,max:16,dflt:2,description:"Sets the width of the contour lines."},highlight:{valType:"boolean",dflt:!0,description:["Determines whether or not contour lines about the",e,"dimension are highlighted on hover."].join(" ")},highlightcolor:{valType:"color",dflt:Gbe.defaultLine,description:"Sets the color of the highlighted contour lines."},highlightwidth:{valType:"number",min:1,max:16,dflt:2,description:"Sets the width of the highlighted contour lines."}}}var S5=Xbe.exports=T1t(bx({z:{valType:"data_array",description:"Sets the z coordinates."},x:{valType:"data_array",description:"Sets the x coordinates."},y:{valType:"data_array",description:"Sets the y coordinates."},text:{valType:"string",dflt:"",arrayOk:!0,description:["Sets the text elements associated with each z value.","If trace `hoverinfo` contains a *text* flag and *hovertext* is not set,","these elements will be seen in the hover labels."].join(" ")},hovertext:{valType:"string",dflt:"",arrayOk:!0,description:"Same as `text`."},hovertemplate:_1t(),xhoverformat:C7("x"),yhoverformat:C7("y"),zhoverformat:C7("z"),connectgaps:{valType:"boolean",dflt:!1,editType:"calc",description:["Determines whether or not gaps","(i.e. {nan} or missing values)","in the `z` data are filled in."].join(" ")},surfacecolor:{valType:"data_array",description:["Sets the surface color values,","used for setting a color scale independent of `z`."].join(" ")}},k5("",{colorAttr:"z or surfacecolor",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:"calc"}),{contours:{x:L7("x"),y:L7("y"),z:L7("z")},hidesurface:{valType:"boolean",dflt:!1,description:["Determines whether or not a surface is drawn.","For example, set `hidesurface` to *false*","`contours.x.show` to *true* and","`contours.y.show` to *true* to draw a wire frame plot."].join(" ")},lightposition:{x:{valType:"number",min:-1e5,max:1e5,dflt:10,description:"Numeric vector, representing the X coordinate for each vertex."},y:{valType:"number",min:-1e5,max:1e5,dflt:1e4,description:"Numeric vector, representing the Y coordinate for each vertex."},z:{valType:"number",min:-1e5,max:1e5,dflt:0,description:"Numeric vector, representing the Z coordinate for each vertex."}},lighting:{ambient:{valType:"number",min:0,max:1,dflt:.8,description:"Ambient light increases overall color visibility but can wash out the image."},diffuse:{valType:"number",min:0,max:1,dflt:.8,description:"Represents the extent that incident rays are reflected in a range of angles."},specular:{valType:"number",min:0,max:2,dflt:.05,description:"Represents the level that incident rays are reflected in a single direction, causing shine."},roughness:{valType:"number",min:0,max:1,dflt:.5,description:"Alters specular reflection; the rougher the surface, the wider and less contrasty the shine."},fresnel:{valType:"number",min:0,max:5,dflt:.2,description:["Represents the reflectance as a dependency of the viewing angle; e.g. paper is reflective","when viewing it from the edge of the paper (almost 90 degrees), causing shine."].join(" ")}},opacity:{valType:"number",min:0,max:1,dflt:1,description:["Sets the opacity of the surface.","Please note that in the case of using high `opacity` values for example a value","greater than or equal to 0.5 on two surfaces (and 0.25 with four surfaces), an","overlay of multiple transparent surfaces may not perfectly be sorted in depth by the","webgl API. This behavior may be improved in the near future and is subject to change."].join(" ")},opacityscale:{valType:"any",editType:"calc",description:["Sets the opacityscale.","The opacityscale must be an array containing","arrays mapping a normalized value to an opacity value.","At minimum, a mapping for the lowest (0) and highest (1)","values are required. For example,","`[[0, 1], [0.5, 0.2], [1, 1]]` means that higher/lower values would have","higher opacity values and those in the middle would be more transparent","Alternatively, `opacityscale` may be a palette name string","of the following list: 'min', 'max', 'extremes' and 'uniform'.","The default is 'uniform'."].join(" ")},_deprecated:{zauto:bx({},k5.zauto,{description:"Obsolete. Use `cauto` instead."}),zmin:bx({},k5.zmin,{description:"Obsolete. Use `cmin` instead."}),zmax:bx({},k5.zmax,{description:"Obsolete. Use `cmax` instead."})},hoverinfo:bx({},Wbe.hoverinfo),showlegend:bx({},Wbe.showlegend,{dflt:!1})}),"calc","nested");S5.x.editType=S5.y.editType=S5.z.editType="calc+clearAxisTypes";S5.transforms=void 0});var P7=J(($Ot,$be)=>{"use strict";var A1t=zr(),Zbe=gt(),M1t=vl(),k1t=A_(),D7=.1;function S1t(e,t){for(var r=[],n=32,i=0;i<n;i++){var a=i/(n-1),o=t+(1-t)*(1-Math.pow(Math.sin(e*a*Math.PI),2));r.push([a,Math.max(0,Math.min(1,o))])}return r}function C1t(e){var t=0;if(!Array.isArray(e)||e.length<2||!e[0]||!e[e.length-1]||+e[0][0]!=0||+e[e.length-1][0]!=1)return!1;for(var r=0;r<e.length;r++){var n=e[r];if(n.length!==2||+n[0]<t)return!1;t=+n[0]}return!0}function E1t(e,t,r,n){var i,a;function o(b,g){return Zbe.coerce(e,t,k1t,b,g)}var s=o("x"),l=o("y"),u=o("z");if(!u||!u.length||s&&s.length<1||l&&l.length<1){t.visible=!1;return}t._xlength=Array.isArray(s)&&Zbe.isArrayOrTypedArray(s[0])?u.length:u[0].length,t._ylength=u.length;var f=A1t.getComponentMethod("calendars","handleTraceDefaults");f(e,t,["x","y","z"],n),o("text"),o("hovertext"),o("hovertemplate"),o("xhoverformat"),o("yhoverformat"),o("zhoverformat"),["lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lightposition.x","lightposition.y","lightposition.z","hidesurface","connectgaps","opacity"].forEach(function(b){o(b)});var c=o("surfacecolor"),h=["x","y","z"];for(i=0;i<3;++i){var d="contours."+h[i],v=o(d+".show"),m=o(d+".highlight");if(v||m)for(a=0;a<3;++a)o(d+".project."+h[a]);v&&(o(d+".color"),o(d+".width"),o(d+".usecolormap")),m&&(o(d+".highlightcolor"),o(d+".highlightwidth")),o(d+".start"),o(d+".end"),o(d+".size")}c||(R7(e,"zmin","cmin"),R7(e,"zmax","cmax"),R7(e,"zauto","cauto")),M1t(e,t,n,o,{prefix:"",cLetter:"c"}),Jbe(e,t,n,o),t._length=null}function Jbe(e,t,r,n){var i=n("opacityscale");i==="max"?t.opacityscale=[[0,D7],[1,1]]:i==="min"?t.opacityscale=[[0,1],[1,D7]]:i==="extremes"?t.opacityscale=S1t(1,D7):C1t(i)||(t.opacityscale=void 0)}function R7(e,t,r){t in e&&!(r in e)&&(e[r]=e[t])}$be.exports={supplyDefaults:E1t,opacityscaleDefaults:Jbe}});var e2e=J((KOt,Qbe)=>{"use strict";var Kbe=Uu();Qbe.exports=function(t,r){r.surfacecolor?Kbe(t,r,{vals:r.surfacecolor,containerStr:"",cLetter:"c"}):Kbe(t,r,{vals:r.z,containerStr:"",cLetter:"c"})}});var o2e=J((QOt,a2e)=>{"use strict";var L1t=ao().gl_surface3d,wx=ao().ndarray,D1t=ao().ndarray_linear_interpolate.d2,R1t=nS(),P1t=iS(),M_=gt().isArrayOrTypedArray,I1t=Z0().parseColorScale,t2e=Ac(),q1t=Qa().extractOpts;function n2e(e,t,r){this.scene=e,this.uid=r,this.surface=t,this.data=null,this.showContour=[!1,!1,!1],this.contourStart=[null,null,null],this.contourEnd=[null,null,null],this.contourSize=[0,0,0],this.minValues=[1/0,1/0,1/0],this.maxValues=[-1/0,-1/0,-1/0],this.dataScaleX=1,this.dataScaleY=1,this.refineData=!0,this.objectOffset=[0,0,0]}var wh=n2e.prototype;wh.getXat=function(e,t,r,n){var i=M_(this.data.x)?M_(this.data.x[0])?this.data.x[t][e]:this.data.x[e]:e;return r===void 0?i:n.d2l(i,0,r)};wh.getYat=function(e,t,r,n){var i=M_(this.data.y)?M_(this.data.y[0])?this.data.y[t][e]:this.data.y[t]:t;return r===void 0?i:n.d2l(i,0,r)};wh.getZat=function(e,t,r,n){var i=this.data.z[t][e];return i===null&&this.data.connectgaps&&this.data._interpolatedZ&&(i=this.data._interpolatedZ[t][e]),r===void 0?i:n.d2l(i,0,r)};wh.handlePick=function(e){if(e.object===this.surface){var t=(e.data.index[0]-1)/this.dataScaleX-1,r=(e.data.index[1]-1)/this.dataScaleY-1,n=Math.max(Math.min(Math.round(t),this.data.z[0].length-1),0),i=Math.max(Math.min(Math.round(r),this.data._ylength-1),0);e.index=[n,i],e.traceCoordinate=[this.getXat(n,i),this.getYat(n,i),this.getZat(n,i)],e.dataCoordinate=[this.getXat(n,i,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(n,i,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(n,i,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var a=0;a<3;a++){var o=e.dataCoordinate[a];o!=null&&(e.dataCoordinate[a]*=this.scene.dataScale[a])}var s=this.data.hovertext||this.data.text;return M_(s)&&s[i]&&s[i][n]!==void 0?e.textLabel=s[i][n]:s?e.textLabel=s:e.textLabel="",e.data.dataCoordinate=e.dataCoordinate.slice(),this.surface.highlight(e.data),this.scene.glplot.spikes.position=e.dataCoordinate,!0}};function F1t(e){var t=e[0].rgb,r=e[e.length-1].rgb;return t[0]===r[0]&&t[1]===r[1]&&t[2]===r[2]&&t[3]===r[3]}var _x=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999];function z1t(e,t){if(e<t)return 0;for(var r=0;Math.floor(e%t)===0;)e/=t,r++;return r}function I7(e){for(var t=[],r=0;r<_x.length;r++){var n=_x[r];t.push(z1t(e,n))}return t}function N1t(e){for(var t=I7(e),r=e,n=0;n<_x.length;n++)if(t[n]>0){r=_x[n];break}return r}function O1t(e,t){if(!(e<1||t<1)){for(var r=I7(e),n=I7(t),i=1,a=0;a<_x.length;a++)i*=Math.pow(_x[a],Math.max(r[a],n[a]));return i}}function B1t(e){if(e.length!==0){for(var t=1,r=0;r<e.length;r++)t=O1t(t,e[r]);return t}}wh.calcXnums=function(e){var t,r=[];for(t=1;t<e;t++){var n=this.getXat(t-1,0),i=this.getXat(t,0);i!==n&&n!==void 0&&n!==null&&i!==void 0&&i!==null?r[t-1]=Math.abs(i-n):r[t-1]=0}var a=0;for(t=1;t<e;t++)a+=r[t-1];for(t=1;t<e;t++)r[t-1]===0?r[t-1]=1:r[t-1]=Math.round(a/r[t-1]);return r};wh.calcYnums=function(e){var t,r=[];for(t=1;t<e;t++){var n=this.getYat(0,t-1),i=this.getYat(0,t);i!==n&&n!==void 0&&n!==null&&i!==void 0&&i!==null?r[t-1]=Math.abs(i-n):r[t-1]=0}var a=0;for(t=1;t<e;t++)a+=r[t-1];for(t=1;t<e;t++)r[t-1]===0?r[t-1]=1:r[t-1]=Math.round(a/r[t-1]);return r};var i2e=[1,2,4,6,12,24,36,48,60,120,180,240,360,720,840,1260],r2e=i2e[9],C5=i2e[13];wh.estimateScale=function(e,t){for(var r=t===0?this.calcXnums(e):this.calcYnums(e),n=1+B1t(r);n<r2e;)n*=2;for(;n>C5;)n--,n/=N1t(n),n++,n<r2e&&(n=C5);var i=Math.round(n/e);return i>1?i:1};function U1t(e,t,r){var n=r[8]+r[2]*t[0]+r[5]*t[1];return e[0]=(r[6]+r[0]*t[0]+r[3]*t[1])/n,e[1]=(r[7]+r[1]*t[0]+r[4]*t[1])/n,e}function H1t(e,t,r){return j1t(e,t,U1t,r),e}function j1t(e,t,r,n){for(var i=[0,0],a=e.shape[0],o=e.shape[1],s=0;s<a;s++)for(var l=0;l<o;l++)r(i,[s,l],n),e.set(s,l,D1t(t,i[0],i[1]));return e}wh.refineCoords=function(e){for(var t=this.dataScaleX,r=this.dataScaleY,n=e[0].shape[0],i=e[0].shape[1],a=Math.floor(e[0].shape[0]*t+1)|0,o=Math.floor(e[0].shape[1]*r+1)|0,s=1+n+1,l=1+i+1,u=wx(new Float32Array(s*l),[s,l]),f=[1/t,0,0,0,1/r,0,0,0,1],c=0;c<e.length;++c){this.surface.padField(u,e[c]);var h=wx(new Float32Array(a*o),[a,o]);H1t(h,u,f),e[c]=h}};function V1t(e,t){for(var r=!1,n=0;n<e.length;n++)if(t===e[n]){r=!0;break}r===!1&&e.push(t)}wh.setContourLevels=function(){var e=[[],[],[]],t=[!1,!1,!1],r=!1,n,i,a;for(n=0;n<3;++n)if(this.showContour[n]&&(r=!0,this.contourSize[n]>0&&this.contourStart[n]!==null&&this.contourEnd[n]!==null&&this.contourEnd[n]>this.contourStart[n]))for(t[n]=!0,i=this.contourStart[n];i<this.contourEnd[n];i+=this.contourSize[n])a=i*this.scene.dataScale[n],V1t(e[n],a);if(r){var o=[[],[],[]];for(n=0;n<3;++n)this.showContour[n]&&(o[n]=t[n]?e[n]:this.scene.contourLevels[n]);this.surface.update({levels:o})}};wh.update=function(e){var t=this.scene,r=t.fullSceneLayout,n=this.surface,i=I1t(e),a=t.dataScale,o=e.z[0].length,s=e._ylength,l=t.contourLevels;this.data=e;var u,f,c,h,d=[];for(u=0;u<3;u++)for(d[u]=[],f=0;f<o;f++)d[u][f]=[];for(f=0;f<o;f++)for(c=0;c<s;c++)d[0][f][c]=this.getXat(f,c,e.xcalendar,r.xaxis),d[1][f][c]=this.getYat(f,c,e.ycalendar,r.yaxis),d[2][f][c]=this.getZat(f,c,e.zcalendar,r.zaxis);if(e.connectgaps)for(e._emptypoints=P1t(d[2]),R1t(d[2],e._emptypoints),e._interpolatedZ=[],f=0;f<o;f++)for(e._interpolatedZ[f]=[],c=0;c<s;c++)e._interpolatedZ[f][c]=d[2][f][c];for(u=0;u<3;u++)for(f=0;f<o;f++)for(c=0;c<s;c++)h=d[u][f][c],h==null?d[u][f][c]=NaN:h=d[u][f][c]*=a[u];for(u=0;u<3;u++)for(f=0;f<o;f++)for(c=0;c<s;c++)h=d[u][f][c],h!=null&&(this.minValues[u]>h&&(this.minValues[u]=h),this.maxValues[u]<h&&(this.maxValues[u]=h));for(u=0;u<3;u++)this.objectOffset[u]=.5*(this.minValues[u]+this.maxValues[u]);for(u=0;u<3;u++)for(f=0;f<o;f++)for(c=0;c<s;c++)h=d[u][f][c],h!=null&&(d[u][f][c]-=this.objectOffset[u]);var v=[wx(new Float32Array(o*s),[o,s]),wx(new Float32Array(o*s),[o,s]),wx(new Float32Array(o*s),[o,s])];for(u=0;u<3;u++)for(f=0;f<o;f++)for(c=0;c<s;c++)v[u].set(f,c,d[u][f][c]);d=[];var m={colormap:i,levels:[[],[],[]],showContour:[!0,!0,!0],showSurface:!e.hidesurface,contourProject:[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],contourWidth:[1,1,1],contourColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],contourTint:[1,1,1],dynamicColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],dynamicWidth:[1,1,1],dynamicTint:[1,1,1],opacityscale:e.opacityscale,opacity:e.opacity},b=q1t(e);if(m.intensityBounds=[b.min,b.max],e.surfacecolor){var g=wx(new Float32Array(o*s),[o,s]);for(f=0;f<o;f++)for(c=0;c<s;c++)g.set(f,c,e.surfacecolor[c][f]);v.push(g)}else m.intensityBounds[0]*=a[2],m.intensityBounds[1]*=a[2];(C5<v[0].shape[0]||C5<v[0].shape[1])&&(this.refineData=!1),this.refineData===!0&&(this.dataScaleX=this.estimateScale(v[0].shape[0],0),this.dataScaleY=this.estimateScale(v[0].shape[1],1),(this.dataScaleX!==1||this.dataScaleY!==1)&&this.refineCoords(v)),e.surfacecolor&&(m.intensity=v.pop());var _=[!0,!0,!0],T=["x","y","z"];for(u=0;u<3;++u){var w=e.contours[T[u]];_[u]=w.highlight,m.showContour[u]=w.show||w.highlight,m.showContour[u]&&(m.contourProject[u]=[w.project.x,w.project.y,w.project.z],w.show?(this.showContour[u]=!0,m.levels[u]=l[u],n.highlightColor[u]=m.contourColor[u]=t2e(w.color),w.usecolormap?n.highlightTint[u]=m.contourTint[u]=0:n.highlightTint[u]=m.contourTint[u]=1,m.contourWidth[u]=w.width,this.contourStart[u]=w.start,this.contourEnd[u]=w.end,this.contourSize[u]=w.size):(this.showContour[u]=!1,this.contourStart[u]=null,this.contourEnd[u]=null,this.contourSize[u]=0),w.highlight&&(m.dynamicColor[u]=t2e(w.highlightcolor),m.dynamicWidth[u]=w.highlightwidth))}F1t(i)&&(m.vertexColor=!0),m.objectOffset=this.objectOffset,m.coords=v,n.update(m),n.visible=e.visible,n.enableDynamic=_,n.enableHighlight=_,n.snapToData=!0,"lighting"in e&&(n.ambientLight=e.lighting.ambient,n.diffuseLight=e.lighting.diffuse,n.specularLight=e.lighting.specular,n.roughness=e.lighting.roughness,n.fresnel=e.lighting.fresnel),"lightposition"in e&&(n.lightPosition=[e.lightposition.x,e.lightposition.y,e.lightposition.z])};wh.dispose=function(){this.scene.glplot.remove(this.surface),this.surface.dispose()};function Y1t(e,t){var r=e.glplot.gl,n=L1t({gl:r}),i=new n2e(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}a2e.exports=Y1t});var l2e=J((eBt,s2e)=>{"use strict";s2e.exports={attributes:A_(),supplyDefaults:P7().supplyDefaults,colorbar:{min:"cmin",max:"cmax"},calc:e2e(),plot:o2e(),moduleType:"trace",name:"surface",basePlotModule:J0(),categories:["gl3d","2dMap","showLegend"],meta:{description:["The data the describes the coordinates of the surface is set in `z`.","Data in `z` should be a {2D array}.","Coordinates in `x` and `y` can either be 1D {arrays}","or {2D arrays} (e.g. to graph parametric surfaces).","If not provided in `x` and `y`, the x and y coordinates are assumed","to be linear starting at 0 with a unit step.","The color scale corresponds to the `z` values by default.","For custom color scales, use `surfacecolor` which should be a {2D array},","where its bounds can be controlled using `cmin` and `cmax`."].join(" ")}}});var f2e=J((tBt,u2e)=>{"use strict";u2e.exports=l2e()});var Tx=J((rBt,h2e)=>{"use strict";var G1t=Da(),q7=Ga().axisHoverFormat,W1t=Jn().hovertemplateAttrs,$0=A_(),c2e=Qi(),K0=cn().extendFlat;h2e.exports=K0({x:{valType:"data_array",editType:"calc+clearAxisTypes",description:["Sets the X coordinates of the vertices. The nth element of vectors `x`, `y` and `z`","jointly represent the X, Y and Z coordinates of the nth vertex."].join(" ")},y:{valType:"data_array",editType:"calc+clearAxisTypes",description:["Sets the Y coordinates of the vertices. The nth element of vectors `x`, `y` and `z`","jointly represent the X, Y and Z coordinates of the nth vertex."].join(" ")},z:{valType:"data_array",editType:"calc+clearAxisTypes",description:["Sets the Z coordinates of the vertices. The nth element of vectors `x`, `y` and `z`","jointly represent the X, Y and Z coordinates of the nth vertex."].join(" ")},i:{valType:"data_array",editType:"calc",description:["A vector of vertex indices, i.e. integer values between 0 and the length of the vertex","vectors, representing the *first* vertex of a triangle. For example, `{i[m], j[m], k[m]}`","together represent face m (triangle m) in the mesh, where `i[m] = n` points to the triplet","`{x[n], y[n], z[n]}` in the vertex arrays. Therefore, each element in `i` represents a","point in space, which is the first vertex of a triangle."].join(" ")},j:{valType:"data_array",editType:"calc",description:["A vector of vertex indices, i.e. integer values between 0 and the length of the vertex","vectors, representing the *second* vertex of a triangle. For example, `{i[m], j[m], k[m]}` ","together represent face m (triangle m) in the mesh, where `j[m] = n` points to the triplet","`{x[n], y[n], z[n]}` in the vertex arrays. Therefore, each element in `j` represents a","point in space, which is the second vertex of a triangle."].join(" ")},k:{valType:"data_array",editType:"calc",description:["A vector of vertex indices, i.e. integer values between 0 and the length of the vertex","vectors, representing the *third* vertex of a triangle. For example, `{i[m], j[m], k[m]}`","together represent face m (triangle m) in the mesh, where `k[m] = n` points to the triplet ","`{x[n], y[n], z[n]}` in the vertex arrays. Therefore, each element in `k` represents a","point in space, which is the third vertex of a triangle."].join(" ")},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc",description:["Sets the text elements associated with the vertices.","If trace `hoverinfo` contains a *text* flag and *hovertext* is not set,","these elements will be seen in the hover labels."].join(" ")},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc",description:"Same as `text`."},hovertemplate:W1t({editType:"calc"}),xhoverformat:q7("x"),yhoverformat:q7("y"),zhoverformat:q7("z"),delaunayaxis:{valType:"enumerated",values:["x","y","z"],dflt:"z",editType:"calc",description:["Sets the Delaunay axis, which is the axis that is perpendicular to the surface of the","Delaunay triangulation.","It has an effect if `i`, `j`, `k` are not provided and `alphahull` is set to indicate","Delaunay triangulation."].join(" ")},alphahull:{valType:"number",dflt:-1,editType:"calc",description:["Determines how the mesh surface triangles are derived from the set of","vertices (points) represented by the `x`, `y` and `z` arrays, if","the `i`, `j`, `k` arrays are not supplied.","For general use of `mesh3d` it is preferred that `i`, `j`, `k` are","supplied.","If *-1*, Delaunay triangulation is used, which is mainly suitable if the","mesh is a single, more or less layer surface that is perpendicular to `delaunayaxis`.","In case the `delaunayaxis` intersects the mesh surface at more than one point","it will result triangles that are very long in the dimension of `delaunayaxis`.","If *>0*, the alpha-shape algorithm is used. In this case, the positive `alphahull` value","signals the use of the alpha-shape algorithm, _and_ its value","acts as the parameter for the mesh fitting.","If *0*, the convex-hull algorithm is used. It is suitable for convex bodies","or if the intention is to enclose the `x`, `y` and `z` point set into a convex","hull."].join(" ")},intensity:{valType:"data_array",editType:"calc",description:["Sets the intensity values for vertices or cells","as defined by `intensitymode`.","It can be used for plotting fields on meshes."].join(" ")},intensitymode:{valType:"enumerated",values:["vertex","cell"],dflt:"vertex",editType:"calc",description:["Determines the source of `intensity` values."].join(" ")},color:{valType:"color",editType:"calc",description:"Sets the color of the whole mesh"},vertexcolor:{valType:"data_array",editType:"calc",description:["Sets the color of each vertex","Overrides *color*. While Red, green and blue colors","are in the range of 0 and 255; in the case of having","vertex color data in RGBA format, the alpha color","should be normalized to be between 0 and 1."].join(" ")},facecolor:{valType:"data_array",editType:"calc",description:["Sets the color of each face","Overrides *color* and *vertexcolor*."].join(" ")},transforms:void 0},G1t("",{colorAttr:"`intensity`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:$0.opacity,flatshading:{valType:"boolean",dflt:!1,editType:"calc",description:["Determines whether or not normal smoothing is applied to the meshes,","creating meshes with an angular, low-poly look via flat reflections."].join(" ")},contour:{show:K0({},$0.contours.x.show,{description:["Sets whether or not dynamic contours are shown on hover"].join(" ")}),color:$0.contours.x.color,width:$0.contours.x.width,editType:"calc"},lightposition:{x:K0({},$0.lightposition.x,{dflt:1e5}),y:K0({},$0.lightposition.y,{dflt:1e5}),z:K0({},$0.lightposition.z,{dflt:0}),editType:"calc"},lighting:K0({vertexnormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-12,editType:"calc",description:"Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry."},facenormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-6,editType:"calc",description:"Epsilon for face normals calculation avoids math issues arising from degenerate geometry."},editType:"calc"},$0.lighting),hoverinfo:K0({},c2e.hoverinfo,{editType:"calc"}),showlegend:K0({},c2e.showlegend,{dflt:!1})})});var L5=J((nBt,d2e)=>{"use strict";var X1t=Da(),E5=Ga().axisHoverFormat,Z1t=Jn().hovertemplateAttrs,k_=Tx(),v2e=Qi(),F7=cn().extendFlat,J1t=La().overrideAll;function z7(e){return{show:{valType:"boolean",dflt:!1,description:["Determines whether or not slice planes about the",e,"dimension are drawn."].join(" ")},locations:{valType:"data_array",dflt:[],description:["Specifies the location(s) of slices on the axis.","When not specified slices would be created for","all points of the axis",e,"except start and end."].join(" ")},fill:{valType:"number",min:0,max:1,dflt:1,description:["Sets the fill ratio of the `slices`. The default fill value of the","`slices` is 1 meaning that they are entirely shaded. On the other hand","Applying a `fill` ratio less than one would allow the creation of","openings parallel to the edges."].join(" ")}}}function N7(e){return{show:{valType:"boolean",dflt:!0,description:["Sets the fill ratio of the `slices`. The default fill value of the",e,"`slices` is 1 meaning that they are entirely shaded. On the other hand","Applying a `fill` ratio less than one would allow the creation of","openings parallel to the edges."].join(" ")},fill:{valType:"number",min:0,max:1,dflt:1,description:["Sets the fill ratio of the `caps`. The default fill value of the","`caps` is 1 meaning that they are entirely shaded. On the other hand","Applying a `fill` ratio less than one would allow the creation of","openings parallel to the edges."].join(" ")}}}var um=d2e.exports=J1t(F7({x:{valType:"data_array",description:["Sets the X coordinates of the vertices on X axis."].join(" ")},y:{valType:"data_array",description:["Sets the Y coordinates of the vertices on Y axis."].join(" ")},z:{valType:"data_array",description:["Sets the Z coordinates of the vertices on Z axis."].join(" ")},value:{valType:"data_array",description:["Sets the 4th dimension (value) of the vertices."].join(" ")},isomin:{valType:"number",description:["Sets the minimum boundary for iso-surface plot."].join(" ")},isomax:{valType:"number",description:["Sets the maximum boundary for iso-surface plot."].join(" ")},surface:{show:{valType:"boolean",dflt:!0,description:["Hides/displays surfaces between minimum and maximum iso-values."].join(" ")},count:{valType:"integer",dflt:2,min:1,description:["Sets the number of iso-surfaces between minimum and maximum iso-values.","By default this value is 2 meaning that only minimum and maximum surfaces","would be drawn."].join(" ")},fill:{valType:"number",min:0,max:1,dflt:1,description:["Sets the fill ratio of the iso-surface. The default fill value of the","surface is 1 meaning that they are entirely shaded. On the other hand","Applying a `fill` ratio less than one would allow the creation of","openings parallel to the edges."].join(" ")},pattern:{valType:"flaglist",flags:["A","B","C","D","E"],extras:["all","odd","even"],dflt:"all",description:["Sets the surface pattern of the iso-surface 3-D sections. The default pattern of","the surface is `all` meaning that the rest of surface elements would be shaded.","The check options (either 1 or 2) could be used to draw half of the squares","on the surface. Using various combinations of capital `A`, `B`, `C`, `D` and `E`","may also be used to reduce the number of triangles on the iso-surfaces and","creating other patterns of interest."].join(" ")}},spaceframe:{show:{valType:"boolean",dflt:!1,description:["Displays/hides tetrahedron shapes between minimum and","maximum iso-values. Often useful when either caps or","surfaces are disabled or filled with values less than 1."].join(" ")},fill:{valType:"number",min:0,max:1,dflt:.15,description:["Sets the fill ratio of the `spaceframe` elements. The default fill value","is 0.15 meaning that only 15% of the area of every faces of tetras would be","shaded. Applying a greater `fill` ratio would allow the creation of stronger","elements or could be sued to have entirely closed areas (in case of using 1)."].join(" ")}},slices:{x:z7("x"),y:z7("y"),z:z7("z")},caps:{x:N7("x"),y:N7("y"),z:N7("z")},text:{valType:"string",dflt:"",arrayOk:!0,description:["Sets the text elements associated with the vertices.","If trace `hoverinfo` contains a *text* flag and *hovertext* is not set,","these elements will be seen in the hover labels."].join(" ")},hovertext:{valType:"string",dflt:"",arrayOk:!0,description:"Same as `text`."},hovertemplate:Z1t(),xhoverformat:E5("x"),yhoverformat:E5("y"),zhoverformat:E5("z"),valuehoverformat:E5("value",1),showlegend:F7({},v2e.showlegend,{dflt:!1})},X1t("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:k_.opacity,lightposition:k_.lightposition,lighting:k_.lighting,flatshading:k_.flatshading,contour:k_.contour,hoverinfo:F7({},v2e.hoverinfo)}),"calc","nested");um.flatshading.dflt=!0;um.lighting.facenormalsepsilon.dflt=0;um.x.editType=um.y.editType=um.z.editType=um.value.editType="calc+clearAxisTypes";um.transforms=void 0});var O7=J((iBt,g2e)=>{"use strict";var $1t=gt(),K1t=zr(),Q1t=L5(),eyt=vl();function tyt(e,t,r,n){function i(a,o){return $1t.coerce(e,t,Q1t,a,o)}p2e(e,t,r,n,i)}function p2e(e,t,r,n,i){var a=i("isomin"),o=i("isomax");o!=null&&a!==void 0&&a!==null&&a>o&&(t.isomin=null,t.isomax=null);var s=i("x"),l=i("y"),u=i("z"),f=i("value");if(!s||!s.length||!l||!l.length||!u||!u.length||!f||!f.length){t.visible=!1;return}var c=K1t.getComponentMethod("calendars","handleTraceDefaults");c(e,t,["x","y","z"],n),i("valuehoverformat"),["x","y","z"].forEach(function(m){i(m+"hoverformat");var b="caps."+m,g=i(b+".show");g&&i(b+".fill");var _="slices."+m,T=i(_+".show");T&&(i(_+".fill"),i(_+".locations"))});var h=i("spaceframe.show");h&&i("spaceframe.fill");var d=i("surface.show");d&&(i("surface.count"),i("surface.fill"),i("surface.pattern"));var v=i("contour.show");v&&(i("contour.color"),i("contour.width")),["text","hovertext","hovertemplate","lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading","opacity"].forEach(function(m){i(m)}),eyt(e,t,n,i,{prefix:"",cLetter:"c"}),t._length=null}g2e.exports={supplyDefaults:tyt,supplyIsoDefaults:p2e}});var D5=J((aBt,y2e)=>{"use strict";var U7=gt(),ryt=Uu();function nyt(e,t){t._len=Math.min(t.u.length,t.v.length,t.w.length,t.x.length,t.y.length,t.z.length),t._u=dv(t.u,t._len),t._v=dv(t.v,t._len),t._w=dv(t.w,t._len),t._x=dv(t.x,t._len),t._y=dv(t.y,t._len),t._z=dv(t.z,t._len);var r=m2e(t);t._gridFill=r.fill,t._Xs=r.Xs,t._Ys=r.Ys,t._Zs=r.Zs,t._len=r.len;var n=0,i,a,o;t.starts&&(i=dv(t.starts.x||[]),a=dv(t.starts.y||[]),o=dv(t.starts.z||[]),n=Math.min(i.length,a.length,o.length)),t._startsX=i||[],t._startsY=a||[],t._startsZ=o||[];var s=0,l=1/0,u;for(u=0;u<t._len;u++){var f=t._u[u],c=t._v[u],h=t._w[u],d=Math.sqrt(f*f+c*c+h*h);s=Math.max(s,d),l=Math.min(l,d)}for(ryt(e,t,{vals:[l,s],containerStr:"",cLetter:"c"}),u=0;u<n;u++){var v=i[u];r.xMax=Math.max(r.xMax,v),r.xMin=Math.min(r.xMin,v);var m=a[u];r.yMax=Math.max(r.yMax,m),r.yMin=Math.min(r.yMin,m);var b=o[u];r.zMax=Math.max(r.zMax,b),r.zMin=Math.min(r.zMin,b)}t._slen=n,t._normMax=s,t._xbnds=[r.xMin,r.xMax],t._ybnds=[r.yMin,r.yMax],t._zbnds=[r.zMin,r.zMax]}function m2e(e){var t=e._x,r=e._y,n=e._z,i=e._len,a,o,s,l=-1/0,u=1/0,f=-1/0,c=1/0,h=-1/0,d=1/0,v="",m,b,g,_,T,w,k,x,M;for(i&&(_=t[0],w=r[0],x=n[0]),i>1&&(T=t[i-1],k=r[i-1],M=n[i-1]),a=0;a<i;a++)l=Math.max(l,t[a]),u=Math.min(u,t[a]),f=Math.max(f,r[a]),c=Math.min(c,r[a]),h=Math.max(h,n[a]),d=Math.min(d,n[a]),!m&&t[a]!==_&&(m=!0,v+="x"),!b&&r[a]!==w&&(b=!0,v+="y"),!g&&n[a]!==x&&(g=!0,v+="z");m||(v+="x"),b||(v+="y"),g||(v+="z");var A=B7(e._x),p=B7(e._y),S=B7(e._z);v=v.replace("x",(_>T?"-":"+")+"x"),v=v.replace("y",(w>k?"-":"+")+"y"),v=v.replace("z",(x>M?"-":"+")+"z");var y=function(){i=0,A=[],p=[],S=[]};(!i||i<A.length*p.length*S.length)&&y();var E=function(oe){return oe==="x"?t:oe==="y"?r:n},C=function(oe){return oe==="x"?A:oe==="y"?p:S},L=function(oe){return oe[i-1]<oe[0]?-1:1},R=E(v[1]),I=E(v[3]),P=E(v[5]),D=C(v[1]).length,q=C(v[3]).length,N=C(v[5]).length,U=!1,G=function(oe,te,V){return D*(q*oe+te)+V},ee=L(E(v[1])),Q=L(E(v[3])),j=L(E(v[5]));for(a=0;a<N-1;a++){for(o=0;o<q-1;o++){for(s=0;s<D-1;s++){var O=G(a,o,s),Z=G(a,o,s+1),K=G(a,o+1,s),$=G(a+1,o,s);if((!(R[O]*ee<R[Z]*ee)||!(I[O]*Q<I[K]*Q)||!(P[O]*j<P[$]*j))&&(U=!0),U)break}if(U)break}if(U)break}return U&&(U7.warn("Encountered arbitrary coordinates! Unable to input data grid."),y()),{xMin:u,yMin:c,zMin:d,xMax:l,yMax:f,zMax:h,Xs:A,Ys:p,Zs:S,len:i,fill:v}}function B7(e){return U7.distinctVals(e).vals}function dv(e,t){if(t===void 0&&(t=e.length),U7.isTypedArray(e))return e.subarray(0,t);for(var r=[],n=0;n<t;n++)r[n]=+e[n];return r}y2e.exports={calc:nyt,filter:dv,processGrid:m2e}});var H7=J((oBt,x2e)=>{"use strict";var iyt=Uu(),ayt=D5().processGrid,R5=D5().filter;x2e.exports=function(t,r){r._len=Math.min(r.x.length,r.y.length,r.z.length,r.value.length),r._x=R5(r.x,r._len),r._y=R5(r.y,r._len),r._z=R5(r.z,r._len),r._value=R5(r.value,r._len);var n=ayt(r);r._gridFill=n.fill,r._Xs=n.Xs,r._Ys=n.Ys,r._Zs=n.Zs,r._len=n.len;for(var i=1/0,a=-1/0,o=0;o<r._len;o++){var s=r._value[o];i=Math.min(i,s),a=Math.max(a,s)}r._minValues=i,r._maxValues=a,r._vMin=r.isomin===void 0||r.isomin===null?i:r.isomin,r._vMax=r.isomax===void 0||r.isomax===null?a:r.isomax,iyt(t,r,{vals:[r._vMin,r._vMax],containerStr:"",cLetter:"c"})}});var Ax=J((sBt,b2e)=>{"use strict";b2e.exports=function(t,r,n,i){i=i||t.length;for(var a=new Array(i),o=0;o<i;o++)a[o]=[t[o],r[o],n[o]];return a}});var P5=J((lBt,A2e)=>{"use strict";var oyt=ao().gl_mesh3d,syt=Z0().parseColorScale,lyt=gt().isArrayOrTypedArray,uyt=Ac(),fyt=Qa().extractOpts,w2e=Ax(),S_=function(e,t){for(var r=t.length-1;r>0;r--){var n=Math.min(t[r],t[r-1]),i=Math.max(t[r],t[r-1]);if(i>n&&n<e&&e<=i)return{id:r,distRatio:(i-e)/(i-n)}}return{id:0,distRatio:0}};function _2e(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name="",this.data=null,this.showContour=!1}var j7=_2e.prototype;j7.handlePick=function(e){if(e.object===this.mesh){var t=e.data.index,r=this.data._meshX[t],n=this.data._meshY[t],i=this.data._meshZ[t],a=this.data._Ys.length,o=this.data._Zs.length,s=S_(r,this.data._Xs).id,l=S_(n,this.data._Ys).id,u=S_(i,this.data._Zs).id,f=e.index=u+o*l+o*a*s;e.traceCoordinate=[this.data._meshX[f],this.data._meshY[f],this.data._meshZ[f],this.data._value[f]];var c=this.data.hovertext||this.data.text;return lyt(c)&&c[f]!==void 0?e.textLabel=c[f]:c&&(e.textLabel=c),!0}};j7.update=function(e){var t=this.scene,r=t.fullSceneLayout;this.data=T2e(e);function n(l,u,f,c){return u.map(function(h){return l.d2l(h,0,c)*f})}var i=w2e(n(r.xaxis,e._meshX,t.dataScale[0],e.xcalendar),n(r.yaxis,e._meshY,t.dataScale[1],e.ycalendar),n(r.zaxis,e._meshZ,t.dataScale[2],e.zcalendar)),a=w2e(e._meshI,e._meshJ,e._meshK),o={positions:i,cells:a,lightPosition:[e.lightposition.x,e.lightposition.y,e.lightposition.z],ambient:e.lighting.ambient,diffuse:e.lighting.diffuse,specular:e.lighting.specular,roughness:e.lighting.roughness,fresnel:e.lighting.fresnel,vertexNormalsEpsilon:e.lighting.vertexnormalsepsilon,faceNormalsEpsilon:e.lighting.facenormalsepsilon,opacity:e.opacity,contourEnable:e.contour.show,contourColor:uyt(e.contour.color).slice(0,3),contourWidth:e.contour.width,useFacetNormals:e.flatshading},s=fyt(e);o.vertexIntensity=e._meshIntensity,o.vertexIntensityBounds=[s.min,s.max],o.colormap=syt(e),this.mesh.update(o)};j7.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};var cyt=["xyz","xzy","yxz","yzx","zxy","zyx"];function T2e(e){e._meshI=[],e._meshJ=[],e._meshK=[];var t=e.surface.show,r=e.spaceframe.show,n=e.surface.fill,i=e.spaceframe.fill,a=!1,o=!1,s=0,l,u,f=e._Xs,c=e._Ys,h=e._Zs,d=f.length,v=c.length,m=h.length,b=cyt.indexOf(e._gridFill.replace(/-/g,"").replace(/\+/g,"")),g=function(Ae,Pe,He){switch(b){case 5:return He+m*Pe+m*v*Ae;case 4:return He+m*Ae+m*d*Pe;case 3:return Pe+v*He+v*m*Ae;case 2:return Pe+v*Ae+v*d*He;case 1:return Ae+d*He+d*m*Pe;default:return Ae+d*Pe+d*v*He}},_=e._minValues,T=e._maxValues,w=e._vMin,k=e._vMax,x,M,A,p;function S(Ae,Pe,He){for(var Fe=p.length,ke=u;ke<Fe;ke++)if(Ae===x[ke]&&Pe===M[ke]&&He===A[ke])return ke;return-1}function y(){u=l}function E(){x=[],M=[],A=[],p=[],l=0,y()}function C(Ae,Pe,He,Fe){return x.push(Ae),M.push(Pe),A.push(He),p.push(Fe),l++,l-1}function L(Ae,Pe,He){return e._meshI.push(Ae),e._meshJ.push(Pe),e._meshK.push(He),s++,s-1}function R(Ae,Pe,He){for(var Fe=[],ke=0;ke<Ae.length;ke++)Fe[ke]=(Ae[ke]+Pe[ke]+He[ke])/3;return Fe}function I(Ae,Pe,He){for(var Fe=[],ke=0;ke<Ae.length;ke++)Fe[ke]=Ae[ke]*(1-He)+He*Pe[ke];return Fe}var P;function D(Ae){P=Ae}function q(Ae,Pe){var He=Ae[0],Fe=Ae[1],ke=Ae[2],Ue=R(He,Fe,ke),Ge=Math.sqrt(1-P),lt=I(Ue,He,Ge),it=I(Ue,Fe,Ge),wt=I(Ue,ke,Ge),_t=Pe[0],Tt=Pe[1],nt=Pe[2];return{xyzv:[[He,Fe,it],[it,lt,He],[Fe,ke,wt],[wt,it,Fe],[ke,He,lt],[lt,wt,ke]],abc:[[_t,Tt,-1],[-1,-1,_t],[Tt,nt,-1],[-1,-1,Tt],[nt,_t,-1],[-1,-1,nt]]}}function N(Ae,Pe){return Ae==="all"||Ae===null?!0:Ae.indexOf(Pe)>-1}function U(Ae,Pe){return Ae===null?Pe:Ae}function G(Ae,Pe,He){y();var Fe=[Pe],ke=[He];if(P>=1)Fe=[Pe],ke=[He];else if(P>0){var Ue=q(Pe,He);Fe=Ue.xyzv,ke=Ue.abc}for(var Ge=0;Ge<Fe.length;Ge++){Pe=Fe[Ge],He=ke[Ge];for(var lt=[],it=0;it<3;it++){var wt=Pe[it][0],_t=Pe[it][1],Tt=Pe[it][2],nt=Pe[it][3],bt=He[it]>-1?He[it]:S(wt,_t,Tt);bt>-1?lt[it]=bt:lt[it]=C(wt,_t,Tt,U(Ae,nt))}L(lt[0],lt[1],lt[2])}}function ee(Ae,Pe,He){var Fe=function(ke,Ue,Ge){G(Ae,[Pe[ke],Pe[Ue],Pe[Ge]],[He[ke],He[Ue],He[Ge]])};Fe(0,1,2),Fe(2,3,0)}function Q(Ae,Pe,He){var Fe=function(ke,Ue,Ge){G(Ae,[Pe[ke],Pe[Ue],Pe[Ge]],[He[ke],He[Ue],He[Ge]])};Fe(0,1,2),Fe(3,0,1),Fe(2,3,0),Fe(1,2,3)}function j(Ae,Pe,He,Fe){var ke=Ae[3];ke<He&&(ke=He),ke>Fe&&(ke=Fe);for(var Ue=(Ae[3]-ke)/(Ae[3]-Pe[3]+1e-9),Ge=[],lt=0;lt<4;lt++)Ge[lt]=(1-Ue)*Ae[lt]+Ue*Pe[lt];return Ge}function O(Ae,Pe,He){return Ae>=Pe&&Ae<=He}function Z(Ae){var Pe=.001*(k-w);return Ae>=w-Pe&&Ae<=k+Pe}function K(Ae){for(var Pe=[],He=0;He<4;He++){var Fe=Ae[He];Pe.push([e._x[Fe],e._y[Fe],e._z[Fe],e._value[Fe]])}return Pe}var $=3;function oe(Ae,Pe,He,Fe,ke,Ue){Ue||(Ue=1),He=[-1,-1,-1];var Ge=!1,lt=[O(Pe[0][3],Fe,ke),O(Pe[1][3],Fe,ke),O(Pe[2][3],Fe,ke)];if(!lt[0]&&!lt[1]&&!lt[2])return!1;var it=function(_t,Tt,nt){return Z(Tt[0][3])&&Z(Tt[1][3])&&Z(Tt[2][3])?(G(_t,Tt,nt),!0):Ue<$?oe(_t,Tt,nt,w,k,++Ue):!1};if(lt[0]&<[1]&<[2])return it(Ae,Pe,He)||Ge;var wt=!1;return[[0,1,2],[2,0,1],[1,2,0]].forEach(function(_t){if(lt[_t[0]]&<[_t[1]]&&!lt[_t[2]]){var Tt=Pe[_t[0]],nt=Pe[_t[1]],bt=Pe[_t[2]],At=j(bt,Tt,Fe,ke),Ye=j(bt,nt,Fe,ke);Ge=it(Ae,[Ye,At,Tt],[-1,-1,He[_t[0]]])||Ge,Ge=it(Ae,[Tt,nt,Ye],[He[_t[0]],He[_t[1]],-1])||Ge,wt=!0}}),wt||[[0,1,2],[1,2,0],[2,0,1]].forEach(function(_t){if(lt[_t[0]]&&!lt[_t[1]]&&!lt[_t[2]]){var Tt=Pe[_t[0]],nt=Pe[_t[1]],bt=Pe[_t[2]],At=j(nt,Tt,Fe,ke),Ye=j(bt,Tt,Fe,ke);Ge=it(Ae,[Ye,At,Tt],[-1,-1,He[_t[0]]])||Ge,wt=!0}}),Ge}function te(Ae,Pe,He,Fe){var ke=!1,Ue=K(Pe),Ge=[O(Ue[0][3],He,Fe),O(Ue[1][3],He,Fe),O(Ue[2][3],He,Fe),O(Ue[3][3],He,Fe)];if(!Ge[0]&&!Ge[1]&&!Ge[2]&&!Ge[3])return ke;if(Ge[0]&&Ge[1]&&Ge[2]&&Ge[3])return o&&(ke=Q(Ae,Ue,Pe)||ke),ke;var lt=!1;return[[0,1,2,3],[3,0,1,2],[2,3,0,1],[1,2,3,0]].forEach(function(it){if(Ge[it[0]]&&Ge[it[1]]&&Ge[it[2]]&&!Ge[it[3]]){var wt=Ue[it[0]],_t=Ue[it[1]],Tt=Ue[it[2]],nt=Ue[it[3]];if(o)ke=G(Ae,[wt,_t,Tt],[Pe[it[0]],Pe[it[1]],Pe[it[2]]])||ke;else{var bt=j(nt,wt,He,Fe),At=j(nt,_t,He,Fe),Ye=j(nt,Tt,He,Fe);ke=G(null,[bt,At,Ye],[-1,-1,-1])||ke}lt=!0}}),lt||([[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2],[0,2,3,1],[1,3,2,0]].forEach(function(it){if(Ge[it[0]]&&Ge[it[1]]&&!Ge[it[2]]&&!Ge[it[3]]){var wt=Ue[it[0]],_t=Ue[it[1]],Tt=Ue[it[2]],nt=Ue[it[3]],bt=j(Tt,wt,He,Fe),At=j(Tt,_t,He,Fe),Ye=j(nt,_t,He,Fe),je=j(nt,wt,He,Fe);o?(ke=G(Ae,[wt,je,bt],[Pe[it[0]],-1,-1])||ke,ke=G(Ae,[_t,At,Ye],[Pe[it[1]],-1,-1])||ke):ke=ee(null,[bt,At,Ye,je],[-1,-1,-1,-1])||ke,lt=!0}}),lt)||[[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2]].forEach(function(it){if(Ge[it[0]]&&!Ge[it[1]]&&!Ge[it[2]]&&!Ge[it[3]]){var wt=Ue[it[0]],_t=Ue[it[1]],Tt=Ue[it[2]],nt=Ue[it[3]],bt=j(_t,wt,He,Fe),At=j(Tt,wt,He,Fe),Ye=j(nt,wt,He,Fe);o?(ke=G(Ae,[wt,bt,At],[Pe[it[0]],-1,-1])||ke,ke=G(Ae,[wt,At,Ye],[Pe[it[0]],-1,-1])||ke,ke=G(Ae,[wt,Ye,bt],[Pe[it[0]],-1,-1])||ke):ke=G(null,[bt,At,Ye],[-1,-1,-1])||ke,lt=!0}}),ke}function V(Ae,Pe,He,Fe,ke,Ue,Ge,lt,it,wt,_t){var Tt=!1;return a&&(N(Ae,"A")&&(Tt=te(null,[Pe,He,Fe,Ue],wt,_t)||Tt),N(Ae,"B")&&(Tt=te(null,[He,Fe,ke,it],wt,_t)||Tt),N(Ae,"C")&&(Tt=te(null,[He,Ue,Ge,it],wt,_t)||Tt),N(Ae,"D")&&(Tt=te(null,[Fe,Ue,lt,it],wt,_t)||Tt),N(Ae,"E")&&(Tt=te(null,[He,Fe,Ue,it],wt,_t)||Tt)),o&&(Tt=te(Ae,[He,Fe,Ue,it],wt,_t)||Tt),Tt}function ne(Ae,Pe,He,Fe,ke,Ue,Ge,lt){return[lt[0]===!0?!0:oe(Ae,K([Pe,He,Fe]),[Pe,He,Fe],Ue,Ge),lt[1]===!0?!0:oe(Ae,K([Fe,ke,Pe]),[Fe,ke,Pe],Ue,Ge)]}function W(Ae,Pe,He,Fe,ke,Ue,Ge,lt,it){return lt?ne(Ae,Pe,He,ke,Fe,Ue,Ge,it):ne(Ae,He,ke,Fe,Pe,Ue,Ge,it)}function fe(Ae,Pe,He,Fe,ke,Ue,Ge){var lt=!1,it,wt,_t,Tt,nt=function(){lt=oe(Ae,[it,wt,_t],[-1,-1,-1],ke,Ue)||lt,lt=oe(Ae,[_t,Tt,it],[-1,-1,-1],ke,Ue)||lt},bt=Ge[0],At=Ge[1],Ye=Ge[2];return bt&&(it=I(K([g(Pe,He-0,Fe-0)])[0],K([g(Pe-1,He-0,Fe-0)])[0],bt),wt=I(K([g(Pe,He-0,Fe-1)])[0],K([g(Pe-1,He-0,Fe-1)])[0],bt),_t=I(K([g(Pe,He-1,Fe-1)])[0],K([g(Pe-1,He-1,Fe-1)])[0],bt),Tt=I(K([g(Pe,He-1,Fe-0)])[0],K([g(Pe-1,He-1,Fe-0)])[0],bt),nt()),At&&(it=I(K([g(Pe-0,He,Fe-0)])[0],K([g(Pe-0,He-1,Fe-0)])[0],At),wt=I(K([g(Pe-0,He,Fe-1)])[0],K([g(Pe-0,He-1,Fe-1)])[0],At),_t=I(K([g(Pe-1,He,Fe-1)])[0],K([g(Pe-1,He-1,Fe-1)])[0],At),Tt=I(K([g(Pe-1,He,Fe-0)])[0],K([g(Pe-1,He-1,Fe-0)])[0],At),nt()),Ye&&(it=I(K([g(Pe-0,He-0,Fe)])[0],K([g(Pe-0,He-0,Fe-1)])[0],Ye),wt=I(K([g(Pe-0,He-1,Fe)])[0],K([g(Pe-0,He-1,Fe-1)])[0],Ye),_t=I(K([g(Pe-1,He-1,Fe)])[0],K([g(Pe-1,He-1,Fe-1)])[0],Ye),Tt=I(K([g(Pe-1,He-0,Fe)])[0],K([g(Pe-1,He-0,Fe-1)])[0],Ye),nt()),lt}function ge(Ae,Pe,He,Fe,ke,Ue,Ge,lt,it,wt,_t,Tt){var nt=Ae;return Tt?(a&&Ae==="even"&&(nt=null),V(nt,Pe,He,Fe,ke,Ue,Ge,lt,it,wt,_t)):(a&&Ae==="odd"&&(nt=null),V(nt,it,lt,Ge,Ue,ke,Fe,He,Pe,wt,_t))}function Ce(Ae,Pe,He,Fe,ke){for(var Ue=[],Ge=0,lt=0;lt<Pe.length;lt++)for(var it=Pe[lt],wt=1;wt<m;wt++)for(var _t=1;_t<v;_t++)Ue.push(W(Ae,g(it,_t-1,wt-1),g(it,_t-1,wt),g(it,_t,wt-1),g(it,_t,wt),He,Fe,(it+_t+wt)%2,ke&&ke[Ge]?ke[Ge]:[])),Ge++;return Ue}function Ne(Ae,Pe,He,Fe,ke){for(var Ue=[],Ge=0,lt=0;lt<Pe.length;lt++)for(var it=Pe[lt],wt=1;wt<d;wt++)for(var _t=1;_t<m;_t++)Ue.push(W(Ae,g(wt-1,it,_t-1),g(wt,it,_t-1),g(wt-1,it,_t),g(wt,it,_t),He,Fe,(wt+it+_t)%2,ke&&ke[Ge]?ke[Ge]:[])),Ge++;return Ue}function pe(Ae,Pe,He,Fe,ke){for(var Ue=[],Ge=0,lt=0;lt<Pe.length;lt++)for(var it=Pe[lt],wt=1;wt<v;wt++)for(var _t=1;_t<d;_t++)Ue.push(W(Ae,g(_t-1,wt-1,it),g(_t-1,wt,it),g(_t,wt-1,it),g(_t,wt,it),He,Fe,(_t+wt+it)%2,ke&&ke[Ge]?ke[Ge]:[])),Ge++;return Ue}function me(Ae,Pe,He){for(var Fe=1;Fe<m;Fe++)for(var ke=1;ke<v;ke++)for(var Ue=1;Ue<d;Ue++)ge(Ae,g(Ue-1,ke-1,Fe-1),g(Ue-1,ke-1,Fe),g(Ue-1,ke,Fe-1),g(Ue-1,ke,Fe),g(Ue,ke-1,Fe-1),g(Ue,ke-1,Fe),g(Ue,ke,Fe-1),g(Ue,ke,Fe),Pe,He,(Ue+ke+Fe)%2)}function Ie(Ae,Pe,He){o=!0,me(Ae,Pe,He),o=!1}function Re(Ae,Pe,He){a=!0,me(Ae,Pe,He),a=!1}function ze(Ae,Pe,He,Fe,ke,Ue){for(var Ge=[],lt=0,it=0;it<Pe.length;it++)for(var wt=Pe[it],_t=1;_t<m;_t++)for(var Tt=1;Tt<v;Tt++)Ge.push(fe(Ae,wt,Tt,_t,He,Fe,ke[it],Ue&&Ue[lt]?Ue[lt]:[])),lt++;return Ge}function Be(Ae,Pe,He,Fe,ke,Ue){for(var Ge=[],lt=0,it=0;it<Pe.length;it++)for(var wt=Pe[it],_t=1;_t<d;_t++)for(var Tt=1;Tt<m;Tt++)Ge.push(fe(Ae,_t,wt,Tt,He,Fe,ke[it],Ue&&Ue[lt]?Ue[lt]:[])),lt++;return Ge}function tt(Ae,Pe,He,Fe,ke,Ue){for(var Ge=[],lt=0,it=0;it<Pe.length;it++)for(var wt=Pe[it],_t=1;_t<v;_t++)for(var Tt=1;Tt<d;Tt++)Ge.push(fe(Ae,Tt,_t,wt,He,Fe,ke[it],Ue&&Ue[lt]?Ue[lt]:[])),lt++;return Ge}function rt(Ae,Pe){for(var He=[],Fe=Ae;Fe<Pe;Fe++)He.push(Fe);return He}function ce(){for(var Ae=0;Ae<d;Ae++)for(var Pe=0;Pe<v;Pe++)for(var He=0;He<m;He++){var Fe=g(Ae,Pe,He);C(e._x[Fe],e._y[Fe],e._z[Fe],e._value[Fe])}}function Ee(){E(),ce();var Ae=null;if(r&&i&&(D(i),Ie(Ae,w,k)),t&&n){D(n);for(var Pe=e.surface.pattern,He=e.surface.count,Fe=0;Fe<He;Fe++){var ke=He===1?.5:Fe/(He-1),Ue=(1-ke)*w+ke*k,Ge=Math.abs(Ue-_),lt=Math.abs(Ue-T),it=Ge>lt?[_,Ue]:[Ue,T];Re(Pe,it[0],it[1])}}var wt=[[Math.min(w,T),Math.max(w,T)],[Math.min(_,k),Math.max(_,k)]];["x","y","z"].forEach(function(_t){for(var Tt=[],nt=0;nt<wt.length;nt++){var bt=0,At=wt[nt][0],Ye=wt[nt][1],je=e.slices[_t];if(je.show&&je.fill){D(je.fill);var $e=[],ve=[],Y=[];if(je.locations.length)for(var ie=0;ie<je.locations.length;ie++){var Te=S_(je.locations[ie],_t==="x"?f:_t==="y"?c:h);Te.distRatio===0?$e.push(Te.id):Te.id>0&&(ve.push(Te.id),_t==="x"?Y.push([Te.distRatio,0,0]):_t==="y"?Y.push([0,Te.distRatio,0]):Y.push([0,0,Te.distRatio]))}else _t==="x"?$e=rt(1,d-1):_t==="y"?$e=rt(1,v-1):$e=rt(1,m-1);ve.length>0&&(_t==="x"?Tt[bt]=ze(Ae,ve,At,Ye,Y,Tt[bt]):_t==="y"?Tt[bt]=Be(Ae,ve,At,Ye,Y,Tt[bt]):Tt[bt]=tt(Ae,ve,At,Ye,Y,Tt[bt]),bt++),$e.length>0&&(_t==="x"?Tt[bt]=Ce(Ae,$e,At,Ye,Tt[bt]):_t==="y"?Tt[bt]=Ne(Ae,$e,At,Ye,Tt[bt]):Tt[bt]=pe(Ae,$e,At,Ye,Tt[bt]),bt++)}var Ve=e.caps[_t];Ve.show&&Ve.fill&&(D(Ve.fill),_t==="x"?Tt[bt]=Ce(Ae,[0,d-1],At,Ye,Tt[bt]):_t==="y"?Tt[bt]=Ne(Ae,[0,v-1],At,Ye,Tt[bt]):Tt[bt]=pe(Ae,[0,m-1],At,Ye,Tt[bt]),bt++)}}),s===0&&E(),e._meshX=x,e._meshY=M,e._meshZ=A,e._meshIntensity=p,e._Xs=f,e._Ys=c,e._Zs=h}return Ee(),e}function hyt(e,t){var r=e.glplot.gl,n=oyt({gl:r}),i=new _2e(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}A2e.exports={findNearestOnAxis:S_,generateIsoMeshes:T2e,createIsosurfaceTrace:hyt}});var k2e=J((uBt,M2e)=>{"use strict";M2e.exports={attributes:L5(),supplyDefaults:O7().supplyDefaults,calc:H7(),colorbar:{min:"cmin",max:"cmax"},plot:P5().createIsosurfaceTrace,moduleType:"trace",name:"isosurface",basePlotModule:J0(),categories:["gl3d","showLegend"],meta:{description:["Draws isosurfaces between iso-min and iso-max values with coordinates given by","four 1-dimensional arrays containing the `value`, `x`, `y` and `z` of every vertex","of a uniform or non-uniform 3-D grid. Horizontal or vertical slices, caps as well as","spaceframe between iso-min and iso-max values could also be drawn using this trace."].join(" ")}}});var C2e=J((fBt,S2e)=>{"use strict";S2e.exports=k2e()});var Y7=J((cBt,L2e)=>{"use strict";var vyt=Da(),qo=L5(),dyt=A_(),E2e=Qi(),V7=cn().extendFlat,pyt=La().overrideAll,C_=L2e.exports=pyt(V7({x:qo.x,y:qo.y,z:qo.z,value:qo.value,isomin:qo.isomin,isomax:qo.isomax,surface:qo.surface,spaceframe:{show:{valType:"boolean",dflt:!1,description:["Displays/hides tetrahedron shapes between minimum and","maximum iso-values. Often useful when either caps or","surfaces are disabled or filled with values less than 1."].join(" ")},fill:{valType:"number",min:0,max:1,dflt:1,description:["Sets the fill ratio of the `spaceframe` elements. The default fill value","is 1 meaning that they are entirely shaded. Applying a `fill` ratio less","than one would allow the creation of openings parallel to the edges."].join(" ")}},slices:qo.slices,caps:qo.caps,text:qo.text,hovertext:qo.hovertext,xhoverformat:qo.xhoverformat,yhoverformat:qo.yhoverformat,zhoverformat:qo.zhoverformat,valuehoverformat:qo.valuehoverformat,hovertemplate:qo.hovertemplate},vyt("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{colorbar:qo.colorbar,opacity:qo.opacity,opacityscale:dyt.opacityscale,lightposition:qo.lightposition,lighting:qo.lighting,flatshading:qo.flatshading,contour:qo.contour,hoverinfo:V7({},E2e.hoverinfo),showlegend:V7({},E2e.showlegend,{dflt:!1})}),"calc","nested");C_.x.editType=C_.y.editType=C_.z.editType=C_.value.editType="calc+clearAxisTypes";C_.transforms=void 0});var R2e=J((hBt,D2e)=>{"use strict";var gyt=gt(),myt=Y7(),yyt=O7().supplyIsoDefaults,xyt=P7().opacityscaleDefaults;D2e.exports=function(t,r,n,i){function a(o,s){return gyt.coerce(t,r,myt,o,s)}yyt(t,r,n,i,a),xyt(t,r,i,a)}});var F2e=J((vBt,q2e)=>{"use strict";var byt=ao().gl_mesh3d,wyt=Z0().parseColorScale,_yt=gt().isArrayOrTypedArray,Tyt=Ac(),Ayt=Qa().extractOpts,P2e=Ax(),G7=P5().findNearestOnAxis,Myt=P5().generateIsoMeshes;function I2e(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name="",this.data=null,this.showContour=!1}var W7=I2e.prototype;W7.handlePick=function(e){if(e.object===this.mesh){var t=e.data.index,r=this.data._meshX[t],n=this.data._meshY[t],i=this.data._meshZ[t],a=this.data._Ys.length,o=this.data._Zs.length,s=G7(r,this.data._Xs).id,l=G7(n,this.data._Ys).id,u=G7(i,this.data._Zs).id,f=e.index=u+o*l+o*a*s;e.traceCoordinate=[this.data._meshX[f],this.data._meshY[f],this.data._meshZ[f],this.data._value[f]];var c=this.data.hovertext||this.data.text;return _yt(c)&&c[f]!==void 0?e.textLabel=c[f]:c&&(e.textLabel=c),!0}};W7.update=function(e){var t=this.scene,r=t.fullSceneLayout;this.data=Myt(e);function n(l,u,f,c){return u.map(function(h){return l.d2l(h,0,c)*f})}var i=P2e(n(r.xaxis,e._meshX,t.dataScale[0],e.xcalendar),n(r.yaxis,e._meshY,t.dataScale[1],e.ycalendar),n(r.zaxis,e._meshZ,t.dataScale[2],e.zcalendar)),a=P2e(e._meshI,e._meshJ,e._meshK),o={positions:i,cells:a,lightPosition:[e.lightposition.x,e.lightposition.y,e.lightposition.z],ambient:e.lighting.ambient,diffuse:e.lighting.diffuse,specular:e.lighting.specular,roughness:e.lighting.roughness,fresnel:e.lighting.fresnel,vertexNormalsEpsilon:e.lighting.vertexnormalsepsilon,faceNormalsEpsilon:e.lighting.facenormalsepsilon,opacity:e.opacity,opacityscale:e.opacityscale,contourEnable:e.contour.show,contourColor:Tyt(e.contour.color).slice(0,3),contourWidth:e.contour.width,useFacetNormals:e.flatshading},s=Ayt(e);o.vertexIntensity=e._meshIntensity,o.vertexIntensityBounds=[s.min,s.max],o.colormap=wyt(e),this.mesh.update(o)};W7.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function kyt(e,t){var r=e.glplot.gl,n=byt({gl:r}),i=new I2e(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}q2e.exports=kyt});var N2e=J((dBt,z2e)=>{"use strict";z2e.exports={attributes:Y7(),supplyDefaults:R2e(),calc:H7(),colorbar:{min:"cmin",max:"cmax"},plot:F2e(),moduleType:"trace",name:"volume",basePlotModule:J0(),categories:["gl3d","showLegend"],meta:{description:["Draws volume trace between iso-min and iso-max values with coordinates given by","four 1-dimensional arrays containing the `value`, `x`, `y` and `z` of every vertex","of a uniform or non-uniform 3-D grid. Horizontal or vertical slices, caps as well as","spaceframe between iso-min and iso-max values could also be drawn using this trace."].join(" ")}}});var B2e=J((pBt,O2e)=>{"use strict";O2e.exports=N2e()});var j2e=J((gBt,H2e)=>{"use strict";var Syt=zr(),U2e=gt(),Cyt=vl(),Eyt=Tx();H2e.exports=function(t,r,n,i){function a(f,c){return U2e.coerce(t,r,Eyt,f,c)}function o(f){var c=f.map(function(h){var d=a(h);return d&&U2e.isArrayOrTypedArray(d)?d:null});return c.every(function(h){return h&&h.length===c[0].length})&&c}var s=o(["x","y","z"]);if(!s){r.visible=!1;return}if(o(["i","j","k"]),r.i&&(!r.j||!r.k)||r.j&&(!r.k||!r.i)||r.k&&(!r.i||!r.j)){r.visible=!1;return}var l=Syt.getComponentMethod("calendars","handleTraceDefaults");l(t,r,["x","y","z"],i),["lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading","alphahull","delaunayaxis","opacity"].forEach(function(f){a(f)});var u=a("contour.show");u&&(a("contour.color"),a("contour.width")),"intensity"in t?(a("intensity"),a("intensitymode"),Cyt(t,r,i,a,{prefix:"",cLetter:"c"})):(r.showscale=!1,"facecolor"in t?a("facecolor"):"vertexcolor"in t?a("vertexcolor"):a("color",n)),a("text"),a("hovertext"),a("hovertemplate"),a("xhoverformat"),a("yhoverformat"),a("zhoverformat"),r._length=null}});var Y2e=J((mBt,V2e)=>{"use strict";var Lyt=Uu();V2e.exports=function(t,r){r.intensity&&Lyt(t,r,{vals:r.intensity,containerStr:"",cLetter:"c"})}});var J2e=J((yBt,Z2e)=>{"use strict";var Dyt=ao().gl_mesh3d,Ryt=ao().delaunay_triangulate,Pyt=ao().alpha_shape,Iyt=ao().convex_hull,qyt=Z0().parseColorScale,Fyt=gt().isArrayOrTypedArray,$7=Ac(),zyt=Qa().extractOpts,G2e=Ax();function X2e(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name="",this.color="#fff",this.data=null,this.showContour=!1}var K7=X2e.prototype;K7.handlePick=function(e){if(e.object===this.mesh){var t=e.index=e.data.index;e.data._cellCenter?e.traceCoordinate=e.data.dataCoordinate:e.traceCoordinate=[this.data.x[t],this.data.y[t],this.data.z[t]];var r=this.data.hovertext||this.data.text;return Fyt(r)&&r[t]!==void 0?e.textLabel=r[t]:r&&(e.textLabel=r),!0}};function W2e(e){for(var t=[],r=e.length,n=0;n<r;n++)t[n]=$7(e[n]);return t}function X7(e,t,r,n){for(var i=[],a=t.length,o=0;o<a;o++)i[o]=e.d2l(t[o],0,n)*r;return i}function Z7(e){for(var t=[],r=e.length,n=0;n<r;n++)t[n]=Math.round(e[n]);return t}function Nyt(e,t){for(var r=["x","y","z"].indexOf(e),n=[],i=t.length,a=0;a<i;a++)n[a]=[t[a][(r+1)%3],t[a][(r+2)%3]];return Ryt(n)}function J7(e,t){for(var r=e.length,n=0;n<r;n++)if(e[n]<=-.5||e[n]>=t-.5)return!1;return!0}K7.update=function(e){var t=this.scene,r=t.fullSceneLayout;this.data=e;var n=e.x.length,i=G2e(X7(r.xaxis,e.x,t.dataScale[0],e.xcalendar),X7(r.yaxis,e.y,t.dataScale[1],e.ycalendar),X7(r.zaxis,e.z,t.dataScale[2],e.zcalendar)),a;if(e.i&&e.j&&e.k){if(e.i.length!==e.j.length||e.j.length!==e.k.length||!J7(e.i,n)||!J7(e.j,n)||!J7(e.k,n))return;a=G2e(Z7(e.i),Z7(e.j),Z7(e.k))}else e.alphahull===0?a=Iyt(i):e.alphahull>0?a=Pyt(e.alphahull,i):a=Nyt(e.delaunayaxis,i);var o={positions:i,cells:a,lightPosition:[e.lightposition.x,e.lightposition.y,e.lightposition.z],ambient:e.lighting.ambient,diffuse:e.lighting.diffuse,specular:e.lighting.specular,roughness:e.lighting.roughness,fresnel:e.lighting.fresnel,vertexNormalsEpsilon:e.lighting.vertexnormalsepsilon,faceNormalsEpsilon:e.lighting.facenormalsepsilon,opacity:e.opacity,contourEnable:e.contour.show,contourColor:$7(e.contour.color).slice(0,3),contourWidth:e.contour.width,useFacetNormals:e.flatshading};if(e.intensity){var s=zyt(e);this.color="#fff";var l=e.intensitymode;o[l+"Intensity"]=e.intensity,o[l+"IntensityBounds"]=[s.min,s.max],o.colormap=qyt(e)}else e.vertexcolor?(this.color=e.vertexcolor[0],o.vertexColors=W2e(e.vertexcolor)):e.facecolor?(this.color=e.facecolor[0],o.cellColors=W2e(e.facecolor)):(this.color=e.color,o.meshColor=$7(e.color));this.mesh.update(o)};K7.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function Oyt(e,t){var r=e.glplot.gl,n=Dyt({gl:r}),i=new X2e(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}Z2e.exports=Oyt});var K2e=J((xBt,$2e)=>{"use strict";$2e.exports={attributes:Tx(),supplyDefaults:j2e(),calc:Y2e(),colorbar:{min:"cmin",max:"cmax"},plot:J2e(),moduleType:"trace",name:"mesh3d",basePlotModule:J0(),categories:["gl3d","showLegend"],meta:{description:["Draws sets of triangles with coordinates given by","three 1-dimensional arrays in `x`, `y`, `z` and","(1) a sets of `i`, `j`, `k` indices","(2) Delaunay triangulation or","(3) the Alpha-shape algorithm or","(4) the Convex-hull algorithm"].join(" ")}}});var ewe=J((bBt,Q2e)=>{"use strict";Q2e.exports=K2e()});var e9=J((wBt,rwe)=>{"use strict";var Byt=Da(),Mx=Ga().axisHoverFormat,Uyt=Jn().hovertemplateAttrs,Hyt=Tx(),twe=Qi(),Q7=cn().extendFlat,E_={x:{valType:"data_array",editType:"calc+clearAxisTypes",description:["Sets the x coordinates of the vector field","and of the displayed cones."].join(" ")},y:{valType:"data_array",editType:"calc+clearAxisTypes",description:["Sets the y coordinates of the vector field","and of the displayed cones."].join(" ")},z:{valType:"data_array",editType:"calc+clearAxisTypes",description:["Sets the z coordinates of the vector field","and of the displayed cones."].join(" ")},u:{valType:"data_array",editType:"calc",description:"Sets the x components of the vector field."},v:{valType:"data_array",editType:"calc",description:"Sets the y components of the vector field."},w:{valType:"data_array",editType:"calc",description:"Sets the z components of the vector field."},sizemode:{valType:"enumerated",values:["scaled","absolute","raw"],editType:"calc",dflt:"scaled",description:["Determines whether `sizeref` is set as a *scaled* (i.e unitless) scalar","(normalized by the max u/v/w norm in the vector field) or as","*absolute* value (in the same units as the vector field).","To display sizes in actual vector length use *raw*."].join(" ")},sizeref:{valType:"number",editType:"calc",min:0,description:["Adjusts the cone size scaling.","The size of the cones is determined by their u/v/w norm multiplied a factor and `sizeref`.",'This factor (computed internally) corresponds to the minimum "time" to travel across',"two successive x/y/z positions at the average velocity of those two successive positions.","All cones in a given trace use the same factor.","With `sizemode` set to *raw*, its default value is *1*.","With `sizemode` set to *scaled*, `sizeref` is unitless, its default value is *0.5*.","With `sizemode` set to *absolute*, `sizeref` has the same units as the u/v/w vector field,","its the default value is half the sample's maximum vector norm."].join(" ")},anchor:{valType:"enumerated",editType:"calc",values:["tip","tail","cm","center"],dflt:"cm",description:["Sets the cones' anchor with respect to their x/y/z positions.","Note that *cm* denote the cone's center of mass which corresponds to","1/4 from the tail to tip."].join(" ")},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc",description:["Sets the text elements associated with the cones.","If trace `hoverinfo` contains a *text* flag and *hovertext* is not set,","these elements will be seen in the hover labels."].join(" ")},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc",description:"Same as `text`."},hovertemplate:Uyt({editType:"calc"},{keys:["norm"]}),uhoverformat:Mx("u",1),vhoverformat:Mx("v",1),whoverformat:Mx("w",1),xhoverformat:Mx("x"),yhoverformat:Mx("y"),zhoverformat:Mx("z"),showlegend:Q7({},twe.showlegend,{dflt:!1})};Q7(E_,Byt("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"}));var jyt=["opacity","lightposition","lighting"];jyt.forEach(function(e){E_[e]=Hyt[e]});E_.hoverinfo=Q7({},twe.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","text","name"],dflt:"x+y+z+norm+text+name"});E_.transforms=void 0;rwe.exports=E_});var iwe=J((_Bt,nwe)=>{"use strict";var Vyt=gt(),Yyt=vl(),Gyt=e9();nwe.exports=function(t,r,n,i){function a(d,v){return Vyt.coerce(t,r,Gyt,d,v)}var o=a("u"),s=a("v"),l=a("w"),u=a("x"),f=a("y"),c=a("z");if(!o||!o.length||!s||!s.length||!l||!l.length||!u||!u.length||!f||!f.length||!c||!c.length){r.visible=!1;return}var h=a("sizemode");a("sizeref",h==="raw"?1:.5),a("anchor"),a("lighting.ambient"),a("lighting.diffuse"),a("lighting.specular"),a("lighting.roughness"),a("lighting.fresnel"),a("lightposition.x"),a("lightposition.y"),a("lightposition.z"),Yyt(t,r,i,a,{prefix:"",cLetter:"c"}),a("text"),a("hovertext"),a("hovertemplate"),a("uhoverformat"),a("vhoverformat"),a("whoverformat"),a("xhoverformat"),a("yhoverformat"),a("zhoverformat"),r._length=null}});var owe=J((TBt,awe)=>{"use strict";var Wyt=Uu();awe.exports=function(t,r){for(var n=r.u,i=r.v,a=r.w,o=Math.min(r.x.length,r.y.length,r.z.length,n.length,i.length,a.length),s=-1/0,l=1/0,u=0;u<o;u++){var f=n[u],c=i[u],h=a[u],d=Math.sqrt(f*f+c*c+h*h);s=Math.max(s,d),l=Math.min(l,d)}r._len=o,r._normMax=s,Wyt(t,r,{vals:[l,s],containerStr:"",cLetter:"c"})}});var cwe=J((ABt,fwe)=>{"use strict";var Xyt=ao().gl_cone3d,Zyt=ao().gl_cone3d.createConeMesh,Jyt=gt().simpleMap,$yt=Z0().parseColorScale,Kyt=Qa().extractOpts,Qyt=gt().isArrayOrTypedArray,swe=Ax();function lwe(e,t){this.scene=e,this.uid=t,this.mesh=null,this.data=null}var t9=lwe.prototype;t9.handlePick=function(e){if(e.object===this.mesh){var t=e.index=e.data.index,r=this.data.x[t],n=this.data.y[t],i=this.data.z[t],a=this.data.u[t],o=this.data.v[t],s=this.data.w[t];e.traceCoordinate=[r,n,i,a,o,s,Math.sqrt(a*a+o*o+s*s)];var l=this.data.hovertext||this.data.text;return Qyt(l)&&l[t]!==void 0?e.textLabel=l[t]:l&&(e.textLabel=l),!0}};var ext={xaxis:0,yaxis:1,zaxis:2},txt={tip:1,tail:0,cm:.25,center:.5},rxt={tip:1,tail:1,cm:.75,center:.5};function uwe(e,t){var r=e.fullSceneLayout,n=e.dataScale,i={};function a(f,c){var h=r[c],d=n[ext[c]];return Jyt(f,function(v){return h.d2l(v)*d})}i.vectors=swe(a(t.u,"xaxis"),a(t.v,"yaxis"),a(t.w,"zaxis"),t._len),i.positions=swe(a(t.x,"xaxis"),a(t.y,"yaxis"),a(t.z,"zaxis"),t._len);var o=Kyt(t);i.colormap=$yt(t),i.vertexIntensityBounds=[o.min/t._normMax,o.max/t._normMax],i.coneOffset=txt[t.anchor];var s=t.sizemode;s==="scaled"?i.coneSize=t.sizeref||.5:s==="absolute"?i.coneSize=t.sizeref&&t._normMax?t.sizeref/t._normMax:.5:s==="raw"&&(i.coneSize=t.sizeref),i.coneSizemode=s;var l=Xyt(i),u=t.lightposition;return l.lightPosition=[u.x,u.y,u.z],l.ambient=t.lighting.ambient,l.diffuse=t.lighting.diffuse,l.specular=t.lighting.specular,l.roughness=t.lighting.roughness,l.fresnel=t.lighting.fresnel,l.opacity=t.opacity,t._pad=rxt[t.anchor]*l.vectorScale*l.coneScale*t._normMax,l}t9.update=function(e){this.data=e;var t=uwe(this.scene,e);this.mesh.update(t)};t9.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function nxt(e,t){var r=e.glplot.gl,n=uwe(e,t),i=Zyt(r,n),a=new lwe(e,t.uid);return a.mesh=i,a.data=t,i._trace=a,e.glplot.add(i),a}fwe.exports=nxt});var vwe=J((MBt,hwe)=>{"use strict";hwe.exports={moduleType:"trace",name:"cone",basePlotModule:J0(),categories:["gl3d","showLegend"],attributes:e9(),supplyDefaults:iwe(),colorbar:{min:"cmin",max:"cmax"},calc:owe(),plot:cwe(),eventData:function(e,t){return e.norm=t.traceCoordinate[6],e},meta:{description:["Use cone traces to visualize vector fields.","","Specify a vector field using 6 1D arrays,","3 position arrays `x`, `y` and `z`","and 3 vector component arrays `u`, `v`, `w`.","The cones are drawn exactly at the positions given","by `x`, `y` and `z`."].join(" ")}}});var pwe=J((kBt,dwe)=>{"use strict";dwe.exports=vwe()});var n9=J((SBt,mwe)=>{"use strict";var ixt=Da(),kx=Ga().axisHoverFormat,axt=Jn().hovertemplateAttrs,oxt=Tx(),gwe=Qi(),r9=cn().extendFlat,L_={x:{valType:"data_array",editType:"calc+clearAxisTypes",description:"Sets the x coordinates of the vector field."},y:{valType:"data_array",editType:"calc+clearAxisTypes",description:"Sets the y coordinates of the vector field."},z:{valType:"data_array",editType:"calc+clearAxisTypes",description:"Sets the z coordinates of the vector field."},u:{valType:"data_array",editType:"calc",description:"Sets the x components of the vector field."},v:{valType:"data_array",editType:"calc",description:"Sets the y components of the vector field."},w:{valType:"data_array",editType:"calc",description:"Sets the z components of the vector field."},starts:{x:{valType:"data_array",editType:"calc",description:["Sets the x components of the starting position of the streamtubes"].join(" ")},y:{valType:"data_array",editType:"calc",description:["Sets the y components of the starting position of the streamtubes"].join(" ")},z:{valType:"data_array",editType:"calc",description:["Sets the z components of the starting position of the streamtubes"].join(" ")},editType:"calc"},maxdisplayed:{valType:"integer",min:0,dflt:1e3,editType:"calc",description:["The maximum number of displayed segments in a streamtube."].join(" ")},sizeref:{valType:"number",editType:"calc",min:0,dflt:1,description:["The scaling factor for the streamtubes.","The default is 1, which avoids two max divergence tubes from touching","at adjacent starting positions."].join(" ")},text:{valType:"string",dflt:"",editType:"calc",description:["Sets a text element associated with this trace.","If trace `hoverinfo` contains a *text* flag,","this text element will be seen in all hover labels.","Note that streamtube traces do not support array `text` values."].join(" ")},hovertext:{valType:"string",dflt:"",editType:"calc",description:"Same as `text`."},hovertemplate:axt({editType:"calc"},{keys:["tubex","tubey","tubez","tubeu","tubev","tubew","norm","divergence"]}),uhoverformat:kx("u",1),vhoverformat:kx("v",1),whoverformat:kx("w",1),xhoverformat:kx("x"),yhoverformat:kx("y"),zhoverformat:kx("z"),showlegend:r9({},gwe.showlegend,{dflt:!1})};r9(L_,ixt("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"}));var sxt=["opacity","lightposition","lighting"];sxt.forEach(function(e){L_[e]=oxt[e]});L_.hoverinfo=r9({},gwe.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","divergence","text","name"],dflt:"x+y+z+norm+text+name"});L_.transforms=void 0;mwe.exports=L_});var xwe=J((CBt,ywe)=>{"use strict";var lxt=gt(),uxt=vl(),fxt=n9();ywe.exports=function(t,r,n,i){function a(h,d){return lxt.coerce(t,r,fxt,h,d)}var o=a("u"),s=a("v"),l=a("w"),u=a("x"),f=a("y"),c=a("z");if(!o||!o.length||!s||!s.length||!l||!l.length||!u||!u.length||!f||!f.length||!c||!c.length){r.visible=!1;return}a("starts.x"),a("starts.y"),a("starts.z"),a("maxdisplayed"),a("sizeref"),a("lighting.ambient"),a("lighting.diffuse"),a("lighting.specular"),a("lighting.roughness"),a("lighting.fresnel"),a("lightposition.x"),a("lightposition.y"),a("lightposition.z"),uxt(t,r,i,a,{prefix:"",cLetter:"c"}),a("text"),a("hovertext"),a("hovertemplate"),a("uhoverformat"),a("vhoverformat"),a("whoverformat"),a("xhoverformat"),a("yhoverformat"),a("zhoverformat"),r._length=null}});var Swe=J((EBt,kwe)=>{"use strict";var _we=ao().gl_streamtube3d,cxt=_we.createTubeMesh,hxt=gt(),vxt=Z0().parseColorScale,dxt=Qa().extractOpts,bwe=Ax(),Twe={xaxis:0,yaxis:1,zaxis:2};function Awe(e,t){this.scene=e,this.uid=t,this.mesh=null,this.data=null}var a9=Awe.prototype;a9.handlePick=function(e){var t=this.scene.fullSceneLayout,r=this.scene.dataScale;function n(o,s){var l=t[s],u=r[Twe[s]];return l.l2c(o)/u}if(e.object===this.mesh){var i=e.data.position,a=e.data.velocity;return e.traceCoordinate=[n(i[0],"xaxis"),n(i[1],"yaxis"),n(i[2],"zaxis"),n(a[0],"xaxis"),n(a[1],"yaxis"),n(a[2],"zaxis"),e.data.intensity*this.data._normMax,e.data.divergence],e.textLabel=this.data.hovertext||this.data.text,!0}};function wwe(e){var t=e.length,r;return t>2?r=e.slice(1,t-1):t===2?r=[(e[0]+e[1])/2]:r=e,r}function i9(e){var t=e.length;return t===1?[.5,.5]:[e[1]-e[0],e[t-1]-e[t-2]]}function Mwe(e,t){var r=e.fullSceneLayout,n=e.dataScale,i=t._len,a={};function o(E,C){var L=r[C],R=n[Twe[C]];return hxt.simpleMap(E,function(I){return L.d2l(I)*R})}if(a.vectors=bwe(o(t._u,"xaxis"),o(t._v,"yaxis"),o(t._w,"zaxis"),i),!i)return{positions:[],cells:[]};var s=o(t._Xs,"xaxis"),l=o(t._Ys,"yaxis"),u=o(t._Zs,"zaxis");a.meshgrid=[s,l,u],a.gridFill=t._gridFill;var f=t._slen;if(f)a.startingPositions=bwe(o(t._startsX,"xaxis"),o(t._startsY,"yaxis"),o(t._startsZ,"zaxis"));else{for(var c=l[0],h=wwe(s),d=wwe(u),v=new Array(h.length*d.length),m=0,b=0;b<h.length;b++)for(var g=0;g<d.length;g++)v[m++]=[h[b],c,d[g]];a.startingPositions=v}a.colormap=vxt(t),a.tubeSize=t.sizeref,a.maxLength=t.maxdisplayed;var _=o(t._xbnds,"xaxis"),T=o(t._ybnds,"yaxis"),w=o(t._zbnds,"zaxis"),k=i9(s),x=i9(l),M=i9(u),A=[[_[0]-k[0],T[0]-x[0],w[0]-M[0]],[_[1]+k[1],T[1]+x[1],w[1]+M[1]]],p=_we(a,A),S=dxt(t);p.vertexIntensityBounds=[S.min/t._normMax,S.max/t._normMax];var y=t.lightposition;return p.lightPosition=[y.x,y.y,y.z],p.ambient=t.lighting.ambient,p.diffuse=t.lighting.diffuse,p.specular=t.lighting.specular,p.roughness=t.lighting.roughness,p.fresnel=t.lighting.fresnel,p.opacity=t.opacity,t._pad=p.tubeScale*t.sizeref*2,p}a9.update=function(e){this.data=e;var t=Mwe(this.scene,e);this.mesh.update(t)};a9.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function pxt(e,t){var r=e.glplot.gl,n=Mwe(e,t),i=cxt(r,n),a=new Awe(e,t.uid);return a.mesh=i,a.data=t,i._trace=a,e.glplot.add(i),a}kwe.exports=pxt});var Ewe=J((LBt,Cwe)=>{"use strict";Cwe.exports={moduleType:"trace",name:"streamtube",basePlotModule:J0(),categories:["gl3d","showLegend"],attributes:n9(),supplyDefaults:xwe(),colorbar:{min:"cmin",max:"cmax"},calc:D5().calc,plot:Swe(),eventData:function(e,t){return e.tubex=e.x,e.tubey=e.y,e.tubez=e.z,e.tubeu=t.traceCoordinate[3],e.tubev=t.traceCoordinate[4],e.tubew=t.traceCoordinate[5],e.norm=t.traceCoordinate[6],e.divergence=t.traceCoordinate[7],delete e.x,delete e.y,delete e.z,e},meta:{description:["Use a streamtube trace to visualize flow in a vector field.","","Specify a vector field using 6 1D arrays of equal length,","3 position arrays `x`, `y` and `z`","and 3 vector component arrays `u`, `v`, and `w`.","","By default, the tubes' starting positions will be cut from the vector field's","x-z plane at its minimum y value.","To specify your own starting position, use attributes `starts.x`, `starts.y`","and `starts.z`.","The color is encoded by the norm of (u, v, w), and the local radius","by the divergence of (u, v, w)."].join(" ")}}});var Dwe=J((DBt,Lwe)=>{"use strict";Lwe.exports=Ewe()});var D_=J((RBt,Iwe)=>{"use strict";var gxt=Jn().hovertemplateAttrs,mxt=Jn().texttemplateAttrs,yxt=gg(),pv=ds(),xxt=Qi(),Rwe=Da(),bxt=Ss().dash,fm=cn().extendFlat,wxt=La().overrideAll,Mc=pv.marker,Pwe=pv.line,_xt=Mc.line;Iwe.exports=wxt({lon:{valType:"data_array",description:"Sets the longitude coordinates (in degrees East)."},lat:{valType:"data_array",description:"Sets the latitude coordinates (in degrees North)."},locations:{valType:"data_array",description:["Sets the coordinates via location IDs or names.","Coordinates correspond to the centroid of each location given.","See `locationmode` for more info."].join(" ")},locationmode:{valType:"enumerated",values:["ISO-3","USA-states","country names","geojson-id"],dflt:"ISO-3",description:["Determines the set of locations used to match entries in `locations`","to regions on the map.","Values *ISO-3*, *USA-states*, *country names* correspond to features on","the base map and value *geojson-id* corresponds to features from a custom","GeoJSON linked to the `geojson` attribute."].join(" ")},geojson:{valType:"any",editType:"calc",description:["Sets optional GeoJSON data associated with this trace.","If not given, the features on the base map are used when `locations` is set.","It can be set as a valid GeoJSON object or as a URL string.","Note that we only accept GeoJSONs of type *FeatureCollection* or *Feature*","with geometries of type *Polygon* or *MultiPolygon*."].join(" ")},featureidkey:{valType:"string",editType:"calc",dflt:"id",description:["Sets the key in GeoJSON features which is used as id to match the items","included in the `locations` array.","Only has an effect when `geojson` is set.","Support nested property, for example *properties.name*."].join(" ")},mode:fm({},pv.mode,{dflt:"markers"}),text:fm({},pv.text,{description:["Sets text elements associated with each (lon,lat) pair","or item in `locations`.","If a single string, the same string appears over","all the data points.","If an array of string, the items are mapped in order to the","this trace's (lon,lat) or `locations` coordinates.","If trace `hoverinfo` contains a *text* flag and *hovertext* is not set,","these elements will be seen in the hover labels."].join(" ")}),texttemplate:mxt({editType:"plot"},{keys:["lat","lon","location","text"]}),hovertext:fm({},pv.hovertext,{description:["Sets hover text elements associated with each (lon,lat) pair","or item in `locations`.","If a single string, the same string appears over","all the data points.","If an array of string, the items are mapped in order to the","this trace's (lon,lat) or `locations` coordinates.","To be seen, trace `hoverinfo` must contain a *text* flag."].join(" ")}),textfont:pv.textfont,textposition:pv.textposition,line:{color:Pwe.color,width:Pwe.width,dash:bxt},connectgaps:pv.connectgaps,marker:fm({symbol:Mc.symbol,opacity:Mc.opacity,angle:Mc.angle,angleref:fm({},Mc.angleref,{values:["previous","up","north"],description:["Sets the reference for marker angle.","With *previous*, angle 0 points along the line from the previous point to this one.","With *up*, angle 0 points toward the top of the screen.","With *north*, angle 0 points north based on the current map projection."].join(" ")}),standoff:Mc.standoff,size:Mc.size,sizeref:Mc.sizeref,sizemin:Mc.sizemin,sizemode:Mc.sizemode,colorbar:Mc.colorbar,line:fm({width:_xt.width},Rwe("marker.line")),gradient:Mc.gradient},Rwe("marker")),fill:{valType:"enumerated",values:["none","toself"],dflt:"none",description:["Sets the area to fill with a solid color.","Use with `fillcolor` if not *none*.","*toself* connects the endpoints of the trace (or each segment","of the trace if it has gaps) into a closed shape."].join(" ")},fillcolor:yxt(),selected:pv.selected,unselected:pv.unselected,hoverinfo:fm({},xxt.hoverinfo,{flags:["lon","lat","location","text","name"]}),hovertemplate:gxt()},"calc","nested")});var Fwe=J((PBt,qwe)=>{"use strict";var o9=gt(),s9=fs(),Txt=bg(),Axt=wg(),Mxt=_g(),kxt=uy(),Sxt=D_();qwe.exports=function(t,r,n,i){function a(d,v){return o9.coerce(t,r,Sxt,d,v)}var o=a("locations"),s;if(o&&o.length){var l=a("geojson"),u;(typeof l=="string"&&l!==""||o9.isPlainObject(l))&&(u="geojson-id");var f=a("locationmode",u);f==="geojson-id"&&a("featureidkey"),s=o.length}else{var c=a("lon")||[],h=a("lat")||[];s=Math.min(c.length,h.length)}if(!s){r.visible=!1;return}r._length=s,a("text"),a("hovertext"),a("hovertemplate"),a("mode"),s9.hasMarkers(r)&&Txt(t,r,n,i,a,{gradient:!0}),s9.hasLines(r)&&(Axt(t,r,n,i,a),a("connectgaps")),s9.hasText(r)&&(a("texttemplate"),Mxt(t,r,i,a)),a("fill"),r.fill!=="none"&&kxt(t,r,n,a),o9.coerceSelectionMarkerOpacity(r,a)}});var Owe=J((IBt,Nwe)=>{"use strict";var zwe=nn();Nwe.exports=function(t,r,n){var i={},a=n[r.geo]._subplot,o=a.mockAxis,s=t.lonlat;return i.lonLabel=zwe.tickText(o,o.c2l(s[0]),!0).text,i.latLabel=zwe.tickText(o,o.c2l(s[1]),!0).text,i}});var Vwe=J((qBt,jwe)=>{"use strict";var l9=dn(),Bwe=oi().BADNUM,Cxt=Ag(),Ext=nd(),Lxt=oh(),Dxt=gt().isArrayOrTypedArray,Uwe=gt()._;function Hwe(e){return e&&typeof e=="string"}jwe.exports=function(t,r){var n=Dxt(r.locations),i=n?r.locations.length:r._length,a=new Array(i),o;r.geojson?o=function(h){return Hwe(h)||l9(h)}:o=Hwe;for(var s=0;s<i;s++){var l=a[s]={};if(n){var u=r.locations[s];l.loc=o(u)?u:null}else{var f=r.lon[s],c=r.lat[s];l9(f)&&l9(c)?l.lonlat=[+f,+c]:l.lonlat=[Bwe,Bwe]}}return Ext(a,r),Cxt(t,r),Lxt(a,r),i&&(a[0].t={labels:{lat:Uwe(t,"lat:")+" ",lon:Uwe(t,"lon:")+" "}}),a}});var R_=J(_l=>{"use strict";_l.projNames={airy:"airy",aitoff:"aitoff","albers usa":"albersUsa",albers:"albers",august:"august","azimuthal equal area":"azimuthalEqualArea","azimuthal equidistant":"azimuthalEquidistant",baker:"baker",bertin1953:"bertin1953",boggs:"boggs",bonne:"bonne",bottomley:"bottomley",bromley:"bromley",collignon:"collignon","conic conformal":"conicConformal","conic equal area":"conicEqualArea","conic equidistant":"conicEquidistant",craig:"craig",craster:"craster","cylindrical equal area":"cylindricalEqualArea","cylindrical stereographic":"cylindricalStereographic",eckert1:"eckert1",eckert2:"eckert2",eckert3:"eckert3",eckert4:"eckert4",eckert5:"eckert5",eckert6:"eckert6",eisenlohr:"eisenlohr","equal earth":"equalEarth",equirectangular:"equirectangular",fahey:"fahey","foucaut sinusoidal":"foucautSinusoidal",foucaut:"foucaut",ginzburg4:"ginzburg4",ginzburg5:"ginzburg5",ginzburg6:"ginzburg6",ginzburg8:"ginzburg8",ginzburg9:"ginzburg9",gnomonic:"gnomonic","gringorten quincuncial":"gringortenQuincuncial",gringorten:"gringorten",guyou:"guyou",hammer:"hammer",hill:"hill",homolosine:"homolosine",hufnagel:"hufnagel",hyperelliptical:"hyperelliptical",kavrayskiy7:"kavrayskiy7",lagrange:"lagrange",larrivee:"larrivee",laskowski:"laskowski",loximuthal:"loximuthal",mercator:"mercator",miller:"miller",mollweide:"mollweide","mt flat polar parabolic":"mtFlatPolarParabolic","mt flat polar quartic":"mtFlatPolarQuartic","mt flat polar sinusoidal":"mtFlatPolarSinusoidal","natural earth":"naturalEarth","natural earth1":"naturalEarth1","natural earth2":"naturalEarth2","nell hammer":"nellHammer",nicolosi:"nicolosi",orthographic:"orthographic",patterson:"patterson","peirce quincuncial":"peirceQuincuncial",polyconic:"polyconic","rectangular polyconic":"rectangularPolyconic",robinson:"robinson",satellite:"satellite","sinu mollweide":"sinuMollweide",sinusoidal:"sinusoidal",stereographic:"stereographic",times:"times","transverse mercator":"transverseMercator","van der grinten":"vanDerGrinten","van der grinten2":"vanDerGrinten2","van der grinten3":"vanDerGrinten3","van der grinten4":"vanDerGrinten4",wagner4:"wagner4",wagner6:"wagner6",wiechel:"wiechel","winkel tripel":"winkel3",winkel3:"winkel3"};_l.axesNames=["lonaxis","lataxis"];_l.lonaxisSpan={orthographic:180,"azimuthal equal area":360,"azimuthal equidistant":360,"conic conformal":180,gnomonic:160,stereographic:180,"transverse mercator":180,"*":360};_l.lataxisSpan={"conic conformal":150,stereographic:179.5,"*":180};_l.scopeDefaults={world:{lonaxisRange:[-180,180],lataxisRange:[-90,90],projType:"equirectangular",projRotate:[0,0,0]},usa:{lonaxisRange:[-180,-50],lataxisRange:[15,80],projType:"albers usa"},europe:{lonaxisRange:[-30,60],lataxisRange:[30,85],projType:"conic conformal",projRotate:[15,0,0],projParallels:[0,60]},asia:{lonaxisRange:[22,160],lataxisRange:[-15,55],projType:"mercator",projRotate:[0,0,0]},africa:{lonaxisRange:[-30,60],lataxisRange:[-40,40],projType:"mercator",projRotate:[0,0,0]},"north america":{lonaxisRange:[-180,-45],lataxisRange:[5,85],projType:"conic conformal",projRotate:[-100,0,0],projParallels:[29.5,45.5]},"south america":{lonaxisRange:[-100,-30],lataxisRange:[-60,15],projType:"mercator",projRotate:[0,0,0]}};_l.clipPad=.001;_l.precision=.1;_l.landColor="#F0DC82";_l.waterColor="#3399FF";_l.locationmodeToLayer={"ISO-3":"countries","USA-states":"subunits","country names":"countries"};_l.sphereSVG={type:"Sphere"};_l.fillLayers={ocean:1,land:1,lakes:1};_l.lineLayers={subunits:1,countries:1,coastlines:1,rivers:1,frame:1};_l.layers=["bg","ocean","land","lakes","subunits","countries","coastlines","rivers","lataxis","lonaxis","frame","backplot","frontplot"];_l.layersForChoropleth=["bg","ocean","land","subunits","countries","coastlines","lataxis","lonaxis","frame","backplot","rivers","lakes","frontplot"];_l.layerNameToAdjective={ocean:"ocean",land:"land",lakes:"lake",subunits:"subunit",countries:"country",coastlines:"coastline",rivers:"river",frame:"frame"}});var u9=J((I5,Ywe)=>{(function(e,t){typeof I5=="object"&&typeof Ywe<"u"?t(I5):typeof define=="function"&&define.amd?define(["exports"],t):(e=e||self,t(e.topojson=e.topojson||{}))})(I5,function(e){"use strict";function t(T){return T}function r(T){if(T==null)return t;var w,k,x=T.scale[0],M=T.scale[1],A=T.translate[0],p=T.translate[1];return function(S,y){y||(w=k=0);var E=2,C=S.length,L=new Array(C);for(L[0]=(w+=S[0])*x+A,L[1]=(k+=S[1])*M+p;E<C;)L[E]=S[E],++E;return L}}function n(T){var w=r(T.transform),k,x=1/0,M=x,A=-x,p=-x;function S(E){E=w(E),E[0]<x&&(x=E[0]),E[0]>A&&(A=E[0]),E[1]<M&&(M=E[1]),E[1]>p&&(p=E[1])}function y(E){switch(E.type){case"GeometryCollection":E.geometries.forEach(y);break;case"Point":S(E.coordinates);break;case"MultiPoint":E.coordinates.forEach(S);break}}T.arcs.forEach(function(E){for(var C=-1,L=E.length,R;++C<L;)R=w(E[C],C),R[0]<x&&(x=R[0]),R[0]>A&&(A=R[0]),R[1]<M&&(M=R[1]),R[1]>p&&(p=R[1])});for(k in T.objects)y(T.objects[k]);return[x,M,A,p]}function i(T,w){for(var k,x=T.length,M=x-w;M<--x;)k=T[M],T[M++]=T[x],T[x]=k}function a(T,w){return typeof w=="string"&&(w=T.objects[w]),w.type==="GeometryCollection"?{type:"FeatureCollection",features:w.geometries.map(function(k){return o(T,k)})}:o(T,w)}function o(T,w){var k=w.id,x=w.bbox,M=w.properties==null?{}:w.properties,A=s(T,w);return k==null&&x==null?{type:"Feature",properties:M,geometry:A}:x==null?{type:"Feature",id:k,properties:M,geometry:A}:{type:"Feature",id:k,bbox:x,properties:M,geometry:A}}function s(T,w){var k=r(T.transform),x=T.arcs;function M(C,L){L.length&&L.pop();for(var R=x[C<0?~C:C],I=0,P=R.length;I<P;++I)L.push(k(R[I],I));C<0&&i(L,P)}function A(C){return k(C)}function p(C){for(var L=[],R=0,I=C.length;R<I;++R)M(C[R],L);return L.length<2&&L.push(L[0]),L}function S(C){for(var L=p(C);L.length<4;)L.push(L[0]);return L}function y(C){return C.map(S)}function E(C){var L=C.type,R;switch(L){case"GeometryCollection":return{type:L,geometries:C.geometries.map(E)};case"Point":R=A(C.coordinates);break;case"MultiPoint":R=C.coordinates.map(A);break;case"LineString":R=p(C.arcs);break;case"MultiLineString":R=C.arcs.map(p);break;case"Polygon":R=y(C.arcs);break;case"MultiPolygon":R=C.arcs.map(y);break;default:return null}return{type:L,coordinates:R}}return E(w)}function l(T,w){var k={},x={},M={},A=[],p=-1;w.forEach(function(E,C){var L=T.arcs[E<0?~E:E],R;L.length<3&&!L[1][0]&&!L[1][1]&&(R=w[++p],w[p]=E,w[C]=R)}),w.forEach(function(E){var C=S(E),L=C[0],R=C[1],I,P;if(I=M[L])if(delete M[I.end],I.push(E),I.end=R,P=x[R]){delete x[P.start];var D=P===I?I:I.concat(P);x[D.start=I.start]=M[D.end=P.end]=D}else x[I.start]=M[I.end]=I;else if(I=x[R])if(delete x[I.start],I.unshift(E),I.start=L,P=M[L]){delete M[P.end];var q=P===I?I:P.concat(I);x[q.start=P.start]=M[q.end=I.end]=q}else x[I.start]=M[I.end]=I;else I=[E],x[I.start=L]=M[I.end=R]=I});function S(E){var C=T.arcs[E<0?~E:E],L=C[0],R;return T.transform?(R=[0,0],C.forEach(function(I){R[0]+=I[0],R[1]+=I[1]})):R=C[C.length-1],E<0?[R,L]:[L,R]}function y(E,C){for(var L in E){var R=E[L];delete C[R.start],delete R.start,delete R.end,R.forEach(function(I){k[I<0?~I:I]=1}),A.push(R)}}return y(M,x),y(x,M),w.forEach(function(E){k[E<0?~E:E]||A.push([E])}),A}function u(T){return s(T,f.apply(this,arguments))}function f(T,w,k){var x,M,A;if(arguments.length>1)x=c(T,w,k);else for(M=0,x=new Array(A=T.arcs.length);M<A;++M)x[M]=M;return{type:"MultiLineString",arcs:l(T,x)}}function c(T,w,k){var x=[],M=[],A;function p(L){var R=L<0?~L:L;(M[R]||(M[R]=[])).push({i:L,g:A})}function S(L){L.forEach(p)}function y(L){L.forEach(S)}function E(L){L.forEach(y)}function C(L){switch(A=L,L.type){case"GeometryCollection":L.geometries.forEach(C);break;case"LineString":S(L.arcs);break;case"MultiLineString":case"Polygon":y(L.arcs);break;case"MultiPolygon":E(L.arcs);break}}return C(w),M.forEach(k==null?function(L){x.push(L[0].i)}:function(L){k(L[0].g,L[L.length-1].g)&&x.push(L[0].i)}),x}function h(T){for(var w=-1,k=T.length,x,M=T[k-1],A=0;++w<k;)x=M,M=T[w],A+=x[0]*M[1]-x[1]*M[0];return Math.abs(A)}function d(T){return s(T,v.apply(this,arguments))}function v(T,w){var k={},x=[],M=[];w.forEach(A);function A(y){switch(y.type){case"GeometryCollection":y.geometries.forEach(A);break;case"Polygon":p(y.arcs);break;case"MultiPolygon":y.arcs.forEach(p);break}}function p(y){y.forEach(function(E){E.forEach(function(C){(k[C=C<0?~C:C]||(k[C]=[])).push(y)})}),x.push(y)}function S(y){return h(s(T,{type:"Polygon",arcs:[y]}).coordinates[0])}return x.forEach(function(y){if(!y._){var E=[],C=[y];for(y._=1,M.push(E);y=C.pop();)E.push(y),y.forEach(function(L){L.forEach(function(R){k[R<0?~R:R].forEach(function(I){I._||(I._=1,C.push(I))})})})}}),x.forEach(function(y){delete y._}),{type:"MultiPolygon",arcs:M.map(function(y){var E=[],C;if(y.forEach(function(D){D.forEach(function(q){q.forEach(function(N){k[N<0?~N:N].length<2&&E.push(N)})})}),E=l(T,E),(C=E.length)>1)for(var L=1,R=S(E[0]),I,P;L<C;++L)(I=S(E[L]))>R&&(P=E[0],E[0]=E[L],E[L]=P,R=I);return E}).filter(function(y){return y.length>0})}}function m(T,w){for(var k=0,x=T.length;k<x;){var M=k+x>>>1;T[M]<w?k=M+1:x=M}return k}function b(T){var w={},k=T.map(function(){return[]});function x(D,q){D.forEach(function(N){N<0&&(N=~N);var U=w[N];U?U.push(q):w[N]=[q]})}function M(D,q){D.forEach(function(N){x(N,q)})}function A(D,q){D.type==="GeometryCollection"?D.geometries.forEach(function(N){A(N,q)}):D.type in p&&p[D.type](D.arcs,q)}var p={LineString:x,MultiLineString:M,Polygon:M,MultiPolygon:function(D,q){D.forEach(function(N){M(N,q)})}};T.forEach(A);for(var S in w)for(var y=w[S],E=y.length,C=0;C<E;++C)for(var L=C+1;L<E;++L){var R=y[C],I=y[L],P;(P=k[R])[S=m(P,I)]!==I&&P.splice(S,0,I),(P=k[I])[S=m(P,R)]!==R&&P.splice(S,0,R)}return k}function g(T){if(T==null)return t;var w,k,x=T.scale[0],M=T.scale[1],A=T.translate[0],p=T.translate[1];return function(S,y){y||(w=k=0);var E=2,C=S.length,L=new Array(C),R=Math.round((S[0]-A)/x),I=Math.round((S[1]-p)/M);for(L[0]=R-w,w=R,L[1]=I-k,k=I;E<C;)L[E]=S[E],++E;return L}}function _(T,w){if(T.transform)throw new Error("already quantized");if(!w||!w.scale){if(!((p=Math.floor(w))>=2))throw new Error("n must be \u22652");y=T.bbox||n(T);var k=y[0],x=y[1],M=y[2],A=y[3],p;w={scale:[M-k?(M-k)/(p-1):1,A-x?(A-x)/(p-1):1],translate:[k,x]}}else y=T.bbox;var S=g(w),y,E,C=T.objects,L={};function R(D){return S(D)}function I(D){var q;switch(D.type){case"GeometryCollection":q={type:"GeometryCollection",geometries:D.geometries.map(I)};break;case"Point":q={type:"Point",coordinates:R(D.coordinates)};break;case"MultiPoint":q={type:"MultiPoint",coordinates:D.coordinates.map(R)};break;default:return D}return D.id!=null&&(q.id=D.id),D.bbox!=null&&(q.bbox=D.bbox),D.properties!=null&&(q.properties=D.properties),q}function P(D){var q=0,N=1,U=D.length,G,ee=new Array(U);for(ee[0]=S(D[0],0);++q<U;)((G=S(D[q],q))[0]||G[1])&&(ee[N++]=G);return N===1&&(ee[N++]=[0,0]),ee.length=N,ee}for(E in C)L[E]=I(C[E]);return{type:"Topology",bbox:y,transform:w,objects:L,arcs:T.arcs.map(P)}}e.bbox=n,e.feature=a,e.merge=d,e.mergeArcs=v,e.mesh=u,e.meshArcs=f,e.neighbors=b,e.quantize=_,e.transform=r,e.untransform=g,Object.defineProperty(e,"__esModule",{value:!0})})});var q5=J((zBt,Gwe)=>{"use strict";var f9=Gwe.exports={},Rxt=R_().locationmodeToLayer,Pxt=u9().feature;f9.getTopojsonName=function(e){return[e.scope.replace(/ /g,"-"),"_",e.resolution.toString(),"m"].join("")};f9.getTopojsonPath=function(e,t){return e+t+".json"};f9.getTopojsonFeatures=function(e,t){var r=Rxt[e.locationmode],n=t.objects[r];return Pxt(t,n).features}});var Wwe=J(P_=>{"use strict";var Ixt=oi().BADNUM;P_.calcTraceToLineCoords=function(e){for(var t=e[0].trace,r=t.connectgaps,n=[],i=[],a=0;a<e.length;a++){var o=e[a],s=o.lonlat;s[0]!==Ixt?i.push(s):!r&&i.length>0&&(n.push(i),i=[])}return i.length>0&&n.push(i),n};P_.makeLine=function(e){return e.length===1?{type:"LineString",coordinates:e[0]}:{type:"MultiLineString",coordinates:e}};P_.makePolygon=function(e){if(e.length===1)return{type:"Polygon",coordinates:e};for(var t=new Array(e.length),r=0;r<e.length;r++)t[r]=[e[r]];return{type:"MultiPolygon",coordinates:t}};P_.makeBlank=function(){return{type:"Point",coordinates:[]}}});var Zwe=J((OBt,Xwe)=>{Xwe.exports={AFG:"afghan",ALA:"\\b\\wland",ALB:"albania",DZA:"algeria",ASM:"^(?=.*americ).*samoa",AND:"andorra",AGO:"angola",AIA:"anguill?a",ATA:"antarctica",ATG:"antigua",ARG:"argentin",ARM:"armenia",ABW:"^(?!.*bonaire).*\\baruba",AUS:"australia",AUT:"^(?!.*hungary).*austria|\\baustri.*\\bemp",AZE:"azerbaijan",BHS:"bahamas",BHR:"bahrain",BGD:"bangladesh|^(?=.*east).*paki?stan",BRB:"barbados",BLR:"belarus|byelo",BEL:"^(?!.*luxem).*belgium",BLZ:"belize|^(?=.*british).*honduras",BEN:"benin|dahome",BMU:"bermuda",BTN:"bhutan",BOL:"bolivia",BES:"^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\bbes.?islands",BIH:"herzegovina|bosnia",BWA:"botswana|bechuana",BVT:"bouvet",BRA:"brazil",IOT:"british.?indian.?ocean",BRN:"brunei",BGR:"bulgaria",BFA:"burkina|\\bfaso|upper.?volta",BDI:"burundi",CPV:"verde",KHM:"cambodia|kampuchea|khmer",CMR:"cameroon",CAN:"canada",CYM:"cayman",CAF:"\\bcentral.african.republic",TCD:"\\bchad",CHL:"\\bchile",CHN:"^(?!.*\\bmac)(?!.*\\bhong)(?!.*\\btai)(?!.*\\brep).*china|^(?=.*peo)(?=.*rep).*china",CXR:"christmas",CCK:"\\bcocos|keeling",COL:"colombia",COM:"comoro",COG:"^(?!.*\\bdem)(?!.*\\bd[\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\bcongo",COK:"\\bcook",CRI:"costa.?rica",CIV:"ivoire|ivory",HRV:"croatia",CUB:"\\bcuba",CUW:"^(?!.*bonaire).*\\bcura(c|\xE7)ao",CYP:"cyprus",CSK:"czechoslovakia",CZE:"^(?=.*rep).*czech|czechia|bohemia",COD:"\\bdem.*congo|congo.*\\bdem|congo.*\\bd[\\.]?r|\\bd[\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc",DNK:"denmark",DJI:"djibouti",DMA:"dominica(?!n)",DOM:"dominican.rep",ECU:"ecuador",EGY:"egypt",SLV:"el.?salvador",GNQ:"guine.*eq|eq.*guine|^(?=.*span).*guinea",ERI:"eritrea",EST:"estonia",ETH:"ethiopia|abyssinia",FLK:"falkland|malvinas",FRO:"faroe|faeroe",FJI:"fiji",FIN:"finland",FRA:"^(?!.*\\bdep)(?!.*martinique).*france|french.?republic|\\bgaul",GUF:"^(?=.*french).*guiana",PYF:"french.?polynesia|tahiti",ATF:"french.?southern",GAB:"gabon",GMB:"gambia",GEO:"^(?!.*south).*georgia",DDR:"german.?democratic.?republic|democratic.?republic.*germany|east.germany",DEU:"^(?!.*east).*germany|^(?=.*\\bfed.*\\brep).*german",GHA:"ghana|gold.?coast",GIB:"gibraltar",GRC:"greece|hellenic|hellas",GRL:"greenland",GRD:"grenada",GLP:"guadeloupe",GUM:"\\bguam",GTM:"guatemala",GGY:"guernsey",GIN:"^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea",GNB:"bissau|^(?=.*portu).*guinea",GUY:"guyana|british.?guiana",HTI:"haiti",HMD:"heard.*mcdonald",VAT:"holy.?see|vatican|papal.?st",HND:"^(?!.*brit).*honduras",HKG:"hong.?kong",HUN:"^(?!.*austr).*hungary",ISL:"iceland",IND:"india(?!.*ocea)",IDN:"indonesia",IRN:"\\biran|persia",IRQ:"\\biraq|mesopotamia",IRL:"(^ireland)|(^republic.*ireland)",IMN:"^(?=.*isle).*\\bman",ISR:"israel",ITA:"italy",JAM:"jamaica",JPN:"japan",JEY:"jersey",JOR:"jordan",KAZ:"kazak",KEN:"kenya|british.?east.?africa|east.?africa.?prot",KIR:"kiribati",PRK:"^(?=.*democrat|people|north|d.*p.*.r).*\\bkorea|dprk|korea.*(d.*p.*r)",KWT:"kuwait",KGZ:"kyrgyz|kirghiz",LAO:"\\blaos?\\b",LVA:"latvia",LBN:"lebanon",LSO:"lesotho|basuto",LBR:"liberia",LBY:"libya",LIE:"liechtenstein",LTU:"lithuania",LUX:"^(?!.*belg).*luxem",MAC:"maca(o|u)",MDG:"madagascar|malagasy",MWI:"malawi|nyasa",MYS:"malaysia",MDV:"maldive",MLI:"\\bmali\\b",MLT:"\\bmalta",MHL:"marshall",MTQ:"martinique",MRT:"mauritania",MUS:"mauritius",MYT:"\\bmayotte",MEX:"\\bmexic",FSM:"fed.*micronesia|micronesia.*fed",MCO:"monaco",MNG:"mongolia",MNE:"^(?!.*serbia).*montenegro",MSR:"montserrat",MAR:"morocco|\\bmaroc",MOZ:"mozambique",MMR:"myanmar|burma",NAM:"namibia",NRU:"nauru",NPL:"nepal",NLD:"^(?!.*\\bant)(?!.*\\bcarib).*netherlands",ANT:"^(?=.*\\bant).*(nether|dutch)",NCL:"new.?caledonia",NZL:"new.?zealand",NIC:"nicaragua",NER:"\\bniger(?!ia)",NGA:"nigeria",NIU:"niue",NFK:"norfolk",MNP:"mariana",NOR:"norway",OMN:"\\boman|trucial",PAK:"^(?!.*east).*paki?stan",PLW:"palau",PSE:"palestin|\\bgaza|west.?bank",PAN:"panama",PNG:"papua|new.?guinea",PRY:"paraguay",PER:"peru",PHL:"philippines",PCN:"pitcairn",POL:"poland",PRT:"portugal",PRI:"puerto.?rico",QAT:"qatar",KOR:"^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\bkorea(?!.*d.*p.*r)",MDA:"moldov|b(a|e)ssarabia",REU:"r(e|\xE9)union",ROU:"r(o|u|ou)mania",RUS:"\\brussia|soviet.?union|u\\.?s\\.?s\\.?r|socialist.?republics",RWA:"rwanda",BLM:"barth(e|\xE9)lemy",SHN:"helena",KNA:"kitts|\\bnevis",LCA:"\\blucia",MAF:"^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)",SPM:"miquelon",VCT:"vincent",WSM:"^(?!.*amer).*samoa",SMR:"san.?marino",STP:"\\bs(a|\xE3)o.?tom(e|\xE9)",SAU:"\\bsa\\w*.?arabia",SEN:"senegal",SRB:"^(?!.*monte).*serbia",SYC:"seychell",SLE:"sierra",SGP:"singapore",SXM:"^(?!.*martin)(?!.*saba).*maarten",SVK:"^(?!.*cze).*slovak",SVN:"slovenia",SLB:"solomon",SOM:"somali",ZAF:"south.africa|s\\\\..?africa",SGS:"south.?georgia|sandwich",SSD:"\\bs\\w*.?sudan",ESP:"spain",LKA:"sri.?lanka|ceylon",SDN:"^(?!.*\\bs(?!u)).*sudan",SUR:"surinam|dutch.?guiana",SJM:"svalbard",SWZ:"swaziland",SWE:"sweden",CHE:"switz|swiss",SYR:"syria",TWN:"taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china",TJK:"tajik",THA:"thailand|\\bsiam",MKD:"macedonia|fyrom",TLS:"^(?=.*leste).*timor|^(?=.*east).*timor",TGO:"togo",TKL:"tokelau",TON:"tonga",TTO:"trinidad|tobago",TUN:"tunisia",TUR:"turkey",TKM:"turkmen",TCA:"turks",TUV:"tuvalu",UGA:"uganda",UKR:"ukrain",ARE:"emirates|^u\\.?a\\.?e\\.?$|united.?arab.?em",GBR:"united.?kingdom|britain|^u\\.?k\\.?$",TZA:"tanzania",USA:"united.?states\\b(?!.*islands)|\\bu\\.?s\\.?a\\.?\\b|^\\s*u\\.?s\\.?\\b(?!.*islands)",UMI:"minor.?outlying.?is",URY:"uruguay",UZB:"uzbek",VUT:"vanuatu|new.?hebrides",VEN:"venezuela",VNM:"^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam",VGB:"^(?=.*\\bu\\.?\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin",VIR:"^(?=.*\\bu\\.?\\s?s).*virgin|^(?=.*states).*virgin",WLF:"futuna|wallis",ESH:"western.sahara",YEM:"^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\bp\\.?d\\.?r).*yemen",YMD:"^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\bp\\.?d\\.?r).*yemen",YUG:"yugoslavia",ZMB:"zambia|northern.?rhodesia",EAZ:"zanzibar",ZWE:"zimbabwe|^(?!.*northern).*rhodesia"}});var p9=J(Bn=>{"use strict";Object.defineProperty(Bn,"__esModule",{value:!0});Bn.earthRadius=63710088e-1;Bn.factors={centimeters:Bn.earthRadius*100,centimetres:Bn.earthRadius*100,degrees:Bn.earthRadius/111325,feet:Bn.earthRadius*3.28084,inches:Bn.earthRadius*39.37,kilometers:Bn.earthRadius/1e3,kilometres:Bn.earthRadius/1e3,meters:Bn.earthRadius,metres:Bn.earthRadius,miles:Bn.earthRadius/1609.344,millimeters:Bn.earthRadius*1e3,millimetres:Bn.earthRadius*1e3,nauticalmiles:Bn.earthRadius/1852,radians:1,yards:Bn.earthRadius*1.0936};Bn.unitsFactors={centimeters:100,centimetres:100,degrees:1/111325,feet:3.28084,inches:39.37,kilometers:1/1e3,kilometres:1/1e3,meters:1,metres:1,miles:1/1609.344,millimeters:1e3,millimetres:1e3,nauticalmiles:1/1852,radians:1/Bn.earthRadius,yards:1.0936133};Bn.areaFactors={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,millimeters:1e6,millimetres:1e6,yards:1.195990046};function Q0(e,t,r){r===void 0&&(r={});var n={type:"Feature"};return(r.id===0||r.id)&&(n.id=r.id),r.bbox&&(n.bbox=r.bbox),n.properties=t||{},n.geometry=e,n}Bn.feature=Q0;function qxt(e,t,r){switch(r===void 0&&(r={}),e){case"Point":return c9(t).geometry;case"LineString":return v9(t).geometry;case"Polygon":return h9(t).geometry;case"MultiPoint":return $we(t).geometry;case"MultiLineString":return Jwe(t).geometry;case"MultiPolygon":return Kwe(t).geometry;default:throw new Error(e+" is invalid")}}Bn.geometry=qxt;function c9(e,t,r){if(r===void 0&&(r={}),!e)throw new Error("coordinates is required");if(!Array.isArray(e))throw new Error("coordinates must be an Array");if(e.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!F5(e[0])||!F5(e[1]))throw new Error("coordinates must contain numbers");var n={type:"Point",coordinates:e};return Q0(n,t,r)}Bn.point=c9;function Fxt(e,t,r){return r===void 0&&(r={}),z5(e.map(function(n){return c9(n,t)}),r)}Bn.points=Fxt;function h9(e,t,r){r===void 0&&(r={});for(var n=0,i=e;n<i.length;n++){var a=i[n];if(a.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var o=0;o<a[a.length-1].length;o++)if(a[a.length-1][o]!==a[0][o])throw new Error("First and last Position are not equivalent.")}var s={type:"Polygon",coordinates:e};return Q0(s,t,r)}Bn.polygon=h9;function zxt(e,t,r){return r===void 0&&(r={}),z5(e.map(function(n){return h9(n,t)}),r)}Bn.polygons=zxt;function v9(e,t,r){if(r===void 0&&(r={}),e.length<2)throw new Error("coordinates must be an array of two or more positions");var n={type:"LineString",coordinates:e};return Q0(n,t,r)}Bn.lineString=v9;function Nxt(e,t,r){return r===void 0&&(r={}),z5(e.map(function(n){return v9(n,t)}),r)}Bn.lineStrings=Nxt;function z5(e,t){t===void 0&&(t={});var r={type:"FeatureCollection"};return t.id&&(r.id=t.id),t.bbox&&(r.bbox=t.bbox),r.features=e,r}Bn.featureCollection=z5;function Jwe(e,t,r){r===void 0&&(r={});var n={type:"MultiLineString",coordinates:e};return Q0(n,t,r)}Bn.multiLineString=Jwe;function $we(e,t,r){r===void 0&&(r={});var n={type:"MultiPoint",coordinates:e};return Q0(n,t,r)}Bn.multiPoint=$we;function Kwe(e,t,r){r===void 0&&(r={});var n={type:"MultiPolygon",coordinates:e};return Q0(n,t,r)}Bn.multiPolygon=Kwe;function Oxt(e,t,r){r===void 0&&(r={});var n={type:"GeometryCollection",geometries:e};return Q0(n,t,r)}Bn.geometryCollection=Oxt;function Bxt(e,t){if(t===void 0&&(t=0),t&&!(t>=0))throw new Error("precision must be a positive number");var r=Math.pow(10,t||0);return Math.round(e*r)/r}Bn.round=Bxt;function Qwe(e,t){t===void 0&&(t="kilometers");var r=Bn.factors[t];if(!r)throw new Error(t+" units is invalid");return e*r}Bn.radiansToLength=Qwe;function d9(e,t){t===void 0&&(t="kilometers");var r=Bn.factors[t];if(!r)throw new Error(t+" units is invalid");return e/r}Bn.lengthToRadians=d9;function Uxt(e,t){return e_e(d9(e,t))}Bn.lengthToDegrees=Uxt;function Hxt(e){var t=e%360;return t<0&&(t+=360),t}Bn.bearingToAzimuth=Hxt;function e_e(e){var t=e%(2*Math.PI);return t*180/Math.PI}Bn.radiansToDegrees=e_e;function jxt(e){var t=e%360;return t*Math.PI/180}Bn.degreesToRadians=jxt;function Vxt(e,t,r){if(t===void 0&&(t="kilometers"),r===void 0&&(r="kilometers"),!(e>=0))throw new Error("length must be a positive number");return Qwe(d9(e,t),r)}Bn.convertLength=Vxt;function Yxt(e,t,r){if(t===void 0&&(t="meters"),r===void 0&&(r="kilometers"),!(e>=0))throw new Error("area must be a positive number");var n=Bn.areaFactors[t];if(!n)throw new Error("invalid original units");var i=Bn.areaFactors[r];if(!i)throw new Error("invalid final units");return e/n*i}Bn.convertArea=Yxt;function F5(e){return!isNaN(e)&&e!==null&&!Array.isArray(e)}Bn.isNumber=F5;function Gxt(e){return!!e&&e.constructor===Object}Bn.isObject=Gxt;function Wxt(e){if(!e)throw new Error("bbox is required");if(!Array.isArray(e))throw new Error("bbox must be an Array");if(e.length!==4&&e.length!==6)throw new Error("bbox must be an Array of 4 or 6 numbers");e.forEach(function(t){if(!F5(t))throw new Error("bbox must only contain numbers")})}Bn.validateBBox=Wxt;function Xxt(e){if(!e)throw new Error("id is required");if(["string","number"].indexOf(typeof e)===-1)throw new Error("id must be a number or a string")}Bn.validateId=Xxt});var O5=J(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});var Vl=p9();function I_(e,t,r){if(e!==null)for(var n,i,a,o,s,l,u,f=0,c=0,h,d=e.type,v=d==="FeatureCollection",m=d==="Feature",b=v?e.features.length:1,g=0;g<b;g++){u=v?e.features[g].geometry:m?e.geometry:e,h=u?u.type==="GeometryCollection":!1,s=h?u.geometries.length:1;for(var _=0;_<s;_++){var T=0,w=0;if(o=h?u.geometries[_]:u,o!==null){l=o.coordinates;var k=o.type;switch(f=r&&(k==="Polygon"||k==="MultiPolygon")?1:0,k){case null:break;case"Point":if(t(l,c,g,T,w)===!1)return!1;c++,T++;break;case"LineString":case"MultiPoint":for(n=0;n<l.length;n++){if(t(l[n],c,g,T,w)===!1)return!1;c++,k==="MultiPoint"&&T++}k==="LineString"&&T++;break;case"Polygon":case"MultiLineString":for(n=0;n<l.length;n++){for(i=0;i<l[n].length-f;i++){if(t(l[n][i],c,g,T,w)===!1)return!1;c++}k==="MultiLineString"&&T++,k==="Polygon"&&w++}k==="Polygon"&&T++;break;case"MultiPolygon":for(n=0;n<l.length;n++){for(w=0,i=0;i<l[n].length;i++){for(a=0;a<l[n][i].length-f;a++){if(t(l[n][i][a],c,g,T,w)===!1)return!1;c++}w++}T++}break;case"GeometryCollection":for(n=0;n<o.geometries.length;n++)if(I_(o.geometries[n],t,r)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function Zxt(e,t,r,n){var i=r;return I_(e,function(a,o,s,l,u){o===0&&r===void 0?i=a:i=t(i,a,o,s,l,u)},n),i}function t_e(e,t){var r;switch(e.type){case"FeatureCollection":for(r=0;r<e.features.length&&t(e.features[r].properties,r)!==!1;r++);break;case"Feature":t(e.properties,0);break}}function Jxt(e,t,r){var n=r;return t_e(e,function(i,a){a===0&&r===void 0?n=i:n=t(n,i,a)}),n}function r_e(e,t){if(e.type==="Feature")t(e,0);else if(e.type==="FeatureCollection")for(var r=0;r<e.features.length&&t(e.features[r],r)!==!1;r++);}function $xt(e,t,r){var n=r;return r_e(e,function(i,a){a===0&&r===void 0?n=i:n=t(n,i,a)}),n}function Kxt(e){var t=[];return I_(e,function(r){t.push(r)}),t}function g9(e,t){var r,n,i,a,o,s,l,u,f,c,h=0,d=e.type==="FeatureCollection",v=e.type==="Feature",m=d?e.features.length:1;for(r=0;r<m;r++){for(s=d?e.features[r].geometry:v?e.geometry:e,u=d?e.features[r].properties:v?e.properties:{},f=d?e.features[r].bbox:v?e.bbox:void 0,c=d?e.features[r].id:v?e.id:void 0,l=s?s.type==="GeometryCollection":!1,o=l?s.geometries.length:1,i=0;i<o;i++){if(a=l?s.geometries[i]:s,a===null){if(t(null,h,u,f,c)===!1)return!1;continue}switch(a.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(t(a,h,u,f,c)===!1)return!1;break}case"GeometryCollection":{for(n=0;n<a.geometries.length;n++)if(t(a.geometries[n],h,u,f,c)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}h++}}function Qxt(e,t,r){var n=r;return g9(e,function(i,a,o,s,l){a===0&&r===void 0?n=i:n=t(n,i,a,o,s,l)}),n}function N5(e,t){g9(e,function(r,n,i,a,o){var s=r===null?null:r.type;switch(s){case null:case"Point":case"LineString":case"Polygon":return t(Vl.feature(r,i,{bbox:a,id:o}),n,0)===!1?!1:void 0}var l;switch(s){case"MultiPoint":l="Point";break;case"MultiLineString":l="LineString";break;case"MultiPolygon":l="Polygon";break}for(var u=0;u<r.coordinates.length;u++){var f=r.coordinates[u],c={type:l,coordinates:f};if(t(Vl.feature(c,i),n,u)===!1)return!1}})}function ebt(e,t,r){var n=r;return N5(e,function(i,a,o){a===0&&o===0&&r===void 0?n=i:n=t(n,i,a,o)}),n}function n_e(e,t){N5(e,function(r,n,i){var a=0;if(r.geometry){var o=r.geometry.type;if(!(o==="Point"||o==="MultiPoint")){var s,l=0,u=0,f=0;if(I_(r,function(c,h,d,v,m){if(s===void 0||n>l||v>u||m>f){s=c,l=n,u=v,f=m,a=0;return}var b=Vl.lineString([s,c],r.properties);if(t(b,n,i,m,a)===!1)return!1;a++,s=c})===!1)return!1}}})}function tbt(e,t,r){var n=r,i=!1;return n_e(e,function(a,o,s,l,u){i===!1&&r===void 0?n=a:n=t(n,a,o,s,l,u),i=!0}),n}function i_e(e,t){if(!e)throw new Error("geojson is required");N5(e,function(r,n,i){if(r.geometry!==null){var a=r.geometry.type,o=r.geometry.coordinates;switch(a){case"LineString":if(t(r,n,i,0,0)===!1)return!1;break;case"Polygon":for(var s=0;s<o.length;s++)if(t(Vl.lineString(o[s],r.properties),n,i,s)===!1)return!1;break}}})}function rbt(e,t,r){var n=r;return i_e(e,function(i,a,o,s){a===0&&r===void 0?n=i:n=t(n,i,a,o,s)}),n}function nbt(e,t){if(t=t||{},!Vl.isObject(t))throw new Error("options is invalid");var r=t.featureIndex||0,n=t.multiFeatureIndex||0,i=t.geometryIndex||0,a=t.segmentIndex||0,o=t.properties,s;switch(e.type){case"FeatureCollection":r<0&&(r=e.features.length+r),o=o||e.features[r].properties,s=e.features[r].geometry;break;case"Feature":o=o||e.properties,s=e.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":s=e;break;default:throw new Error("geojson is invalid")}if(s===null)return null;var l=s.coordinates;switch(s.type){case"Point":case"MultiPoint":return null;case"LineString":return a<0&&(a=l.length+a-1),Vl.lineString([l[a],l[a+1]],o,t);case"Polygon":return i<0&&(i=l.length+i),a<0&&(a=l[i].length+a-1),Vl.lineString([l[i][a],l[i][a+1]],o,t);case"MultiLineString":return n<0&&(n=l.length+n),a<0&&(a=l[n].length+a-1),Vl.lineString([l[n][a],l[n][a+1]],o,t);case"MultiPolygon":return n<0&&(n=l.length+n),i<0&&(i=l[n].length+i),a<0&&(a=l[n][i].length-a-1),Vl.lineString([l[n][i][a],l[n][i][a+1]],o,t)}throw new Error("geojson is invalid")}function ibt(e,t){if(t=t||{},!Vl.isObject(t))throw new Error("options is invalid");var r=t.featureIndex||0,n=t.multiFeatureIndex||0,i=t.geometryIndex||0,a=t.coordIndex||0,o=t.properties,s;switch(e.type){case"FeatureCollection":r<0&&(r=e.features.length+r),o=o||e.features[r].properties,s=e.features[r].geometry;break;case"Feature":o=o||e.properties,s=e.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":s=e;break;default:throw new Error("geojson is invalid")}if(s===null)return null;var l=s.coordinates;switch(s.type){case"Point":return Vl.point(l,o,t);case"MultiPoint":return n<0&&(n=l.length+n),Vl.point(l[n],o,t);case"LineString":return a<0&&(a=l.length+a),Vl.point(l[a],o,t);case"Polygon":return i<0&&(i=l.length+i),a<0&&(a=l[i].length+a),Vl.point(l[i][a],o,t);case"MultiLineString":return n<0&&(n=l.length+n),a<0&&(a=l[n].length+a),Vl.point(l[n][a],o,t);case"MultiPolygon":return n<0&&(n=l.length+n),i<0&&(i=l[n].length+i),a<0&&(a=l[n][i].length-a),Vl.point(l[n][i][a],o,t)}throw new Error("geojson is invalid")}Ds.coordAll=Kxt;Ds.coordEach=I_;Ds.coordReduce=Zxt;Ds.featureEach=r_e;Ds.featureReduce=$xt;Ds.findPoint=ibt;Ds.findSegment=nbt;Ds.flattenEach=N5;Ds.flattenReduce=ebt;Ds.geomEach=g9;Ds.geomReduce=Qxt;Ds.lineEach=i_e;Ds.lineReduce=rbt;Ds.propEach=t_e;Ds.propReduce=Jxt;Ds.segmentEach=n_e;Ds.segmentReduce=tbt});var l_e=J(y9=>{"use strict";Object.defineProperty(y9,"__esModule",{value:!0});var abt=O5(),a_e=6378137;function obt(e){return abt.geomReduce(e,function(t,r){return t+sbt(r)},0)}y9.default=obt;function sbt(e){var t=0,r;switch(e.type){case"Polygon":return o_e(e.coordinates);case"MultiPolygon":for(r=0;r<e.coordinates.length;r++)t+=o_e(e.coordinates[r]);return t;case"Point":case"MultiPoint":case"LineString":case"MultiLineString":return 0}return 0}function o_e(e){var t=0;if(e&&e.length>0){t+=Math.abs(s_e(e[0]));for(var r=1;r<e.length;r++)t-=Math.abs(s_e(e[r]))}return t}function s_e(e){var t,r,n,i,a,o,s,l=0,u=e.length;if(u>2){for(s=0;s<u;s++)s===u-2?(i=u-2,a=u-1,o=0):s===u-1?(i=u-1,a=0,o=1):(i=s,a=s+1,o=s+2),t=e[i],r=e[a],n=e[o],l+=(m9(n[0])-m9(t[0]))*Math.sin(m9(r[1]));l=l*a_e*a_e/2}return l}function m9(e){return e*Math.PI/180}});var u_e=J(x9=>{"use strict";Object.defineProperty(x9,"__esModule",{value:!0});var lbt=O5(),ubt=p9();function fbt(e,t){t===void 0&&(t={});var r=0,n=0,i=0;return lbt.coordEach(e,function(a){r+=a[0],n+=a[1],i++},!0),ubt.point([r/i,n/i],t.properties)}x9.default=fbt});var f_e=J(w9=>{"use strict";Object.defineProperty(w9,"__esModule",{value:!0});var cbt=O5();function b9(e){var t=[1/0,1/0,-1/0,-1/0];return cbt.coordEach(e,function(r){t[0]>r[0]&&(t[0]=r[0]),t[1]>r[1]&&(t[1]=r[1]),t[2]<r[0]&&(t[2]=r[0]),t[3]<r[1]&&(t[3]=r[1])}),t}b9.default=b9;w9.default=b9});var U5=J((YBt,p_e)=>{"use strict";var hbt=Nr(),v_e=Zwe(),vbt=l_e(),dbt=u_e(),pbt=f_e(),c_e=jb(),Sx=Kd(),gbt=Bv(),mbt=Rb(),B5=R2(),h_e=Object.keys(v_e),ybt={"ISO-3":c_e,"USA-states":c_e,"country names":xbt};function xbt(e){for(var t=0;t<h_e.length;t++){var r=h_e[t],n=new RegExp(v_e[r]);if(n.test(e.trim().toLowerCase()))return r}return Sx.log("Unrecognized country name: "+e+"."),!1}function bbt(e,t,r){if(!t||typeof t!="string")return!1;var n=ybt[e](t),i,a,o;if(n){if(e==="USA-states")for(i=[],o=0;o<r.length;o++)a=r[o],a.properties&&a.properties.gu&&a.properties.gu==="USA"&&i.push(a);else i=r;for(o=0;o<i.length;o++)if(a=i[o],a.id===n)return a;Sx.log(["Location with id",n,"does not have a matching topojson feature at this resolution."].join(" "))}return!1}function wbt(e){var t=e.geometry,r=t.coordinates,n=e.id,i=[],a,o,s,l;function u(f){for(var c=0;c<f.length-1;c++)if(f[c][0]>0&&f[c+1][0]<0)return c;return null}switch(n==="RUS"||n==="FJI"?a=function(f){var c;if(u(f)===null)c=f;else for(c=new Array(f.length),l=0;l<f.length;l++)c[l]=[f[l][0]<0?f[l][0]+360:f[l][0],f[l][1]];i.push(B5.tester(c))}:n==="ATA"?a=function(f){var c=u(f);if(c===null)return i.push(B5.tester(f));var h=new Array(f.length+1),d=0;for(l=0;l<f.length;l++)l>c?h[d++]=[f[l][0]+360,f[l][1]]:l===c?(h[d++]=f[l],h[d++]=[f[l][0],-90]):h[d++]=f[l];var v=B5.tester(h);v.pts.pop(),i.push(v)}:a=function(f){i.push(B5.tester(f))},t.type){case"MultiPolygon":for(o=0;o<r.length;o++)for(s=0;s<r[o].length;s++)a(r[o][s]);break;case"Polygon":for(o=0;o<r.length;o++)a(r[o]);break}return i}function d_e(e){var t=e.geojson,r=window.PlotlyGeoAssets||{},n=typeof t=="string"?r[t]:t;return gbt(n)?n:(Sx.error("Oops ... something went wrong when fetching "+t),!1)}function _bt(e){var t=e[0].trace,r=d_e(t);if(!r)return!1;var n={},i=[],a;for(a=0;a<t._length;a++){var o=e[a];(o.loc||o.loc===0)&&(n[o.loc]=o)}function s(f){var c=mbt(f,t.featureidkey||"id").get(),h=n[c];if(h){var d=f.geometry;if(d.type==="Polygon"||d.type==="MultiPolygon"){var v={type:"Feature",id:c,geometry:d,properties:{}};v.properties.ct=Tbt(v),h.fIn=f,h.fOut=v,i.push(v)}else Sx.log(["Location",h.loc,"does not have a valid GeoJSON geometry.","Traces with locationmode *geojson-id* only support","*Polygon* and *MultiPolygon* geometries."].join(" "))}delete n[c]}switch(r.type){case"FeatureCollection":var l=r.features;for(a=0;a<l.length;a++)s(l[a]);break;case"Feature":s(r);break;default:return Sx.warn(["Invalid GeoJSON type",(r.type||"none")+".","Traces with locationmode *geojson-id* only support","*FeatureCollection* and *Feature* types."].join(" ")),!1}for(var u in n)Sx.log(["Location *"+u+"*","does not have a matching feature with id-key","*"+t.featureidkey+"*."].join(" "));return i}function Tbt(e){var t=e.geometry,r;if(t.type==="MultiPolygon")for(var n=t.coordinates,i=0,a=0;a<n.length;a++){var o={type:"Polygon",coordinates:n[a]},s=vbt.default(o);s>i&&(i=s,r=o)}else r=t;return dbt.default(r).geometry.coordinates}function Abt(e){var t=window.PlotlyGeoAssets||{},r=[];function n(l){return new Promise(function(u,f){hbt.json(l,function(c,h){if(c){delete t[l];var d=c.status===404?'GeoJSON at URL "'+l+'" does not exist.':"Unexpected error while fetching from "+l;return f(new Error(d))}return t[l]=h,u(h)})})}function i(l){return new Promise(function(u,f){var c=0,h=setInterval(function(){if(t[l]&&t[l]!=="pending")return clearInterval(h),u(t[l]);if(c>100)return clearInterval(h),f("Unexpected error while fetching from "+l);c++},50)})}for(var a=0;a<e.length;a++){var o=e[a][0].trace,s=o.geojson;typeof s=="string"&&(t[s]?t[s]==="pending"&&r.push(i(s)):(t[s]="pending",r.push(n(s))))}return r}function Mbt(e){return pbt.default(e)}p_e.exports={locationToFeature:bbt,feature2polygons:wbt,getTraceGeojson:d_e,extractTraceFeature:_bt,fetchTraceGeoData:Abt,computeBbox:Mbt}});var _9=J((GBt,y_e)=>{"use strict";var kbt=Nr(),Sbt=ln(),g_e=qr(),m_e=Ef(),Cbt=m_e.stylePoints,Ebt=m_e.styleText;y_e.exports=function(t,r){r&&Lbt(t,r)};function Lbt(e,t){var r=t[0].trace,n=t[0].node3;n.style("opacity",t[0].trace.opacity),Cbt(n,r,e),Ebt(n,r,e),n.selectAll("path.js-line").style("fill","none").each(function(i){var a=kbt.select(this),o=i.trace,s=o.line||{};a.call(g_e.stroke,s.color).call(Sbt.dashLine,s.dash||"",s.width||0),o.fill!=="none"&&a.call(g_e.fill,o.fillcolor)})}});var k9=J((WBt,w_e)=>{"use strict";var x_e=Nr(),j5=gt(),Dbt=q5().getTopojsonFeatures,T9=Wwe(),H5=U5(),b_e=ec().findExtremes,M9=oi().BADNUM,Rbt=Mg().calcMarkerSize,A9=fs(),Pbt=_9();function Ibt(e,t,r){var n=t.layers.frontplot.select(".scatterlayer"),i=j5.makeTraceGroups(n,r,"trace scattergeo");function a(o,s){o.lonlat[0]===M9&&x_e.select(s).remove()}i.selectAll("*").remove(),i.each(function(o){var s=x_e.select(this),l=o[0].trace;if(A9.hasLines(l)||l.fill!=="none"){var u=T9.calcTraceToLineCoords(o),f=l.fill!=="none"?T9.makePolygon(u):T9.makeLine(u);s.selectAll("path.js-line").data([{geojson:f,trace:l}]).enter().append("path").classed("js-line",!0).style("stroke-miterlimit",2)}A9.hasMarkers(l)&&s.selectAll("path.point").data(j5.identity).enter().append("path").classed("point",!0).each(function(c){a(c,this)}),A9.hasText(l)&&s.selectAll("g").data(j5.identity).enter().append("g").append("text").each(function(c){a(c,this)}),Pbt(e,o)})}function qbt(e,t){var r=e[0].trace,n=t[r.geo],i=n._subplot,a=r._length,o,s;if(j5.isArrayOrTypedArray(r.locations)){var l=r.locationmode,u=l==="geojson-id"?H5.extractTraceFeature(e):Dbt(r,i.topojson);for(o=0;o<a;o++){s=e[o];var f=l==="geojson-id"?s.fOut:H5.locationToFeature(l,s.loc,u);s.lonlat=f?f.properties.ct:[M9,M9]}}var c={padded:!0},h,d;if(n.fitbounds==="geojson"&&r.locationmode==="geojson-id"){var v=H5.computeBbox(H5.getTraceGeojson(r));h=[v[0],v[2]],d=[v[1],v[3]]}else{for(h=new Array(a),d=new Array(a),o=0;o<a;o++)s=e[o],h[o]=s.lonlat[0],d[o]=s.lonlat[1];c.ppad=Rbt(r,a)}r._extremes.lon=b_e(n.lonaxis._ax,h,c),r._extremes.lat=b_e(n.lataxis._ax,d,c)}w_e.exports={calcGeoJSON:qbt,plot:Ibt}});var T_e=J((XBt,__e)=>{"use strict";var Fbt=go(),zbt=oi().BADNUM,Nbt=rk(),Obt=gt().fillText,Bbt=D_();__e.exports=function(t,r,n){var i=t.cd,a=i[0].trace,o=t.xa,s=t.ya,l=t.subplot,u=l.projection.isLonLatOverEdges,f=l.project;function c(_){var T=_.lonlat;if(T[0]===zbt||u(T))return 1/0;var w=f(T),k=f([r,n]),x=Math.abs(w[0]-k[0]),M=Math.abs(w[1]-k[1]),A=Math.max(3,_.mrc||0);return Math.max(Math.sqrt(x*x+M*M)-A,1-3/A)}if(Fbt.getClosest(i,c,t),t.index!==!1){var h=i[t.index],d=h.lonlat,v=[o.c2p(d),s.c2p(d)],m=h.mrc||1;t.x0=v[0]-m,t.x1=v[0]+m,t.y0=v[1]-m,t.y1=v[1]+m,t.loc=h.loc,t.lon=d[0],t.lat=d[1];var b={};b[a.geo]={_subplot:l};var g=a._module.formatLabels(h,a,b);return t.lonLabel=g.lonLabel,t.latLabel=g.latLabel,t.color=Nbt(a,h),t.extraText=Ubt(a,h,t,i[0].t.labels),t.hovertemplate=a.hovertemplate,[t]}};function Ubt(e,t,r,n){if(e.hovertemplate)return;var i=t.hi||e.hoverinfo,a=i==="all"?Bbt.hoverinfo.flags:i.split("+"),o=a.indexOf("location")!==-1&&Array.isArray(e.locations),s=a.indexOf("lon")!==-1,l=a.indexOf("lat")!==-1,u=a.indexOf("text")!==-1,f=[];function c(h){return h+"\xB0"}return o?f.push(t.loc):s&&l?f.push("("+c(r.latLabel)+", "+c(r.lonLabel)+")"):s?f.push(n.lon+c(r.lonLabel)):l&&f.push(n.lat+c(r.latLabel)),u&&Obt(t,e,f),f.join("<br>")}});var M_e=J((ZBt,A_e)=>{"use strict";A_e.exports=function(t,r,n,i,a){t.lon=r.lon,t.lat=r.lat,t.location=r.loc?r.loc:null;var o=i[a];return o.fIn&&o.fIn.properties&&(t.properties=o.fIn.properties),t}});var C_e=J((JBt,S_e)=>{"use strict";var k_e=fs(),Hbt=oi().BADNUM;S_e.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l,u,f,c,h,d=!k_e.hasMarkers(s)&&!k_e.hasText(s);if(d)return[];if(r===!1)for(h=0;h<n.length;h++)n[h].selected=0;else for(h=0;h<n.length;h++)l=n[h],u=l.lonlat,u[0]!==Hbt&&(f=i.c2p(u),c=a.c2p(u),r.contains([f,c],null,h,t)?(o.push({pointNumber:h,lon:u[0],lat:u[1]}),l.selected=1):l.selected=0);return o}});var q_=J((V5,E_e)=>{(function(e,t){typeof V5=="object"&&typeof E_e<"u"?t(V5):typeof define=="function"&&define.amd?define(["exports"],t):t(e.d3=e.d3||{})})(V5,function(e){"use strict";function t(K,$){return K<$?-1:K>$?1:K>=$?0:NaN}function r(K){return K.length===1&&(K=n(K)),{left:function($,oe,te,V){for(te==null&&(te=0),V==null&&(V=$.length);te<V;){var ne=te+V>>>1;K($[ne],oe)<0?te=ne+1:V=ne}return te},right:function($,oe,te,V){for(te==null&&(te=0),V==null&&(V=$.length);te<V;){var ne=te+V>>>1;K($[ne],oe)>0?V=ne:te=ne+1}return te}}}function n(K){return function($,oe){return t(K($),oe)}}var i=r(t),a=i.right,o=i.left;function s(K,$){$==null&&($=l);for(var oe=0,te=K.length-1,V=K[0],ne=new Array(te<0?0:te);oe<te;)ne[oe]=$(V,V=K[++oe]);return ne}function l(K,$){return[K,$]}function u(K,$,oe){var te=K.length,V=$.length,ne=new Array(te*V),W,fe,ge,Ce;for(oe==null&&(oe=l),W=ge=0;W<te;++W)for(Ce=K[W],fe=0;fe<V;++fe,++ge)ne[ge]=oe(Ce,$[fe]);return ne}function f(K,$){return $<K?-1:$>K?1:$>=K?0:NaN}function c(K){return K===null?NaN:+K}function h(K,$){var oe=K.length,te=0,V=-1,ne=0,W,fe,ge=0;if($==null)for(;++V<oe;)isNaN(W=c(K[V]))||(fe=W-ne,ne+=fe/++te,ge+=fe*(W-ne));else for(;++V<oe;)isNaN(W=c($(K[V],V,K)))||(fe=W-ne,ne+=fe/++te,ge+=fe*(W-ne));if(te>1)return ge/(te-1)}function d(K,$){var oe=h(K,$);return oe&&Math.sqrt(oe)}function v(K,$){var oe=K.length,te=-1,V,ne,W;if($==null){for(;++te<oe;)if((V=K[te])!=null&&V>=V)for(ne=W=V;++te<oe;)(V=K[te])!=null&&(ne>V&&(ne=V),W<V&&(W=V))}else for(;++te<oe;)if((V=$(K[te],te,K))!=null&&V>=V)for(ne=W=V;++te<oe;)(V=$(K[te],te,K))!=null&&(ne>V&&(ne=V),W<V&&(W=V));return[ne,W]}var m=Array.prototype,b=m.slice,g=m.map;function _(K){return function(){return K}}function T(K){return K}function w(K,$,oe){K=+K,$=+$,oe=(V=arguments.length)<2?($=K,K=0,1):V<3?1:+oe;for(var te=-1,V=Math.max(0,Math.ceil(($-K)/oe))|0,ne=new Array(V);++te<V;)ne[te]=K+te*oe;return ne}var k=Math.sqrt(50),x=Math.sqrt(10),M=Math.sqrt(2);function A(K,$,oe){var te,V=-1,ne,W,fe;if($=+$,K=+K,oe=+oe,K===$&&oe>0)return[K];if((te=$<K)&&(ne=K,K=$,$=ne),(fe=p(K,$,oe))===0||!isFinite(fe))return[];if(fe>0)for(K=Math.ceil(K/fe),$=Math.floor($/fe),W=new Array(ne=Math.ceil($-K+1));++V<ne;)W[V]=(K+V)*fe;else for(K=Math.floor(K*fe),$=Math.ceil($*fe),W=new Array(ne=Math.ceil(K-$+1));++V<ne;)W[V]=(K-V)/fe;return te&&W.reverse(),W}function p(K,$,oe){var te=($-K)/Math.max(0,oe),V=Math.floor(Math.log(te)/Math.LN10),ne=te/Math.pow(10,V);return V>=0?(ne>=k?10:ne>=x?5:ne>=M?2:1)*Math.pow(10,V):-Math.pow(10,-V)/(ne>=k?10:ne>=x?5:ne>=M?2:1)}function S(K,$,oe){var te=Math.abs($-K)/Math.max(0,oe),V=Math.pow(10,Math.floor(Math.log(te)/Math.LN10)),ne=te/V;return ne>=k?V*=10:ne>=x?V*=5:ne>=M&&(V*=2),$<K?-V:V}function y(K){return Math.ceil(Math.log(K.length)/Math.LN2)+1}function E(){var K=T,$=v,oe=y;function te(V){var ne,W=V.length,fe,ge=new Array(W);for(ne=0;ne<W;++ne)ge[ne]=K(V[ne],ne,V);var Ce=$(ge),Ne=Ce[0],pe=Ce[1],me=oe(ge,Ne,pe);Array.isArray(me)||(me=S(Ne,pe,me),me=w(Math.ceil(Ne/me)*me,pe,me));for(var Ie=me.length;me[0]<=Ne;)me.shift(),--Ie;for(;me[Ie-1]>pe;)me.pop(),--Ie;var Re=new Array(Ie+1),ze;for(ne=0;ne<=Ie;++ne)ze=Re[ne]=[],ze.x0=ne>0?me[ne-1]:Ne,ze.x1=ne<Ie?me[ne]:pe;for(ne=0;ne<W;++ne)fe=ge[ne],Ne<=fe&&fe<=pe&&Re[a(me,fe,0,Ie)].push(V[ne]);return Re}return te.value=function(V){return arguments.length?(K=typeof V=="function"?V:_(V),te):K},te.domain=function(V){return arguments.length?($=typeof V=="function"?V:_([V[0],V[1]]),te):$},te.thresholds=function(V){return arguments.length?(oe=typeof V=="function"?V:Array.isArray(V)?_(b.call(V)):_(V),te):oe},te}function C(K,$,oe){if(oe==null&&(oe=c),!!(te=K.length)){if(($=+$)<=0||te<2)return+oe(K[0],0,K);if($>=1)return+oe(K[te-1],te-1,K);var te,V=(te-1)*$,ne=Math.floor(V),W=+oe(K[ne],ne,K),fe=+oe(K[ne+1],ne+1,K);return W+(fe-W)*(V-ne)}}function L(K,$,oe){return K=g.call(K,c).sort(t),Math.ceil((oe-$)/(2*(C(K,.75)-C(K,.25))*Math.pow(K.length,-1/3)))}function R(K,$,oe){return Math.ceil((oe-$)/(3.5*d(K)*Math.pow(K.length,-1/3)))}function I(K,$){var oe=K.length,te=-1,V,ne;if($==null){for(;++te<oe;)if((V=K[te])!=null&&V>=V)for(ne=V;++te<oe;)(V=K[te])!=null&&V>ne&&(ne=V)}else for(;++te<oe;)if((V=$(K[te],te,K))!=null&&V>=V)for(ne=V;++te<oe;)(V=$(K[te],te,K))!=null&&V>ne&&(ne=V);return ne}function P(K,$){var oe=K.length,te=oe,V=-1,ne,W=0;if($==null)for(;++V<oe;)isNaN(ne=c(K[V]))?--te:W+=ne;else for(;++V<oe;)isNaN(ne=c($(K[V],V,K)))?--te:W+=ne;if(te)return W/te}function D(K,$){var oe=K.length,te=-1,V,ne=[];if($==null)for(;++te<oe;)isNaN(V=c(K[te]))||ne.push(V);else for(;++te<oe;)isNaN(V=c($(K[te],te,K)))||ne.push(V);return C(ne.sort(t),.5)}function q(K){for(var $=K.length,oe,te=-1,V=0,ne,W;++te<$;)V+=K[te].length;for(ne=new Array(V);--$>=0;)for(W=K[$],oe=W.length;--oe>=0;)ne[--V]=W[oe];return ne}function N(K,$){var oe=K.length,te=-1,V,ne;if($==null){for(;++te<oe;)if((V=K[te])!=null&&V>=V)for(ne=V;++te<oe;)(V=K[te])!=null&&ne>V&&(ne=V)}else for(;++te<oe;)if((V=$(K[te],te,K))!=null&&V>=V)for(ne=V;++te<oe;)(V=$(K[te],te,K))!=null&&ne>V&&(ne=V);return ne}function U(K,$){for(var oe=$.length,te=new Array(oe);oe--;)te[oe]=K[$[oe]];return te}function G(K,$){if(oe=K.length){var oe,te=0,V=0,ne,W=K[V];for($==null&&($=t);++te<oe;)($(ne=K[te],W)<0||$(W,W)!==0)&&(W=ne,V=te);if($(W,W)===0)return V}}function ee(K,$,oe){for(var te=(oe??K.length)-($=$==null?0:+$),V,ne;te;)ne=Math.random()*te--|0,V=K[te+$],K[te+$]=K[ne+$],K[ne+$]=V;return K}function Q(K,$){var oe=K.length,te=-1,V,ne=0;if($==null)for(;++te<oe;)(V=+K[te])&&(ne+=V);else for(;++te<oe;)(V=+$(K[te],te,K))&&(ne+=V);return ne}function j(K){if(!(ne=K.length))return[];for(var $=-1,oe=N(K,O),te=new Array(oe);++$<oe;)for(var V=-1,ne,W=te[$]=new Array(ne);++V<ne;)W[V]=K[V][$];return te}function O(K){return K.length}function Z(){return j(arguments)}e.bisect=a,e.bisectRight=a,e.bisectLeft=o,e.ascending=t,e.bisector=r,e.cross=u,e.descending=f,e.deviation=d,e.extent=v,e.histogram=E,e.thresholdFreedmanDiaconis=L,e.thresholdScott=R,e.thresholdSturges=y,e.max=I,e.mean=P,e.median=D,e.merge=q,e.min=N,e.pairs=s,e.permute=U,e.quantile=C,e.range=w,e.scan=G,e.shuffle=ee,e.sum=Q,e.ticks=A,e.tickIncrement=p,e.tickStep=S,e.transpose=j,e.variance=h,e.zip=Z,Object.defineProperty(e,"__esModule",{value:!0})})});var S9=J((Y5,L_e)=>{(function(e,t){typeof Y5=="object"&&typeof L_e<"u"?t(Y5,q_()):typeof define=="function"&&define.amd?define(["exports","d3-array"],t):(e=e||self,t(e.d3=e.d3||{},e.d3))})(Y5,function(e,t){"use strict";function r(){return new n}function n(){this.reset()}n.prototype={constructor:n,reset:function(){this.s=this.t=0},add:function(be){a(i,be,this.t),a(this,i.s,this.s),this.s?this.t+=i.t:this.s=i.t},valueOf:function(){return this.s}};var i=new n;function a(be,Oe,ot){var Ke=be.s=Oe+ot,xt=Ke-Oe,Ft=Ke-xt;be.t=Oe-Ft+(ot-xt)}var o=1e-6,s=1e-12,l=Math.PI,u=l/2,f=l/4,c=l*2,h=180/l,d=l/180,v=Math.abs,m=Math.atan,b=Math.atan2,g=Math.cos,_=Math.ceil,T=Math.exp,w=Math.log,k=Math.pow,x=Math.sin,M=Math.sign||function(be){return be>0?1:be<0?-1:0},A=Math.sqrt,p=Math.tan;function S(be){return be>1?0:be<-1?l:Math.acos(be)}function y(be){return be>1?u:be<-1?-u:Math.asin(be)}function E(be){return(be=x(be/2))*be}function C(){}function L(be,Oe){be&&I.hasOwnProperty(be.type)&&I[be.type](be,Oe)}var R={Feature:function(be,Oe){L(be.geometry,Oe)},FeatureCollection:function(be,Oe){for(var ot=be.features,Ke=-1,xt=ot.length;++Ke<xt;)L(ot[Ke].geometry,Oe)}},I={Sphere:function(be,Oe){Oe.sphere()},Point:function(be,Oe){be=be.coordinates,Oe.point(be[0],be[1],be[2])},MultiPoint:function(be,Oe){for(var ot=be.coordinates,Ke=-1,xt=ot.length;++Ke<xt;)be=ot[Ke],Oe.point(be[0],be[1],be[2])},LineString:function(be,Oe){P(be.coordinates,Oe,0)},MultiLineString:function(be,Oe){for(var ot=be.coordinates,Ke=-1,xt=ot.length;++Ke<xt;)P(ot[Ke],Oe,0)},Polygon:function(be,Oe){D(be.coordinates,Oe)},MultiPolygon:function(be,Oe){for(var ot=be.coordinates,Ke=-1,xt=ot.length;++Ke<xt;)D(ot[Ke],Oe)},GeometryCollection:function(be,Oe){for(var ot=be.geometries,Ke=-1,xt=ot.length;++Ke<xt;)L(ot[Ke],Oe)}};function P(be,Oe,ot){var Ke=-1,xt=be.length-ot,Ft;for(Oe.lineStart();++Ke<xt;)Ft=be[Ke],Oe.point(Ft[0],Ft[1],Ft[2]);Oe.lineEnd()}function D(be,Oe){var ot=-1,Ke=be.length;for(Oe.polygonStart();++ot<Ke;)P(be[ot],Oe,1);Oe.polygonEnd()}function q(be,Oe){be&&R.hasOwnProperty(be.type)?R[be.type](be,Oe):L(be,Oe)}var N=r(),U=r(),G,ee,Q,j,O,Z={point:C,lineStart:C,lineEnd:C,polygonStart:function(){N.reset(),Z.lineStart=K,Z.lineEnd=$},polygonEnd:function(){var be=+N;U.add(be<0?c+be:be),this.lineStart=this.lineEnd=this.point=C},sphere:function(){U.add(c)}};function K(){Z.point=oe}function $(){te(G,ee)}function oe(be,Oe){Z.point=te,G=be,ee=Oe,be*=d,Oe*=d,Q=be,j=g(Oe=Oe/2+f),O=x(Oe)}function te(be,Oe){be*=d,Oe*=d,Oe=Oe/2+f;var ot=be-Q,Ke=ot>=0?1:-1,xt=Ke*ot,Ft=g(Oe),jt=x(Oe),$t=O*jt,Kt=j*Ft+$t*g(xt),sr=$t*Ke*x(xt);N.add(b(sr,Kt)),Q=be,j=Ft,O=jt}function V(be){return U.reset(),q(be,Z),U*2}function ne(be){return[b(be[1],be[0]),y(be[2])]}function W(be){var Oe=be[0],ot=be[1],Ke=g(ot);return[Ke*g(Oe),Ke*x(Oe),x(ot)]}function fe(be,Oe){return be[0]*Oe[0]+be[1]*Oe[1]+be[2]*Oe[2]}function ge(be,Oe){return[be[1]*Oe[2]-be[2]*Oe[1],be[2]*Oe[0]-be[0]*Oe[2],be[0]*Oe[1]-be[1]*Oe[0]]}function Ce(be,Oe){be[0]+=Oe[0],be[1]+=Oe[1],be[2]+=Oe[2]}function Ne(be,Oe){return[be[0]*Oe,be[1]*Oe,be[2]*Oe]}function pe(be){var Oe=A(be[0]*be[0]+be[1]*be[1]+be[2]*be[2]);be[0]/=Oe,be[1]/=Oe,be[2]/=Oe}var me,Ie,Re,ze,Be,tt,rt,ce,Ee=r(),Ae,Pe,He={point:Fe,lineStart:Ue,lineEnd:Ge,polygonStart:function(){He.point=lt,He.lineStart=it,He.lineEnd=wt,Ee.reset(),Z.polygonStart()},polygonEnd:function(){Z.polygonEnd(),He.point=Fe,He.lineStart=Ue,He.lineEnd=Ge,N<0?(me=-(Re=180),Ie=-(ze=90)):Ee>o?ze=90:Ee<-o&&(Ie=-90),Pe[0]=me,Pe[1]=Re},sphere:function(){me=-(Re=180),Ie=-(ze=90)}};function Fe(be,Oe){Ae.push(Pe=[me=be,Re=be]),Oe<Ie&&(Ie=Oe),Oe>ze&&(ze=Oe)}function ke(be,Oe){var ot=W([be*d,Oe*d]);if(ce){var Ke=ge(ce,ot),xt=[Ke[1],-Ke[0],0],Ft=ge(xt,Ke);pe(Ft),Ft=ne(Ft);var jt=be-Be,$t=jt>0?1:-1,Kt=Ft[0]*h*$t,sr,Yt=v(jt)>180;Yt^($t*Be<Kt&&Kt<$t*be)?(sr=Ft[1]*h,sr>ze&&(ze=sr)):(Kt=(Kt+360)%360-180,Yt^($t*Be<Kt&&Kt<$t*be)?(sr=-Ft[1]*h,sr<Ie&&(Ie=sr)):(Oe<Ie&&(Ie=Oe),Oe>ze&&(ze=Oe))),Yt?be<Be?_t(me,be)>_t(me,Re)&&(Re=be):_t(be,Re)>_t(me,Re)&&(me=be):Re>=me?(be<me&&(me=be),be>Re&&(Re=be)):be>Be?_t(me,be)>_t(me,Re)&&(Re=be):_t(be,Re)>_t(me,Re)&&(me=be)}else Ae.push(Pe=[me=be,Re=be]);Oe<Ie&&(Ie=Oe),Oe>ze&&(ze=Oe),ce=ot,Be=be}function Ue(){He.point=ke}function Ge(){Pe[0]=me,Pe[1]=Re,He.point=Fe,ce=null}function lt(be,Oe){if(ce){var ot=be-Be;Ee.add(v(ot)>180?ot+(ot>0?360:-360):ot)}else tt=be,rt=Oe;Z.point(be,Oe),ke(be,Oe)}function it(){Z.lineStart()}function wt(){lt(tt,rt),Z.lineEnd(),v(Ee)>o&&(me=-(Re=180)),Pe[0]=me,Pe[1]=Re,ce=null}function _t(be,Oe){return(Oe-=be)<0?Oe+360:Oe}function Tt(be,Oe){return be[0]-Oe[0]}function nt(be,Oe){return be[0]<=be[1]?be[0]<=Oe&&Oe<=be[1]:Oe<be[0]||be[1]<Oe}function bt(be){var Oe,ot,Ke,xt,Ft,jt,$t;if(ze=Re=-(me=Ie=1/0),Ae=[],q(be,He),ot=Ae.length){for(Ae.sort(Tt),Oe=1,Ke=Ae[0],Ft=[Ke];Oe<ot;++Oe)xt=Ae[Oe],nt(Ke,xt[0])||nt(Ke,xt[1])?(_t(Ke[0],xt[1])>_t(Ke[0],Ke[1])&&(Ke[1]=xt[1]),_t(xt[0],Ke[1])>_t(Ke[0],Ke[1])&&(Ke[0]=xt[0])):Ft.push(Ke=xt);for(jt=-1/0,ot=Ft.length-1,Oe=0,Ke=Ft[ot];Oe<=ot;Ke=xt,++Oe)xt=Ft[Oe],($t=_t(Ke[1],xt[0]))>jt&&(jt=$t,me=xt[0],Re=Ke[1])}return Ae=Pe=null,me===1/0||Ie===1/0?[[NaN,NaN],[NaN,NaN]]:[[me,Ie],[Re,ze]]}var At,Ye,je,$e,ve,Y,ie,Te,Ve,at,ft,Ht,Xt,St,Vt,er,_r={sphere:C,point:br,lineStart:tn,lineEnd:sn,polygonStart:function(){_r.lineStart=Hr,_r.lineEnd=Br},polygonEnd:function(){_r.lineStart=tn,_r.lineEnd=sn}};function br(be,Oe){be*=d,Oe*=d;var ot=g(Oe);or(ot*g(be),ot*x(be),x(Oe))}function or(be,Oe,ot){++At,je+=(be-je)/At,$e+=(Oe-$e)/At,ve+=(ot-ve)/At}function tn(){_r.point=Lr}function Lr(be,Oe){be*=d,Oe*=d;var ot=g(Oe);St=ot*g(be),Vt=ot*x(be),er=x(Oe),_r.point=Gr,or(St,Vt,er)}function Gr(be,Oe){be*=d,Oe*=d;var ot=g(Oe),Ke=ot*g(be),xt=ot*x(be),Ft=x(Oe),jt=b(A((jt=Vt*Ft-er*xt)*jt+(jt=er*Ke-St*Ft)*jt+(jt=St*xt-Vt*Ke)*jt),St*Ke+Vt*xt+er*Ft);Ye+=jt,Y+=jt*(St+(St=Ke)),ie+=jt*(Vt+(Vt=xt)),Te+=jt*(er+(er=Ft)),or(St,Vt,er)}function sn(){_r.point=br}function Hr(){_r.point=qn}function Br(){kn(Ht,Xt),_r.point=br}function qn(be,Oe){Ht=be,Xt=Oe,be*=d,Oe*=d,_r.point=kn;var ot=g(Oe);St=ot*g(be),Vt=ot*x(be),er=x(Oe),or(St,Vt,er)}function kn(be,Oe){be*=d,Oe*=d;var ot=g(Oe),Ke=ot*g(be),xt=ot*x(be),Ft=x(Oe),jt=Vt*Ft-er*xt,$t=er*Ke-St*Ft,Kt=St*xt-Vt*Ke,sr=A(jt*jt+$t*$t+Kt*Kt),Yt=y(sr),nr=sr&&-Yt/sr;Ve+=nr*jt,at+=nr*$t,ft+=nr*Kt,Ye+=Yt,Y+=Yt*(St+(St=Ke)),ie+=Yt*(Vt+(Vt=xt)),Te+=Yt*(er+(er=Ft)),or(St,Vt,er)}function Yn(be){At=Ye=je=$e=ve=Y=ie=Te=Ve=at=ft=0,q(be,_r);var Oe=Ve,ot=at,Ke=ft,xt=Oe*Oe+ot*ot+Ke*Ke;return xt<s&&(Oe=Y,ot=ie,Ke=Te,Ye<o&&(Oe=je,ot=$e,Ke=ve),xt=Oe*Oe+ot*ot+Ke*Ke,xt<s)?[NaN,NaN]:[b(ot,Oe)*h,y(Ke/A(xt))*h]}function Wn(be){return function(){return be}}function Fn(be,Oe){function ot(Ke,xt){return Ke=be(Ke,xt),Oe(Ke[0],Ke[1])}return be.invert&&Oe.invert&&(ot.invert=function(Ke,xt){return Ke=Oe.invert(Ke,xt),Ke&&be.invert(Ke[0],Ke[1])}),ot}function wn(be,Oe){return[v(be)>l?be+Math.round(-be/c)*c:be,Oe]}wn.invert=wn;function Si(be,Oe,ot){return(be%=c)?Oe||ot?Fn(ia(be),An(Oe,ot)):ia(be):Oe||ot?An(Oe,ot):wn}function Aa(be){return function(Oe,ot){return Oe+=be,[Oe>l?Oe-c:Oe<-l?Oe+c:Oe,ot]}}function ia(be){var Oe=Aa(be);return Oe.invert=Aa(-be),Oe}function An(be,Oe){var ot=g(be),Ke=x(be),xt=g(Oe),Ft=x(Oe);function jt($t,Kt){var sr=g(Kt),Yt=g($t)*sr,nr=x($t)*sr,Qt=x(Kt),cr=Qt*ot+Yt*Ke;return[b(nr*xt-cr*Ft,Yt*ot-Qt*Ke),y(cr*xt+nr*Ft)]}return jt.invert=function($t,Kt){var sr=g(Kt),Yt=g($t)*sr,nr=x($t)*sr,Qt=x(Kt),cr=Qt*xt-nr*Ft;return[b(nr*xt+Qt*Ft,Yt*ot+cr*Ke),y(cr*ot-Yt*Ke)]},jt}function Ji(be){be=Si(be[0]*d,be[1]*d,be.length>2?be[2]*d:0);function Oe(ot){return ot=be(ot[0]*d,ot[1]*d),ot[0]*=h,ot[1]*=h,ot}return Oe.invert=function(ot){return ot=be.invert(ot[0]*d,ot[1]*d),ot[0]*=h,ot[1]*=h,ot},Oe}function ii(be,Oe,ot,Ke,xt,Ft){if(ot){var jt=g(Oe),$t=x(Oe),Kt=Ke*ot;xt==null?(xt=Oe+Ke*c,Ft=Oe-Kt/2):(xt=bo(jt,xt),Ft=bo(jt,Ft),(Ke>0?xt<Ft:xt>Ft)&&(xt+=Ke*c));for(var sr,Yt=xt;Ke>0?Yt>Ft:Yt<Ft;Yt-=Kt)sr=ne([jt,-$t*g(Yt),-$t*x(Yt)]),be.point(sr[0],sr[1])}}function bo(be,Oe){Oe=W(Oe),Oe[0]-=be,pe(Oe);var ot=S(-Oe[1]);return((-Oe[2]<0?-ot:ot)+c-o)%c}function ga(){var be=Wn([0,0]),Oe=Wn(90),ot=Wn(6),Ke,xt,Ft={point:jt};function jt(Kt,sr){Ke.push(Kt=xt(Kt,sr)),Kt[0]*=h,Kt[1]*=h}function $t(){var Kt=be.apply(this,arguments),sr=Oe.apply(this,arguments)*d,Yt=ot.apply(this,arguments)*d;return Ke=[],xt=Si(-Kt[0]*d,-Kt[1]*d,0).invert,ii(Ft,sr,Yt,1),Kt={type:"Polygon",coordinates:[Ke]},Ke=xt=null,Kt}return $t.center=function(Kt){return arguments.length?(be=typeof Kt=="function"?Kt:Wn([+Kt[0],+Kt[1]]),$t):be},$t.radius=function(Kt){return arguments.length?(Oe=typeof Kt=="function"?Kt:Wn(+Kt),$t):Oe},$t.precision=function(Kt){return arguments.length?(ot=typeof Kt=="function"?Kt:Wn(+Kt),$t):ot},$t}function Ia(){var be=[],Oe;return{point:function(ot,Ke,xt){Oe.push([ot,Ke,xt])},lineStart:function(){be.push(Oe=[])},lineEnd:C,rejoin:function(){be.length>1&&be.push(be.pop().concat(be.shift()))},result:function(){var ot=be;return be=[],Oe=null,ot}}}function si(be,Oe){return v(be[0]-Oe[0])<o&&v(be[1]-Oe[1])<o}function aa(be,Oe,ot,Ke){this.x=be,this.z=Oe,this.o=ot,this.e=Ke,this.v=!1,this.n=this.p=null}function wo(be,Oe,ot,Ke,xt){var Ft=[],jt=[],$t,Kt;if(be.forEach(function(pr){if(!((Jr=pr.length-1)<=0)){var Jr,jr=pr[0],rn=pr[Jr],Qr;if(si(jr,rn)){if(!jr[2]&&!rn[2]){for(xt.lineStart(),$t=0;$t<Jr;++$t)xt.point((jr=pr[$t])[0],jr[1]);xt.lineEnd();return}rn[0]+=2*o}Ft.push(Qr=new aa(jr,pr,null,!0)),jt.push(Qr.o=new aa(jr,null,Qr,!1)),Ft.push(Qr=new aa(rn,pr,null,!1)),jt.push(Qr.o=new aa(rn,null,Qr,!0))}}),!!Ft.length){for(jt.sort(Oe),ma(Ft),ma(jt),$t=0,Kt=jt.length;$t<Kt;++$t)jt[$t].e=ot=!ot;for(var sr=Ft[0],Yt,nr;;){for(var Qt=sr,cr=!0;Qt.v;)if((Qt=Qt.n)===sr)return;Yt=Qt.z,xt.lineStart();do{if(Qt.v=Qt.o.v=!0,Qt.e){if(cr)for($t=0,Kt=Yt.length;$t<Kt;++$t)xt.point((nr=Yt[$t])[0],nr[1]);else Ke(Qt.x,Qt.n.x,1,xt);Qt=Qt.n}else{if(cr)for(Yt=Qt.p.z,$t=Yt.length-1;$t>=0;--$t)xt.point((nr=Yt[$t])[0],nr[1]);else Ke(Qt.x,Qt.p.x,-1,xt);Qt=Qt.p}Qt=Qt.o,Yt=Qt.z,cr=!cr}while(!Qt.v);xt.lineEnd()}}}function ma(be){if(Oe=be.length){for(var Oe,ot=0,Ke=be[0],xt;++ot<Oe;)Ke.n=xt=be[ot],xt.p=Ke,Ke=xt;Ke.n=xt=be[0],xt.p=Ke}}var oa=r();function yu(be){return v(be[0])<=l?be[0]:M(be[0])*((v(be[0])+l)%c-l)}function Xl(be,Oe){var ot=yu(Oe),Ke=Oe[1],xt=x(Ke),Ft=[x(ot),-g(ot),0],jt=0,$t=0;oa.reset(),xt===1?Ke=u+o:xt===-1&&(Ke=-u-o);for(var Kt=0,sr=be.length;Kt<sr;++Kt)if(nr=(Yt=be[Kt]).length)for(var Yt,nr,Qt=Yt[nr-1],cr=yu(Qt),pr=Qt[1]/2+f,Jr=x(pr),jr=g(pr),rn=0;rn<nr;++rn,cr=yr,Jr=Ze,jr=fn,Qt=Qr){var Qr=Yt[rn],yr=yu(Qr),Cr=Qr[1]/2+f,Ze=x(Cr),fn=g(Cr),Kn=yr-cr,Gn=Kn>=0?1:-1,$r=Gn*Kn,Hi=$r>l,Zn=Jr*Ze;if(oa.add(b(Zn*Gn*x($r),jr*fn+Zn*g($r))),jt+=Hi?Kn+Gn*c:Kn,Hi^cr>=ot^yr>=ot){var uo=ge(W(Qt),W(Qr));pe(uo);var ji=ge(Ft,uo);pe(ji);var Vi=(Hi^Kn>=0?-1:1)*y(ji[2]);(Ke>Vi||Ke===Vi&&(uo[0]||uo[1]))&&($t+=Hi^Kn>=0?1:-1)}}return(jt<-o||jt<o&&oa<-o)^$t&1}function xu(be,Oe,ot,Ke){return function(xt){var Ft=Oe(xt),jt=Ia(),$t=Oe(jt),Kt=!1,sr,Yt,nr,Qt={point:cr,lineStart:Jr,lineEnd:jr,polygonStart:function(){Qt.point=rn,Qt.lineStart=Qr,Qt.lineEnd=yr,Yt=[],sr=[]},polygonEnd:function(){Qt.point=cr,Qt.lineStart=Jr,Qt.lineEnd=jr,Yt=t.merge(Yt);var Cr=Xl(sr,Ke);Yt.length?(Kt||(xt.polygonStart(),Kt=!0),wo(Yt,ct,Cr,ot,xt)):Cr&&(Kt||(xt.polygonStart(),Kt=!0),xt.lineStart(),ot(null,null,1,xt),xt.lineEnd()),Kt&&(xt.polygonEnd(),Kt=!1),Yt=sr=null},sphere:function(){xt.polygonStart(),xt.lineStart(),ot(null,null,1,xt),xt.lineEnd(),xt.polygonEnd()}};function cr(Cr,Ze){be(Cr,Ze)&&xt.point(Cr,Ze)}function pr(Cr,Ze){Ft.point(Cr,Ze)}function Jr(){Qt.point=pr,Ft.lineStart()}function jr(){Qt.point=cr,Ft.lineEnd()}function rn(Cr,Ze){nr.push([Cr,Ze]),$t.point(Cr,Ze)}function Qr(){$t.lineStart(),nr=[]}function yr(){rn(nr[0][0],nr[0][1]),$t.lineEnd();var Cr=$t.clean(),Ze=jt.result(),fn,Kn=Ze.length,Gn,$r,Hi;if(nr.pop(),sr.push(nr),nr=null,!!Kn){if(Cr&1){if($r=Ze[0],(Gn=$r.length-1)>0){for(Kt||(xt.polygonStart(),Kt=!0),xt.lineStart(),fn=0;fn<Gn;++fn)xt.point((Hi=$r[fn])[0],Hi[1]);xt.lineEnd()}return}Kn>1&&Cr&2&&Ze.push(Ze.pop().concat(Ze.shift())),Yt.push(Ze.filter(De))}}return Qt}}function De(be){return be.length>1}function ct(be,Oe){return((be=be.x)[0]<0?be[1]-u-o:u-be[1])-((Oe=Oe.x)[0]<0?Oe[1]-u-o:u-Oe[1])}var ht=xu(function(){return!0},Mt,Lt,[-l,-u]);function Mt(be){var Oe=NaN,ot=NaN,Ke=NaN,xt;return{lineStart:function(){be.lineStart(),xt=1},point:function(Ft,jt){var $t=Ft>0?l:-l,Kt=v(Ft-Oe);v(Kt-l)<o?(be.point(Oe,ot=(ot+jt)/2>0?u:-u),be.point(Ke,ot),be.lineEnd(),be.lineStart(),be.point($t,ot),be.point(Ft,ot),xt=0):Ke!==$t&&Kt>=l&&(v(Oe-Ke)<o&&(Oe-=Ke*o),v(Ft-$t)<o&&(Ft-=$t*o),ot=Gt(Oe,ot,Ft,jt),be.point(Ke,ot),be.lineEnd(),be.lineStart(),be.point($t,ot),xt=0),be.point(Oe=Ft,ot=jt),Ke=$t},lineEnd:function(){be.lineEnd(),Oe=ot=NaN},clean:function(){return 2-xt}}}function Gt(be,Oe,ot,Ke){var xt,Ft,jt=x(be-ot);return v(jt)>o?m((x(Oe)*(Ft=g(Ke))*x(ot)-x(Ke)*(xt=g(Oe))*x(be))/(xt*Ft*jt)):(Oe+Ke)/2}function Lt(be,Oe,ot,Ke){var xt;if(be==null)xt=ot*u,Ke.point(-l,xt),Ke.point(0,xt),Ke.point(l,xt),Ke.point(l,0),Ke.point(l,-xt),Ke.point(0,-xt),Ke.point(-l,-xt),Ke.point(-l,0),Ke.point(-l,xt);else if(v(be[0]-Oe[0])>o){var Ft=be[0]<Oe[0]?l:-l;xt=ot*Ft/2,Ke.point(-Ft,xt),Ke.point(0,xt),Ke.point(Ft,xt)}else Ke.point(Oe[0],Oe[1])}function ir(be){var Oe=g(be),ot=6*d,Ke=Oe>0,xt=v(Oe)>o;function Ft(Yt,nr,Qt,cr){ii(cr,be,ot,Qt,Yt,nr)}function jt(Yt,nr){return g(Yt)*g(nr)>Oe}function $t(Yt){var nr,Qt,cr,pr,Jr;return{lineStart:function(){pr=cr=!1,Jr=1},point:function(jr,rn){var Qr=[jr,rn],yr,Cr=jt(jr,rn),Ze=Ke?Cr?0:sr(jr,rn):Cr?sr(jr+(jr<0?l:-l),rn):0;if(!nr&&(pr=cr=Cr)&&Yt.lineStart(),Cr!==cr&&(yr=Kt(nr,Qr),(!yr||si(nr,yr)||si(Qr,yr))&&(Qr[2]=1)),Cr!==cr)Jr=0,Cr?(Yt.lineStart(),yr=Kt(Qr,nr),Yt.point(yr[0],yr[1])):(yr=Kt(nr,Qr),Yt.point(yr[0],yr[1],2),Yt.lineEnd()),nr=yr;else if(xt&&nr&&Ke^Cr){var fn;!(Ze&Qt)&&(fn=Kt(Qr,nr,!0))&&(Jr=0,Ke?(Yt.lineStart(),Yt.point(fn[0][0],fn[0][1]),Yt.point(fn[1][0],fn[1][1]),Yt.lineEnd()):(Yt.point(fn[1][0],fn[1][1]),Yt.lineEnd(),Yt.lineStart(),Yt.point(fn[0][0],fn[0][1],3)))}Cr&&(!nr||!si(nr,Qr))&&Yt.point(Qr[0],Qr[1]),nr=Qr,cr=Cr,Qt=Ze},lineEnd:function(){cr&&Yt.lineEnd(),nr=null},clean:function(){return Jr|(pr&&cr)<<1}}}function Kt(Yt,nr,Qt){var cr=W(Yt),pr=W(nr),Jr=[1,0,0],jr=ge(cr,pr),rn=fe(jr,jr),Qr=jr[0],yr=rn-Qr*Qr;if(!yr)return!Qt&&Yt;var Cr=Oe*rn/yr,Ze=-Oe*Qr/yr,fn=ge(Jr,jr),Kn=Ne(Jr,Cr),Gn=Ne(jr,Ze);Ce(Kn,Gn);var $r=fn,Hi=fe(Kn,$r),Zn=fe($r,$r),uo=Hi*Hi-Zn*(fe(Kn,Kn)-1);if(!(uo<0)){var ji=A(uo),Vi=Ne($r,(-Hi-ji)/Zn);if(Ce(Vi,Kn),Vi=ne(Vi),!Qt)return Vi;var Rr=Yt[0],li=nr[0],Ba=Yt[1],Ao=nr[1],Ua;li<Rr&&(Ua=Rr,Rr=li,li=Ua);var Kl=li-Rr,Rl=v(Kl-l)<o,pf=Rl||Kl<o;if(!Rl&&Ao<Ba&&(Ua=Ba,Ba=Ao,Ao=Ua),pf?Rl?Ba+Ao>0^Vi[1]<(v(Vi[0]-Rr)<o?Ba:Ao):Ba<=Vi[1]&&Vi[1]<=Ao:Kl>l^(Rr<=Vi[0]&&Vi[0]<=li)){var ll=Ne($r,(-Hi+ji)/Zn);return Ce(ll,Kn),[Vi,ne(ll)]}}}function sr(Yt,nr){var Qt=Ke?be:l-be,cr=0;return Yt<-Qt?cr|=1:Yt>Qt&&(cr|=2),nr<-Qt?cr|=4:nr>Qt&&(cr|=8),cr}return xu(jt,$t,Ft,Ke?[0,-be]:[-l,be-l])}function zt(be,Oe,ot,Ke,xt,Ft){var jt=be[0],$t=be[1],Kt=Oe[0],sr=Oe[1],Yt=0,nr=1,Qt=Kt-jt,cr=sr-$t,pr;if(pr=ot-jt,!(!Qt&&pr>0)){if(pr/=Qt,Qt<0){if(pr<Yt)return;pr<nr&&(nr=pr)}else if(Qt>0){if(pr>nr)return;pr>Yt&&(Yt=pr)}if(pr=xt-jt,!(!Qt&&pr<0)){if(pr/=Qt,Qt<0){if(pr>nr)return;pr>Yt&&(Yt=pr)}else if(Qt>0){if(pr<Yt)return;pr<nr&&(nr=pr)}if(pr=Ke-$t,!(!cr&&pr>0)){if(pr/=cr,cr<0){if(pr<Yt)return;pr<nr&&(nr=pr)}else if(cr>0){if(pr>nr)return;pr>Yt&&(Yt=pr)}if(pr=Ft-$t,!(!cr&&pr<0)){if(pr/=cr,cr<0){if(pr>nr)return;pr>Yt&&(Yt=pr)}else if(cr>0){if(pr<Yt)return;pr<nr&&(nr=pr)}return Yt>0&&(be[0]=jt+Yt*Qt,be[1]=$t+Yt*cr),nr<1&&(Oe[0]=jt+nr*Qt,Oe[1]=$t+nr*cr),!0}}}}}var ar=1e9,kr=-ar;function Er(be,Oe,ot,Ke){function xt(sr,Yt){return be<=sr&&sr<=ot&&Oe<=Yt&&Yt<=Ke}function Ft(sr,Yt,nr,Qt){var cr=0,pr=0;if(sr==null||(cr=jt(sr,nr))!==(pr=jt(Yt,nr))||Kt(sr,Yt)<0^nr>0)do Qt.point(cr===0||cr===3?be:ot,cr>1?Ke:Oe);while((cr=(cr+nr+4)%4)!==pr);else Qt.point(Yt[0],Yt[1])}function jt(sr,Yt){return v(sr[0]-be)<o?Yt>0?0:3:v(sr[0]-ot)<o?Yt>0?2:1:v(sr[1]-Oe)<o?Yt>0?1:0:Yt>0?3:2}function $t(sr,Yt){return Kt(sr.x,Yt.x)}function Kt(sr,Yt){var nr=jt(sr,1),Qt=jt(Yt,1);return nr!==Qt?nr-Qt:nr===0?Yt[1]-sr[1]:nr===1?sr[0]-Yt[0]:nr===2?sr[1]-Yt[1]:Yt[0]-sr[0]}return function(sr){var Yt=sr,nr=Ia(),Qt,cr,pr,Jr,jr,rn,Qr,yr,Cr,Ze,fn,Kn={point:Gn,lineStart:uo,lineEnd:ji,polygonStart:Hi,polygonEnd:Zn};function Gn(Rr,li){xt(Rr,li)&&Yt.point(Rr,li)}function $r(){for(var Rr=0,li=0,Ba=cr.length;li<Ba;++li)for(var Ao=cr[li],Ua=1,Kl=Ao.length,Rl=Ao[0],pf,ll,gf=Rl[0],ns=Rl[1];Ua<Kl;++Ua)pf=gf,ll=ns,Rl=Ao[Ua],gf=Rl[0],ns=Rl[1],ll<=Ke?ns>Ke&&(gf-pf)*(Ke-ll)>(ns-ll)*(be-pf)&&++Rr:ns<=Ke&&(gf-pf)*(Ke-ll)<(ns-ll)*(be-pf)&&--Rr;return Rr}function Hi(){Yt=nr,Qt=[],cr=[],fn=!0}function Zn(){var Rr=$r(),li=fn&&Rr,Ba=(Qt=t.merge(Qt)).length;(li||Ba)&&(sr.polygonStart(),li&&(sr.lineStart(),Ft(null,null,1,sr),sr.lineEnd()),Ba&&wo(Qt,$t,Rr,Ft,sr),sr.polygonEnd()),Yt=sr,Qt=cr=pr=null}function uo(){Kn.point=Vi,cr&&cr.push(pr=[]),Ze=!0,Cr=!1,Qr=yr=NaN}function ji(){Qt&&(Vi(Jr,jr),rn&&Cr&&nr.rejoin(),Qt.push(nr.result())),Kn.point=Gn,Cr&&Yt.lineEnd()}function Vi(Rr,li){var Ba=xt(Rr,li);if(cr&&pr.push([Rr,li]),Ze)Jr=Rr,jr=li,rn=Ba,Ze=!1,Ba&&(Yt.lineStart(),Yt.point(Rr,li));else if(Ba&&Cr)Yt.point(Rr,li);else{var Ao=[Qr=Math.max(kr,Math.min(ar,Qr)),yr=Math.max(kr,Math.min(ar,yr))],Ua=[Rr=Math.max(kr,Math.min(ar,Rr)),li=Math.max(kr,Math.min(ar,li))];zt(Ao,Ua,be,Oe,ot,Ke)?(Cr||(Yt.lineStart(),Yt.point(Ao[0],Ao[1])),Yt.point(Ua[0],Ua[1]),Ba||Yt.lineEnd(),fn=!1):Ba&&(Yt.lineStart(),Yt.point(Rr,li),fn=!1)}Qr=Rr,yr=li,Cr=Ba}return Kn}}function Xr(){var be=0,Oe=0,ot=960,Ke=500,xt,Ft,jt;return jt={stream:function($t){return xt&&Ft===$t?xt:xt=Er(be,Oe,ot,Ke)(Ft=$t)},extent:function($t){return arguments.length?(be=+$t[0][0],Oe=+$t[0][1],ot=+$t[1][0],Ke=+$t[1][1],xt=Ft=null,jt):[[be,Oe],[ot,Ke]]}}}var vn=r(),ei,Rn,hi,Xn={sphere:C,point:C,lineStart:$i,lineEnd:C,polygonStart:C,polygonEnd:C};function $i(){Xn.point=sa,Xn.lineEnd=Ki}function Ki(){Xn.point=Xn.lineEnd=C}function sa(be,Oe){be*=d,Oe*=d,ei=be,Rn=x(Oe),hi=g(Oe),Xn.point=Ma}function Ma(be,Oe){be*=d,Oe*=d;var ot=x(Oe),Ke=g(Oe),xt=v(be-ei),Ft=g(xt),jt=x(xt),$t=Ke*jt,Kt=hi*ot-Rn*Ke*Ft,sr=Rn*ot+hi*Ke*Ft;vn.add(b(A($t*$t+Kt*Kt),sr)),ei=be,Rn=ot,hi=Ke}function qa(be){return vn.reset(),q(be,Xn),+vn}var Fa=[null,null],$o={type:"LineString",coordinates:Fa};function _o(be,Oe){return Fa[0]=be,Fa[1]=Oe,qa($o)}var ka={Feature:function(be,Oe){return zn(be.geometry,Oe)},FeatureCollection:function(be,Oe){for(var ot=be.features,Ke=-1,xt=ot.length;++Ke<xt;)if(zn(ot[Ke].geometry,Oe))return!0;return!1}},za={Sphere:function(){return!0},Point:function(be,Oe){return Zr(be.coordinates,Oe)},MultiPoint:function(be,Oe){for(var ot=be.coordinates,Ke=-1,xt=ot.length;++Ke<xt;)if(Zr(ot[Ke],Oe))return!0;return!1},LineString:function(be,Oe){return vi(be.coordinates,Oe)},MultiLineString:function(be,Oe){for(var ot=be.coordinates,Ke=-1,xt=ot.length;++Ke<xt;)if(vi(ot[Ke],Oe))return!0;return!1},Polygon:function(be,Oe){return Ko(be.coordinates,Oe)},MultiPolygon:function(be,Oe){for(var ot=be.coordinates,Ke=-1,xt=ot.length;++Ke<xt;)if(Ko(ot[Ke],Oe))return!0;return!1},GeometryCollection:function(be,Oe){for(var ot=be.geometries,Ke=-1,xt=ot.length;++Ke<xt;)if(zn(ot[Ke],Oe))return!0;return!1}};function zn(be,Oe){return be&&za.hasOwnProperty(be.type)?za[be.type](be,Oe):!1}function Zr(be,Oe){return _o(be,Oe)===0}function vi(be,Oe){for(var ot,Ke,xt,Ft=0,jt=be.length;Ft<jt;Ft++){if(Ke=_o(be[Ft],Oe),Ke===0||Ft>0&&(xt=_o(be[Ft],be[Ft-1]),xt>0&&ot<=xt&&Ke<=xt&&(ot+Ke-xt)*(1-Math.pow((ot-Ke)/xt,2))<s*xt))return!0;ot=Ke}return!1}function Ko(be,Oe){return!!Xl(be.map(tl),Zl(Oe))}function tl(be){return be=be.map(Zl),be.pop(),be}function Zl(be){return[be[0]*d,be[1]*d]}function qs(be,Oe){return(be&&ka.hasOwnProperty(be.type)?ka[be.type]:zn)(be,Oe)}function Qo(be,Oe,ot){var Ke=t.range(be,Oe-o,ot).concat(Oe);return function(xt){return Ke.map(function(Ft){return[xt,Ft]})}}function rl(be,Oe,ot){var Ke=t.range(be,Oe-o,ot).concat(Oe);return function(xt){return Ke.map(function(Ft){return[Ft,xt]})}}function ef(){var be,Oe,ot,Ke,xt,Ft,jt,$t,Kt=10,sr=Kt,Yt=90,nr=360,Qt,cr,pr,Jr,jr=2.5;function rn(){return{type:"MultiLineString",coordinates:Qr()}}function Qr(){return t.range(_(Ke/Yt)*Yt,ot,Yt).map(pr).concat(t.range(_($t/nr)*nr,jt,nr).map(Jr)).concat(t.range(_(Oe/Kt)*Kt,be,Kt).filter(function(yr){return v(yr%Yt)>o}).map(Qt)).concat(t.range(_(Ft/sr)*sr,xt,sr).filter(function(yr){return v(yr%nr)>o}).map(cr))}return rn.lines=function(){return Qr().map(function(yr){return{type:"LineString",coordinates:yr}})},rn.outline=function(){return{type:"Polygon",coordinates:[pr(Ke).concat(Jr(jt).slice(1),pr(ot).reverse().slice(1),Jr($t).reverse().slice(1))]}},rn.extent=function(yr){return arguments.length?rn.extentMajor(yr).extentMinor(yr):rn.extentMinor()},rn.extentMajor=function(yr){return arguments.length?(Ke=+yr[0][0],ot=+yr[1][0],$t=+yr[0][1],jt=+yr[1][1],Ke>ot&&(yr=Ke,Ke=ot,ot=yr),$t>jt&&(yr=$t,$t=jt,jt=yr),rn.precision(jr)):[[Ke,$t],[ot,jt]]},rn.extentMinor=function(yr){return arguments.length?(Oe=+yr[0][0],be=+yr[1][0],Ft=+yr[0][1],xt=+yr[1][1],Oe>be&&(yr=Oe,Oe=be,be=yr),Ft>xt&&(yr=Ft,Ft=xt,xt=yr),rn.precision(jr)):[[Oe,Ft],[be,xt]]},rn.step=function(yr){return arguments.length?rn.stepMajor(yr).stepMinor(yr):rn.stepMinor()},rn.stepMajor=function(yr){return arguments.length?(Yt=+yr[0],nr=+yr[1],rn):[Yt,nr]},rn.stepMinor=function(yr){return arguments.length?(Kt=+yr[0],sr=+yr[1],rn):[Kt,sr]},rn.precision=function(yr){return arguments.length?(jr=+yr,Qt=Qo(Ft,xt,90),cr=rl(Oe,be,jr),pr=Qo($t,jt,90),Jr=rl(Ke,ot,jr),rn):jr},rn.extentMajor([[-180,-90+o],[180,90-o]]).extentMinor([[-180,-80-o],[180,80+o]])}function Bi(){return ef()()}function tf(be,Oe){var ot=be[0]*d,Ke=be[1]*d,xt=Oe[0]*d,Ft=Oe[1]*d,jt=g(Ke),$t=x(Ke),Kt=g(Ft),sr=x(Ft),Yt=jt*g(ot),nr=jt*x(ot),Qt=Kt*g(xt),cr=Kt*x(xt),pr=2*y(A(E(Ft-Ke)+jt*Kt*E(xt-ot))),Jr=x(pr),jr=pr?function(rn){var Qr=x(rn*=pr)/Jr,yr=x(pr-rn)/Jr,Cr=yr*Yt+Qr*Qt,Ze=yr*nr+Qr*cr,fn=yr*$t+Qr*sr;return[b(Ze,Cr)*h,b(fn,A(Cr*Cr+Ze*Ze))*h]}:function(){return[ot*h,Ke*h]};return jr.distance=pr,jr}function so(be){return be}var es=r(),Fs=r(),lo,bs,ws,rf,ts={point:C,lineStart:C,lineEnd:C,polygonStart:function(){ts.lineStart=Id,ts.lineEnd=wp},polygonEnd:function(){ts.lineStart=ts.lineEnd=ts.point=C,es.add(v(Fs)),Fs.reset()},result:function(){var be=es/2;return es.reset(),be}};function Id(){ts.point=kl}function kl(be,Oe){ts.point=Ja,lo=ws=be,bs=rf=Oe}function Ja(be,Oe){Fs.add(rf*be-ws*Oe),ws=be,rf=Oe}function wp(){Ja(lo,bs)}var Na=1/0,nf=Na,bu=-Na,rs=bu,nl={point:af,lineStart:C,lineEnd:C,polygonStart:C,polygonEnd:C,result:function(){var be=[[Na,nf],[bu,rs]];return bu=rs=-(nf=Na=1/0),be}};function af(be,Oe){be<Na&&(Na=be),be>bu&&(bu=be),Oe<nf&&(nf=Oe),Oe>rs&&(rs=Oe)}var Ui=0,zs=0,of=0,sf=0,wu=0,Hf=0,Ah=0,Mh=0,Ns=0,lf,Jl,_s,Va,To={point:il,lineStart:uf,lineEnd:qc,polygonStart:function(){To.lineStart=kh,To.lineEnd=_p},polygonEnd:function(){To.point=il,To.lineStart=uf,To.lineEnd=qc},result:function(){var be=Ns?[Ah/Ns,Mh/Ns]:Hf?[sf/Hf,wu/Hf]:of?[Ui/of,zs/of]:[NaN,NaN];return Ui=zs=of=sf=wu=Hf=Ah=Mh=Ns=0,be}};function il(be,Oe){Ui+=be,zs+=Oe,++of}function uf(){To.point=_u}function _u(be,Oe){To.point=jf,il(_s=be,Va=Oe)}function jf(be,Oe){var ot=be-_s,Ke=Oe-Va,xt=A(ot*ot+Ke*Ke);sf+=xt*(_s+be)/2,wu+=xt*(Va+Oe)/2,Hf+=xt,il(_s=be,Va=Oe)}function qc(){To.point=il}function kh(){To.point=qd}function _p(){zo(lf,Jl)}function qd(be,Oe){To.point=zo,il(lf=_s=be,Jl=Va=Oe)}function zo(be,Oe){var ot=be-_s,Ke=Oe-Va,xt=A(ot*ot+Ke*Ke);sf+=xt*(_s+be)/2,wu+=xt*(Va+Oe)/2,Hf+=xt,xt=Va*be-_s*Oe,Ah+=xt*(_s+be),Mh+=xt*(Va+Oe),Ns+=xt*3,il(_s=be,Va=Oe)}function Fc(be){this._context=be}Fc.prototype={_radius:4.5,pointRadius:function(be){return this._radius=be,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(be,Oe){switch(this._point){case 0:{this._context.moveTo(be,Oe),this._point=1;break}case 1:{this._context.lineTo(be,Oe);break}default:{this._context.moveTo(be+this._radius,Oe),this._context.arc(be,Oe,this._radius,0,c);break}}},result:C};var ff=r(),Sh,Tv,Fd,zc,Nc,Sl={point:C,lineStart:function(){Sl.point=Ch},lineEnd:function(){Sh&&Cl(Tv,Fd),Sl.point=C},polygonStart:function(){Sh=!0},polygonEnd:function(){Sh=null},result:function(){var be=+ff;return ff.reset(),be}};function Ch(be,Oe){Sl.point=Cl,Tv=zc=be,Fd=Nc=Oe}function Cl(be,Oe){zc-=be,Nc-=Oe,ff.add(A(zc*zc+Nc*Nc)),zc=be,Nc=Oe}function Eh(){this._string=[]}Eh.prototype={_radius:4.5,_circle:zd(4.5),pointRadius:function(be){return(be=+be)!==this._radius&&(this._radius=be,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._string.push("Z"),this._point=NaN},point:function(be,Oe){switch(this._point){case 0:{this._string.push("M",be,",",Oe),this._point=1;break}case 1:{this._string.push("L",be,",",Oe);break}default:{this._circle==null&&(this._circle=zd(this._radius)),this._string.push("M",be,",",Oe,this._circle);break}}},result:function(){if(this._string.length){var be=this._string.join("");return this._string=[],be}else return null}};function zd(be){return"m0,"+be+"a"+be+","+be+" 0 1,1 0,"+-2*be+"a"+be+","+be+" 0 1,1 0,"+2*be+"z"}function Oc(be,Oe){var ot=4.5,Ke,xt;function Ft(jt){return jt&&(typeof ot=="function"&&xt.pointRadius(+ot.apply(this,arguments)),q(jt,Ke(xt))),xt.result()}return Ft.area=function(jt){return q(jt,Ke(ts)),ts.result()},Ft.measure=function(jt){return q(jt,Ke(Sl)),Sl.result()},Ft.bounds=function(jt){return q(jt,Ke(nl)),nl.result()},Ft.centroid=function(jt){return q(jt,Ke(To)),To.result()},Ft.projection=function(jt){return arguments.length?(Ke=jt==null?(be=null,so):(be=jt).stream,Ft):be},Ft.context=function(jt){return arguments.length?(xt=jt==null?(Oe=null,new Eh):new Fc(Oe=jt),typeof ot!="function"&&xt.pointRadius(ot),Ft):Oe},Ft.pointRadius=function(jt){return arguments.length?(ot=typeof jt=="function"?jt:(xt.pointRadius(+jt),+jt),Ft):ot},Ft.projection(be).context(Oe)}function Nd(be){return{stream:No(be)}}function No(be){return function(Oe){var ot=new cf;for(var Ke in be)ot[Ke]=be[Ke];return ot.stream=Oe,ot}}function cf(){}cf.prototype={constructor:cf,point:function(be,Oe){this.stream.point(be,Oe)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function Vf(be,Oe,ot){var Ke=be.clipExtent&&be.clipExtent();return be.scale(150).translate([0,0]),Ke!=null&&be.clipExtent(null),q(ot,be.stream(nl)),Oe(nl.result()),Ke!=null&&be.clipExtent(Ke),be}function Bc(be,Oe,ot){return Vf(be,function(Ke){var xt=Oe[1][0]-Oe[0][0],Ft=Oe[1][1]-Oe[0][1],jt=Math.min(xt/(Ke[1][0]-Ke[0][0]),Ft/(Ke[1][1]-Ke[0][1])),$t=+Oe[0][0]+(xt-jt*(Ke[1][0]+Ke[0][0]))/2,Kt=+Oe[0][1]+(Ft-jt*(Ke[1][1]+Ke[0][1]))/2;be.scale(150*jt).translate([$t,Kt])},ot)}function Uc(be,Oe,ot){return Bc(be,[[0,0],Oe],ot)}function Tu(be,Oe,ot){return Vf(be,function(Ke){var xt=+Oe,Ft=xt/(Ke[1][0]-Ke[0][0]),jt=(xt-Ft*(Ke[1][0]+Ke[0][0]))/2,$t=-Ft*Ke[0][1];be.scale(150*Ft).translate([jt,$t])},ot)}function $a(be,Oe,ot){return Vf(be,function(Ke){var xt=+Oe,Ft=xt/(Ke[1][1]-Ke[0][1]),jt=-Ft*Ke[0][0],$t=(xt-Ft*(Ke[1][1]+Ke[0][1]))/2;be.scale(150*Ft).translate([jt,$t])},ot)}var Av=16,Mv=g(30*d);function Od(be,Oe){return+Oe?Lh(be,Oe):kv(be)}function kv(be){return No({point:function(Oe,ot){Oe=be(Oe,ot),this.stream.point(Oe[0],Oe[1])}})}function Lh(be,Oe){function ot(Ke,xt,Ft,jt,$t,Kt,sr,Yt,nr,Qt,cr,pr,Jr,jr){var rn=sr-Ke,Qr=Yt-xt,yr=rn*rn+Qr*Qr;if(yr>4*Oe&&Jr--){var Cr=jt+Qt,Ze=$t+cr,fn=Kt+pr,Kn=A(Cr*Cr+Ze*Ze+fn*fn),Gn=y(fn/=Kn),$r=v(v(fn)-1)<o||v(Ft-nr)<o?(Ft+nr)/2:b(Ze,Cr),Hi=be($r,Gn),Zn=Hi[0],uo=Hi[1],ji=Zn-Ke,Vi=uo-xt,Rr=Qr*ji-rn*Vi;(Rr*Rr/yr>Oe||v((rn*ji+Qr*Vi)/yr-.5)>.3||jt*Qt+$t*cr+Kt*pr<Mv)&&(ot(Ke,xt,Ft,jt,$t,Kt,Zn,uo,$r,Cr/=Kn,Ze/=Kn,fn,Jr,jr),jr.point(Zn,uo),ot(Zn,uo,$r,Cr,Ze,fn,sr,Yt,nr,Qt,cr,pr,Jr,jr))}}return function(Ke){var xt,Ft,jt,$t,Kt,sr,Yt,nr,Qt,cr,pr,Jr,jr={point:rn,lineStart:Qr,lineEnd:Cr,polygonStart:function(){Ke.polygonStart(),jr.lineStart=Ze},polygonEnd:function(){Ke.polygonEnd(),jr.lineStart=Qr}};function rn(Gn,$r){Gn=be(Gn,$r),Ke.point(Gn[0],Gn[1])}function Qr(){nr=NaN,jr.point=yr,Ke.lineStart()}function yr(Gn,$r){var Hi=W([Gn,$r]),Zn=be(Gn,$r);ot(nr,Qt,Yt,cr,pr,Jr,nr=Zn[0],Qt=Zn[1],Yt=Gn,cr=Hi[0],pr=Hi[1],Jr=Hi[2],Av,Ke),Ke.point(nr,Qt)}function Cr(){jr.point=rn,Ke.lineEnd()}function Ze(){Qr(),jr.point=fn,jr.lineEnd=Kn}function fn(Gn,$r){yr(xt=Gn,$r),Ft=nr,jt=Qt,$t=cr,Kt=pr,sr=Jr,jr.point=yr}function Kn(){ot(nr,Qt,Yt,cr,pr,Jr,Ft,jt,xt,$t,Kt,sr,Av,Ke),jr.lineEnd=Cr,Cr()}return jr}}var Sv=No({point:function(be,Oe){this.stream.point(be*d,Oe*d)}});function El(be){return No({point:function(Oe,ot){var Ke=be(Oe,ot);return this.stream.point(Ke[0],Ke[1])}})}function Wt(be,Oe,ot,Ke,xt){function Ft(jt,$t){return jt*=Ke,$t*=xt,[Oe+be*jt,ot-be*$t]}return Ft.invert=function(jt,$t){return[(jt-Oe)/be*Ke,(ot-$t)/be*xt]},Ft}function fr(be,Oe,ot,Ke,xt,Ft){var jt=g(Ft),$t=x(Ft),Kt=jt*be,sr=$t*be,Yt=jt/be,nr=$t/be,Qt=($t*ot-jt*Oe)/be,cr=($t*Oe+jt*ot)/be;function pr(Jr,jr){return Jr*=Ke,jr*=xt,[Kt*Jr-sr*jr+Oe,ot-sr*Jr-Kt*jr]}return pr.invert=function(Jr,jr){return[Ke*(Yt*Jr-nr*jr+Qt),xt*(cr-nr*Jr-Yt*jr)]},pr}function tr(be){return Kr(function(){return be})()}function Kr(be){var Oe,ot=150,Ke=480,xt=250,Ft=0,jt=0,$t=0,Kt=0,sr=0,Yt,nr=0,Qt=1,cr=1,pr=null,Jr=ht,jr=null,rn,Qr,yr,Cr=so,Ze=.5,fn,Kn,Gn,$r,Hi;function Zn(Rr){return Gn(Rr[0]*d,Rr[1]*d)}function uo(Rr){return Rr=Gn.invert(Rr[0],Rr[1]),Rr&&[Rr[0]*h,Rr[1]*h]}Zn.stream=function(Rr){return $r&&Hi===Rr?$r:$r=Sv(El(Yt)(Jr(fn(Cr(Hi=Rr)))))},Zn.preclip=function(Rr){return arguments.length?(Jr=Rr,pr=void 0,Vi()):Jr},Zn.postclip=function(Rr){return arguments.length?(Cr=Rr,jr=rn=Qr=yr=null,Vi()):Cr},Zn.clipAngle=function(Rr){return arguments.length?(Jr=+Rr?ir(pr=Rr*d):(pr=null,ht),Vi()):pr*h},Zn.clipExtent=function(Rr){return arguments.length?(Cr=Rr==null?(jr=rn=Qr=yr=null,so):Er(jr=+Rr[0][0],rn=+Rr[0][1],Qr=+Rr[1][0],yr=+Rr[1][1]),Vi()):jr==null?null:[[jr,rn],[Qr,yr]]},Zn.scale=function(Rr){return arguments.length?(ot=+Rr,ji()):ot},Zn.translate=function(Rr){return arguments.length?(Ke=+Rr[0],xt=+Rr[1],ji()):[Ke,xt]},Zn.center=function(Rr){return arguments.length?(Ft=Rr[0]%360*d,jt=Rr[1]%360*d,ji()):[Ft*h,jt*h]},Zn.rotate=function(Rr){return arguments.length?($t=Rr[0]%360*d,Kt=Rr[1]%360*d,sr=Rr.length>2?Rr[2]%360*d:0,ji()):[$t*h,Kt*h,sr*h]},Zn.angle=function(Rr){return arguments.length?(nr=Rr%360*d,ji()):nr*h},Zn.reflectX=function(Rr){return arguments.length?(Qt=Rr?-1:1,ji()):Qt<0},Zn.reflectY=function(Rr){return arguments.length?(cr=Rr?-1:1,ji()):cr<0},Zn.precision=function(Rr){return arguments.length?(fn=Od(Kn,Ze=Rr*Rr),Vi()):A(Ze)},Zn.fitExtent=function(Rr,li){return Bc(Zn,Rr,li)},Zn.fitSize=function(Rr,li){return Uc(Zn,Rr,li)},Zn.fitWidth=function(Rr,li){return Tu(Zn,Rr,li)},Zn.fitHeight=function(Rr,li){return $a(Zn,Rr,li)};function ji(){var Rr=fr(ot,0,0,Qt,cr,nr).apply(null,Oe(Ft,jt)),li=(nr?fr:Wt)(ot,Ke-Rr[0],xt-Rr[1],Qt,cr,nr);return Yt=Si($t,Kt,sr),Kn=Fn(Oe,li),Gn=Fn(Yt,Kn),fn=Od(Kn,Ze),Vi()}function Vi(){return $r=Hi=null,Zn}return function(){return Oe=be.apply(this,arguments),Zn.invert=Oe.invert&&uo,ji()}}function Sn(be){var Oe=0,ot=l/3,Ke=Kr(be),xt=Ke(Oe,ot);return xt.parallels=function(Ft){return arguments.length?Ke(Oe=Ft[0]*d,ot=Ft[1]*d):[Oe*h,ot*h]},xt}function mi(be){var Oe=g(be);function ot(Ke,xt){return[Ke*Oe,x(xt)/Oe]}return ot.invert=function(Ke,xt){return[Ke/Oe,y(xt*Oe)]},ot}function Oa(be,Oe){var ot=x(be),Ke=(ot+x(Oe))/2;if(v(Ke)<o)return mi(be);var xt=1+ot*(2*Ke-ot),Ft=A(xt)/Ke;function jt($t,Kt){var sr=A(xt-2*Ke*x(Kt))/Ke;return[sr*x($t*=Ke),Ft-sr*g($t)]}return jt.invert=function($t,Kt){var sr=Ft-Kt,Yt=b($t,v(sr))*M(sr);return sr*Ke<0&&(Yt-=l*M($t)*M(sr)),[Yt/Ke,y((xt-($t*$t+sr*sr)*Ke*Ke)/(2*Ke))]},jt}function yi(){return Sn(Oa).scale(155.424).center([0,33.6442])}function Dh(){return yi().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function Tp(be){var Oe=be.length;return{point:function(ot,Ke){for(var xt=-1;++xt<Oe;)be[xt].point(ot,Ke)},sphere:function(){for(var ot=-1;++ot<Oe;)be[ot].sphere()},lineStart:function(){for(var ot=-1;++ot<Oe;)be[ot].lineStart()},lineEnd:function(){for(var ot=-1;++ot<Oe;)be[ot].lineEnd()},polygonStart:function(){for(var ot=-1;++ot<Oe;)be[ot].polygonStart()},polygonEnd:function(){for(var ot=-1;++ot<Oe;)be[ot].polygonEnd()}}}function Os(){var be,Oe,ot=Dh(),Ke,xt=yi().rotate([154,0]).center([-2,58.5]).parallels([55,65]),Ft,jt=yi().rotate([157,0]).center([-3,19.9]).parallels([8,18]),$t,Kt,sr={point:function(Qt,cr){Kt=[Qt,cr]}};function Yt(Qt){var cr=Qt[0],pr=Qt[1];return Kt=null,Ke.point(cr,pr),Kt||(Ft.point(cr,pr),Kt)||($t.point(cr,pr),Kt)}Yt.invert=function(Qt){var cr=ot.scale(),pr=ot.translate(),Jr=(Qt[0]-pr[0])/cr,jr=(Qt[1]-pr[1])/cr;return(jr>=.12&&jr<.234&&Jr>=-.425&&Jr<-.214?xt:jr>=.166&&jr<.234&&Jr>=-.214&&Jr<-.115?jt:ot).invert(Qt)},Yt.stream=function(Qt){return be&&Oe===Qt?be:be=Tp([ot.stream(Oe=Qt),xt.stream(Qt),jt.stream(Qt)])},Yt.precision=function(Qt){return arguments.length?(ot.precision(Qt),xt.precision(Qt),jt.precision(Qt),nr()):ot.precision()},Yt.scale=function(Qt){return arguments.length?(ot.scale(Qt),xt.scale(Qt*.35),jt.scale(Qt),Yt.translate(ot.translate())):ot.scale()},Yt.translate=function(Qt){if(!arguments.length)return ot.translate();var cr=ot.scale(),pr=+Qt[0],Jr=+Qt[1];return Ke=ot.translate(Qt).clipExtent([[pr-.455*cr,Jr-.238*cr],[pr+.455*cr,Jr+.238*cr]]).stream(sr),Ft=xt.translate([pr-.307*cr,Jr+.201*cr]).clipExtent([[pr-.425*cr+o,Jr+.12*cr+o],[pr-.214*cr-o,Jr+.234*cr-o]]).stream(sr),$t=jt.translate([pr-.205*cr,Jr+.212*cr]).clipExtent([[pr-.214*cr+o,Jr+.166*cr+o],[pr-.115*cr-o,Jr+.234*cr-o]]).stream(sr),nr()},Yt.fitExtent=function(Qt,cr){return Bc(Yt,Qt,cr)},Yt.fitSize=function(Qt,cr){return Uc(Yt,Qt,cr)},Yt.fitWidth=function(Qt,cr){return Tu(Yt,Qt,cr)},Yt.fitHeight=function(Qt,cr){return $a(Yt,Qt,cr)};function nr(){return be=Oe=null,Yt}return Yt.scale(1070)}function Bs(be){return function(Oe,ot){var Ke=g(Oe),xt=g(ot),Ft=be(Ke*xt);return[Ft*xt*x(Oe),Ft*x(ot)]}}function Ll(be){return function(Oe,ot){var Ke=A(Oe*Oe+ot*ot),xt=be(Ke),Ft=x(xt),jt=g(xt);return[b(Oe*Ft,Ke*jt),y(Ke&&ot*Ft/Ke)]}}var Ka=Bs(function(be){return A(2/(1+be))});Ka.invert=Ll(function(be){return 2*y(be/2)});function Rh(){return tr(Ka).scale(124.75).clipAngle(180-.001)}var $l=Bs(function(be){return(be=S(be))&&be/x(be)});$l.invert=Ll(function(be){return be});function Di(){return tr($l).scale(79.4188).clipAngle(180-.001)}function Us(be,Oe){return[be,w(p((u+Oe)/2))]}Us.invert=function(be,Oe){return[be,2*m(T(Oe))-u]};function Cv(){return Hc(Us).scale(961/c)}function Hc(be){var Oe=tr(be),ot=Oe.center,Ke=Oe.scale,xt=Oe.translate,Ft=Oe.clipExtent,jt=null,$t,Kt,sr;Oe.scale=function(nr){return arguments.length?(Ke(nr),Yt()):Ke()},Oe.translate=function(nr){return arguments.length?(xt(nr),Yt()):xt()},Oe.center=function(nr){return arguments.length?(ot(nr),Yt()):ot()},Oe.clipExtent=function(nr){return arguments.length?(nr==null?jt=$t=Kt=sr=null:(jt=+nr[0][0],$t=+nr[0][1],Kt=+nr[1][0],sr=+nr[1][1]),Yt()):jt==null?null:[[jt,$t],[Kt,sr]]};function Yt(){var nr=l*Ke(),Qt=Oe(Ji(Oe.rotate()).invert([0,0]));return Ft(jt==null?[[Qt[0]-nr,Qt[1]-nr],[Qt[0]+nr,Qt[1]+nr]]:be===Us?[[Math.max(Qt[0]-nr,jt),$t],[Math.min(Qt[0]+nr,Kt),sr]]:[[jt,Math.max(Qt[1]-nr,$t)],[Kt,Math.min(Qt[1]+nr,sr)]])}return Yt()}function jc(be){return p((u+be)/2)}function Bd(be,Oe){var ot=g(be),Ke=be===Oe?x(be):w(ot/g(Oe))/w(jc(Oe)/jc(be)),xt=ot*k(jc(be),Ke)/Ke;if(!Ke)return Us;function Ft(jt,$t){xt>0?$t<-u+o&&($t=-u+o):$t>u-o&&($t=u-o);var Kt=xt/k(jc($t),Ke);return[Kt*x(Ke*jt),xt-Kt*g(Ke*jt)]}return Ft.invert=function(jt,$t){var Kt=xt-$t,sr=M(Ke)*A(jt*jt+Kt*Kt),Yt=b(jt,v(Kt))*M(Kt);return Kt*Ke<0&&(Yt-=l*M(jt)*M(Kt)),[Yt/Ke,2*m(k(xt/sr,1/Ke))-u]},Ft}function Ph(){return Sn(Bd).scale(109.5).parallels([30,30])}function Au(be,Oe){return[be,Oe]}Au.invert=Au;function al(){return tr(Au).scale(152.63)}function Mu(be,Oe){var ot=g(be),Ke=be===Oe?x(be):(ot-g(Oe))/(Oe-be),xt=ot/Ke+be;if(v(Ke)<o)return Au;function Ft(jt,$t){var Kt=xt-$t,sr=Ke*jt;return[Kt*x(sr),xt-Kt*g(sr)]}return Ft.invert=function(jt,$t){var Kt=xt-$t,sr=b(jt,v(Kt))*M(Kt);return Kt*Ke<0&&(sr-=l*M(jt)*M(Kt)),[sr/Ke,xt-M(Ke)*A(jt*jt+Kt*Kt)]},Ft}function Ud(){return Sn(Mu).scale(131.154).center([0,13.9389])}var ku=1.340264,Su=-.081106,Yf=893e-6,Dl=.003796,hf=A(3)/2,Cu=12;function ol(be,Oe){var ot=y(hf*x(Oe)),Ke=ot*ot,xt=Ke*Ke*Ke;return[be*g(ot)/(hf*(ku+3*Su*Ke+xt*(7*Yf+9*Dl*Ke))),ot*(ku+Su*Ke+xt*(Yf+Dl*Ke))]}ol.invert=function(be,Oe){for(var ot=Oe,Ke=ot*ot,xt=Ke*Ke*Ke,Ft=0,jt,$t,Kt;Ft<Cu&&($t=ot*(ku+Su*Ke+xt*(Yf+Dl*Ke))-Oe,Kt=ku+3*Su*Ke+xt*(7*Yf+9*Dl*Ke),ot-=jt=$t/Kt,Ke=ot*ot,xt=Ke*Ke*Ke,!(v(jt)<s));++Ft);return[hf*be*(ku+3*Su*Ke+xt*(7*Yf+9*Dl*Ke))/g(ot),y(x(ot)/hf)]};function Vc(){return tr(ol).scale(177.158)}function Ih(be,Oe){var ot=g(Oe),Ke=g(be)*ot;return[ot*x(be)/Ke,x(Oe)/Ke]}Ih.invert=Ll(m);function Hd(){return tr(Ih).scale(144.049).clipAngle(60)}function jd(){var be=1,Oe=0,ot=0,Ke=1,xt=1,Ft=0,jt,$t,Kt=null,sr,Yt,nr,Qt=1,cr=1,pr=No({point:function(Cr,Ze){var fn=yr([Cr,Ze]);this.stream.point(fn[0],fn[1])}}),Jr=so,jr,rn;function Qr(){return Qt=be*Ke,cr=be*xt,jr=rn=null,yr}function yr(Cr){var Ze=Cr[0]*Qt,fn=Cr[1]*cr;if(Ft){var Kn=fn*jt-Ze*$t;Ze=Ze*jt+fn*$t,fn=Kn}return[Ze+Oe,fn+ot]}return yr.invert=function(Cr){var Ze=Cr[0]-Oe,fn=Cr[1]-ot;if(Ft){var Kn=fn*jt+Ze*$t;Ze=Ze*jt-fn*$t,fn=Kn}return[Ze/Qt,fn/cr]},yr.stream=function(Cr){return jr&&rn===Cr?jr:jr=pr(Jr(rn=Cr))},yr.postclip=function(Cr){return arguments.length?(Jr=Cr,Kt=sr=Yt=nr=null,Qr()):Jr},yr.clipExtent=function(Cr){return arguments.length?(Jr=Cr==null?(Kt=sr=Yt=nr=null,so):Er(Kt=+Cr[0][0],sr=+Cr[0][1],Yt=+Cr[1][0],nr=+Cr[1][1]),Qr()):Kt==null?null:[[Kt,sr],[Yt,nr]]},yr.scale=function(Cr){return arguments.length?(be=+Cr,Qr()):be},yr.translate=function(Cr){return arguments.length?(Oe=+Cr[0],ot=+Cr[1],Qr()):[Oe,ot]},yr.angle=function(Cr){return arguments.length?(Ft=Cr%360*d,$t=x(Ft),jt=g(Ft),Qr()):Ft*h},yr.reflectX=function(Cr){return arguments.length?(Ke=Cr?-1:1,Qr()):Ke<0},yr.reflectY=function(Cr){return arguments.length?(xt=Cr?-1:1,Qr()):xt<0},yr.fitExtent=function(Cr,Ze){return Bc(yr,Cr,Ze)},yr.fitSize=function(Cr,Ze){return Uc(yr,Cr,Ze)},yr.fitWidth=function(Cr,Ze){return Tu(yr,Cr,Ze)},yr.fitHeight=function(Cr,Ze){return $a(yr,Cr,Ze)},yr}function Gf(be,Oe){var ot=Oe*Oe,Ke=ot*ot;return[be*(.8707-.131979*ot+Ke*(-.013791+Ke*(.003971*ot-.001529*Ke))),Oe*(1.007226+ot*(.015085+Ke*(-.044475+.028874*ot-.005916*Ke)))]}Gf.invert=function(be,Oe){var ot=Oe,Ke=25,xt;do{var Ft=ot*ot,jt=Ft*Ft;ot-=xt=(ot*(1.007226+Ft*(.015085+jt*(-.044475+.028874*Ft-.005916*jt)))-Oe)/(1.007226+Ft*(.015085*3+jt*(-.044475*7+.028874*9*Ft-.005916*11*jt)))}while(v(xt)>o&&--Ke>0);return[be/(.8707+(Ft=ot*ot)*(-.131979+Ft*(-.013791+Ft*Ft*Ft*(.003971-.001529*Ft)))),ot]};function vf(){return tr(Gf).scale(175.295)}function Sa(be,Oe){return[g(Oe)*x(be),x(Oe)]}Sa.invert=Ll(y);function sl(){return tr(Sa).scale(249.5).clipAngle(90+o)}function df(be,Oe){var ot=g(Oe),Ke=1+g(be)*ot;return[ot*x(be)/Ke,x(Oe)/Ke]}df.invert=Ll(function(be){return 2*m(be)});function qh(){return tr(df).scale(250).clipAngle(142)}function Yc(be,Oe){return[w(p((u+Oe)/2)),-be]}Yc.invert=function(be,Oe){return[-Oe,2*m(T(be))-u]};function Ca(){var be=Hc(Yc),Oe=be.center,ot=be.rotate;return be.center=function(Ke){return arguments.length?Oe([-Ke[1],Ke[0]]):(Ke=Oe(),[Ke[1],-Ke[0]])},be.rotate=function(Ke){return arguments.length?ot([Ke[0],Ke[1],Ke.length>2?Ke[2]+90:90]):(Ke=ot(),[Ke[0],Ke[1],Ke[2]-90])},ot([0,0,90]).scale(159.155)}e.geoAlbers=Dh,e.geoAlbersUsa=Os,e.geoArea=V,e.geoAzimuthalEqualArea=Rh,e.geoAzimuthalEqualAreaRaw=Ka,e.geoAzimuthalEquidistant=Di,e.geoAzimuthalEquidistantRaw=$l,e.geoBounds=bt,e.geoCentroid=Yn,e.geoCircle=ga,e.geoClipAntimeridian=ht,e.geoClipCircle=ir,e.geoClipExtent=Xr,e.geoClipRectangle=Er,e.geoConicConformal=Ph,e.geoConicConformalRaw=Bd,e.geoConicEqualArea=yi,e.geoConicEqualAreaRaw=Oa,e.geoConicEquidistant=Ud,e.geoConicEquidistantRaw=Mu,e.geoContains=qs,e.geoDistance=_o,e.geoEqualEarth=Vc,e.geoEqualEarthRaw=ol,e.geoEquirectangular=al,e.geoEquirectangularRaw=Au,e.geoGnomonic=Hd,e.geoGnomonicRaw=Ih,e.geoGraticule=ef,e.geoGraticule10=Bi,e.geoIdentity=jd,e.geoInterpolate=tf,e.geoLength=qa,e.geoMercator=Cv,e.geoMercatorRaw=Us,e.geoNaturalEarth1=vf,e.geoNaturalEarth1Raw=Gf,e.geoOrthographic=sl,e.geoOrthographicRaw=Sa,e.geoPath=Oc,e.geoProjection=tr,e.geoProjectionMutator=Kr,e.geoRotation=Ji,e.geoStereographic=qh,e.geoStereographicRaw=df,e.geoStream=q,e.geoTransform=Nd,e.geoTransverseMercator=Ca,e.geoTransverseMercatorRaw=Yc,Object.defineProperty(e,"__esModule",{value:!0})})});var R_e=J((G5,D_e)=>{(function(e,t){typeof G5=="object"&&typeof D_e<"u"?t(G5,S9(),q_()):typeof define=="function"&&define.amd?define(["exports","d3-geo","d3-array"],t):t(e.d3=e.d3||{},e.d3,e.d3)})(G5,function(e,t,r){"use strict";var n=Math.abs,i=Math.atan,a=Math.atan2,o=Math.cos,s=Math.exp,l=Math.floor,u=Math.log,f=Math.max,c=Math.min,h=Math.pow,d=Math.round,v=Math.sign||function(re){return re>0?1:re<0?-1:0},m=Math.sin,b=Math.tan,g=1e-6,_=1e-12,T=Math.PI,w=T/2,k=T/4,x=Math.SQRT1_2,M=R(2),A=R(T),p=T*2,S=180/T,y=T/180;function E(re){return re?re/Math.sin(re):1}function C(re){return re>1?w:re<-1?-w:Math.asin(re)}function L(re){return re>1?0:re<-1?T:Math.acos(re)}function R(re){return re>0?Math.sqrt(re):0}function I(re){return re=s(2*re),(re-1)/(re+1)}function P(re){return(s(re)-s(-re))/2}function D(re){return(s(re)+s(-re))/2}function q(re){return u(re+R(re*re+1))}function N(re){return u(re+R(re*re-1))}function U(re){var le=b(re/2),de=2*u(o(re/2))/(le*le);function ye(Me,_e){var Le=o(Me),Qe=o(_e),st=m(_e),et=Qe*Le,ut=-((1-et?u((1+et)/2)/(1-et):-.5)+de/(1+et));return[ut*Qe*m(Me),ut*st]}return ye.invert=function(Me,_e){var Le=R(Me*Me+_e*_e),Qe=-re/2,st=50,et;if(!Le)return[0,0];do{var ut=Qe/2,yt=o(ut),Ct=m(ut),qt=Ct/yt,Zt=-u(n(yt));Qe-=et=(2/qt*Zt-de*qt-Le)/(-Zt/(Ct*Ct)+1-de/(2*yt*yt))*(yt<0?.7:1)}while(n(et)>g&&--st>0);var rr=m(Qe);return[a(Me*rr,Le*o(Qe)),C(_e*rr/Le)]},ye}function G(){var re=w,le=t.geoProjectionMutator(U),de=le(re);return de.radius=function(ye){return arguments.length?le(re=ye*y):re*S},de.scale(179.976).clipAngle(147)}function ee(re,le){var de=o(le),ye=E(L(de*o(re/=2)));return[2*de*m(re)*ye,m(le)*ye]}ee.invert=function(re,le){if(!(re*re+4*le*le>T*T+g)){var de=re,ye=le,Me=25;do{var _e=m(de),Le=m(de/2),Qe=o(de/2),st=m(ye),et=o(ye),ut=m(2*ye),yt=st*st,Ct=et*et,qt=Le*Le,Zt=1-Ct*Qe*Qe,rr=Zt?L(et*Qe)*R(dr=1/Zt):dr=0,dr,Ir=2*rr*et*Le-re,Ur=rr*st-le,an=dr*(Ct*qt+rr*et*Qe*yt),un=dr*(.5*_e*ut-rr*2*st*Le),on=dr*.25*(ut*Le-rr*st*Ct*_e),Mi=dr*(yt*Qe+rr*qt*et),Oi=un*on-Mi*an;if(!Oi)break;var Nn=(Ur*un-Ir*Mi)/Oi,ya=(Ir*on-Ur*an)/Oi;de-=Nn,ye-=ya}while((n(Nn)>g||n(ya)>g)&&--Me>0);return[de,ye]}};function Q(){return t.geoProjection(ee).scale(152.63)}function j(re){var le=m(re),de=o(re),ye=re>=0?1:-1,Me=b(ye*re),_e=(1+le-de)/2;function Le(Qe,st){var et=o(st),ut=o(Qe/=2);return[(1+et)*m(Qe),(ye*st>-a(ut,Me)-.001?0:-ye*10)+_e+m(st)*de-(1+et)*le*ut]}return Le.invert=function(Qe,st){var et=0,ut=0,yt=50;do{var Ct=o(et),qt=m(et),Zt=o(ut),rr=m(ut),dr=1+Zt,Ir=dr*qt-Qe,Ur=_e+rr*de-dr*le*Ct-st,an=dr*Ct/2,un=-qt*rr,on=le*dr*qt/2,Mi=de*Zt+le*Ct*rr,Oi=un*on-Mi*an,Nn=(Ur*un-Ir*Mi)/Oi/2,ya=(Ir*on-Ur*an)/Oi;n(ya)>2&&(ya/=2),et-=Nn,ut-=ya}while((n(Nn)>g||n(ya)>g)&&--yt>0);return ye*ut>-a(o(et),Me)-.001?[et*2,ut]:null},Le}function O(){var re=20*y,le=re>=0?1:-1,de=b(le*re),ye=t.geoProjectionMutator(j),Me=ye(re),_e=Me.stream;return Me.parallel=function(Le){return arguments.length?(de=b((le=(re=Le*y)>=0?1:-1)*re),ye(re)):re*S},Me.stream=function(Le){var Qe=Me.rotate(),st=_e(Le),et=(Me.rotate([0,0]),_e(Le)),ut=Me.precision();return Me.rotate(Qe),st.sphere=function(){et.polygonStart(),et.lineStart();for(var yt=le*-180;le*yt<180;yt+=le*90)et.point(yt,le*90);if(re)for(;le*(yt-=3*le*ut)>=-180;)et.point(yt,le*-a(o(yt*y/2),de)*S);et.lineEnd(),et.polygonEnd()},st},Me.scale(218.695).center([0,28.0974])}function Z(re,le){var de=b(le/2),ye=R(1-de*de),Me=1+ye*o(re/=2),_e=m(re)*ye/Me,Le=de/Me,Qe=_e*_e,st=Le*Le;return[4/3*_e*(3+Qe-3*st),4/3*Le*(3+3*Qe-st)]}Z.invert=function(re,le){if(re*=3/8,le*=3/8,!re&&n(le)>1)return null;var de=re*re,ye=le*le,Me=1+de+ye,_e=R((Me-R(Me*Me-4*le*le))/2),Le=C(_e)/3,Qe=_e?N(n(le/_e))/3:q(n(re))/3,st=o(Le),et=D(Qe),ut=et*et-st*st;return[v(re)*2*a(P(Qe)*st,.25-ut),v(le)*2*a(et*m(Le),.25+ut)]};function K(){return t.geoProjection(Z).scale(66.1603)}var $=R(8),oe=u(1+M);function te(re,le){var de=n(le);return de<k?[re,u(b(k+le/2))]:[re*o(de)*(2*M-1/m(de)),v(le)*(2*M*(de-k)-u(b(de/2)))]}te.invert=function(re,le){if((_e=n(le))<oe)return[re,2*i(s(le))-w];var de=k,ye=25,Me,_e;do{var Le=o(de/2),Qe=b(de/2);de-=Me=($*(de-k)-u(Qe)-_e)/($-Le*Le/(2*Qe))}while(n(Me)>_&&--ye>0);return[re/(o(de)*($-1/m(de))),v(le)*de]};function V(){return t.geoProjection(te).scale(112.314)}function ne(re){var le=2*T/re;function de(ye,Me){var _e=t.geoAzimuthalEquidistantRaw(ye,Me);if(n(ye)>w){var Le=a(_e[1],_e[0]),Qe=R(_e[0]*_e[0]+_e[1]*_e[1]),st=le*d((Le-w)/le)+w,et=a(m(Le-=st),2-o(Le));Le=st+C(T/Qe*m(et))-et,_e[0]=Qe*o(Le),_e[1]=Qe*m(Le)}return _e}return de.invert=function(ye,Me){var _e=R(ye*ye+Me*Me);if(_e>w){var Le=a(Me,ye),Qe=le*d((Le-w)/le)+w,st=Le>Qe?-1:1,et=_e*o(Qe-Le),ut=1/b(st*L((et-T)/R(T*(T-2*et)+_e*_e)));Le=Qe+2*i((ut+st*R(ut*ut-3))/3),ye=_e*o(Le),Me=_e*m(Le)}return t.geoAzimuthalEquidistantRaw.invert(ye,Me)},de}function W(){var re=5,le=t.geoProjectionMutator(ne),de=le(re),ye=de.stream,Me=.01,_e=-o(Me*y),Le=m(Me*y);return de.lobes=function(Qe){return arguments.length?le(re=+Qe):re},de.stream=function(Qe){var st=de.rotate(),et=ye(Qe),ut=(de.rotate([0,0]),ye(Qe));return de.rotate(st),et.sphere=function(){ut.polygonStart(),ut.lineStart();for(var yt=0,Ct=360/re,qt=2*T/re,Zt=90-180/re,rr=w;yt<re;++yt,Zt-=Ct,rr-=qt)ut.point(a(Le*o(rr),_e)*S,C(Le*m(rr))*S),Zt<-90?(ut.point(-90,-180-Zt-Me),ut.point(-90,-180-Zt+Me)):(ut.point(90,Zt+Me),ut.point(90,Zt-Me));ut.lineEnd(),ut.polygonEnd()},et},de.scale(87.8076).center([0,17.1875]).clipAngle(180-.001)}function fe(re,le){if(arguments.length<2&&(le=re),le===1)return t.geoAzimuthalEqualAreaRaw;if(le===1/0)return ge;function de(ye,Me){var _e=t.geoAzimuthalEqualAreaRaw(ye/le,Me);return _e[0]*=re,_e}return de.invert=function(ye,Me){var _e=t.geoAzimuthalEqualAreaRaw.invert(ye/re,Me);return _e[0]*=le,_e},de}function ge(re,le){return[re*o(le)/o(le/=2),2*m(le)]}ge.invert=function(re,le){var de=2*C(le/2);return[re*o(de/2)/o(de),de]};function Ce(){var re=2,le=t.geoProjectionMutator(fe),de=le(re);return de.coefficient=function(ye){return arguments.length?le(re=+ye):re},de.scale(169.529)}function Ne(re,le,de){var ye=100,Me,_e,Le;de=de===void 0?0:+de,le=+le;do _e=re(de),Le=re(de+g),_e===Le&&(Le=_e+g),de-=Me=-1*g*(_e-le)/(_e-Le);while(ye-- >0&&n(Me)>g);return ye<0?NaN:de}function pe(re,le,de){return le===void 0&&(le=40),de===void 0&&(de=_),function(ye,Me,_e,Le){var Qe,st,et;_e=_e===void 0?0:+_e,Le=Le===void 0?0:+Le;for(var ut=0;ut<le;ut++){var yt=re(_e,Le),Ct=yt[0]-ye,qt=yt[1]-Me;if(n(Ct)<de&&n(qt)<de)break;var Zt=Ct*Ct+qt*qt;if(Zt>Qe){_e-=st/=2,Le-=et/=2;continue}Qe=Zt;var rr=(_e>0?-1:1)*de,dr=(Le>0?-1:1)*de,Ir=re(_e+rr,Le),Ur=re(_e,Le+dr),an=(Ir[0]-yt[0])/rr,un=(Ir[1]-yt[1])/rr,on=(Ur[0]-yt[0])/dr,Mi=(Ur[1]-yt[1])/dr,Oi=Mi*an-un*on,Nn=(n(Oi)<.5?.5:1)/Oi;if(st=(qt*on-Ct*Mi)*Nn,et=(Ct*un-qt*an)*Nn,_e+=st,Le+=et,n(st)<de&&n(et)<de)break}return[_e,Le]}}function me(){var re=fe(1.68,2),le=1.4,de=12;function ye(Me,_e){if(Me+_e<-le){var Le=(Me-_e+1.6)*(Me+_e+le)/8;Me+=Le,_e-=.8*Le*m(_e+T/2)}var Qe=re(Me,_e),st=(1-o(Me*_e))/de;return Qe[1]<0&&(Qe[0]*=1+st),Qe[1]>0&&(Qe[1]*=1+st/1.5*Qe[0]*Qe[0]),Qe}return ye.invert=pe(ye),ye}function Ie(){return t.geoProjection(me()).rotate([-16.5,-42]).scale(176.57).center([7.93,.09])}function Re(re,le){var de=re*m(le),ye=30,Me;do le-=Me=(le+m(le)-de)/(1+o(le));while(n(Me)>g&&--ye>0);return le/2}function ze(re,le,de){function ye(Me,_e){return[re*Me*o(_e=Re(de,_e)),le*m(_e)]}return ye.invert=function(Me,_e){return _e=C(_e/le),[Me/(re*o(_e)),C((2*_e+m(2*_e))/de)]},ye}var Be=ze(M/w,M,T);function tt(){return t.geoProjection(Be).scale(169.529)}var rt=2.00276,ce=1.11072;function Ee(re,le){var de=Re(T,le);return[rt*re/(1/o(le)+ce/o(de)),(le+M*m(de))/rt]}Ee.invert=function(re,le){var de=rt*le,ye=le<0?-k:k,Me=25,_e,Le;do Le=de-M*m(ye),ye-=_e=(m(2*ye)+2*ye-T*m(Le))/(2*o(2*ye)+2+T*o(Le)*M*o(ye));while(n(_e)>g&&--Me>0);return Le=de-M*m(ye),[re*(1/o(Le)+ce/o(ye))/rt,Le]};function Ae(){return t.geoProjection(Ee).scale(160.857)}function Pe(re){var le=0,de=t.geoProjectionMutator(re),ye=de(le);return ye.parallel=function(Me){return arguments.length?de(le=Me*y):le*S},ye}function He(re,le){return[re*o(le),le]}He.invert=function(re,le){return[re/o(le),le]};function Fe(){return t.geoProjection(He).scale(152.63)}function ke(re){if(!re)return He;var le=1/b(re);function de(ye,Me){var _e=le+re-Me,Le=_e&&ye*o(Me)/_e;return[_e*m(Le),le-_e*o(Le)]}return de.invert=function(ye,Me){var _e=R(ye*ye+(Me=le-Me)*Me),Le=le+re-_e;return[_e/o(Le)*a(ye,Me),Le]},de}function Ue(){return Pe(ke).scale(123.082).center([0,26.1441]).parallel(45)}function Ge(re){function le(de,ye){var Me=w-ye,_e=Me&&de*re*m(Me)/Me;return[Me*m(_e)/re,w-Me*o(_e)]}return le.invert=function(de,ye){var Me=de*re,_e=w-ye,Le=R(Me*Me+_e*_e),Qe=a(Me,_e);return[(Le?Le/m(Le):1)*Qe/re,w-Le]},le}function lt(){var re=.5,le=t.geoProjectionMutator(Ge),de=le(re);return de.fraction=function(ye){return arguments.length?le(re=+ye):re},de.scale(158.837)}var it=ze(1,4/T,T);function wt(){return t.geoProjection(it).scale(152.63)}function _t(re,le,de,ye,Me,_e){var Le=o(_e),Qe;if(n(re)>1||n(_e)>1)Qe=L(de*Me+le*ye*Le);else{var st=m(re/2),et=m(_e/2);Qe=2*C(R(st*st+le*ye*et*et))}return n(Qe)>g?[Qe,a(ye*m(_e),le*Me-de*ye*Le)]:[0,0]}function Tt(re,le,de){return L((re*re+le*le-de*de)/(2*re*le))}function nt(re){return re-2*T*l((re+T)/(2*T))}function bt(re,le,de){for(var ye=[[re[0],re[1],m(re[1]),o(re[1])],[le[0],le[1],m(le[1]),o(le[1])],[de[0],de[1],m(de[1]),o(de[1])]],Me=ye[2],_e,Le=0;Le<3;++Le,Me=_e)_e=ye[Le],Me.v=_t(_e[1]-Me[1],Me[3],Me[2],_e[3],_e[2],_e[0]-Me[0]),Me.point=[0,0];var Qe=Tt(ye[0].v[0],ye[2].v[0],ye[1].v[0]),st=Tt(ye[0].v[0],ye[1].v[0],ye[2].v[0]),et=T-Qe;ye[2].point[1]=0,ye[0].point[0]=-(ye[1].point[0]=ye[0].v[0]/2);var ut=[ye[2].point[0]=ye[0].point[0]+ye[2].v[0]*o(Qe),2*(ye[0].point[1]=ye[1].point[1]=ye[2].v[0]*m(Qe))];function yt(Ct,qt){var Zt=m(qt),rr=o(qt),dr=new Array(3),Ir;for(Ir=0;Ir<3;++Ir){var Ur=ye[Ir];if(dr[Ir]=_t(qt-Ur[1],Ur[3],Ur[2],rr,Zt,Ct-Ur[0]),!dr[Ir][0])return Ur.point;dr[Ir][1]=nt(dr[Ir][1]-Ur.v[1])}var an=ut.slice();for(Ir=0;Ir<3;++Ir){var un=Ir==2?0:Ir+1,on=Tt(ye[Ir].v[0],dr[Ir][0],dr[un][0]);dr[Ir][1]<0&&(on=-on),Ir?Ir==1?(on=st-on,an[0]-=dr[Ir][0]*o(on),an[1]-=dr[Ir][0]*m(on)):(on=et-on,an[0]+=dr[Ir][0]*o(on),an[1]+=dr[Ir][0]*m(on)):(an[0]+=dr[Ir][0]*o(on),an[1]-=dr[Ir][0]*m(on))}return an[0]/=3,an[1]/=3,an}return yt}function At(re){return re[0]*=y,re[1]*=y,re}function Ye(){return je([0,22],[45,22],[22.5,-22]).scale(380).center([22.5,2])}function je(re,le,de){var ye=t.geoCentroid({type:"MultiPoint",coordinates:[re,le,de]}),Me=[-ye[0],-ye[1]],_e=t.geoRotation(Me),Le=bt(At(_e(re)),At(_e(le)),At(_e(de)));Le.invert=pe(Le);var Qe=t.geoProjection(Le).rotate(Me),st=Qe.center;return delete Qe.rotate,Qe.center=function(et){return arguments.length?st(_e(et)):_e.invert(st())},Qe.clipAngle(90)}function $e(re,le){var de=R(1-m(le));return[2/A*re*de,A*(1-de)]}$e.invert=function(re,le){var de=(de=le/A-1)*de;return[de>0?re*R(T/de)/2:0,C(1-de)]};function ve(){return t.geoProjection($e).scale(95.6464).center([0,30])}function Y(re){var le=b(re);function de(ye,Me){return[ye,(ye?ye/m(ye):1)*(m(Me)*o(ye)-le*o(Me))]}return de.invert=le?function(ye,Me){ye&&(Me*=m(ye)/ye);var _e=o(ye);return[ye,2*a(R(_e*_e+le*le-Me*Me)-_e,le-Me)]}:function(ye,Me){return[ye,C(ye?Me*b(ye)/ye:Me)]},de}function ie(){return Pe(Y).scale(249.828).clipAngle(90)}var Te=R(3);function Ve(re,le){return[Te*re*(2*o(2*le/3)-1)/A,Te*A*m(le/3)]}Ve.invert=function(re,le){var de=3*C(le/(Te*A));return[A*re/(Te*(2*o(2*de/3)-1)),de]};function at(){return t.geoProjection(Ve).scale(156.19)}function ft(re){var le=o(re);function de(ye,Me){return[ye*le,m(Me)/le]}return de.invert=function(ye,Me){return[ye/le,C(Me*le)]},de}function Ht(){return Pe(ft).parallel(38.58).scale(195.044)}function Xt(re){var le=o(re);function de(ye,Me){return[ye*le,(1+le)*b(Me/2)]}return de.invert=function(ye,Me){return[ye/le,i(Me/(1+le))*2]},de}function St(){return Pe(Xt).scale(124.75)}function Vt(re,le){var de=R(8/(3*T));return[de*re*(1-n(le)/T),de*le]}Vt.invert=function(re,le){var de=R(8/(3*T)),ye=le/de;return[re/(de*(1-n(ye)/T)),ye]};function er(){return t.geoProjection(Vt).scale(165.664)}function _r(re,le){var de=R(4-3*m(n(le)));return[2/R(6*T)*re*de,v(le)*R(2*T/3)*(2-de)]}_r.invert=function(re,le){var de=2-n(le)/R(2*T/3);return[re*R(6*T)/(2*de),v(le)*C((4-de*de)/3)]};function br(){return t.geoProjection(_r).scale(165.664)}function or(re,le){var de=R(T*(4+T));return[2/de*re*(1+R(1-4*le*le/(T*T))),4/de*le]}or.invert=function(re,le){var de=R(T*(4+T))/2;return[re*de/(1+R(1-le*le*(4+T)/(4*T))),le*de/2]};function tn(){return t.geoProjection(or).scale(180.739)}function Lr(re,le){var de=(2+w)*m(le);le/=2;for(var ye=0,Me=1/0;ye<10&&n(Me)>g;ye++){var _e=o(le);le-=Me=(le+m(le)*(_e+2)-de)/(2*_e*(1+_e))}return[2/R(T*(4+T))*re*(1+o(le)),2*R(T/(4+T))*m(le)]}Lr.invert=function(re,le){var de=le*R((4+T)/T)/2,ye=C(de),Me=o(ye);return[re/(2/R(T*(4+T))*(1+Me)),C((ye+de*(Me+2))/(2+w))]};function Gr(){return t.geoProjection(Lr).scale(180.739)}function sn(re,le){return[re*(1+o(le))/R(2+T),2*le/R(2+T)]}sn.invert=function(re,le){var de=R(2+T),ye=le*de/2;return[de*re/(1+o(ye)),ye]};function Hr(){return t.geoProjection(sn).scale(173.044)}function Br(re,le){for(var de=(1+w)*m(le),ye=0,Me=1/0;ye<10&&n(Me)>g;ye++)le-=Me=(le+m(le)-de)/(1+o(le));return de=R(2+T),[re*(1+o(le))/de,2*le/de]}Br.invert=function(re,le){var de=1+w,ye=R(de/2);return[re*2*ye/(1+o(le*=ye)),C((le+m(le))/de)]};function qn(){return t.geoProjection(Br).scale(173.044)}var kn=3+2*M;function Yn(re,le){var de=m(re/=2),ye=o(re),Me=R(o(le)),_e=o(le/=2),Le=m(le)/(_e+M*ye*Me),Qe=R(2/(1+Le*Le)),st=R((M*_e+(ye+de)*Me)/(M*_e+(ye-de)*Me));return[kn*(Qe*(st-1/st)-2*u(st)),kn*(Qe*Le*(st+1/st)-2*i(Le))]}Yn.invert=function(re,le){if(!(_e=Z.invert(re/1.2,le*1.065)))return null;var de=_e[0],ye=_e[1],Me=20,_e;re/=kn,le/=kn;do{var Le=de/2,Qe=ye/2,st=m(Le),et=o(Le),ut=m(Qe),yt=o(Qe),Ct=o(ye),qt=R(Ct),Zt=ut/(yt+M*et*qt),rr=Zt*Zt,dr=R(2/(1+rr)),Ir=M*yt+(et+st)*qt,Ur=M*yt+(et-st)*qt,an=Ir/Ur,un=R(an),on=un-1/un,Mi=un+1/un,Oi=dr*on-2*u(un)-re,Nn=dr*Zt*Mi-2*i(Zt)-le,ya=ut&&x*qt*st*rr/ut,Ri=(M*et*yt+qt)/(2*(yt+M*et*qt)*(yt+M*et*qt)*qt),Ts=-.5*Zt*dr*dr*dr,mf=Ts*ya,Gc=Ts*Ri,as=(as=2*yt+M*qt*(et-st))*as*un,Mo=(M*et*yt*qt+Ct)/as,Ql=-(M*st*ut)/(qt*as),ul=on*mf-2*Mo/un+dr*(Mo+Mo/an),Eu=on*Gc-2*Ql/un+dr*(Ql+Ql/an),yf=Zt*Mi*mf-2*ya/(1+rr)+dr*Mi*ya+dr*Zt*(Mo-Mo/an),Wf=Zt*Mi*Gc-2*Ri/(1+rr)+dr*Mi*Ri+dr*Zt*(Ql-Ql/an),js=Eu*yf-Wf*ul;if(!js)break;var Wc=(Nn*Eu-Oi*Wf)/js,Dv=(Oi*yf-Nn*ul)/js;de-=Wc,ye=f(-w,c(w,ye-Dv))}while((n(Wc)>g||n(Dv)>g)&&--Me>0);return n(n(ye)-w)<g?[0,ye]:Me&&[de,ye]};function Wn(){return t.geoProjection(Yn).scale(62.5271)}var Fn=o(35*y);function wn(re,le){var de=b(le/2);return[re*Fn*R(1-de*de),(1+Fn)*de]}wn.invert=function(re,le){var de=le/(1+Fn);return[re&&re/(Fn*R(1-de*de)),2*i(de)]};function Si(){return t.geoProjection(wn).scale(137.152)}function Aa(re,le){var de=le/2,ye=o(de);return[2*re/A*o(le)*ye*ye,A*b(de)]}Aa.invert=function(re,le){var de=i(le/A),ye=o(de),Me=2*de;return[re*A/2/(o(Me)*ye*ye),Me]};function ia(){return t.geoProjection(Aa).scale(135.264)}function An(re){var le=1-re,de=_e(T,0)[0]-_e(-T,0)[0],ye=_e(0,w)[1]-_e(0,-w)[1],Me=R(2*ye/de);function _e(st,et){var ut=o(et),yt=m(et);return[ut/(le+re*ut)*st,le*et+re*yt]}function Le(st,et){var ut=_e(st,et);return[ut[0]*Me,ut[1]/Me]}function Qe(st){return Le(0,st)[1]}return Le.invert=function(st,et){var ut=Ne(Qe,et),yt=st/Me*(re+le/o(ut));return[yt,ut]},Le}function Ji(){var re=.5,le=t.geoProjectionMutator(An),de=le(re);return de.alpha=function(ye){return arguments.length?le(re=+ye):re},de.scale(168.725)}function ii(re){return[re[0]/2,C(b(re[1]/2*y))*S]}function bo(re){return[re[0]*2,2*i(m(re[1]*y))*S]}function ga(re){re==null&&(re=t.geoOrthographic);var le=re(),de=t.geoEquirectangular().scale(S).precision(0).clipAngle(null).translate([0,0]);function ye(_e){return le(ii(_e))}le.invert&&(ye.invert=function(_e){return bo(le.invert(_e))}),ye.stream=function(_e){var Le=le.stream(_e),Qe=de.stream({point:function(st,et){Le.point(st/2,C(b(-et/2*y))*S)},lineStart:function(){Le.lineStart()},lineEnd:function(){Le.lineEnd()},polygonStart:function(){Le.polygonStart()},polygonEnd:function(){Le.polygonEnd()}});return Qe.sphere=Le.sphere,Qe};function Me(_e){ye[_e]=function(){return arguments.length?(le[_e].apply(le,arguments),ye):le[_e]()}}return ye.rotate=function(_e){return arguments.length?(de.rotate(_e),ye):de.rotate()},ye.center=function(_e){return arguments.length?(le.center(ii(_e)),ye):bo(le.center())},Me("angle"),Me("clipAngle"),Me("clipExtent"),Me("fitExtent"),Me("fitHeight"),Me("fitSize"),Me("fitWidth"),Me("scale"),Me("translate"),Me("precision"),ye.scale(249.5)}function Ia(re,le){var de=2*T/le,ye=re*re;function Me(_e,Le){var Qe=t.geoAzimuthalEquidistantRaw(_e,Le),st=Qe[0],et=Qe[1],ut=st*st+et*et;if(ut>ye){var yt=R(ut),Ct=a(et,st),qt=de*d(Ct/de),Zt=Ct-qt,rr=re*o(Zt),dr=(re*m(Zt)-Zt*m(rr))/(w-rr),Ir=si(Zt,dr),Ur=(T-re)/aa(Ir,rr,T);st=yt;var an=50,un;do st-=un=(re+aa(Ir,rr,st)*Ur-yt)/(Ir(st)*Ur);while(n(un)>g&&--an>0);et=Zt*m(st),st<w&&(et-=dr*(st-w));var on=m(qt),Mi=o(qt);Qe[0]=st*Mi-et*on,Qe[1]=st*on+et*Mi}return Qe}return Me.invert=function(_e,Le){var Qe=_e*_e+Le*Le;if(Qe>ye){var st=R(Qe),et=a(Le,_e),ut=de*d(et/de),yt=et-ut;_e=st*o(yt),Le=st*m(yt);for(var Ct=_e-w,qt=m(_e),Zt=Le/qt,rr=_e<w?1/0:0,dr=10;;){var Ir=re*m(Zt),Ur=re*o(Zt),an=m(Ur),un=w-Ur,on=(Ir-Zt*an)/un,Mi=si(Zt,on);if(n(rr)<_||!--dr)break;Zt-=rr=(Zt*qt-on*Ct-Le)/(qt-Ct*2*(un*(Ur+Zt*Ir*o(Ur)-an)-Ir*(Ir-Zt*an))/(un*un))}st=re+aa(Mi,Ur,_e)*(T-re)/aa(Mi,Ur,T),et=ut+Zt,_e=st*o(et),Le=st*m(et)}return t.geoAzimuthalEquidistantRaw.invert(_e,Le)},Me}function si(re,le){return function(de){var ye=re*o(de);return de<w&&(ye-=le),R(1+ye*ye)}}function aa(re,le,de){for(var ye=50,Me=(de-le)/ye,_e=re(le)+re(de),Le=1,Qe=le;Le<ye;++Le)_e+=2*re(Qe+=Me);return _e*.5*Me}function wo(){var re=6,le=30*y,de=o(le),ye=m(le),Me=t.geoProjectionMutator(Ia),_e=Me(le,re),Le=_e.stream,Qe=.01,st=-o(Qe*y),et=m(Qe*y);return _e.radius=function(ut){return arguments.length?(de=o(le=ut*y),ye=m(le),Me(le,re)):le*S},_e.lobes=function(ut){return arguments.length?Me(le,re=+ut):re},_e.stream=function(ut){var yt=_e.rotate(),Ct=Le(ut),qt=(_e.rotate([0,0]),Le(ut));return _e.rotate(yt),Ct.sphere=function(){qt.polygonStart(),qt.lineStart();for(var Zt=0,rr=2*T/re,dr=0;Zt<re;++Zt,dr-=rr)qt.point(a(et*o(dr),st)*S,C(et*m(dr))*S),qt.point(a(ye*o(dr-rr/2),de)*S,C(ye*m(dr-rr/2))*S);qt.lineEnd(),qt.polygonEnd()},Ct},_e.rotate([90,-40]).scale(91.7095).clipAngle(180-.001)}function ma(re,le,de,ye,Me,_e,Le,Qe){arguments.length<8&&(Qe=0);function st(et,ut){if(!ut)return[re*et/T,0];var yt=ut*ut,Ct=re+yt*(le+yt*(de+yt*ye)),qt=ut*(Me-1+yt*(_e-Qe+yt*Le)),Zt=(Ct*Ct+qt*qt)/(2*qt),rr=et*C(Ct/Zt)/T;return[Zt*m(rr),ut*(1+yt*Qe)+Zt*(1-o(rr))]}return st.invert=function(et,ut){var yt=T*et/re,Ct=ut,qt,Zt,rr=50;do{var dr=Ct*Ct,Ir=re+dr*(le+dr*(de+dr*ye)),Ur=Ct*(Me-1+dr*(_e-Qe+dr*Le)),an=Ir*Ir+Ur*Ur,un=2*Ur,on=an/un,Mi=on*on,Oi=C(Ir/on)/T,Nn=yt*Oi,ya=Ir*Ir,Ri=(2*le+dr*(4*de+dr*6*ye))*Ct,Ts=Me+dr*(3*_e+dr*5*Le),mf=2*(Ir*Ri+Ur*(Ts-1)),Gc=2*(Ts-1),as=(mf*un-an*Gc)/(un*un),Mo=o(Nn),Ql=m(Nn),ul=on*Mo,Eu=on*Ql,yf=yt/T*(1/R(1-ya/Mi))*(Ri*on-Ir*as)/Mi,Wf=Eu-et,js=Ct*(1+dr*Qe)+on-ul-ut,Wc=as*Ql+ul*yf,Dv=ul*Oi,z=1+as-(as*Mo-Eu*yf),H=Eu*Oi,X=Wc*H-z*Dv;if(!X)break;yt-=qt=(js*Wc-Wf*z)/X,Ct-=Zt=(Wf*H-js*Dv)/X}while((n(qt)>g||n(Zt)>g)&&--rr>0);return[yt,Ct]},st}var oa=ma(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);function yu(){return t.geoProjection(oa).scale(149.995)}var Xl=ma(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);function xu(){return t.geoProjection(Xl).scale(153.93)}var De=ma(5/6*T,-.62636,-.0344,0,1.3493,-.05524,0,.045);function ct(){return t.geoProjection(De).scale(130.945)}function ht(re,le){var de=re*re,ye=le*le;return[re*(1-.162388*ye)*(.87-952426e-9*de*de),le*(1+ye/12)]}ht.invert=function(re,le){var de=re,ye=le,Me=50,_e;do{var Le=ye*ye;ye-=_e=(ye*(1+Le/12)-le)/(1+Le/4)}while(n(_e)>g&&--Me>0);Me=50,re/=1-.162388*Le;do{var Qe=(Qe=de*de)*Qe;de-=_e=(de*(.87-952426e-9*Qe)-re)/(.87-.00476213*Qe)}while(n(_e)>g&&--Me>0);return[de,ye]};function Mt(){return t.geoProjection(ht).scale(131.747)}var Gt=ma(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function Lt(){return t.geoProjection(Gt).scale(131.087)}function ir(re){var le=re(w,0)[0]-re(-w,0)[0];function de(ye,Me){var _e=ye>0?-.5:.5,Le=re(ye+_e*T,Me);return Le[0]-=_e*le,Le}return re.invert&&(de.invert=function(ye,Me){var _e=ye>0?-.5:.5,Le=re.invert(ye+_e*le,Me),Qe=Le[0]-_e*T;return Qe<-T?Qe+=2*T:Qe>T&&(Qe-=2*T),Le[0]=Qe,Le}),de}function zt(re,le){var de=v(re),ye=v(le),Me=o(le),_e=o(re)*Me,Le=m(re)*Me,Qe=m(ye*le);re=n(a(Le,Qe)),le=C(_e),n(re-w)>g&&(re%=w);var st=ar(re>T/4?w-re:re,le);return re>T/4&&(Qe=st[0],st[0]=-st[1],st[1]=-Qe),st[0]*=de,st[1]*=-ye,st}zt.invert=function(re,le){n(re)>1&&(re=v(re)*2-re),n(le)>1&&(le=v(le)*2-le);var de=v(re),ye=v(le),Me=-de*re,_e=-ye*le,Le=_e/Me<1,Qe=kr(Le?_e:Me,Le?Me:_e),st=Qe[0],et=Qe[1],ut=o(et);return Le&&(st=-w-st),[de*(a(m(st)*ut,-m(et))+T),ye*C(o(st)*ut)]};function ar(re,le){if(le===w)return[0,0];var de=m(le),ye=de*de,Me=ye*ye,_e=1+Me,Le=1+3*Me,Qe=1-Me,st=C(1/R(_e)),et=Qe+ye*_e*st,ut=(1-de)/et,yt=R(ut),Ct=ut*_e,qt=R(Ct),Zt=yt*Qe,rr,dr;if(re===0)return[0,-(Zt+ye*qt)];var Ir=o(le),Ur=1/Ir,an=2*de*Ir,un=(-3*ye+st*Le)*an,on=(-et*Ir-(1-de)*un)/(et*et),Mi=.5*on/yt,Oi=Qe*Mi-2*ye*yt*an,Nn=ye*_e*on+ut*Le*an,ya=-Ur*an,Ri=-Ur*Nn,Ts=-2*Ur*Oi,mf=4*re/T,Gc;if(re>.222*T||le<T/4&&re>.175*T){if(rr=(Zt+ye*R(Ct*(1+Me)-Zt*Zt))/(1+Me),re>T/4)return[rr,rr];var as=rr,Mo=.5*rr;rr=.5*(Mo+as),dr=50;do{var Ql=R(Ct-rr*rr),ul=rr*(Ts+ya*Ql)+Ri*C(rr/qt)-mf;if(!ul)break;ul<0?Mo=rr:as=rr,rr=.5*(Mo+as)}while(n(as-Mo)>g&&--dr>0)}else{rr=g,dr=25;do{var Eu=rr*rr,yf=R(Ct-Eu),Wf=Ts+ya*yf,js=rr*Wf+Ri*C(rr/qt)-mf,Wc=Wf+(Ri-ya*Eu)/yf;rr-=Gc=yf?js/Wc:0}while(n(Gc)>g&&--dr>0)}return[rr,-Zt-ye*R(Ct-rr*rr)]}function kr(re,le){for(var de=0,ye=1,Me=.5,_e=50;;){var Le=Me*Me,Qe=R(Me),st=C(1/R(1+Le)),et=1-Le+Me*(1+Le)*st,ut=(1-Qe)/et,yt=R(ut),Ct=ut*(1+Le),qt=yt*(1-Le),Zt=Ct-re*re,rr=R(Zt),dr=le+qt+Me*rr;if(n(ye-de)<_||--_e===0||dr===0)break;dr>0?de=Me:ye=Me,Me=.5*(de+ye)}if(!_e)return null;var Ir=C(Qe),Ur=o(Ir),an=1/Ur,un=2*Qe*Ur,on=(-3*Me+st*(1+3*Le))*un,Mi=(-et*Ur-(1-Qe)*on)/(et*et),Oi=.5*Mi/yt,Nn=(1-Le)*Oi-2*Me*yt*un,ya=-2*an*Nn,Ri=-an*un,Ts=-an*(Me*(1+Le)*Mi+ut*(1+3*Le)*un);return[T/4*(re*(ya+Ri*rr)+Ts*C(re/R(Ct))),Ir]}function Er(){return t.geoProjection(ir(zt)).scale(239.75)}function Xr(re,le,de){var ye,Me,_e;return re?(ye=vn(re,de),le?(Me=vn(le,1-de),_e=Me[1]*Me[1]+de*ye[0]*ye[0]*Me[0]*Me[0],[[ye[0]*Me[2]/_e,ye[1]*ye[2]*Me[0]*Me[1]/_e],[ye[1]*Me[1]/_e,-ye[0]*ye[2]*Me[0]*Me[2]/_e],[ye[2]*Me[1]*Me[2]/_e,-de*ye[0]*ye[1]*Me[0]/_e]]):[[ye[0],0],[ye[1],0],[ye[2],0]]):(Me=vn(le,1-de),[[0,Me[0]/Me[1]],[1/Me[1],0],[Me[2]/Me[1],0]])}function vn(re,le){var de,ye,Me,_e,Le;if(le<g)return _e=m(re),ye=o(re),de=le*(re-_e*ye)/4,[_e-de*ye,ye+de*_e,1-le*_e*_e/2,re-de];if(le>=1-g)return de=(1-le)/4,ye=D(re),_e=I(re),Me=1/ye,Le=ye*P(re),[_e+de*(Le-re)/(ye*ye),Me-de*_e*Me*(Le-re),Me+de*_e*Me*(Le+re),2*i(s(re))-w+de*(Le-re)/ye];var Qe=[1,0,0,0,0,0,0,0,0],st=[R(le),0,0,0,0,0,0,0,0],et=0;for(ye=R(1-le),Le=1;n(st[et]/Qe[et])>g&&et<8;)de=Qe[et++],st[et]=(de-ye)/2,Qe[et]=(de+ye)/2,ye=R(de*ye),Le*=2;Me=Le*Qe[et]*re;do _e=st[et]*m(ye=Me)/Qe[et],Me=(C(_e)+Me)/2;while(--et);return[m(Me),_e=o(Me),_e/o(Me-ye),Me]}function ei(re,le,de){var ye=n(re),Me=n(le),_e=P(Me);if(ye){var Le=1/m(ye),Qe=1/(b(ye)*b(ye)),st=-(Qe+de*(_e*_e*Le*Le)-1+de),et=(de-1)*Qe,ut=(-st+R(st*st-4*et))/2;return[Rn(i(1/R(ut)),de)*v(re),Rn(i(R((ut/Qe-1)/de)),1-de)*v(le)]}return[0,Rn(i(_e),1-de)*v(le)]}function Rn(re,le){if(!le)return re;if(le===1)return u(b(re/2+k));for(var de=1,ye=R(1-le),Me=R(le),_e=0;n(Me)>g;_e++){if(re%T){var Le=i(ye*b(re)/de);Le<0&&(Le+=T),re+=Le+~~(re/T)*T}else re+=re;Me=(de+ye)/2,ye=R(de*ye),Me=((de=Me)-ye)/2}return re/(h(2,_e)*de)}function hi(re,le){var de=(M-1)/(M+1),ye=R(1-de*de),Me=Rn(w,ye*ye),_e=-1,Le=u(b(T/4+n(le)/2)),Qe=s(_e*Le)/R(de),st=Xn(Qe*o(_e*re),Qe*m(_e*re)),et=ei(st[0],st[1],ye*ye);return[-et[1],(le>=0?1:-1)*(.5*Me-et[0])]}function Xn(re,le){var de=re*re,ye=le+1,Me=1-de-le*le;return[.5*((re>=0?w:-w)-a(Me,2*re)),-.25*u(Me*Me+4*de)+.5*u(ye*ye+de)]}function $i(re,le){var de=le[0]*le[0]+le[1]*le[1];return[(re[0]*le[0]+re[1]*le[1])/de,(re[1]*le[0]-re[0]*le[1])/de]}hi.invert=function(re,le){var de=(M-1)/(M+1),ye=R(1-de*de),Me=Rn(w,ye*ye),_e=-1,Le=Xr(.5*Me-le,-re,ye*ye),Qe=$i(Le[0],Le[1]),st=a(Qe[1],Qe[0])/_e;return[st,2*i(s(.5/_e*u(de*Qe[0]*Qe[0]+de*Qe[1]*Qe[1])))-w]};function Ki(){return t.geoProjection(ir(hi)).scale(151.496)}function sa(re){var le=m(re),de=o(re),ye=Ma(re);ye.invert=Ma(-re);function Me(_e,Le){var Qe=ye(_e,Le);_e=Qe[0],Le=Qe[1];var st=m(Le),et=o(Le),ut=o(_e),yt=L(le*st+de*et*ut),Ct=m(yt),qt=n(Ct)>g?yt/Ct:1;return[qt*de*m(_e),(n(_e)>w?qt:-qt)*(le*et-de*st*ut)]}return Me.invert=function(_e,Le){var Qe=R(_e*_e+Le*Le),st=-m(Qe),et=o(Qe),ut=Qe*et,yt=-Le*st,Ct=Qe*le,qt=R(ut*ut+yt*yt-Ct*Ct),Zt=a(ut*Ct+yt*qt,yt*Ct-ut*qt),rr=(Qe>w?-1:1)*a(_e*st,Qe*o(Zt)*et+Le*m(Zt)*st);return ye.invert(rr,Zt)},Me}function Ma(re){var le=m(re),de=o(re);return function(ye,Me){var _e=o(Me),Le=o(ye)*_e,Qe=m(ye)*_e,st=m(Me);return[a(Qe,Le*de-st*le),C(st*de+Le*le)]}}function qa(){var re=0,le=t.geoProjectionMutator(sa),de=le(re),ye=de.rotate,Me=de.stream,_e=t.geoCircle();return de.parallel=function(Le){if(!arguments.length)return re*S;var Qe=de.rotate();return le(re=Le*y).rotate(Qe)},de.rotate=function(Le){return arguments.length?(ye.call(de,[Le[0],Le[1]-re*S]),_e.center([-Le[0],-Le[1]]),de):(Le=ye.call(de),Le[1]+=re*S,Le)},de.stream=function(Le){return Le=Me(Le),Le.sphere=function(){Le.polygonStart();var Qe=.01,st=_e.radius(90-Qe)().coordinates[0],et=st.length-1,ut=-1,yt;for(Le.lineStart();++ut<et;)Le.point((yt=st[ut])[0],yt[1]);for(Le.lineEnd(),st=_e.radius(90+Qe)().coordinates[0],et=st.length-1,Le.lineStart();--ut>=0;)Le.point((yt=st[ut])[0],yt[1]);Le.lineEnd(),Le.polygonEnd()},Le},de.scale(79.4187).parallel(45).clipAngle(180-.001)}var Fa=3,$o=C(1-1/Fa)*S,_o=ft(0);function ka(re){var le=$o*y,de=$e(T,le)[0]-$e(-T,le)[0],ye=_o(0,le)[1],Me=$e(0,le)[1],_e=A-Me,Le=p/re,Qe=4/p,st=ye+_e*_e*4/p;function et(ut,yt){var Ct,qt=n(yt);if(qt>le){var Zt=c(re-1,f(0,l((ut+T)/Le)));ut+=T*(re-1)/re-Zt*Le,Ct=$e(ut,qt),Ct[0]=Ct[0]*p/de-p*(re-1)/(2*re)+Zt*p/re,Ct[1]=ye+(Ct[1]-Me)*4*_e/p,yt<0&&(Ct[1]=-Ct[1])}else Ct=_o(ut,yt);return Ct[0]*=Qe,Ct[1]/=st,Ct}return et.invert=function(ut,yt){ut/=Qe,yt*=st;var Ct=n(yt);if(Ct>ye){var qt=c(re-1,f(0,l((ut+T)/Le)));ut=(ut+T*(re-1)/re-qt*Le)*de/p;var Zt=$e.invert(ut,.25*(Ct-ye)*p/_e+Me);return Zt[0]-=T*(re-1)/re-qt*Le,yt<0&&(Zt[1]=-Zt[1]),Zt}return _o.invert(ut,yt)},et}function za(re,le){return[re,le&1?90-g:$o]}function zn(re,le){return[re,le&1?-90+g:-$o]}function Zr(re){return[re[0]*(1-g),re[1]]}function vi(re){var le=[].concat(r.range(-180,180+re/2,re).map(za),r.range(180,-180-re/2,-re).map(zn));return{type:"Polygon",coordinates:[re===180?le.map(Zr):le]}}function Ko(){var re=4,le=t.geoProjectionMutator(ka),de=le(re),ye=de.stream;return de.lobes=function(Me){return arguments.length?le(re=+Me):re},de.stream=function(Me){var _e=de.rotate(),Le=ye(Me),Qe=(de.rotate([0,0]),ye(Me));return de.rotate(_e),Le.sphere=function(){t.geoStream(vi(180/re),Qe)},Le},de.scale(239.75)}function tl(re){var le=1+re,de=m(1/le),ye=C(de),Me=2*R(T/(_e=T+4*ye*le)),_e,Le=.5*Me*(le+R(re*(2+re))),Qe=re*re,st=le*le;function et(ut,yt){var Ct=1-m(yt),qt,Zt;if(Ct&&Ct<2){var rr=w-yt,dr=25,Ir;do{var Ur=m(rr),an=o(rr),un=ye+a(Ur,le-an),on=1+st-2*le*an;rr-=Ir=(rr-Qe*ye-le*Ur+on*un-.5*Ct*_e)/(2*le*Ur*un)}while(n(Ir)>_&&--dr>0);qt=Me*R(on),Zt=ut*un/T}else qt=Me*(re+Ct),Zt=ut*ye/T;return[qt*m(Zt),Le-qt*o(Zt)]}return et.invert=function(ut,yt){var Ct=ut*ut+(yt-=Le)*yt,qt=(1+st-Ct/(Me*Me))/(2*le),Zt=L(qt),rr=m(Zt),dr=ye+a(rr,le-qt);return[C(ut/R(Ct))*T/dr,C(1-2*(Zt-Qe*ye-le*rr+(1+st-2*le*qt)*dr)/_e)]},et}function Zl(){var re=1,le=t.geoProjectionMutator(tl),de=le(re);return de.ratio=function(ye){return arguments.length?le(re=+ye):re},de.scale(167.774).center([0,18.67])}var qs=.7109889596207567,Qo=.0528035274542;function rl(re,le){return le>-qs?(re=Be(re,le),re[1]+=Qo,re):He(re,le)}rl.invert=function(re,le){return le>-qs?Be.invert(re,le-Qo):He.invert(re,le)};function ef(){return t.geoProjection(rl).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}function Bi(re,le){return n(le)>qs?(re=Be(re,le),re[1]-=le>0?Qo:-Qo,re):He(re,le)}Bi.invert=function(re,le){return n(le)>qs?Be.invert(re,le+(le>0?Qo:-Qo)):He.invert(re,le)};function tf(){return t.geoProjection(Bi).scale(152.63)}function so(re,le,de,ye){var Me=R(4*T/(2*de+(1+re-le/2)*m(2*de)+(re+le)/2*m(4*de)+le/2*m(6*de))),_e=R(ye*m(de)*R((1+re*o(2*de)+le*o(4*de))/(1+re+le))),Le=de*st(1);function Qe(yt){return R(1+re*o(2*yt)+le*o(4*yt))}function st(yt){var Ct=yt*de;return(2*Ct+(1+re-le/2)*m(2*Ct)+(re+le)/2*m(4*Ct)+le/2*m(6*Ct))/de}function et(yt){return Qe(yt)*m(yt)}var ut=function(yt,Ct){var qt=de*Ne(st,Le*m(Ct)/de,Ct/T);isNaN(qt)&&(qt=de*v(Ct));var Zt=Me*Qe(qt);return[Zt*_e*yt/T*o(qt),Zt/_e*m(qt)]};return ut.invert=function(yt,Ct){var qt=Ne(et,Ct*_e/Me);return[yt*T/(o(qt)*Me*_e*Qe(qt)),C(de*st(qt/de)/Le)]},de===0&&(Me=R(ye/T),ut=function(yt,Ct){return[yt*Me,m(Ct)/Me]},ut.invert=function(yt,Ct){return[yt/Me,C(Ct*Me)]}),ut}function es(){var re=1,le=0,de=45*y,ye=2,Me=t.geoProjectionMutator(so),_e=Me(re,le,de,ye);return _e.a=function(Le){return arguments.length?Me(re=+Le,le,de,ye):re},_e.b=function(Le){return arguments.length?Me(re,le=+Le,de,ye):le},_e.psiMax=function(Le){return arguments.length?Me(re,le,de=+Le*y,ye):de*S},_e.ratio=function(Le){return arguments.length?Me(re,le,de,ye=+Le):ye},_e.scale(180.739)}function Fs(re,le,de,ye,Me,_e,Le,Qe,st,et,ut){if(ut.nanEncountered)return NaN;var yt,Ct,qt,Zt,rr,dr,Ir,Ur,an,un;if(yt=de-le,Ct=re(le+yt*.25),qt=re(de-yt*.25),isNaN(Ct)){ut.nanEncountered=!0;return}if(isNaN(qt)){ut.nanEncountered=!0;return}return Zt=yt*(ye+4*Ct+Me)/12,rr=yt*(Me+4*qt+_e)/12,dr=Zt+rr,un=(dr-Le)/15,et>st?(ut.maxDepthCount++,dr+un):Math.abs(un)<Qe?dr+un:(Ir=le+yt*.5,Ur=Fs(re,le,Ir,ye,Ct,Me,Zt,Qe*.5,st,et+1,ut),isNaN(Ur)?(ut.nanEncountered=!0,NaN):(an=Fs(re,Ir,de,Me,qt,_e,rr,Qe*.5,st,et+1,ut),isNaN(an)?(ut.nanEncountered=!0,NaN):Ur+an))}function lo(re,le,de,ye,Me){var _e={maxDepthCount:0,nanEncountered:!1};ye===void 0&&(ye=1e-8),Me===void 0&&(Me=20);var Le=re(le),Qe=re(.5*(le+de)),st=re(de),et=(Le+4*Qe+st)*(de-le)/6,ut=Fs(re,le,de,Le,Qe,st,et,ye,Me,1,_e);return ut}function bs(re,le,de){function ye(qt){return re+(1-re)*h(1-h(qt,le),1/le)}function Me(qt){return lo(ye,0,qt,1e-4)}for(var _e=1/Me(1),Le=1e3,Qe=(1+1e-8)*_e,st=[],et=0;et<=Le;et++)st.push(Me(et/Le)*Qe);function ut(qt){var Zt=0,rr=Le,dr=Le>>1;do st[dr]>qt?rr=dr:Zt=dr,dr=Zt+rr>>1;while(dr>Zt);var Ir=st[dr+1]-st[dr];return Ir&&(Ir=(qt-st[dr+1])/Ir),(dr+1+Ir)/Le}var yt=2*ut(1)/T*_e/de,Ct=function(qt,Zt){var rr=ut(n(m(Zt))),dr=ye(rr)*qt;return rr/=yt,[dr,Zt>=0?rr:-rr]};return Ct.invert=function(qt,Zt){var rr;return Zt*=yt,n(Zt)<1&&(rr=v(Zt)*C(Me(n(Zt))*_e)),[qt/ye(n(Zt)),rr]},Ct}function ws(){var re=0,le=2.5,de=1.183136,ye=t.geoProjectionMutator(bs),Me=ye(re,le,de);return Me.alpha=function(_e){return arguments.length?ye(re=+_e,le,de):re},Me.k=function(_e){return arguments.length?ye(re,le=+_e,de):le},Me.gamma=function(_e){return arguments.length?ye(re,le,de=+_e):de},Me.scale(152.63)}function rf(re,le){return n(re[0]-le[0])<g&&n(re[1]-le[1])<g}function ts(re,le){for(var de=-1,ye=re.length,Me=re[0],_e,Le,Qe,st=[];++de<ye;){_e=re[de],Le=(_e[0]-Me[0])/le,Qe=(_e[1]-Me[1])/le;for(var et=0;et<le;++et)st.push([Me[0]+et*Le,Me[1]+et*Qe]);Me=_e}return st.push(_e),st}function Id(re){var le=[],de,ye,Me,_e,Le,Qe,st,et=re[0].length;for(st=0;st<et;++st)de=re[0][st],ye=de[0][0],Me=de[0][1],_e=de[1][1],Le=de[2][0],Qe=de[2][1],le.push(ts([[ye+g,Me+g],[ye+g,_e-g],[Le-g,_e-g],[Le-g,Qe+g]],30));for(st=re[1].length-1;st>=0;--st)de=re[1][st],ye=de[0][0],Me=de[0][1],_e=de[1][1],Le=de[2][0],Qe=de[2][1],le.push(ts([[Le-g,Qe-g],[Le-g,_e+g],[ye+g,_e+g],[ye+g,Me-g]],30));return{type:"Polygon",coordinates:[r.merge(le)]}}function kl(re,le,de){var ye,Me;function _e(st,et){for(var ut=et<0?-1:1,yt=le[+(et<0)],Ct=0,qt=yt.length-1;Ct<qt&&st>yt[Ct][2][0];++Ct);var Zt=re(st-yt[Ct][1][0],et);return Zt[0]+=re(yt[Ct][1][0],ut*et>ut*yt[Ct][0][1]?yt[Ct][0][1]:et)[0],Zt}de?_e.invert=de(_e):re.invert&&(_e.invert=function(st,et){for(var ut=Me[+(et<0)],yt=le[+(et<0)],Ct=0,qt=ut.length;Ct<qt;++Ct){var Zt=ut[Ct];if(Zt[0][0]<=st&&st<Zt[1][0]&&Zt[0][1]<=et&&et<Zt[1][1]){var rr=re.invert(st-re(yt[Ct][1][0],0)[0],et);return rr[0]+=yt[Ct][1][0],rf(_e(rr[0],rr[1]),[st,et])?rr:null}}});var Le=t.geoProjection(_e),Qe=Le.stream;return Le.stream=function(st){var et=Le.rotate(),ut=Qe(st),yt=(Le.rotate([0,0]),Qe(st));return Le.rotate(et),ut.sphere=function(){t.geoStream(ye,yt)},ut},Le.lobes=function(st){return arguments.length?(ye=Id(st),le=st.map(function(et){return et.map(function(ut){return[[ut[0][0]*y,ut[0][1]*y],[ut[1][0]*y,ut[1][1]*y],[ut[2][0]*y,ut[2][1]*y]]})}),Me=le.map(function(et){return et.map(function(ut){var yt=re(ut[0][0],ut[0][1])[0],Ct=re(ut[2][0],ut[2][1])[0],qt=re(ut[1][0],ut[0][1])[1],Zt=re(ut[1][0],ut[1][1])[1],rr;return qt>Zt&&(rr=qt,qt=Zt,Zt=rr),[[yt,qt],[Ct,Zt]]})}),Le):le.map(function(et){return et.map(function(ut){return[[ut[0][0]*S,ut[0][1]*S],[ut[1][0]*S,ut[1][1]*S],[ut[2][0]*S,ut[2][1]*S]]})})},le!=null&&Le.lobes(le),Le}var Ja=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function wp(){return kl(Ee,Ja).scale(160.857)}var Na=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function nf(){return kl(Bi,Na).scale(152.63)}var bu=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function rs(){return kl(Be,bu).scale(169.529)}var nl=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function af(){return kl(Be,nl).scale(169.529).rotate([20,0])}var Ui=[[[[-180,35],[-30,90],[0,35]],[[0,35],[30,90],[180,35]]],[[[-180,-10],[-102,-90],[-65,-10]],[[-65,-10],[5,-90],[77,-10]],[[77,-10],[103,-90],[180,-10]]]];function zs(){return kl(rl,Ui,pe).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}var of=[[[[-180,0],[-110,90],[-40,0]],[[-40,0],[0,90],[40,0]],[[40,0],[110,90],[180,0]]],[[[-180,0],[-110,-90],[-40,0]],[[-40,0],[0,-90],[40,0]],[[40,0],[110,-90],[180,0]]]];function sf(){return kl(He,of).scale(152.63).rotate([-20,0])}function wu(re,le){return[3/p*re*R(T*T/3-le*le),le]}wu.invert=function(re,le){return[p/3*re/R(T*T/3-le*le),le]};function Hf(){return t.geoProjection(wu).scale(158.837)}function Ah(re){function le(de,ye){if(n(n(ye)-w)<g)return[0,ye<0?-2:2];var Me=m(ye),_e=h((1+Me)/(1-Me),re/2),Le=.5*(_e+1/_e)+o(de*=re);return[2*m(de)/Le,(_e-1/_e)/Le]}return le.invert=function(de,ye){var Me=n(ye);if(n(Me-2)<g)return de?null:[0,v(ye)*w];if(Me>2)return null;de/=2,ye/=2;var _e=de*de,Le=ye*ye,Qe=2*ye/(1+_e+Le);return Qe=h((1+Qe)/(1-Qe),1/re),[a(2*de,1-_e-Le)/re,C((Qe-1)/(Qe+1))]},le}function Mh(){var re=.5,le=t.geoProjectionMutator(Ah),de=le(re);return de.spacing=function(ye){return arguments.length?le(re=+ye):re},de.scale(124.75)}var Ns=T/M;function lf(re,le){return[re*(1+R(o(le)))/2,le/(o(le/2)*o(re/6))]}lf.invert=function(re,le){var de=n(re),ye=n(le),Me=g,_e=w;ye<Ns?_e*=ye/Ns:Me+=6*L(Ns/ye);for(var Le=0;Le<25;Le++){var Qe=m(_e),st=R(o(_e)),et=m(_e/2),ut=o(_e/2),yt=m(Me/6),Ct=o(Me/6),qt=.5*Me*(1+st)-de,Zt=_e/(ut*Ct)-ye,rr=st?-.25*Me*Qe/st:0,dr=.5*(1+st),Ir=(1+.5*_e*et/ut)/(ut*Ct),Ur=_e/ut*(yt/6)/(Ct*Ct),an=rr*Ur-Ir*dr,un=(qt*Ur-Zt*dr)/an,on=(Zt*rr-qt*Ir)/an;if(_e-=un,Me-=on,n(un)<g&&n(on)<g)break}return[re<0?-Me:Me,le<0?-_e:_e]};function Jl(){return t.geoProjection(lf).scale(97.2672)}function _s(re,le){var de=re*re,ye=le*le;return[re*(.975534+ye*(-.119161+de*-.0143059+ye*-.0547009)),le*(1.00384+de*(.0802894+ye*-.02855+de*199025e-9)+ye*(.0998909+ye*-.0491032))]}_s.invert=function(re,le){var de=v(re)*T,ye=le/2,Me=50;do{var _e=de*de,Le=ye*ye,Qe=de*ye,st=de*(.975534+Le*(-.119161+_e*-.0143059+Le*-.0547009))-re,et=ye*(1.00384+_e*(.0802894+Le*-.02855+_e*199025e-9)+Le*(.0998909+Le*-.0491032))-le,ut=.975534-Le*(.119161+3*_e*.0143059+Le*.0547009),yt=-Qe*(2*.119161+4*.0547009*Le+2*.0143059*_e),Ct=Qe*(2*.0802894+4*199025e-9*_e+2*-.02855*Le),qt=1.00384+_e*(.0802894+199025e-9*_e)+Le*(3*(.0998909-.02855*_e)-5*.0491032*Le),Zt=yt*Ct-qt*ut,rr=(et*yt-st*qt)/Zt,dr=(st*Ct-et*ut)/Zt;de-=rr,ye-=dr}while((n(rr)>g||n(dr)>g)&&--Me>0);return Me&&[de,ye]};function Va(){return t.geoProjection(_s).scale(139.98)}function To(re,le){return[m(re)/o(le),b(le)*o(re)]}To.invert=function(re,le){var de=re*re,ye=le*le,Me=ye+1,_e=de+Me,Le=re?x*R((_e-R(_e*_e-4*de))/de):1/R(Me);return[C(re*Le),v(le)*L(Le)]};function il(){return t.geoProjection(To).scale(144.049).clipAngle(90-.001)}function uf(re){var le=o(re),de=b(k+re/2);function ye(Me,_e){var Le=_e-re,Qe=n(Le)<g?Me*le:n(Qe=k+_e/2)<g||n(n(Qe)-w)<g?0:Me*Le/u(b(Qe)/de);return[Qe,Le]}return ye.invert=function(Me,_e){var Le,Qe=_e+re;return[n(_e)<g?Me/le:n(Le=k+Qe/2)<g||n(n(Le)-w)<g?0:Me*u(b(Le)/de)/_e,Qe]},ye}function _u(){return Pe(uf).parallel(40).scale(158.837)}function jf(re,le){return[re,1.25*u(b(k+.4*le))]}jf.invert=function(re,le){return[re,2.5*i(s(.8*le))-.625*T]};function qc(){return t.geoProjection(jf).scale(108.318)}function kh(re){var le=re.length-1;function de(ye,Me){for(var _e=o(Me),Le=2/(1+_e*o(ye)),Qe=Le*_e*m(ye),st=Le*m(Me),et=le,ut=re[et],yt=ut[0],Ct=ut[1],qt;--et>=0;)ut=re[et],yt=ut[0]+Qe*(qt=yt)-st*Ct,Ct=ut[1]+Qe*Ct+st*qt;return yt=Qe*(qt=yt)-st*Ct,Ct=Qe*Ct+st*qt,[yt,Ct]}return de.invert=function(ye,Me){var _e=20,Le=ye,Qe=Me;do{for(var st=le,et=re[st],ut=et[0],yt=et[1],Ct=0,qt=0,Zt;--st>=0;)et=re[st],Ct=ut+Le*(Zt=Ct)-Qe*qt,qt=yt+Le*qt+Qe*Zt,ut=et[0]+Le*(Zt=ut)-Qe*yt,yt=et[1]+Le*yt+Qe*Zt;Ct=ut+Le*(Zt=Ct)-Qe*qt,qt=yt+Le*qt+Qe*Zt,ut=Le*(Zt=ut)-Qe*yt-ye,yt=Le*yt+Qe*Zt-Me;var rr=Ct*Ct+qt*qt,dr,Ir;Le-=dr=(ut*Ct+yt*qt)/rr,Qe-=Ir=(yt*Ct-ut*qt)/rr}while(n(dr)+n(Ir)>g*g&&--_e>0);if(_e){var Ur=R(Le*Le+Qe*Qe),an=2*i(Ur*.5),un=m(an);return[a(Le*un,Ur*o(an)),Ur?C(Qe*un/Ur):0]}},de}var _p=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],qd=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],zo=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],Fc=[[.9245,0],[0,0],[.01943,0]],ff=[[.721316,0],[0,0],[-.00881625,-.00617325]];function Sh(){return Sl(_p,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)}function Tv(){return Sl(qd,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])}function Fd(){return Sl(zo,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])}function zc(){return Sl(Fc,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)}function Nc(){return Sl(ff,[165,10]).scale(250).clipAngle(130).center([-165,-10])}function Sl(re,le){var de=t.geoProjection(kh(re)).rotate(le).clipAngle(90),ye=t.geoRotation(le),Me=de.center;return delete de.rotate,de.center=function(_e){return arguments.length?Me(ye(_e)):ye.invert(Me())},de}var Ch=R(6),Cl=R(7);function Eh(re,le){var de=C(7*m(le)/(3*Ch));return[Ch*re*(2*o(2*de/3)-1)/Cl,9*m(de/3)/Cl]}Eh.invert=function(re,le){var de=3*C(le*Cl/9);return[re*Cl/(Ch*(2*o(2*de/3)-1)),C(m(de)*3*Ch/7)]};function zd(){return t.geoProjection(Eh).scale(164.859)}function Oc(re,le){for(var de=(1+x)*m(le),ye=le,Me=0,_e;Me<25&&(ye-=_e=(m(ye/2)+m(ye)-de)/(.5*o(ye/2)+o(ye)),!(n(_e)<g));Me++);return[re*(1+2*o(ye)/o(ye/2))/(3*M),2*R(3)*m(ye/2)/R(2+M)]}Oc.invert=function(re,le){var de=le*R(2+M)/(2*R(3)),ye=2*C(de);return[3*M*re/(1+2*o(ye)/o(ye/2)),C((de+m(ye))/(1+x))]};function Nd(){return t.geoProjection(Oc).scale(188.209)}function No(re,le){for(var de=R(6/(4+T)),ye=(1+T/4)*m(le),Me=le/2,_e=0,Le;_e<25&&(Me-=Le=(Me/2+m(Me)-ye)/(.5+o(Me)),!(n(Le)<g));_e++);return[de*(.5+o(Me))*re/1.5,de*Me]}No.invert=function(re,le){var de=R(6/(4+T)),ye=le/de;return n(n(ye)-w)<g&&(ye=ye<0?-w:w),[1.5*re/(de*(.5+o(ye))),C((ye/2+m(ye))/(1+T/4))]};function cf(){return t.geoProjection(No).scale(166.518)}function Vf(re,le){var de=le*le,ye=de*de,Me=de*ye;return[re*(.84719-.13063*de+Me*Me*(-.04515+.05494*de-.02326*ye+.00331*Me)),le*(1.01183+ye*ye*(-.02625+.01926*de-.00396*ye))]}Vf.invert=function(re,le){var de=le,ye=25,Me,_e,Le,Qe;do _e=de*de,Le=_e*_e,de-=Me=(de*(1.01183+Le*Le*(-.02625+.01926*_e-.00396*Le))-le)/(1.01183+Le*Le*(9*-.02625+11*.01926*_e+13*-.00396*Le));while(n(Me)>_&&--ye>0);return _e=de*de,Le=_e*_e,Qe=_e*Le,[re/(.84719-.13063*_e+Qe*Qe*(-.04515+.05494*_e-.02326*Le+.00331*Qe)),de]};function Bc(){return t.geoProjection(Vf).scale(175.295)}function Uc(re,le){return[re*(1+o(le))/2,2*(le-b(le/2))]}Uc.invert=function(re,le){for(var de=le/2,ye=0,Me=1/0;ye<10&&n(Me)>g;++ye){var _e=o(le/2);le-=Me=(le-b(le/2)-de)/(1-.5/(_e*_e))}return[2*re/(1+o(le)),le]};function Tu(){return t.geoProjection(Uc).scale(152.63)}var $a=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function Av(){return kl(fe(1/0),$a).rotate([20,0]).scale(152.63)}function Mv(re,le){var de=m(le),ye=o(le),Me=v(re);if(re===0||n(le)===w)return[0,le];if(le===0)return[re,0];if(n(re)===w)return[re*ye,w*de];var _e=T/(2*re)-2*re/T,Le=2*le/T,Qe=(1-Le*Le)/(de-Le),st=_e*_e,et=Qe*Qe,ut=1+st/et,yt=1+et/st,Ct=(_e*de/Qe-_e/2)/ut,qt=(et*de/st+Qe/2)/yt,Zt=Ct*Ct+ye*ye/ut,rr=qt*qt-(et*de*de/st+Qe*de-1)/yt;return[w*(Ct+R(Zt)*Me),w*(qt+R(rr<0?0:rr)*v(-le*_e)*Me)]}Mv.invert=function(re,le){re/=w,le/=w;var de=re*re,ye=le*le,Me=de+ye,_e=T*T;return[re?(Me-1+R((1-Me)*(1-Me)+4*de))/(2*re)*w:0,Ne(function(Le){return Me*(T*m(Le)-2*Le)*T+4*Le*Le*(le-m(Le))+2*T*Le-_e*le},0)]};function Od(){return t.geoProjection(Mv).scale(127.267)}var kv=1.0148,Lh=.23185,Sv=-.14499,El=.02406,Wt=kv,fr=5*Lh,tr=7*Sv,Kr=9*El,Sn=1.790857183;function mi(re,le){var de=le*le;return[re,le*(kv+de*de*(Lh+de*(Sv+El*de)))]}mi.invert=function(re,le){le>Sn?le=Sn:le<-Sn&&(le=-Sn);var de=le,ye;do{var Me=de*de;de-=ye=(de*(kv+Me*Me*(Lh+Me*(Sv+El*Me)))-le)/(Wt+Me*Me*(fr+Me*(tr+Kr*Me)))}while(n(ye)>g);return[re,de]};function Oa(){return t.geoProjection(mi).scale(139.319)}function yi(re,le){if(n(le)<g)return[re,0];var de=b(le),ye=re*m(le);return[m(ye)/de,le+(1-o(ye))/de]}yi.invert=function(re,le){if(n(le)<g)return[re,0];var de=re*re+le*le,ye=le*.5,Me=10,_e;do{var Le=b(ye),Qe=1/o(ye),st=de-2*le*ye+ye*ye;ye-=_e=(Le*st+2*(ye-le))/(2+st*Qe*Qe+2*(ye-le)*Le)}while(n(_e)>g&&--Me>0);return Le=b(ye),[(n(le)<n(ye+1/Le)?C(re*Le):v(le)*v(re)*(L(n(re*Le))+w))/m(ye),ye]};function Dh(){return t.geoProjection(yi).scale(103.74)}function Tp(re,le){var de=Ll(re[1],re[0]),ye=Ll(le[1],le[0]),Me=Rh(de,ye),_e=Ka(de)/Ka(ye);return Bs([1,0,re[0][0],0,1,re[0][1]],Bs([_e,0,0,0,_e,0],Bs([o(Me),m(Me),0,-m(Me),o(Me),0],[1,0,-le[0][0],0,1,-le[0][1]])))}function Os(re){var le=1/(re[0]*re[4]-re[1]*re[3]);return[le*re[4],-le*re[1],le*(re[1]*re[5]-re[2]*re[4]),-le*re[3],le*re[0],le*(re[2]*re[3]-re[0]*re[5])]}function Bs(re,le){return[re[0]*le[0]+re[1]*le[3],re[0]*le[1]+re[1]*le[4],re[0]*le[2]+re[1]*le[5]+re[2],re[3]*le[0]+re[4]*le[3],re[3]*le[1]+re[4]*le[4],re[3]*le[2]+re[4]*le[5]+re[5]]}function Ll(re,le){return[re[0]-le[0],re[1]-le[1]]}function Ka(re){return R(re[0]*re[0]+re[1]*re[1])}function Rh(re,le){return a(re[0]*le[1]-re[1]*le[0],re[0]*le[0]+re[1]*le[1])}function $l(re,le,de){ye(re,{transform:null});function ye(et,ut){if(et.edges=Hc(et.face),ut.face){var yt=et.shared=Cv(et.face,ut.face),Ct=Tp(yt.map(ut.project),yt.map(et.project));et.transform=ut.transform?Bs(ut.transform,Ct):Ct;for(var qt=ut.edges,Zt=0,rr=qt.length;Zt<rr;++Zt)Us(yt[0],qt[Zt][1])&&Us(yt[1],qt[Zt][0])&&(qt[Zt]=et),Us(yt[0],qt[Zt][0])&&Us(yt[1],qt[Zt][1])&&(qt[Zt]=et);for(qt=et.edges,Zt=0,rr=qt.length;Zt<rr;++Zt)Us(yt[0],qt[Zt][0])&&Us(yt[1],qt[Zt][1])&&(qt[Zt]=ut),Us(yt[0],qt[Zt][1])&&Us(yt[1],qt[Zt][0])&&(qt[Zt]=ut)}else et.transform=ut.transform;return et.children&&et.children.forEach(function(dr){ye(dr,et)}),et}function Me(et,ut){var yt=le(et,ut),Ct=yt.project([et*S,ut*S]),qt;return(qt=yt.transform)?[qt[0]*Ct[0]+qt[1]*Ct[1]+qt[2],-(qt[3]*Ct[0]+qt[4]*Ct[1]+qt[5])]:(Ct[1]=-Ct[1],Ct)}jc(re)&&(Me.invert=function(et,ut){var yt=_e(re,[et,-ut]);return yt&&(yt[0]*=y,yt[1]*=y,yt)});function _e(et,ut){var yt=et.project.invert,Ct=et.transform,qt=ut;if(Ct&&(Ct=Os(Ct),qt=[Ct[0]*qt[0]+Ct[1]*qt[1]+Ct[2],Ct[3]*qt[0]+Ct[4]*qt[1]+Ct[5]]),yt&&et===Le(Zt=yt(qt)))return Zt;for(var Zt,rr=et.children,dr=0,Ir=rr&&rr.length;dr<Ir;++dr)if(Zt=_e(rr[dr],ut))return Zt}function Le(et){return le(et[0]*y,et[1]*y)}var Qe=t.geoProjection(Me),st=Qe.stream;return Qe.stream=function(et){var ut=Qe.rotate(),yt=st(et),Ct=(Qe.rotate([0,0]),st(et));return Qe.rotate(ut),yt.sphere=function(){Ct.polygonStart(),Ct.lineStart(),Di(Ct,re),Ct.lineEnd(),Ct.polygonEnd()},yt},Qe.angle(de==null?-30:de*S)}function Di(re,le,de){var ye,Me=le.edges,_e=Me.length,Le,Qe={type:"MultiPoint",coordinates:le.face},st=le.face.filter(function(rr){return n(rr[1])!==90}),et=t.geoBounds({type:"MultiPoint",coordinates:st}),ut=!1,yt=-1,Ct=et[1][0]-et[0][0],qt=Ct===180||Ct===360?[(et[0][0]+et[1][0])/2,(et[0][1]+et[1][1])/2]:t.geoCentroid(Qe);if(de)for(;++yt<_e&&Me[yt]!==de;);++yt;for(var Zt=0;Zt<_e;++Zt)Le=Me[(Zt+yt)%_e],Array.isArray(Le)?(ut||(re.point((ye=t.geoInterpolate(Le[0],qt)(g))[0],ye[1]),ut=!0),re.point((ye=t.geoInterpolate(Le[1],qt)(g))[0],ye[1])):(ut=!1,Le!==de&&Di(re,Le,le))}function Us(re,le){return re&&le&&re[0]===le[0]&&re[1]===le[1]}function Cv(re,le){for(var de,ye,Me=re.length,_e=null,Le=0;Le<Me;++Le){de=re[Le];for(var Qe=le.length;--Qe>=0;)if(ye=le[Qe],de[0]===ye[0]&&de[1]===ye[1]){if(_e)return[_e,de];_e=de}}}function Hc(re){for(var le=re.length,de=[],ye=re[le-1],Me=0;Me<le;++Me)de.push([ye,ye=re[Me]]);return de}function jc(re){return re.project.invert||re.children&&re.children.some(jc)}var Bd=[[0,90],[-90,0],[0,0],[90,0],[180,0],[0,-90]],Ph=[[0,2,1],[0,3,2],[5,1,2],[5,2,3],[0,1,4],[0,4,3],[5,4,1],[5,3,4]].map(function(re){return re.map(function(le){return Bd[le]})});function Au(re){re=re||function(de){var ye=t.geoCentroid({type:"MultiPoint",coordinates:de});return t.geoGnomonic().scale(1).translate([0,0]).rotate([-ye[0],-ye[1]])};var le=Ph.map(function(de){return{face:de,project:re(de)}});return[-1,0,0,1,0,1,4,5].forEach(function(de,ye){var Me=le[de];Me&&(Me.children||(Me.children=[])).push(le[ye])}),$l(le[0],function(de,ye){return le[de<-T/2?ye<0?6:4:de<0?ye<0?2:0:de<T/2?ye<0?3:1:ye<0?7:5]}).angle(-30).scale(101.858).center([0,45])}var al=2/R(3);function Mu(re,le){var de=$e(re,le);return[de[0]*al,de[1]]}Mu.invert=function(re,le){return $e.invert(re/al,le)};function Ud(re){re=re||function(de){var ye=t.geoCentroid({type:"MultiPoint",coordinates:de});return t.geoProjection(Mu).translate([0,0]).scale(1).rotate(ye[1]>0?[-ye[0],0]:[180-ye[0],180])};var le=Ph.map(function(de){return{face:de,project:re(de)}});return[-1,0,0,1,0,1,4,5].forEach(function(de,ye){var Me=le[de];Me&&(Me.children||(Me.children=[])).push(le[ye])}),$l(le[0],function(de,ye){return le[de<-T/2?ye<0?6:4:de<0?ye<0?2:0:de<T/2?ye<0?3:1:ye<0?7:5]}).angle(-30).scale(121.906).center([0,48.5904])}function ku(re){re=re||function(Le){var Qe=Le.length===6?t.geoCentroid({type:"MultiPoint",coordinates:Le}):Le[0];return t.geoGnomonic().scale(1).translate([0,0]).rotate([-Qe[0],-Qe[1]])};var le=Ph.map(function(Le){for(var Qe=Le.map(hf),st=Qe.length,et=Qe[st-1],ut,yt=[],Ct=0;Ct<st;++Ct)ut=Qe[Ct],yt.push(Dl([et[0]*.9486832980505138+ut[0]*.31622776601683794,et[1]*.9486832980505138+ut[1]*.31622776601683794,et[2]*.9486832980505138+ut[2]*.31622776601683794]),Dl([ut[0]*.9486832980505138+et[0]*.31622776601683794,ut[1]*.9486832980505138+et[1]*.31622776601683794,ut[2]*.9486832980505138+et[2]*.31622776601683794])),et=ut;return yt}),de=[],ye=[-1,0,0,1,0,1,4,5];le.forEach(function(Le,Qe){for(var st=Ph[Qe],et=st.length,ut=de[Qe]=[],yt=0;yt<et;++yt)le.push([st[yt],Le[(yt*2+2)%(2*et)],Le[(yt*2+1)%(2*et)]]),ye.push(Qe),ut.push(Yf(hf(Le[(yt*2+2)%(2*et)]),hf(Le[(yt*2+1)%(2*et)])))});var Me=le.map(function(Le){return{project:re(Le),face:Le}});ye.forEach(function(Le,Qe){var st=Me[Le];st&&(st.children||(st.children=[])).push(Me[Qe])});function _e(Le,Qe){var st=o(Qe),et=[st*o(Le),st*m(Le),m(Qe)],ut=Le<-T/2?Qe<0?6:4:Le<0?Qe<0?2:0:Le<T/2?Qe<0?3:1:Qe<0?7:5,yt=de[ut];return Me[Su(yt[0],et)<0?8+3*ut:Su(yt[1],et)<0?8+3*ut+1:Su(yt[2],et)<0?8+3*ut+2:ut]}return $l(Me[0],_e).angle(-30).scale(110.625).center([0,45])}function Su(re,le){for(var de=0,ye=re.length,Me=0;de<ye;++de)Me+=re[de]*le[de];return Me}function Yf(re,le){return[re[1]*le[2]-re[2]*le[1],re[2]*le[0]-re[0]*le[2],re[0]*le[1]-re[1]*le[0]]}function Dl(re){return[a(re[1],re[0])*S,C(f(-1,c(1,re[2])))*S]}function hf(re){var le=re[0]*y,de=re[1]*y,ye=o(de);return[ye*o(le),ye*m(le),m(de)]}function Cu(){}function ol(re){if((de=re.length)<4)return!1;for(var le=0,de,ye=re[de-1][1]*re[0][0]-re[de-1][0]*re[0][1];++le<de;)ye+=re[le-1][1]*re[le][0]-re[le-1][0]*re[le][1];return ye<=0}function Vc(re,le){for(var de=le[0],ye=le[1],Me=!1,_e=0,Le=re.length,Qe=Le-1;_e<Le;Qe=_e++){var st=re[_e],et=st[0],ut=st[1],yt=re[Qe],Ct=yt[0],qt=yt[1];ut>ye^qt>ye&&de<(Ct-et)*(ye-ut)/(qt-ut)+et&&(Me=!Me)}return Me}function Ih(re,le){var de=le.stream,ye;if(!de)throw new Error("invalid projection");switch(re&&re.type){case"Feature":ye=jd;break;case"FeatureCollection":ye=Hd;break;default:ye=vf;break}return ye(re,de)}function Hd(re,le){return{type:"FeatureCollection",features:re.features.map(function(de){return jd(de,le)})}}function jd(re,le){return{type:"Feature",id:re.id,properties:re.properties,geometry:vf(re.geometry,le)}}function Gf(re,le){return{type:"GeometryCollection",geometries:re.geometries.map(function(de){return vf(de,le)})}}function vf(re,le){if(!re)return null;if(re.type==="GeometryCollection")return Gf(re,le);var de;switch(re.type){case"Point":de=df;break;case"MultiPoint":de=df;break;case"LineString":de=qh;break;case"MultiLineString":de=qh;break;case"Polygon":de=Yc;break;case"MultiPolygon":de=Yc;break;case"Sphere":de=Yc;break;default:return null}return t.geoStream(re,le(de)),de.result()}var Sa=[],sl=[],df={point:function(re,le){Sa.push([re,le])},result:function(){var re=Sa.length?Sa.length<2?{type:"Point",coordinates:Sa[0]}:{type:"MultiPoint",coordinates:Sa}:null;return Sa=[],re}},qh={lineStart:Cu,point:function(re,le){Sa.push([re,le])},lineEnd:function(){Sa.length&&(sl.push(Sa),Sa=[])},result:function(){var re=sl.length?sl.length<2?{type:"LineString",coordinates:sl[0]}:{type:"MultiLineString",coordinates:sl}:null;return sl=[],re}},Yc={polygonStart:Cu,lineStart:Cu,point:function(re,le){Sa.push([re,le])},lineEnd:function(){var re=Sa.length;if(re){do Sa.push(Sa[0].slice());while(++re<4);sl.push(Sa),Sa=[]}},polygonEnd:Cu,result:function(){if(!sl.length)return null;var re=[],le=[];return sl.forEach(function(de){ol(de)?re.push([de]):le.push(de)}),le.forEach(function(de){var ye=de[0];re.some(function(Me){if(Vc(Me[0],ye))return Me.push(de),!0})||re.push([de])}),sl=[],re.length?re.length>1?{type:"MultiPolygon",coordinates:re}:{type:"Polygon",coordinates:re[0]}:null}};function Ca(re){var le=re(w,0)[0]-re(-w,0)[0];function de(ye,Me){var _e=n(ye)<w,Le=re(_e?ye:ye>0?ye-T:ye+T,Me),Qe=(Le[0]-Le[1])*x,st=(Le[0]+Le[1])*x;if(_e)return[Qe,st];var et=le*x,ut=Qe>0^st>0?-1:1;return[ut*Qe-v(st)*et,ut*st-v(Qe)*et]}return re.invert&&(de.invert=function(ye,Me){var _e=(ye+Me)*x,Le=(Me-ye)*x,Qe=n(_e)<.5*le&&n(Le)<.5*le;if(!Qe){var st=le*x,et=_e>0^Le>0?-1:1,ut=-et*ye+(Le>0?1:-1)*st,yt=-et*Me+(_e>0?1:-1)*st;_e=(-ut-yt)*x,Le=(ut-yt)*x}var Ct=re.invert(_e,Le);return Qe||(Ct[0]+=_e>0?T:-T),Ct}),t.geoProjection(de).rotate([-90,-90,45]).clipAngle(180-.001)}function be(){return Ca(zt).scale(176.423)}function Oe(){return Ca(hi).scale(111.48)}function ot(re,le){if(!(0<=(le=+le)&&le<=20))throw new Error("invalid digits");function de(et){var ut=et.length,yt=2,Ct=new Array(ut);for(Ct[0]=+et[0].toFixed(le),Ct[1]=+et[1].toFixed(le);yt<ut;)Ct[yt]=et[yt],++yt;return Ct}function ye(et){return et.map(de)}function Me(et){for(var ut=de(et[0]),yt=[ut],Ct=1;Ct<et.length;Ct++){var qt=de(et[Ct]);(qt.length>2||qt[0]!=ut[0]||qt[1]!=ut[1])&&(yt.push(qt),ut=qt)}return yt.length===1&&et.length>1&&yt.push(de(et[et.length-1])),yt}function _e(et){return et.map(Me)}function Le(et){if(et==null)return et;var ut;switch(et.type){case"GeometryCollection":ut={type:"GeometryCollection",geometries:et.geometries.map(Le)};break;case"Point":ut={type:"Point",coordinates:de(et.coordinates)};break;case"MultiPoint":ut={type:et.type,coordinates:ye(et.coordinates)};break;case"LineString":ut={type:et.type,coordinates:Me(et.coordinates)};break;case"MultiLineString":case"Polygon":ut={type:et.type,coordinates:_e(et.coordinates)};break;case"MultiPolygon":ut={type:"MultiPolygon",coordinates:et.coordinates.map(_e)};break;default:return et}return et.bbox!=null&&(ut.bbox=et.bbox),ut}function Qe(et){var ut={type:"Feature",properties:et.properties,geometry:Le(et.geometry)};return et.id!=null&&(ut.id=et.id),et.bbox!=null&&(ut.bbox=et.bbox),ut}if(re!=null)switch(re.type){case"Feature":return Qe(re);case"FeatureCollection":{var st={type:"FeatureCollection",features:re.features.map(Qe)};return re.bbox!=null&&(st.bbox=re.bbox),st}default:return Le(re)}return re}function Ke(re){var le=m(re);function de(ye,Me){var _e=le?b(ye*le/2)/le:ye/2;if(!Me)return[2*_e,-re];var Le=2*i(_e*m(Me)),Qe=1/b(Me);return[m(Le)*Qe,Me+(1-o(Le))*Qe-re]}return de.invert=function(ye,Me){if(n(Me+=re)<g)return[le?2*i(le*ye/2)/le:ye,0];var _e=ye*ye+Me*Me,Le=0,Qe=10,st;do{var et=b(Le),ut=1/o(Le),yt=_e-2*Me*Le+Le*Le;Le-=st=(et*yt+2*(Le-Me))/(2+yt*ut*ut+2*(Le-Me)*et)}while(n(st)>g&&--Qe>0);var Ct=ye*(et=b(Le)),qt=b(n(Me)<n(Le+1/et)?C(Ct)*.5:L(Ct)*.5+T/4)/m(Le);return[le?2*i(le*qt)/le:2*qt,Le]},de}function xt(){return Pe(Ke).scale(131.215)}var Ft=[[.9986,-.062],[1,0],[.9986,.062],[.9954,.124],[.99,.186],[.9822,.248],[.973,.31],[.96,.372],[.9427,.434],[.9216,.4958],[.8962,.5571],[.8679,.6176],[.835,.6769],[.7986,.7346],[.7597,.7903],[.7186,.8435],[.6732,.8936],[.6213,.9394],[.5722,.9761],[.5322,1]];Ft.forEach(function(re){re[1]*=1.0144});function jt(re,le){var de=c(18,n(le)*36/T),ye=l(de),Me=de-ye,_e=(yt=Ft[ye])[0],Le=yt[1],Qe=(yt=Ft[++ye])[0],st=yt[1],et=(yt=Ft[c(19,++ye)])[0],ut=yt[1],yt;return[re*(Qe+Me*(et-_e)/2+Me*Me*(et-2*Qe+_e)/2),(le>0?w:-w)*(st+Me*(ut-Le)/2+Me*Me*(ut-2*st+Le)/2)]}jt.invert=function(re,le){var de=le/w,ye=de*90,Me=c(18,n(ye/5)),_e=f(0,l(Me));do{var Le=Ft[_e][1],Qe=Ft[_e+1][1],st=Ft[c(19,_e+2)][1],et=st-Le,ut=st-2*Qe+Le,yt=2*(n(de)-Qe)/et,Ct=ut/et,qt=yt*(1-Ct*yt*(1-2*Ct*yt));if(qt>=0||_e===1){ye=(le>=0?5:-5)*(qt+Me);var Zt=50,rr;do Me=c(18,n(ye)/5),_e=l(Me),qt=Me-_e,Le=Ft[_e][1],Qe=Ft[_e+1][1],st=Ft[c(19,_e+2)][1],ye-=(rr=(le>=0?w:-w)*(Qe+qt*(st-Le)/2+qt*qt*(st-2*Qe+Le)/2)-le)*S;while(n(rr)>_&&--Zt>0);break}}while(--_e>=0);var dr=Ft[_e][0],Ir=Ft[_e+1][0],Ur=Ft[c(19,_e+2)][0];return[re/(Ir+qt*(Ur-dr)/2+qt*qt*(Ur-2*Ir+dr)/2),ye*y]};function $t(){return t.geoProjection(jt).scale(152.63)}function Kt(re){function le(de,ye){var Me=o(ye),_e=(re-1)/(re-Me*o(de));return[_e*Me*m(de),_e*m(ye)]}return le.invert=function(de,ye){var Me=de*de+ye*ye,_e=R(Me),Le=(re-R(1-Me*(re+1)/(re-1)))/((re-1)/_e+_e/(re-1));return[a(de*Le,_e*R(1-Le*Le)),_e?C(ye*Le/_e):0]},le}function sr(re,le){var de=Kt(re);if(!le)return de;var ye=o(le),Me=m(le);function _e(Le,Qe){var st=de(Le,Qe),et=st[1],ut=et*Me/(re-1)+ye;return[st[0]*ye/ut,et/ut]}return _e.invert=function(Le,Qe){var st=(re-1)/(re-1-Qe*Me);return de.invert(st*Le,st*Qe*ye)},_e}function Yt(){var re=2,le=0,de=t.geoProjectionMutator(sr),ye=de(re,le);return ye.distance=function(Me){return arguments.length?de(re=+Me,le):re},ye.tilt=function(Me){return arguments.length?de(re,le=Me*y):le*S},ye.scale(432.147).clipAngle(L(1/re)*S-1e-6)}var nr=1e-4,Qt=1e4,cr=-180,pr=cr+nr,Jr=180,jr=Jr-nr,rn=-90,Qr=rn+nr,yr=90,Cr=yr-nr;function Ze(re){return re.length>0}function fn(re){return Math.floor(re*Qt)/Qt}function Kn(re){return re===rn||re===yr?[0,re]:[cr,fn(re)]}function Gn(re){var le=re[0],de=re[1],ye=!1;return le<=pr?(le=cr,ye=!0):le>=jr&&(le=Jr,ye=!0),de<=Qr?(de=rn,ye=!0):de>=Cr&&(de=yr,ye=!0),ye?[le,de]:re}function $r(re){return re.map(Gn)}function Hi(re,le,de){for(var ye=0,Me=re.length;ye<Me;++ye){var _e=re[ye].slice();de.push({index:-1,polygon:le,ring:_e});for(var Le=0,Qe=_e.length;Le<Qe;++Le){var st=_e[Le],et=st[0],ut=st[1];if(et<=pr||et>=jr||ut<=Qr||ut>=Cr){_e[Le]=Gn(st);for(var yt=Le+1;yt<Qe;++yt){var Ct=_e[yt],qt=Ct[0],Zt=Ct[1];if(qt>pr&&qt<jr&&Zt>Qr&&Zt<Cr)break}if(yt===Le+1)continue;if(Le){var rr={index:-1,polygon:le,ring:_e.slice(0,Le+1)};rr.ring[rr.ring.length-1]=Kn(ut),de[de.length-1]=rr}else de.pop();if(yt>=Qe)break;de.push({index:-1,polygon:le,ring:_e=_e.slice(yt-1)}),_e[0]=Kn(_e[0][1]),Le=-1,Qe=_e.length}}}}function Zn(re){var le,de=re.length,ye={},Me={},_e,Le,Qe,st,et;for(le=0;le<de;++le){if(_e=re[le],Le=_e.ring[0],st=_e.ring[_e.ring.length-1],Le[0]===st[0]&&Le[1]===st[1]){_e.polygon.push(_e.ring),re[le]=null;continue}_e.index=le,ye[Le]=Me[st]=_e}for(le=0;le<de;++le)if(_e=re[le],_e){if(Le=_e.ring[0],st=_e.ring[_e.ring.length-1],Qe=Me[Le],et=ye[st],delete ye[Le],delete Me[st],Le[0]===st[0]&&Le[1]===st[1]){_e.polygon.push(_e.ring);continue}Qe?(delete Me[Le],delete ye[Qe.ring[0]],Qe.ring.pop(),re[Qe.index]=null,_e={index:-1,polygon:Qe.polygon,ring:Qe.ring.concat(_e.ring)},Qe===et?_e.polygon.push(_e.ring):(_e.index=de++,re.push(ye[_e.ring[0]]=Me[_e.ring[_e.ring.length-1]]=_e))):et?(delete ye[st],delete Me[et.ring[et.ring.length-1]],_e.ring.pop(),_e={index:de++,polygon:et.polygon,ring:_e.ring.concat(et.ring)},re[et.index]=null,re.push(ye[_e.ring[0]]=Me[_e.ring[_e.ring.length-1]]=_e)):(_e.ring.push(_e.ring[0]),_e.polygon.push(_e.ring))}}function uo(re){var le={type:"Feature",geometry:ji(re.geometry)};return re.id!=null&&(le.id=re.id),re.bbox!=null&&(le.bbox=re.bbox),re.properties!=null&&(le.properties=re.properties),le}function ji(re){if(re==null)return re;var le,de,ye,Me;switch(re.type){case"GeometryCollection":le={type:"GeometryCollection",geometries:re.geometries.map(ji)};break;case"Point":le={type:"Point",coordinates:Gn(re.coordinates)};break;case"MultiPoint":case"LineString":le={type:re.type,coordinates:$r(re.coordinates)};break;case"MultiLineString":le={type:"MultiLineString",coordinates:re.coordinates.map($r)};break;case"Polygon":{var _e=[];Hi(re.coordinates,_e,de=[]),Zn(de),le={type:"Polygon",coordinates:_e};break}case"MultiPolygon":{de=[],ye=-1,Me=re.coordinates.length;for(var Le=new Array(Me);++ye<Me;)Hi(re.coordinates[ye],Le[ye]=[],de);Zn(de),le={type:"MultiPolygon",coordinates:Le.filter(Ze)};break}default:return re}return re.bbox!=null&&(le.bbox=re.bbox),le}function Vi(re){if(re==null)return re;switch(re.type){case"Feature":return uo(re);case"FeatureCollection":{var le={type:"FeatureCollection",features:re.features.map(uo)};return re.bbox!=null&&(le.bbox=re.bbox),le}default:return ji(re)}}function Rr(re,le){var de=b(le/2),ye=m(k*de);return[re*(.74482-.34588*ye*ye),1.70711*de]}Rr.invert=function(re,le){var de=le/1.70711,ye=m(k*de);return[re/(.74482-.34588*ye*ye),2*i(de)]};function li(){return t.geoProjection(Rr).scale(146.153)}function Ba(re,le,de){var ye=t.geoInterpolate(le,de),Me=ye(.5),_e=t.geoRotation([-Me[0],-Me[1]])(le),Le=ye.distance/2,Qe=-C(m(_e[1]*y)/m(Le)),st=[-Me[0],-Me[1],-(_e[0]>0?T-Qe:Qe)*S],et=t.geoProjection(re(Le)).rotate(st),ut=t.geoRotation(st),yt=et.center;return delete et.rotate,et.center=function(Ct){return arguments.length?yt(ut(Ct)):ut.invert(yt())},et.clipAngle(90)}function Ao(re){var le=o(re);function de(ye,Me){var _e=t.geoGnomonicRaw(ye,Me);return _e[0]*=le,_e}return de.invert=function(ye,Me){return t.geoGnomonicRaw.invert(ye/le,Me)},de}function Ua(){return Kl([-158,21.5],[-77,39]).clipAngle(60).scale(400)}function Kl(re,le){return Ba(Ao,re,le)}function Rl(re){if(!(re*=2))return t.geoAzimuthalEquidistantRaw;var le=-re/2,de=-le,ye=re*re,Me=b(de),_e=.5/m(de);function Le(Qe,st){var et=L(o(st)*o(Qe-le)),ut=L(o(st)*o(Qe-de)),yt=st<0?-1:1;return et*=et,ut*=ut,[(et-ut)/(2*re),yt*R(4*ye*ut-(ye-et+ut)*(ye-et+ut))/(2*re)]}return Le.invert=function(Qe,st){var et=st*st,ut=o(R(et+(Ct=Qe+le)*Ct)),yt=o(R(et+(Ct=Qe+de)*Ct)),Ct,qt;return[a(qt=ut-yt,Ct=(ut+yt)*Me),(st<0?-1:1)*L(R(Ct*Ct+qt*qt)*_e)]},Le}function pf(){return ll([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)}function ll(re,le){return Ba(Rl,re,le)}function gf(re,le){if(n(le)<g)return[re,0];var de=n(le/w),ye=C(de);if(n(re)<g||n(n(le)-w)<g)return[0,v(le)*T*b(ye/2)];var Me=o(ye),_e=n(T/re-re/T)/2,Le=_e*_e,Qe=Me/(de+Me-1),st=Qe*(2/de-1),et=st*st,ut=et+Le,yt=Qe-et,Ct=Le+Qe;return[v(re)*T*(_e*yt+R(Le*yt*yt-ut*(Qe*Qe-et)))/ut,v(le)*T*(st*Ct-_e*R((Le+1)*ut-Ct*Ct))/ut]}gf.invert=function(re,le){if(n(le)<g)return[re,0];if(n(re)<g)return[0,w*m(2*i(le/T))];var de=(re/=T)*re,ye=(le/=T)*le,Me=de+ye,_e=Me*Me,Le=-n(le)*(1+Me),Qe=Le-2*ye+de,st=-2*Le+1+2*ye+_e,et=ye/st+(2*Qe*Qe*Qe/(st*st*st)-9*Le*Qe/(st*st))/27,ut=(Le-Qe*Qe/(3*st))/st,yt=2*R(-ut/3),Ct=L(3*et/(ut*yt))/3;return[T*(Me-1+R(1+2*(de-ye)+_e))/(2*re),v(le)*T*(-yt*o(Ct+T/3)-Qe/(3*st))]};function ns(){return t.geoProjection(gf).scale(79.4183)}function Fh(re,le){if(n(le)<g)return[re,0];var de=n(le/w),ye=C(de);if(n(re)<g||n(n(le)-w)<g)return[0,v(le)*T*b(ye/2)];var Me=o(ye),_e=n(T/re-re/T)/2,Le=_e*_e,Qe=Me*(R(1+Le)-_e*Me)/(1+Le*de*de);return[v(re)*T*Qe,v(le)*T*R(1-Qe*(2*_e+Qe))]}Fh.invert=function(re,le){if(!re)return[0,w*m(2*i(le/T))];var de=n(re/T),ye=(1-de*de-(le/=T)*le)/(2*de),Me=ye*ye,_e=R(Me+1);return[v(re)*T*(_e-ye),v(le)*w*m(2*a(R((1-2*ye*de)*(ye+_e)-de),R(_e+ye+de)))]};function Vd(){return t.geoProjection(Fh).scale(79.4183)}function Yd(re,le){if(n(le)<g)return[re,0];var de=le/w,ye=C(de);if(n(re)<g||n(n(le)-w)<g)return[0,T*b(ye/2)];var Me=(T/re-re/T)/2,_e=de/(1+o(ye));return[T*(v(re)*R(Me*Me+1-_e*_e)-Me),T*_e]}Yd.invert=function(re,le){if(!le)return[re,0];var de=le/T,ye=(T*T*(1-de*de)-re*re)/(2*T*re);return[re?T*(v(re)*R(ye*ye+1)-ye):0,w*m(2*i(de))]};function Jm(){return t.geoProjection(Yd).scale(79.4183)}function Ev(re,le){if(!le)return[re,0];var de=n(le);if(!re||de===w)return[0,le];var ye=de/w,Me=ye*ye,_e=(8*ye-Me*(Me+2)-5)/(2*Me*(ye-1)),Le=_e*_e,Qe=ye*_e,st=Me+Le+2*Qe,et=ye+3*_e,ut=re/w,yt=ut+1/ut,Ct=v(n(re)-w)*R(yt*yt-4),qt=Ct*Ct,Zt=st*(Me+Le*qt-1)+(1-Me)*(Me*(et*et+4*Le)+12*Qe*Le+4*Le*Le),rr=(Ct*(st+Le-1)+2*R(Zt))/(4*st+qt);return[v(re)*w*rr,v(le)*w*R(1+Ct*n(rr)-rr*rr)]}Ev.invert=function(re,le){var de;if(!re||!le)return[re,le];le/=T;var ye=v(re)*re/w,Me=(ye*ye-1+4*le*le)/n(ye),_e=Me*Me,Le=2*le,Qe=50;do{var st=Le*Le,et=(8*Le-st*(st+2)-5)/(2*st*(Le-1)),ut=(3*Le-st*Le-10)/(2*st*Le),yt=et*et,Ct=Le*et,qt=Le+et,Zt=qt*qt,rr=Le+3*et,dr=Zt*(st+yt*_e-1)+(1-st)*(st*(rr*rr+4*yt)+yt*(12*Ct+4*yt)),Ir=-2*qt*(4*Ct*yt+(1-4*st+3*st*st)*(1+ut)+yt*(-6+14*st-_e+(-8+8*st-2*_e)*ut)+Ct*(-8+12*st+(-10+10*st-_e)*ut)),Ur=R(dr),an=Me*(Zt+yt-1)+2*Ur-ye*(4*Zt+_e),un=Me*(2*et*ut+2*qt*(1+ut))+Ir/Ur-8*qt*(Me*(-1+yt+Zt)+2*Ur)*(1+ut)/(_e+4*Zt);Le-=de=an/un}while(de>g&&--Qe>0);return[v(re)*(R(Me*Me+4)+Me)*T/4,w*Le]};function Oo(){return t.geoProjection(Ev).scale(127.16)}function $m(re,le,de,ye,Me){function _e(Le,Qe){var st=de*m(ye*Qe),et=R(1-st*st),ut=R(2/(1+et*o(Le*=Me)));return[re*et*ut*m(Le),le*st*ut]}return _e.invert=function(Le,Qe){var st=Le/re,et=Qe/le,ut=R(st*st+et*et),yt=2*C(ut/2);return[a(Le*b(yt),re*ut)/Me,ut&&C(Qe*m(yt)/(le*de*ut))/ye]},_e}function Km(re,le,de,ye){var Me=T/3;re=f(re,g),le=f(le,g),re=c(re,w),le=c(le,T-g),de=f(de,0),de=c(de,100-g),ye=f(ye,g);var _e=de/100+1,Le=ye/100,Qe=L(_e*o(Me))/Me,st=m(re)/m(Qe*w),et=le/T,ut=R(Le*m(re/2)/m(le/2)),yt=ut/R(et*st*Qe),Ct=1/(ut*R(et*st*Qe));return $m(yt,Ct,st,Qe,et)}function Hs(){var re=65*y,le=60*y,de=20,ye=200,Me=t.geoProjectionMutator(Km),_e=Me(re,le,de,ye);return _e.poleline=function(Le){return arguments.length?Me(re=+Le*y,le,de,ye):re*S},_e.parallels=function(Le){return arguments.length?Me(re,le=+Le*y,de,ye):le*S},_e.inflation=function(Le){return arguments.length?Me(re,le,de=+Le,ye):de},_e.ratio=function(Le){return arguments.length?Me(re,le,de,ye=+Le):ye},_e.scale(163.775)}function Ap(){return Hs().poleline(65).parallels(60).inflation(0).ratio(200).scale(172.633)}var Qm=4*T+3*R(3),e1=2*R(2*T*R(3)/Qm),t1=ze(e1*R(3)/T,e1,Qm/6);function Gd(){return t.geoProjection(t1).scale(176.84)}function zh(re,le){return[re*R(1-3*le*le/(T*T)),le]}zh.invert=function(re,le){return[re/R(1-3*le*le/(T*T)),le]};function Mp(){return t.geoProjection(zh).scale(152.63)}function kp(re,le){var de=o(le),ye=o(re)*de,Me=1-ye,_e=o(re=a(m(re)*de,-m(le))),Le=m(re);return de=R(1-ye*ye),[Le*de-_e*Me,-_e*de-Le*Me]}kp.invert=function(re,le){var de=(re*re+le*le)/-2,ye=R(-de*(2+de)),Me=le*de+re*ye,_e=re*de-le*ye,Le=R(_e*_e+Me*Me);return[a(ye*Me,Le*(1+de)),Le?-C(ye*_e/Le):0]};function pb(){return t.geoProjection(kp).rotate([0,-90,45]).scale(124.75).clipAngle(180-.001)}function Lv(re,le){var de=ee(re,le);return[(de[0]+re/w)/2,(de[1]+le)/2]}Lv.invert=function(re,le){var de=re,ye=le,Me=25;do{var _e=o(ye),Le=m(ye),Qe=m(2*ye),st=Le*Le,et=_e*_e,ut=m(de),yt=o(de/2),Ct=m(de/2),qt=Ct*Ct,Zt=1-et*yt*yt,rr=Zt?L(_e*yt)*R(dr=1/Zt):dr=0,dr,Ir=.5*(2*rr*_e*Ct+de/w)-re,Ur=.5*(rr*Le+ye)-le,an=.5*dr*(et*qt+rr*_e*yt*st)+.5/w,un=dr*(ut*Qe/4-rr*Le*Ct),on=.125*dr*(Qe*Ct-rr*Le*et*ut),Mi=.5*dr*(st*yt+rr*qt*_e)+.5,Oi=un*on-Mi*an,Nn=(Ur*un-Ir*Mi)/Oi,ya=(Ir*on-Ur*an)/Oi;de-=Nn,ye-=ya}while((n(Nn)>g||n(ya)>g)&&--Me>0);return[de,ye]};function is(){return t.geoProjection(Lv).scale(158.837)}e.geoNaturalEarth=t.geoNaturalEarth1,e.geoNaturalEarthRaw=t.geoNaturalEarth1Raw,e.geoAiry=G,e.geoAiryRaw=U,e.geoAitoff=Q,e.geoAitoffRaw=ee,e.geoArmadillo=O,e.geoArmadilloRaw=j,e.geoAugust=K,e.geoAugustRaw=Z,e.geoBaker=V,e.geoBakerRaw=te,e.geoBerghaus=W,e.geoBerghausRaw=ne,e.geoBertin1953=Ie,e.geoBertin1953Raw=me,e.geoBoggs=Ae,e.geoBoggsRaw=Ee,e.geoBonne=Ue,e.geoBonneRaw=ke,e.geoBottomley=lt,e.geoBottomleyRaw=Ge,e.geoBromley=wt,e.geoBromleyRaw=it,e.geoChamberlin=je,e.geoChamberlinRaw=bt,e.geoChamberlinAfrica=Ye,e.geoCollignon=ve,e.geoCollignonRaw=$e,e.geoCraig=ie,e.geoCraigRaw=Y,e.geoCraster=at,e.geoCrasterRaw=Ve,e.geoCylindricalEqualArea=Ht,e.geoCylindricalEqualAreaRaw=ft,e.geoCylindricalStereographic=St,e.geoCylindricalStereographicRaw=Xt,e.geoEckert1=er,e.geoEckert1Raw=Vt,e.geoEckert2=br,e.geoEckert2Raw=_r,e.geoEckert3=tn,e.geoEckert3Raw=or,e.geoEckert4=Gr,e.geoEckert4Raw=Lr,e.geoEckert5=Hr,e.geoEckert5Raw=sn,e.geoEckert6=qn,e.geoEckert6Raw=Br,e.geoEisenlohr=Wn,e.geoEisenlohrRaw=Yn,e.geoFahey=Si,e.geoFaheyRaw=wn,e.geoFoucaut=ia,e.geoFoucautRaw=Aa,e.geoFoucautSinusoidal=Ji,e.geoFoucautSinusoidalRaw=An,e.geoGilbert=ga,e.geoGingery=wo,e.geoGingeryRaw=Ia,e.geoGinzburg4=yu,e.geoGinzburg4Raw=oa,e.geoGinzburg5=xu,e.geoGinzburg5Raw=Xl,e.geoGinzburg6=ct,e.geoGinzburg6Raw=De,e.geoGinzburg8=Mt,e.geoGinzburg8Raw=ht,e.geoGinzburg9=Lt,e.geoGinzburg9Raw=Gt,e.geoGringorten=Er,e.geoGringortenRaw=zt,e.geoGuyou=Ki,e.geoGuyouRaw=hi,e.geoHammer=Ce,e.geoHammerRaw=fe,e.geoHammerRetroazimuthal=qa,e.geoHammerRetroazimuthalRaw=sa,e.geoHealpix=Ko,e.geoHealpixRaw=ka,e.geoHill=Zl,e.geoHillRaw=tl,e.geoHomolosine=tf,e.geoHomolosineRaw=Bi,e.geoHufnagel=es,e.geoHufnagelRaw=so,e.geoHyperelliptical=ws,e.geoHyperellipticalRaw=bs,e.geoInterrupt=kl,e.geoInterruptedBoggs=wp,e.geoInterruptedHomolosine=nf,e.geoInterruptedMollweide=rs,e.geoInterruptedMollweideHemispheres=af,e.geoInterruptedSinuMollweide=zs,e.geoInterruptedSinusoidal=sf,e.geoKavrayskiy7=Hf,e.geoKavrayskiy7Raw=wu,e.geoLagrange=Mh,e.geoLagrangeRaw=Ah,e.geoLarrivee=Jl,e.geoLarriveeRaw=lf,e.geoLaskowski=Va,e.geoLaskowskiRaw=_s,e.geoLittrow=il,e.geoLittrowRaw=To,e.geoLoximuthal=_u,e.geoLoximuthalRaw=uf,e.geoMiller=qc,e.geoMillerRaw=jf,e.geoModifiedStereographic=Sl,e.geoModifiedStereographicRaw=kh,e.geoModifiedStereographicAlaska=Sh,e.geoModifiedStereographicGs48=Tv,e.geoModifiedStereographicGs50=Fd,e.geoModifiedStereographicMiller=zc,e.geoModifiedStereographicLee=Nc,e.geoMollweide=tt,e.geoMollweideRaw=Be,e.geoMtFlatPolarParabolic=zd,e.geoMtFlatPolarParabolicRaw=Eh,e.geoMtFlatPolarQuartic=Nd,e.geoMtFlatPolarQuarticRaw=Oc,e.geoMtFlatPolarSinusoidal=cf,e.geoMtFlatPolarSinusoidalRaw=No,e.geoNaturalEarth2=Bc,e.geoNaturalEarth2Raw=Vf,e.geoNellHammer=Tu,e.geoNellHammerRaw=Uc,e.geoInterruptedQuarticAuthalic=Av,e.geoNicolosi=Od,e.geoNicolosiRaw=Mv,e.geoPatterson=Oa,e.geoPattersonRaw=mi,e.geoPolyconic=Dh,e.geoPolyconicRaw=yi,e.geoPolyhedral=$l,e.geoPolyhedralButterfly=Au,e.geoPolyhedralCollignon=Ud,e.geoPolyhedralWaterman=ku,e.geoProject=Ih,e.geoGringortenQuincuncial=be,e.geoPeirceQuincuncial=Oe,e.geoPierceQuincuncial=Oe,e.geoQuantize=ot,e.geoQuincuncial=Ca,e.geoRectangularPolyconic=xt,e.geoRectangularPolyconicRaw=Ke,e.geoRobinson=$t,e.geoRobinsonRaw=jt,e.geoSatellite=Yt,e.geoSatelliteRaw=sr,e.geoSinuMollweide=ef,e.geoSinuMollweideRaw=rl,e.geoSinusoidal=Fe,e.geoSinusoidalRaw=He,e.geoStitch=Vi,e.geoTimes=li,e.geoTimesRaw=Rr,e.geoTwoPointAzimuthal=Kl,e.geoTwoPointAzimuthalRaw=Ao,e.geoTwoPointAzimuthalUsa=Ua,e.geoTwoPointEquidistant=ll,e.geoTwoPointEquidistantRaw=Rl,e.geoTwoPointEquidistantUsa=pf,e.geoVanDerGrinten=ns,e.geoVanDerGrintenRaw=gf,e.geoVanDerGrinten2=Vd,e.geoVanDerGrinten2Raw=Fh,e.geoVanDerGrinten3=Jm,e.geoVanDerGrinten3Raw=Yd,e.geoVanDerGrinten4=Oo,e.geoVanDerGrinten4Raw=Ev,e.geoWagner=Hs,e.geoWagner7=Ap,e.geoWagnerRaw=Km,e.geoWagner4=Gd,e.geoWagner4Raw=t1,e.geoWagner6=Mp,e.geoWagner6Raw=zh,e.geoWiechel=pb,e.geoWiechelRaw=kp,e.geoWinkel3=is,e.geoWinkel3Raw=Lv,Object.defineProperty(e,"__esModule",{value:!0})})});var z_e=J(($Bt,F_e)=>{"use strict";var Zo=Nr(),C9=gt(),jbt=zr(),Cx=Math.PI/180,cm=180/Math.PI,L9={cursor:"pointer"},D9={cursor:"auto"};function Vbt(e,t){var r=e.projection,n;return t._isScoped?n=Ybt:t._isClipped?n=Wbt:n=Gbt,n(e,r)}F_e.exports=Vbt;function R9(e,t){return Zo.behavior.zoom().translate(t.translate()).scale(t.scale())}function P9(e,t,r){var n=e.id,i=e.graphDiv,a=i.layout,o=a[n],s=i._fullLayout,l=s[n],u={},f={};function c(h,d){u[n+"."+h]=C9.nestedProperty(o,h).get(),jbt.call("_storeDirectGUIEdit",a,s._preGUI,u);var v=C9.nestedProperty(l,h);v.get()!==d&&(v.set(d),C9.nestedProperty(o,h).set(d),f[n+"."+h]=d)}r(c),c("projection.scale",t.scale()/e.fitScale),c("fitbounds",!1),i.emit("plotly_relayout",f)}function Ybt(e,t){var r=R9(e,t);function n(){Zo.select(this).style(L9)}function i(){t.scale(Zo.event.scale).translate(Zo.event.translate),e.render(!0);var s=t.invert(e.midPt);e.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":t.scale()/e.fitScale,"geo.center.lon":s[0],"geo.center.lat":s[1]})}function a(s){var l=t.invert(e.midPt);s("center.lon",l[0]),s("center.lat",l[1])}function o(){Zo.select(this).style(D9),P9(e,t,a)}return r.on("zoomstart",n).on("zoom",i).on("zoomend",o),r}function Gbt(e,t){var r=R9(e,t),n=2,i,a,o,s,l,u,f,c,h;function d(T){return t.invert(T)}function v(T){var w=d(T);if(!w)return!0;var k=t(w);return Math.abs(k[0]-T[0])>n||Math.abs(k[1]-T[1])>n}function m(){Zo.select(this).style(L9),i=Zo.mouse(this),a=t.rotate(),o=t.translate(),s=a,l=d(i)}function b(){if(u=Zo.mouse(this),v(i)){r.scale(t.scale()),r.translate(t.translate());return}t.scale(Zo.event.scale),t.translate([o[0],Zo.event.translate[1]]),l?d(u)&&(c=d(u),f=[s[0]+(c[0]-l[0]),a[1],a[2]],t.rotate(f),s=f):(i=u,l=d(i)),h=!0,e.render(!0);var T=t.rotate(),w=t.invert(e.midPt);e.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":t.scale()/e.fitScale,"geo.center.lon":w[0],"geo.center.lat":w[1],"geo.projection.rotation.lon":-T[0]})}function g(){Zo.select(this).style(D9),h&&P9(e,t,_)}function _(T){var w=t.rotate(),k=t.invert(e.midPt);T("projection.rotation.lon",-w[0]),T("center.lon",k[0]),T("center.lat",k[1])}return r.on("zoomstart",m).on("zoom",b).on("zoomend",g),r}function Wbt(e,t){var r={r:t.rotate(),k:t.scale()},n=R9(e,t),i=t2t(n,"zoomstart","zoom","zoomend"),a=0,o=n.on,s;n.on("zoomstart",function(){Zo.select(this).style(L9);var h=Zo.mouse(this),d=t.rotate(),v=d,m=t.translate(),b=Xbt(d);s=W5(t,h),o.call(n,"zoom",function(){var g=Zo.mouse(this);if(t.scale(r.k=Zo.event.scale),!s)h=g,s=W5(t,h);else if(W5(t,g)){t.rotate(d).translate(m);var _=W5(t,g),T=Jbt(s,_),w=Kbt(Zbt(b,T)),k=r.r=$bt(w,s,v);(!isFinite(k[0])||!isFinite(k[1])||!isFinite(k[2]))&&(k=v),t.rotate(k),v=k}u(i.of(this,arguments))}),l(i.of(this,arguments))}).on("zoomend",function(){Zo.select(this).style(D9),o.call(n,"zoom",null),f(i.of(this,arguments)),P9(e,t,c)}).on("zoom.redraw",function(){e.render(!0);var h=t.rotate();e.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":t.scale()/e.fitScale,"geo.projection.rotation.lon":-h[0],"geo.projection.rotation.lat":-h[1]})});function l(h){a++||h({type:"zoomstart"})}function u(h){h({type:"zoom"})}function f(h){--a||h({type:"zoomend"})}function c(h){var d=t.rotate();h("projection.rotation.lon",-d[0]),h("projection.rotation.lat",-d[1])}return Zo.rebind(n,i,"on")}function W5(e,t){var r=e.invert(t);return r&&isFinite(r[0])&&isFinite(r[1])&&Qbt(r)}function Xbt(e){var t=.5*e[0]*Cx,r=.5*e[1]*Cx,n=.5*e[2]*Cx,i=Math.sin(t),a=Math.cos(t),o=Math.sin(r),s=Math.cos(r),l=Math.sin(n),u=Math.cos(n);return[a*s*u+i*o*l,i*s*u-a*o*l,a*o*u+i*s*l,a*s*l-i*o*u]}function Zbt(e,t){var r=e[0],n=e[1],i=e[2],a=e[3],o=t[0],s=t[1],l=t[2],u=t[3];return[r*o-n*s-i*l-a*u,r*s+n*o+i*u-a*l,r*l-n*u+i*o+a*s,r*u+n*l-i*s+a*o]}function Jbt(e,t){if(!(!e||!t)){var r=e2t(e,t),n=Math.sqrt(q_e(r,r)),i=.5*Math.acos(Math.max(-1,Math.min(1,q_e(e,t)))),a=Math.sin(i)/n;return n&&[Math.cos(i),r[2]*a,-r[1]*a,r[0]*a]}}function $bt(e,t,r){var n=E9(t,2,e[0]);n=E9(n,1,e[1]),n=E9(n,0,e[2]-r[2]);var i=t[0],a=t[1],o=t[2],s=n[0],l=n[1],u=n[2],f=Math.atan2(a,i)*cm,c=Math.sqrt(i*i+a*a),h,d;Math.abs(l)>c?(d=(l>0?90:-90)-f,h=0):(d=Math.asin(l/c)*cm-f,h=Math.sqrt(c*c-l*l));var v=180-d-2*f,m=(Math.atan2(u,s)-Math.atan2(o,h))*cm,b=(Math.atan2(u,s)-Math.atan2(o,-h))*cm,g=P_e(r[0],r[1],d,m),_=P_e(r[0],r[1],v,b);return g<=_?[d,m,r[2]]:[v,b,r[2]]}function P_e(e,t,r,n){var i=I_e(r-e),a=I_e(n-t);return Math.sqrt(i*i+a*a)}function I_e(e){return(e%360+540)%360-180}function E9(e,t,r){var n=r*Cx,i=e.slice(),a=t===0?1:0,o=t===2?1:2,s=Math.cos(n),l=Math.sin(n);return i[a]=e[a]*s-e[o]*l,i[o]=e[o]*s+e[a]*l,i}function Kbt(e){return[Math.atan2(2*(e[0]*e[1]+e[2]*e[3]),1-2*(e[1]*e[1]+e[2]*e[2]))*cm,Math.asin(Math.max(-1,Math.min(1,2*(e[0]*e[2]-e[3]*e[1]))))*cm,Math.atan2(2*(e[0]*e[3]+e[1]*e[2]),1-2*(e[2]*e[2]+e[3]*e[3]))*cm]}function Qbt(e){var t=e[0]*Cx,r=e[1]*Cx,n=Math.cos(r);return[n*Math.cos(t),n*Math.sin(t),Math.sin(r)]}function q_e(e,t){for(var r=0,n=0,i=e.length;n<i;++n)r+=e[n]*t[n];return r}function e2t(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function t2t(e){for(var t=0,r=arguments.length,n=[];++t<r;)n.push(arguments[t]);var i=Zo.dispatch.apply(null,n);return i.of=function(a,o){return function(s){var l;try{l=s.sourceEvent=Zo.event,s.target=e,Zo.event=s,i[s.type].apply(a,o)}finally{Zo.event=l}}},i}});var V_e=J((KBt,j_e)=>{"use strict";var _d=Nr(),F9=S9(),r2t=F9.geoPath,n2t=F9.geoDistance,i2t=R_e(),a2t=zr(),z_=gt(),o2t=z_.strTranslate,X5=qr(),F_=ln(),N_e=go(),s2t=ea(),q9=nn(),O_e=ec().getAutoRange,I9=iu(),l2t=ml().prepSelect,u2t=ml().clearOutline,f2t=ml().selectOnClick,c2t=z_e(),vu=R_(),h2t=U5(),U_e=q5(),v2t=u9().feature;function H_e(e){this.id=e.id,this.graphDiv=e.graphDiv,this.container=e.container,this.topojsonURL=e.topojsonURL,this.isStatic=e.staticPlot,this.topojsonName=null,this.topojson=null,this.projection=null,this.scope=null,this.viewInitial=null,this.fitScale=null,this.bounds=null,this.midPt=null,this.hasChoropleth=!1,this.traceHash={},this.layers={},this.basePaths={},this.dataPaths={},this.dataPoints={},this.clipDef=null,this.clipRect=null,this.bgRect=null,this.makeFramework()}var _h=H_e.prototype;j_e.exports=function(t){return new H_e(t)};_h.plot=function(e,t,r,n){var i=this;if(n)return i.update(e,t,!0);i._geoCalcData=e,i._fullLayout=t;var a=t[this.id],o=[],s=!1;for(var l in vu.layerNameToAdjective)if(l!=="frame"&&a["show"+l]){s=!0;break}for(var u=!1,f=0;f<e.length;f++){var c=e[0][0].trace;c._geo=i,c.locationmode&&(s=!0);var h=c.marker;if(h){var d=h.angle,v=h.angleref;(d||v==="north"||v==="previous")&&(u=!0)}}if(this._hasMarkerAngles=u,s){var m=U_e.getTopojsonName(a);(i.topojson===null||m!==i.topojsonName)&&(i.topojsonName=m,PlotlyGeoAssets.topojson[i.topojsonName]===void 0&&o.push(i.fetchTopojson()))}o=o.concat(h2t.fetchTraceGeoData(e)),r.push(new Promise(function(b,g){Promise.all(o).then(function(){i.topojson=PlotlyGeoAssets.topojson[i.topojsonName],i.update(e,t),b()}).catch(g)}))};_h.fetchTopojson=function(){var e=this,t=U_e.getTopojsonPath(e.topojsonURL,e.topojsonName);return new Promise(function(r,n){_d.json(t,function(i,a){if(i)return i.status===404?n(new Error(["plotly.js could not find topojson file at",t+".","Make sure the *topojsonURL* plot config option","is set properly."].join(" "))):n(new Error(["unexpected error while fetching topojson file at",t].join(" ")));PlotlyGeoAssets.topojson[e.topojsonName]=a,r()})})};_h.update=function(e,t,r){var n=t[this.id];this.hasChoropleth=!1;for(var i=0;i<e.length;i++){var a=e[i],o=a[0].trace;o.type==="choropleth"&&(this.hasChoropleth=!0),o.visible===!0&&o._length>0&&o._module.calcGeoJSON(a,t)}if(!r){var s=this.updateProjection(e,t);if(s)return;(!this.viewInitial||this.scope!==n.scope)&&this.saveViewInitial(n)}this.scope=n.scope,this.updateBaseLayers(t,n),this.updateDims(t,n),this.updateFx(t,n),s2t.generalUpdatePerTraceModule(this.graphDiv,this,e,n);var l=this.layers.frontplot.select(".scatterlayer");this.dataPoints.point=l.selectAll(".point"),this.dataPoints.text=l.selectAll("text"),this.dataPaths.line=l.selectAll(".js-line");var u=this.layers.backplot.select(".choroplethlayer");this.dataPaths.choropleth=u.selectAll("path"),this._render()};_h.updateProjection=function(e,t){var r=this.graphDiv,n=t[this.id],i=t._size,a=n.domain,o=n.projection,s=n.lonaxis,l=n.lataxis,u=s._ax,f=l._ax,c=this.projection=d2t(n),h=[[i.l+i.w*a.x[0],i.t+i.h*(1-a.y[1])],[i.l+i.w*a.x[1],i.t+i.h*(1-a.y[0])]],d=n.center||{},v=o.rotation||{},m=s.range||[],b=l.range||[];if(n.fitbounds){u._length=h[1][0]-h[0][0],f._length=h[1][1]-h[0][1],u.range=O_e(r,u),f.range=O_e(r,f);var g=(u.range[0]+u.range[1])/2,_=(f.range[0]+f.range[1])/2;if(n._isScoped)d={lon:g,lat:_};else if(n._isClipped){d={lon:g,lat:_},v={lon:g,lat:_,roll:v.roll};var T=o.type,w=vu.lonaxisSpan[T]/2||180,k=vu.lataxisSpan[T]/2||90;m=[g-w,g+w],b=[_-k,_+k]}else d={lon:g,lat:_},v={lon:g,lat:v.lat,roll:v.roll}}c.center([d.lon-v.lon,d.lat-v.lat]).rotate([-v.lon,-v.lat,v.roll]).parallels(o.parallels);var x=B_e(m,b);c.fitExtent(h,x);var M=this.bounds=c.getBounds(x),A=this.fitScale=c.scale(),p=c.translate();if(n.fitbounds){var S=c.getBounds(B_e(u.range,f.range)),y=Math.min((M[1][0]-M[0][0])/(S[1][0]-S[0][0]),(M[1][1]-M[0][1])/(S[1][1]-S[0][1]));isFinite(y)?c.scale(y*A):z_.warn("Something went wrong during"+this.id+"fitbounds computations.")}else c.scale(o.scale*A);var E=this.midPt=[(M[0][0]+M[1][0])/2,(M[0][1]+M[1][1])/2];if(c.translate([p[0]+(E[0]-p[0]),p[1]+(E[1]-p[1])]).clipExtent(M),n._isAlbersUsa){var C=c([d.lon,d.lat]),L=c.translate();c.translate([L[0]-(C[0]-L[0]),L[1]-(C[1]-L[1])])}};_h.updateBaseLayers=function(e,t){var r=this,n=r.topojson,i=r.layers,a=r.basePaths;function o(h){return h==="lonaxis"||h==="lataxis"}function s(h){return Boolean(vu.lineLayers[h])}function l(h){return Boolean(vu.fillLayers[h])}var u=this.hasChoropleth?vu.layersForChoropleth:vu.layers,f=u.filter(function(h){return s(h)||l(h)?t["show"+h]:o(h)?t[h].showgrid:!0}),c=r.framework.selectAll(".layer").data(f,String);c.exit().each(function(h){delete i[h],delete a[h],_d.select(this).remove()}),c.enter().append("g").attr("class",function(h){return"layer "+h}).each(function(h){var d=i[h]=_d.select(this);h==="bg"?r.bgRect=d.append("rect").style("pointer-events","all"):o(h)?a[h]=d.append("path").style("fill","none"):h==="backplot"?d.append("g").classed("choroplethlayer",!0):h==="frontplot"?d.append("g").classed("scatterlayer",!0):s(h)?a[h]=d.append("path").style("fill","none").style("stroke-miterlimit",2):l(h)&&(a[h]=d.append("path").style("stroke","none"))}),c.order(),c.each(function(h){var d=a[h],v=vu.layerNameToAdjective[h];h==="frame"?d.datum(vu.sphereSVG):s(h)||l(h)?d.datum(v2t(n,n.objects[h])):o(h)&&d.datum(p2t(h,t,e)).call(X5.stroke,t[h].gridcolor).call(F_.dashLine,t[h].griddash,t[h].gridwidth),s(h)?d.call(X5.stroke,t[v+"color"]).call(F_.dashLine,"",t[v+"width"]):l(h)&&d.call(X5.fill,t[v+"color"])})};_h.updateDims=function(e,t){var r=this.bounds,n=(t.framewidth||0)/2,i=r[0][0]-n,a=r[0][1]-n,o=r[1][0]-i+n,s=r[1][1]-a+n;F_.setRect(this.clipRect,i,a,o,s),this.bgRect.call(F_.setRect,i,a,o,s).call(X5.fill,t.bgcolor),this.xaxis._offset=i,this.xaxis._length=o,this.yaxis._offset=a,this.yaxis._length=s};_h.updateFx=function(e,t){var r=this,n=r.graphDiv,i=r.bgRect,a=e.dragmode,o=e.clickmode;if(r.isStatic)return;function s(){var c=r.viewInitial,h={};for(var d in c)h[r.id+"."+d]=c[d];a2t.call("_guiRelayout",n,h),n.emit("plotly_doubleclick",null)}function l(c){return r.projection.invert([c[0]+r.xaxis._offset,c[1]+r.yaxis._offset])}var u=function(c,h){if(h.isRect){var d=c.range={};d[r.id]=[l([h.xmin,h.ymin]),l([h.xmax,h.ymax])]}else{var v=c.lassoPoints={};v[r.id]=h.map(l)}},f={element:r.bgRect.node(),gd:n,plotinfo:{id:r.id,xaxis:r.xaxis,yaxis:r.yaxis,fillRangeItems:u},xaxes:[r.xaxis],yaxes:[r.yaxis],subplot:r.id,clickFn:function(c){c===2&&u2t(n)}};a==="pan"?(i.node().onmousedown=null,i.call(c2t(r,t)),i.on("dblclick.zoom",s),n._context._scrollZoom.geo||i.on("wheel.zoom",null)):(a==="select"||a==="lasso")&&(i.on(".zoom",null),f.prepFn=function(c,h,d){l2t(c,h,d,f,a)},I9.init(f)),i.on("mousemove",function(){var c=r.projection.invert(z_.getPositionFromD3Event());if(!c)return I9.unhover(n,_d.event);r.xaxis.p2c=function(){return c[0]},r.yaxis.p2c=function(){return c[1]},N_e.hover(n,_d.event,r.id)}),i.on("mouseout",function(){n._dragging||I9.unhover(n,_d.event)}),i.on("click",function(){a!=="select"&&a!=="lasso"&&(o.indexOf("select")>-1&&f2t(_d.event,n,[r.xaxis],[r.yaxis],r.id,f),o.indexOf("event")>-1&&N_e.click(n,_d.event))})};_h.makeFramework=function(){var e=this,t=e.graphDiv,r=t._fullLayout,n="clip"+r._uid+e.id;e.clipDef=r._clips.append("clipPath").attr("id",n),e.clipRect=e.clipDef.append("rect"),e.framework=_d.select(e.container).append("g").attr("class","geo "+e.id).call(F_.setClipUrl,n,t),e.project=function(i){var a=e.projection(i);return a?[a[0]-e.xaxis._offset,a[1]-e.yaxis._offset]:[null,null]},e.xaxis={_id:"x",c2p:function(i){return e.project(i)[0]}},e.yaxis={_id:"y",c2p:function(i){return e.project(i)[1]}},e.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},q9.setConvert(e.mockAxis,r)};_h.saveViewInitial=function(e){var t=e.center||{},r=e.projection,n=r.rotation||{};this.viewInitial={fitbounds:e.fitbounds,"projection.scale":r.scale};var i;e._isScoped?i={"center.lon":t.lon,"center.lat":t.lat}:e._isClipped?i={"projection.rotation.lon":n.lon,"projection.rotation.lat":n.lat}:i={"center.lon":t.lon,"center.lat":t.lat,"projection.rotation.lon":n.lon},z_.extendFlat(this.viewInitial,i)};_h.render=function(e){this._hasMarkerAngles&&e?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()};_h._render=function(){var e=this.projection,t=e.getPath(),r;function n(a){var o=e(a.lonlat);return o?o2t(o[0],o[1]):null}function i(a){return e.isLonLatOverEdges(a.lonlat)?"none":null}for(r in this.basePaths)this.basePaths[r].attr("d",t);for(r in this.dataPaths)this.dataPaths[r].attr("d",function(a){return t(a.geojson)});for(r in this.dataPoints)this.dataPoints[r].attr("display",i).attr("transform",n)};function d2t(e){var t=e.projection,r=t.type,n=vu.projNames[r];n="geo"+z_.titleCase(n);for(var i=F9[n]||i2t[n],a=i(),o=e._isSatellite?Math.acos(1/t.distance)*180/Math.PI:e._isClipped?vu.lonaxisSpan[r]/2:null,s=["center","rotate","parallels","clipExtent"],l=function(c){return c?a:[]},u=0;u<s.length;u++){var f=s[u];typeof a[f]!="function"&&(a[f]=l)}return a.isLonLatOverEdges=function(c){if(a(c)===null)return!0;if(o){var h=a.rotate(),d=n2t(c,[-h[0],-h[1]]),v=o*Math.PI/180;return d>v}else return!1},a.getPath=function(){return r2t().projection(a)},a.getBounds=function(c){return a.getPath().bounds(c)},a.precision(vu.precision),e._isSatellite&&a.tilt(t.tilt).distance(t.distance),o&&a.clipAngle(o-vu.clipPad),a}function p2t(e,t,r){var n=1e-6,i=2.5,a=t[e],o=vu.scopeDefaults[t.scope],s,l,u;e==="lonaxis"?(s=o.lonaxisRange,l=o.lataxisRange,u=function(_,T){return[_,T]}):e==="lataxis"&&(s=o.lataxisRange,l=o.lonaxisRange,u=function(_,T){return[T,_]});var f={type:"linear",range:[s[0],s[1]-n],tick0:a.tick0,dtick:a.dtick};q9.setConvert(f,r);var c=q9.calcTicks(f);!t.isScoped&&e==="lonaxis"&&c.pop();for(var h=c.length,d=new Array(h),v=0;v<h;v++)for(var m=c[v].x,b=d[v]=[],g=l[0];g<l[1]+i;g+=i)b.push(u(m,g));return{type:"MultiLineString",coordinates:d}}function B_e(e,t){var r=vu.clipPad,n=e[0]+r,i=e[1]-r,a=t[0]+r,o=t[1]-r;n>0&&i<0&&(i+=360);var s=(i-n)/4;return{type:"Polygon",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}});var z9=J((QBt,W_e)=>{"use strict";var Lx=Ho(),g2t=Wa().attributes,m2t=Ss().dash,Ex=R_(),y2t=La().overrideAll,Y_e=Vb(),G_e={range:{valType:"info_array",items:[{valType:"number"},{valType:"number"}],description:["Sets the range of this axis (in degrees),","sets the map's clipped coordinates."].join(" ")},showgrid:{valType:"boolean",dflt:!1,description:"Sets whether or not graticule are shown on the map."},tick0:{valType:"number",dflt:0,description:["Sets the graticule's starting tick longitude/latitude."].join(" ")},dtick:{valType:"number",description:["Sets the graticule's longitude/latitude tick step."].join(" ")},gridcolor:{valType:"color",dflt:Lx.lightLine,description:["Sets the graticule's stroke color."].join(" ")},gridwidth:{valType:"number",min:0,dflt:1,description:["Sets the graticule's stroke width (in px)."].join(" ")},griddash:m2t},x2t=W_e.exports=y2t({domain:g2t({name:"geo"},{description:["Note that geo subplots are constrained by domain.","In general, when `projection.scale` is set to 1.","a map will fit either its x or y domain, but not both."].join(" ")}),fitbounds:{valType:"enumerated",values:[!1,"locations","geojson"],dflt:!1,editType:"plot",description:["Determines if this subplot's view settings are auto-computed to fit trace data.","On scoped maps, setting `fitbounds` leads to `center.lon` and `center.lat` getting auto-filled.","On maps with a non-clipped projection, setting `fitbounds` leads to `center.lon`, `center.lat`,","and `projection.rotation.lon` getting auto-filled.","On maps with a clipped projection, setting `fitbounds` leads to `center.lon`, `center.lat`,","`projection.rotation.lon`, `projection.rotation.lat`, `lonaxis.range` and `lonaxis.range`","getting auto-filled.","If *locations*, only the trace's visible locations are considered in the `fitbounds` computations.","If *geojson*, the entire trace input `geojson` (if provided) is considered in the `fitbounds` computations,","Defaults to *false*."].join(" ")},resolution:{valType:"enumerated",values:[110,50],dflt:110,coerceNumber:!0,description:["Sets the resolution of the base layers.","The values have units of km/mm","e.g. 110 corresponds to a scale ratio of 1:110,000,000."].join(" ")},scope:{valType:"enumerated",values:Y_e(Ex.scopeDefaults),dflt:"world",description:"Set the scope of the map."},projection:{type:{valType:"enumerated",values:Y_e(Ex.projNames),description:"Sets the projection type."},rotation:{lon:{valType:"number",description:["Rotates the map along parallels","(in degrees East).","Defaults to the center of the `lonaxis.range` values."].join(" ")},lat:{valType:"number",description:["Rotates the map along meridians","(in degrees North)."].join(" ")},roll:{valType:"number",description:["Roll the map (in degrees)","For example, a roll of *180* makes the map appear upside down."].join(" ")}},tilt:{valType:"number",dflt:0,description:["For satellite projection type only.","Sets the tilt angle of perspective projection."].join(" ")},distance:{valType:"number",min:1.001,dflt:2,description:["For satellite projection type only.","Sets the distance from the center of the sphere to the point of view","as a proportion of the sphere\u2019s radius."].join(" ")},parallels:{valType:"info_array",items:[{valType:"number"},{valType:"number"}],description:["For conic projection types only.","Sets the parallels (tangent, secant)","where the cone intersects the sphere."].join(" ")},scale:{valType:"number",min:0,dflt:1,description:["Zooms in or out on the map view.","A scale of *1* corresponds to the largest zoom level","that fits the map's lon and lat ranges. "].join(" ")}},center:{lon:{valType:"number",description:["Sets the longitude of the map's center.","By default, the map's longitude center lies at the middle of the longitude range","for scoped projection and above `projection.rotation.lon` otherwise."].join(" ")},lat:{valType:"number",description:["Sets the latitude of the map's center.","For all projection types, the map's latitude center lies","at the middle of the latitude range by default."].join(" ")}},visible:{valType:"boolean",dflt:!0,description:"Sets the default visibility of the base layers."},showcoastlines:{valType:"boolean",description:"Sets whether or not the coastlines are drawn."},coastlinecolor:{valType:"color",dflt:Lx.defaultLine,description:"Sets the coastline color."},coastlinewidth:{valType:"number",min:0,dflt:1,description:"Sets the coastline stroke width (in px)."},showland:{valType:"boolean",dflt:!1,description:"Sets whether or not land masses are filled in color."},landcolor:{valType:"color",dflt:Ex.landColor,description:"Sets the land mass color."},showocean:{valType:"boolean",dflt:!1,description:"Sets whether or not oceans are filled in color."},oceancolor:{valType:"color",dflt:Ex.waterColor,description:"Sets the ocean color"},showlakes:{valType:"boolean",dflt:!1,description:"Sets whether or not lakes are drawn."},lakecolor:{valType:"color",dflt:Ex.waterColor,description:"Sets the color of the lakes."},showrivers:{valType:"boolean",dflt:!1,description:"Sets whether or not rivers are drawn."},rivercolor:{valType:"color",dflt:Ex.waterColor,description:"Sets color of the rivers."},riverwidth:{valType:"number",min:0,dflt:1,description:"Sets the stroke width (in px) of the rivers."},showcountries:{valType:"boolean",description:"Sets whether or not country boundaries are drawn."},countrycolor:{valType:"color",dflt:Lx.defaultLine,description:"Sets line color of the country boundaries."},countrywidth:{valType:"number",min:0,dflt:1,description:"Sets line width (in px) of the country boundaries."},showsubunits:{valType:"boolean",description:["Sets whether or not boundaries of subunits within countries","(e.g. states, provinces) are drawn."].join(" ")},subunitcolor:{valType:"color",dflt:Lx.defaultLine,description:"Sets the color of the subunits boundaries."},subunitwidth:{valType:"number",min:0,dflt:1,description:"Sets the stroke width (in px) of the subunits boundaries."},showframe:{valType:"boolean",description:"Sets whether or not a frame is drawn around the map."},framecolor:{valType:"color",dflt:Lx.defaultLine,description:"Sets the color the frame."},framewidth:{valType:"number",min:0,dflt:1,description:"Sets the stroke width (in px) of the frame."},bgcolor:{valType:"color",dflt:Lx.background,description:"Set the background color of the map"},lonaxis:G_e,lataxis:G_e},"plot","from-root");x2t.uirevision={valType:"any",editType:"none",description:["Controls persistence of user-driven changes in the view","(projection and center). Defaults to `layout.uirevision`."].join(" ")}});var J_e=J((eUt,Z_e)=>{"use strict";var Z5=gt(),b2t=Kw(),w2t=Nu().getSubplotData,J5=R_(),_2t=z9(),X_e=J5.axesNames;Z_e.exports=function(t,r,n){b2t(t,r,n,{type:"geo",attributes:_2t,handleDefaults:T2t,fullData:n,partition:"y"})};function T2t(e,t,r,n){var i=w2t(n.fullData,"geo",n.id),a=i.map(function(U){return U._expandedIndex}),o=r("resolution"),s=r("scope"),l=J5.scopeDefaults[s],u=r("projection.type",l.projType),f=t._isAlbersUsa=u==="albers usa";f&&(s=t.scope="usa");var c=t._isScoped=s!=="world",h=t._isSatellite=u==="satellite",d=t._isConic=u.indexOf("conic")!==-1||u==="albers",v=t._isClipped=!!J5.lonaxisSpan[u];if(e.visible===!1){var m=Z5.extendDeep({},t._template);m.showcoastlines=!1,m.showcountries=!1,m.showframe=!1,m.showlakes=!1,m.showland=!1,m.showocean=!1,m.showrivers=!1,m.showsubunits=!1,m.lonaxis&&(m.lonaxis.showgrid=!1),m.lataxis&&(m.lataxis.showgrid=!1),t._template=m}for(var b=r("visible"),g,_=0;_<X_e.length;_++){var T=X_e[_],w=[30,10][_],k;if(c)k=l[T+"Range"];else{var x=J5[T+"Span"],M=(x[u]||x["*"])/2,A=r("projection.rotation."+T.substr(0,3),l.projRotate[_]);k=[A-M,A+M]}var p=r(T+".range",k);r(T+".tick0"),r(T+".dtick",w),g=r(T+".showgrid",b?void 0:!1),g&&(r(T+".gridcolor"),r(T+".gridwidth"),r(T+".griddash")),t[T]._ax={type:"linear",_id:T.slice(0,3),_traceIndices:a,setScale:Z5.identity,c2l:Z5.identity,r2l:Z5.identity,autorange:!0,range:p.slice(),_m:1,_input:{}}}var S=t.lonaxis.range,y=t.lataxis.range,E=S[0],C=S[1];E>0&&C<0&&(C+=360);var L=(E+C)/2,R;if(!f){var I=c?l.projRotate:[L,0,0];R=r("projection.rotation.lon",I[0]),r("projection.rotation.lat",I[1]),r("projection.rotation.roll",I[2]),g=r("showcoastlines",!c&&b),g&&(r("coastlinecolor"),r("coastlinewidth")),g=r("showocean",b?void 0:!1),g&&r("oceancolor")}var P,D;if(f?(P=-96.6,D=38.7):(P=c?L:R,D=(y[0]+y[1])/2),r("center.lon",P),r("center.lat",D),h&&(r("projection.tilt"),r("projection.distance")),d){var q=l.projParallels||[0,60];r("projection.parallels",q)}r("projection.scale"),g=r("showland",b?void 0:!1),g&&r("landcolor"),g=r("showlakes",b?void 0:!1),g&&r("lakecolor"),g=r("showrivers",b?void 0:!1),g&&(r("rivercolor"),r("riverwidth")),g=r("showcountries",c&&s!=="usa"&&b),g&&(r("countrycolor"),r("countrywidth")),(s==="usa"||s==="north america"&&o===50)&&(r("showsubunits",b),r("subunitcolor"),r("subunitwidth")),c||(g=r("showframe",b),g&&(r("framecolor"),r("framewidth"))),r("bgcolor");var N=r("fitbounds");N&&(delete t.projection.scale,c?(delete t.center.lon,delete t.center.lat):v?(delete t.center.lon,delete t.center.lat,delete t.projection.rotation.lon,delete t.projection.rotation.lat,delete t.lonaxis.range,delete t.lataxis.range):(delete t.center.lon,delete t.center.lat,delete t.projection.rotation.lon))}});var N9=J((tUt,Q_e)=>{"use strict";var A2t=Nu().getSubplotCalcData,M2t=gt().counterRegex,k2t=V_e(),gv="geo",$_e=M2t(gv),K_e={};K_e[gv]={valType:"subplotid",dflt:gv,editType:"calc",description:["Sets a reference between this trace's geospatial coordinates and","a geographic map.","If *geo* (the default value), the geospatial coordinates refer to","`layout.geo`.","If *geo2*, the geospatial coordinates refer to `layout.geo2`,","and so on."].join(" ")};function S2t(e){for(var t=e._fullLayout,r=e.calcdata,n=t._subplots[gv],i=0;i<n.length;i++){var a=n[i],o=A2t(r,gv,a),s=t[a],l=s._subplot;l||(l=k2t({id:a,graphDiv:e,container:t._geolayer.node(),topojsonURL:e._context.topojsonURL,staticPlot:e._context.staticPlot}),t[a]._subplot=l),l.plot(o,t,e._promises)}}function C2t(e,t,r,n){for(var i=n._subplots[gv]||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;!t[o]&&s&&(s.framework.remove(),s.clipDef.remove())}}function E2t(e){for(var t=e._fullLayout,r=t._subplots[gv],n=0;n<r.length;n++){var i=t[r[n]],a=i._subplot;a.updateFx(t,i)}}Q_e.exports={attr:gv,name:gv,idRoot:gv,idRegex:$_e,attrRegex:$_e,attributes:K_e,layoutAttributes:z9(),supplyLayoutDefaults:J_e(),plot:S2t,updateFx:E2t,clean:C2t}});var t3e=J((rUt,e3e)=>{"use strict";e3e.exports={attributes:D_(),supplyDefaults:Fwe(),colorbar:pc(),formatLabels:Owe(),calc:Vwe(),calcGeoJSON:k9().calcGeoJSON,plot:k9().plot,style:_9(),styleOnSelect:Ef().styleOnSelect,hoverPoints:T_e(),eventData:M_e(),selectPoints:C_e(),moduleType:"trace",name:"scattergeo",basePlotModule:N9(),categories:["geo","symbols","showLegend","scatter-like"],meta:{hrName:"scatter_geo",description:["The data visualized as scatter point or lines on a geographic map","is provided either by longitude/latitude pairs in `lon` and `lat`","respectively or by geographic location IDs or names in `locations`."].join(" ")}}});var n3e=J((nUt,r3e)=>{"use strict";r3e.exports=t3e()});var $5=J((iUt,o3e)=>{"use strict";var L2t=Jn().hovertemplateAttrs,tp=D_(),D2t=Da(),i3e=Qi(),R2t=Ho().defaultLine,ep=cn().extendFlat,a3e=tp.marker.line;o3e.exports=ep({locations:{valType:"data_array",editType:"calc",description:["Sets the coordinates via location IDs or names.","See `locationmode` for more info."].join(" ")},locationmode:tp.locationmode,z:{valType:"data_array",editType:"calc",description:"Sets the color values."},geojson:ep({},tp.geojson,{description:["Sets optional GeoJSON data associated with this trace.","If not given, the features on the base map are used.","It can be set as a valid GeoJSON object or as a URL string.","Note that we only accept GeoJSONs of type *FeatureCollection* or *Feature*","with geometries of type *Polygon* or *MultiPolygon*."].join(" ")}),featureidkey:tp.featureidkey,text:ep({},tp.text,{description:"Sets the text elements associated with each location."}),hovertext:ep({},tp.hovertext,{description:"Same as `text`."}),marker:{line:{color:ep({},a3e.color,{dflt:R2t}),width:ep({},a3e.width,{dflt:1}),editType:"calc"},opacity:{valType:"number",arrayOk:!0,min:0,max:1,dflt:1,editType:"style",description:"Sets the opacity of the locations."},editType:"calc"},selected:{marker:{opacity:tp.selected.marker.opacity,editType:"plot"},editType:"plot"},unselected:{marker:{opacity:tp.unselected.marker.opacity,editType:"plot"},editType:"plot"},hoverinfo:ep({},i3e.hoverinfo,{editType:"calc",flags:["location","z","text","name"]}),hovertemplate:L2t(),showlegend:ep({},i3e.showlegend,{dflt:!1})},D2t("",{cLetter:"z",editTypeOverride:"calc"}))});var l3e=J((aUt,s3e)=>{"use strict";var K5=gt(),P2t=vl(),I2t=$5();s3e.exports=function(t,r,n,i){function a(h,d){return K5.coerce(t,r,I2t,h,d)}var o=a("locations"),s=a("z");if(!(o&&o.length&&K5.isArrayOrTypedArray(s)&&s.length)){r.visible=!1;return}r._length=Math.min(o.length,s.length);var l=a("geojson"),u;(typeof l=="string"&&l!==""||K5.isPlainObject(l))&&(u="geojson-id");var f=a("locationmode",u);f==="geojson-id"&&a("featureidkey"),a("text"),a("hovertext"),a("hovertemplate");var c=a("marker.line.width");c&&a("marker.line.color"),a("marker.opacity"),P2t(t,r,i,a,{prefix:"",cLetter:"z"}),K5.coerceSelectionMarkerOpacity(r,a)}});var h3e=J((oUt,c3e)=>{"use strict";var u3e=dn(),q2t=oi().BADNUM,F2t=Uu(),z2t=nd(),N2t=oh();function f3e(e){return e&&typeof e=="string"}c3e.exports=function(t,r){var n=r._length,i=new Array(n),a;r.geojson?a=function(f){return f3e(f)||u3e(f)}:a=f3e;for(var o=0;o<n;o++){var s=i[o]={},l=r.locations[o],u=r.z[o];a(l)&&u3e(u)?(s.loc=l,s.z=u):(s.loc=null,s.z=q2t),s.index=o}return z2t(i,r),F2t(t,r,{vals:r.z,containerStr:"",cLetter:"z"}),N2t(i,r),i}});var Q5=J((sUt,d3e)=>{"use strict";var O2t=Nr(),B2t=qr(),O9=ln(),U2t=Qa();function H2t(e,t){t&&v3e(e,t)}function v3e(e,t){var r=t[0].trace,n=t[0].node3,i=n.selectAll(".choroplethlocation"),a=r.marker||{},o=a.line||{},s=U2t.makeColorScaleFuncFromTrace(r);i.each(function(l){O2t.select(this).attr("fill",s(l.z)).call(B2t.stroke,l.mlc||o.color).call(O9.dashLine,"",l.mlw||o.width||0).style("opacity",a.opacity)}),O9.selectedPointStyle(i,r)}function j2t(e,t){var r=t[0].node3,n=t[0].trace;n.selectedpoints?O9.selectedPointStyle(r.selectAll(".choroplethlocation"),n):v3e(e,t)}d3e.exports={style:H2t,styleOnSelect:j2t}});var B9=J((lUt,m3e)=>{"use strict";var V2t=Nr(),p3e=gt(),Dx=U5(),Y2t=q5().getTopojsonFeatures,g3e=ec().findExtremes,G2t=Q5().style;function W2t(e,t,r){var n=t.layers.backplot.select(".choroplethlayer");p3e.makeTraceGroups(n,r,"trace choropleth").each(function(i){var a=V2t.select(this),o=a.selectAll("path.choroplethlocation").data(p3e.identity);o.enter().append("path").classed("choroplethlocation",!0),o.exit().remove(),G2t(e,i)})}function X2t(e,t){for(var r=e[0].trace,n=t[r.geo],i=n._subplot,a=r.locationmode,o=r._length,s=a==="geojson-id"?Dx.extractTraceFeature(e):Y2t(r,i.topojson),l=[],u=[],f=0;f<o;f++){var c=e[f],h=a==="geojson-id"?c.fOut:Dx.locationToFeature(a,c.loc,s);if(h){c.geojson=h,c.ct=h.properties.ct,c._polygons=Dx.feature2polygons(h);var d=Dx.computeBbox(h);l.push(d[0],d[2]),u.push(d[1],d[3])}else c.geojson=null}if(n.fitbounds==="geojson"&&a==="geojson-id"){var v=Dx.computeBbox(Dx.getTraceGeojson(r));l=[v[0],v[2]],u=[v[1],v[3]]}var m={padded:!0};r._extremes.lon=g3e(n.lonaxis._ax,l,m),r._extremes.lat=g3e(n.lataxis._ax,u,m)}m3e.exports={calcGeoJSON:X2t,plot:W2t}});var x3e=J((uUt,y3e)=>{"use strict";var Z2t=nn(),J2t=$5(),$2t=gt().fillText;y3e.exports=function(t,r,n){var i=t.cd,a=i[0].trace,o=t.subplot,s,l,u,f,c=[r,n],h=[r+360,n];for(l=0;l<i.length;l++)if(s=i[l],f=!1,s._polygons){for(u=0;u<s._polygons.length;u++)s._polygons[u].contains(c)&&(f=!f),s._polygons[u].contains(h)&&(f=!f);if(f)break}if(!(!f||!s))return t.x0=t.x1=t.xa.c2p(s.ct),t.y0=t.y1=t.ya.c2p(s.ct),t.index=s.index,t.location=s.loc,t.z=s.z,t.zLabel=Z2t.tickText(o.mockAxis,o.mockAxis.c2l(s.z),"hover").text,t.hovertemplate=s.hovertemplate,K2t(t,a,s),[t]};function K2t(e,t,r){if(!t.hovertemplate){var n=r.hi||t.hoverinfo,i=String(r.loc),a=n==="all"?J2t.hoverinfo.flags:n.split("+"),o=a.indexOf("name")!==-1,s=a.indexOf("location")!==-1,l=a.indexOf("z")!==-1,u=a.indexOf("text")!==-1,f=!o&&s,c=[];f?e.nameOverride=i:(o&&(e.nameOverride=t.name),s&&c.push(i)),l&&c.push(e.zLabel),u&&$2t(r,t,c),e.extraText=c.join("<br>")}}});var w3e=J((fUt,b3e)=>{"use strict";b3e.exports=function(t,r,n,i,a){t.location=r.location,t.z=r.z;var o=i[a];return o.fIn&&o.fIn.properties&&(t.properties=o.fIn.properties),t.ct=o.ct,t}});var T3e=J((cUt,_3e)=>{"use strict";_3e.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s,l,u,f,c;if(r===!1)for(s=0;s<n.length;s++)n[s].selected=0;else for(s=0;s<n.length;s++)l=n[s],u=l.ct,u&&(f=i.c2p(u),c=a.c2p(u),r.contains([f,c],null,s,t)?(o.push({pointNumber:s,lon:u[0],lat:u[1]}),l.selected=1):l.selected=0);return o}});var M3e=J((hUt,A3e)=>{"use strict";A3e.exports={attributes:$5(),supplyDefaults:l3e(),colorbar:Nw(),calc:h3e(),calcGeoJSON:B9().calcGeoJSON,plot:B9().plot,style:Q5().style,styleOnSelect:Q5().styleOnSelect,hoverPoints:x3e(),eventData:w3e(),selectPoints:T3e(),moduleType:"trace",name:"choropleth",basePlotModule:N9(),categories:["geo","noOpacity","showLegend"],meta:{description:["The data that describes the choropleth value-to-color mapping","is set in `z`.","The geographic locations corresponding to each value in `z`","are set in `locations`."].join(" ")}}});var S3e=J((vUt,k3e)=>{"use strict";k3e.exports=M3e()});var H9=J((dUt,C3e)=>{"use strict";var U9=ds();C3e.exports={x:U9.x,y:U9.y,xy:{valType:"data_array",editType:"calc",description:["Faster alternative to specifying `x` and `y` separately.","If supplied, it must be a typed `Float32Array` array that","represents points such that `xy[i * 2] = x[i]` and `xy[i * 2 + 1] = y[i]`"].join(" ")},indices:{valType:"data_array",editType:"calc",description:["A sequential value, 0..n, supply it to avoid creating this array inside plotting.","If specified, it must be a typed `Int32Array` array.","Its length must be equal to or greater than the number of points.","For the best performance and memory use, create one large `indices` typed array","that is guaranteed to be at least as long as the largest number of points during","use, and reuse it on each `Plotly.restyle()` call."].join(" ")},xbounds:{valType:"data_array",editType:"calc",description:["Specify `xbounds` in the shape of `[xMin, xMax] to avoid looping through","the `xy` typed array. Use it in conjunction with `xy` and `ybounds` for the performance benefits."].join(" ")},ybounds:{valType:"data_array",editType:"calc",description:["Specify `ybounds` in the shape of `[yMin, yMax] to avoid looping through","the `xy` typed array. Use it in conjunction with `xy` and `xbounds` for the performance benefits."].join(" ")},text:U9.text,marker:{color:{valType:"color",arrayOk:!1,editType:"calc",description:["Sets the marker fill color. It accepts a specific color.","If the color is not fully opaque and there are hundreds of thousands","of points, it may cause slower zooming and panning."].join(" ")},opacity:{valType:"number",min:0,max:1,dflt:1,arrayOk:!1,editType:"calc",description:["Sets the marker opacity. The default value is `1` (fully opaque).","If the markers are not fully opaque and there are hundreds of thousands","of points, it may cause slower zooming and panning.","Opacity fades the color even if `blend` is left on `false` even if there","is no translucency effect in that case."].join(" ")},blend:{valType:"boolean",dflt:null,editType:"calc",description:["Determines if colors are blended together for a translucency effect","in case `opacity` is specified as a value less then `1`.","Setting `blend` to `true` reduces zoom/pan","speed if used with large numbers of points."].join(" ")},sizemin:{valType:"number",min:.1,max:2,dflt:.5,editType:"calc",description:["Sets the minimum size (in px) of the rendered marker points, effective when","the `pointcloud` shows a million or more points."].join(" ")},sizemax:{valType:"number",min:.1,dflt:20,editType:"calc",description:["Sets the maximum size (in px) of the rendered marker points.","Effective when the `pointcloud` shows only few points."].join(" ")},border:{color:{valType:"color",arrayOk:!1,editType:"calc",description:["Sets the stroke color. It accepts a specific color.","If the color is not fully opaque and there are hundreds of thousands","of points, it may cause slower zooming and panning."].join(" ")},arearatio:{valType:"number",min:0,max:1,dflt:0,editType:"calc",description:["Specifies what fraction of the marker area is covered with the","border."].join(" ")},editType:"calc"},editType:"calc"},transforms:void 0}});var L3e=J((pUt,E3e)=>{"use strict";var Q2t=gt(),ewt=H9();E3e.exports=function(t,r,n){function i(a,o){return Q2t.coerce(t,r,ewt,a,o)}i("x"),i("y"),i("xbounds"),i("ybounds"),t.xy&&t.xy instanceof Float32Array&&(r.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(r.indices=t.indices),i("text"),i("marker.color",n),i("marker.opacity"),i("marker.blend"),i("marker.sizemin"),i("marker.sizemax"),i("marker.border.color",n),i("marker.border.arearatio"),r._length=null}});var q3e=J((gUt,I3e)=>{"use strict";var twt=ao().gl_pointcloud2d,rwt=gt().isArrayOrTypedArray,D3e=Ac(),R3e=ec().findExtremes,nwt=rk();function P3e(e,t){this.scene=e,this.uid=t,this.type="pointcloud",this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color="rgb(0, 0, 0)",this.name="",this.hoverinfo="all",this.idToIndex=new Int32Array(0),this.bounds=[0,0,0,0],this.pointcloudOptions={positions:new Float32Array(0),idToIndex:this.idToIndex,sizemin:.5,sizemax:12,color:[0,0,0,1],areaRatio:1,borderColor:[0,0,0,1]},this.pointcloud=twt(e.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var e4=P3e.prototype;e4.handlePick=function(e){var t=this.idToIndex[e.pointId];return{trace:this,dataCoord:e.dataCoord,traceCoord:this.pickXYData?[this.pickXYData[t*2],this.pickXYData[t*2+1]]:[this.pickXData[t],this.pickYData[t]],textLabel:rwt(this.textLabels)?this.textLabels[t]:this.textLabels,color:this.color,name:this.name,pointIndex:t,hoverinfo:this.hoverinfo}};e4.update=function(e){this.index=e.index,this.textLabels=e.text,this.name=e.name,this.hoverinfo=e.hoverinfo,this.bounds=[1/0,1/0,-1/0,-1/0],this.updateFast(e),this.color=nwt(e,{})};e4.updateFast=function(e){var t=this.xData=this.pickXData=e.x,r=this.yData=this.pickYData=e.y,n=this.pickXYData=e.xy,i=e.xbounds&&e.ybounds,a=e.indices,o,s,l,u=this.bounds,f,c,h;if(n){if(l=n,o=n.length>>>1,i)u[0]=e.xbounds[0],u[2]=e.xbounds[1],u[1]=e.ybounds[0],u[3]=e.ybounds[1];else for(h=0;h<o;h++)f=l[h*2],c=l[h*2+1],f<u[0]&&(u[0]=f),f>u[2]&&(u[2]=f),c<u[1]&&(u[1]=c),c>u[3]&&(u[3]=c);if(a)s=a;else for(s=new Int32Array(o),h=0;h<o;h++)s[h]=h}else for(o=t.length,l=new Float32Array(2*o),s=new Int32Array(o),h=0;h<o;h++)f=t[h],c=r[h],s[h]=h,l[h*2]=f,l[h*2+1]=c,f<u[0]&&(u[0]=f),f>u[2]&&(u[2]=f),c<u[1]&&(u[1]=c),c>u[3]&&(u[3]=c);this.idToIndex=s,this.pointcloudOptions.idToIndex=s,this.pointcloudOptions.positions=l;var d=D3e(e.marker.color),v=D3e(e.marker.border.color),m=e.opacity*e.marker.opacity;d[3]*=m,this.pointcloudOptions.color=d;var b=e.marker.blend;if(b===null){var g=100;b=t.length<g||r.length<g}this.pointcloudOptions.blend=b,v[3]*=m,this.pointcloudOptions.borderColor=v;var _=e.marker.sizemin,T=Math.max(e.marker.sizemax,e.marker.sizemin);this.pointcloudOptions.sizeMin=_,this.pointcloudOptions.sizeMax=T,this.pointcloudOptions.areaRatio=e.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions);var w=this.scene.xaxis,k=this.scene.yaxis,x=T/2||.5;e._extremes[w._id]=R3e(w,[u[0],u[2]],{ppad:x}),e._extremes[k._id]=R3e(k,[u[1],u[3]],{ppad:x})};e4.dispose=function(){this.pointcloud.dispose()};function iwt(e,t){var r=new P3e(e,t.uid);return r.update(t),r}I3e.exports=iwt});var N3e=J((mUt,z3e)=>{"use strict";var awt=nn(),hm=Ac();function F3e(e){this.scene=e,this.gl=e.gl,this.pixelRatio=e.pixelRatio,this.screenBox=[0,0,1,1],this.viewBox=[0,0,1,1],this.dataBox=[-1,-1,1,1],this.borderLineEnable=[!1,!1,!1,!1],this.borderLineWidth=[1,1,1,1],this.borderLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.ticks=[[],[]],this.tickEnable=[!0,!0,!1,!1],this.tickPad=[15,15,15,15],this.tickAngle=[0,0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickMarkLength=[0,0,0,0],this.tickMarkWidth=[0,0,0,0],this.tickMarkColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labels=["x","y"],this.labelEnable=[!0,!0,!1,!1],this.labelAngle=[0,Math.PI/2,0,3*Math.PI/2],this.labelPad=[15,15,15,15],this.labelSize=[12,12],this.labelFont=["sans-serif","sans-serif"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.title="",this.titleEnable=!0,this.titleCenter=[0,0,0,0],this.titleAngle=0,this.titleColor=[0,0,0,1],this.titleFont="sans-serif",this.titleSize=18,this.gridLineEnable=[!0,!0],this.gridLineColor=[[0,0,0,.5],[0,0,0,.5]],this.gridLineWidth=[1,1],this.zeroLineEnable=[!0,!0],this.zeroLineWidth=[1,1],this.zeroLineColor=[[0,0,0,1],[0,0,0,1]],this.borderColor=[0,0,0,0],this.backgroundColor=[0,0,0,0],this.static=this.scene.staticPlot}var vm=F3e.prototype,owt=["xaxis","yaxis"];vm.merge=function(e){this.titleEnable=!1,this.backgroundColor=hm(e.plot_bgcolor);var t,r,n,i,a,o,s,l,u,f,c;for(f=0;f<2;++f){t=owt[f];var h=t.charAt(0);for(r=e[this.scene[t]._name],n=r.title.text===this.scene.fullLayout._dfltTitle[h]?"":r.title.text,c=0;c<=2;c+=2)this.labelEnable[f+c]=!1,this.labels[f+c]=n,this.labelColor[f+c]=hm(r.title.font.color),this.labelFont[f+c]=r.title.font.family,this.labelSize[f+c]=r.title.font.size,this.labelPad[f+c]=this.getLabelPad(t,r),this.tickEnable[f+c]=!1,this.tickColor[f+c]=hm((r.tickfont||{}).color),this.tickAngle[f+c]=r.tickangle==="auto"?0:Math.PI*-r.tickangle/180,this.tickPad[f+c]=this.getTickPad(r),this.tickMarkLength[f+c]=0,this.tickMarkWidth[f+c]=r.tickwidth||0,this.tickMarkColor[f+c]=hm(r.tickcolor),this.borderLineEnable[f+c]=!1,this.borderLineColor[f+c]=hm(r.linecolor),this.borderLineWidth[f+c]=r.linewidth||0;s=this.hasSharedAxis(r),a=this.hasAxisInDfltPos(t,r)&&!s,o=this.hasAxisInAltrPos(t,r)&&!s,i=r.mirror||!1,l=s?String(i).indexOf("all")!==-1:!!i,u=s?i==="allticks":String(i).indexOf("ticks")!==-1,a?this.labelEnable[f]=!0:o&&(this.labelEnable[f+2]=!0),a?this.tickEnable[f]=r.showticklabels:o&&(this.tickEnable[f+2]=r.showticklabels),(a||l)&&(this.borderLineEnable[f]=r.showline),(o||l)&&(this.borderLineEnable[f+2]=r.showline),(a||u)&&(this.tickMarkLength[f]=this.getTickMarkLength(r)),(o||u)&&(this.tickMarkLength[f+2]=this.getTickMarkLength(r)),this.gridLineEnable[f]=r.showgrid,this.gridLineColor[f]=hm(r.gridcolor),this.gridLineWidth[f]=r.gridwidth,this.zeroLineEnable[f]=r.zeroline,this.zeroLineColor[f]=hm(r.zerolinecolor),this.zeroLineWidth[f]=r.zerolinewidth}};vm.hasSharedAxis=function(e){var t=this.scene,r=t.fullLayout._subplots.gl2d,n=awt.findSubplotsWithAxis(r,e);return n.indexOf(t.id)!==0};vm.hasAxisInDfltPos=function(e,t){var r=t.side;if(e==="xaxis")return r==="bottom";if(e==="yaxis")return r==="left"};vm.hasAxisInAltrPos=function(e,t){var r=t.side;if(e==="xaxis")return r==="top";if(e==="yaxis")return r==="right"};vm.getLabelPad=function(e,t){var r=1.5,n=t.title.font.size,i=t.showticklabels;if(e==="xaxis")return t.side==="top"?-10+n*(r+(i?1:0)):-10+n*(r+(i?.5:0));if(e==="yaxis")return t.side==="right"?10+n*(r+(i?1:.5)):10+n*(r+(i?.5:0))};vm.getTickPad=function(e){return e.ticks==="outside"?10+e.ticklen:15};vm.getTickMarkLength=function(e){if(!e.ticks)return 0;var t=e.ticklen;return e.ticks==="inside"?-t:t};function swt(e){return new F3e(e)}z3e.exports=swt});var O3e=J(N_=>{"use strict";function lwt(e){if(typeof e=="object"){if("buttons"in e)return e.buttons;if("which"in e){var t=e.which;if(t===2)return 4;if(t===3)return 2;if(t>0)return 1<<t-1}else if("button"in e){var t=e.button;if(t===1)return 4;if(t===2)return 2;if(t>=0)return 1<<t}}return 0}N_.buttons=lwt;function j9(e){return e.target||e.srcElement||window}N_.element=j9;function uwt(e){if(typeof e=="object"){if("offsetX"in e)return e.offsetX;var t=j9(e),r=t.getBoundingClientRect();return e.clientX-r.left}return 0}N_.x=uwt;function fwt(e){if(typeof e=="object"){if("offsetY"in e)return e.offsetY;var t=j9(e),r=t.getBoundingClientRect();return e.clientY-r.top}return 0}N_.y=fwt});var U3e=J((xUt,B3e)=>{"use strict";B3e.exports=cwt;var O_=O3e();function cwt(e,t){t||(t=e,e=window);var r=0,n=0,i=0,a={shift:!1,alt:!1,control:!1,meta:!1},o=!1;function s(_){var T=!1;return"altKey"in _&&(T=T||_.altKey!==a.alt,a.alt=!!_.altKey),"shiftKey"in _&&(T=T||_.shiftKey!==a.shift,a.shift=!!_.shiftKey),"ctrlKey"in _&&(T=T||_.ctrlKey!==a.control,a.control=!!_.ctrlKey),"metaKey"in _&&(T=T||_.metaKey!==a.meta,a.meta=!!_.metaKey),T}function l(_,T){var w=O_.x(T),k=O_.y(T);"buttons"in T&&(_=T.buttons|0),(_!==r||w!==n||k!==i||s(T))&&(r=_|0,n=w||0,i=k||0,t&&t(r,n,i,a))}function u(_){l(0,_)}function f(){(r||n||i||a.shift||a.alt||a.meta||a.control)&&(n=i=0,r=0,a.shift=a.alt=a.control=a.meta=!1,t&&t(0,0,0,a))}function c(_){s(_)&&t&&t(r,n,i,a)}function h(_){O_.buttons(_)===0?l(0,_):l(r,_)}function d(_){l(r|O_.buttons(_),_)}function v(_){l(r&~O_.buttons(_),_)}function m(){o||(o=!0,e.addEventListener("mousemove",h),e.addEventListener("mousedown",d),e.addEventListener("mouseup",v),e.addEventListener("mouseleave",u),e.addEventListener("mouseenter",u),e.addEventListener("mouseout",u),e.addEventListener("mouseover",u),e.addEventListener("blur",f),e.addEventListener("keyup",c),e.addEventListener("keydown",c),e.addEventListener("keypress",c),e!==window&&(window.addEventListener("blur",f),window.addEventListener("keyup",c),window.addEventListener("keydown",c),window.addEventListener("keypress",c)))}function b(){o&&(o=!1,e.removeEventListener("mousemove",h),e.removeEventListener("mousedown",d),e.removeEventListener("mouseup",v),e.removeEventListener("mouseleave",u),e.removeEventListener("mouseenter",u),e.removeEventListener("mouseout",u),e.removeEventListener("mouseover",u),e.removeEventListener("blur",f),e.removeEventListener("keyup",c),e.removeEventListener("keydown",c),e.removeEventListener("keypress",c),e!==window&&(window.removeEventListener("blur",f),window.removeEventListener("keyup",c),window.removeEventListener("keydown",c),window.removeEventListener("keypress",c)))}m();var g={element:e};return Object.defineProperties(g,{enabled:{get:function(){return o},set:function(_){_?m():b()},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return n},enumerable:!0},y:{get:function(){return i},enumerable:!0},mods:{get:function(){return a},enumerable:!0}}),g}});var j3e=J((bUt,H3e)=>{H3e.exports=function(t,r){r||(r=[0,""]),t=String(t);var n=parseFloat(t,10);return r[0]=n,r[1]=t.match(/[\d.\-\+]*\s*(.*)/)[1]||"",r}});var G3e=J((wUt,Y3e)=>{"use strict";var hwt=j3e();Y3e.exports=V3e;var B_=96;function V9(e,t){var r=hwt(getComputedStyle(e).getPropertyValue(t));return r[0]*V3e(r[1],e)}function vwt(e,t){var r=document.createElement("div");r.style["font-size"]="128"+e,t.appendChild(r);var n=V9(r,"font-size")/128;return t.removeChild(r),n}function V3e(e,t){switch(t=t||document.body,e=(e||"px").trim().toLowerCase(),(t===window||t===document)&&(t=document.body),e){case"%":return t.clientHeight/100;case"ch":case"ex":return vwt(e,t);case"em":return V9(t,"font-size");case"rem":return V9(document.body,"font-size");case"vw":return window.innerWidth/100;case"vh":return window.innerHeight/100;case"vmin":return Math.min(window.innerWidth,window.innerHeight)/100;case"vmax":return Math.max(window.innerWidth,window.innerHeight)/100;case"in":return B_;case"cm":return B_/2.54;case"mm":return B_/25.4;case"pt":return B_/72;case"pc":return B_/6}return 1}});var X3e=J((_Ut,W3e)=>{"use strict";var dwt=G3e();W3e.exports=pwt;function pwt(e,t,r){typeof e=="function"&&(r=!!t,t=e,e=window);var n=dwt("ex",e),i=function(a){r&&a.preventDefault();var o=a.deltaX||0,s=a.deltaY||0,l=a.deltaZ||0,u=a.deltaMode,f=1;switch(u){case 1:f=n;break;case 2:f=window.innerHeight;break}if(o*=f,s*=f,l*=f,o||s||l)return t(o,s,l,a)};return e.addEventListener("wheel",i),i}});var K3e=J((TUt,$3e)=>{"use strict";var gwt=U3e(),mwt=X3e(),Z3e=vD(),J3e=Eo(),Y9=d2();$3e.exports=xwt;function ywt(e,t){this.element=e,this.plot=t,this.mouseListener=null,this.wheelListener=null,this.lastInputTime=Date.now(),this.lastPos=[0,0],this.boxEnabled=!1,this.boxInited=!1,this.boxStart=[0,0],this.boxEnd=[0,0],this.dragStart=[0,0]}function xwt(e){var t=e.mouseContainer,r=e.glplot,n=new ywt(t,r);function i(){e.xaxis.autorange=!1,e.yaxis.autorange=!1}function a(){for(var s=e.graphDiv._fullLayout._axisConstraintGroups,l=e.xaxis._id,u=e.yaxis._id,f=0;f<s.length;f++)if(s[f][l]!==-1){if(s[f][u]!==-1)return!0;break}return!1}n.mouseListener=gwt(t,o),t.addEventListener("touchstart",function(s){var l=Z3e(s.changedTouches[0],t);o(0,l[0],l[1]),o(1,l[0],l[1]),s.preventDefault()},Y9?{passive:!1}:!1),t.addEventListener("touchmove",function(s){s.preventDefault();var l=Z3e(s.changedTouches[0],t);o(1,l[0],l[1]),s.preventDefault()},Y9?{passive:!1}:!1),t.addEventListener("touchend",function(s){o(0,n.lastPos[0],n.lastPos[1]),s.preventDefault()},Y9?{passive:!1}:!1);function o(s,l,u){var f=e.calcDataBox(),c=r.viewBox,h=n.lastPos[0],d=n.lastPos[1],v=J3e.MINDRAG*r.pixelRatio,m=J3e.MINZOOM*r.pixelRatio,b,g;l*=r.pixelRatio,u*=r.pixelRatio,u=c[3]-c[1]-u;function _(A,p,S){var y=Math.min(p,S),E=Math.max(p,S);y!==E?(f[A]=y,f[A+2]=E,n.dataBox=f,e.setRanges(f)):(e.selectBox.selectBox=[0,0,1,1],e.glplot.setDirty())}switch(e.fullLayout.dragmode){case"zoom":if(s){var T=l/(c[2]-c[0])*(f[2]-f[0])+f[0],w=u/(c[3]-c[1])*(f[3]-f[1])+f[1];n.boxInited||(n.boxStart[0]=T,n.boxStart[1]=w,n.dragStart[0]=l,n.dragStart[1]=u),n.boxEnd[0]=T,n.boxEnd[1]=w,n.boxInited=!0,!n.boxEnabled&&(n.boxStart[0]!==n.boxEnd[0]||n.boxStart[1]!==n.boxEnd[1])&&(n.boxEnabled=!0);var k=Math.abs(n.dragStart[0]-l)<m,x=Math.abs(n.dragStart[1]-u)<m;if(a()&&!(k&&x)){b=n.boxEnd[0]-n.boxStart[0],g=n.boxEnd[1]-n.boxStart[1];var M=(f[3]-f[1])/(f[2]-f[0]);Math.abs(b*M)>Math.abs(g)?(n.boxEnd[1]=n.boxStart[1]+Math.abs(b)*M*(g>=0?1:-1),n.boxEnd[1]<f[1]?(n.boxEnd[1]=f[1],n.boxEnd[0]=n.boxStart[0]+(f[1]-n.boxStart[1])/Math.abs(M)):n.boxEnd[1]>f[3]&&(n.boxEnd[1]=f[3],n.boxEnd[0]=n.boxStart[0]+(f[3]-n.boxStart[1])/Math.abs(M))):(n.boxEnd[0]=n.boxStart[0]+Math.abs(g)/M*(b>=0?1:-1),n.boxEnd[0]<f[0]?(n.boxEnd[0]=f[0],n.boxEnd[1]=n.boxStart[1]+(f[0]-n.boxStart[0])*Math.abs(M)):n.boxEnd[0]>f[2]&&(n.boxEnd[0]=f[2],n.boxEnd[1]=n.boxStart[1]+(f[2]-n.boxStart[0])*Math.abs(M)))}else k&&(n.boxEnd[0]=n.boxStart[0]),x&&(n.boxEnd[1]=n.boxStart[1])}else n.boxEnabled?(b=n.boxStart[0]!==n.boxEnd[0],g=n.boxStart[1]!==n.boxEnd[1],b||g?(b&&(_(0,n.boxStart[0],n.boxEnd[0]),e.xaxis.autorange=!1),g&&(_(1,n.boxStart[1],n.boxEnd[1]),e.yaxis.autorange=!1),e.relayoutCallback()):e.glplot.setDirty(),n.boxEnabled=!1,n.boxInited=!1):n.boxInited&&(n.boxInited=!1);break;case"pan":n.boxEnabled=!1,n.boxInited=!1,s?(n.panning||(n.dragStart[0]=l,n.dragStart[1]=u),Math.abs(n.dragStart[0]-l)<v&&(l=n.dragStart[0]),Math.abs(n.dragStart[1]-u)<v&&(u=n.dragStart[1]),b=(h-l)*(f[2]-f[0])/(r.viewBox[2]-r.viewBox[0]),g=(d-u)*(f[3]-f[1])/(r.viewBox[3]-r.viewBox[1]),f[0]+=b,f[2]+=b,f[1]+=g,f[3]+=g,e.setRanges(f),n.panning=!0,n.lastInputTime=Date.now(),i(),e.cameraChanged(),e.handleAnnotations()):n.panning&&(n.panning=!1,e.relayoutCallback());break}n.lastPos[0]=l,n.lastPos[1]=u}return n.wheelListener=mwt(t,function(s,l){if(!e.scrollZoom)return!1;var u=e.calcDataBox(),f=r.viewBox,c=n.lastPos[0],h=n.lastPos[1],d=Math.exp(5*l/(f[3]-f[1])),v=c/(f[2]-f[0])*(u[2]-u[0])+u[0],m=h/(f[3]-f[1])*(u[3]-u[1])+u[1];return u[0]=(u[0]-v)*d+v,u[2]=(u[2]-v)*d+v,u[1]=(u[1]-m)*d+m,u[3]=(u[3]-m)*d+m,e.setRanges(u),n.lastInputTime=Date.now(),i(),e.cameraChanged(),e.handleAnnotations(),e.relayoutCallback(),!0},!0),n}});var oTe=J((AUt,aTe)=>{"use strict";var tTe=zr(),G9=nn(),Th=go(),bwt=ao().gl_plot2d,wwt=ao().gl_spikes2d,_wt=ao().gl_select_box,Q3e=x7(),Twt=N3e(),Awt=K3e(),Mwt=b7(),rTe=_0(),kwt=rTe.enforce,eTe=rTe.clean,Swt=ec().doAutoRange,nTe=y0(),Cwt=nTe.drawMode,Ewt=nTe.selectMode,Lwt=["xaxis","yaxis"],U_,t4,Dwt=Eo().SUBPLOT_PATTERN;function iTe(e,t){this.container=e.container,this.graphDiv=e.graphDiv,this.pixelRatio=e.plotGlPixelRatio||window.devicePixelRatio,this.id=e.id,this.staticPlot=!!e.staticPlot,this.scrollZoom=this.graphDiv._context._scrollZoom.cartesian,this.fullData=null,this.updateRefs(t),this.makeFramework(),!this.stopped&&(this.glplotOptions=Twt(this),this.glplotOptions.merge(t),this.glplot=bwt(this.glplotOptions),this.camera=Awt(this),this.traces={},this.spikes=wwt(this.glplot),this.selectBox=_wt(this.glplot,{innerFill:!1,outerFill:!0}),this.lastButtonState=0,this.pickResult=null,this.isMouseOver=!0,this.stopped=!1,this.redraw=this.draw.bind(this),this.redraw())}aTe.exports=iTe;var Ks=iTe.prototype;Ks.makeFramework=function(){if(this.staticPlot){if(!t4&&(U_=document.createElement("canvas"),t4=Q3e({canvas:U_,preserveDrawingBuffer:!1,premultipliedAlpha:!0,antialias:!0}),!t4))throw new Error("Error creating static canvas/context for image server");this.canvas=U_,this.gl=t4}else{var e=this.container.querySelector(".gl-canvas-focus"),t=Q3e({canvas:e,preserveDrawingBuffer:!0,premultipliedAlpha:!0});if(!t){Mwt(this),this.stopped=!0;return}this.canvas=e,this.gl=t}var r=this.canvas;r.style.width="100%",r.style.height="100%",r.style.position="absolute",r.style.top="0px",r.style.left="0px",r.style["pointer-events"]="none",this.updateSize(r);var n=this.svgContainer=document.createElementNS("http://www.w3.org/2000/svg","svg");n.style.position="absolute",n.style.top=n.style.left="0px",n.style.width=n.style.height="100%",n.style["z-index"]=20,n.style["pointer-events"]="none";var i=this.mouseContainer=document.createElement("div");i.style.position="absolute",i.style["pointer-events"]="auto",this.pickCanvas=this.container.querySelector(".gl-canvas-pick");var a=this.container;a.appendChild(n),a.appendChild(i);var o=this;i.addEventListener("mouseout",function(){o.isMouseOver=!1,o.unhover()}),i.addEventListener("mouseover",function(){o.isMouseOver=!0})};Ks.toImage=function(e){e||(e="png"),this.stopped=!0,this.staticPlot&&this.container.appendChild(U_),this.updateSize(this.canvas);var t=this.glplot.gl,r=t.drawingBufferWidth,n=t.drawingBufferHeight;t.clearColor(1,1,1,0),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT),this.glplot.setDirty(),this.glplot.draw(),t.bindFramebuffer(t.FRAMEBUFFER,null);var i=new Uint8Array(r*n*4);t.readPixels(0,0,r,n,t.RGBA,t.UNSIGNED_BYTE,i);for(var a=0,o=n-1;a<o;++a,--o)for(var s=0;s<r;++s)for(var l=0;l<4;++l){var u=i[4*(r*a+s)+l];i[4*(r*a+s)+l]=i[4*(r*o+s)+l],i[4*(r*o+s)+l]=u}var f=document.createElement("canvas");f.width=r,f.height=n;var c=f.getContext("2d",{willReadFrequently:!0}),h=c.createImageData(r,n);h.data.set(i),c.putImageData(h,0,0);var d;switch(e){case"jpeg":d=f.toDataURL("image/jpeg");break;case"webp":d=f.toDataURL("image/webp");break;default:d=f.toDataURL("image/png")}return this.staticPlot&&this.container.removeChild(U_),d};Ks.updateSize=function(e){e||(e=this.canvas);var t=this.pixelRatio,r=this.fullLayout,n=r.width,i=r.height,a=Math.ceil(t*n)|0,o=Math.ceil(t*i)|0;return(e.width!==a||e.height!==o)&&(e.width=a,e.height=o),e};Ks.computeTickMarks=function(){this.xaxis.setScale(),this.yaxis.setScale();for(var e=[G9.calcTicks(this.xaxis),G9.calcTicks(this.yaxis)],t=0;t<2;++t)for(var r=0;r<e[t].length;++r)e[t][r].text=e[t][r].text+"";return e};function Rwt(e,t){for(var r=0;r<2;++r){var n=e[r],i=t[r];if(n.length!==i.length)return!0;for(var a=0;a<n.length;++a)if(n[a].x!==i[a].x)return!0}return!1}Ks.updateRefs=function(e){this.fullLayout=e;var t=this.id.match(Dwt),r="xaxis"+t[1],n="yaxis"+t[2];this.xaxis=this.fullLayout[r],this.yaxis=this.fullLayout[n]};Ks.relayoutCallback=function(){var e=this.graphDiv,t=this.xaxis,r=this.yaxis,n=e.layout,i={},a=i[t._name+".range"]=t.range.slice(),o=i[r._name+".range"]=r.range.slice();i[t._name+".autorange"]=t.autorange,i[r._name+".autorange"]=r.autorange,tTe.call("_storeDirectGUIEdit",e.layout,e._fullLayout._preGUI,i);var s=n[t._name];s.range=a,s.autorange=t.autorange;var l=n[r._name];l.range=o,l.autorange=r.autorange,i.lastInputTime=this.camera.lastInputTime,e.emit("plotly_relayout",i)};Ks.cameraChanged=function(){var e=this.camera;this.glplot.setDataBox(this.calcDataBox());var t=this.computeTickMarks(),r=this.glplotOptions.ticks;Rwt(t,r)&&(this.glplotOptions.ticks=t,this.glplotOptions.dataBox=e.dataBox,this.glplot.update(this.glplotOptions),this.handleAnnotations())};Ks.handleAnnotations=function(){for(var e=this.graphDiv,t=this.fullLayout.annotations,r=0;r<t.length;r++){var n=t[r];n.xref===this.xaxis._id&&n.yref===this.yaxis._id&&tTe.getComponentMethod("annotations","drawOne")(e,r)}};Ks.destroy=function(){if(this.glplot){var e=this.traces;e&&Object.keys(e).map(function(t){e[t].dispose(),delete e[t]}),this.glplot.dispose(),this.container.removeChild(this.svgContainer),this.container.removeChild(this.mouseContainer),this.fullData=null,this.glplot=null,this.stopped=!0,this.camera.mouseListener.enabled=!1,this.mouseContainer.removeEventListener("wheel",this.camera.wheelListener),this.camera=null}};Ks.plot=function(e,t,r){var n=this.glplot;this.updateRefs(r),this.xaxis.clearCalc(),this.yaxis.clearCalc(),this.updateTraces(e,t),this.updateFx(r.dragmode);var i=r.width,a=r.height;this.updateSize(this.canvas);var o=this.glplotOptions;o.merge(r),o.screenBox=[0,0,i,a];var s={_fullLayout:{_axisConstraintGroups:r._axisConstraintGroups,xaxis:this.xaxis,yaxis:this.yaxis,_size:r._size}};eTe(s,this.xaxis),eTe(s,this.yaxis);var l=r._size,u=this.xaxis.domain,f=this.yaxis.domain;o.viewBox=[l.l+u[0]*l.w,l.b+f[0]*l.h,i-l.r-(1-u[1])*l.w,a-l.t-(1-f[1])*l.h],this.mouseContainer.style.width=l.w*(u[1]-u[0])+"px",this.mouseContainer.style.height=l.h*(f[1]-f[0])+"px",this.mouseContainer.height=l.h*(f[1]-f[0]),this.mouseContainer.style.left=l.l+u[0]*l.w+"px",this.mouseContainer.style.top=l.t+(1-f[1])*l.h+"px";var c,h;for(h=0;h<2;++h)c=this[Lwt[h]],c._length=o.viewBox[h+2]-o.viewBox[h],Swt(this.graphDiv,c),c.setScale();kwt(s),o.ticks=this.computeTickMarks(),o.dataBox=this.calcDataBox(),o.merge(r),n.update(o),this.glplot.draw()};Ks.calcDataBox=function(){var e=this.xaxis,t=this.yaxis,r=e.range,n=t.range,i=e.r2l,a=t.r2l;return[i(r[0]),a(n[0]),i(r[1]),a(n[1])]};Ks.setRanges=function(e){var t=this.xaxis,r=this.yaxis,n=t.l2r,i=r.l2r;t.range=[n(e[0]),n(e[2])],r.range=[i(e[1]),i(e[3])]};Ks.updateTraces=function(e,t){var r=Object.keys(this.traces),n,i,a;this.fullData=e;e:for(n=0;n<r.length;n++){var o=r[n],s=this.traces[o];for(i=0;i<e.length;i++)if(a=e[i],a.uid===o&&a.type===s.type)continue e;s.dispose(),delete this.traces[o]}for(n=0;n<e.length;n++){a=e[n];var l=t[n],u=this.traces[a.uid];u?u.update(a,l):(u=a._module.plot(this,a,l),this.traces[a.uid]=u)}this.glplot.objects.sort(function(f,c){return f._trace.index-c._trace.index})};Ks.updateFx=function(e){Ewt(e)||Cwt(e)?(this.pickCanvas.style["pointer-events"]="none",this.mouseContainer.style["pointer-events"]="none"):(this.pickCanvas.style["pointer-events"]="auto",this.mouseContainer.style["pointer-events"]="auto"),e==="pan"?this.mouseContainer.style.cursor="move":e==="zoom"?this.mouseContainer.style.cursor="crosshair":this.mouseContainer.style.cursor=null};Ks.emitPointAction=function(e,t){for(var r=e.trace.uid,n=e.pointIndex,i,a=0;a<this.fullData.length;a++)this.fullData[a].uid===r&&(i=this.fullData[a]);var o={x:e.traceCoord[0],y:e.traceCoord[1],curveNumber:i.index,pointNumber:n,data:i._input,fullData:this.fullData,xaxis:this.xaxis,yaxis:this.yaxis};Th.appendArrayPointValue(o,i,n),this.graphDiv.emit(t,{points:[o]})};Ks.draw=function(){if(!this.stopped){requestAnimationFrame(this.redraw);var e=this.glplot,t=this.camera,r=t.mouseListener,n=this.lastButtonState===1&&r.buttons===0,i=this.fullLayout;this.lastButtonState=r.buttons,this.cameraChanged();var a=r.x*e.pixelRatio,o=this.canvas.height-e.pixelRatio*r.y,s;if(t.boxEnabled&&i.dragmode==="zoom"){this.selectBox.enabled=!0;for(var l=this.selectBox.selectBox=[Math.min(t.boxStart[0],t.boxEnd[0]),Math.min(t.boxStart[1],t.boxEnd[1]),Math.max(t.boxStart[0],t.boxEnd[0]),Math.max(t.boxStart[1],t.boxEnd[1])],u=0;u<2;u++)t.boxStart[u]===t.boxEnd[u]&&(l[u]=e.dataBox[u],l[u+2]=e.dataBox[u+2]);e.setDirty()}else if(!t.panning&&this.isMouseOver){this.selectBox.enabled=!1;var f=i._size,c=this.xaxis.domain,h=this.yaxis.domain;s=e.pick(a/e.pixelRatio+f.l+c[0]*f.w,o/e.pixelRatio-(f.t+(1-h[1])*f.h));var d=s&&s.object._trace.handlePick(s);if(d&&n&&this.emitPointAction(d,"plotly_click"),s&&s.object._trace.hoverinfo!=="skip"&&i.hovermode&&d&&(!this.lastPickResult||this.lastPickResult.traceUid!==d.trace.uid||this.lastPickResult.dataCoord[0]!==d.dataCoord[0]||this.lastPickResult.dataCoord[1]!==d.dataCoord[1])){var v=d;this.lastPickResult={traceUid:d.trace?d.trace.uid:null,dataCoord:d.dataCoord.slice()},this.spikes.update({center:s.dataCoord}),v.screenCoord=[((e.viewBox[2]-e.viewBox[0])*(s.dataCoord[0]-e.dataBox[0])/(e.dataBox[2]-e.dataBox[0])+e.viewBox[0])/e.pixelRatio,(this.canvas.height-(e.viewBox[3]-e.viewBox[1])*(s.dataCoord[1]-e.dataBox[1])/(e.dataBox[3]-e.dataBox[1])-e.viewBox[1])/e.pixelRatio],this.emitPointAction(d,"plotly_hover");var m=this.fullData[v.trace.index]||{},b=v.pointIndex,g=Th.castHoverinfo(m,i,b);if(g&&g!=="all"){var _=g.split("+");_.indexOf("x")===-1&&(v.traceCoord[0]=void 0),_.indexOf("y")===-1&&(v.traceCoord[1]=void 0),_.indexOf("z")===-1&&(v.traceCoord[2]=void 0),_.indexOf("text")===-1&&(v.textLabel=void 0),_.indexOf("name")===-1&&(v.name=void 0)}Th.loneHover({x:v.screenCoord[0],y:v.screenCoord[1],xLabel:this.hoverFormatter("xaxis",v.traceCoord[0]),yLabel:this.hoverFormatter("yaxis",v.traceCoord[1]),zLabel:v.traceCoord[2],text:v.textLabel,name:v.name,color:Th.castHoverOption(m,b,"bgcolor")||v.color,borderColor:Th.castHoverOption(m,b,"bordercolor"),fontFamily:Th.castHoverOption(m,b,"font.family"),fontSize:Th.castHoverOption(m,b,"font.size"),fontColor:Th.castHoverOption(m,b,"font.color"),nameLength:Th.castHoverOption(m,b,"namelength"),textAlign:Th.castHoverOption(m,b,"align")},{container:this.svgContainer,gd:this.graphDiv})}}s||this.unhover(),e.draw()}};Ks.unhover=function(){this.lastPickResult&&(this.spikes.update({}),this.lastPickResult=null,this.graphDiv.emit("plotly_unhover"),Th.loneUnhover(this.svgContainer))};Ks.hoverFormatter=function(e,t){if(t!==void 0){var r=this[e];return G9.tickText(r,r.c2l(t),"hover").text}}});var W9=J(du=>{"use strict";var sTe=La().overrideAll,Pwt=oTe(),Iwt=zp(),qwt=Gh(),lTe=Eo(),r4=gs(),Fwt=Uv(),uTe=Nu().getSubplotData;du.name="gl2d";du.attr=["xaxis","yaxis"];du.idRoot=["x","y"];du.idRegex=lTe.idRegex;du.attrRegex=lTe.attrRegex;du.attributes=gR();du.supplyLayoutDefaults=function(e,t,r){t._has("cartesian")||r4.supplyLayoutDefaults(e,t,r)};du.layoutAttrOverrides=sTe(r4.layoutAttributes,"plot","from-root");du.baseLayoutAttrOverrides=sTe({plot_bgcolor:Iwt.plot_bgcolor,hoverlabel:Fwt.hoverlabel},"plot","nested");du.plot=function(t){for(var r=t._fullLayout,n=t._fullData,i=r._subplots.gl2d,a=0;a<i.length;a++){var o=i[a],s=r._plots[o],l=uTe(n,"gl2d",o),u=s._scene2d;u===void 0&&(u=new Pwt({id:o,graphDiv:t,container:t.querySelector(".gl-container"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio},r),s._scene2d=u),u.plot(l,t.calcdata,r,t.layout)}};du.clean=function(e,t,r,n){for(var i=n._subplots.gl2d||[],a=0;a<i.length;a++){var o=i[a],s=n._plots[o];if(s._scene2d){var l=uTe(e,"gl2d",o);l.length===0&&(s._scene2d.destroy(),delete n._plots[o])}}r4.clean.apply(this,arguments)};du.drawFramework=function(e){e._context.staticPlot||r4.drawFramework(e)};du.toSVG=function(e){for(var t=e._fullLayout,r=t._subplots.gl2d,n=0;n<r.length;n++){var i=t._plots[r[n]],a=i._scene2d,o=a.toImage("png"),s=t._glimages.append("svg:image");s.attr({xmlns:qwt.svg,"xlink:href":o,x:0,y:0,width:"100%",height:"100%",preserveAspectRatio:"none"}),a.destroy()}};du.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots.gl2d,n=0;n<r.length;n++){var i=t._plots[r[n]]._scene2d;i.updateFx(t.dragmode)}}});var cTe=J((kUt,fTe)=>{"use strict";var zwt=["*pointcloud* trace is deprecated!","Please consider switching to the *scattergl* trace type."].join(" ");fTe.exports={attributes:H9(),supplyDefaults:L3e(),calc:y7(),plot:q3e(),moduleType:"trace",name:"pointcloud",basePlotModule:W9(),categories:["gl","gl2d","showLegend"],meta:{description:[zwt,"The data visualized as a point cloud set in `x` and `y`","using the WebGl plotting engine."].join(" ")}}});var vTe=J((SUt,hTe)=>{"use strict";hTe.exports=cTe()});var Z9=J((CUt,pTe)=>{"use strict";var Nwt=Ug(),Owt=Da(),Bwt=cn().extendFlat,Uwt=La().overrideAll,dTe=["z","x","x0","dx","y","y0","dy","text","transpose","xtype","ytype"],i4={};for(n4=0;n4<dTe.length;n4++)X9=dTe[n4],i4[X9]=Nwt[X9];var X9,n4;i4.zsmooth={valType:"enumerated",values:["fast",!1],dflt:"fast",editType:"calc",description:"Picks a smoothing algorithm use to smooth `z` data."};Bwt(i4,Owt("",{cLetter:"z",autoColorDflt:!1}));pTe.exports=Uwt(i4,"calc","nested")});var mTe=J((EUt,gTe)=>{"use strict";var Hwt=gt(),jwt=qw(),Vwt=vl(),Ywt=Z9();gTe.exports=function(t,r,n,i){function a(s,l){return Hwt.coerce(t,r,Ywt,s,l)}var o=jwt(t,r,a,i);if(!o){r.visible=!1;return}a("text"),a("zsmooth"),Vwt(t,r,i,a,{prefix:"",cLetter:"z"})}});var wTe=J((LUt,bTe)=>{"use strict";var Gwt=ao().gl_heatmap2d,yTe=nn(),Wwt=Ac();function xTe(e,t){this.scene=e,this.uid=t,this.type="heatmapgl",this.name="",this.hoverinfo="all",this.xData=[],this.yData=[],this.zData=[],this.textLabels=[],this.idToIndex=[],this.bounds=[0,0,0,0],this.options={zsmooth:"fast",z:[],x:[],y:[],shape:[0,0],colorLevels:[0],colorValues:[0,0,0,1]},this.heatmap=Gwt(e.glplot,this.options),this.heatmap._trace=this}var J9=xTe.prototype;J9.handlePick=function(e){var t=this.options,r=t.shape,n=e.pointId,i=n%r[0],a=Math.floor(n/r[0]),o=n;return{trace:this,dataCoord:e.dataCoord,traceCoord:[t.x[i],t.y[a],t.z[o]],textLabel:this.textLabels[n],name:this.name,pointIndex:[a,i],hoverinfo:this.hoverinfo}};J9.update=function(e,t){var r=t[0];this.index=e.index,this.name=e.name,this.hoverinfo=e.hoverinfo;var n=r.z;this.options.z=[].concat.apply([],n);var i=n[0].length,a=n.length;this.options.shape=[i,a],this.options.x=r.x,this.options.y=r.y,this.options.zsmooth=e.zsmooth;var o=Xwt(e);this.options.colorLevels=o.colorLevels,this.options.colorValues=o.colorValues,this.textLabels=[].concat.apply([],e.text),this.heatmap.update(this.options);var s=this.scene.xaxis,l=this.scene.yaxis,u,f;e.zsmooth===!1&&(u={ppad:r.x[1]-r.x[0]},f={ppad:r.y[1]-r.y[0]}),e._extremes[s._id]=yTe.findExtremes(s,r.x,u),e._extremes[l._id]=yTe.findExtremes(l,r.y,f)};J9.dispose=function(){this.heatmap.dispose()};function Xwt(e){for(var t=e.colorscale,r=e.zmin,n=e.zmax,i=t.length,a=new Array(i),o=new Array(4*i),s=0;s<i;s++){var l=t[s],u=Wwt(l[1]);a[s]=r+l[0]*(n-r);for(var f=0;f<4;f++)o[4*s+f]=u[f]}return{colorLevels:a,colorValues:o}}function Zwt(e,t,r){var n=new xTe(e,t.uid);return n.update(t,r),n}bTe.exports=Zwt});var TTe=J((DUt,_Te)=>{"use strict";var Jwt=["*heatmapgl* trace is deprecated!","Please consider switching to the *heatmap* or *image* trace types.","Alternatively you could contribute/sponsor rewriting this trace type","based on cartesian features and using regl framework."].join(" ");_Te.exports={attributes:Z9(),supplyDefaults:mTe(),colorbar:Nw(),calc:zw(),plot:wTe(),moduleType:"trace",name:"heatmapgl",basePlotModule:W9(),categories:["gl","gl2d","2dMap"],meta:{description:[Jwt,"WebGL version of the heatmap trace type."].join(" ")}}});var MTe=J((RUt,ATe)=>{"use strict";ATe.exports=TTe()});var $9=J((PUt,ETe)=>{"use strict";var STe=cn().extendFlat,$wt=Qi(),kTe=xa(),Kwt=Da(),CTe=Jn().hovertemplateAttrs,Qwt=Wa().attributes,e_t=STe({editType:"calc"},Kwt("line",{editTypeOverride:"calc"}),{shape:{valType:"enumerated",values:["linear","hspline"],dflt:"linear",editType:"plot",description:["Sets the shape of the paths.","If `linear`, paths are composed of straight lines.","If `hspline`, paths are composed of horizontal curved splines"].join(" ")},hovertemplate:CTe({editType:"plot",arrayOk:!1},{keys:["count","probability"],description:["This value here applies when hovering over lines."].join(" ")})});ETe.exports={domain:Qwt({name:"parcats",trace:!0,editType:"calc"}),hoverinfo:STe({},$wt.hoverinfo,{flags:["count","probability"],editType:"plot",arrayOk:!1}),hoveron:{valType:"enumerated",values:["category","color","dimension"],dflt:"category",editType:"plot",description:["Sets the hover interaction mode for the parcats diagram.","If `category`, hover interaction take place per category.","If `color`, hover interactions take place per color per category.","If `dimension`, hover interactions take place across all categories per dimension."].join(" ")},hovertemplate:CTe({editType:"plot",arrayOk:!1},{keys:["count","probability","category","categorycount","colorcount","bandcolorcount"],description:["This value here applies when hovering over dimensions.","Note that `*categorycount`, *colorcount* and *bandcolorcount*","are only available when `hoveron` contains the *color* flag"].join(" ")}),arrangement:{valType:"enumerated",values:["perpendicular","freeform","fixed"],dflt:"perpendicular",editType:"plot",description:["Sets the drag interaction mode for categories and dimensions.","If `perpendicular`, the categories can only move along a line perpendicular to the paths.","If `freeform`, the categories can freely move on the plane.","If `fixed`, the categories and dimensions are stationary."].join(" ")},bundlecolors:{valType:"boolean",dflt:!0,editType:"plot",description:"Sort paths so that like colors are bundled together within each category."},sortpaths:{valType:"enumerated",values:["forward","backward"],dflt:"forward",editType:"plot",description:["Sets the path sorting algorithm.","If `forward`, sort paths based on dimension categories from left to right.","If `backward`, sort paths based on dimensions categories from right to left."].join(" ")},labelfont:kTe({editType:"calc",description:"Sets the font for the `dimension` labels."}),tickfont:kTe({autoShadowDflt:!0,editType:"calc",description:"Sets the font for the `category` labels."}),dimensions:{_isLinkedToArray:"dimension",label:{valType:"string",editType:"calc",description:"The shown name of the dimension."},categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array"],dflt:"trace",editType:"calc",description:["Specifies the ordering logic for the categories in the dimension.","By default, plotly uses *trace*, which specifies the order that is present in the data supplied.","Set `categoryorder` to *category ascending* or *category descending* if order should be determined by","the alphanumerical order of the category names.","Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category","is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to","the *trace* mode. The unspecified categories will follow the categories in `categoryarray`."].join(" ")},categoryarray:{valType:"data_array",editType:"calc",description:["Sets the order in which categories in this dimension appear.","Only has an effect if `categoryorder` is set to *array*.","Used with `categoryorder`."].join(" ")},ticktext:{valType:"data_array",editType:"calc",description:["Sets alternative tick labels for the categories in this dimension.","Only has an effect if `categoryorder` is set to *array*.","Should be an array the same length as `categoryarray`","Used with `categoryorder`."].join(" ")},values:{valType:"data_array",dflt:[],editType:"calc",description:["Dimension values. `values[n]` represents the category value of the `n`th point in the dataset,","therefore the `values` vector for all dimensions must be the same (longer vectors","will be truncated)."].join(" ")},displayindex:{valType:"integer",editType:"calc",description:["The display index of dimension, from left to right, zero indexed, defaults to dimension","index."].join(" ")},editType:"calc",description:"The dimensions (variables) of the parallel categories diagram.",visible:{valType:"boolean",dflt:!0,editType:"calc",description:"Shows the dimension when set to `true` (the default). Hides the dimension for `false`."}},line:e_t,counts:{valType:"number",min:0,dflt:1,arrayOk:!0,editType:"calc",description:["The number of observations represented by each state. Defaults to 1 so that each state represents","one observation"].join(" ")},customdata:void 0,hoverlabel:void 0,ids:void 0,legend:void 0,legendgroup:void 0,legendrank:void 0,opacity:void 0,selectedpoints:void 0,showlegend:void 0}});var DTe=J((IUt,LTe)=>{"use strict";LTe.exports=function(e,t,r,n){n||(n=1/0);var i,a;for(i=0;i<t.length;i++)a=t[i],a.visible&&(n=Math.min(n,a[r].length));for(n===1/0&&(n=0),e._length=n,i=0;i<t.length;i++)a=t[i],a.visible&&(a._length=n);return n}});var ITe=J((qUt,PTe)=>{"use strict";var Rx=gt(),t_t=nu().hasColorscale,r_t=vl(),n_t=Wa().defaults,i_t=Bu(),RTe=$9(),a_t=DTe(),o_t=fl().isTypedArraySpec;function s_t(e,t,r,n,i){i("line.shape"),i("line.hovertemplate");var a=i("line.color",n.colorway[0]);if(t_t(e,"line")&&Rx.isArrayOrTypedArray(a)){if(a.length)return i("line.colorscale"),r_t(e,t,n,i,{prefix:"line.",cLetter:"c"}),a.length;t.line.color=r}return 1/0}function l_t(e,t){function r(u,f){return Rx.coerce(e,t,RTe.dimensions,u,f)}var n=r("values"),i=r("visible");if(n&&n.length||(i=t.visible=!1),i){r("label"),r("displayindex",t._index);var a=e.categoryarray,o=Rx.isArrayOrTypedArray(a)&&a.length>0||o_t(a),s;o&&(s="array");var l=r("categoryorder",s);l==="array"?(r("categoryarray"),r("ticktext")):(delete e.categoryarray,delete e.ticktext),!o&&l==="array"&&(t.categoryorder="trace")}}PTe.exports=function(t,r,n,i){function a(u,f){return Rx.coerce(t,r,RTe,u,f)}var o=i_t(t,r,{name:"dimensions",handleItemDefaults:l_t}),s=s_t(t,r,n,i,a);n_t(r,i,a),(!Array.isArray(o)||!o.length)&&(r.visible=!1),a_t(r,o,"values",s),a("hoveron"),a("hovertemplate"),a("arrangement"),a("bundlecolors"),a("sortpaths"),a("counts");var l=i.font;Rx.coerceFont(a,"labelfont",l,{overrideDflt:{size:Math.round(l.size)}}),Rx.coerceFont(a,"tickfont",l,{autoShadowDflt:!0,overrideDflt:{size:Math.round(l.size/1.2)}})}});var Px=J((FUt,FTe)=>{"use strict";var u_t=jb();function qTe(e){return[e]}FTe.exports={keyFun:function(e){return e.key},repeat:qTe,descend:u_t,wrap:qTe,unwrap:function(e){return e[0]}}});var NTe=J((zUt,zTe)=>{"use strict";var f_t=Px().wrap,c_t=nu().hasColorscale,h_t=Uu(),v_t=zE(),d_t=ln(),H_=gt(),p_t=dn();zTe.exports=function(t,r){var n=H_.filterVisible(r.dimensions);if(n.length===0)return[];var i=n.map(function(p){var S;if(p.categoryorder==="trace")S=null;else if(p.categoryorder==="array")S=p.categoryarray;else{S=v_t(p.values);for(var y=!0,E=0;E<S.length;E++)if(!p_t(S[E])){y=!1;break}S.sort(y?H_.sorterAsc:void 0),p.categoryorder==="category descending"&&(S=S.reverse())}return __t(p.values,S)}),a,o,s;H_.isArrayOrTypedArray(r.counts)?a=r.counts:a=[r.counts],T_t(n),n.forEach(function(p,S){A_t(p,i[S])});var l=r.line,u;l?(c_t(r,"line")&&h_t(t,r,{vals:r.line.color,containerStr:"line",cLetter:"c"}),u=d_t.tryColorscale(l)):u=H_.identity;function f(p){var S,y;return H_.isArrayOrTypedArray(l.color)?(S=l.color[p%l.color.length],y=S):S=l.color,{color:u(S),rawColor:y}}var c=n[0].values.length,h={},d=i.map(function(p){return p.inds});s=0;var v,m;for(v=0;v<c;v++){var b=[];for(m=0;m<d.length;m++)b.push(d[m][v]);o=a[v%a.length],s+=o;var g=f(v),_=b+"-"+g.rawColor;h[_]===void 0&&(h[_]=b_t(b,g.color,g.rawColor)),w_t(h[_],v,o)}var T=n.map(function(p,S){return m_t(S,p._index,p._displayindex,p.label,s)});for(v=0;v<c;v++)for(o=a[v%a.length],m=0;m<T.length;m++){var w=T[m].containerInd,k=i[m].inds[v],x=T[m].categories;if(x[k]===void 0){var M=r.dimensions[w]._categoryarray[k],A=r.dimensions[w]._ticktext[k];x[k]=y_t(m,k,M,A)}x_t(x[k],v,o)}return f_t(g_t(T,h,s))};function g_t(e,t,r){var n=e.map(function(i){return i.categories.length}).reduce(function(i,a){return Math.max(i,a)});return{dimensions:e,paths:t,trace:void 0,maxCats:n,count:r}}function m_t(e,t,r,n,i){return{dimensionInd:e,containerInd:t,displayInd:r,dimensionLabel:n,count:i,categories:[],dragX:null}}function y_t(e,t,r,n){return{dimensionInd:e,categoryInd:t,categoryValue:r,displayInd:t,categoryLabel:n,valueInds:[],count:0,dragY:null}}function x_t(e,t,r){e.valueInds.push(t),e.count+=r}function b_t(e,t,r){return{categoryInds:e,color:t,rawColor:r,valueInds:[],count:0}}function w_t(e,t,r){e.valueInds.push(t),e.count+=r}function __t(e,t){t==null?t=[]:t=t.map(function(u){return u});var r={},n={},i=[];t.forEach(function(u,f){r[u]=0,n[u]=f});for(var a=0;a<e.length;a++){var o=e[a],s;r[o]===void 0?(r[o]=1,s=t.push(o)-1,n[o]=s):(r[o]++,s=n[o]),i.push(s)}var l=t.map(function(u){return r[u]});return{uniqueValues:t,uniqueCounts:l,inds:i}}function T_t(e){var t=e.map(function(n){return n.displayindex}),r;if(M_t(t))for(r=0;r<e.length;r++)e[r]._displayindex=e[r].displayindex;else for(r=0;r<e.length;r++)e[r]._displayindex=r}function A_t(e,t){e._categoryarray=t.uniqueValues,e.ticktext===null||e.ticktext===void 0?e._ticktext=[]:e._ticktext=e.ticktext.slice();for(var r=e._ticktext.length;r<t.uniqueValues.length;r++)e._ticktext.push(t.uniqueValues[r])}function M_t(e){for(var t=new Array(e.length),r=0;r<e.length;r++){if(e[r]<0||e[r]>=e.length||t[e[r]]!==void 0)return!1;t[e[r]]=!0}return!0}});var WTe=J((NUt,GTe)=>{"use strict";var ci=Nr(),k_t=(Qg(),s1(Kg)).interpolateNumber,S_t=jM(),Y_=go(),rp=gt(),j_=rp.strTranslate,OTe=ln(),K9=ls(),C_t=ca();function E_t(e,t,r,n){var i=t._context.staticPlot,a=e.map(V_t.bind(0,t,r)),o=n.selectAll("g.parcatslayer").data([null]);o.enter().append("g").attr("class","parcatslayer").style("pointer-events",i?"none":"all");var s=o.selectAll("g.trace.parcats").data(a,Td),l=s.enter().append("g").attr("class","trace parcats");s.attr("transform",function(_){return j_(_.x,_.y)}),l.append("g").attr("class","paths");var u=s.select("g.paths"),f=u.selectAll("path.path").data(function(_){return _.paths},Td);f.attr("fill",function(_){return _.model.color});var c=f.enter().append("path").attr("class","path").attr("stroke-opacity",0).attr("fill",function(_){return _.model.color}).attr("fill-opacity",0);tF(c),f.attr("d",function(_){return _.svgD}),c.empty()||f.sort(Q9),f.exit().remove(),f.on("mouseover",L_t).on("mouseout",D_t).on("click",R_t),l.append("g").attr("class","dimensions");var h=s.select("g.dimensions"),d=h.selectAll("g.dimension").data(function(_){return _.dimensions},Td);d.enter().append("g").attr("class","dimension"),d.attr("transform",function(_){return j_(_.x,0)}),d.exit().remove();var v=d.selectAll("g.category").data(function(_){return _.categories},Td),m=v.enter().append("g").attr("class","category");v.attr("transform",function(_){return j_(0,_.y)}),m.append("rect").attr("class","catrect").attr("pointer-events","none"),v.select("rect.catrect").attr("fill","none").attr("width",function(_){return _.width}).attr("height",function(_){return _.height}),UTe(m);var b=v.selectAll("rect.bandrect").data(function(_){return _.bands},Td);b.each(function(){rp.raiseToTop(this)}),b.attr("fill",function(_){return _.color});var g=b.enter().append("rect").attr("class","bandrect").attr("stroke-opacity",0).attr("fill",function(_){return _.color}).attr("fill-opacity",0);b.attr("fill",function(_){return _.color}).attr("width",function(_){return _.width}).attr("height",function(_){return _.height}).attr("y",function(_){return _.y}).attr("cursor",function(_){return _.parcatsViewModel.arrangement==="fixed"?"default":_.parcatsViewModel.arrangement==="perpendicular"?"ns-resize":"move"}),nF(g),b.exit().remove(),m.append("text").attr("class","catlabel").attr("pointer-events","none"),v.select("text.catlabel").attr("text-anchor",function(_){return V_(_)?"start":"end"}).attr("alignment-baseline","middle").style("fill","rgb(0, 0, 0)").attr("x",function(_){return V_(_)?_.width+5:-5}).attr("y",function(_){return _.height/2}).text(function(_){return _.model.categoryLabel}).each(function(_){OTe.font(ci.select(this),_.parcatsViewModel.categorylabelfont),C_t.convertToTspans(ci.select(this),t)}),m.append("text").attr("class","dimlabel"),v.select("text.dimlabel").attr("text-anchor","middle").attr("alignment-baseline","baseline").attr("cursor",function(_){return _.parcatsViewModel.arrangement==="fixed"?"default":"ew-resize"}).attr("x",function(_){return _.width/2}).attr("y",-5).text(function(_,T){return T===0?_.parcatsViewModel.model.dimensions[_.model.dimensionInd].dimensionLabel:null}).each(function(_){OTe.font(ci.select(this),_.parcatsViewModel.labelfont)}),v.selectAll("rect.bandrect").on("mouseover",O_t).on("mouseout",B_t),v.exit().remove(),d.call(ci.behavior.drag().origin(function(_){return{x:_.x,y:0}}).on("dragstart",U_t).on("drag",H_t).on("dragend",j_t)),s.each(function(_){_.traceSelection=ci.select(this),_.pathSelection=ci.select(this).selectAll("g.paths").selectAll("path.path"),_.dimensionSelection=ci.select(this).selectAll("g.dimensions").selectAll("g.dimension")}),s.exit().remove()}GTe.exports=function(e,t,r,n){E_t(r,e,n,t)};function Td(e){return e.key}function V_(e){var t=e.parcatsViewModel.dimensions.length,r=e.parcatsViewModel.dimensions[t-1].model.dimensionInd;return e.model.dimensionInd===r}function Q9(e,t){return e.model.rawColor>t.model.rawColor?1:e.model.rawColor<t.model.rawColor?-1:0}function L_t(e){if(!e.parcatsViewModel.dragDimension&&e.parcatsViewModel.hoverinfoItems.indexOf("skip")===-1){rp.raiseToTop(this),rF(ci.select(this));var t=G_(e),r=eF(e);if(e.parcatsViewModel.graphDiv.emit("plotly_hover",{points:t,event:ci.event,constraints:r}),e.parcatsViewModel.hoverinfoItems.indexOf("none")===-1){var n=ci.mouse(this)[0],i=e.parcatsViewModel.graphDiv,a=e.parcatsViewModel.trace,o=i._fullLayout,s=o._paperdiv.node().getBoundingClientRect(),l=e.parcatsViewModel.graphDiv.getBoundingClientRect(),u,f,c;for(c=0;c<e.leftXs.length-1;c++)if(e.leftXs[c]+e.dimWidths[c]-2<=n&&n<=e.leftXs[c+1]+2){var h=e.parcatsViewModel.dimensions[c],d=e.parcatsViewModel.dimensions[c+1];u=(h.x+h.width+d.x)/2,f=(e.topYs[c]+e.topYs[c+1]+e.height)/2;break}var v=e.parcatsViewModel.x+u,m=e.parcatsViewModel.y+f,b=K9.mostReadable(e.model.color,["black","white"]),g=e.model.count,_=g/e.parcatsViewModel.model.count,T={countLabel:g,probabilityLabel:_.toFixed(3)},w=[];e.parcatsViewModel.hoverinfoItems.indexOf("count")!==-1&&w.push(["Count:",T.countLabel].join(" ")),e.parcatsViewModel.hoverinfoItems.indexOf("probability")!==-1&&w.push(["P:",T.probabilityLabel].join(" "));var k=w.join("<br>"),x=ci.mouse(i)[0];Y_.loneHover({trace:a,x:v-s.left+l.left,y:m-s.top+l.top,text:k,color:e.model.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:10,fontColor:b,idealAlign:x<v?"right":"left",hovertemplate:(a.line||{}).hovertemplate,hovertemplateLabels:T,eventData:[{data:a._input,fullData:a,count:g,probability:_}]},{container:o._hoverlayer.node(),outerContainer:o._paper.node(),gd:i})}}}function D_t(e){if(!e.parcatsViewModel.dragDimension&&(tF(ci.select(this)),Y_.loneUnhover(e.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()),e.parcatsViewModel.pathSelection.sort(Q9),e.parcatsViewModel.hoverinfoItems.indexOf("skip")===-1)){var t=G_(e),r=eF(e);e.parcatsViewModel.graphDiv.emit("plotly_unhover",{points:t,event:ci.event,constraints:r})}}function G_(e){for(var t=[],r=jTe(e.parcatsViewModel),n=0;n<e.model.valueInds.length;n++){var i=e.model.valueInds[n];t.push({curveNumber:r,pointNumber:i})}return t}function eF(e){for(var t={},r=e.parcatsViewModel.model.dimensions,n=0;n<r.length;n++){var i=r[n],a=i.categories[e.model.categoryInds[n]];t[i.containerInd]=a.categoryValue}return e.model.rawColor!==void 0&&(t.color=e.model.rawColor),t}function R_t(e){if(e.parcatsViewModel.hoverinfoItems.indexOf("skip")===-1){var t=G_(e),r=eF(e);e.parcatsViewModel.graphDiv.emit("plotly_click",{points:t,event:ci.event,constraints:r})}}function tF(e){e.attr("fill",function(t){return t.model.color}).attr("fill-opacity",.6).attr("stroke","lightgray").attr("stroke-width",.2).attr("stroke-opacity",1)}function rF(e){e.attr("fill-opacity",.8).attr("stroke",function(t){return K9.mostReadable(t.model.color,["black","white"])}).attr("stroke-width",.3)}function P_t(e){e.select("rect.catrect").attr("stroke","black").attr("stroke-width",2.5)}function UTe(e){e.select("rect.catrect").attr("stroke","black").attr("stroke-width",1).attr("stroke-opacity",1)}function I_t(e){e.attr("stroke","black").attr("stroke-width",1.5)}function nF(e){e.attr("stroke","black").attr("stroke-width",.2).attr("stroke-opacity",1).attr("fill-opacity",1)}function a4(e){var t=e.parcatsViewModel.pathSelection,r=e.categoryViewModel.model.dimensionInd,n=e.categoryViewModel.model.categoryInd;return t.filter(function(i){return i.model.categoryInds[r]===n&&i.model.color===e.color})}function q_t(e){var t=ci.select(e.parentNode).selectAll("rect.bandrect");t.each(function(r){var n=a4(r);rF(n),n.each(function(){rp.raiseToTop(this)})}),P_t(ci.select(e.parentNode))}function F_t(e){var t=ci.select(e).datum(),r=a4(t);rF(r),r.each(function(){rp.raiseToTop(this)}),ci.select(e.parentNode).selectAll("rect.bandrect").filter(function(n){return n.color===t.color}).each(function(){rp.raiseToTop(this),I_t(ci.select(this))})}function iF(e,t,r){var n=ci.select(e).datum(),i=n.categoryViewModel.model,a=n.parcatsViewModel.graphDiv,o=ci.select(e.parentNode).selectAll("rect.bandrect"),s=[];o.each(function(u){var f=a4(u);f.each(function(c){Array.prototype.push.apply(s,G_(c))})});var l={};l[i.dimensionInd]=i.categoryValue,a.emit(t,{points:s,event:r,constraints:l})}function aF(e,t,r){var n=ci.select(e).datum(),i=n.categoryViewModel.model,a=n.parcatsViewModel.graphDiv,o=a4(n),s=[];o.each(function(u){Array.prototype.push.apply(s,G_(u))});var l={};l[i.dimensionInd]=i.categoryValue,n.rawColor!==void 0&&(l.color=n.rawColor),a.emit(t,{points:s,event:r,constraints:l})}function HTe(e,t,r){e._fullLayout._calcInverseTransform(e);var n=e._fullLayout._invScaleX,i=e._fullLayout._invScaleY,a=ci.select(r.parentNode).select("rect.catrect"),o=a.node().getBoundingClientRect(),s=a.datum(),l=s.parcatsViewModel,u=l.model.dimensions[s.model.dimensionInd],f=l.trace,c=o.top+o.height/2,h,d;l.dimensions.length>1&&u.displayInd===l.dimensions.length-1?(h=o.left,d="left"):(h=o.left+o.width,d="right");var v=s.model.count,m=s.model.categoryLabel,b=v/s.parcatsViewModel.model.count,g={countLabel:v,categoryLabel:m,probabilityLabel:b.toFixed(3)},_=[];s.parcatsViewModel.hoverinfoItems.indexOf("count")!==-1&&_.push(["Count:",g.countLabel].join(" ")),s.parcatsViewModel.hoverinfoItems.indexOf("probability")!==-1&&_.push(["P("+g.categoryLabel+"):",g.probabilityLabel].join(" "));var T=_.join("<br>");return{trace:f,x:n*(h-t.left),y:i*(c-t.top),text:T,color:"lightgray",borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:12,fontColor:"black",idealAlign:d,hovertemplate:f.hovertemplate,hovertemplateLabels:g,eventData:[{data:f._input,fullData:f,count:v,category:m,probability:b}]}}function z_t(e,t,r){var n=[];return ci.select(r.parentNode.parentNode).selectAll("g.category").select("rect.catrect").each(function(){var i=this;n.push(HTe(e,t,i))}),n}function N_t(e,t,r){e._fullLayout._calcInverseTransform(e);var n=e._fullLayout._invScaleX,i=e._fullLayout._invScaleY,a=r.getBoundingClientRect(),o=ci.select(r).datum(),s=o.categoryViewModel,l=s.parcatsViewModel,u=l.model.dimensions[s.model.dimensionInd],f=l.trace,c=a.y+a.height/2,h,d;l.dimensions.length>1&&u.displayInd===l.dimensions.length-1?(h=a.left,d="left"):(h=a.left+a.width,d="right");var v=s.model.categoryLabel,m=o.parcatsViewModel.model.count,b=0;o.categoryViewModel.bands.forEach(function(S){S.color===o.color&&(b+=S.count)});var g=s.model.count,_=0;l.pathSelection.each(function(S){S.model.color===o.color&&(_+=S.model.count)});var T=b/m,w=b/_,k=b/g,x={countLabel:b,categoryLabel:v,probabilityLabel:T.toFixed(3)},M=[];s.parcatsViewModel.hoverinfoItems.indexOf("count")!==-1&&M.push(["Count:",x.countLabel].join(" ")),s.parcatsViewModel.hoverinfoItems.indexOf("probability")!==-1&&(M.push("P(color \u2229 "+v+"): "+x.probabilityLabel),M.push("P("+v+" | color): "+w.toFixed(3)),M.push("P(color | "+v+"): "+k.toFixed(3)));var A=M.join("<br>"),p=K9.mostReadable(o.color,["black","white"]);return{trace:f,x:n*(h-t.left),y:i*(c-t.top),text:A,color:o.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontColor:p,fontSize:10,idealAlign:d,hovertemplate:f.hovertemplate,hovertemplateLabels:x,eventData:[{data:f._input,fullData:f,category:v,count:m,probability:T,categorycount:g,colorcount:_,bandcolorcount:b}]}}function O_t(e){if(!e.parcatsViewModel.dragDimension&&e.parcatsViewModel.hoverinfoItems.indexOf("skip")===-1){var t=ci.mouse(this)[1];if(t<-1)return;var r=e.parcatsViewModel.graphDiv,n=r._fullLayout,i=n._paperdiv.node().getBoundingClientRect(),a=e.parcatsViewModel.hoveron,o=this;if(a==="color"?(F_t(o),aF(o,"plotly_hover",ci.event)):(q_t(o),iF(o,"plotly_hover",ci.event)),e.parcatsViewModel.hoverinfoItems.indexOf("none")===-1){var s;a==="category"?s=HTe(r,i,o):a==="color"?s=N_t(r,i,o):a==="dimension"&&(s=z_t(r,i,o)),s&&Y_.loneHover(s,{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:r})}}}function B_t(e){var t=e.parcatsViewModel;if(!t.dragDimension&&(tF(t.pathSelection),UTe(t.dimensionSelection.selectAll("g.category")),nF(t.dimensionSelection.selectAll("g.category").selectAll("rect.bandrect")),Y_.loneUnhover(t.graphDiv._fullLayout._hoverlayer.node()),t.pathSelection.sort(Q9),t.hoverinfoItems.indexOf("skip")===-1)){var r=e.parcatsViewModel.hoveron,n=this;r==="color"?aF(n,"plotly_unhover",ci.event):iF(n,"plotly_unhover",ci.event)}}function U_t(e){e.parcatsViewModel.arrangement!=="fixed"&&(e.dragDimensionDisplayInd=e.model.displayInd,e.initialDragDimensionDisplayInds=e.parcatsViewModel.model.dimensions.map(function(t){return t.displayInd}),e.dragHasMoved=!1,e.dragCategoryDisplayInd=null,ci.select(this).selectAll("g.category").select("rect.catrect").each(function(t){var r=ci.mouse(this)[0],n=ci.mouse(this)[1];-2<=r&&r<=t.width+2&&-2<=n&&n<=t.height+2&&(e.dragCategoryDisplayInd=t.model.displayInd,e.initialDragCategoryDisplayInds=e.model.categories.map(function(i){return i.displayInd}),t.model.dragY=t.y,rp.raiseToTop(this.parentNode),ci.select(this.parentNode).selectAll("rect.bandrect").each(function(i){i.y<n&&n<=i.y+i.height&&(e.potentialClickBand=this)}))}),e.parcatsViewModel.dragDimension=e,Y_.loneUnhover(e.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()))}function H_t(e){if(e.parcatsViewModel.arrangement!=="fixed"&&(e.dragHasMoved=!0,e.dragDimensionDisplayInd!==null)){var t=e.dragDimensionDisplayInd,r=t-1,n=t+1,i=e.parcatsViewModel.dimensions[t];if(e.dragCategoryDisplayInd!==null){var a=i.categories[e.dragCategoryDisplayInd];a.model.dragY+=ci.event.dy;var o=a.model.dragY,s=a.model.displayInd,l=i.categories,u=l[s-1],f=l[s+1];u!==void 0&&o<u.y+u.height/2&&(a.model.displayInd=u.model.displayInd,u.model.displayInd=s),f!==void 0&&o+a.height>f.y+f.height/2&&(a.model.displayInd=f.model.displayInd,f.model.displayInd=s),e.dragCategoryDisplayInd=a.model.displayInd}if(e.dragCategoryDisplayInd===null||e.parcatsViewModel.arrangement==="freeform"){i.model.dragX=ci.event.x;var c=e.parcatsViewModel.dimensions[r],h=e.parcatsViewModel.dimensions[n];c!==void 0&&i.model.dragX<c.x+c.width&&(i.model.displayInd=c.model.displayInd,c.model.displayInd=t),h!==void 0&&i.model.dragX+i.width>h.x&&(i.model.displayInd=h.model.displayInd,h.model.displayInd=e.dragDimensionDisplayInd),e.dragDimensionDisplayInd=i.model.displayInd}sF(e.parcatsViewModel),oF(e.parcatsViewModel),YTe(e.parcatsViewModel),VTe(e.parcatsViewModel)}}function j_t(e){if(e.parcatsViewModel.arrangement!=="fixed"&&e.dragDimensionDisplayInd!==null){ci.select(this).selectAll("text").attr("font-weight","normal");var t={},r=jTe(e.parcatsViewModel),n=e.parcatsViewModel.model.dimensions.map(function(h){return h.displayInd}),i=e.initialDragDimensionDisplayInds.some(function(h,d){return h!==n[d]});i&&n.forEach(function(h,d){var v=e.parcatsViewModel.model.dimensions[d].containerInd;t["dimensions["+v+"].displayindex"]=h});var a=!1;if(e.dragCategoryDisplayInd!==null){var o=e.model.categories.map(function(h){return h.displayInd});if(a=e.initialDragCategoryDisplayInds.some(function(h,d){return h!==o[d]}),a){var s=e.model.categories.slice().sort(function(h,d){return h.displayInd-d.displayInd}),l=s.map(function(h){return h.categoryValue}),u=s.map(function(h){return h.categoryLabel});t["dimensions["+e.model.containerInd+"].categoryarray"]=[l],t["dimensions["+e.model.containerInd+"].ticktext"]=[u],t["dimensions["+e.model.containerInd+"].categoryorder"]="array"}}if(e.parcatsViewModel.hoverinfoItems.indexOf("skip")===-1&&!e.dragHasMoved&&e.potentialClickBand&&(e.parcatsViewModel.hoveron==="color"?aF(e.potentialClickBand,"plotly_click",ci.event.sourceEvent):iF(e.potentialClickBand,"plotly_click",ci.event.sourceEvent)),e.model.dragX=null,e.dragCategoryDisplayInd!==null){var f=e.parcatsViewModel.dimensions[e.dragDimensionDisplayInd].categories[e.dragCategoryDisplayInd];f.model.dragY=null,e.dragCategoryDisplayInd=null}e.dragDimensionDisplayInd=null,e.parcatsViewModel.dragDimension=null,e.dragHasMoved=null,e.potentialClickBand=null,sF(e.parcatsViewModel),oF(e.parcatsViewModel);var c=ci.transition().duration(300).ease("cubic-in-out");c.each(function(){YTe(e.parcatsViewModel,!0),VTe(e.parcatsViewModel,!0)}).each("end",function(){(i||a)&&S_t.restyle(e.parcatsViewModel.graphDiv,t,[r])})}}function jTe(e){for(var t,r=e.graphDiv._fullData,n=0;n<r.length;n++)if(e.key===r[n].uid){t=n;break}return t}function VTe(e,t){t===void 0&&(t=!1);function r(n){return t?n.transition():n}e.pathSelection.data(function(n){return n.paths},Td),r(e.pathSelection).attr("d",function(n){return n.svgD})}function YTe(e,t){t===void 0&&(t=!1);function r(l){return t?l.transition():l}e.dimensionSelection.data(function(l){return l.dimensions},Td);var n=e.dimensionSelection.selectAll("g.category").data(function(l){return l.categories},Td);r(e.dimensionSelection).attr("transform",function(l){return j_(l.x,0)}),r(n).attr("transform",function(l){return j_(0,l.y)});var i=n.select(".dimlabel");i.text(function(l,u){return u===0?l.parcatsViewModel.model.dimensions[l.model.dimensionInd].dimensionLabel:null});var a=n.select(".catlabel");a.attr("text-anchor",function(l){return V_(l)?"start":"end"}).attr("x",function(l){return V_(l)?l.width+5:-5}).each(function(l){var u,f;V_(l)?(u=l.width+5,f="start"):(u=-5,f="end"),ci.select(this).selectAll("tspan").attr("x",u).attr("text-anchor",f)});var o=n.selectAll("rect.bandrect").data(function(l){return l.bands},Td),s=o.enter().append("rect").attr("class","bandrect").attr("cursor","move").attr("stroke-opacity",0).attr("fill",function(l){return l.color}).attr("fill-opacity",0);o.attr("fill",function(l){return l.color}).attr("width",function(l){return l.width}).attr("height",function(l){return l.height}).attr("y",function(l){return l.y}),nF(s),o.each(function(){rp.raiseToTop(this)}),o.exit().remove()}function V_t(e,t,r){var n=r[0],i=t.margin||{l:80,r:80,t:100,b:80},a=n.trace,o=a.domain,s=t.width,l=t.height,u=Math.floor(s*(o.x[1]-o.x[0])),f=Math.floor(l*(o.y[1]-o.y[0])),c=o.x[0]*s+i.l,h=t.height-o.y[1]*t.height+i.t,d=a.line.shape,v;a.hoverinfo==="all"?v=["count","probability"]:v=(a.hoverinfo||"").split("+");var m={trace:a,key:a.uid,model:n,x:c,y:h,width:u,height:f,hoveron:a.hoveron,hoverinfoItems:v,arrangement:a.arrangement,bundlecolors:a.bundlecolors,sortpaths:a.sortpaths,labelfont:a.labelfont,categorylabelfont:a.tickfont,pathShape:d,dragDimension:null,margin:i,paths:[],dimensions:[],graphDiv:e,traceSelection:null,pathSelection:null,dimensionSelection:null};return n.dimensions&&(sF(m),oF(m)),m}function BTe(e,t,r,n,i){var a=[],o=[],s,l;for(l=0;l<r.length-1;l++)s=k_t(r[l]+e[l],e[l+1]),a.push(s(i)),o.push(s(1-i));var u="M "+e[0]+","+t[0];for(u+="l"+r[0]+",0 ",l=1;l<r.length;l++)u+="C"+a[l-1]+","+t[l-1]+" "+o[l-1]+","+t[l]+" "+e[l]+","+t[l],u+="l"+r[l]+",0 ";for(u+="l0,"+n+" ",u+="l -"+r[r.length-1]+",0 ",l=r.length-2;l>=0;l--)u+="C"+o[l]+","+(t[l+1]+n)+" "+a[l]+","+(t[l]+n)+" "+(e[l]+r[l])+","+(t[l]+n),u+="l-"+r[l]+",0 ";return u+="Z",u}function oF(e){var t=e.dimensions,r=e.model,n=t.map(function(C){return C.categories.map(function(L){return L.y})}),i=e.model.dimensions.map(function(C){return C.categories.map(function(L){return L.displayInd})}),a=e.model.dimensions.map(function(C){return C.displayInd}),o=e.dimensions.map(function(C){return C.model.dimensionInd}),s=t.map(function(C){return C.x}),l=t.map(function(C){return C.width}),u=[];for(var f in r.paths)r.paths.hasOwnProperty(f)&&u.push(r.paths[f]);function c(C){var L=C.categoryInds.map(function(I,P){return i[P][I]}),R=o.map(function(I){return L[I]});return R}u.sort(function(C,L){var R=c(C),I=c(L);return e.sortpaths==="backward"&&(R.reverse(),I.reverse()),R.push(C.valueInds[0]),I.push(L.valueInds[0]),e.bundlecolors&&(R.unshift(C.rawColor),I.unshift(L.rawColor)),R<I?-1:R>I?1:0});for(var h=new Array(u.length),d=t[0].model.count,v=t[0].categories.map(function(C){return C.height}).reduce(function(C,L){return C+L}),m=0;m<u.length;m++){var b=u[m],g;d>0?g=v*(b.count/d):g=0;for(var _=new Array(n.length),T=0;T<b.categoryInds.length;T++){var w=b.categoryInds[T],k=i[T][w],x=a[T];_[x]=n[x][k],n[x][k]+=g;var M=e.dimensions[x].categories[k],A=M.bands.length,p=M.bands[A-1];if(p===void 0||b.rawColor!==p.rawColor){var S=p===void 0?0:p.y+p.height;M.bands.push({key:S,color:b.color,rawColor:b.rawColor,height:g,width:M.width,count:b.count,y:S,categoryViewModel:M,parcatsViewModel:e})}else{var y=M.bands[A-1];y.height+=g,y.count+=b.count}}var E;e.pathShape==="hspline"?E=BTe(s,_,l,g,.5):E=BTe(s,_,l,g,0),h[m]={key:b.valueInds[0],model:b,height:g,leftXs:s,topYs:_,dimWidths:l,svgD:E,parcatsViewModel:e}}e.paths=h}function sF(e){var t=e.model.dimensions.map(function(o){return{displayInd:o.displayInd,dimensionInd:o.dimensionInd}});t.sort(function(o,s){return o.displayInd-s.displayInd});var r=[];for(var n in t){var i=t[n].dimensionInd,a=e.model.dimensions[i];r.push(Y_t(e,a))}e.dimensions=r}function Y_t(e,t){var r=40,n=16,i=e.model.dimensions.length,a=t.displayInd,o,s,l;i>1?o=(e.width-2*r-n)/(i-1):o=0,s=r,l=s+o*a;var u=[],f=e.model.maxCats,c=t.categories.length,h=8,d=t.count,v=e.height-h*(f-1),m,b,g,_,T,w=(f-c)*h/2,k=t.categories.map(function(x){return{displayInd:x.displayInd,categoryInd:x.categoryInd}});for(k.sort(function(x,M){return x.displayInd-M.displayInd}),T=0;T<c;T++)_=k[T].categoryInd,b=t.categories[_],d>0?m=b.count/d*v:m=0,g={key:b.valueInds[0],model:b,width:n,height:m,y:b.dragY!==null?b.dragY:w,bands:[],parcatsViewModel:e},w=w+m+h,u.push(g);return{key:t.dimensionInd,x:t.dragX!==null?t.dragX:l,y:0,width:n,model:t,categories:u,parcatsViewModel:e,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}});var lF=J((OUt,XTe)=>{"use strict";var G_t=WTe();XTe.exports=function(t,r,n,i){var a=t._fullLayout,o=a._paper,s=a._size;G_t(t,o,r,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},n,i)}});var JTe=J(o4=>{"use strict";var W_t=Nu().getModuleCalcData,X_t=lF(),ZTe="parcats";o4.name=ZTe;o4.plot=function(e,t,r,n){var i=W_t(e.calcdata,ZTe);if(i.length){var a=i[0];X_t(e,a,r,n)}};o4.clean=function(e,t,r,n){var i=n._has&&n._has("parcats"),a=t._has&&t._has("parcats");i&&!a&&n._paperdiv.selectAll(".parcats").remove()}});var KTe=J((UUt,$Te)=>{"use strict";$Te.exports={attributes:$9(),supplyDefaults:ITe(),calc:NTe(),plot:lF(),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcats",basePlotModule:JTe(),categories:["noOpacity"],meta:{description:["Parallel categories diagram for multidimensional categorical data."].join(" ")}}});var eAe=J((HUt,QTe)=>{"use strict";QTe.exports=KTe()});var fF=J((jUt,iAe)=>{"use strict";var Z_t=xa(),J_t=Qi(),tAe=Ho(),uF=b1(),$_t=Wa().attributes,rAe=Jn().hovertemplateAttrs,K_t=Da(),Q_t=ki().templatedArray,e3t=Ga().descriptionOnlyNumbers,nAe=cn().extendFlat,t3t=La().overrideAll,r3t=iAe.exports=t3t({hoverinfo:nAe({},J_t.hoverinfo,{flags:[],arrayOk:!1,description:["Determines which trace information appear on hover.","If `none` or `skip` are set, no information is displayed upon hovering.","But, if `none` is set, click and hover events are still fired.","Note that this attribute is superseded by `node.hoverinfo` and `node.hoverinfo`","for nodes and links respectively."].join(" ")}),hoverlabel:uF.hoverlabel,domain:$_t({name:"sankey",trace:!0}),orientation:{valType:"enumerated",values:["v","h"],dflt:"h",description:"Sets the orientation of the Sankey diagram."},valueformat:{valType:"string",dflt:".3s",description:e3t("value")},valuesuffix:{valType:"string",dflt:"",description:["Adds a unit to follow the value in the hover tooltip. Add a space if a separation","is necessary from the value."].join(" ")},arrangement:{valType:"enumerated",values:["snap","perpendicular","freeform","fixed"],dflt:"snap",description:["If value is `snap` (the default), the node arrangement is assisted by automatic snapping of elements to","preserve space between nodes specified via `nodepad`.","If value is `perpendicular`, the nodes can only move along a line perpendicular to the flow.","If value is `freeform`, the nodes can freely move on the plane.","If value is `fixed`, the nodes are stationary."].join(" ")},textfont:Z_t({autoShadowDflt:!0,description:"Sets the font for node labels"}),customdata:void 0,node:{label:{valType:"data_array",dflt:[],description:"The shown name of the node."},groups:{valType:"info_array",impliedEdits:{x:[],y:[]},dimensions:2,freeLength:!0,dflt:[],items:{valType:"number",editType:"calc"},description:["Groups of nodes.","Each group is defined by an array with the indices of the nodes it contains.","Multiple groups can be specified."].join(" ")},x:{valType:"data_array",dflt:[],description:"The normalized horizontal position of the node."},y:{valType:"data_array",dflt:[],description:"The normalized vertical position of the node."},color:{valType:"color",arrayOk:!0,description:["Sets the `node` color. It can be a single value, or an array for specifying color for each `node`.","If `node.color` is omitted, then the default `Plotly` color palette will be cycled through","to have a variety of colors. These defaults are not fully opaque, to allow some visibility of","what is beneath the node."].join(" ")},customdata:{valType:"data_array",editType:"calc",description:["Assigns extra data to each node."].join(" ")},line:{color:{valType:"color",dflt:tAe.defaultLine,arrayOk:!0,description:["Sets the color of the `line` around each `node`."].join(" ")},width:{valType:"number",min:0,dflt:.5,arrayOk:!0,description:["Sets the width (in px) of the `line` around each `node`."].join(" ")}},pad:{valType:"number",arrayOk:!1,min:0,dflt:20,description:"Sets the padding (in px) between the `nodes`."},thickness:{valType:"number",arrayOk:!1,min:1,dflt:20,description:"Sets the thickness (in px) of the `nodes`."},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all",description:["Determines which trace information appear when hovering nodes.","If `none` or `skip` are set, no information is displayed upon hovering.","But, if `none` is set, click and hover events are still fired."].join(" ")},hoverlabel:uF.hoverlabel,hovertemplate:rAe({},{description:"Variables `sourceLinks` and `targetLinks` are arrays of link objects.",keys:["value","label"]}),align:{valType:"enumerated",values:["justify","left","right","center"],dflt:"justify",description:"Sets the alignment method used to position the nodes along the horizontal axis."},description:"The nodes of the Sankey plot."},link:{arrowlen:{valType:"number",min:0,dflt:0,description:["Sets the length (in px) of the links arrow, if 0 no arrow will be drawn."].join(" ")},label:{valType:"data_array",dflt:[],description:"The shown name of the link."},color:{valType:"color",arrayOk:!0,description:["Sets the `link` color. It can be a single value, or an array for specifying color for each `link`.","If `link.color` is omitted, then by default, a translucent grey link will be used."].join(" ")},hovercolor:{valType:"color",arrayOk:!0,description:["Sets the `link` hover color. It can be a single value, or an array for specifying hover colors for","each `link`. If `link.hovercolor` is omitted, then by default, links will become slightly more","opaque when hovered over."].join(" ")},customdata:{valType:"data_array",editType:"calc",description:["Assigns extra data to each link."].join(" ")},line:{color:{valType:"color",dflt:tAe.defaultLine,arrayOk:!0,description:["Sets the color of the `line` around each `link`."].join(" ")},width:{valType:"number",min:0,dflt:0,arrayOk:!0,description:["Sets the width (in px) of the `line` around each `link`."].join(" ")}},source:{valType:"data_array",dflt:[],description:"An integer number `[0..nodes.length - 1]` that represents the source node."},target:{valType:"data_array",dflt:[],description:"An integer number `[0..nodes.length - 1]` that represents the target node."},value:{valType:"data_array",dflt:[],description:"A numeric value representing the flow volume value."},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all",description:["Determines which trace information appear when hovering links.","If `none` or `skip` are set, no information is displayed upon hovering.","But, if `none` is set, click and hover events are still fired."].join(" ")},hoverlabel:uF.hoverlabel,hovertemplate:rAe({},{description:"Variables `source` and `target` are node objects.",keys:["value","label"]}),colorscales:Q_t("concentrationscales",{editType:"calc",label:{valType:"string",editType:"calc",description:"The label of the links to color based on their concentration within a flow.",dflt:""},cmax:{valType:"number",editType:"calc",dflt:1,description:"Sets the upper bound of the color domain."},cmin:{valType:"number",editType:"calc",dflt:0,description:"Sets the lower bound of the color domain."},colorscale:nAe(K_t().colorscale,{dflt:[[0,"white"],[1,"black"]]})}),description:"The links of the Sankey plot."}},"calc","nested");r3t.transforms=void 0});var uAe=J((VUt,lAe)=>{"use strict";var Ix=gt(),s4=fF(),n3t=qr(),aAe=ls(),i3t=Wa().defaults,oAe=g2(),sAe=ki(),a3t=Bu();lAe.exports=function(t,r,n,i){function a(w,k){return Ix.coerce(t,r,s4,w,k)}var o=Ix.extendDeep(i.hoverlabel,t.hoverlabel),s=t.node,l=sAe.newContainer(r,"node");function u(w,k){return Ix.coerce(s,l,s4.node,w,k)}u("label"),u("groups"),u("x"),u("y"),u("pad"),u("thickness"),u("line.color"),u("line.width"),u("hoverinfo",t.hoverinfo),oAe(s,l,u,o),u("hovertemplate"),u("align");var f=i.colorway,c=function(w){return f[w%f.length]};u("color",l.label.map(function(w,k){return n3t.addOpacity(c(k),.8)})),u("customdata");var h=t.link||{},d=sAe.newContainer(r,"link");function v(w,k){return Ix.coerce(h,d,s4.link,w,k)}v("label"),v("arrowlen"),v("source"),v("target"),v("value"),v("line.color"),v("line.width"),v("hoverinfo",t.hoverinfo),oAe(h,d,v,o),v("hovertemplate");var m=aAe(i.paper_bgcolor).getLuminance()<.333,b=m?"rgba(255, 255, 255, 0.6)":"rgba(0, 0, 0, 0.2)",g=v("color",b);function _(w){var k=aAe(w);if(!k.isValid())return w;var x=k.getAlpha();return x<=.8?k.setAlpha(x+.2):k=m?k.brighten():k.darken(),k.toRgbString()}v("hovercolor",Array.isArray(g)?g.map(_):_(g)),v("customdata"),a3t(h,d,{name:"colorscales",handleItemDefaults:o3t}),i3t(r,i,a),a("orientation"),a("valueformat"),a("valuesuffix");var T;l.x.length&&l.y.length&&(T="freeform"),a("arrangement",T),Ix.coerceFont(a,"textfont",i.font,{autoShadowDflt:!0}),r._length=null};function o3t(e,t){function r(n,i){return Ix.coerce(e,t,s4.link.colorscales,n,i)}r("label"),r("cmin"),r("cmax"),r("colorscale")}});var cF=J((YUt,fAe)=>{"use strict";fAe.exports=s3t;function s3t(e){for(var t=e.length,r=new Array(t),n=new Array(t),i=new Array(t),a=new Array(t),o=new Array(t),s=new Array(t),l=0;l<t;++l)r[l]=-1,n[l]=0,i[l]=!1,a[l]=0,o[l]=-1,s[l]=[];var u=0,f=[],c=[];function h(b){var g=[b],_=[b];for(r[b]=n[b]=u,i[b]=!0,u+=1;_.length>0;){b=_[_.length-1];var T=e[b];if(a[b]<T.length){for(var w=a[b];w<T.length;++w){var k=T[w];if(r[k]<0){r[k]=n[k]=u,i[k]=!0,u+=1,g.push(k),_.push(k);break}else i[k]&&(n[b]=Math.min(n[b],n[k])|0);o[k]>=0&&s[b].push(o[k])}a[b]=w}else{if(n[b]===r[b]){for(var x=[],M=[],A=0,w=g.length-1;w>=0;--w){var p=g[w];if(i[p]=!1,x.push(p),M.push(s[p]),A+=s[p].length,o[p]=f.length,p===b){g.length=w;break}}f.push(x);for(var S=new Array(A),w=0;w<M.length;w++)for(var y=0;y<M[w].length;y++)S[--A]=M[w][y];c.push(S)}_.pop()}}}for(var l=0;l<t;++l)r[l]<0&&h(l);for(var d,l=0;l<c.length;l++){var v=c[l];if(v.length!==0){v.sort(function(g,_){return g-_}),d=[v[0]];for(var m=1;m<v.length;m++)v[m]!==v[m-1]&&d.push(v[m]);c[l]=d}}return{components:f,adjacencyList:c}}});var dAe=J((GUt,vAe)=>{"use strict";var l3t=cF(),qx=gt(),u3t=Px().wrap,W_=qx.isArrayOrTypedArray,cAe=qx.isIndex,hAe=Qa();function f3t(e){var t=e.node,r=e.link,n=[],i=W_(r.color),a=W_(r.hovercolor),o=W_(r.customdata),s={},l={},u=r.colorscales.length,f;for(f=0;f<u;f++){var c=r.colorscales[f],h=hAe.extractScale(c,{cLetter:"c"}),d=hAe.makeColorScaleFunc(h);l[c.label]=d}var v=0;for(f=0;f<r.value.length;f++)r.source[f]>v&&(v=r.source[f]),r.target[f]>v&&(v=r.target[f]);var m=v+1;e.node._count=m;var b,g=e.node.groups,_={};for(f=0;f<g.length;f++){var T=g[f];for(b=0;b<T.length;b++){var w=T[b],k=m+f;_.hasOwnProperty(w)?qx.warn("Node "+w+" is already part of a group."):_[w]=k}}var x={source:[],target:[]};for(f=0;f<r.value.length;f++){var M=r.value[f],A=r.source[f],p=r.target[f];if(M>0&&cAe(A,m)&&cAe(p,m)&&!(_.hasOwnProperty(A)&&_.hasOwnProperty(p)&&_[A]===_[p])){_.hasOwnProperty(p)&&(p=_[p]),_.hasOwnProperty(A)&&(A=_[A]),A=+A,p=+p,s[A]=s[p]=!0;var S="";r.label&&r.label[f]&&(S=r.label[f]);var y=null;S&&l.hasOwnProperty(S)&&(y=l[S]),n.push({pointNumber:f,label:S,color:i?r.color[f]:r.color,hovercolor:a?r.hovercolor[f]:r.hovercolor,customdata:o?r.customdata[f]:r.customdata,concentrationscale:y,source:A,target:p,value:+M}),x.source.push(A),x.target.push(p)}}var E=m+g.length,C=W_(t.color),L=W_(t.customdata),R=[];for(f=0;f<E;f++)if(s[f]){var I=t.label[f];R.push({group:f>m-1,childrenNodes:[],pointNumber:f,label:I,color:C?t.color[f]:t.color,customdata:L?t.customdata[f]:t.customdata})}var P=!1;return c3t(E,x.source,x.target)&&(P=!0),{circular:P,links:n,nodes:R,groups:g,groupLookup:_}}function c3t(e,t,r){for(var n=qx.init2dArray(e,0),i=0;i<Math.min(t.length,r.length);i++)if(qx.isIndex(t[i],e)&&qx.isIndex(r[i],e)){if(t[i]===r[i])return!0;n[t[i]].push(r[i])}var a=l3t(n);return a.components.some(function(o){return o.length>1})}vAe.exports=function(t,r){var n=f3t(r);return u3t({circular:n.circular,_nodes:n.nodes,_links:n.links,_groups:n.groups,_groupLookup:n.groupLookup})}});var gAe=J((l4,pAe)=>{(function(e,t){typeof l4=="object"&&typeof pAe<"u"?t(l4):typeof define=="function"&&define.amd?define(["exports"],t):(e=e||self,t(e.d3=e.d3||{}))})(l4,function(e){"use strict";function t(M){var A=+this._x.call(null,M),p=+this._y.call(null,M);return r(this.cover(A,p),A,p,M)}function r(M,A,p,S){if(isNaN(A)||isNaN(p))return M;var y,E=M._root,C={data:S},L=M._x0,R=M._y0,I=M._x1,P=M._y1,D,q,N,U,G,ee,Q,j;if(!E)return M._root=C,M;for(;E.length;)if((G=A>=(D=(L+I)/2))?L=D:I=D,(ee=p>=(q=(R+P)/2))?R=q:P=q,y=E,!(E=E[Q=ee<<1|G]))return y[Q]=C,M;if(N=+M._x.call(null,E.data),U=+M._y.call(null,E.data),A===N&&p===U)return C.next=E,y?y[Q]=C:M._root=C,M;do y=y?y[Q]=new Array(4):M._root=new Array(4),(G=A>=(D=(L+I)/2))?L=D:I=D,(ee=p>=(q=(R+P)/2))?R=q:P=q;while((Q=ee<<1|G)===(j=(U>=q)<<1|N>=D));return y[j]=E,y[Q]=C,M}function n(M){var A,p,S=M.length,y,E,C=new Array(S),L=new Array(S),R=1/0,I=1/0,P=-1/0,D=-1/0;for(p=0;p<S;++p)isNaN(y=+this._x.call(null,A=M[p]))||isNaN(E=+this._y.call(null,A))||(C[p]=y,L[p]=E,y<R&&(R=y),y>P&&(P=y),E<I&&(I=E),E>D&&(D=E));if(R>P||I>D)return this;for(this.cover(R,I).cover(P,D),p=0;p<S;++p)r(this,C[p],L[p],M[p]);return this}function i(M,A){if(isNaN(M=+M)||isNaN(A=+A))return this;var p=this._x0,S=this._y0,y=this._x1,E=this._y1;if(isNaN(p))y=(p=Math.floor(M))+1,E=(S=Math.floor(A))+1;else{for(var C=y-p,L=this._root,R,I;p>M||M>=y||S>A||A>=E;)switch(I=(A<S)<<1|M<p,R=new Array(4),R[I]=L,L=R,C*=2,I){case 0:y=p+C,E=S+C;break;case 1:p=y-C,E=S+C;break;case 2:y=p+C,S=E-C;break;case 3:p=y-C,S=E-C;break}this._root&&this._root.length&&(this._root=L)}return this._x0=p,this._y0=S,this._x1=y,this._y1=E,this}function a(){var M=[];return this.visit(function(A){if(!A.length)do M.push(A.data);while(A=A.next)}),M}function o(M){return arguments.length?this.cover(+M[0][0],+M[0][1]).cover(+M[1][0],+M[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}function s(M,A,p,S,y){this.node=M,this.x0=A,this.y0=p,this.x1=S,this.y1=y}function l(M,A,p){var S,y=this._x0,E=this._y0,C,L,R,I,P=this._x1,D=this._y1,q=[],N=this._root,U,G;for(N&&q.push(new s(N,y,E,P,D)),p==null?p=1/0:(y=M-p,E=A-p,P=M+p,D=A+p,p*=p);U=q.pop();)if(!(!(N=U.node)||(C=U.x0)>P||(L=U.y0)>D||(R=U.x1)<y||(I=U.y1)<E))if(N.length){var ee=(C+R)/2,Q=(L+I)/2;q.push(new s(N[3],ee,Q,R,I),new s(N[2],C,Q,ee,I),new s(N[1],ee,L,R,Q),new s(N[0],C,L,ee,Q)),(G=(A>=Q)<<1|M>=ee)&&(U=q[q.length-1],q[q.length-1]=q[q.length-1-G],q[q.length-1-G]=U)}else{var j=M-+this._x.call(null,N.data),O=A-+this._y.call(null,N.data),Z=j*j+O*O;if(Z<p){var K=Math.sqrt(p=Z);y=M-K,E=A-K,P=M+K,D=A+K,S=N.data}}return S}function u(M){if(isNaN(P=+this._x.call(null,M))||isNaN(D=+this._y.call(null,M)))return this;var A,p=this._root,S,y,E,C=this._x0,L=this._y0,R=this._x1,I=this._y1,P,D,q,N,U,G,ee,Q;if(!p)return this;if(p.length)for(;;){if((U=P>=(q=(C+R)/2))?C=q:R=q,(G=D>=(N=(L+I)/2))?L=N:I=N,A=p,!(p=p[ee=G<<1|U]))return this;if(!p.length)break;(A[ee+1&3]||A[ee+2&3]||A[ee+3&3])&&(S=A,Q=ee)}for(;p.data!==M;)if(y=p,!(p=p.next))return this;return(E=p.next)&&delete p.next,y?(E?y.next=E:delete y.next,this):A?(E?A[ee]=E:delete A[ee],(p=A[0]||A[1]||A[2]||A[3])&&p===(A[3]||A[2]||A[1]||A[0])&&!p.length&&(S?S[Q]=p:this._root=p),this):(this._root=E,this)}function f(M){for(var A=0,p=M.length;A<p;++A)this.remove(M[A]);return this}function c(){return this._root}function h(){var M=0;return this.visit(function(A){if(!A.length)do++M;while(A=A.next)}),M}function d(M){var A=[],p,S=this._root,y,E,C,L,R;for(S&&A.push(new s(S,this._x0,this._y0,this._x1,this._y1));p=A.pop();)if(!M(S=p.node,E=p.x0,C=p.y0,L=p.x1,R=p.y1)&&S.length){var I=(E+L)/2,P=(C+R)/2;(y=S[3])&&A.push(new s(y,I,P,L,R)),(y=S[2])&&A.push(new s(y,E,P,I,R)),(y=S[1])&&A.push(new s(y,I,C,L,P)),(y=S[0])&&A.push(new s(y,E,C,I,P))}return this}function v(M){var A=[],p=[],S;for(this._root&&A.push(new s(this._root,this._x0,this._y0,this._x1,this._y1));S=A.pop();){var y=S.node;if(y.length){var E,C=S.x0,L=S.y0,R=S.x1,I=S.y1,P=(C+R)/2,D=(L+I)/2;(E=y[0])&&A.push(new s(E,C,L,P,D)),(E=y[1])&&A.push(new s(E,P,L,R,D)),(E=y[2])&&A.push(new s(E,C,D,P,I)),(E=y[3])&&A.push(new s(E,P,D,R,I))}p.push(S)}for(;S=p.pop();)M(S.node,S.x0,S.y0,S.x1,S.y1);return this}function m(M){return M[0]}function b(M){return arguments.length?(this._x=M,this):this._x}function g(M){return M[1]}function _(M){return arguments.length?(this._y=M,this):this._y}function T(M,A,p){var S=new w(A??m,p??g,NaN,NaN,NaN,NaN);return M==null?S:S.addAll(M)}function w(M,A,p,S,y,E){this._x=M,this._y=A,this._x0=p,this._y0=S,this._x1=y,this._y1=E,this._root=void 0}function k(M){for(var A={data:M.data},p=A;M=M.next;)p=p.next={data:M.data};return A}var x=T.prototype=w.prototype;x.copy=function(){var M=new w(this._x,this._y,this._x0,this._y0,this._x1,this._y1),A=this._root,p,S;if(!A)return M;if(!A.length)return M._root=k(A),M;for(p=[{source:A,target:M._root=new Array(4)}];A=p.pop();)for(var y=0;y<4;++y)(S=A.source[y])&&(S.length?p.push({source:S,target:A.target[y]=new Array(4)}):A.target[y]=k(S));return M},x.add=t,x.addAll=n,x.cover=i,x.data=a,x.extent=o,x.find=l,x.remove=u,x.removeAll=f,x.root=c,x.size=h,x.visit=d,x.visitAfter=v,x.x=b,x.y=_,e.quadtree=T,Object.defineProperty(e,"__esModule",{value:!0})})});var f4=J((u4,mAe)=>{(function(e,t){typeof u4=="object"&&typeof mAe<"u"?t(u4):typeof define=="function"&&define.amd?define(["exports"],t):t(e.d3=e.d3||{})})(u4,function(e){"use strict";var t="$";function r(){}r.prototype=n.prototype={constructor:r,has:function(m){return t+m in this},get:function(m){return this[t+m]},set:function(m,b){return this[t+m]=b,this},remove:function(m){var b=t+m;return b in this&&delete this[b]},clear:function(){for(var m in this)m[0]===t&&delete this[m]},keys:function(){var m=[];for(var b in this)b[0]===t&&m.push(b.slice(1));return m},values:function(){var m=[];for(var b in this)b[0]===t&&m.push(this[b]);return m},entries:function(){var m=[];for(var b in this)b[0]===t&&m.push({key:b.slice(1),value:this[b]});return m},size:function(){var m=0;for(var b in this)b[0]===t&&++m;return m},empty:function(){for(var m in this)if(m[0]===t)return!1;return!0},each:function(m){for(var b in this)b[0]===t&&m(this[b],b.slice(1),this)}};function n(m,b){var g=new r;if(m instanceof r)m.each(function(x,M){g.set(M,x)});else if(Array.isArray(m)){var _=-1,T=m.length,w;if(b==null)for(;++_<T;)g.set(_,m[_]);else for(;++_<T;)g.set(b(w=m[_],_,m),w)}else if(m)for(var k in m)g.set(k,m[k]);return g}function i(){var m=[],b=[],g,_,T;function w(x,M,A,p){if(M>=m.length)return g!=null&&x.sort(g),_!=null?_(x):x;for(var S=-1,y=x.length,E=m[M++],C,L,R=n(),I,P=A();++S<y;)(I=R.get(C=E(L=x[S])+""))?I.push(L):R.set(C,[L]);return R.each(function(D,q){p(P,q,w(D,M,A,p))}),P}function k(x,M){if(++M>m.length)return x;var A,p=b[M-1];return _!=null&&M>=m.length?A=x.entries():(A=[],x.each(function(S,y){A.push({key:y,values:k(S,M)})})),p!=null?A.sort(function(S,y){return p(S.key,y.key)}):A}return T={object:function(x){return w(x,0,a,o)},map:function(x){return w(x,0,s,l)},entries:function(x){return k(w(x,0,s,l),0)},key:function(x){return m.push(x),T},sortKeys:function(x){return b[m.length-1]=x,T},sortValues:function(x){return g=x,T},rollup:function(x){return _=x,T}}}function a(){return{}}function o(m,b,g){m[b]=g}function s(){return n()}function l(m,b,g){m.set(b,g)}function u(){}var f=n.prototype;u.prototype=c.prototype={constructor:u,has:f.has,add:function(m){return m+="",this[t+m]=m,this},remove:f.remove,clear:f.clear,values:f.keys,size:f.size,empty:f.empty,each:f.each};function c(m,b){var g=new u;if(m instanceof u)m.each(function(w){g.add(w)});else if(m){var _=-1,T=m.length;if(b==null)for(;++_<T;)g.add(m[_]);else for(;++_<T;)g.add(b(m[_],_,m))}return g}function h(m){var b=[];for(var g in m)b.push(g);return b}function d(m){var b=[];for(var g in m)b.push(m[g]);return b}function v(m){var b=[];for(var g in m)b.push({key:g,value:m[g]});return b}e.nest=i,e.set=c,e.map=n,e.keys=h,e.values=d,e.entries=v,Object.defineProperty(e,"__esModule",{value:!0})})});var xAe=J((c4,yAe)=>{(function(e,t){typeof c4=="object"&&typeof yAe<"u"?t(c4):typeof define=="function"&&define.amd?define(["exports"],t):(e=e||self,t(e.d3=e.d3||{}))})(c4,function(e){"use strict";var t={value:function(){}};function r(){for(var s=0,l=arguments.length,u={},f;s<l;++s){if(!(f=arguments[s]+"")||f in u||/[\s.]/.test(f))throw new Error("illegal type: "+f);u[f]=[]}return new n(u)}function n(s){this._=s}function i(s,l){return s.trim().split(/^|\s+/).map(function(u){var f="",c=u.indexOf(".");if(c>=0&&(f=u.slice(c+1),u=u.slice(0,c)),u&&!l.hasOwnProperty(u))throw new Error("unknown type: "+u);return{type:u,name:f}})}n.prototype=r.prototype={constructor:n,on:function(s,l){var u=this._,f=i(s+"",u),c,h=-1,d=f.length;if(arguments.length<2){for(;++h<d;)if((c=(s=f[h]).type)&&(c=a(u[c],s.name)))return c;return}if(l!=null&&typeof l!="function")throw new Error("invalid callback: "+l);for(;++h<d;)if(c=(s=f[h]).type)u[c]=o(u[c],s.name,l);else if(l==null)for(c in u)u[c]=o(u[c],s.name,null);return this},copy:function(){var s={},l=this._;for(var u in l)s[u]=l[u].slice();return new n(s)},call:function(s,l){if((c=arguments.length-2)>0)for(var u=new Array(c),f=0,c,h;f<c;++f)u[f]=arguments[f+2];if(!this._.hasOwnProperty(s))throw new Error("unknown type: "+s);for(h=this._[s],f=0,c=h.length;f<c;++f)h[f].value.apply(l,u)},apply:function(s,l,u){if(!this._.hasOwnProperty(s))throw new Error("unknown type: "+s);for(var f=this._[s],c=0,h=f.length;c<h;++c)f[c].value.apply(l,u)}};function a(s,l){for(var u=0,f=s.length,c;u<f;++u)if((c=s[u]).name===l)return c.value}function o(s,l,u){for(var f=0,c=s.length;f<c;++f)if(s[f].name===l){s[f]=t,s=s.slice(0,f).concat(s.slice(f+1));break}return u!=null&&s.push({name:l,value:u}),s}e.dispatch=r,Object.defineProperty(e,"__esModule",{value:!0})})});var wAe=J((h4,bAe)=>{(function(e,t){typeof h4=="object"&&typeof bAe<"u"?t(h4):typeof define=="function"&&define.amd?define(["exports"],t):(e=e||self,t(e.d3=e.d3||{}))})(h4,function(e){"use strict";var t=0,r=0,n=0,i=1e3,a,o,s=0,l=0,u=0,f=typeof performance=="object"&&performance.now?performance:Date,c=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(M){setTimeout(M,17)};function h(){return l||(c(d),l=f.now()+u)}function d(){l=0}function v(){this._call=this._time=this._next=null}v.prototype=m.prototype={constructor:v,restart:function(M,A,p){if(typeof M!="function")throw new TypeError("callback is not a function");p=(p==null?h():+p)+(A==null?0:+A),!this._next&&o!==this&&(o?o._next=this:a=this,o=this),this._call=M,this._time=p,w()},stop:function(){this._call&&(this._call=null,this._time=1/0,w())}};function m(M,A,p){var S=new v;return S.restart(M,A,p),S}function b(){h(),++t;for(var M=a,A;M;)(A=l-M._time)>=0&&M._call.call(null,A),M=M._next;--t}function g(){l=(s=f.now())+u,t=r=0;try{b()}finally{t=0,T(),l=0}}function _(){var M=f.now(),A=M-s;A>i&&(u-=A,s=M)}function T(){for(var M,A=a,p,S=1/0;A;)A._call?(S>A._time&&(S=A._time),M=A,A=A._next):(p=A._next,A._next=null,A=M?M._next=p:a=p);o=M,w(S)}function w(M){if(!t){r&&(r=clearTimeout(r));var A=M-l;A>24?(M<1/0&&(r=setTimeout(g,M-f.now()-u)),n&&(n=clearInterval(n))):(n||(s=f.now(),n=setInterval(_,i)),t=1,c(g))}}function k(M,A,p){var S=new v;return A=A==null?0:+A,S.restart(function(y){S.stop(),M(y+A)},A,p),S}function x(M,A,p){var S=new v,y=A;return A==null?(S.restart(M,A,p),S):(A=+A,p=p==null?h():+p,S.restart(function E(C){C+=y,S.restart(E,y+=A,p),M(C)},A,p),S)}e.interval=x,e.now=h,e.timeout=k,e.timer=m,e.timerFlush=b,Object.defineProperty(e,"__esModule",{value:!0})})});var TAe=J((v4,_Ae)=>{(function(e,t){typeof v4=="object"&&typeof _Ae<"u"?t(v4,gAe(),f4(),xAe(),wAe()):typeof define=="function"&&define.amd?define(["exports","d3-quadtree","d3-collection","d3-dispatch","d3-timer"],t):t(e.d3=e.d3||{},e.d3,e.d3,e.d3,e.d3)})(v4,function(e,t,r,n,i){"use strict";function a(M,A){var p;M==null&&(M=0),A==null&&(A=0);function S(){var y,E=p.length,C,L=0,R=0;for(y=0;y<E;++y)C=p[y],L+=C.x,R+=C.y;for(L=L/E-M,R=R/E-A,y=0;y<E;++y)C=p[y],C.x-=L,C.y-=R}return S.initialize=function(y){p=y},S.x=function(y){return arguments.length?(M=+y,S):M},S.y=function(y){return arguments.length?(A=+y,S):A},S}function o(M){return function(){return M}}function s(){return(Math.random()-.5)*1e-6}function l(M){return M.x+M.vx}function u(M){return M.y+M.vy}function f(M){var A,p,S=1,y=1;typeof M!="function"&&(M=o(M==null?1:+M));function E(){for(var R,I=A.length,P,D,q,N,U,G,ee=0;ee<y;++ee)for(P=t.quadtree(A,l,u).visitAfter(C),R=0;R<I;++R)D=A[R],U=p[D.index],G=U*U,q=D.x+D.vx,N=D.y+D.vy,P.visit(Q);function Q(j,O,Z,K,$){var oe=j.data,te=j.r,V=U+te;if(oe){if(oe.index>D.index){var ne=q-oe.x-oe.vx,W=N-oe.y-oe.vy,fe=ne*ne+W*W;fe<V*V&&(ne===0&&(ne=s(),fe+=ne*ne),W===0&&(W=s(),fe+=W*W),fe=(V-(fe=Math.sqrt(fe)))/fe*S,D.vx+=(ne*=fe)*(V=(te*=te)/(G+te)),D.vy+=(W*=fe)*V,oe.vx-=ne*(V=1-V),oe.vy-=W*V)}return}return O>q+V||K<q-V||Z>N+V||$<N-V}}function C(R){if(R.data)return R.r=p[R.data.index];for(var I=R.r=0;I<4;++I)R[I]&&R[I].r>R.r&&(R.r=R[I].r)}function L(){if(A){var R,I=A.length,P;for(p=new Array(I),R=0;R<I;++R)P=A[R],p[P.index]=+M(P,R,A)}}return E.initialize=function(R){A=R,L()},E.iterations=function(R){return arguments.length?(y=+R,E):y},E.strength=function(R){return arguments.length?(S=+R,E):S},E.radius=function(R){return arguments.length?(M=typeof R=="function"?R:o(+R),L(),E):M},E}function c(M){return M.index}function h(M,A){var p=M.get(A);if(!p)throw new Error("missing: "+A);return p}function d(M){var A=c,p=P,S,y=o(30),E,C,L,R,I=1;M==null&&(M=[]);function P(G){return 1/Math.min(L[G.source.index],L[G.target.index])}function D(G){for(var ee=0,Q=M.length;ee<I;++ee)for(var j=0,O,Z,K,$,oe,te,V;j<Q;++j)O=M[j],Z=O.source,K=O.target,$=K.x+K.vx-Z.x-Z.vx||s(),oe=K.y+K.vy-Z.y-Z.vy||s(),te=Math.sqrt($*$+oe*oe),te=(te-E[j])/te*G*S[j],$*=te,oe*=te,K.vx-=$*(V=R[j]),K.vy-=oe*V,Z.vx+=$*(V=1-V),Z.vy+=oe*V}function q(){if(C){var G,ee=C.length,Q=M.length,j=r.map(C,A),O;for(G=0,L=new Array(ee);G<Q;++G)O=M[G],O.index=G,typeof O.source!="object"&&(O.source=h(j,O.source)),typeof O.target!="object"&&(O.target=h(j,O.target)),L[O.source.index]=(L[O.source.index]||0)+1,L[O.target.index]=(L[O.target.index]||0)+1;for(G=0,R=new Array(Q);G<Q;++G)O=M[G],R[G]=L[O.source.index]/(L[O.source.index]+L[O.target.index]);S=new Array(Q),N(),E=new Array(Q),U()}}function N(){if(C)for(var G=0,ee=M.length;G<ee;++G)S[G]=+p(M[G],G,M)}function U(){if(C)for(var G=0,ee=M.length;G<ee;++G)E[G]=+y(M[G],G,M)}return D.initialize=function(G){C=G,q()},D.links=function(G){return arguments.length?(M=G,q(),D):M},D.id=function(G){return arguments.length?(A=G,D):A},D.iterations=function(G){return arguments.length?(I=+G,D):I},D.strength=function(G){return arguments.length?(p=typeof G=="function"?G:o(+G),N(),D):p},D.distance=function(G){return arguments.length?(y=typeof G=="function"?G:o(+G),U(),D):y},D}function v(M){return M.x}function m(M){return M.y}var b=10,g=Math.PI*(3-Math.sqrt(5));function _(M){var A,p=1,S=.001,y=1-Math.pow(S,1/300),E=0,C=.6,L=r.map(),R=i.timer(P),I=n.dispatch("tick","end");M==null&&(M=[]);function P(){D(),I.call("tick",A),p<S&&(R.stop(),I.call("end",A))}function D(U){var G,ee=M.length,Q;U===void 0&&(U=1);for(var j=0;j<U;++j)for(p+=(E-p)*y,L.each(function(O){O(p)}),G=0;G<ee;++G)Q=M[G],Q.fx==null?Q.x+=Q.vx*=C:(Q.x=Q.fx,Q.vx=0),Q.fy==null?Q.y+=Q.vy*=C:(Q.y=Q.fy,Q.vy=0);return A}function q(){for(var U=0,G=M.length,ee;U<G;++U){if(ee=M[U],ee.index=U,ee.fx!=null&&(ee.x=ee.fx),ee.fy!=null&&(ee.y=ee.fy),isNaN(ee.x)||isNaN(ee.y)){var Q=b*Math.sqrt(U),j=U*g;ee.x=Q*Math.cos(j),ee.y=Q*Math.sin(j)}(isNaN(ee.vx)||isNaN(ee.vy))&&(ee.vx=ee.vy=0)}}function N(U){return U.initialize&&U.initialize(M),U}return q(),A={tick:D,restart:function(){return R.restart(P),A},stop:function(){return R.stop(),A},nodes:function(U){return arguments.length?(M=U,q(),L.each(N),A):M},alpha:function(U){return arguments.length?(p=+U,A):p},alphaMin:function(U){return arguments.length?(S=+U,A):S},alphaDecay:function(U){return arguments.length?(y=+U,A):+y},alphaTarget:function(U){return arguments.length?(E=+U,A):E},velocityDecay:function(U){return arguments.length?(C=1-U,A):1-C},force:function(U,G){return arguments.length>1?(G==null?L.remove(U):L.set(U,N(G)),A):L.get(U)},find:function(U,G,ee){var Q=0,j=M.length,O,Z,K,$,oe;for(ee==null?ee=1/0:ee*=ee,Q=0;Q<j;++Q)$=M[Q],O=U-$.x,Z=G-$.y,K=O*O+Z*Z,K<ee&&(oe=$,ee=K);return oe},on:function(U,G){return arguments.length>1?(I.on(U,G),A):I.on(U)}}}function T(){var M,A,p,S=o(-30),y,E=1,C=1/0,L=.81;function R(q){var N,U=M.length,G=t.quadtree(M,v,m).visitAfter(P);for(p=q,N=0;N<U;++N)A=M[N],G.visit(D)}function I(){if(M){var q,N=M.length,U;for(y=new Array(N),q=0;q<N;++q)U=M[q],y[U.index]=+S(U,q,M)}}function P(q){var N=0,U,G,ee=0,Q,j,O;if(q.length){for(Q=j=O=0;O<4;++O)(U=q[O])&&(G=Math.abs(U.value))&&(N+=U.value,ee+=G,Q+=G*U.x,j+=G*U.y);q.x=Q/ee,q.y=j/ee}else{U=q,U.x=U.data.x,U.y=U.data.y;do N+=y[U.data.index];while(U=U.next)}q.value=N}function D(q,N,U,G){if(!q.value)return!0;var ee=q.x-A.x,Q=q.y-A.y,j=G-N,O=ee*ee+Q*Q;if(j*j/L<O)return O<C&&(ee===0&&(ee=s(),O+=ee*ee),Q===0&&(Q=s(),O+=Q*Q),O<E&&(O=Math.sqrt(E*O)),A.vx+=ee*q.value*p/O,A.vy+=Q*q.value*p/O),!0;if(q.length||O>=C)return;(q.data!==A||q.next)&&(ee===0&&(ee=s(),O+=ee*ee),Q===0&&(Q=s(),O+=Q*Q),O<E&&(O=Math.sqrt(E*O)));do q.data!==A&&(j=y[q.data.index]*p/O,A.vx+=ee*j,A.vy+=Q*j);while(q=q.next)}return R.initialize=function(q){M=q,I()},R.strength=function(q){return arguments.length?(S=typeof q=="function"?q:o(+q),I(),R):S},R.distanceMin=function(q){return arguments.length?(E=q*q,R):Math.sqrt(E)},R.distanceMax=function(q){return arguments.length?(C=q*q,R):Math.sqrt(C)},R.theta=function(q){return arguments.length?(L=q*q,R):Math.sqrt(L)},R}function w(M,A,p){var S,y=o(.1),E,C;typeof M!="function"&&(M=o(+M)),A==null&&(A=0),p==null&&(p=0);function L(I){for(var P=0,D=S.length;P<D;++P){var q=S[P],N=q.x-A||1e-6,U=q.y-p||1e-6,G=Math.sqrt(N*N+U*U),ee=(C[P]-G)*E[P]*I/G;q.vx+=N*ee,q.vy+=U*ee}}function R(){if(S){var I,P=S.length;for(E=new Array(P),C=new Array(P),I=0;I<P;++I)C[I]=+M(S[I],I,S),E[I]=isNaN(C[I])?0:+y(S[I],I,S)}}return L.initialize=function(I){S=I,R()},L.strength=function(I){return arguments.length?(y=typeof I=="function"?I:o(+I),R(),L):y},L.radius=function(I){return arguments.length?(M=typeof I=="function"?I:o(+I),R(),L):M},L.x=function(I){return arguments.length?(A=+I,L):A},L.y=function(I){return arguments.length?(p=+I,L):p},L}function k(M){var A=o(.1),p,S,y;typeof M!="function"&&(M=o(M==null?0:+M));function E(L){for(var R=0,I=p.length,P;R<I;++R)P=p[R],P.vx+=(y[R]-P.x)*S[R]*L}function C(){if(p){var L,R=p.length;for(S=new Array(R),y=new Array(R),L=0;L<R;++L)S[L]=isNaN(y[L]=+M(p[L],L,p))?0:+A(p[L],L,p)}}return E.initialize=function(L){p=L,C()},E.strength=function(L){return arguments.length?(A=typeof L=="function"?L:o(+L),C(),E):A},E.x=function(L){return arguments.length?(M=typeof L=="function"?L:o(+L),C(),E):M},E}function x(M){var A=o(.1),p,S,y;typeof M!="function"&&(M=o(M==null?0:+M));function E(L){for(var R=0,I=p.length,P;R<I;++R)P=p[R],P.vy+=(y[R]-P.y)*S[R]*L}function C(){if(p){var L,R=p.length;for(S=new Array(R),y=new Array(R),L=0;L<R;++L)S[L]=isNaN(y[L]=+M(p[L],L,p))?0:+A(p[L],L,p)}}return E.initialize=function(L){p=L,C()},E.strength=function(L){return arguments.length?(A=typeof L=="function"?L:o(+L),C(),E):A},E.y=function(L){return arguments.length?(M=typeof L=="function"?L:o(+L),C(),E):M},E}e.forceCenter=a,e.forceCollide=f,e.forceLink=d,e.forceManyBody=T,e.forceRadial=w,e.forceSimulation=_,e.forceX=k,e.forceY=x,Object.defineProperty(e,"__esModule",{value:!0})})});var MAe=J((d4,AAe)=>{(function(e,t){typeof d4=="object"&&typeof AAe<"u"?t(d4):typeof define=="function"&&define.amd?define(["exports"],t):(e=e||self,t(e.d3=e.d3||{}))})(d4,function(e){"use strict";var t=Math.PI,r=2*t,n=1e-6,i=r-n;function a(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function o(){return new a}a.prototype=o.prototype={constructor:a,moveTo:function(s,l){this._+="M"+(this._x0=this._x1=+s)+","+(this._y0=this._y1=+l)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(s,l){this._+="L"+(this._x1=+s)+","+(this._y1=+l)},quadraticCurveTo:function(s,l,u,f){this._+="Q"+ +s+","+ +l+","+(this._x1=+u)+","+(this._y1=+f)},bezierCurveTo:function(s,l,u,f,c,h){this._+="C"+ +s+","+ +l+","+ +u+","+ +f+","+(this._x1=+c)+","+(this._y1=+h)},arcTo:function(s,l,u,f,c){s=+s,l=+l,u=+u,f=+f,c=+c;var h=this._x1,d=this._y1,v=u-s,m=f-l,b=h-s,g=d-l,_=b*b+g*g;if(c<0)throw new Error("negative radius: "+c);if(this._x1===null)this._+="M"+(this._x1=s)+","+(this._y1=l);else if(_>n)if(!(Math.abs(g*v-m*b)>n)||!c)this._+="L"+(this._x1=s)+","+(this._y1=l);else{var T=u-h,w=f-d,k=v*v+m*m,x=T*T+w*w,M=Math.sqrt(k),A=Math.sqrt(_),p=c*Math.tan((t-Math.acos((k+_-x)/(2*M*A)))/2),S=p/A,y=p/M;Math.abs(S-1)>n&&(this._+="L"+(s+S*b)+","+(l+S*g)),this._+="A"+c+","+c+",0,0,"+ +(g*T>b*w)+","+(this._x1=s+y*v)+","+(this._y1=l+y*m)}},arc:function(s,l,u,f,c,h){s=+s,l=+l,u=+u,h=!!h;var d=u*Math.cos(f),v=u*Math.sin(f),m=s+d,b=l+v,g=1^h,_=h?f-c:c-f;if(u<0)throw new Error("negative radius: "+u);this._x1===null?this._+="M"+m+","+b:(Math.abs(this._x1-m)>n||Math.abs(this._y1-b)>n)&&(this._+="L"+m+","+b),u&&(_<0&&(_=_%r+r),_>i?this._+="A"+u+","+u+",0,1,"+g+","+(s-d)+","+(l-v)+"A"+u+","+u+",0,1,"+g+","+(this._x1=m)+","+(this._y1=b):_>n&&(this._+="A"+u+","+u+",0,"+ +(_>=t)+","+g+","+(this._x1=s+u*Math.cos(c))+","+(this._y1=l+u*Math.sin(c))))},rect:function(s,l,u,f){this._+="M"+(this._x0=this._x1=+s)+","+(this._y0=this._y1=+l)+"h"+ +u+"v"+ +f+"h"+-u+"Z"},toString:function(){return this._}},e.path=o,Object.defineProperty(e,"__esModule",{value:!0})})});var hF=J((p4,kAe)=>{(function(e,t){typeof p4=="object"&&typeof kAe<"u"?t(p4,MAe()):typeof define=="function"&&define.amd?define(["exports","d3-path"],t):(e=e||self,t(e.d3=e.d3||{},e.d3))})(p4,function(e,t){"use strict";function r(De){return function(){return De}}var n=Math.abs,i=Math.atan2,a=Math.cos,o=Math.max,s=Math.min,l=Math.sin,u=Math.sqrt,f=1e-12,c=Math.PI,h=c/2,d=2*c;function v(De){return De>1?0:De<-1?c:Math.acos(De)}function m(De){return De>=1?h:De<=-1?-h:Math.asin(De)}function b(De){return De.innerRadius}function g(De){return De.outerRadius}function _(De){return De.startAngle}function T(De){return De.endAngle}function w(De){return De&&De.padAngle}function k(De,ct,ht,Mt,Gt,Lt,ir,zt){var ar=ht-De,kr=Mt-ct,Er=ir-Gt,Xr=zt-Lt,vn=Xr*ar-Er*kr;if(!(vn*vn<f))return vn=(Er*(ct-Lt)-Xr*(De-Gt))/vn,[De+vn*ar,ct+vn*kr]}function x(De,ct,ht,Mt,Gt,Lt,ir){var zt=De-ht,ar=ct-Mt,kr=(ir?Lt:-Lt)/u(zt*zt+ar*ar),Er=kr*ar,Xr=-kr*zt,vn=De+Er,ei=ct+Xr,Rn=ht+Er,hi=Mt+Xr,Xn=(vn+Rn)/2,$i=(ei+hi)/2,Ki=Rn-vn,sa=hi-ei,Ma=Ki*Ki+sa*sa,qa=Gt-Lt,Fa=vn*hi-Rn*ei,$o=(sa<0?-1:1)*u(o(0,qa*qa*Ma-Fa*Fa)),_o=(Fa*sa-Ki*$o)/Ma,ka=(-Fa*Ki-sa*$o)/Ma,za=(Fa*sa+Ki*$o)/Ma,zn=(-Fa*Ki+sa*$o)/Ma,Zr=_o-Xn,vi=ka-$i,Ko=za-Xn,tl=zn-$i;return Zr*Zr+vi*vi>Ko*Ko+tl*tl&&(_o=za,ka=zn),{cx:_o,cy:ka,x01:-Er,y01:-Xr,x11:_o*(Gt/qa-1),y11:ka*(Gt/qa-1)}}function M(){var De=b,ct=g,ht=r(0),Mt=null,Gt=_,Lt=T,ir=w,zt=null;function ar(){var kr,Er,Xr=+De.apply(this,arguments),vn=+ct.apply(this,arguments),ei=Gt.apply(this,arguments)-h,Rn=Lt.apply(this,arguments)-h,hi=n(Rn-ei),Xn=Rn>ei;if(zt||(zt=kr=t.path()),vn<Xr&&(Er=vn,vn=Xr,Xr=Er),!(vn>f))zt.moveTo(0,0);else if(hi>d-f)zt.moveTo(vn*a(ei),vn*l(ei)),zt.arc(0,0,vn,ei,Rn,!Xn),Xr>f&&(zt.moveTo(Xr*a(Rn),Xr*l(Rn)),zt.arc(0,0,Xr,Rn,ei,Xn));else{var $i=ei,Ki=Rn,sa=ei,Ma=Rn,qa=hi,Fa=hi,$o=ir.apply(this,arguments)/2,_o=$o>f&&(Mt?+Mt.apply(this,arguments):u(Xr*Xr+vn*vn)),ka=s(n(vn-Xr)/2,+ht.apply(this,arguments)),za=ka,zn=ka,Zr,vi;if(_o>f){var Ko=m(_o/Xr*l($o)),tl=m(_o/vn*l($o));(qa-=Ko*2)>f?(Ko*=Xn?1:-1,sa+=Ko,Ma-=Ko):(qa=0,sa=Ma=(ei+Rn)/2),(Fa-=tl*2)>f?(tl*=Xn?1:-1,$i+=tl,Ki-=tl):(Fa=0,$i=Ki=(ei+Rn)/2)}var Zl=vn*a($i),qs=vn*l($i),Qo=Xr*a(Ma),rl=Xr*l(Ma);if(ka>f){var ef=vn*a(Ki),Bi=vn*l(Ki),tf=Xr*a(sa),so=Xr*l(sa),es;if(hi<c&&(es=k(Zl,qs,tf,so,ef,Bi,Qo,rl))){var Fs=Zl-es[0],lo=qs-es[1],bs=ef-es[0],ws=Bi-es[1],rf=1/l(v((Fs*bs+lo*ws)/(u(Fs*Fs+lo*lo)*u(bs*bs+ws*ws)))/2),ts=u(es[0]*es[0]+es[1]*es[1]);za=s(ka,(Xr-ts)/(rf-1)),zn=s(ka,(vn-ts)/(rf+1))}}Fa>f?zn>f?(Zr=x(tf,so,Zl,qs,vn,zn,Xn),vi=x(ef,Bi,Qo,rl,vn,zn,Xn),zt.moveTo(Zr.cx+Zr.x01,Zr.cy+Zr.y01),zn<ka?zt.arc(Zr.cx,Zr.cy,zn,i(Zr.y01,Zr.x01),i(vi.y01,vi.x01),!Xn):(zt.arc(Zr.cx,Zr.cy,zn,i(Zr.y01,Zr.x01),i(Zr.y11,Zr.x11),!Xn),zt.arc(0,0,vn,i(Zr.cy+Zr.y11,Zr.cx+Zr.x11),i(vi.cy+vi.y11,vi.cx+vi.x11),!Xn),zt.arc(vi.cx,vi.cy,zn,i(vi.y11,vi.x11),i(vi.y01,vi.x01),!Xn))):(zt.moveTo(Zl,qs),zt.arc(0,0,vn,$i,Ki,!Xn)):zt.moveTo(Zl,qs),!(Xr>f)||!(qa>f)?zt.lineTo(Qo,rl):za>f?(Zr=x(Qo,rl,ef,Bi,Xr,-za,Xn),vi=x(Zl,qs,tf,so,Xr,-za,Xn),zt.lineTo(Zr.cx+Zr.x01,Zr.cy+Zr.y01),za<ka?zt.arc(Zr.cx,Zr.cy,za,i(Zr.y01,Zr.x01),i(vi.y01,vi.x01),!Xn):(zt.arc(Zr.cx,Zr.cy,za,i(Zr.y01,Zr.x01),i(Zr.y11,Zr.x11),!Xn),zt.arc(0,0,Xr,i(Zr.cy+Zr.y11,Zr.cx+Zr.x11),i(vi.cy+vi.y11,vi.cx+vi.x11),Xn),zt.arc(vi.cx,vi.cy,za,i(vi.y11,vi.x11),i(vi.y01,vi.x01),!Xn))):zt.arc(0,0,Xr,Ma,sa,Xn)}if(zt.closePath(),kr)return zt=null,kr+""||null}return ar.centroid=function(){var kr=(+De.apply(this,arguments)+ +ct.apply(this,arguments))/2,Er=(+Gt.apply(this,arguments)+ +Lt.apply(this,arguments))/2-c/2;return[a(Er)*kr,l(Er)*kr]},ar.innerRadius=function(kr){return arguments.length?(De=typeof kr=="function"?kr:r(+kr),ar):De},ar.outerRadius=function(kr){return arguments.length?(ct=typeof kr=="function"?kr:r(+kr),ar):ct},ar.cornerRadius=function(kr){return arguments.length?(ht=typeof kr=="function"?kr:r(+kr),ar):ht},ar.padRadius=function(kr){return arguments.length?(Mt=kr==null?null:typeof kr=="function"?kr:r(+kr),ar):Mt},ar.startAngle=function(kr){return arguments.length?(Gt=typeof kr=="function"?kr:r(+kr),ar):Gt},ar.endAngle=function(kr){return arguments.length?(Lt=typeof kr=="function"?kr:r(+kr),ar):Lt},ar.padAngle=function(kr){return arguments.length?(ir=typeof kr=="function"?kr:r(+kr),ar):ir},ar.context=function(kr){return arguments.length?(zt=kr??null,ar):zt},ar}function A(De){this._context=De}A.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(De,ct){switch(De=+De,ct=+ct,this._point){case 0:this._point=1,this._line?this._context.lineTo(De,ct):this._context.moveTo(De,ct);break;case 1:this._point=2;default:this._context.lineTo(De,ct);break}}};function p(De){return new A(De)}function S(De){return De[0]}function y(De){return De[1]}function E(){var De=S,ct=y,ht=r(!0),Mt=null,Gt=p,Lt=null;function ir(zt){var ar,kr=zt.length,Er,Xr=!1,vn;for(Mt==null&&(Lt=Gt(vn=t.path())),ar=0;ar<=kr;++ar)!(ar<kr&&ht(Er=zt[ar],ar,zt))===Xr&&((Xr=!Xr)?Lt.lineStart():Lt.lineEnd()),Xr&&Lt.point(+De(Er,ar,zt),+ct(Er,ar,zt));if(vn)return Lt=null,vn+""||null}return ir.x=function(zt){return arguments.length?(De=typeof zt=="function"?zt:r(+zt),ir):De},ir.y=function(zt){return arguments.length?(ct=typeof zt=="function"?zt:r(+zt),ir):ct},ir.defined=function(zt){return arguments.length?(ht=typeof zt=="function"?zt:r(!!zt),ir):ht},ir.curve=function(zt){return arguments.length?(Gt=zt,Mt!=null&&(Lt=Gt(Mt)),ir):Gt},ir.context=function(zt){return arguments.length?(zt==null?Mt=Lt=null:Lt=Gt(Mt=zt),ir):Mt},ir}function C(){var De=S,ct=null,ht=r(0),Mt=y,Gt=r(!0),Lt=null,ir=p,zt=null;function ar(Er){var Xr,vn,ei,Rn=Er.length,hi,Xn=!1,$i,Ki=new Array(Rn),sa=new Array(Rn);for(Lt==null&&(zt=ir($i=t.path())),Xr=0;Xr<=Rn;++Xr){if(!(Xr<Rn&&Gt(hi=Er[Xr],Xr,Er))===Xn)if(Xn=!Xn)vn=Xr,zt.areaStart(),zt.lineStart();else{for(zt.lineEnd(),zt.lineStart(),ei=Xr-1;ei>=vn;--ei)zt.point(Ki[ei],sa[ei]);zt.lineEnd(),zt.areaEnd()}Xn&&(Ki[Xr]=+De(hi,Xr,Er),sa[Xr]=+ht(hi,Xr,Er),zt.point(ct?+ct(hi,Xr,Er):Ki[Xr],Mt?+Mt(hi,Xr,Er):sa[Xr]))}if($i)return zt=null,$i+""||null}function kr(){return E().defined(Gt).curve(ir).context(Lt)}return ar.x=function(Er){return arguments.length?(De=typeof Er=="function"?Er:r(+Er),ct=null,ar):De},ar.x0=function(Er){return arguments.length?(De=typeof Er=="function"?Er:r(+Er),ar):De},ar.x1=function(Er){return arguments.length?(ct=Er==null?null:typeof Er=="function"?Er:r(+Er),ar):ct},ar.y=function(Er){return arguments.length?(ht=typeof Er=="function"?Er:r(+Er),Mt=null,ar):ht},ar.y0=function(Er){return arguments.length?(ht=typeof Er=="function"?Er:r(+Er),ar):ht},ar.y1=function(Er){return arguments.length?(Mt=Er==null?null:typeof Er=="function"?Er:r(+Er),ar):Mt},ar.lineX0=ar.lineY0=function(){return kr().x(De).y(ht)},ar.lineY1=function(){return kr().x(De).y(Mt)},ar.lineX1=function(){return kr().x(ct).y(ht)},ar.defined=function(Er){return arguments.length?(Gt=typeof Er=="function"?Er:r(!!Er),ar):Gt},ar.curve=function(Er){return arguments.length?(ir=Er,Lt!=null&&(zt=ir(Lt)),ar):ir},ar.context=function(Er){return arguments.length?(Er==null?Lt=zt=null:zt=ir(Lt=Er),ar):Lt},ar}function L(De,ct){return ct<De?-1:ct>De?1:ct>=De?0:NaN}function R(De){return De}function I(){var De=R,ct=L,ht=null,Mt=r(0),Gt=r(d),Lt=r(0);function ir(zt){var ar,kr=zt.length,Er,Xr,vn=0,ei=new Array(kr),Rn=new Array(kr),hi=+Mt.apply(this,arguments),Xn=Math.min(d,Math.max(-d,Gt.apply(this,arguments)-hi)),$i,Ki=Math.min(Math.abs(Xn)/kr,Lt.apply(this,arguments)),sa=Ki*(Xn<0?-1:1),Ma;for(ar=0;ar<kr;++ar)(Ma=Rn[ei[ar]=ar]=+De(zt[ar],ar,zt))>0&&(vn+=Ma);for(ct!=null?ei.sort(function(qa,Fa){return ct(Rn[qa],Rn[Fa])}):ht!=null&&ei.sort(function(qa,Fa){return ht(zt[qa],zt[Fa])}),ar=0,Xr=vn?(Xn-kr*sa)/vn:0;ar<kr;++ar,hi=$i)Er=ei[ar],Ma=Rn[Er],$i=hi+(Ma>0?Ma*Xr:0)+sa,Rn[Er]={data:zt[Er],index:ar,value:Ma,startAngle:hi,endAngle:$i,padAngle:Ki};return Rn}return ir.value=function(zt){return arguments.length?(De=typeof zt=="function"?zt:r(+zt),ir):De},ir.sortValues=function(zt){return arguments.length?(ct=zt,ht=null,ir):ct},ir.sort=function(zt){return arguments.length?(ht=zt,ct=null,ir):ht},ir.startAngle=function(zt){return arguments.length?(Mt=typeof zt=="function"?zt:r(+zt),ir):Mt},ir.endAngle=function(zt){return arguments.length?(Gt=typeof zt=="function"?zt:r(+zt),ir):Gt},ir.padAngle=function(zt){return arguments.length?(Lt=typeof zt=="function"?zt:r(+zt),ir):Lt},ir}var P=q(p);function D(De){this._curve=De}D.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(De,ct){this._curve.point(ct*Math.sin(De),ct*-Math.cos(De))}};function q(De){function ct(ht){return new D(De(ht))}return ct._curve=De,ct}function N(De){var ct=De.curve;return De.angle=De.x,delete De.x,De.radius=De.y,delete De.y,De.curve=function(ht){return arguments.length?ct(q(ht)):ct()._curve},De}function U(){return N(E().curve(P))}function G(){var De=C().curve(P),ct=De.curve,ht=De.lineX0,Mt=De.lineX1,Gt=De.lineY0,Lt=De.lineY1;return De.angle=De.x,delete De.x,De.startAngle=De.x0,delete De.x0,De.endAngle=De.x1,delete De.x1,De.radius=De.y,delete De.y,De.innerRadius=De.y0,delete De.y0,De.outerRadius=De.y1,delete De.y1,De.lineStartAngle=function(){return N(ht())},delete De.lineX0,De.lineEndAngle=function(){return N(Mt())},delete De.lineX1,De.lineInnerRadius=function(){return N(Gt())},delete De.lineY0,De.lineOuterRadius=function(){return N(Lt())},delete De.lineY1,De.curve=function(ir){return arguments.length?ct(q(ir)):ct()._curve},De}function ee(De,ct){return[(ct=+ct)*Math.cos(De-=Math.PI/2),ct*Math.sin(De)]}var Q=Array.prototype.slice;function j(De){return De.source}function O(De){return De.target}function Z(De){var ct=j,ht=O,Mt=S,Gt=y,Lt=null;function ir(){var zt,ar=Q.call(arguments),kr=ct.apply(this,ar),Er=ht.apply(this,ar);if(Lt||(Lt=zt=t.path()),De(Lt,+Mt.apply(this,(ar[0]=kr,ar)),+Gt.apply(this,ar),+Mt.apply(this,(ar[0]=Er,ar)),+Gt.apply(this,ar)),zt)return Lt=null,zt+""||null}return ir.source=function(zt){return arguments.length?(ct=zt,ir):ct},ir.target=function(zt){return arguments.length?(ht=zt,ir):ht},ir.x=function(zt){return arguments.length?(Mt=typeof zt=="function"?zt:r(+zt),ir):Mt},ir.y=function(zt){return arguments.length?(Gt=typeof zt=="function"?zt:r(+zt),ir):Gt},ir.context=function(zt){return arguments.length?(Lt=zt??null,ir):Lt},ir}function K(De,ct,ht,Mt,Gt){De.moveTo(ct,ht),De.bezierCurveTo(ct=(ct+Mt)/2,ht,ct,Gt,Mt,Gt)}function $(De,ct,ht,Mt,Gt){De.moveTo(ct,ht),De.bezierCurveTo(ct,ht=(ht+Gt)/2,Mt,ht,Mt,Gt)}function oe(De,ct,ht,Mt,Gt){var Lt=ee(ct,ht),ir=ee(ct,ht=(ht+Gt)/2),zt=ee(Mt,ht),ar=ee(Mt,Gt);De.moveTo(Lt[0],Lt[1]),De.bezierCurveTo(ir[0],ir[1],zt[0],zt[1],ar[0],ar[1])}function te(){return Z(K)}function V(){return Z($)}function ne(){var De=Z(oe);return De.angle=De.x,delete De.x,De.radius=De.y,delete De.y,De}var W={draw:function(De,ct){var ht=Math.sqrt(ct/c);De.moveTo(ht,0),De.arc(0,0,ht,0,d)}},fe={draw:function(De,ct){var ht=Math.sqrt(ct/5)/2;De.moveTo(-3*ht,-ht),De.lineTo(-ht,-ht),De.lineTo(-ht,-3*ht),De.lineTo(ht,-3*ht),De.lineTo(ht,-ht),De.lineTo(3*ht,-ht),De.lineTo(3*ht,ht),De.lineTo(ht,ht),De.lineTo(ht,3*ht),De.lineTo(-ht,3*ht),De.lineTo(-ht,ht),De.lineTo(-3*ht,ht),De.closePath()}},ge=Math.sqrt(1/3),Ce=ge*2,Ne={draw:function(De,ct){var ht=Math.sqrt(ct/Ce),Mt=ht*ge;De.moveTo(0,-ht),De.lineTo(Mt,0),De.lineTo(0,ht),De.lineTo(-Mt,0),De.closePath()}},pe=.8908130915292852,me=Math.sin(c/10)/Math.sin(7*c/10),Ie=Math.sin(d/10)*me,Re=-Math.cos(d/10)*me,ze={draw:function(De,ct){var ht=Math.sqrt(ct*pe),Mt=Ie*ht,Gt=Re*ht;De.moveTo(0,-ht),De.lineTo(Mt,Gt);for(var Lt=1;Lt<5;++Lt){var ir=d*Lt/5,zt=Math.cos(ir),ar=Math.sin(ir);De.lineTo(ar*ht,-zt*ht),De.lineTo(zt*Mt-ar*Gt,ar*Mt+zt*Gt)}De.closePath()}},Be={draw:function(De,ct){var ht=Math.sqrt(ct),Mt=-ht/2;De.rect(Mt,Mt,ht,ht)}},tt=Math.sqrt(3),rt={draw:function(De,ct){var ht=-Math.sqrt(ct/(tt*3));De.moveTo(0,ht*2),De.lineTo(-tt*ht,-ht),De.lineTo(tt*ht,-ht),De.closePath()}},ce=-.5,Ee=Math.sqrt(3)/2,Ae=1/Math.sqrt(12),Pe=(Ae/2+1)*3,He={draw:function(De,ct){var ht=Math.sqrt(ct/Pe),Mt=ht/2,Gt=ht*Ae,Lt=Mt,ir=ht*Ae+ht,zt=-Lt,ar=ir;De.moveTo(Mt,Gt),De.lineTo(Lt,ir),De.lineTo(zt,ar),De.lineTo(ce*Mt-Ee*Gt,Ee*Mt+ce*Gt),De.lineTo(ce*Lt-Ee*ir,Ee*Lt+ce*ir),De.lineTo(ce*zt-Ee*ar,Ee*zt+ce*ar),De.lineTo(ce*Mt+Ee*Gt,ce*Gt-Ee*Mt),De.lineTo(ce*Lt+Ee*ir,ce*ir-Ee*Lt),De.lineTo(ce*zt+Ee*ar,ce*ar-Ee*zt),De.closePath()}},Fe=[W,fe,Ne,Be,ze,rt,He];function ke(){var De=r(W),ct=r(64),ht=null;function Mt(){var Gt;if(ht||(ht=Gt=t.path()),De.apply(this,arguments).draw(ht,+ct.apply(this,arguments)),Gt)return ht=null,Gt+""||null}return Mt.type=function(Gt){return arguments.length?(De=typeof Gt=="function"?Gt:r(Gt),Mt):De},Mt.size=function(Gt){return arguments.length?(ct=typeof Gt=="function"?Gt:r(+Gt),Mt):ct},Mt.context=function(Gt){return arguments.length?(ht=Gt??null,Mt):ht},Mt}function Ue(){}function Ge(De,ct,ht){De._context.bezierCurveTo((2*De._x0+De._x1)/3,(2*De._y0+De._y1)/3,(De._x0+2*De._x1)/3,(De._y0+2*De._y1)/3,(De._x0+4*De._x1+ct)/6,(De._y0+4*De._y1+ht)/6)}function lt(De){this._context=De}lt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Ge(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(De,ct){switch(De=+De,ct=+ct,this._point){case 0:this._point=1,this._line?this._context.lineTo(De,ct):this._context.moveTo(De,ct);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Ge(this,De,ct);break}this._x0=this._x1,this._x1=De,this._y0=this._y1,this._y1=ct}};function it(De){return new lt(De)}function wt(De){this._context=De}wt.prototype={areaStart:Ue,areaEnd:Ue,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(De,ct){switch(De=+De,ct=+ct,this._point){case 0:this._point=1,this._x2=De,this._y2=ct;break;case 1:this._point=2,this._x3=De,this._y3=ct;break;case 2:this._point=3,this._x4=De,this._y4=ct,this._context.moveTo((this._x0+4*this._x1+De)/6,(this._y0+4*this._y1+ct)/6);break;default:Ge(this,De,ct);break}this._x0=this._x1,this._x1=De,this._y0=this._y1,this._y1=ct}};function _t(De){return new wt(De)}function Tt(De){this._context=De}Tt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(De,ct){switch(De=+De,ct=+ct,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var ht=(this._x0+4*this._x1+De)/6,Mt=(this._y0+4*this._y1+ct)/6;this._line?this._context.lineTo(ht,Mt):this._context.moveTo(ht,Mt);break;case 3:this._point=4;default:Ge(this,De,ct);break}this._x0=this._x1,this._x1=De,this._y0=this._y1,this._y1=ct}};function nt(De){return new Tt(De)}function bt(De,ct){this._basis=new lt(De),this._beta=ct}bt.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var De=this._x,ct=this._y,ht=De.length-1;if(ht>0)for(var Mt=De[0],Gt=ct[0],Lt=De[ht]-Mt,ir=ct[ht]-Gt,zt=-1,ar;++zt<=ht;)ar=zt/ht,this._basis.point(this._beta*De[zt]+(1-this._beta)*(Mt+ar*Lt),this._beta*ct[zt]+(1-this._beta)*(Gt+ar*ir));this._x=this._y=null,this._basis.lineEnd()},point:function(De,ct){this._x.push(+De),this._y.push(+ct)}};var At=function De(ct){function ht(Mt){return ct===1?new lt(Mt):new bt(Mt,ct)}return ht.beta=function(Mt){return De(+Mt)},ht}(.85);function Ye(De,ct,ht){De._context.bezierCurveTo(De._x1+De._k*(De._x2-De._x0),De._y1+De._k*(De._y2-De._y0),De._x2+De._k*(De._x1-ct),De._y2+De._k*(De._y1-ht),De._x2,De._y2)}function je(De,ct){this._context=De,this._k=(1-ct)/6}je.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Ye(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(De,ct){switch(De=+De,ct=+ct,this._point){case 0:this._point=1,this._line?this._context.lineTo(De,ct):this._context.moveTo(De,ct);break;case 1:this._point=2,this._x1=De,this._y1=ct;break;case 2:this._point=3;default:Ye(this,De,ct);break}this._x0=this._x1,this._x1=this._x2,this._x2=De,this._y0=this._y1,this._y1=this._y2,this._y2=ct}};var $e=function De(ct){function ht(Mt){return new je(Mt,ct)}return ht.tension=function(Mt){return De(+Mt)},ht}(0);function ve(De,ct){this._context=De,this._k=(1-ct)/6}ve.prototype={areaStart:Ue,areaEnd:Ue,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(De,ct){switch(De=+De,ct=+ct,this._point){case 0:this._point=1,this._x3=De,this._y3=ct;break;case 1:this._point=2,this._context.moveTo(this._x4=De,this._y4=ct);break;case 2:this._point=3,this._x5=De,this._y5=ct;break;default:Ye(this,De,ct);break}this._x0=this._x1,this._x1=this._x2,this._x2=De,this._y0=this._y1,this._y1=this._y2,this._y2=ct}};var Y=function De(ct){function ht(Mt){return new ve(Mt,ct)}return ht.tension=function(Mt){return De(+Mt)},ht}(0);function ie(De,ct){this._context=De,this._k=(1-ct)/6}ie.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(De,ct){switch(De=+De,ct=+ct,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Ye(this,De,ct);break}this._x0=this._x1,this._x1=this._x2,this._x2=De,this._y0=this._y1,this._y1=this._y2,this._y2=ct}};var Te=function De(ct){function ht(Mt){return new ie(Mt,ct)}return ht.tension=function(Mt){return De(+Mt)},ht}(0);function Ve(De,ct,ht){var Mt=De._x1,Gt=De._y1,Lt=De._x2,ir=De._y2;if(De._l01_a>f){var zt=2*De._l01_2a+3*De._l01_a*De._l12_a+De._l12_2a,ar=3*De._l01_a*(De._l01_a+De._l12_a);Mt=(Mt*zt-De._x0*De._l12_2a+De._x2*De._l01_2a)/ar,Gt=(Gt*zt-De._y0*De._l12_2a+De._y2*De._l01_2a)/ar}if(De._l23_a>f){var kr=2*De._l23_2a+3*De._l23_a*De._l12_a+De._l12_2a,Er=3*De._l23_a*(De._l23_a+De._l12_a);Lt=(Lt*kr+De._x1*De._l23_2a-ct*De._l12_2a)/Er,ir=(ir*kr+De._y1*De._l23_2a-ht*De._l12_2a)/Er}De._context.bezierCurveTo(Mt,Gt,Lt,ir,De._x2,De._y2)}function at(De,ct){this._context=De,this._alpha=ct}at.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(De,ct){if(De=+De,ct=+ct,this._point){var ht=this._x2-De,Mt=this._y2-ct;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(ht*ht+Mt*Mt,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(De,ct):this._context.moveTo(De,ct);break;case 1:this._point=2;break;case 2:this._point=3;default:Ve(this,De,ct);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=De,this._y0=this._y1,this._y1=this._y2,this._y2=ct}};var ft=function De(ct){function ht(Mt){return ct?new at(Mt,ct):new je(Mt,0)}return ht.alpha=function(Mt){return De(+Mt)},ht}(.5);function Ht(De,ct){this._context=De,this._alpha=ct}Ht.prototype={areaStart:Ue,areaEnd:Ue,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(De,ct){if(De=+De,ct=+ct,this._point){var ht=this._x2-De,Mt=this._y2-ct;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(ht*ht+Mt*Mt,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=De,this._y3=ct;break;case 1:this._point=2,this._context.moveTo(this._x4=De,this._y4=ct);break;case 2:this._point=3,this._x5=De,this._y5=ct;break;default:Ve(this,De,ct);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=De,this._y0=this._y1,this._y1=this._y2,this._y2=ct}};var Xt=function De(ct){function ht(Mt){return ct?new Ht(Mt,ct):new ve(Mt,0)}return ht.alpha=function(Mt){return De(+Mt)},ht}(.5);function St(De,ct){this._context=De,this._alpha=ct}St.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(De,ct){if(De=+De,ct=+ct,this._point){var ht=this._x2-De,Mt=this._y2-ct;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(ht*ht+Mt*Mt,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Ve(this,De,ct);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=De,this._y0=this._y1,this._y1=this._y2,this._y2=ct}};var Vt=function De(ct){function ht(Mt){return ct?new St(Mt,ct):new ie(Mt,0)}return ht.alpha=function(Mt){return De(+Mt)},ht}(.5);function er(De){this._context=De}er.prototype={areaStart:Ue,areaEnd:Ue,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(De,ct){De=+De,ct=+ct,this._point?this._context.lineTo(De,ct):(this._point=1,this._context.moveTo(De,ct))}};function _r(De){return new er(De)}function br(De){return De<0?-1:1}function or(De,ct,ht){var Mt=De._x1-De._x0,Gt=ct-De._x1,Lt=(De._y1-De._y0)/(Mt||Gt<0&&-0),ir=(ht-De._y1)/(Gt||Mt<0&&-0),zt=(Lt*Gt+ir*Mt)/(Mt+Gt);return(br(Lt)+br(ir))*Math.min(Math.abs(Lt),Math.abs(ir),.5*Math.abs(zt))||0}function tn(De,ct){var ht=De._x1-De._x0;return ht?(3*(De._y1-De._y0)/ht-ct)/2:ct}function Lr(De,ct,ht){var Mt=De._x0,Gt=De._y0,Lt=De._x1,ir=De._y1,zt=(Lt-Mt)/3;De._context.bezierCurveTo(Mt+zt,Gt+zt*ct,Lt-zt,ir-zt*ht,Lt,ir)}function Gr(De){this._context=De}Gr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Lr(this,this._t0,tn(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(De,ct){var ht=NaN;if(De=+De,ct=+ct,!(De===this._x1&&ct===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(De,ct):this._context.moveTo(De,ct);break;case 1:this._point=2;break;case 2:this._point=3,Lr(this,tn(this,ht=or(this,De,ct)),ht);break;default:Lr(this,this._t0,ht=or(this,De,ct));break}this._x0=this._x1,this._x1=De,this._y0=this._y1,this._y1=ct,this._t0=ht}}};function sn(De){this._context=new Hr(De)}(sn.prototype=Object.create(Gr.prototype)).point=function(De,ct){Gr.prototype.point.call(this,ct,De)};function Hr(De){this._context=De}Hr.prototype={moveTo:function(De,ct){this._context.moveTo(ct,De)},closePath:function(){this._context.closePath()},lineTo:function(De,ct){this._context.lineTo(ct,De)},bezierCurveTo:function(De,ct,ht,Mt,Gt,Lt){this._context.bezierCurveTo(ct,De,Mt,ht,Lt,Gt)}};function Br(De){return new Gr(De)}function qn(De){return new sn(De)}function kn(De){this._context=De}kn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var De=this._x,ct=this._y,ht=De.length;if(ht)if(this._line?this._context.lineTo(De[0],ct[0]):this._context.moveTo(De[0],ct[0]),ht===2)this._context.lineTo(De[1],ct[1]);else for(var Mt=Yn(De),Gt=Yn(ct),Lt=0,ir=1;ir<ht;++Lt,++ir)this._context.bezierCurveTo(Mt[0][Lt],Gt[0][Lt],Mt[1][Lt],Gt[1][Lt],De[ir],ct[ir]);(this._line||this._line!==0&&ht===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(De,ct){this._x.push(+De),this._y.push(+ct)}};function Yn(De){var ct,ht=De.length-1,Mt,Gt=new Array(ht),Lt=new Array(ht),ir=new Array(ht);for(Gt[0]=0,Lt[0]=2,ir[0]=De[0]+2*De[1],ct=1;ct<ht-1;++ct)Gt[ct]=1,Lt[ct]=4,ir[ct]=4*De[ct]+2*De[ct+1];for(Gt[ht-1]=2,Lt[ht-1]=7,ir[ht-1]=8*De[ht-1]+De[ht],ct=1;ct<ht;++ct)Mt=Gt[ct]/Lt[ct-1],Lt[ct]-=Mt,ir[ct]-=Mt*ir[ct-1];for(Gt[ht-1]=ir[ht-1]/Lt[ht-1],ct=ht-2;ct>=0;--ct)Gt[ct]=(ir[ct]-Gt[ct+1])/Lt[ct];for(Lt[ht-1]=(De[ht]+Gt[ht-1])/2,ct=0;ct<ht-1;++ct)Lt[ct]=2*De[ct+1]-Gt[ct+1];return[Gt,Lt]}function Wn(De){return new kn(De)}function Fn(De,ct){this._context=De,this._t=ct}Fn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(De,ct){switch(De=+De,ct=+ct,this._point){case 0:this._point=1,this._line?this._context.lineTo(De,ct):this._context.moveTo(De,ct);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,ct),this._context.lineTo(De,ct);else{var ht=this._x*(1-this._t)+De*this._t;this._context.lineTo(ht,this._y),this._context.lineTo(ht,ct)}break}}this._x=De,this._y=ct}};function wn(De){return new Fn(De,.5)}function Si(De){return new Fn(De,0)}function Aa(De){return new Fn(De,1)}function ia(De,ct){if((ir=De.length)>1)for(var ht=1,Mt,Gt,Lt=De[ct[0]],ir,zt=Lt.length;ht<ir;++ht)for(Gt=Lt,Lt=De[ct[ht]],Mt=0;Mt<zt;++Mt)Lt[Mt][1]+=Lt[Mt][0]=isNaN(Gt[Mt][1])?Gt[Mt][0]:Gt[Mt][1]}function An(De){for(var ct=De.length,ht=new Array(ct);--ct>=0;)ht[ct]=ct;return ht}function Ji(De,ct){return De[ct]}function ii(){var De=r([]),ct=An,ht=ia,Mt=Ji;function Gt(Lt){var ir=De.apply(this,arguments),zt,ar=Lt.length,kr=ir.length,Er=new Array(kr),Xr;for(zt=0;zt<kr;++zt){for(var vn=ir[zt],ei=Er[zt]=new Array(ar),Rn=0,hi;Rn<ar;++Rn)ei[Rn]=hi=[0,+Mt(Lt[Rn],vn,Rn,Lt)],hi.data=Lt[Rn];ei.key=vn}for(zt=0,Xr=ct(Er);zt<kr;++zt)Er[Xr[zt]].index=zt;return ht(Er,Xr),Er}return Gt.keys=function(Lt){return arguments.length?(De=typeof Lt=="function"?Lt:r(Q.call(Lt)),Gt):De},Gt.value=function(Lt){return arguments.length?(Mt=typeof Lt=="function"?Lt:r(+Lt),Gt):Mt},Gt.order=function(Lt){return arguments.length?(ct=Lt==null?An:typeof Lt=="function"?Lt:r(Q.call(Lt)),Gt):ct},Gt.offset=function(Lt){return arguments.length?(ht=Lt??ia,Gt):ht},Gt}function bo(De,ct){if((Mt=De.length)>0){for(var ht,Mt,Gt=0,Lt=De[0].length,ir;Gt<Lt;++Gt){for(ir=ht=0;ht<Mt;++ht)ir+=De[ht][Gt][1]||0;if(ir)for(ht=0;ht<Mt;++ht)De[ht][Gt][1]/=ir}ia(De,ct)}}function ga(De,ct){if((ar=De.length)>0)for(var ht,Mt=0,Gt,Lt,ir,zt,ar,kr=De[ct[0]].length;Mt<kr;++Mt)for(ir=zt=0,ht=0;ht<ar;++ht)(Lt=(Gt=De[ct[ht]][Mt])[1]-Gt[0])>0?(Gt[0]=ir,Gt[1]=ir+=Lt):Lt<0?(Gt[1]=zt,Gt[0]=zt+=Lt):(Gt[0]=0,Gt[1]=Lt)}function Ia(De,ct){if((Gt=De.length)>0){for(var ht=0,Mt=De[ct[0]],Gt,Lt=Mt.length;ht<Lt;++ht){for(var ir=0,zt=0;ir<Gt;++ir)zt+=De[ir][ht][1]||0;Mt[ht][1]+=Mt[ht][0]=-zt/2}ia(De,ct)}}function si(De,ct){if(!(!((ir=De.length)>0)||!((Lt=(Gt=De[ct[0]]).length)>0))){for(var ht=0,Mt=1,Gt,Lt,ir;Mt<Lt;++Mt){for(var zt=0,ar=0,kr=0;zt<ir;++zt){for(var Er=De[ct[zt]],Xr=Er[Mt][1]||0,vn=Er[Mt-1][1]||0,ei=(Xr-vn)/2,Rn=0;Rn<zt;++Rn){var hi=De[ct[Rn]],Xn=hi[Mt][1]||0,$i=hi[Mt-1][1]||0;ei+=Xn-$i}ar+=Xr,kr+=ei*Xr}Gt[Mt-1][1]+=Gt[Mt-1][0]=ht,ar&&(ht-=kr/ar)}Gt[Mt-1][1]+=Gt[Mt-1][0]=ht,ia(De,ct)}}function aa(De){var ct=De.map(wo);return An(De).sort(function(ht,Mt){return ct[ht]-ct[Mt]})}function wo(De){for(var ct=-1,ht=0,Mt=De.length,Gt,Lt=-1/0;++ct<Mt;)(Gt=+De[ct][1])>Lt&&(Lt=Gt,ht=ct);return ht}function ma(De){var ct=De.map(oa);return An(De).sort(function(ht,Mt){return ct[ht]-ct[Mt]})}function oa(De){for(var ct=0,ht=-1,Mt=De.length,Gt;++ht<Mt;)(Gt=+De[ht][1])&&(ct+=Gt);return ct}function yu(De){return ma(De).reverse()}function Xl(De){var ct=De.length,ht,Mt,Gt=De.map(oa),Lt=aa(De),ir=0,zt=0,ar=[],kr=[];for(ht=0;ht<ct;++ht)Mt=Lt[ht],ir<zt?(ir+=Gt[Mt],ar.push(Mt)):(zt+=Gt[Mt],kr.push(Mt));return kr.reverse().concat(ar)}function xu(De){return An(De).reverse()}e.arc=M,e.area=C,e.areaRadial=G,e.curveBasis=it,e.curveBasisClosed=_t,e.curveBasisOpen=nt,e.curveBundle=At,e.curveCardinal=$e,e.curveCardinalClosed=Y,e.curveCardinalOpen=Te,e.curveCatmullRom=ft,e.curveCatmullRomClosed=Xt,e.curveCatmullRomOpen=Vt,e.curveLinear=p,e.curveLinearClosed=_r,e.curveMonotoneX=Br,e.curveMonotoneY=qn,e.curveNatural=Wn,e.curveStep=wn,e.curveStepAfter=Aa,e.curveStepBefore=Si,e.line=E,e.lineRadial=U,e.linkHorizontal=te,e.linkRadial=ne,e.linkVertical=V,e.pie=I,e.pointRadial=ee,e.radialArea=G,e.radialLine=U,e.stack=ii,e.stackOffsetDiverging=ga,e.stackOffsetExpand=bo,e.stackOffsetNone=ia,e.stackOffsetSilhouette=Ia,e.stackOffsetWiggle=si,e.stackOrderAppearance=aa,e.stackOrderAscending=ma,e.stackOrderDescending=yu,e.stackOrderInsideOut=Xl,e.stackOrderNone=An,e.stackOrderReverse=xu,e.symbol=ke,e.symbolCircle=W,e.symbolCross=fe,e.symbolDiamond=Ne,e.symbolSquare=Be,e.symbolStar=ze,e.symbolTriangle=rt,e.symbolWye=He,e.symbols=Fe,Object.defineProperty(e,"__esModule",{value:!0})})});var CAe=J((g4,SAe)=>{(function(e,t){typeof g4=="object"&&typeof SAe<"u"?t(g4,q_(),f4(),hF()):typeof define=="function"&&define.amd?define(["exports","d3-array","d3-collection","d3-shape"],t):t(e.d3=e.d3||{},e.d3,e.d3,e.d3)})(g4,function(e,t,r,n){"use strict";function i(p){return p.target.depth}function a(p){return p.depth}function o(p,S){return S-1-p.height}function s(p,S){return p.sourceLinks.length?p.depth:S-1}function l(p){return p.targetLinks.length?p.depth:p.sourceLinks.length?t.min(p.sourceLinks,i)-1:0}function u(p){return function(){return p}}function f(p,S){return h(p.source,S.source)||p.index-S.index}function c(p,S){return h(p.target,S.target)||p.index-S.index}function h(p,S){return p.y0-S.y0}function d(p){return p.value}function v(p){return(p.y0+p.y1)/2}function m(p){return v(p.source)*p.value}function b(p){return v(p.target)*p.value}function g(p){return p.index}function _(p){return p.nodes}function T(p){return p.links}function w(p,S){var y=p.get(S);if(!y)throw new Error("missing: "+S);return y}var k=function(){var p=0,S=0,y=1,E=1,C=24,L=8,R=g,I=s,P=_,D=T,q=32,N=2/3;function U(){var Z={nodes:P.apply(null,arguments),links:D.apply(null,arguments)};return G(Z),ee(Z),Q(Z),j(Z,q),O(Z),Z}U.update=function(Z){return O(Z),Z},U.nodeId=function(Z){return arguments.length?(R=typeof Z=="function"?Z:u(Z),U):R},U.nodeAlign=function(Z){return arguments.length?(I=typeof Z=="function"?Z:u(Z),U):I},U.nodeWidth=function(Z){return arguments.length?(C=+Z,U):C},U.nodePadding=function(Z){return arguments.length?(L=+Z,U):L},U.nodes=function(Z){return arguments.length?(P=typeof Z=="function"?Z:u(Z),U):P},U.links=function(Z){return arguments.length?(D=typeof Z=="function"?Z:u(Z),U):D},U.size=function(Z){return arguments.length?(p=S=0,y=+Z[0],E=+Z[1],U):[y-p,E-S]},U.extent=function(Z){return arguments.length?(p=+Z[0][0],y=+Z[1][0],S=+Z[0][1],E=+Z[1][1],U):[[p,S],[y,E]]},U.iterations=function(Z){return arguments.length?(q=+Z,U):q};function G(Z){Z.nodes.forEach(function($,oe){$.index=oe,$.sourceLinks=[],$.targetLinks=[]});var K=r.map(Z.nodes,R);Z.links.forEach(function($,oe){$.index=oe;var te=$.source,V=$.target;typeof te!="object"&&(te=$.source=w(K,te)),typeof V!="object"&&(V=$.target=w(K,V)),te.sourceLinks.push($),V.targetLinks.push($)})}function ee(Z){Z.nodes.forEach(function(K){K.value=Math.max(t.sum(K.sourceLinks,d),t.sum(K.targetLinks,d))})}function Q(Z){var K,$,oe;for(K=Z.nodes,$=[],oe=0;K.length;++oe,K=$,$=[])K.forEach(function(V){V.depth=oe,V.sourceLinks.forEach(function(ne){$.indexOf(ne.target)<0&&$.push(ne.target)})});for(K=Z.nodes,$=[],oe=0;K.length;++oe,K=$,$=[])K.forEach(function(V){V.height=oe,V.targetLinks.forEach(function(ne){$.indexOf(ne.source)<0&&$.push(ne.source)})});var te=(y-p-C)/(oe-1);Z.nodes.forEach(function(V){V.x1=(V.x0=p+Math.max(0,Math.min(oe-1,Math.floor(I.call(null,V,oe))))*te)+C})}function j(Z){var K=r.nest().key(function(fe){return fe.x0}).sortKeys(t.ascending).entries(Z.nodes).map(function(fe){return fe.values});te(),W();for(var $=1,oe=q;oe>0;--oe)ne($*=.99),W(),V($),W();function te(){var fe=t.max(K,function(Ne){return Ne.length}),ge=N*(E-S)/(fe-1);L>ge&&(L=ge);var Ce=t.min(K,function(Ne){return(E-S-(Ne.length-1)*L)/t.sum(Ne,d)});K.forEach(function(Ne){Ne.forEach(function(pe,me){pe.y1=(pe.y0=me)+pe.value*Ce})}),Z.links.forEach(function(Ne){Ne.width=Ne.value*Ce})}function V(fe){K.forEach(function(ge){ge.forEach(function(Ce){if(Ce.targetLinks.length){var Ne=(t.sum(Ce.targetLinks,m)/t.sum(Ce.targetLinks,d)-v(Ce))*fe;Ce.y0+=Ne,Ce.y1+=Ne}})})}function ne(fe){K.slice().reverse().forEach(function(ge){ge.forEach(function(Ce){if(Ce.sourceLinks.length){var Ne=(t.sum(Ce.sourceLinks,b)/t.sum(Ce.sourceLinks,d)-v(Ce))*fe;Ce.y0+=Ne,Ce.y1+=Ne}})})}function W(){K.forEach(function(fe){var ge,Ce,Ne=S,pe=fe.length,me;for(fe.sort(h),me=0;me<pe;++me)ge=fe[me],Ce=Ne-ge.y0,Ce>0&&(ge.y0+=Ce,ge.y1+=Ce),Ne=ge.y1+L;if(Ce=Ne-L-E,Ce>0)for(Ne=ge.y0-=Ce,ge.y1-=Ce,me=pe-2;me>=0;--me)ge=fe[me],Ce=ge.y1+L-Ne,Ce>0&&(ge.y0-=Ce,ge.y1-=Ce),Ne=ge.y0})}}function O(Z){Z.nodes.forEach(function(K){K.sourceLinks.sort(c),K.targetLinks.sort(f)}),Z.nodes.forEach(function(K){var $=K.y0,oe=$;K.sourceLinks.forEach(function(te){te.y0=$+te.width/2,$+=te.width}),K.targetLinks.forEach(function(te){te.y1=oe+te.width/2,oe+=te.width})})}return U};function x(p){return[p.source.x1,p.y0]}function M(p){return[p.target.x0,p.y1]}var A=function(){return n.linkHorizontal().source(x).target(M)};e.sankey=k,e.sankeyCenter=l,e.sankeyLeft=a,e.sankeyRight=o,e.sankeyJustify=s,e.sankeyLinkHorizontal=A,Object.defineProperty(e,"__esModule",{value:!0})})});var LAe=J((WUt,EAe)=>{var h3t=cF();EAe.exports=function(t,r){var n=[],i=[],a=[],o={},s=[],l;function u(T){a[T]=!1,o.hasOwnProperty(T)&&Object.keys(o[T]).forEach(function(w){delete o[T][w],a[w]&&u(w)})}function f(T){var w=!1;i.push(T),a[T]=!0;var k,x;for(k=0;k<s[T].length;k++)x=s[T][k],x===l?(c(l,i),w=!0):a[x]||(w=f(x));if(w)u(T);else for(k=0;k<s[T].length;k++){x=s[T][k];var M=o[x];M||(M={},o[x]=M),M[x]=!0}return i.pop(),w}function c(T,w){var k=[].concat(w).concat(T);r?r(k):n.push(k)}function h(T){for(var w=0;w<t.length;w++)(w<T||!t[w])&&(t[w]=[]),t[w]=t[w].filter(function(k){return k>=T})}function d(T){h(T);for(var w=t,k=h3t(w),x=k.components.filter(function(C){return C.length>1}),M=1/0,A,p=0;p<x.length;p++)for(var S=0;S<x[p].length;S++)x[p][S]<M&&(M=x[p][S],A=p);var y=x[A];if(!y)return!1;var E=t.map(function(C,L){return y.indexOf(L)===-1?[]:C.filter(function(R){return y.indexOf(R)!==-1})});return{leastVertex:M,adjList:E}}l=0;for(var v=t.length;l<v;){var m=d(l);if(l=m.leastVertex,s=m.adjList,s){for(var b=0;b<s.length;b++)for(var g=0;g<s[b].length;g++){var _=s[b][g];a[+_]=!1,o[_]={}}f(l),l=l+1}else l=v}if(!r)return n}});var RAe=J((m4,DAe)=>{(function(e,t){typeof m4=="object"&&typeof DAe<"u"?t(m4,q_(),f4(),hF(),LAe()):typeof define=="function"&&define.amd?define(["exports","d3-array","d3-collection","d3-shape","elementary-circuits-directed-graph"],t):t(e.d3=e.d3||{},e.d3,e.d3,e.d3,null)})(m4,function(e,t,r,n,i){"use strict";i=i&&i.hasOwnProperty("default")?i.default:i;function a(pe){return pe.target.depth}function o(pe){return pe.depth}function s(pe,me){return me-1-pe.height}function l(pe,me){return pe.sourceLinks.length?pe.depth:me-1}function u(pe){return pe.targetLinks.length?pe.depth:pe.sourceLinks.length?t.min(pe.sourceLinks,a)-1:0}function f(pe){return function(){return pe}}var c=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(pe){return typeof pe}:function(pe){return pe&&typeof Symbol=="function"&&pe.constructor===Symbol&&pe!==Symbol.prototype?"symbol":typeof pe};function h(pe,me){return v(pe.source,me.source)||pe.index-me.index}function d(pe,me){return v(pe.target,me.target)||pe.index-me.index}function v(pe,me){return pe.partOfCycle===me.partOfCycle?pe.y0-me.y0:pe.circularLinkType==="top"||me.circularLinkType==="bottom"?-1:1}function m(pe){return pe.value}function b(pe){return(pe.y0+pe.y1)/2}function g(pe){return b(pe.source)}function _(pe){return b(pe.target)}function T(pe){return pe.index}function w(pe){return pe.nodes}function k(pe){return pe.links}function x(pe,me){var Ie=pe.get(me);if(!Ie)throw new Error("missing: "+me);return Ie}function M(pe,me){return me(pe)}var A=25,p=10,S=.3;function y(){var pe=0,me=0,Ie=1,Re=1,ze=24,Be,tt=T,rt=l,ce=w,Ee=k,Ae=32,Pe=2,He,Fe=null;function ke(){var nt={nodes:ce.apply(null,arguments),links:Ee.apply(null,arguments)};Ue(nt),E(nt,tt,Fe),Ge(nt),wt(nt),C(nt,tt),_t(nt,Ae,tt),Tt(nt);for(var bt=4,At=0;At<bt;At++)ne(nt,Re,tt),W(nt,Re,tt),oe(nt,me,Re,tt),ne(nt,Re,tt),W(nt,Re,tt);return Ne(nt,me,Re),q(nt,Pe,Re,tt),nt}ke.nodeId=function(nt){return arguments.length?(tt=typeof nt=="function"?nt:f(nt),ke):tt},ke.nodeAlign=function(nt){return arguments.length?(rt=typeof nt=="function"?nt:f(nt),ke):rt},ke.nodeWidth=function(nt){return arguments.length?(ze=+nt,ke):ze},ke.nodePadding=function(nt){return arguments.length?(Be=+nt,ke):Be},ke.nodes=function(nt){return arguments.length?(ce=typeof nt=="function"?nt:f(nt),ke):ce},ke.links=function(nt){return arguments.length?(Ee=typeof nt=="function"?nt:f(nt),ke):Ee},ke.size=function(nt){return arguments.length?(pe=me=0,Ie=+nt[0],Re=+nt[1],ke):[Ie-pe,Re-me]},ke.extent=function(nt){return arguments.length?(pe=+nt[0][0],Ie=+nt[1][0],me=+nt[0][1],Re=+nt[1][1],ke):[[pe,me],[Ie,Re]]},ke.iterations=function(nt){return arguments.length?(Ae=+nt,ke):Ae},ke.circularLinkGap=function(nt){return arguments.length?(Pe=+nt,ke):Pe},ke.nodePaddingRatio=function(nt){return arguments.length?(He=+nt,ke):He},ke.sortNodes=function(nt){return arguments.length?(Fe=nt,ke):Fe},ke.update=function(nt){return C(nt,tt),Tt(nt),nt.links.forEach(function(bt){bt.circular&&(bt.circularLinkType=bt.y0+bt.y1<Re?"top":"bottom",bt.source.circularLinkType=bt.circularLinkType,bt.target.circularLinkType=bt.circularLinkType)}),ne(nt,Re,tt,!1),W(nt,Re,tt),q(nt,Pe,Re,tt),nt};function Ue(nt){nt.nodes.forEach(function(At,Ye){At.index=Ye,At.sourceLinks=[],At.targetLinks=[]});var bt=r.map(nt.nodes,tt);return nt.links.forEach(function(At,Ye){At.index=Ye;var je=At.source,$e=At.target;(typeof je>"u"?"undefined":c(je))!=="object"&&(je=At.source=x(bt,je)),(typeof $e>"u"?"undefined":c($e))!=="object"&&($e=At.target=x(bt,$e)),je.sourceLinks.push(At),$e.targetLinks.push(At)}),nt}function Ge(nt){nt.nodes.forEach(function(bt){bt.partOfCycle=!1,bt.value=Math.max(t.sum(bt.sourceLinks,m),t.sum(bt.targetLinks,m)),bt.sourceLinks.forEach(function(At){At.circular&&(bt.partOfCycle=!0,bt.circularLinkType=At.circularLinkType)}),bt.targetLinks.forEach(function(At){At.circular&&(bt.partOfCycle=!0,bt.circularLinkType=At.circularLinkType)})})}function lt(nt){var bt=0,At=0,Ye=0,je=0,$e=t.max(nt.nodes,function(ve){return ve.column});return nt.links.forEach(function(ve){ve.circular&&(ve.circularLinkType=="top"?bt=bt+ve.width:At=At+ve.width,ve.target.column==0&&(je=je+ve.width),ve.source.column==$e&&(Ye=Ye+ve.width))}),bt=bt>0?bt+A+p:bt,At=At>0?At+A+p:At,Ye=Ye>0?Ye+A+p:Ye,je=je>0?je+A+p:je,{top:bt,bottom:At,left:je,right:Ye}}function it(nt,bt){var At=t.max(nt.nodes,function(Te){return Te.column}),Ye=Ie-pe,je=Re-me,$e=Ye+bt.right+bt.left,ve=je+bt.top+bt.bottom,Y=Ye/$e,ie=je/ve;return pe=pe*Y+bt.left,Ie=bt.right==0?Ie:Ie*Y,me=me*ie+bt.top,Re=Re*ie,nt.nodes.forEach(function(Te){Te.x0=pe+Te.column*((Ie-pe-ze)/At),Te.x1=Te.x0+ze}),ie}function wt(nt){var bt,At,Ye;for(bt=nt.nodes,At=[],Ye=0;bt.length;++Ye,bt=At,At=[])bt.forEach(function(je){je.depth=Ye,je.sourceLinks.forEach(function($e){At.indexOf($e.target)<0&&!$e.circular&&At.push($e.target)})});for(bt=nt.nodes,At=[],Ye=0;bt.length;++Ye,bt=At,At=[])bt.forEach(function(je){je.height=Ye,je.targetLinks.forEach(function($e){At.indexOf($e.source)<0&&!$e.circular&&At.push($e.source)})});nt.nodes.forEach(function(je){je.column=Math.floor(rt.call(null,je,Ye))})}function _t(nt,bt,At){var Ye=r.nest().key(function(Te){return Te.column}).sortKeys(t.ascending).entries(nt.nodes).map(function(Te){return Te.values});ve(At),ie();for(var je=1,$e=bt;$e>0;--$e)Y(je*=.99,At),ie();function ve(Te){if(He){var Ve=1/0;Ye.forEach(function(Xt){var St=Re*He/(Xt.length+1);Ve=St<Ve?St:Ve}),Be=Ve}var at=t.min(Ye,function(Xt){return(Re-me-(Xt.length-1)*Be)/t.sum(Xt,m)});at=at*S,nt.links.forEach(function(Xt){Xt.width=Xt.value*at});var ft=lt(nt),Ht=it(nt,ft);at=at*Ht,nt.links.forEach(function(Xt){Xt.width=Xt.value*at}),Ye.forEach(function(Xt){var St=Xt.length;Xt.forEach(function(Vt,er){Vt.depth==Ye.length-1&&St==1||Vt.depth==0&&St==1?(Vt.y0=Re/2-Vt.value*at,Vt.y1=Vt.y0+Vt.value*at):Vt.partOfCycle?I(Vt,Te)==0?(Vt.y0=Re/2+er,Vt.y1=Vt.y0+Vt.value*at):Vt.circularLinkType=="top"?(Vt.y0=me+er,Vt.y1=Vt.y0+Vt.value*at):(Vt.y0=Re-Vt.value*at-er,Vt.y1=Vt.y0+Vt.value*at):ft.top==0||ft.bottom==0?(Vt.y0=(Re-me)/St*er,Vt.y1=Vt.y0+Vt.value*at):(Vt.y0=(Re-me)/2-St/2+er,Vt.y1=Vt.y0+Vt.value*at)})})}function Y(Te,Ve){var at=Ye.length;Ye.forEach(function(ft){var Ht=ft.length,Xt=ft[0].depth;ft.forEach(function(St){var Vt;if((St.sourceLinks.length||St.targetLinks.length)&&!(St.partOfCycle&&I(St,Ve)>0))if(Xt==0&&Ht==1)Vt=St.y1-St.y0,St.y0=Re/2-Vt/2,St.y1=Re/2+Vt/2;else if(Xt==at-1&&Ht==1)Vt=St.y1-St.y0,St.y0=Re/2-Vt/2,St.y1=Re/2+Vt/2;else{var er=0,_r=t.mean(St.sourceLinks,_),br=t.mean(St.targetLinks,g);_r&&br?er=(_r+br)/2:er=_r||br;var or=(er-b(St))*Te;St.y0+=or,St.y1+=or}})})}function ie(){Ye.forEach(function(Te){var Ve,at,ft=me,Ht=Te.length,Xt;for(Te.sort(v),Xt=0;Xt<Ht;++Xt)Ve=Te[Xt],at=ft-Ve.y0,at>0&&(Ve.y0+=at,Ve.y1+=at),ft=Ve.y1+Be;if(at=ft-Be-Re,at>0)for(ft=Ve.y0-=at,Ve.y1-=at,Xt=Ht-2;Xt>=0;--Xt)Ve=Te[Xt],at=Ve.y1+Be-ft,at>0&&(Ve.y0-=at,Ve.y1-=at),ft=Ve.y0})}}function Tt(nt){nt.nodes.forEach(function(bt){bt.sourceLinks.sort(d),bt.targetLinks.sort(h)}),nt.nodes.forEach(function(bt){var At=bt.y0,Ye=At,je=bt.y1,$e=je;bt.sourceLinks.forEach(function(ve){ve.circular?(ve.y0=je-ve.width/2,je=je-ve.width):(ve.y0=At+ve.width/2,At+=ve.width)}),bt.targetLinks.forEach(function(ve){ve.circular?(ve.y1=$e-ve.width/2,$e=$e-ve.width):(ve.y1=Ye+ve.width/2,Ye+=ve.width)})})}return ke}function E(pe,me,Ie){var Re=0;if(Ie===null){for(var ze=[],Be=0;Be<pe.links.length;Be++){var tt=pe.links[Be],rt=tt.source.index,ce=tt.target.index;ze[rt]||(ze[rt]=[]),ze[ce]||(ze[ce]=[]),ze[rt].indexOf(ce)===-1&&ze[rt].push(ce)}var Ee=i(ze);Ee.sort(function(Fe,ke){return Fe.length-ke.length});var Ae={};for(Be=0;Be<Ee.length;Be++){var Pe=Ee[Be],He=Pe.slice(-2);Ae[He[0]]||(Ae[He[0]]={}),Ae[He[0]][He[1]]=!0}pe.links.forEach(function(Fe){var ke=Fe.target.index,Ue=Fe.source.index;ke===Ue||Ae[Ue]&&Ae[Ue][ke]?(Fe.circular=!0,Fe.circularLinkID=Re,Re=Re+1):Fe.circular=!1})}else pe.links.forEach(function(Fe){Fe.source[Ie]<Fe.target[Ie]?Fe.circular=!1:(Fe.circular=!0,Fe.circularLinkID=Re,Re=Re+1)})}function C(pe,me){var Ie=0,Re=0;pe.links.forEach(function(ze){ze.circular&&(ze.source.circularLinkType||ze.target.circularLinkType?ze.circularLinkType=ze.source.circularLinkType?ze.source.circularLinkType:ze.target.circularLinkType:ze.circularLinkType=Ie<Re?"top":"bottom",ze.circularLinkType=="top"?Ie=Ie+1:Re=Re+1,pe.nodes.forEach(function(Be){(M(Be,me)==M(ze.source,me)||M(Be,me)==M(ze.target,me))&&(Be.circularLinkType=ze.circularLinkType)}))}),pe.links.forEach(function(ze){ze.circular&&(ze.source.circularLinkType==ze.target.circularLinkType&&(ze.circularLinkType=ze.source.circularLinkType),Ce(ze,me)&&(ze.circularLinkType=ze.source.circularLinkType))})}function L(pe){var me=Math.abs(pe.y1-pe.y0),Ie=Math.abs(pe.target.x0-pe.source.x1);return Math.atan(Ie/me)}function R(pe,me){return pe.source.column<me.target.column?!1:!(pe.target.column>me.source.column)}function I(pe,me){var Ie=0;pe.sourceLinks.forEach(function(ze){Ie=ze.circular&&!Ce(ze,me)?Ie+1:Ie});var Re=0;return pe.targetLinks.forEach(function(ze){Re=ze.circular&&!Ce(ze,me)?Re+1:Re}),Ie+Re}function P(pe){var me=pe.source.sourceLinks,Ie=0;me.forEach(function(Be){Ie=Be.circular?Ie+1:Ie});var Re=pe.target.targetLinks,ze=0;return Re.forEach(function(Be){ze=Be.circular?ze+1:ze}),!(Ie>1||ze>1)}function D(pe,me,Ie){return pe.sort(U),pe.forEach(function(Re,ze){var Be=0;if(Ce(Re,Ie)&&P(Re))Re.circularPathData.verticalBuffer=Be+Re.width/2;else{var tt=0;for(tt;tt<ze;tt++)if(R(pe[ze],pe[tt])){var rt=pe[tt].circularPathData.verticalBuffer+pe[tt].width/2+me;Be=rt>Be?rt:Be}Re.circularPathData.verticalBuffer=Be+Re.width/2}}),pe}function q(pe,me,Ie,Re){var ze=5,Be=t.min(pe.links,function(ce){return ce.source.y0});pe.links.forEach(function(ce){ce.circular&&(ce.circularPathData={})});var tt=pe.links.filter(function(ce){return ce.circularLinkType=="top"});D(tt,me,Re);var rt=pe.links.filter(function(ce){return ce.circularLinkType=="bottom"});D(rt,me,Re),pe.links.forEach(function(ce){if(ce.circular){if(ce.circularPathData.arcRadius=ce.width+p,ce.circularPathData.leftNodeBuffer=ze,ce.circularPathData.rightNodeBuffer=ze,ce.circularPathData.sourceWidth=ce.source.x1-ce.source.x0,ce.circularPathData.sourceX=ce.source.x0+ce.circularPathData.sourceWidth,ce.circularPathData.targetX=ce.target.x0,ce.circularPathData.sourceY=ce.y0,ce.circularPathData.targetY=ce.y1,Ce(ce,Re)&&P(ce))ce.circularPathData.leftSmallArcRadius=p+ce.width/2,ce.circularPathData.leftLargeArcRadius=p+ce.width/2,ce.circularPathData.rightSmallArcRadius=p+ce.width/2,ce.circularPathData.rightLargeArcRadius=p+ce.width/2,ce.circularLinkType=="bottom"?(ce.circularPathData.verticalFullExtent=ce.source.y1+A+ce.circularPathData.verticalBuffer,ce.circularPathData.verticalLeftInnerExtent=ce.circularPathData.verticalFullExtent-ce.circularPathData.leftLargeArcRadius,ce.circularPathData.verticalRightInnerExtent=ce.circularPathData.verticalFullExtent-ce.circularPathData.rightLargeArcRadius):(ce.circularPathData.verticalFullExtent=ce.source.y0-A-ce.circularPathData.verticalBuffer,ce.circularPathData.verticalLeftInnerExtent=ce.circularPathData.verticalFullExtent+ce.circularPathData.leftLargeArcRadius,ce.circularPathData.verticalRightInnerExtent=ce.circularPathData.verticalFullExtent+ce.circularPathData.rightLargeArcRadius);else{var Ee=ce.source.column,Ae=ce.circularLinkType,Pe=pe.links.filter(function(ke){return ke.source.column==Ee&&ke.circularLinkType==Ae});ce.circularLinkType=="bottom"?Pe.sort(ee):Pe.sort(G);var He=0;Pe.forEach(function(ke,Ue){ke.circularLinkID==ce.circularLinkID&&(ce.circularPathData.leftSmallArcRadius=p+ce.width/2+He,ce.circularPathData.leftLargeArcRadius=p+ce.width/2+Ue*me+He),He=He+ke.width}),Ee=ce.target.column,Pe=pe.links.filter(function(ke){return ke.target.column==Ee&&ke.circularLinkType==Ae}),ce.circularLinkType=="bottom"?Pe.sort(j):Pe.sort(Q),He=0,Pe.forEach(function(ke,Ue){ke.circularLinkID==ce.circularLinkID&&(ce.circularPathData.rightSmallArcRadius=p+ce.width/2+He,ce.circularPathData.rightLargeArcRadius=p+ce.width/2+Ue*me+He),He=He+ke.width}),ce.circularLinkType=="bottom"?(ce.circularPathData.verticalFullExtent=Math.max(Ie,ce.source.y1,ce.target.y1)+A+ce.circularPathData.verticalBuffer,ce.circularPathData.verticalLeftInnerExtent=ce.circularPathData.verticalFullExtent-ce.circularPathData.leftLargeArcRadius,ce.circularPathData.verticalRightInnerExtent=ce.circularPathData.verticalFullExtent-ce.circularPathData.rightLargeArcRadius):(ce.circularPathData.verticalFullExtent=Be-A-ce.circularPathData.verticalBuffer,ce.circularPathData.verticalLeftInnerExtent=ce.circularPathData.verticalFullExtent+ce.circularPathData.leftLargeArcRadius,ce.circularPathData.verticalRightInnerExtent=ce.circularPathData.verticalFullExtent+ce.circularPathData.rightLargeArcRadius)}ce.circularPathData.leftInnerExtent=ce.circularPathData.sourceX+ce.circularPathData.leftNodeBuffer,ce.circularPathData.rightInnerExtent=ce.circularPathData.targetX-ce.circularPathData.rightNodeBuffer,ce.circularPathData.leftFullExtent=ce.circularPathData.sourceX+ce.circularPathData.leftLargeArcRadius+ce.circularPathData.leftNodeBuffer,ce.circularPathData.rightFullExtent=ce.circularPathData.targetX-ce.circularPathData.rightLargeArcRadius-ce.circularPathData.rightNodeBuffer}if(ce.circular)ce.path=N(ce);else{var Fe=n.linkHorizontal().source(function(ke){var Ue=ke.source.x0+(ke.source.x1-ke.source.x0),Ge=ke.y0;return[Ue,Ge]}).target(function(ke){var Ue=ke.target.x0,Ge=ke.y1;return[Ue,Ge]});ce.path=Fe(ce)}})}function N(pe){var me="";return pe.circularLinkType=="top"?me="M"+pe.circularPathData.sourceX+" "+pe.circularPathData.sourceY+" L"+pe.circularPathData.leftInnerExtent+" "+pe.circularPathData.sourceY+" A"+pe.circularPathData.leftLargeArcRadius+" "+pe.circularPathData.leftSmallArcRadius+" 0 0 0 "+pe.circularPathData.leftFullExtent+" "+(pe.circularPathData.sourceY-pe.circularPathData.leftSmallArcRadius)+" L"+pe.circularPathData.leftFullExtent+" "+pe.circularPathData.verticalLeftInnerExtent+" A"+pe.circularPathData.leftLargeArcRadius+" "+pe.circularPathData.leftLargeArcRadius+" 0 0 0 "+pe.circularPathData.leftInnerExtent+" "+pe.circularPathData.verticalFullExtent+" L"+pe.circularPathData.rightInnerExtent+" "+pe.circularPathData.verticalFullExtent+" A"+pe.circularPathData.rightLargeArcRadius+" "+pe.circularPathData.rightLargeArcRadius+" 0 0 0 "+pe.circularPathData.rightFullExtent+" "+pe.circularPathData.verticalRightInnerExtent+" L"+pe.circularPathData.rightFullExtent+" "+(pe.circularPathData.targetY-pe.circularPathData.rightSmallArcRadius)+" A"+pe.circularPathData.rightLargeArcRadius+" "+pe.circularPathData.rightSmallArcRadius+" 0 0 0 "+pe.circularPathData.rightInnerExtent+" "+pe.circularPathData.targetY+" L"+pe.circularPathData.targetX+" "+pe.circularPathData.targetY:me="M"+pe.circularPathData.sourceX+" "+pe.circularPathData.sourceY+" L"+pe.circularPathData.leftInnerExtent+" "+pe.circularPathData.sourceY+" A"+pe.circularPathData.leftLargeArcRadius+" "+pe.circularPathData.leftSmallArcRadius+" 0 0 1 "+pe.circularPathData.leftFullExtent+" "+(pe.circularPathData.sourceY+pe.circularPathData.leftSmallArcRadius)+" L"+pe.circularPathData.leftFullExtent+" "+pe.circularPathData.verticalLeftInnerExtent+" A"+pe.circularPathData.leftLargeArcRadius+" "+pe.circularPathData.leftLargeArcRadius+" 0 0 1 "+pe.circularPathData.leftInnerExtent+" "+pe.circularPathData.verticalFullExtent+" L"+pe.circularPathData.rightInnerExtent+" "+pe.circularPathData.verticalFullExtent+" A"+pe.circularPathData.rightLargeArcRadius+" "+pe.circularPathData.rightLargeArcRadius+" 0 0 1 "+pe.circularPathData.rightFullExtent+" "+pe.circularPathData.verticalRightInnerExtent+" L"+pe.circularPathData.rightFullExtent+" "+(pe.circularPathData.targetY+pe.circularPathData.rightSmallArcRadius)+" A"+pe.circularPathData.rightLargeArcRadius+" "+pe.circularPathData.rightSmallArcRadius+" 0 0 1 "+pe.circularPathData.rightInnerExtent+" "+pe.circularPathData.targetY+" L"+pe.circularPathData.targetX+" "+pe.circularPathData.targetY,me}function U(pe,me){return O(pe)==O(me)?pe.circularLinkType=="bottom"?ee(pe,me):G(pe,me):O(me)-O(pe)}function G(pe,me){return pe.y0-me.y0}function ee(pe,me){return me.y0-pe.y0}function Q(pe,me){return pe.y1-me.y1}function j(pe,me){return me.y1-pe.y1}function O(pe){return pe.target.column-pe.source.column}function Z(pe){return pe.target.x0-pe.source.x1}function K(pe,me){var Ie=L(pe),Re=Z(me)/Math.tan(Ie),ze=ge(pe)=="up"?pe.y1+Re:pe.y1-Re;return ze}function $(pe,me){var Ie=L(pe),Re=Z(me)/Math.tan(Ie),ze=ge(pe)=="up"?pe.y1-Re:pe.y1+Re;return ze}function oe(pe,me,Ie,Re){pe.links.forEach(function(ze){if(!ze.circular&&ze.target.column-ze.source.column>1){var Be=ze.source.column+1,tt=ze.target.column-1,rt=1,ce=tt-Be+1;for(rt=1;Be<=tt;Be++,rt++)pe.nodes.forEach(function(Ee){if(Ee.column==Be){var Ae=rt/(ce+1),Pe=Math.pow(1-Ae,3),He=3*Ae*Math.pow(1-Ae,2),Fe=3*Math.pow(Ae,2)*(1-Ae),ke=Math.pow(Ae,3),Ue=Pe*ze.y0+He*ze.y0+Fe*ze.y1+ke*ze.y1,Ge=Ue-ze.width/2,lt=Ue+ze.width/2,it;Ge>Ee.y0&&Ge<Ee.y1?(it=Ee.y1-Ge+10,it=Ee.circularLinkType=="bottom"?it:-it,Ee=V(Ee,it,me,Ie),pe.nodes.forEach(function(wt){M(wt,Re)==M(Ee,Re)||wt.column!=Ee.column||te(Ee,wt)&&V(wt,it,me,Ie)})):lt>Ee.y0&<<Ee.y1?(it=lt-Ee.y0+10,Ee=V(Ee,it,me,Ie),pe.nodes.forEach(function(wt){M(wt,Re)==M(Ee,Re)||wt.column!=Ee.column||wt.y0<Ee.y1&&wt.y1>Ee.y1&&V(wt,it,me,Ie)})):Ge<Ee.y0&<>Ee.y1&&(it=lt-Ee.y0+10,Ee=V(Ee,it,me,Ie),pe.nodes.forEach(function(wt){M(wt,Re)==M(Ee,Re)||wt.column!=Ee.column||wt.y0<Ee.y1&&wt.y1>Ee.y1&&V(wt,it,me,Ie)}))}})}})}function te(pe,me){return pe.y0>me.y0&&pe.y0<me.y1||pe.y1>me.y0&&pe.y1<me.y1?!0:pe.y0<me.y0&&pe.y1>me.y1}function V(pe,me,Ie,Re){return pe.y0+me>=Ie&&pe.y1+me<=Re&&(pe.y0=pe.y0+me,pe.y1=pe.y1+me,pe.targetLinks.forEach(function(ze){ze.y1=ze.y1+me}),pe.sourceLinks.forEach(function(ze){ze.y0=ze.y0+me})),pe}function ne(pe,me,Ie,Re){pe.nodes.forEach(function(ze){Re&&ze.y+(ze.y1-ze.y0)>me&&(ze.y=ze.y-(ze.y+(ze.y1-ze.y0)-me));var Be=pe.links.filter(function(ce){return M(ce.source,Ie)==M(ze,Ie)}),tt=Be.length;tt>1&&Be.sort(function(ce,Ee){if(!ce.circular&&!Ee.circular){if(ce.target.column==Ee.target.column)return ce.y1-Ee.y1;if(fe(ce,Ee)){if(ce.target.column>Ee.target.column){var Ae=$(Ee,ce);return ce.y1-Ae}if(Ee.target.column>ce.target.column){var Pe=$(ce,Ee);return Pe-Ee.y1}}else return ce.y1-Ee.y1}if(ce.circular&&!Ee.circular)return ce.circularLinkType=="top"?-1:1;if(Ee.circular&&!ce.circular)return Ee.circularLinkType=="top"?1:-1;if(ce.circular&&Ee.circular)return ce.circularLinkType===Ee.circularLinkType&&ce.circularLinkType=="top"?ce.target.column===Ee.target.column?ce.target.y1-Ee.target.y1:Ee.target.column-ce.target.column:ce.circularLinkType===Ee.circularLinkType&&ce.circularLinkType=="bottom"?ce.target.column===Ee.target.column?Ee.target.y1-ce.target.y1:ce.target.column-Ee.target.column:ce.circularLinkType=="top"?-1:1});var rt=ze.y0;Be.forEach(function(ce){ce.y0=rt+ce.width/2,rt=rt+ce.width}),Be.forEach(function(ce,Ee){if(ce.circularLinkType=="bottom"){var Ae=Ee+1,Pe=0;for(Ae;Ae<tt;Ae++)Pe=Pe+Be[Ae].width;ce.y0=ze.y1-Pe-ce.width/2}})})}function W(pe,me,Ie){pe.nodes.forEach(function(Re){var ze=pe.links.filter(function(rt){return M(rt.target,Ie)==M(Re,Ie)}),Be=ze.length;Be>1&&ze.sort(function(rt,ce){if(!rt.circular&&!ce.circular){if(rt.source.column==ce.source.column)return rt.y0-ce.y0;if(fe(rt,ce)){if(ce.source.column<rt.source.column){var Ee=K(ce,rt);return rt.y0-Ee}if(rt.source.column<ce.source.column){var Ae=K(rt,ce);return Ae-ce.y0}}else return rt.y0-ce.y0}if(rt.circular&&!ce.circular)return rt.circularLinkType=="top"?-1:1;if(ce.circular&&!rt.circular)return ce.circularLinkType=="top"?1:-1;if(rt.circular&&ce.circular)return rt.circularLinkType===ce.circularLinkType&&rt.circularLinkType=="top"?rt.source.column===ce.source.column?rt.source.y1-ce.source.y1:rt.source.column-ce.source.column:rt.circularLinkType===ce.circularLinkType&&rt.circularLinkType=="bottom"?rt.source.column===ce.source.column?rt.source.y1-ce.source.y1:ce.source.column-rt.source.column:rt.circularLinkType=="top"?-1:1});var tt=Re.y0;ze.forEach(function(rt){rt.y1=tt+rt.width/2,tt=tt+rt.width}),ze.forEach(function(rt,ce){if(rt.circularLinkType=="bottom"){var Ee=ce+1,Ae=0;for(Ee;Ee<Be;Ee++)Ae=Ae+ze[Ee].width;rt.y1=Re.y1-Ae-rt.width/2}})})}function fe(pe,me){return ge(pe)==ge(me)}function ge(pe){return pe.y0-pe.y1>0?"up":"down"}function Ce(pe,me){return M(pe.source,me)==M(pe.target,me)}function Ne(pe,me,Ie){var Re=pe.nodes,ze=pe.links,Be=!1,tt=!1;if(ze.forEach(function(He){He.circularLinkType=="top"?Be=!0:He.circularLinkType=="bottom"&&(tt=!0)}),Be==!1||tt==!1){var rt=t.min(Re,function(He){return He.y0}),ce=t.max(Re,function(He){return He.y1}),Ee=ce-rt,Ae=Ie-me,Pe=Ae/Ee;Re.forEach(function(He){var Fe=(He.y1-He.y0)*Pe;He.y0=(He.y0-rt)*Pe,He.y1=He.y0+Fe}),ze.forEach(function(He){He.y0=(He.y0-rt)*Pe,He.y1=(He.y1-rt)*Pe,He.width=He.width*Pe})}}e.sankeyCircular=y,e.sankeyCenter=u,e.sankeyLeft=o,e.sankeyRight=s,e.sankeyJustify=l,Object.defineProperty(e,"__esModule",{value:!0})})});var vF=J((XUt,PAe)=>{"use strict";PAe.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:"linear",cn:{sankey:"sankey",sankeyLinks:"sankey-links",sankeyLink:"sankey-link",sankeyNodeSet:"sankey-node-set",sankeyNode:"sankey-node",nodeRect:"node-rect",nodeLabel:"node-label"}}});var GAe=J((ZUt,YAe)=>{"use strict";var IAe=TAe(),v3t=(Qg(),s1(Kg)).interpolateNumber,Fx=Nr(),X_=CAe(),d3t=RAe(),Gi=vF(),zx=ls(),dm=qr(),p3t=ln(),Ad=gt(),gF=Ad.strTranslate,g3t=Ad.strRotate,mF=Px(),Z_=mF.keyFun,y4=mF.repeat,BAe=mF.unwrap,qAe=ca(),m3t=zr(),UAe=Vo(),y3t=UAe.CAP_SHIFT,x3t=UAe.LINE_SPACING,b3t=3;function w3t(e,t,r){var n=BAe(t),i=n.trace,a=i.domain,o=i.orientation==="h",s=i.node.pad,l=i.node.thickness,u={justify:X_.sankeyJustify,left:X_.sankeyLeft,right:X_.sankeyRight,center:X_.sankeyCenter}[i.node.align],f=e.width*(a.x[1]-a.x[0]),c=e.height*(a.y[1]-a.y[0]),h=n._nodes,d=n._links,v=n.circular,m;v?m=d3t.sankeyCircular().circularLinkGap(0):m=X_.sankey(),m.iterations(Gi.sankeyIterations).size(o?[f,c]:[c,f]).nodeWidth(l).nodePadding(s).nodeId(function(L){return L.pointNumber}).nodeAlign(u).nodes(h).links(d);var b=m();m.nodePadding()<s&&Ad.warn("node.pad was reduced to ",m.nodePadding()," to fit within the figure.");var g,_,T;for(var w in n._groupLookup){var k=parseInt(n._groupLookup[w]),x;for(g=0;g<b.nodes.length;g++)if(b.nodes[g].pointNumber===k){x=b.nodes[g];break}if(x){var M={pointNumber:parseInt(w),x0:x.x0,x1:x.x1,y0:x.y0,y1:x.y1,partOfGroup:!0,sourceLinks:[],targetLinks:[]};b.nodes.unshift(M),x.childrenNodes.unshift(M)}}function A(){for(g=0;g<b.nodes.length;g++){var L=b.nodes[g],R={},I,P;for(_=0;_<L.targetLinks.length;_++)P=L.targetLinks[_],I=P.source.pointNumber+":"+P.target.pointNumber,R.hasOwnProperty(I)||(R[I]=[]),R[I].push(P);var D=Object.keys(R);for(_=0;_<D.length;_++){I=D[_];var q=R[I],N=0,U={};for(T=0;T<q.length;T++)P=q[T],U[P.label]||(U[P.label]=0),U[P.label]+=P.value,N+=P.value;for(T=0;T<q.length;T++)P=q[T],P.flow={value:N,labelConcentration:U[P.label]/N,concentration:P.value/N,links:q},P.concentrationscale&&(P.color=zx(P.concentrationscale(P.flow.labelConcentration)))}var G=0;for(_=0;_<L.sourceLinks.length;_++)G+=L.sourceLinks[_].value;for(_=0;_<L.sourceLinks.length;_++)P=L.sourceLinks[_],P.concentrationOut=P.value/G;var ee=0;for(_=0;_<L.targetLinks.length;_++)ee+=L.targetLinks[_].value;for(_=0;_<L.targetLinks.length;_++)P=L.targetLinks[_],P.concenrationIn=P.value/ee}}A();function p(L){L.forEach(function(R){var I,P,D=0,q=R.length,N;for(R.sort(function(U,G){return U.y0-G.y0}),N=0;N<q;++N)I=R[N],I.y0>=D||(P=D-I.y0,P>1e-6&&(I.y0+=P,I.y1+=P)),D=I.y1+s})}function S(L){var R=L.map(function(G,ee){return{x0:G.x0,index:ee}}).sort(function(G,ee){return G.x0-ee.x0}),I=[],P=-1,D,q=-1/0,N;for(g=0;g<R.length;g++){var U=L[R[g].index];U.x0>q+l&&(P+=1,D=U.x0),q=U.x0,I[P]||(I[P]=[]),I[P].push(U),N=D-U.x0,U.x0+=N,U.x1+=N}return I}if(i.node.x.length&&i.node.y.length){for(g=0;g<Math.min(i.node.x.length,i.node.y.length,b.nodes.length);g++)if(i.node.x[g]&&i.node.y[g]){var y=[i.node.x[g]*f,i.node.y[g]*c];b.nodes[g].x0=y[0]-l/2,b.nodes[g].x1=y[0]+l/2;var E=b.nodes[g].y1-b.nodes[g].y0;b.nodes[g].y0=y[1]-E/2,b.nodes[g].y1=y[1]+E/2}if(i.arrangement==="snap"){h=b.nodes;var C=S(h);p(C)}m.update(b)}return{circular:v,key:r,trace:i,guid:Ad.randstr(),horizontal:o,width:f,height:c,nodePad:i.node.pad,nodeLineColor:i.node.line.color,nodeLineWidth:i.node.line.width,linkLineColor:i.link.line.color,linkLineWidth:i.link.line.width,linkArrowLength:i.link.arrowlen,valueFormat:i.valueformat,valueSuffix:i.valuesuffix,textFont:i.textfont,translateX:a.x[0]*e.width+e.margin.l,translateY:e.height-a.y[1]*e.height+e.margin.t,dragParallel:o?c:f,dragPerpendicular:o?f:c,arrangement:i.arrangement,sankey:m,graph:b,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}function _3t(e,t,r){var n=zx(t.color),i=zx(t.hovercolor),a=t.source.label+"|"+t.target.label,o=a+"__"+r;return t.trace=e.trace,t.curveNumber=e.trace.index,{circular:e.circular,key:o,traceId:e.key,pointNumber:t.pointNumber,link:t,tinyColorHue:dm.tinyRGB(n),tinyColorAlpha:n.getAlpha(),tinyColorHoverHue:dm.tinyRGB(i),tinyColorHoverAlpha:i.getAlpha(),linkPath:yF,linkLineColor:e.linkLineColor,linkLineWidth:e.linkLineWidth,linkArrowLength:e.linkArrowLength,valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,parent:e,interactionState:e.interactionState,flow:t.flow}}function T3t(e,t){var r="",n=e.width/2,i=e.circularPathData;return e.circularLinkType==="top"?r="M "+(i.targetX-t)+" "+(i.targetY+n)+" L"+(i.rightInnerExtent-t)+" "+(i.targetY+n)+"A"+(i.rightLargeArcRadius+n)+" "+(i.rightSmallArcRadius+n)+" 0 0 1 "+(i.rightFullExtent-n-t)+" "+(i.targetY-i.rightSmallArcRadius)+"L"+(i.rightFullExtent-n-t)+" "+i.verticalRightInnerExtent+"A"+(i.rightLargeArcRadius+n)+" "+(i.rightLargeArcRadius+n)+" 0 0 1 "+(i.rightInnerExtent-t)+" "+(i.verticalFullExtent-n)+"L"+i.leftInnerExtent+" "+(i.verticalFullExtent-n)+"A"+(i.leftLargeArcRadius+n)+" "+(i.leftLargeArcRadius+n)+" 0 0 1 "+(i.leftFullExtent+n)+" "+i.verticalLeftInnerExtent+"L"+(i.leftFullExtent+n)+" "+(i.sourceY-i.leftSmallArcRadius)+"A"+(i.leftLargeArcRadius+n)+" "+(i.leftSmallArcRadius+n)+" 0 0 1 "+i.leftInnerExtent+" "+(i.sourceY+n)+"L"+i.sourceX+" "+(i.sourceY+n)+"L"+i.sourceX+" "+(i.sourceY-n)+"L"+i.leftInnerExtent+" "+(i.sourceY-n)+"A"+(i.leftLargeArcRadius-n)+" "+(i.leftSmallArcRadius-n)+" 0 0 0 "+(i.leftFullExtent-n)+" "+(i.sourceY-i.leftSmallArcRadius)+"L"+(i.leftFullExtent-n)+" "+i.verticalLeftInnerExtent+"A"+(i.leftLargeArcRadius-n)+" "+(i.leftLargeArcRadius-n)+" 0 0 0 "+i.leftInnerExtent+" "+(i.verticalFullExtent+n)+"L"+(i.rightInnerExtent-t)+" "+(i.verticalFullExtent+n)+"A"+(i.rightLargeArcRadius-n)+" "+(i.rightLargeArcRadius-n)+" 0 0 0 "+(i.rightFullExtent+n-t)+" "+i.verticalRightInnerExtent+"L"+(i.rightFullExtent+n-t)+" "+(i.targetY-i.rightSmallArcRadius)+"A"+(i.rightLargeArcRadius-n)+" "+(i.rightSmallArcRadius-n)+" 0 0 0 "+(i.rightInnerExtent-t)+" "+(i.targetY-n)+"L"+(i.targetX-t)+" "+(i.targetY-n)+(t>0?"L"+i.targetX+" "+i.targetY:"")+"Z":r="M "+(i.targetX-t)+" "+(i.targetY-n)+" L"+(i.rightInnerExtent-t)+" "+(i.targetY-n)+"A"+(i.rightLargeArcRadius+n)+" "+(i.rightSmallArcRadius+n)+" 0 0 0 "+(i.rightFullExtent-n-t)+" "+(i.targetY+i.rightSmallArcRadius)+"L"+(i.rightFullExtent-n-t)+" "+i.verticalRightInnerExtent+"A"+(i.rightLargeArcRadius+n)+" "+(i.rightLargeArcRadius+n)+" 0 0 0 "+(i.rightInnerExtent-t)+" "+(i.verticalFullExtent+n)+"L"+i.leftInnerExtent+" "+(i.verticalFullExtent+n)+"A"+(i.leftLargeArcRadius+n)+" "+(i.leftLargeArcRadius+n)+" 0 0 0 "+(i.leftFullExtent+n)+" "+i.verticalLeftInnerExtent+"L"+(i.leftFullExtent+n)+" "+(i.sourceY+i.leftSmallArcRadius)+"A"+(i.leftLargeArcRadius+n)+" "+(i.leftSmallArcRadius+n)+" 0 0 0 "+i.leftInnerExtent+" "+(i.sourceY-n)+"L"+i.sourceX+" "+(i.sourceY-n)+"L"+i.sourceX+" "+(i.sourceY+n)+"L"+i.leftInnerExtent+" "+(i.sourceY+n)+"A"+(i.leftLargeArcRadius-n)+" "+(i.leftSmallArcRadius-n)+" 0 0 1 "+(i.leftFullExtent-n)+" "+(i.sourceY+i.leftSmallArcRadius)+"L"+(i.leftFullExtent-n)+" "+i.verticalLeftInnerExtent+"A"+(i.leftLargeArcRadius-n)+" "+(i.leftLargeArcRadius-n)+" 0 0 1 "+i.leftInnerExtent+" "+(i.verticalFullExtent-n)+"L"+(i.rightInnerExtent-t)+" "+(i.verticalFullExtent-n)+"A"+(i.rightLargeArcRadius-n)+" "+(i.rightLargeArcRadius-n)+" 0 0 1 "+(i.rightFullExtent+n-t)+" "+i.verticalRightInnerExtent+"L"+(i.rightFullExtent+n-t)+" "+(i.targetY+i.rightSmallArcRadius)+"A"+(i.rightLargeArcRadius-n)+" "+(i.rightSmallArcRadius-n)+" 0 0 1 "+(i.rightInnerExtent-t)+" "+(i.targetY+n)+"L"+(i.targetX-t)+" "+(i.targetY+n)+(t>0?"L"+i.targetX+" "+i.targetY:"")+"Z",r}function yF(){var e=.5;function t(r){var n=r.linkArrowLength;if(r.link.circular)return T3t(r.link,n);var i=Math.abs((r.link.target.x0-r.link.source.x1)/2);n>i&&(n=i);var a=r.link.source.x1,o=r.link.target.x0-n,s=v3t(a,o),l=s(e),u=s(1-e),f=r.link.y0-r.link.width/2,c=r.link.y0+r.link.width/2,h=r.link.y1-r.link.width/2,d=r.link.y1+r.link.width/2,v="M"+a+","+f,m="C"+l+","+f+" "+u+","+h+" "+o+","+h,b="C"+u+","+d+" "+l+","+c+" "+a+","+c,g=n>0?"L"+(o+n)+","+(h+r.link.width/2):"";return g+="L"+o+","+d,v+m+g+b+"Z"}return t}function A3t(e,t){var r=zx(t.color),n=Gi.nodePadAcross,i=e.nodePad/2;t.dx=t.x1-t.x0,t.dy=t.y1-t.y0;var a=t.dx,o=Math.max(.5,t.dy),s="node_"+t.pointNumber;return t.group&&(s=Ad.randstr()),t.trace=e.trace,t.curveNumber=e.trace.index,{index:t.pointNumber,key:s,partOfGroup:t.partOfGroup||!1,group:t.group,traceId:e.key,trace:e.trace,node:t,nodePad:e.nodePad,nodeLineColor:e.nodeLineColor,nodeLineWidth:e.nodeLineWidth,textFont:e.textFont,size:e.horizontal?e.height:e.width,visibleWidth:Math.ceil(a),visibleHeight:o,zoneX:-n,zoneY:-i,zoneWidth:a+2*n,zoneHeight:o+2*i,labelY:e.horizontal?t.dy/2+1:t.dx/2+1,left:t.originalLayer===1,sizeAcross:e.width,forceLayouts:e.forceLayouts,horizontal:e.horizontal,darkBackground:r.getBrightness()<=128,tinyColorHue:dm.tinyRGB(r),tinyColorAlpha:r.getAlpha(),valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,graph:e.graph,arrangement:e.arrangement,uniqueNodeLabelPathId:[e.guid,e.key,s].join("_"),interactionState:e.interactionState,figure:e}}function pF(e){e.attr("transform",function(t){return gF(t.node.x0.toFixed(3),t.node.y0.toFixed(3))})}function M3t(e){e.call(pF)}function HAe(e,t){e.call(M3t),t.attr("d",yF())}function FAe(e){e.attr("width",function(t){return t.node.x1-t.node.x0}).attr("height",function(t){return t.visibleHeight})}function dF(e){return e.link.width>1||e.linkLineWidth>0}function zAe(e){var t=gF(e.translateX,e.translateY);return t+(e.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function NAe(e,t,r){e.on(".basic",null).on("mouseover.basic",function(n){!n.interactionState.dragInProgress&&!n.partOfGroup&&(r.hover(this,n,t),n.interactionState.hovered=[this,n])}).on("mousemove.basic",function(n){!n.interactionState.dragInProgress&&!n.partOfGroup&&(r.follow(this,n),n.interactionState.hovered=[this,n])}).on("mouseout.basic",function(n){!n.interactionState.dragInProgress&&!n.partOfGroup&&(r.unhover(this,n,t),n.interactionState.hovered=!1)}).on("click.basic",function(n){n.interactionState.hovered&&(r.unhover(this,n,t),n.interactionState.hovered=!1),!n.interactionState.dragInProgress&&!n.partOfGroup&&r.select(this,n,t)})}function k3t(e,t,r,n){var i=Fx.behavior.drag().origin(function(a){return{x:a.node.x0+a.visibleWidth/2,y:a.node.y0+a.visibleHeight/2}}).on("dragstart",function(a){if(a.arrangement!=="fixed"&&(Ad.ensureSingle(n._fullLayout._infolayer,"g","dragcover",function(s){n._fullLayout._dragCover=s}),Ad.raiseToTop(this),a.interactionState.dragInProgress=a.node,OAe(a.node),a.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,a.interactionState.hovered),a.interactionState.hovered=!1),a.arrangement==="snap")){var o=a.traceId+"|"+a.key;a.forceLayouts[o]?a.forceLayouts[o].alpha(1):S3t(e,o,a,n),C3t(e,t,a,o,n)}}).on("drag",function(a){if(a.arrangement!=="fixed"){var o=Fx.event.x,s=Fx.event.y;a.arrangement==="snap"?(a.node.x0=o-a.visibleWidth/2,a.node.x1=o+a.visibleWidth/2,a.node.y0=s-a.visibleHeight/2,a.node.y1=s+a.visibleHeight/2):(a.arrangement==="freeform"&&(a.node.x0=o-a.visibleWidth/2,a.node.x1=o+a.visibleWidth/2),s=Math.max(0,Math.min(a.size-a.visibleHeight/2,s)),a.node.y0=s-a.visibleHeight/2,a.node.y1=s+a.visibleHeight/2),OAe(a.node),a.arrangement!=="snap"&&(a.sankey.update(a.graph),HAe(e.filter(VAe(a)),t))}}).on("dragend",function(a){if(a.arrangement!=="fixed"){a.interactionState.dragInProgress=!1;for(var o=0;o<a.node.childrenNodes.length;o++)a.node.childrenNodes[o].x=a.node.x,a.node.childrenNodes[o].y=a.node.y;a.arrangement!=="snap"&&jAe(a,n)}});e.on(".drag",null).call(i)}function S3t(e,t,r,n){D3t(r.graph.nodes);var i=r.graph.nodes.filter(function(a){return a.originalX===r.node.originalX}).filter(function(a){return!a.partOfGroup});r.forceLayouts[t]=IAe.forceSimulation(i).alphaDecay(0).force("collide",IAe.forceCollide().radius(function(a){return a.dy/2+r.nodePad/2}).strength(1).iterations(Gi.forceIterations)).force("constrain",E3t(e,t,i,r,n)).stop()}function C3t(e,t,r,n,i){window.requestAnimationFrame(function a(){var o;for(o=0;o<Gi.forceTicksPerFrame;o++)r.forceLayouts[n].tick();var s=r.graph.nodes;if(R3t(s),r.sankey.update(r.graph),HAe(e.filter(VAe(r)),t),r.forceLayouts[n].alpha()>0)window.requestAnimationFrame(a);else{var l=r.node.originalX;r.node.x0=l-r.visibleWidth/2,r.node.x1=l+r.visibleWidth/2,jAe(r,i)}})}function E3t(e,t,r,n){return function(){for(var a=0,o=0;o<r.length;o++){var s=r[o];s===n.interactionState.dragInProgress?(s.x=s.lastDraggedX,s.y=s.lastDraggedY):(s.vx=(s.originalX-s.x)/Gi.forceTicksPerFrame,s.y=Math.min(n.size-s.dy/2,Math.max(s.dy/2,s.y))),a=Math.max(a,Math.abs(s.vx),Math.abs(s.vy))}!n.interactionState.dragInProgress&&a<.1&&n.forceLayouts[t].alpha()>0&&n.forceLayouts[t].alpha(0)}}function jAe(e,t){for(var r=[],n=[],i=0;i<e.graph.nodes.length;i++){var a=(e.graph.nodes[i].x0+e.graph.nodes[i].x1)/2,o=(e.graph.nodes[i].y0+e.graph.nodes[i].y1)/2;r.push(a/e.figure.width),n.push(o/e.figure.height)}m3t.call("_guiRestyle",t,{"node.x":[r],"node.y":[n]},e.trace.index).then(function(){t._fullLayout._dragCover&&t._fullLayout._dragCover.remove()})}function L3t(e){var t=[],r;for(r=0;r<e.length;r++)e[r].originalX=(e[r].x0+e[r].x1)/2,e[r].originalY=(e[r].y0+e[r].y1)/2,t.indexOf(e[r].originalX)===-1&&t.push(e[r].originalX);for(t.sort(function(n,i){return n-i}),r=0;r<e.length;r++)e[r].originalLayerIndex=t.indexOf(e[r].originalX),e[r].originalLayer=e[r].originalLayerIndex/(t.length-1)}function OAe(e){e.lastDraggedX=e.x0+e.dx/2,e.lastDraggedY=e.y0+e.dy/2}function VAe(e){return function(t){return t.node.originalX===e.node.originalX}}function D3t(e){for(var t=0;t<e.length;t++)e[t].y=(e[t].y0+e[t].y1)/2,e[t].x=(e[t].x0+e[t].x1)/2}function R3t(e){for(var t=0;t<e.length;t++)e[t].y0=e[t].y-e[t].dy/2,e[t].y1=e[t].y0+e[t].dy,e[t].x0=e[t].x-e[t].dx/2,e[t].x1=e[t].x0+e[t].dx}YAe.exports=function(e,t,r,n,i){var a=e._context.staticPlot,o=!1;Ad.ensureSingle(e._fullLayout._infolayer,"g","first-render",function(){o=!0});var s=e._fullLayout._dragCover,l=r.filter(function(b){return BAe(b).trace.visible}).map(w3t.bind(null,n)),u=t.selectAll("."+Gi.cn.sankey).data(l,Z_);u.exit().remove(),u.enter().append("g").classed(Gi.cn.sankey,!0).style("box-sizing","content-box").style("position","absolute").style("left",0).style("shape-rendering","geometricPrecision").style("pointer-events",a?"none":"auto").attr("transform",zAe),u.each(function(b,g){e._fullData[g]._sankey=b;var _="bgsankey-"+b.trace.uid+"-"+g;Ad.ensureSingle(e._fullLayout._draggers,"rect",_),e._fullData[g]._bgRect=Fx.select("."+_),e._fullData[g]._bgRect.style("pointer-events",a?"none":"all").attr("width",b.width).attr("height",b.height).attr("x",b.translateX).attr("y",b.translateY).classed("bgsankey",!0).style({fill:"transparent","stroke-width":0})}),u.transition().ease(Gi.ease).duration(Gi.duration).attr("transform",zAe);var f=u.selectAll("."+Gi.cn.sankeyLinks).data(y4,Z_);f.enter().append("g").classed(Gi.cn.sankeyLinks,!0).style("fill","none");var c=f.selectAll("."+Gi.cn.sankeyLink).data(function(b){var g=b.graph.links;return g.filter(function(_){return _.value}).map(_3t.bind(null,b))},Z_);c.enter().append("path").classed(Gi.cn.sankeyLink,!0).call(NAe,u,i.linkEvents),c.style("stroke",function(b){return dF(b)?dm.tinyRGB(zx(b.linkLineColor)):b.tinyColorHue}).style("stroke-opacity",function(b){return dF(b)?dm.opacity(b.linkLineColor):b.tinyColorAlpha}).style("fill",function(b){return b.tinyColorHue}).style("fill-opacity",function(b){return b.tinyColorAlpha}).style("stroke-width",function(b){return dF(b)?b.linkLineWidth:1}).attr("d",yF()),c.style("opacity",function(){return e._context.staticPlot||o||s?1:0}).transition().ease(Gi.ease).duration(Gi.duration).style("opacity",1),c.exit().transition().ease(Gi.ease).duration(Gi.duration).style("opacity",0).remove();var h=u.selectAll("."+Gi.cn.sankeyNodeSet).data(y4,Z_);h.enter().append("g").classed(Gi.cn.sankeyNodeSet,!0),h.style("cursor",function(b){switch(b.arrangement){case"fixed":return"default";case"perpendicular":return"ns-resize";default:return"move"}});var d=h.selectAll("."+Gi.cn.sankeyNode).data(function(b){var g=b.graph.nodes;return L3t(g),g.map(A3t.bind(null,b))},Z_);d.enter().append("g").classed(Gi.cn.sankeyNode,!0).call(pF).style("opacity",function(b){return(e._context.staticPlot||o)&&!b.partOfGroup?1:0}),d.call(NAe,u,i.nodeEvents).call(k3t,c,i,e),d.transition().ease(Gi.ease).duration(Gi.duration).call(pF).style("opacity",function(b){return b.partOfGroup?0:1}),d.exit().transition().ease(Gi.ease).duration(Gi.duration).style("opacity",0).remove();var v=d.selectAll("."+Gi.cn.nodeRect).data(y4);v.enter().append("rect").classed(Gi.cn.nodeRect,!0).call(FAe),v.style("stroke-width",function(b){return b.nodeLineWidth}).style("stroke",function(b){return dm.tinyRGB(zx(b.nodeLineColor))}).style("stroke-opacity",function(b){return dm.opacity(b.nodeLineColor)}).style("fill",function(b){return b.tinyColorHue}).style("fill-opacity",function(b){return b.tinyColorAlpha}),v.transition().ease(Gi.ease).duration(Gi.duration).call(FAe);var m=d.selectAll("."+Gi.cn.nodeLabel).data(y4);m.enter().append("text").classed(Gi.cn.nodeLabel,!0).style("cursor","default"),m.attr("data-notex",1).text(function(b){return b.node.label}).each(function(b){var g=Fx.select(this);p3t.font(g,b.textFont),qAe.convertToTspans(g,e)}).attr("text-anchor",function(b){return b.horizontal&&b.left?"end":"start"}).attr("transform",function(b){var g=Fx.select(this),_=qAe.lineCount(g),T=b.textFont.size*((_-1)*x3t-y3t),w=b.nodeLineWidth/2+b3t,k=((b.horizontal?b.visibleHeight:b.visibleWidth)-T)/2;b.horizontal&&(b.left?w=-w:w+=b.visibleWidth);var x=b.horizontal?"":"scale(-1,1)"+g3t(90);return gF(b.horizontal?w:k,b.horizontal?k:w)+x}),m.transition().ease(Gi.ease).duration(Gi.duration)}});var wF=J((JUt,tMe)=>{"use strict";var Yl=Nr(),bF=gt(),x4=bF.numberFormat,P3t=GAe(),Nx=go(),I3t=qr(),np=vF().cn,J_=bF._;function WAe(e){return e!==""}function Ox(e,t){return e.filter(function(r){return r.key===t.traceId})}function XAe(e,t){Yl.select(e).select("path").style("fill-opacity",t),Yl.select(e).select("rect").style("fill-opacity",t)}function ZAe(e){Yl.select(e).select("text.name").style("fill","black")}function JAe(e){return function(t){return e.node.sourceLinks.indexOf(t.link)!==-1||e.node.targetLinks.indexOf(t.link)!==-1}}function $Ae(e){return function(t){return t.node.sourceLinks.indexOf(e.link)!==-1||t.node.targetLinks.indexOf(e.link)!==-1}}function KAe(e,t,r){t&&r&&Ox(r,t).selectAll("."+np.sankeyLink).filter(JAe(t)).call(QAe.bind(0,t,r,!1))}function xF(e,t,r){t&&r&&Ox(r,t).selectAll("."+np.sankeyLink).filter(JAe(t)).call(eMe.bind(0,t,r,!1))}function QAe(e,t,r,n){n.style("fill",function(i){if(!i.link.concentrationscale)return i.tinyColorHoverHue}).style("fill-opacity",function(i){if(!i.link.concentrationscale)return i.tinyColorHoverAlpha}),n.each(function(i){var a=i.link.label;a!==""&&Ox(t,e).selectAll("."+np.sankeyLink).filter(function(o){return o.link.label===a}).style("fill",function(o){if(!o.link.concentrationscale)return o.tinyColorHoverHue}).style("fill-opacity",function(o){if(!o.link.concentrationscale)return o.tinyColorHoverAlpha})}),r&&Ox(t,e).selectAll("."+np.sankeyNode).filter($Ae(e)).call(KAe)}function eMe(e,t,r,n){n.style("fill",function(i){return i.tinyColorHue}).style("fill-opacity",function(i){return i.tinyColorAlpha}),n.each(function(i){var a=i.link.label;a!==""&&Ox(t,e).selectAll("."+np.sankeyLink).filter(function(o){return o.link.label===a}).style("fill",function(o){return o.tinyColorHue}).style("fill-opacity",function(o){return o.tinyColorAlpha})}),r&&Ox(t,e).selectAll(np.sankeyNode).filter($Ae(e)).call(xF)}function ja(e,t){var r=e.hoverlabel||{},n=bF.nestedProperty(r,t).get();return Array.isArray(n)?!1:n}tMe.exports=function(t,r){for(var n=t._fullLayout,i=n._paper,a=n._size,o=0;o<t._fullData.length;o++)if(t._fullData[o].visible&&t._fullData[o].type===np.sankey&&!t._fullData[o]._viewInitial){var s=t._fullData[o].node;t._fullData[o]._viewInitial={node:{groups:s.groups.slice(),x:s.x.slice(),y:s.y.slice()}}}var l=function(k,x){var M=x.link;M.originalEvent=Yl.event,t._hoverdata=[M],Nx.click(t,{target:!0})},u=function(k,x,M){t._fullLayout.hovermode!==!1&&(Yl.select(k).call(QAe.bind(0,x,M,!0)),x.link.trace.link.hoverinfo!=="skip"&&(x.link.fullData=x.link.trace,t.emit("plotly_hover",{event:Yl.event,points:[x.link]})))},f=J_(t,"source:")+" ",c=J_(t,"target:")+" ",h=J_(t,"concentration:")+" ",d=J_(t,"incoming flow count:")+" ",v=J_(t,"outgoing flow count:")+" ",m=function(k,x){if(t._fullLayout.hovermode===!1)return;var M=x.link.trace.link;if(M.hoverinfo==="none"||M.hoverinfo==="skip")return;var A=[];function p(I){var P,D;I.circular?(P=(I.circularPathData.leftInnerExtent+I.circularPathData.rightInnerExtent)/2,D=I.circularPathData.verticalFullExtent):(P=(I.source.x1+I.target.x0)/2,D=(I.y0+I.y1)/2);var q=[P,D];return I.trace.orientation==="v"&&q.reverse(),q[0]+=x.parent.translateX,q[1]+=x.parent.translateY,q}for(var S=0,y=0;y<x.flow.links.length;y++){var E=x.flow.links[y];if(!(t._fullLayout.hovermode==="closest"&&x.link.pointNumber!==E.pointNumber)){x.link.pointNumber===E.pointNumber&&(S=y),E.fullData=E.trace,M=x.link.trace.link;var C=p(E),L={valueLabel:x4(x.valueFormat)(E.value)+x.valueSuffix};A.push({x:C[0],y:C[1],name:L.valueLabel,text:[E.label||"",f+E.source.label,c+E.target.label,E.concentrationscale?h+x4("%0.2f")(E.flow.labelConcentration):""].filter(WAe).join("<br>"),color:ja(M,"bgcolor")||I3t.addOpacity(E.color,1),borderColor:ja(M,"bordercolor"),fontFamily:ja(M,"font.family"),fontSize:ja(M,"font.size"),fontColor:ja(M,"font.color"),fontWeight:ja(M,"font.weight"),fontStyle:ja(M,"font.style"),fontVariant:ja(M,"font.variant"),fontTextcase:ja(M,"font.textcase"),fontLineposition:ja(M,"font.lineposition"),fontShadow:ja(M,"font.shadow"),nameLength:ja(M,"namelength"),textAlign:ja(M,"align"),idealAlign:Yl.event.x<C[0]?"right":"left",hovertemplate:M.hovertemplate,hovertemplateLabels:L,eventData:[E]})}}var R=Nx.loneHover(A,{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:t,anchorIndex:S});R.each(function(){var I=this;x.link.concentrationscale||XAe(I,.65),ZAe(I)})},b=function(k,x,M){t._fullLayout.hovermode!==!1&&(Yl.select(k).call(eMe.bind(0,x,M,!0)),x.link.trace.link.hoverinfo!=="skip"&&(x.link.fullData=x.link.trace,t.emit("plotly_unhover",{event:Yl.event,points:[x.link]})),Nx.loneUnhover(n._hoverlayer.node()))},g=function(k,x,M){var A=x.node;A.originalEvent=Yl.event,t._hoverdata=[A],Yl.select(k).call(xF,x,M),Nx.click(t,{target:!0})},_=function(k,x,M){t._fullLayout.hovermode!==!1&&(Yl.select(k).call(KAe,x,M),x.node.trace.node.hoverinfo!=="skip"&&(x.node.fullData=x.node.trace,t.emit("plotly_hover",{event:Yl.event,points:[x.node]})))},T=function(k,x){if(t._fullLayout.hovermode!==!1){var M=x.node.trace.node;if(!(M.hoverinfo==="none"||M.hoverinfo==="skip")){var A=Yl.select(k).select("."+np.nodeRect),p=t._fullLayout._paperdiv.node().getBoundingClientRect(),S=A.node().getBoundingClientRect(),y=S.left-2-p.left,E=S.right+2-p.left,C=S.top+S.height/4-p.top,L={valueLabel:x4(x.valueFormat)(x.node.value)+x.valueSuffix};x.node.fullData=x.node.trace,t._fullLayout._calcInverseTransform(t);var R=t._fullLayout._invScaleX,I=t._fullLayout._invScaleY,P=Nx.loneHover({x0:R*y,x1:R*E,y:I*C,name:x4(x.valueFormat)(x.node.value)+x.valueSuffix,text:[x.node.label,d+x.node.targetLinks.length,v+x.node.sourceLinks.length].filter(WAe).join("<br>"),color:ja(M,"bgcolor")||x.tinyColorHue,borderColor:ja(M,"bordercolor"),fontFamily:ja(M,"font.family"),fontSize:ja(M,"font.size"),fontColor:ja(M,"font.color"),fontWeight:ja(M,"font.weight"),fontStyle:ja(M,"font.style"),fontVariant:ja(M,"font.variant"),fontTextcase:ja(M,"font.textcase"),fontLineposition:ja(M,"font.lineposition"),fontShadow:ja(M,"font.shadow"),nameLength:ja(M,"namelength"),textAlign:ja(M,"align"),idealAlign:"left",hovertemplate:M.hovertemplate,hovertemplateLabels:L,eventData:[x.node]},{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:t});XAe(P,.85),ZAe(P)}}},w=function(k,x,M){t._fullLayout.hovermode!==!1&&(Yl.select(k).call(xF,x,M),x.node.trace.node.hoverinfo!=="skip"&&(x.node.fullData=x.node.trace,t.emit("plotly_unhover",{event:Yl.event,points:[x.node]})),Nx.loneUnhover(n._hoverlayer.node()))};P3t(t,i,r,{width:a.w,height:a.h,margin:{t:a.t,r:a.r,b:a.b,l:a.l}},{linkEvents:{hover:u,follow:m,unhover:b,select:l},nodeEvents:{hover:_,follow:T,unhover:w,select:g}})}});var rMe=J(pm=>{"use strict";var q3t=La().overrideAll,F3t=Nu().getModuleCalcData,z3t=wF(),N3t=Uv(),O3t=th(),B3t=iu(),U3t=ml().prepSelect,_F=gt(),H3t=zr(),b4="sankey";pm.name=b4;pm.baseLayoutAttrOverrides=q3t({hoverlabel:N3t.hoverlabel},"plot","nested");pm.plot=function(e){var t=F3t(e.calcdata,b4)[0];z3t(e,t),pm.updateFx(e)};pm.clean=function(e,t,r,n){var i=n._has&&n._has(b4),a=t._has&&t._has(b4);i&&!a&&(n._paperdiv.selectAll(".sankey").remove(),n._paperdiv.selectAll(".bgsankey").remove())};pm.updateFx=function(e){for(var t=0;t<e._fullData.length;t++)j3t(e,t)};function j3t(e,t){var r=e._fullData[t],n=e._fullLayout,i=n.dragmode,a=n.dragmode==="pan"?"move":"crosshair",o=r._bgRect;if(o&&!(i==="pan"||i==="zoom")){O3t(o,a);var s={_id:"x",c2p:_F.identity,_offset:r._sankey.translateX,_length:r._sankey.width},l={_id:"y",c2p:_F.identity,_offset:r._sankey.translateY,_length:r._sankey.height},u={gd:e,element:o.node(),plotinfo:{id:t,xaxis:s,yaxis:l,fillRangeItems:_F.noop},subplot:t,xaxes:[s],yaxes:[l],doneFnCompleted:function(f){var c=e._fullData[t],h,d=c.node.groups.slice(),v=[];function m(T){for(var w=c._sankey.graph.nodes,k=0;k<w.length;k++)if(w[k].pointNumber===T)return w[k]}for(var b=0;b<f.length;b++){var g=m(f[b].pointNumber);if(g)if(g.group){for(var _=0;_<g.childrenNodes.length;_++)v.push(g.childrenNodes[_].pointNumber);d[g.pointNumber-c.node._count]=!1}else v.push(g.pointNumber)}h=d.filter(Boolean).concat([v]),H3t.call("_guiRestyle",e,{"node.groups":[h]},t)}};u.prepFn=function(f,c,h){U3t(f,c,h,u,i)},B3t.init(u)}}});var iMe=J((KUt,nMe)=>{"use strict";nMe.exports=function(t,r){for(var n=t.cd,i=[],a=n[0].trace,o=a._sankey.graph.nodes,s=0;s<o.length;s++){var l=o[s];if(!l.partOfGroup){var u=[(l.x0+l.x1)/2,(l.y0+l.y1)/2];a.orientation==="v"&&u.reverse(),r&&r.contains(u,!1,s,t)&&i.push({pointNumber:l.pointNumber})}}return i}});var oMe=J((QUt,aMe)=>{"use strict";aMe.exports={attributes:fF(),supplyDefaults:uAe(),calc:dAe(),plot:wF(),moduleType:"trace",name:"sankey",basePlotModule:rMe(),selectPoints:iMe(),categories:["noOpacity"],meta:{description:["Sankey plots for network flow data analysis.","The nodes are specified in `nodes` and the links between sources and targets in `links`.","The colors are set in `nodes[i].color` and `links[i].color`, otherwise defaults are used."].join(" ")}}});var lMe=J((eHt,sMe)=>{"use strict";sMe.exports=oMe()});var fMe=J(Bx=>{"use strict";var uMe=ea();Bx.name="indicator";Bx.plot=function(e,t,r,n){uMe.plotBasePlot(Bx.name,e,t,r,n)};Bx.clean=function(e,t,r,n){uMe.cleanBasePlot(Bx.name,e,t,r,n)}});var AF=J((rHt,gMe)=>{"use strict";var ip=cn().extendFlat,hMe=cn().extendDeep,V3t=La().overrideAll,vMe=xa(),dMe=Ho(),Y3t=Wa().attributes,Za=hl(),G3t=ki().templatedArray,w4=Jy(),cMe=Ga().descriptionOnlyNumbers,TF=vMe({editType:"plot",colorEditType:"plot"}),$_={color:{valType:"color",editType:"plot",description:["Sets the background color of the arc."].join(" ")},line:{color:{valType:"color",dflt:dMe.defaultLine,editType:"plot",description:["Sets the color of the line enclosing each sector."].join(" ")},width:{valType:"number",min:0,dflt:0,editType:"plot",description:["Sets the width (in px) of the line enclosing each sector."].join(" ")},editType:"calc"},thickness:{valType:"number",min:0,max:1,dflt:1,editType:"plot",description:["Sets the thickness of the bar as a fraction of the total thickness of the gauge."].join(" ")},editType:"calc"},pMe={valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot",description:["Sets the range of this axis."].join(" ")},W3t=G3t("step",hMe({},$_,{range:pMe}));gMe.exports={mode:{valType:"flaglist",editType:"calc",flags:["number","delta","gauge"],dflt:"number",description:["Determines how the value is displayed on the graph.","`number` displays the value numerically in text.","`delta` displays the difference to a reference value in text.","Finally, `gauge` displays the value graphically on an axis."].join(" ")},value:{valType:"number",editType:"calc",anim:!0,description:["Sets the number to be displayed."].join(" ")},align:{valType:"enumerated",values:["left","center","right"],editType:"plot",description:["Sets the horizontal alignment of the `text` within the box.","Note that this attribute has no effect if an angular gauge is displayed:","in this case, it is always centered"].join(" ")},domain:Y3t({name:"indicator",trace:!0,editType:"calc"}),title:{text:{valType:"string",editType:"plot",description:["Sets the title of this indicator."].join(" ")},align:{valType:"enumerated",values:["left","center","right"],editType:"plot",description:["Sets the horizontal alignment of the title.","It defaults to `center` except for bullet charts","for which it defaults to right."].join(" ")},font:ip({},TF,{description:["Set the font used to display the title"].join(" ")}),editType:"plot"},number:{valueformat:{valType:"string",dflt:"",editType:"plot",description:cMe("value")},font:ip({},TF,{description:["Set the font used to display main number"].join(" ")}),prefix:{valType:"string",dflt:"",editType:"plot",description:["Sets a prefix appearing before the number."].join(" ")},suffix:{valType:"string",dflt:"",editType:"plot",description:["Sets a suffix appearing next to the number."].join(" ")},editType:"plot"},delta:{reference:{valType:"number",editType:"calc",description:["Sets the reference value to compute the delta.","By default, it is set to the current value."].join(" ")},position:{valType:"enumerated",values:["top","bottom","left","right"],dflt:"bottom",editType:"plot",description:["Sets the position of delta with respect to the number."].join(" ")},relative:{valType:"boolean",editType:"plot",dflt:!1,description:["Show relative change"].join(" ")},valueformat:{valType:"string",editType:"plot",description:cMe("value")},increasing:{symbol:{valType:"string",dflt:w4.INCREASING.SYMBOL,editType:"plot",description:["Sets the symbol to display for increasing value"].join(" ")},color:{valType:"color",dflt:w4.INCREASING.COLOR,editType:"plot",description:["Sets the color for increasing value."].join(" ")},editType:"plot"},decreasing:{symbol:{valType:"string",dflt:w4.DECREASING.SYMBOL,editType:"plot",description:["Sets the symbol to display for increasing value"].join(" ")},color:{valType:"color",dflt:w4.DECREASING.COLOR,editType:"plot",description:["Sets the color for increasing value."].join(" ")},editType:"plot"},font:ip({},TF,{description:["Set the font used to display the delta"].join(" ")}),prefix:{valType:"string",dflt:"",editType:"plot",description:["Sets a prefix appearing before the delta."].join(" ")},suffix:{valType:"string",dflt:"",editType:"plot",description:["Sets a suffix appearing next to the delta."].join(" ")},editType:"calc"},gauge:{shape:{valType:"enumerated",editType:"plot",dflt:"angular",values:["angular","bullet"],description:["Set the shape of the gauge"].join(" ")},bar:hMe({},$_,{color:{dflt:"green"},description:["Set the appearance of the gauge's value"].join(" ")}),bgcolor:{valType:"color",editType:"plot",description:"Sets the gauge background color."},bordercolor:{valType:"color",dflt:dMe.defaultLine,editType:"plot",description:"Sets the color of the border enclosing the gauge."},borderwidth:{valType:"number",min:0,dflt:1,editType:"plot",description:"Sets the width (in px) of the border enclosing the gauge."},axis:V3t({range:pMe,visible:ip({},Za.visible,{dflt:!0}),tickmode:Za.minor.tickmode,nticks:Za.nticks,tick0:Za.tick0,dtick:Za.dtick,tickvals:Za.tickvals,ticktext:Za.ticktext,ticks:ip({},Za.ticks,{dflt:"outside"}),ticklen:Za.ticklen,tickwidth:Za.tickwidth,tickcolor:Za.tickcolor,ticklabelstep:Za.ticklabelstep,showticklabels:Za.showticklabels,labelalias:Za.labelalias,tickfont:vMe({description:"Sets the color bar's tick label font"}),tickangle:Za.tickangle,tickformat:Za.tickformat,tickformatstops:Za.tickformatstops,tickprefix:Za.tickprefix,showtickprefix:Za.showtickprefix,ticksuffix:Za.ticksuffix,showticksuffix:Za.showticksuffix,separatethousands:Za.separatethousands,exponentformat:Za.exponentformat,minexponent:Za.minexponent,showexponent:Za.showexponent,editType:"plot"},"plot"),steps:W3t,threshold:{line:{color:ip({},$_.line.color,{description:["Sets the color of the threshold line."].join(" ")}),width:ip({},$_.line.width,{dflt:1,description:["Sets the width (in px) of the threshold line."].join(" ")}),editType:"plot"},thickness:ip({},$_.thickness,{dflt:.85,description:["Sets the thickness of the threshold line as a fraction of the thickness of the gauge."].join(" ")}),value:{valType:"number",editType:"calc",dflt:!1,description:["Sets a treshold value drawn as a line."].join(" ")},editType:"plot"},description:"The gauge of the Indicator plot.",editType:"plot"}}});var MF=J((nHt,mMe)=>{"use strict";mMe.exports={defaultNumberFontSize:80,bulletNumberDomainSize:.25,bulletPadding:.025,innerRadius:.75,valueThickness:.5,titlePadding:5,horizontalPadding:10}});var bMe=J((iHt,xMe)=>{"use strict";var mv=gt(),T4=AF(),X3t=Wa().defaults,yMe=ki(),Z3t=Bu(),_4=MF(),J3t=Wp(),$3t=N1(),K3t=Xp(),Q3t=Zp();function eTt(e,t,r,n){function i(x,M){return mv.coerce(e,t,T4,x,M)}X3t(t,n,i),i("mode"),t._hasNumber=t.mode.indexOf("number")!==-1,t._hasDelta=t.mode.indexOf("delta")!==-1,t._hasGauge=t.mode.indexOf("gauge")!==-1;var a=i("value");t._range=[0,typeof a=="number"?1.5*a:1];var o=new Array(2),s;if(t._hasNumber){i("number.valueformat");var l=mv.extendFlat({},n.font);l.size=void 0,mv.coerceFont(i,"number.font",l),t.number.font.size===void 0&&(t.number.font.size=_4.defaultNumberFontSize,o[0]=!0),i("number.prefix"),i("number.suffix"),s=t.number.font.size}var u;if(t._hasDelta){var f=mv.extendFlat({},n.font);f.size=void 0,mv.coerceFont(i,"delta.font",f),t.delta.font.size===void 0&&(t.delta.font.size=(t._hasNumber?.5:1)*(s||_4.defaultNumberFontSize),o[1]=!0),i("delta.reference",t.value),i("delta.relative"),i("delta.valueformat",t.delta.relative?"2%":""),i("delta.increasing.symbol"),i("delta.increasing.color"),i("delta.decreasing.symbol"),i("delta.decreasing.color"),i("delta.position"),i("delta.prefix"),i("delta.suffix"),u=t.delta.font.size}t._scaleNumbers=(!t._hasNumber||o[0])&&(!t._hasDelta||o[1])||!1;var c=mv.extendFlat({},n.font);c.size=.25*(s||u||_4.defaultNumberFontSize),mv.coerceFont(i,"title.font",c),i("title.text");var h,d,v,m;function b(x,M){return mv.coerce(h,d,T4.gauge,x,M)}function g(x,M){return mv.coerce(v,m,T4.gauge.axis,x,M)}if(t._hasGauge){h=e.gauge,h||(h={}),d=yMe.newContainer(t,"gauge"),b("shape");var _=t._isBullet=t.gauge.shape==="bullet";_||i("title.align","center");var T=t._isAngular=t.gauge.shape==="angular";T||i("align","center"),b("bgcolor",n.paper_bgcolor),b("borderwidth"),b("bordercolor"),b("bar.color"),b("bar.line.color"),b("bar.line.width");var w=_4.valueThickness*(t.gauge.shape==="bullet"?.5:1);b("bar.thickness",w),Z3t(h,d,{name:"steps",handleItemDefaults:tTt}),b("threshold.value"),b("threshold.thickness"),b("threshold.line.width"),b("threshold.line.color"),v={},h&&(v=h.axis||{}),m=yMe.newContainer(d,"axis"),g("visible"),t._range=g("range",t._range);var k={font:n.font,noAutotickangles:!0,outerTicks:!0,noTicklabelshift:!0,noTicklabelstandoff:!0};J3t(v,m,g,"linear"),Q3t(v,m,g,"linear",k),K3t(v,m,g,"linear",k),$3t(v,m,g,k)}else i("title.align","center"),i("align","center"),t._isAngular=t._isBullet=!1;t._length=null}function tTt(e,t){function r(n,i){return mv.coerce(e,t,T4.gauge.steps,n,i)}r("color"),r("line.color"),r("line.width"),r("range"),r("thickness")}xMe.exports={supplyDefaults:eTt}});var _Me=J((aHt,wMe)=>{"use strict";function rTt(e,t){var r=[],n=t.value;typeof t._lastValue!="number"&&(t._lastValue=t.value);var i=t._lastValue,a=i;return t._hasDelta&&typeof t.delta.reference=="number"&&(a=t.delta.reference),r[0]={y:n,lastY:i,delta:n-a,relativeDelta:(n-a)/a},r}wMe.exports={calc:rTt}});var CMe=J((oHt,SMe)=>{"use strict";var bm=Nr(),nTt=(Qg(),s1(Kg)).interpolate,TMe=(Qg(),s1(Kg)).interpolateNumber,ap=gt(),iTt=ap.strScale,Q_=ap.strTranslate,aTt=ap.rad2deg,oTt=Vo().MID_SHIFT,xm=ln(),gm=MF(),M4=ca(),Qs=nn(),sTt=vw(),lTt=lk(),uTt=hl(),Ux=qr(),kF={left:"start",center:"middle",right:"end"},mm={left:0,center:.5,right:1},AMe=/[yzafpnµmkMGTPEZY]/;function e3(e){return e&&e.duration>0}SMe.exports=function(t,r,n,i){var a=t._fullLayout,o;e3(n)&&i&&(o=i()),ap.makeTraceGroups(a._indicatorlayer,r,"trace").each(function(s){var l=s[0],u=l.trace,f=bm.select(this),c=u._hasGauge,h=u._isAngular,d=u._isBullet,v=u.domain,m={w:a._size.w*(v.x[1]-v.x[0]),h:a._size.h*(v.y[1]-v.y[0]),l:a._size.l+a._size.w*v.x[0],r:a._size.r+a._size.w*(1-v.x[1]),t:a._size.t+a._size.h*(1-v.y[1]),b:a._size.b+a._size.h*v.y[0]},b=m.l+m.w/2,g=m.t+m.h/2,_=Math.min(m.w/2,m.h),T=gm.innerRadius*_,w,k,x,M=u.align||"center";if(k=g,!c)w=m.l+mm[M]*m.w,x=function(P){return MMe(P,m.w,m.h)};else if(h&&(w=b,k=g+_/2,x=function(P){return dTt(P,.9*T)}),d){var A=gm.bulletPadding,p=1-gm.bulletNumberDomainSize+A;w=m.l+(p+(1-p)*mm[M])*m.w,x=function(P){return MMe(P,(gm.bulletNumberDomainSize-A)*m.w,m.h)}}hTt(t,f,s,{numbersX:w,numbersY:k,numbersScaler:x,transitionOpts:n,onComplete:o});var S,y;c&&(S={range:u.gauge.axis.range,color:u.gauge.bgcolor,line:{color:u.gauge.bordercolor,width:0},thickness:1},y={range:u.gauge.axis.range,color:"rgba(0, 0, 0, 0)",line:{color:u.gauge.bordercolor,width:u.gauge.borderwidth},thickness:1});var E=f.selectAll("g.angular").data(h?s:[]);E.exit().remove();var C=f.selectAll("g.angularaxis").data(h?s:[]);C.exit().remove(),h&&cTt(t,f,s,{radius:_,innerRadius:T,gauge:E,layer:C,size:m,gaugeBg:S,gaugeOutline:y,transitionOpts:n,onComplete:o});var L=f.selectAll("g.bullet").data(d?s:[]);L.exit().remove();var R=f.selectAll("g.bulletaxis").data(d?s:[]);R.exit().remove(),d&&fTt(t,f,s,{gauge:L,layer:R,size:m,gaugeBg:S,gaugeOutline:y,transitionOpts:n,onComplete:o});var I=f.selectAll("text.title").data(s);I.exit().remove(),I.enter().append("text").classed("title",!0),I.attr("text-anchor",function(){return d?kF.right:kF[u.title.align]}).text(u.title.text).call(xm.font,u.title.font).call(M4.convertToTspans,t),I.attr("transform",function(){var P=m.l+m.w*mm[u.title.align],D,q=gm.titlePadding,N=xm.bBox(I.node());if(c){if(h)if(u.gauge.axis.visible){var U=xm.bBox(C.node());D=U.top-q-N.bottom}else D=m.t+m.h/2-_/2-N.bottom-q;d&&(D=k-(N.top+N.bottom)/2,P=m.l-gm.bulletPadding*m.w)}else D=u._numbersTop-q-N.bottom;return Q_(P,D)})})};function fTt(e,t,r,n){var i=r[0].trace,a=n.gauge,o=n.layer,s=n.gaugeBg,l=n.gaugeOutline,u=n.size,f=i.domain,c=n.transitionOpts,h=n.onComplete,d,v,m,b,g;a.enter().append("g").classed("bullet",!0),a.attr("transform",Q_(u.l,u.t)),o.enter().append("g").classed("bulletaxis",!0).classed("crisp",!0),o.selectAll("g.xbulletaxistick,path,text").remove();var _=u.h,T=i.gauge.bar.thickness*_,w=f.x[0],k=f.x[0]+(f.x[1]-f.x[0])*(i._hasNumber||i._hasDelta?1-gm.bulletNumberDomainSize:1);d=K_(e,i.gauge.axis),d._id="xbulletaxis",d.domain=[w,k],d.setScale(),v=Qs.calcTicks(d),m=Qs.makeTransTickFn(d),b=Qs.getTickSigns(d)[2],g=u.t+u.h,d.visible&&(Qs.drawTicks(e,d,{vals:d.ticks==="inside"?Qs.clipEnds(d,v):v,layer:o,path:Qs.makeTickPath(d,g,b),transFn:m}),Qs.drawLabels(e,d,{vals:v,layer:o,transFn:m,labelFns:Qs.makeLabelFns(d,g)}));function x(C){C.attr("width",function(L){return Math.max(0,d.c2p(L.range[1])-d.c2p(L.range[0]))}).attr("x",function(L){return d.c2p(L.range[0])}).attr("y",function(L){return .5*(1-L.thickness)*_}).attr("height",function(L){return L.thickness*_})}var M=[s].concat(i.gauge.steps),A=a.selectAll("g.bg-bullet").data(M);A.enter().append("g").classed("bg-bullet",!0).append("rect"),A.select("rect").call(x).call(ym),A.exit().remove();var p=a.selectAll("g.value-bullet").data([i.gauge.bar]);p.enter().append("g").classed("value-bullet",!0).append("rect"),p.select("rect").attr("height",T).attr("y",(_-T)/2).call(ym),e3(c)?p.select("rect").transition().duration(c.duration).ease(c.easing).each("end",function(){h&&h()}).each("interrupt",function(){h&&h()}).attr("width",Math.max(0,d.c2p(Math.min(i.gauge.axis.range[1],r[0].y)))):p.select("rect").attr("width",typeof r[0].y=="number"?Math.max(0,d.c2p(Math.min(i.gauge.axis.range[1],r[0].y))):0),p.exit().remove();var S=r.filter(function(){return i.gauge.threshold.value||i.gauge.threshold.value===0}),y=a.selectAll("g.threshold-bullet").data(S);y.enter().append("g").classed("threshold-bullet",!0).append("line"),y.select("line").attr("x1",d.c2p(i.gauge.threshold.value)).attr("x2",d.c2p(i.gauge.threshold.value)).attr("y1",(1-i.gauge.threshold.thickness)/2*_).attr("y2",(1-(1-i.gauge.threshold.thickness)/2)*_).call(Ux.stroke,i.gauge.threshold.line.color).style("stroke-width",i.gauge.threshold.line.width),y.exit().remove();var E=a.selectAll("g.gauge-outline").data([l]);E.enter().append("g").classed("gauge-outline",!0).append("rect"),E.select("rect").call(x).call(ym),E.exit().remove()}function cTt(e,t,r,n){var i=r[0].trace,a=n.size,o=n.radius,s=n.innerRadius,l=n.gaugeBg,u=n.gaugeOutline,f=[a.l+a.w/2,a.t+a.h/2+o/2],c=n.gauge,h=n.layer,d=n.transitionOpts,v=n.onComplete,m=Math.PI/2;function b(G){var ee=i.gauge.axis.range[0],Q=i.gauge.axis.range[1],j=(G-ee)/(Q-ee)*Math.PI-m;return j<-m?-m:j>m?m:j}function g(G){return bm.svg.arc().innerRadius((s+o)/2-G/2*(o-s)).outerRadius((s+o)/2+G/2*(o-s)).startAngle(-m)}function _(G){G.attr("d",function(ee){return g(ee.thickness).startAngle(b(ee.range[0])).endAngle(b(ee.range[1]))()})}var T,w,k,x;c.enter().append("g").classed("angular",!0),c.attr("transform",Q_(f[0],f[1])),h.enter().append("g").classed("angularaxis",!0).classed("crisp",!0),h.selectAll("g.xangularaxistick,path,text").remove(),T=K_(e,i.gauge.axis),T.type="linear",T.range=i.gauge.axis.range,T._id="xangularaxis",T.ticklabeloverflow="allow",T.setScale();var M=function(G){return(T.range[0]-G.x)/(T.range[1]-T.range[0])*Math.PI+Math.PI},A={},p=Qs.makeLabelFns(T,0),S=p.labelStandoff;A.xFn=function(G){var ee=M(G);return Math.cos(ee)*S},A.yFn=function(G){var ee=M(G),Q=Math.sin(ee)>0?.2:1;return-Math.sin(ee)*(S+G.fontSize*Q)+Math.abs(Math.cos(ee))*(G.fontSize*oTt)},A.anchorFn=function(G){var ee=M(G),Q=Math.cos(ee);return Math.abs(Q)<.1?"middle":Q>0?"start":"end"},A.heightFn=function(G,ee,Q){var j=M(G);return-.5*(1+Math.sin(j))*Q};var y=function(G){return Q_(f[0]+o*Math.cos(G),f[1]-o*Math.sin(G))};k=function(G){return y(M(G))};var E=function(G){var ee=M(G);return y(ee)+"rotate("+-aTt(ee)+")"};if(w=Qs.calcTicks(T),x=Qs.getTickSigns(T)[2],T.visible){x=T.ticks==="inside"?-1:1;var C=(T.linewidth||1)/2;Qs.drawTicks(e,T,{vals:w,layer:h,path:"M"+x*C+",0h"+x*T.ticklen,transFn:E}),Qs.drawLabels(e,T,{vals:w,layer:h,transFn:k,labelFns:A})}var L=[l].concat(i.gauge.steps),R=c.selectAll("g.bg-arc").data(L);R.enter().append("g").classed("bg-arc",!0).append("path"),R.select("path").call(_).call(ym),R.exit().remove();var I=g(i.gauge.bar.thickness),P=c.selectAll("g.value-arc").data([i.gauge.bar]);P.enter().append("g").classed("value-arc",!0).append("path");var D=P.select("path");e3(d)?(D.transition().duration(d.duration).ease(d.easing).each("end",function(){v&&v()}).each("interrupt",function(){v&&v()}).attrTween("d",vTt(I,b(r[0].lastY),b(r[0].y))),i._lastValue=r[0].y):D.attr("d",typeof r[0].y=="number"?I.endAngle(b(r[0].y)):"M0,0Z"),D.call(ym),P.exit().remove(),L=[];var q=i.gauge.threshold.value;(q||q===0)&&L.push({range:[q,q],color:i.gauge.threshold.color,line:{color:i.gauge.threshold.line.color,width:i.gauge.threshold.line.width},thickness:i.gauge.threshold.thickness});var N=c.selectAll("g.threshold-arc").data(L);N.enter().append("g").classed("threshold-arc",!0).append("path"),N.select("path").call(_).call(ym),N.exit().remove();var U=c.selectAll("g.gauge-outline").data([u]);U.enter().append("g").classed("gauge-outline",!0).append("path"),U.select("path").call(_).call(ym),U.exit().remove()}function hTt(e,t,r,n){var i=r[0].trace,a=n.numbersX,o=n.numbersY,s=i.align||"center",l=kF[s],u=n.transitionOpts,f=n.onComplete,c=ap.ensureSingle(t,"g","numbers"),h,d,v,m=[];i._hasNumber&&m.push("number"),i._hasDelta&&(m.push("delta"),i.delta.position==="left"&&m.reverse());var b=c.selectAll("text").data(m);b.enter().append("text"),b.attr("text-anchor",function(){return l}).attr("class",function(y){return y}).attr("x",null).attr("y",null).attr("dx",null).attr("dy",null),b.exit().remove();function g(y,E,C,L){if(y.match("s")&&C>=0!=L>=0&&!E(C).slice(-1).match(AMe)&&!E(L).slice(-1).match(AMe)){var R=y.slice().replace("s","f").replace(/\d+/,function(P){return parseInt(P)-1}),I=K_(e,{tickformat:R});return function(P){return Math.abs(P)<1?Qs.tickText(I,P).text:E(P)}}else return E}function _(){var y=K_(e,{tickformat:i.number.valueformat},i._range);y.setScale(),Qs.prepTicks(y);var E=function(P){return Qs.tickText(y,P).text},C=i.number.suffix,L=i.number.prefix,R=c.select("text.number");function I(){var P=typeof r[0].y=="number"?L+E(r[0].y)+C:"-";R.text(P).call(xm.font,i.number.font).call(M4.convertToTspans,e)}return e3(u)?R.transition().duration(u.duration).ease(u.easing).each("end",function(){I(),f&&f()}).each("interrupt",function(){I(),f&&f()}).attrTween("text",function(){var P=bm.select(this),D=TMe(r[0].lastY,r[0].y);i._lastValue=r[0].y;var q=g(i.number.valueformat,E,r[0].lastY,r[0].y);return function(N){P.text(L+q(D(N))+C)}}):I(),h=kMe(L+E(r[0].y)+C,i.number.font,l,e),R}function T(){var y=K_(e,{tickformat:i.delta.valueformat},i._range);y.setScale(),Qs.prepTicks(y);var E=function(N){return Qs.tickText(y,N).text},C=i.delta.suffix,L=i.delta.prefix,R=function(N){var U=i.delta.relative?N.relativeDelta:N.delta;return U},I=function(N,U){return N===0||typeof N!="number"||isNaN(N)?"-":(N>0?i.delta.increasing.symbol:i.delta.decreasing.symbol)+L+U(N)+C},P=function(N){return N.delta>=0?i.delta.increasing.color:i.delta.decreasing.color};i._deltaLastValue===void 0&&(i._deltaLastValue=R(r[0]));var D=c.select("text.delta");D.call(xm.font,i.delta.font).call(Ux.fill,P({delta:i._deltaLastValue}));function q(){D.text(I(R(r[0]),E)).call(Ux.fill,P(r[0])).call(M4.convertToTspans,e)}return e3(u)?D.transition().duration(u.duration).ease(u.easing).tween("text",function(){var N=bm.select(this),U=R(r[0]),G=i._deltaLastValue,ee=g(i.delta.valueformat,E,G,U),Q=TMe(G,U);return i._deltaLastValue=U,function(j){N.text(I(Q(j),ee)),N.call(Ux.fill,P({delta:Q(j)}))}}).each("end",function(){q(),f&&f()}).each("interrupt",function(){q(),f&&f()}):q(),d=kMe(I(R(r[0]),E),i.delta.font,l,e),D}var w=i.mode+i.align,k;if(i._hasDelta&&(k=T(),w+=i.delta.position+i.delta.font.size+i.delta.font.family+i.delta.valueformat,w+=i.delta.increasing.symbol+i.delta.decreasing.symbol,v=d),i._hasNumber&&(_(),w+=i.number.font.size+i.number.font.family+i.number.valueformat+i.number.suffix+i.number.prefix,v=h),i._hasDelta&&i._hasNumber){var x=[(h.left+h.right)/2,(h.top+h.bottom)/2],M=[(d.left+d.right)/2,(d.top+d.bottom)/2],A,p,S=.75*i.delta.font.size;i.delta.position==="left"&&(A=A4(i,"deltaPos",0,-1*(h.width*mm[i.align]+d.width*(1-mm[i.align])+S),w,Math.min),p=x[1]-M[1],v={width:h.width+d.width+S,height:Math.max(h.height,d.height),left:d.left+A,right:h.right,top:Math.min(h.top,d.top+p),bottom:Math.max(h.bottom,d.bottom+p)}),i.delta.position==="right"&&(A=A4(i,"deltaPos",0,h.width*(1-mm[i.align])+d.width*mm[i.align]+S,w,Math.max),p=x[1]-M[1],v={width:h.width+d.width+S,height:Math.max(h.height,d.height),left:h.left,right:d.right+A,top:Math.min(h.top,d.top+p),bottom:Math.max(h.bottom,d.bottom+p)}),i.delta.position==="bottom"&&(A=null,p=d.height,v={width:Math.max(h.width,d.width),height:h.height+d.height,left:Math.min(h.left,d.left),right:Math.max(h.right,d.right),top:h.bottom-h.height,bottom:h.bottom+d.height}),i.delta.position==="top"&&(A=null,p=h.top,v={width:Math.max(h.width,d.width),height:h.height+d.height,left:Math.min(h.left,d.left),right:Math.max(h.right,d.right),top:h.bottom-h.height-d.height,bottom:h.bottom}),k.attr({dx:A,dy:p})}(i._hasNumber||i._hasDelta)&&c.attr("transform",function(){var y=n.numbersScaler(v);w+=y[2];var E=A4(i,"numbersScale",1,y[0],w,Math.min),C;i._scaleNumbers||(E=1),i._isAngular?C=o-E*v.bottom:C=o-E*(v.top+v.bottom)/2,i._numbersTop=E*v.top+C;var L=v[s];s==="center"&&(L=(v.left+v.right)/2);var R=a-E*L;return R=A4(i,"numbersTranslate",0,R,w,Math.max),Q_(R,C)+iTt(E)})}function ym(e){e.each(function(t){Ux.stroke(bm.select(this),t.line.color)}).each(function(t){Ux.fill(bm.select(this),t.color)}).style("stroke-width",function(t){return t.line.width})}function vTt(e,t,r){return function(){var n=nTt(t,r);return function(i){return e.endAngle(n(i))()}}}function K_(e,t,r){var n=e._fullLayout,i=ap.extendFlat({type:"linear",ticks:"outside",range:r,showline:!0},t),a={type:"linear",_id:"x"+t._id},o={letter:"x",font:n.font,noAutotickangles:!0,noHover:!0,noTickson:!0};function s(l,u){return ap.coerce(i,a,uTt,l,u)}return sTt(i,a,s,o,n),lTt(i,a,s,o),a}function MMe(e,t,r){var n=Math.min(t/e.width,r/e.height);return[n,e,t+"x"+r]}function dTt(e,t){var r=Math.sqrt(e.width/2*(e.width/2)+e.height*e.height),n=t/r;return[n,e,t]}function kMe(e,t,r,n){var i=document.createElementNS("http://www.w3.org/2000/svg","text"),a=bm.select(i);return a.text(e).attr("x",0).attr("y",0).attr("text-anchor",r).attr("data-unformatted",e).call(M4.convertToTspans,n).call(xm.font,t),xm.bBox(a.node())}function A4(e,t,r,n,i,a){var o="_cache"+t;e[o]&&e[o].key===i||(e[o]={key:i,value:r});var s=ap.aggNums(a,null,[e[o].value,n],2);return e[o].value=s,s}});var LMe=J((sHt,EMe)=>{"use strict";EMe.exports={moduleType:"trace",name:"indicator",basePlotModule:fMe(),categories:["svg","noOpacity","noHover"],animatable:!0,attributes:AF(),supplyDefaults:bMe().supplyDefaults,calc:_Me().calc,plot:CMe(),meta:{description:["An indicator is used to visualize a single `value` along with some","contextual information such as `steps` or a `threshold`, using a","combination of three visual elements: a number, a delta, and/or a gauge.","Deltas are taken with respect to a `reference`.","Gauges can be either angular or bullet (aka linear) gauges."].join(" ")}}});var RMe=J((lHt,DMe)=>{"use strict";DMe.exports=LMe()});var SF=J((uHt,FMe)=>{"use strict";var PMe=dg(),k4=cn().extendFlat,pTt=La().overrideAll,IMe=xa(),gTt=Wa().attributes,qMe=Ga().descriptionOnlyNumbers,mTt=FMe.exports=pTt({domain:gTt({name:"table",trace:!0}),columnwidth:{valType:"number",arrayOk:!0,dflt:null,description:["The width of columns expressed as a ratio. Columns fill the available width","in proportion of their specified column widths."].join(" ")},columnorder:{valType:"data_array",description:["Specifies the rendered order of the data columns; for example, a value `2` at position `0`","means that column index `0` in the data will be rendered as the","third column, as columns have an index base of zero."].join(" ")},header:{values:{valType:"data_array",dflt:[],description:["Header cell values. `values[m][n]` represents the value of the `n`th point in column `m`,","therefore the `values[m]` vector length for all columns must be the same (longer vectors","will be truncated). Each value must be a finite number or a string."].join(" ")},format:{valType:"data_array",dflt:[],description:qMe("cell value")},prefix:{valType:"string",arrayOk:!0,dflt:null,description:"Prefix for cell values."},suffix:{valType:"string",arrayOk:!0,dflt:null,description:"Suffix for cell values."},height:{valType:"number",dflt:28,description:"The height of cells."},align:k4({},PMe.align,{arrayOk:!0}),line:{width:{valType:"number",arrayOk:!0,dflt:1},color:{valType:"color",arrayOk:!0,dflt:"grey"}},fill:{color:{valType:"color",arrayOk:!0,dflt:"white",description:["Sets the cell fill color. It accepts either a specific color","or an array of colors or a 2D array of colors."].join(" ")}},font:k4({},IMe({arrayOk:!0}))},cells:{values:{valType:"data_array",dflt:[],description:["Cell values. `values[m][n]` represents the value of the `n`th point in column `m`,","therefore the `values[m]` vector length for all columns must be the same (longer vectors","will be truncated). Each value must be a finite number or a string."].join(" ")},format:{valType:"data_array",dflt:[],description:qMe("cell value")},prefix:{valType:"string",arrayOk:!0,dflt:null,description:"Prefix for cell values."},suffix:{valType:"string",arrayOk:!0,dflt:null,description:"Suffix for cell values."},height:{valType:"number",dflt:20,description:"The height of cells."},align:k4({},PMe.align,{arrayOk:!0}),line:{width:{valType:"number",arrayOk:!0,dflt:1},color:{valType:"color",arrayOk:!0,dflt:"grey"}},fill:{color:{valType:"color",arrayOk:!0,dflt:"white",description:["Sets the cell fill color. It accepts either a specific color","or an array of colors or a 2D array of colors."].join(" ")}},font:k4({},IMe({arrayOk:!0}))}},"calc","from-root");mTt.transforms=void 0});var NMe=J((fHt,zMe)=>{"use strict";var CF=gt(),yTt=SF(),xTt=Wa().defaults;function bTt(e,t){for(var r=e.columnorder||[],n=e.header.values.length,i=r.slice(0,n),a=i.slice().sort(function(l,u){return l-u}),o=i.map(function(l){return a.indexOf(l)}),s=o.length;s<n;s++)o.push(s);t("columnorder",o)}zMe.exports=function(t,r,n,i){function a(o,s){return CF.coerce(t,r,yTt,o,s)}xTt(r,i,a),a("columnwidth"),a("header.values"),a("header.format"),a("header.align"),a("header.prefix"),a("header.suffix"),a("header.height"),a("header.line.width"),a("header.line.color"),a("header.fill.color"),CF.coerceFont(a,"header.font",i.font),bTt(r,a),a("cells.values"),a("cells.format"),a("cells.align"),a("cells.prefix"),a("cells.suffix"),a("cells.height"),a("cells.line.width"),a("cells.line.color"),a("cells.fill.color"),CF.coerceFont(a,"cells.font",i.font),r._length=null}});var BMe=J((cHt,OMe)=>{"use strict";var wTt=Px().wrap;OMe.exports=function(){return wTt({})}});var EF=J((hHt,UMe)=>{"use strict";UMe.exports={cellPad:8,columnExtentOffset:10,columnTitleOffset:28,emptyHeaderHeight:16,latexCheck:/^\$.*\$$/,goldenRatio:1.618,lineBreaker:"<br>",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:"cubic-out",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:"cubic-out",uplift:5,wrapSpacer:" ",wrapSplitCharacter:" ",cn:{table:"table",tableControlView:"table-control-view",scrollBackground:"scroll-background",yColumn:"y-column",columnBlock:"column-block",scrollAreaClip:"scroll-area-clip",scrollAreaClipRect:"scroll-area-clip-rect",columnBoundary:"column-boundary",columnBoundaryClippath:"column-boundary-clippath",columnBoundaryRect:"column-boundary-rect",columnCells:"column-cells",columnCell:"column-cell",cellRect:"cell-rect",cellText:"cell-text",cellTextHolder:"cell-text-holder",scrollbarKit:"scrollbar-kit",scrollbar:"scrollbar",scrollbarSlider:"scrollbar-slider",scrollbarGlyph:"scrollbar-glyph",scrollbarCaptureZone:"scrollbar-capture-zone"}}});var JMe=J((vHt,ZMe)=>{"use strict";var HMe=EF(),DF=cn().extendFlat,_Tt=dn(),TTt=fl().isTypedArray,S4=fl().isArrayOrTypedArray;ZMe.exports=function(t,r){var n=LF(r.cells.values),i=function(p){return p.slice(r.header.values.length,p.length)},a=LF(r.header.values);a.length&&!a[0].length&&(a[0]=[""],a=LF(a));var o=a.concat(i(n).map(function(){return XMe((a[0]||[""]).length)})),s=r.domain,l=Math.floor(t._fullLayout._size.w*(s.x[1]-s.x[0])),u=Math.floor(t._fullLayout._size.h*(s.y[1]-s.y[0])),f=r.header.values.length?o[0].map(function(){return r.header.height}):[HMe.emptyHeaderHeight],c=n.length?n[0].map(function(){return r.cells.height}):[],h=f.reduce(jMe,0),d=u-h,v=d+HMe.uplift,m=GMe(c,v),b=GMe(f,h),g=YMe(b,[]),_=YMe(m,g),T={},w=r._fullInput.columnorder;S4(w)&&(w=Array.from(w)),w=w.concat(i(n.map(function(p,S){return S})));var k=o.map(function(p,S){var y=S4(r.columnwidth)?r.columnwidth[Math.min(S,r.columnwidth.length-1)]:r.columnwidth;return _Tt(y)?Number(y):1}),x=k.reduce(jMe,0);k=k.map(function(p){return p/x*l});var M=Math.max(RF(r.header.line.width),RF(r.cells.line.width)),A={key:r.uid+t._context.staticPlot,translateX:s.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-s.y[1]),size:t._fullLayout._size,width:l,maxLineWidth:M,height:u,columnOrder:w,groupHeight:u,rowBlocks:_,headerRowBlocks:g,scrollY:0,cells:DF({},r.cells,{values:n}),headerCells:DF({},r.header,{values:o}),gdColumns:o.map(function(p){return p[0]}),gdColumnsOriginalOrder:o.map(function(p){return p[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:o.map(function(p,S){var y=T[p];T[p]=(y||0)+1;var E=p+"__"+T[p];return{key:E,label:p,specIndex:S,xIndex:w[S],xScale:VMe,x:void 0,calcdata:void 0,columnWidth:k[S]}})};return A.columns.forEach(function(p){p.calcdata=A,p.x=VMe(p)}),A};function RF(e){if(S4(e)){for(var t=0,r=0;r<e.length;r++)t=Math.max(t,RF(e[r]));return t}return e}function jMe(e,t){return e+t}function LF(e){var t=e.slice(),r=1/0,n=0,i;for(i=0;i<t.length;i++)TTt(t[i])?t[i]=Array.from(t[i]):S4(t[i])||(t[i]=[t[i]]),r=Math.min(r,t[i].length),n=Math.max(n,t[i].length);if(r!==n)for(i=0;i<t.length;i++){var a=n-t[i].length;a&&(t[i]=t[i].concat(XMe(a)))}return t}function XMe(e){for(var t=new Array(e),r=0;r<e;r++)t[r]="";return t}function VMe(e){return e.calcdata.columns.reduce(function(t,r){return r.xIndex<e.xIndex?t+r.columnWidth:t},0)}function YMe(e,t){var r=Object.keys(e);return r.map(function(n){return DF({},e[n],{auxiliaryBlocks:t})})}function GMe(e,t){for(var r={},n,i=0,a=0,o=WMe(),s=0,l=0,u=0;u<e.length;u++)n=e[u],o.rows.push({rowIndex:u,rowHeight:n}),a+=n,(a>=t||u===e.length-1)&&(r[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=u,o=WMe(),i+=a,s=u+1,a=0);return r}function WMe(){return{firstRowIndex:null,lastRowIndex:null,rows:[]}}});var $Me=J(PF=>{"use strict";var C4=cn().extendFlat;PF.splitToPanels=function(e){var t=[0,0],r=C4({},e,{key:"header",type:"header",page:0,prevPages:t,currentRepaint:[null,null],dragHandle:!0,values:e.calcdata.headerCells.values[e.specIndex],rowBlocks:e.calcdata.headerRowBlocks,calcdata:C4({},e.calcdata,{cells:e.calcdata.headerCells})}),n=C4({},e,{key:"cells1",type:"cells",page:0,prevPages:t,currentRepaint:[null,null],dragHandle:!1,values:e.calcdata.cells.values[e.specIndex],rowBlocks:e.calcdata.rowBlocks}),i=C4({},e,{key:"cells2",type:"cells",page:1,prevPages:t,currentRepaint:[null,null],dragHandle:!1,values:e.calcdata.cells.values[e.specIndex],rowBlocks:e.calcdata.rowBlocks});return[n,i,r]};PF.splitToCells=function(e){var t=ATt(e);return(e.values||[]).slice(t[0],t[1]).map(function(r,n){var i=typeof r=="string"&&r.match(/[<$&> ]/)?"_keybuster_"+Math.random():"";return{keyWithinBlock:n+i,key:t[0]+n,column:e,calcdata:e.calcdata,page:e.page,rowBlocks:e.rowBlocks,value:r}})};function ATt(e){var t=e.rowBlocks[e.page],r=t?t.rows[0].rowIndex:0,n=t?r+t.rows.length:0;return[r,n]}});var jF=J((pHt,lke)=>{"use strict";var Or=EF(),Ta=Nr(),IF=gt(),MTt=IF.numberFormat,Wi=Px(),qF=ln(),kTt=ca(),STt=gt().raiseToTop,kc=gt().strTranslate,CTt=gt().cancelTransition,ETt=JMe(),ike=$Me(),KMe=qr();lke.exports=function(t,r){var n=!t._context.staticPlot,i=t._fullLayout._paper.selectAll("."+Or.cn.table).data(r.map(function(_){var T=Wi.unwrap(_),w=T.trace;return ETt(t,w)}),Wi.keyFun);i.exit().remove(),i.enter().append("g").classed(Or.cn.table,!0).attr("overflow","visible").style("box-sizing","content-box").style("position","absolute").style("left",0).style("overflow","visible").style("shape-rendering","crispEdges").style("pointer-events","all"),i.attr("width",function(_){return _.width+_.size.l+_.size.r}).attr("height",function(_){return _.height+_.size.t+_.size.b}).attr("transform",function(_){return kc(_.translateX,_.translateY)});var a=i.selectAll("."+Or.cn.tableControlView).data(Wi.repeat,Wi.keyFun),o=a.enter().append("g").classed(Or.cn.tableControlView,!0).style("box-sizing","content-box");if(n){var s="onwheel"in document?"wheel":"mousewheel";o.on("mousemove",function(_){a.filter(function(T){return _===T}).call(t3,t)}).on(s,function(_){if(!_.scrollbarState.wheeling){_.scrollbarState.wheeling=!0;var T=_.scrollY+Ta.event.deltaY,w=L4(t,a,null,T)(_);w||(Ta.event.stopPropagation(),Ta.event.preventDefault()),_.scrollbarState.wheeling=!1}}).call(t3,t,!0)}a.attr("transform",function(_){return kc(_.size.l,_.size.t)});var l=a.selectAll("."+Or.cn.scrollBackground).data(Wi.repeat,Wi.keyFun);l.enter().append("rect").classed(Or.cn.scrollBackground,!0).attr("fill","none"),l.attr("width",function(_){return _.width}).attr("height",function(_){return _.height}),a.each(function(_){qF.setClipUrl(Ta.select(this),QMe(t,_),t)});var u=a.selectAll("."+Or.cn.yColumn).data(function(_){return _.columns},Wi.keyFun);u.enter().append("g").classed(Or.cn.yColumn,!0),u.exit().remove(),u.attr("transform",function(_){return kc(_.x,0)}),n&&u.call(Ta.behavior.drag().origin(function(_){var T=Ta.select(this);return rke(T,_,-Or.uplift),STt(this),_.calcdata.columnDragInProgress=!0,t3(a.filter(function(w){return _.calcdata.key===w.key}),t),_}).on("drag",function(_){var T=Ta.select(this),w=function(M){return(_===M?Ta.event.x:M.x)+M.columnWidth/2};_.x=Math.max(-Or.overdrag,Math.min(_.calcdata.width+Or.overdrag-_.columnWidth,Ta.event.x));var k=ake(u).filter(function(M){return M.calcdata.key===_.calcdata.key}),x=k.sort(function(M,A){return w(M)-w(A)});x.forEach(function(M,A){M.xIndex=A,M.x=_===M?M.x:M.xScale(M)}),u.filter(function(M){return _!==M}).transition().ease(Or.transitionEase).duration(Or.transitionDuration).attr("transform",function(M){return kc(M.x,0)}),T.call(CTt).attr("transform",kc(_.x,-Or.uplift))}).on("dragend",function(_){var T=Ta.select(this),w=_.calcdata;_.x=_.xScale(_),_.calcdata.columnDragInProgress=!1,rke(T,_,0),OTt(t,w,w.columns.map(function(k){return k.xIndex}))})),u.each(function(_){qF.setClipUrl(Ta.select(this),eke(t,_),t)});var f=u.selectAll("."+Or.cn.columnBlock).data(ike.splitToPanels,Wi.keyFun);f.enter().append("g").classed(Or.cn.columnBlock,!0).attr("id",function(_){return _.key}),f.style("cursor",function(_){return _.dragHandle?"ew-resize":_.calcdata.scrollbarState.barWiggleRoom?"ns-resize":"default"});var c=f.filter(BTt),h=f.filter(BF);n&&h.call(Ta.behavior.drag().origin(function(_){return Ta.event.stopPropagation(),_}).on("drag",L4(t,a,-1)).on("dragend",function(){})),FF(t,a,c,f),FF(t,a,h,f);var d=a.selectAll("."+Or.cn.scrollAreaClip).data(Wi.repeat,Wi.keyFun);d.enter().append("clipPath").classed(Or.cn.scrollAreaClip,!0).attr("id",function(_){return QMe(t,_)});var v=d.selectAll("."+Or.cn.scrollAreaClipRect).data(Wi.repeat,Wi.keyFun);v.enter().append("rect").classed(Or.cn.scrollAreaClipRect,!0).attr("x",-Or.overdrag).attr("y",-Or.uplift).attr("fill","none"),v.attr("width",function(_){return _.width+2*Or.overdrag}).attr("height",function(_){return _.height+Or.uplift});var m=u.selectAll("."+Or.cn.columnBoundary).data(Wi.repeat,Wi.keyFun);m.enter().append("g").classed(Or.cn.columnBoundary,!0);var b=u.selectAll("."+Or.cn.columnBoundaryClippath).data(Wi.repeat,Wi.keyFun);b.enter().append("clipPath").classed(Or.cn.columnBoundaryClippath,!0),b.attr("id",function(_){return eke(t,_)});var g=b.selectAll("."+Or.cn.columnBoundaryRect).data(Wi.repeat,Wi.keyFun);g.enter().append("rect").classed(Or.cn.columnBoundaryRect,!0).attr("fill","none"),g.attr("width",function(_){return _.columnWidth+2*E4(_)}).attr("height",function(_){return _.calcdata.height+2*E4(_)+Or.uplift}).attr("x",function(_){return-E4(_)}).attr("y",function(_){return-E4(_)}),UF(null,h,a)};function E4(e){return Math.ceil(e.calcdata.maxLineWidth/2)}function QMe(e,t){return"clip"+e._fullLayout._uid+"_scrollAreaBottomClip_"+t.key}function eke(e,t){return"clip"+e._fullLayout._uid+"_columnBoundaryClippath_"+t.calcdata.key+"_"+t.specIndex}function ake(e){return[].concat.apply([],e.map(function(t){return t})).map(function(t){return t.__data__})}function t3(e,t,r){function n(u){var f=u.rowBlocks;return NF(f,f.length-1)+(f.length?D4(f[f.length-1],1/0):1)}var i=e.selectAll("."+Or.cn.scrollbarKit).data(Wi.repeat,Wi.keyFun);i.enter().append("g").classed(Or.cn.scrollbarKit,!0).style("shape-rendering","geometricPrecision"),i.each(function(u){var f=u.scrollbarState;f.totalHeight=n(u),f.scrollableAreaHeight=u.groupHeight-zF(u),f.currentlyVisibleHeight=Math.min(f.totalHeight,f.scrollableAreaHeight),f.ratio=f.currentlyVisibleHeight/f.totalHeight,f.barLength=Math.max(f.ratio*f.currentlyVisibleHeight,Or.goldenRatio*Or.scrollbarWidth),f.barWiggleRoom=f.currentlyVisibleHeight-f.barLength,f.wiggleRoom=Math.max(0,f.totalHeight-f.scrollableAreaHeight),f.topY=f.barWiggleRoom===0?0:u.scrollY/f.wiggleRoom*f.barWiggleRoom,f.bottomY=f.topY+f.barLength,f.dragMultiplier=f.wiggleRoom/f.barWiggleRoom}).attr("transform",function(u){var f=u.width+Or.scrollbarWidth/2+Or.scrollbarOffset;return kc(f,zF(u))});var a=i.selectAll("."+Or.cn.scrollbar).data(Wi.repeat,Wi.keyFun);a.enter().append("g").classed(Or.cn.scrollbar,!0);var o=a.selectAll("."+Or.cn.scrollbarSlider).data(Wi.repeat,Wi.keyFun);o.enter().append("g").classed(Or.cn.scrollbarSlider,!0),o.attr("transform",function(u){return kc(0,u.scrollbarState.topY||0)});var s=o.selectAll("."+Or.cn.scrollbarGlyph).data(Wi.repeat,Wi.keyFun);s.enter().append("line").classed(Or.cn.scrollbarGlyph,!0).attr("stroke","black").attr("stroke-width",Or.scrollbarWidth).attr("stroke-linecap","round").attr("y1",Or.scrollbarWidth/2),s.attr("y2",function(u){return u.scrollbarState.barLength-Or.scrollbarWidth/2}).attr("stroke-opacity",function(u){return u.columnDragInProgress||!u.scrollbarState.barWiggleRoom||r?0:.4}),s.transition().delay(0).duration(0),s.transition().delay(Or.scrollbarHideDelay).duration(Or.scrollbarHideDuration).attr("stroke-opacity",0);var l=a.selectAll("."+Or.cn.scrollbarCaptureZone).data(Wi.repeat,Wi.keyFun);l.enter().append("line").classed(Or.cn.scrollbarCaptureZone,!0).attr("stroke","white").attr("stroke-opacity",.01).attr("stroke-width",Or.scrollbarCaptureWidth).attr("stroke-linecap","butt").attr("y1",0).on("mousedown",function(u){var f=Ta.event.y,c=this.getBoundingClientRect(),h=u.scrollbarState,d=f-c.top,v=Ta.scale.linear().domain([0,h.scrollableAreaHeight]).range([0,h.totalHeight]).clamp(!0);h.topY<=d&&d<=h.bottomY||L4(t,e,null,v(d-h.barLength/2))(u)}).call(Ta.behavior.drag().origin(function(u){return Ta.event.stopPropagation(),u.scrollbarState.scrollbarScrollInProgress=!0,u}).on("drag",L4(t,e)).on("dragend",function(){})),l.attr("y2",function(u){return u.scrollbarState.scrollableAreaHeight}),t._context.staticPlot&&(s.remove(),l.remove())}function FF(e,t,r,n){var i=LTt(r),a=DTt(i);qTt(a);var o=RTt(a);zTt(o);var s=ITt(a),l=PTt(s);FTt(l),oke(l,t,n,e),HF(a)}function LTt(e){var t=e.selectAll("."+Or.cn.columnCells).data(Wi.repeat,Wi.keyFun);return t.enter().append("g").classed(Or.cn.columnCells,!0),t.exit().remove(),t}function DTt(e){var t=e.selectAll("."+Or.cn.columnCell).data(ike.splitToCells,function(r){return r.keyWithinBlock});return t.enter().append("g").classed(Or.cn.columnCell,!0),t.exit().remove(),t}function RTt(e){var t=e.selectAll("."+Or.cn.cellRect).data(Wi.repeat,function(r){return r.keyWithinBlock});return t.enter().append("rect").classed(Or.cn.cellRect,!0),t}function PTt(e){var t=e.selectAll("."+Or.cn.cellText).data(Wi.repeat,function(r){return r.keyWithinBlock});return t.enter().append("text").classed(Or.cn.cellText,!0).style("cursor",function(){return"auto"}).on("mousedown",function(){Ta.event.stopPropagation()}),t}function ITt(e){var t=e.selectAll("."+Or.cn.cellTextHolder).data(Wi.repeat,function(r){return r.keyWithinBlock});return t.enter().append("g").classed(Or.cn.cellTextHolder,!0).style("shape-rendering","geometricPrecision"),t}function qTt(e){e.each(function(t,r){var n=t.calcdata.cells.font,i=t.column.specIndex,a={size:Gl(n.size,i,r),color:Gl(n.color,i,r),family:Gl(n.family,i,r),weight:Gl(n.weight,i,r),style:Gl(n.style,i,r),variant:Gl(n.variant,i,r),textcase:Gl(n.textcase,i,r),lineposition:Gl(n.lineposition,i,r),shadow:Gl(n.shadow,i,r)};t.rowNumber=t.key,t.align=Gl(t.calcdata.cells.align,i,r),t.cellBorderWidth=Gl(t.calcdata.cells.line.width,i,r),t.font=a})}function FTt(e){e.each(function(t){qF.font(Ta.select(this),t.font)})}function zTt(e){e.attr("width",function(t){return t.column.columnWidth}).attr("stroke-width",function(t){return t.cellBorderWidth}).each(function(t){var r=Ta.select(this);KMe.stroke(r,Gl(t.calcdata.cells.line.color,t.column.specIndex,t.rowNumber)),KMe.fill(r,Gl(t.calcdata.cells.fill.color,t.column.specIndex,t.rowNumber))})}function oke(e,t,r,n){e.text(function(i){var a=i.column.specIndex,o=i.rowNumber,s=i.value,l=typeof s=="string",u=l&&s.match(/<br>/i),f=!l||u;i.mayHaveMarkup=l&&s.match(/[<&>]/);var c=NTt(s);i.latex=c;var h=c?"":Gl(i.calcdata.cells.prefix,a,o)||"",d=c?"":Gl(i.calcdata.cells.suffix,a,o)||"",v=c?null:Gl(i.calcdata.cells.format,a,o)||null,m=h+(v?MTt(v)(i.value):i.value)+d,b;i.wrappingNeeded=!i.wrapped&&!f&&!c&&(b=tke(m)),i.cellHeightMayIncrease=u||c||i.mayHaveMarkup||(b===void 0?tke(m):b),i.needsConvertToTspans=i.mayHaveMarkup||i.wrappingNeeded||i.latex;var g;if(i.wrappingNeeded){var _=Or.wrapSplitCharacter===" "?m.replace(/<a href=/ig,"<a_href="):m,T=_.split(Or.wrapSplitCharacter),w=Or.wrapSplitCharacter===" "?T.map(function(k){return k.replace(/<a_href=/ig,"<a href=")}):T;i.fragments=w.map(function(k){return{text:k,width:null}}),i.fragments.push({fragment:Or.wrapSpacer,width:null}),g=w.join(Or.lineBreaker)+Or.lineBreaker+Or.wrapSpacer}else delete i.fragments,g=m;return g}).attr("dy",function(i){return i.needsConvertToTspans?0:"0.75em"}).each(function(i){var a=this,o=Ta.select(a),s=i.wrappingNeeded?HTt:jTt;i.needsConvertToTspans?kTt.convertToTspans(o,n,s(r,a,t,n,i)):Ta.select(a.parentNode).attr("transform",function(l){return kc(ske(l),Or.cellPad)}).attr("text-anchor",function(l){return{left:"start",center:"middle",right:"end"}[l.align]})})}function NTt(e){return typeof e=="string"&&e.match(Or.latexCheck)}function tke(e){return e.indexOf(Or.wrapSplitCharacter)!==-1}function OTt(e,t,r){var n=t.gdColumnsOriginalOrder;t.gdColumns.sort(function(i,a){return r[n.indexOf(i)]-r[n.indexOf(a)]}),t.columnorder=r,e.emit("plotly_restyle")}function Gl(e,t,r){if(IF.isArrayOrTypedArray(e)){var n=e[Math.min(t,e.length-1)];return IF.isArrayOrTypedArray(n)?n[Math.min(r,n.length-1)]:n}else return e}function rke(e,t,r){e.transition().ease(Or.releaseTransitionEase).duration(Or.releaseTransitionDuration).attr("transform",kc(t.x,r))}function BF(e){return e.type==="cells"}function BTt(e){return e.type==="header"}function zF(e){var t=e.rowBlocks.length?e.rowBlocks[0].auxiliaryBlocks:[];return t.reduce(function(r,n){return r+D4(n,1/0)},0)}function UTt(e,t,r){for(var n=[],i=0,a=0;a<e.length;a++){for(var o=e[a],s=o.rows,l=0,u=0;u<s.length;u++)l+=s[u].rowHeight;o.allRowsHeight=l;var f=i+l,c=t,h=c+r;c<f&&h>i&&n.push(a),i+=l}return n}function UF(e,t,r){var n=ake(t)[0];if(n!==void 0){var i=n.rowBlocks,a=n.calcdata,o=NF(i,i.length),s=n.calcdata.groupHeight-zF(n),l=a.scrollY=Math.max(0,Math.min(o-s,a.scrollY)),u=UTt(i,l,s);u.length===1&&(u[0]===i.length-1?u.unshift(u[0]-1):u.push(u[0]+1)),u[0]%2&&u.reverse(),t.each(function(f,c){f.page=u[c],f.scrollY=l}),t.attr("transform",function(f){var c=NF(f.rowBlocks,f.page)-f.scrollY;return kc(0,c)}),e&&(nke(e,r,t,u,n.prevPages,n,0),nke(e,r,t,u,n.prevPages,n,1),t3(r,e))}}function L4(e,t,r,n){return function(a){var o=a.calcdata?a.calcdata:a,s=t.filter(function(c){return o.key===c.key}),l=r||o.scrollbarState.dragMultiplier,u=o.scrollY;o.scrollY=n===void 0?o.scrollY+l*Ta.event.dy:n;var f=s.selectAll("."+Or.cn.yColumn).selectAll("."+Or.cn.columnBlock).filter(BF);return UF(e,f,s),o.scrollY===u}}function nke(e,t,r,n,i,a,o){var s=n[o]!==i[o];s&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout(function(){var l=r.filter(function(u,f){return f===o&&n[f]!==i[f]});FF(e,t,l,r),i[o]=n[o]}))}function HTt(e,t,r,n){return function(){var a=Ta.select(t.parentNode);a.each(function(o){var s=o.fragments;a.selectAll("tspan.line").each(function(m,b){s[b].width=this.getComputedTextLength()});var l=s[s.length-1].width,u=s.slice(0,-1),f=[],c,h,d=0,v=o.column.columnWidth-2*Or.cellPad;for(o.value="";u.length;)c=u.shift(),h=c.width+l,d+h>v&&(o.value+=f.join(Or.wrapSpacer)+Or.lineBreaker,f=[],d=0),f.push(c.text),d+=h;d&&(o.value+=f.join(Or.wrapSpacer)),o.wrapped=!0}),a.selectAll("tspan.line").remove(),oke(a.select("."+Or.cn.cellText),r,e,n),Ta.select(t.parentNode.parentNode).call(HF)}}function jTt(e,t,r,n,i){return function(){if(!i.settledY){var o=Ta.select(t.parentNode),s=OF(i),l=i.key-s.firstRowIndex,u=s.rows[l].rowHeight,f=i.cellHeightMayIncrease?t.parentNode.getBoundingClientRect().height+2*Or.cellPad:u,c=Math.max(f,u),h=c-s.rows[l].rowHeight;h&&(s.rows[l].rowHeight=c,e.selectAll("."+Or.cn.columnCell).call(HF),UF(null,e.filter(BF),0),t3(r,n,!0)),o.attr("transform",function(){var d=this,v=d.parentNode,m=v.getBoundingClientRect(),b=Ta.select(d.parentNode).select("."+Or.cn.cellRect).node().getBoundingClientRect(),g=d.transform.baseVal.consolidate(),_=b.top-m.top+(g?g.matrix.f:Or.cellPad);return kc(ske(i,Ta.select(d.parentNode).select("."+Or.cn.cellTextHolder).node().getBoundingClientRect().width),_)}),i.settledY=!0}}}function ske(e,t){switch(e.align){case"left":return Or.cellPad;case"right":return e.column.columnWidth-(t||0)-Or.cellPad;case"center":return(e.column.columnWidth-(t||0))/2;default:return Or.cellPad}}function HF(e){e.attr("transform",function(t){var r=t.rowBlocks[0].auxiliaryBlocks.reduce(function(o,s){return o+D4(s,1/0)},0),n=OF(t),i=D4(n,t.key),a=i+r;return kc(0,a)}).selectAll("."+Or.cn.cellRect).attr("height",function(t){return YTt(OF(t),t.key).rowHeight})}function NF(e,t){for(var r=0,n=t-1;n>=0;n--)r+=VTt(e[n]);return r}function D4(e,t){for(var r=0,n=0;n<e.rows.length&&e.rows[n].rowIndex<t;n++)r+=e.rows[n].rowHeight;return r}function VTt(e){var t=e.allRowsHeight;if(t!==void 0)return t;for(var r=0,n=0;n<e.rows.length;n++)r+=e.rows[n].rowHeight;return e.allRowsHeight=r,r}function OF(e){return e.rowBlocks[e.page]}function YTt(e,t){return e.rows[t-e.firstRowIndex]}});var uke=J(P4=>{"use strict";var GTt=Nu().getModuleCalcData,WTt=jF(),R4="table";P4.name=R4;P4.plot=function(e){var t=GTt(e.calcdata,R4)[0];t.length&&WTt(e,t)};P4.clean=function(e,t,r,n){var i=n._has&&n._has(R4),a=t._has&&t._has(R4);i&&!a&&n._paperdiv.selectAll(".table").remove()}});var cke=J((mHt,fke)=>{"use strict";fke.exports={attributes:SF(),supplyDefaults:NMe(),calc:BMe(),plot:jF(),moduleType:"trace",name:"table",basePlotModule:uke(),categories:["noOpacity"],meta:{description:["Table view for detailed data viewing.","The data are arranged in a grid of rows and columns.","Most styling can be specified for columns, rows or individual cells.","Table is using a column-major order, ie. the grid is represented as a vector of column vectors."].join(" ")}}});var vke=J((yHt,hke)=>{"use strict";hke.exports=cke()});var mke=J((xHt,gke)=>{"use strict";var VF=xa(),dke=Ho(),YF=hl(),XTt=Ga().descriptionWithDates,ZTt=La().overrideAll,pke=Ss().dash,GF=cn().extendFlat;gke.exports={color:{valType:"color",editType:"calc",description:["Sets default for all colors associated with this axis","all at once: line, font, tick, and grid colors.","Grid color is lightened by blending this with the plot background","Individual pieces can override this."].join(" ")},smoothing:{valType:"number",dflt:1,min:0,max:1.3,editType:"calc"},title:{text:{valType:"string",dflt:"",editType:"calc",description:["Sets the title of this axis.","Note that before the existence of `title.text`, the title's","contents used to be defined as the `title` attribute itself.","This behavior has been deprecated."].join(" ")},font:VF({editType:"calc",description:["Sets this axis' title font.","Note that the title's font used to be set","by the now deprecated `titlefont` attribute."].join(" ")}),offset:{valType:"number",dflt:10,editType:"calc",description:["An additional amount by which to offset the title from the tick","labels, given in pixels.","Note that this used to be set","by the now deprecated `titleoffset` attribute."].join(" ")},editType:"calc"},type:{valType:"enumerated",values:["-","linear","date","category"],dflt:"-",editType:"calc",description:["Sets the axis type.","By default, plotly attempts to determined the axis type","by looking into the data of the traces that referenced","the axis in question."].join(" ")},autotypenumbers:YF.autotypenumbers,autorange:{valType:"enumerated",values:[!0,!1,"reversed"],dflt:!0,editType:"calc",description:["Determines whether or not the range of this axis is","computed in relation to the input data.","See `rangemode` for more info.","If `range` is provided, then `autorange` is set to *false*."].join(" ")},rangemode:{valType:"enumerated",values:["normal","tozero","nonnegative"],dflt:"normal",editType:"calc",description:["If *normal*, the range is computed in relation to the extrema","of the input data.","If *tozero*`, the range extends to 0,","regardless of the input data","If *nonnegative*, the range is non-negative,","regardless of the input data."].join(" ")},range:{valType:"info_array",editType:"calc",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}],description:["Sets the range of this axis.","If the axis `type` is *log*, then you must take the log of your","desired range (e.g. to set the range from 1 to 100,","set the range from 0 to 2).","If the axis `type` is *date*, it should be date strings,","like date data, though Date objects and unix milliseconds","will be accepted and converted to strings.","If the axis `type` is *category*, it should be numbers,","using the scale where each category is assigned a serial","number from zero in the order it appears."].join(" ")},fixedrange:{valType:"boolean",dflt:!1,editType:"calc",description:["Determines whether or not this axis is zoom-able.","If true, then zoom is disabled."].join(" ")},cheatertype:{valType:"enumerated",values:["index","value"],dflt:"value",editType:"calc"},tickmode:{valType:"enumerated",values:["linear","array"],dflt:"array",editType:"calc"},nticks:{valType:"integer",min:0,dflt:0,editType:"calc",description:["Specifies the maximum number of ticks for the particular axis.","The actual number of ticks will be chosen automatically to be","less than or equal to `nticks`.","Has an effect only if `tickmode` is set to *auto*."].join(" ")},tickvals:{valType:"data_array",editType:"calc",description:["Sets the values at which ticks on this axis appear.","Only has an effect if `tickmode` is set to *array*.","Used with `ticktext`."].join(" ")},ticktext:{valType:"data_array",editType:"calc",description:["Sets the text displayed at the ticks position via `tickvals`.","Only has an effect if `tickmode` is set to *array*.","Used with `tickvals`."].join(" ")},showticklabels:{valType:"enumerated",values:["start","end","both","none"],dflt:"start",editType:"calc",description:["Determines whether axis labels are drawn on the low side,","the high side, both, or neither side of the axis."].join(" ")},labelalias:GF({},YF.labelalias,{editType:"calc"}),tickfont:VF({editType:"calc",description:"Sets the tick font."}),tickangle:{valType:"angle",dflt:"auto",editType:"calc",description:["Sets the angle of the tick labels with respect to the horizontal.","For example, a `tickangle` of -90 draws the tick labels","vertically."].join(" ")},tickprefix:{valType:"string",dflt:"",editType:"calc",description:"Sets a tick label prefix."},showtickprefix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc",description:["If *all*, all tick labels are displayed with a prefix.","If *first*, only the first tick is displayed with a prefix.","If *last*, only the last tick is displayed with a suffix.","If *none*, tick prefixes are hidden."].join(" ")},ticksuffix:{valType:"string",dflt:"",editType:"calc",description:"Sets a tick label suffix."},showticksuffix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc",description:"Same as `showtickprefix` but for tick suffixes."},showexponent:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc",description:["If *all*, all exponents are shown besides their significands.","If *first*, only the exponent of the first tick is shown.","If *last*, only the exponent of the last tick is shown.","If *none*, no exponents appear."].join(" ")},exponentformat:{valType:"enumerated",values:["none","e","E","power","SI","B"],dflt:"B",editType:"calc",description:["Determines a formatting rule for the tick exponents.","For example, consider the number 1,000,000,000.","If *none*, it appears as 1,000,000,000.","If *e*, 1e+9.","If *E*, 1E+9.","If *power*, 1x10^9 (with 9 in a super script).","If *SI*, 1G.","If *B*, 1B."].join(" ")},minexponent:{valType:"number",dflt:3,min:0,editType:"calc",description:["Hide SI prefix for 10^n if |n| is below this number"].join(" ")},separatethousands:{valType:"boolean",dflt:!1,editType:"calc",description:['If "true", even 4-digit integers are separated'].join(" ")},tickformat:{valType:"string",dflt:"",editType:"calc",description:XTt("tick label")},tickformatstops:ZTt(YF.tickformatstops,"calc","from-root"),categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array"],dflt:"trace",editType:"calc",description:["Specifies the ordering logic for the case of categorical variables.","By default, plotly uses *trace*, which specifies the order that is present in the data supplied.","Set `categoryorder` to *category ascending* or *category descending* if order should be determined by","the alphanumerical order of the category names.","Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category","is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to","the *trace* mode. The unspecified categories will follow the categories in `categoryarray`."].join(" ")},categoryarray:{valType:"data_array",editType:"calc",description:["Sets the order in which categories on this axis appear.","Only has an effect if `categoryorder` is set to *array*.","Used with `categoryorder`."].join(" ")},labelpadding:{valType:"integer",dflt:10,editType:"calc",description:"Extra padding between label and the axis"},labelprefix:{valType:"string",editType:"calc",description:"Sets a axis label prefix."},labelsuffix:{valType:"string",dflt:"",editType:"calc",description:"Sets a axis label suffix."},showline:{valType:"boolean",dflt:!1,editType:"calc",description:["Determines whether or not a line bounding this axis is drawn."].join(" ")},linecolor:{valType:"color",dflt:dke.defaultLine,editType:"calc",description:"Sets the axis line color."},linewidth:{valType:"number",min:0,dflt:1,editType:"calc",description:"Sets the width (in px) of the axis line."},gridcolor:{valType:"color",editType:"calc",description:"Sets the axis line color."},gridwidth:{valType:"number",min:0,dflt:1,editType:"calc",description:"Sets the width (in px) of the axis line."},griddash:GF({},pke,{editType:"calc"}),showgrid:{valType:"boolean",dflt:!0,editType:"calc",description:["Determines whether or not grid lines are drawn.","If *true*, the grid lines are drawn at every tick mark."].join(" ")},minorgridcount:{valType:"integer",min:0,dflt:0,editType:"calc",description:"Sets the number of minor grid ticks per major grid tick"},minorgridwidth:{valType:"number",min:0,dflt:1,editType:"calc",description:"Sets the width (in px) of the grid lines."},minorgriddash:GF({},pke,{editType:"calc"}),minorgridcolor:{valType:"color",dflt:dke.lightLine,editType:"calc",description:"Sets the color of the grid lines."},startline:{valType:"boolean",editType:"calc",description:["Determines whether or not a line is drawn at along the starting value","of this axis.","If *true*, the start line is drawn on top of the grid lines."].join(" ")},startlinecolor:{valType:"color",editType:"calc",description:"Sets the line color of the start line."},startlinewidth:{valType:"number",dflt:1,editType:"calc",description:"Sets the width (in px) of the start line."},endline:{valType:"boolean",editType:"calc",description:["Determines whether or not a line is drawn at along the final value","of this axis.","If *true*, the end line is drawn on top of the grid lines."].join(" ")},endlinewidth:{valType:"number",dflt:1,editType:"calc",description:"Sets the width (in px) of the end line."},endlinecolor:{valType:"color",editType:"calc",description:"Sets the line color of the end line."},tick0:{valType:"number",min:0,dflt:0,editType:"calc",description:"The starting index of grid lines along the axis"},dtick:{valType:"number",min:0,dflt:1,editType:"calc",description:"The stride between grid lines along the axis"},arraytick0:{valType:"integer",min:0,dflt:0,editType:"calc",description:"The starting index of grid lines along the axis"},arraydtick:{valType:"integer",min:1,dflt:1,editType:"calc",description:"The stride between grid lines along the axis"},_deprecated:{title:{valType:"string",editType:"calc",description:["Deprecated in favor of `title.text`.","Note that value of `title` is no longer a simple","*string* but a set of sub-attributes."].join(" ")},titlefont:VF({editType:"calc",description:"Deprecated in favor of `title.font`."}),titleoffset:{valType:"number",dflt:10,editType:"calc",description:"Deprecated in favor of `title.offset`."}},editType:"calc"}});var q4=J((bHt,bke)=>{"use strict";var JTt=xa(),yke=mke(),xke=Ho(),I4=JTt({editType:"calc",description:"The default font used for axis & tick labels on this carpet"}),$Tt=ds().zorder;I4.family.dflt='"Open Sans", verdana, arial, sans-serif';I4.size.dflt=12;I4.color.dflt=xke.defaultLine;bke.exports={carpet:{valType:"string",editType:"calc",description:["An identifier for this carpet, so that `scattercarpet` and","`contourcarpet` traces can specify a carpet plot on which","they lie"].join(" ")},x:{valType:"data_array",editType:"calc+clearAxisTypes",description:["A two dimensional array of x coordinates at each carpet point.","If omitted, the plot is a cheater plot and the xaxis is hidden","by default."].join(" ")},y:{valType:"data_array",editType:"calc+clearAxisTypes",description:"A two dimensional array of y coordinates at each carpet point."},a:{valType:"data_array",editType:"calc",description:["An array containing values of the first parameter value"].join(" ")},a0:{valType:"number",dflt:0,editType:"calc",description:["Alternate to `a`.","Builds a linear space of a coordinates.","Use with `da`","where `a0` is the starting coordinate and `da` the step."].join(" ")},da:{valType:"number",dflt:1,editType:"calc",description:["Sets the a coordinate step.","See `a0` for more info."].join(" ")},b:{valType:"data_array",editType:"calc",description:"A two dimensional array of y coordinates at each carpet point."},b0:{valType:"number",dflt:0,editType:"calc",description:["Alternate to `b`.","Builds a linear space of a coordinates.","Use with `db`","where `b0` is the starting coordinate and `db` the step."].join(" ")},db:{valType:"number",dflt:1,editType:"calc",description:["Sets the b coordinate step.","See `b0` for more info."].join(" ")},cheaterslope:{valType:"number",dflt:1,editType:"calc",description:["The shift applied to each successive row of data in creating a cheater plot.","Only used if `x` is been omitted."].join(" ")},aaxis:yke,baxis:yke,font:I4,color:{valType:"color",dflt:xke.defaultLine,editType:"plot",description:["Sets default for all colors associated with this axis","all at once: line, font, tick, and grid colors.","Grid color is lightened by blending this with the plot background","Individual pieces can override this."].join(" ")},transforms:void 0,zorder:$Tt}});var Tke=J((wHt,_ke)=>{"use strict";var wke=gt().isArray1D;_ke.exports=function(t,r,n){var i=n("x"),a=i&&i.length,o=n("y"),s=o&&o.length;if(!a&&!s)return!1;if(r._cheater=!i,(!a||wke(i))&&(!s||wke(o))){var l=a?i.length:1/0;s&&(l=Math.min(l,o.length)),r.a&&r.a.length&&(l=Math.min(l,r.a.length)),r.b&&r.b.length&&(l=Math.min(l,r.b.length)),r._length=l}else r._length=null;return!0}});var kke=J((_Ht,Mke)=>{"use strict";var KTt=q4(),Ake=qr().addOpacity,QTt=zr(),r3=gt(),eAt=Wp(),tAt=Xp(),rAt=Zp(),nAt=ik(),iAt=Zv(),aAt=V1();Mke.exports=function(t,r,n){var i=n.letter,a=n.font||{},o=KTt[i+"axis"];function s(p,S){return r3.coerce(t,r,o,p,S)}function l(p,S){return r3.coerce2(t,r,o,p,S)}n.name&&(r._name=n.name,r._id=n.name),s("autotypenumbers",n.autotypenumbersDflt);var u=s("type");if(u==="-"&&(n.data&&oAt(r,n.data),r.type==="-"?r.type="linear":u=t.type=r.type),s("smoothing"),s("cheatertype"),s("showticklabels"),s("labelprefix",i+" = "),s("labelsuffix"),s("showtickprefix"),s("showticksuffix"),s("separatethousands"),s("tickformat"),s("exponentformat"),s("minexponent"),s("showexponent"),s("categoryorder"),s("tickmode"),s("tickvals"),s("ticktext"),s("tick0"),s("dtick"),r.tickmode==="array"&&(s("arraytick0"),s("arraydtick")),s("labelpadding"),r._hovertitle=i,u==="date"){var f=QTt.getComponentMethod("calendars","handleDefaults");f(t,r,"calendar",n.calendar)}iAt(r,n.fullLayout),r.c2p=r3.identity;var c=s("color",n.dfltColor),h=c===t.color?c:a.color,d=s("title.text");d&&(r3.coerceFont(s,"title.font",a,{overrideDflt:{size:r3.bigFont(a.size),color:h}}),s("title.offset")),s("tickangle");var v=s("autorange",!r.isValidRange(t.range));v&&s("rangemode"),s("range"),r.cleanRange(),s("fixedrange"),eAt(t,r,s,u),rAt(t,r,s,u,n),tAt(t,r,s,u,n),nAt(t,r,s,{data:n.data,dataAttr:i});var m=l("gridcolor",Ake(c,.3)),b=l("gridwidth"),g=l("griddash"),_=s("showgrid");_||(delete r.gridcolor,delete r.gridwidth,delete r.griddash);var T=l("startlinecolor",c),w=l("startlinewidth",b),k=s("startline",r.showgrid||!!T||!!w);k||(delete r.startlinecolor,delete r.startlinewidth);var x=l("endlinecolor",c),M=l("endlinewidth",b),A=s("endline",r.showgrid||!!x||!!M);return A||(delete r.endlinecolor,delete r.endlinewidth),_?(s("minorgridcount"),s("minorgridwidth",b),s("minorgriddash",g),s("minorgridcolor",Ake(m,.06)),r.minorgridcount||(delete r.minorgridwidth,delete r.minorgriddash,delete r.minorgridcolor)):(delete r.gridcolor,delete r.gridwidth,delete r.griddash),r.showticklabels==="none"&&(delete r.tickfont,delete r.tickangle,delete r.showexponent,delete r.exponentformat,delete r.minexponent,delete r.tickformat,delete r.showticksuffix,delete r.showtickprefix),r.showticksuffix||delete r.ticksuffix,r.showtickprefix||delete r.tickprefix,s("tickmode"),r};function oAt(e,t){if(e.type==="-"){var r=e._id,n=r.charAt(0),i=n+"calendar",a=e[i];e.type=aAt(t,a,{autotypenumbers:e.autotypenumbers})}}});var Cke=J((THt,Ske)=>{"use strict";var sAt=kke(),lAt=ki();Ske.exports=function(t,r,n,i,a){var o=i("a");o||(i("da"),i("a0"));var s=i("b");s||(i("db"),i("b0")),uAt(t,r,n,a)};function uAt(e,t,r,n){var i=["aaxis","baxis"];i.forEach(function(a){var o=a.charAt(0),s=e[a]||{},l=lAt.newContainer(t,a),u={noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0,noTicklabelstep:!0,tickfont:"x",id:o+"axis",letter:o,font:t.font,name:a,data:e[o],calendar:t.calendar,dfltColor:n,bgColor:r.paper_bgcolor,autotypenumbersDflt:r.autotypenumbers,fullLayout:r};sAt(s,l,u),l._categories=l._categories||[],!e[a]&&s.type!=="-"&&(e[a]={type:s.type})})}});var Dke=J((AHt,Lke)=>{"use strict";var Eke=gt(),fAt=Tke(),cAt=Cke(),hAt=q4(),vAt=Ho();Lke.exports=function(t,r,n,i){function a(l,u){return Eke.coerce(t,r,hAt,l,u)}r._clipPathId="clip"+r.uid+"carpet";var o=a("color",vAt.defaultLine);if(Eke.coerceFont(a,"font",i.font),a("carpet"),cAt(t,r,i,a,o),!r.a||!r.b){r.visible=!1;return}r.a.length<3&&(r.aaxis.smoothing=0),r.b.length<3&&(r.baxis.smoothing=0);var s=fAt(t,r,a);s||(r.visible=!1),r._cheater&&a("cheaterslope"),a("zorder")}});var WF=J((MHt,Rke)=>{"use strict";var dAt=gt().isArrayOrTypedArray;Rke.exports=function(t,r,n){var i;for(dAt(t)?t.length>r.length&&(t=t.slice(0,r.length)):t=[],i=0;i<r.length;i++)t[i]=n(r[i]);return t}});var XF=J((kHt,Pke)=>{"use strict";Pke.exports=function(t,r,n){if(t.length===0)return"";var i,a=[],o=n?3:1;for(i=0;i<t.length;i+=o)a.push(t[i]+","+r[i]),n&&i<t.length-o&&(a.push("C"),a.push([t[i+1]+","+r[i+1],t[i+2]+","+r[i+2]+" "].join(" ")));return a.join(n?"":"L")}});var qke=J((SHt,Ike)=>{"use strict";Ike.exports=function(t,r,n,i,a,o){var s=a[0]*t.dpdx(r),l=a[1]*t.dpdy(n),u=1,f=1;if(o){var c=Math.sqrt(a[0]*a[0]+a[1]*a[1]),h=Math.sqrt(o[0]*o[0]+o[1]*o[1]),d=(a[0]*o[0]+a[1]*o[1])/c/h;f=Math.max(0,d)}var v=Math.atan2(l,s)*180/Math.PI;return v<-90?(v+=180,u=-u):v>90&&(v-=180,u=-u),{angle:v,flip:u,p:t.c2p(i,r,n),offsetMultplier:f}}});var jke=J((CHt,Hke)=>{"use strict";var O4=Nr(),F4=ln(),z4=WF(),Nke=XF(),n3=qke(),ZF=ca(),Ju=gt(),Oke=Ju.strRotate,N4=Ju.strTranslate,Bke=Vo();Hke.exports=function(t,r,n,i){var a=t._context.staticPlot,o=r.xaxis,s=r.yaxis,l=t._fullLayout,u=l._clips;Ju.makeTraceGroups(i,n,"trace").each(function(f){var c=O4.select(this),h=f[0],d=h.trace,v=d.aaxis,m=d.baxis,b=Ju.ensureSingle(c,"g","minorlayer"),g=Ju.ensureSingle(c,"g","majorlayer"),_=Ju.ensureSingle(c,"g","boundarylayer"),T=Ju.ensureSingle(c,"g","labellayer");c.style("opacity",d.opacity),Hx(o,s,g,v,"a",v._gridlines,!0,a),Hx(o,s,g,m,"b",m._gridlines,!0,a),Hx(o,s,b,v,"a",v._minorgridlines,!0,a),Hx(o,s,b,m,"b",m._minorgridlines,!0,a),Hx(o,s,_,v,"a-boundary",v._boundarylines,a),Hx(o,s,_,m,"b-boundary",m._boundarylines,a);var w=Fke(t,o,s,d,h,T,v._labels,"a-label"),k=Fke(t,o,s,d,h,T,m._labels,"b-label");gAt(t,T,d,h,o,s,w,k),pAt(d,h,u,o,s)})};function pAt(e,t,r,n,i){var a,o,s,l,u=r.select("#"+e._clipPathId);u.size()||(u=r.append("clipPath").classed("carpetclip",!0));var f=Ju.ensureSingle(u,"path","carpetboundary"),c=t.clipsegments,h=[];for(l=0;l<c.length;l++)a=c[l],o=z4([],a.x,n.c2p),s=z4([],a.y,i.c2p),h.push(Nke(o,s,a.bicubic));var d="M"+h.join("L")+"Z";u.attr("id",e._clipPathId),f.attr("d",d)}function Hx(e,t,r,n,i,a,o){var s="const-"+i+"-lines",l=r.selectAll("."+s).data(a);l.enter().append("path").classed(s,!0).style("vector-effect",o?"none":"non-scaling-stroke"),l.each(function(u){var f=u,c=f.x,h=f.y,d=z4([],c,e.c2p),v=z4([],h,t.c2p),m="M"+Nke(d,v,f.smoothing),b=O4.select(this);b.attr("d",m).style("stroke-width",f.width).style("stroke",f.color).style("stroke-dasharray",F4.dashStyle(f.dash,f.width)).style("fill","none")}),l.exit().remove()}function Fke(e,t,r,n,i,a,o,s){var l=a.selectAll("text."+s).data(o);l.enter().append("text").classed(s,!0);var u=0,f={};return l.each(function(c,h){var d;if(c.axis.tickangle==="auto")d=n3(n,t,r,c.xy,c.dxy);else{var v=(c.axis.tickangle+180)*Math.PI/180;d=n3(n,t,r,c.xy,[Math.cos(v),Math.sin(v)])}h||(f={angle:d.angle,flip:d.flip});var m=(c.endAnchor?-1:1)*d.flip,b=O4.select(this).attr({"text-anchor":m>0?"start":"end","data-notex":1}).call(F4.font,c.font).text(c.text).call(ZF.convertToTspans,e),g=F4.bBox(this);b.attr("transform",N4(d.p[0],d.p[1])+Oke(d.angle)+N4(c.axis.labelpadding*m,g.height*.3)),u=Math.max(u,g.width+c.axis.labelpadding)}),l.exit().remove(),f.maxExtent=u,f}function gAt(e,t,r,n,i,a,o,s){var l,u,f,c,h=Ju.aggNums(Math.min,null,r.a),d=Ju.aggNums(Math.max,null,r.a),v=Ju.aggNums(Math.min,null,r.b),m=Ju.aggNums(Math.max,null,r.b);l=.5*(h+d),u=v,f=r.ab2xy(l,u,!0),c=r.dxyda_rough(l,u),o.angle===void 0&&Ju.extendFlat(o,n3(r,i,a,f,r.dxydb_rough(l,u))),zke(e,t,r,n,f,c,r.aaxis,i,a,o,"a-title"),l=h,u=.5*(v+m),f=r.ab2xy(l,u,!0),c=r.dxydb_rough(l,u),s.angle===void 0&&Ju.extendFlat(s,n3(r,i,a,f,r.dxyda_rough(l,u))),zke(e,t,r,n,f,c,r.baxis,i,a,s,"b-title")}var Uke=Bke.LINE_SPACING,mAt=(1-Bke.MID_SHIFT)/Uke+1;function zke(e,t,r,n,i,a,o,s,l,u,f){var c=[];o.title.text&&c.push(o.title.text);var h=t.selectAll("text."+f).data(c),d=u.maxExtent;h.enter().append("text").classed(f,!0),h.each(function(){var v=n3(r,s,l,i,a);["start","both"].indexOf(o.showticklabels)===-1&&(d=0);var m=o.title.font.size;d+=m+o.title.offset;var b=u.angle+(u.flip<0?180:0),g=(b-v.angle+450)%360,_=g>90&&g<270,T=O4.select(this);T.text(o.title.text).call(ZF.convertToTspans,e),_&&(d=(-ZF.lineCount(T)+mAt)*Uke*m-d),T.attr("transform",N4(v.p[0],v.p[1])+Oke(v.angle)+N4(0,d)).attr("text-anchor","middle").call(F4.font,o.title.font)}),h.exit().remove()}});var Yke=J((EHt,Vke)=>{"use strict";var B4=gt().isArrayOrTypedArray;Vke.exports=function(e,t,r){var n,i,a,o,s,l,u=[],f=B4(e)?e.length:e,c=B4(t)?t.length:t,h=B4(e)?e:null,d=B4(t)?t:null;h&&(a=(h.length-1)/(h[h.length-1]-h[0])/(f-1)),d&&(o=(d.length-1)/(d[d.length-1]-d[0])/(c-1));var v,m=1/0,b=-1/0;for(i=0;i<c;i++)for(u[i]=[],l=d?(d[i]-d[0])*o:i/(c-1),n=0;n<f;n++)s=h?(h[n]-h[0])*a:n/(f-1),v=s-l*r,m=Math.min(v,m),b=Math.max(v,b),u[i][n]=v;var g=1/(b-m),_=-m*g;for(i=0;i<c;i++)for(n=0;n<f;n++)u[i][n]=g*u[i][n]+_;return u}});var Zke=J((LHt,Xke)=>{"use strict";var Gke=gt().isArrayOrTypedArray;Xke.exports=function(e){return Wke(e,0)};function Wke(e,t){if(!Gke(e)||t>=10)return null;for(var r=1/0,n=-1/0,i=e.length,a=0;a<i;a++){var o=e[a];if(Gke(o)){var s=Wke(o,t+1);s&&(r=Math.min(s[0],r),n=Math.max(s[1],n))}else r=Math.min(o,r),n=Math.max(o,n)}return[r,n]}});var $ke=J((DHt,Jke)=>{"use strict";var yAt=nn(),op=cn().extendFlat;Jke.exports=function(t,r,n){var i,a,o,s,l,u,f,c,h,d,v,m,b,g,_=t["_"+r],T=t[r+"axis"],w=T._gridlines=[],k=T._minorgridlines=[],x=T._boundarylines=[],M=t["_"+n],A=t[n+"axis"];T.tickmode==="array"&&(T.tickvals=_.slice());var p=t._xctrl,S=t._yctrl,y=p[0].length,E=p.length,C=t._a.length,L=t._b.length;yAt.prepTicks(T),T.tickmode==="array"&&delete T.tickvals;var R=T.smoothing?3:1;function I(D){var q,N,U,G,ee,Q,j,O,Z,K,$,oe,te=[],V=[],ne={};if(r==="b")for(N=t.b2j(D),U=Math.floor(Math.max(0,Math.min(L-2,N))),G=N-U,ne.length=L,ne.crossLength=C,ne.xy=function(W){return t.evalxy([],W,N)},ne.dxy=function(W,fe){return t.dxydi([],W,U,fe,G)},q=0;q<C;q++)Q=Math.min(C-2,q),j=q-Q,O=t.evalxy([],q,N),A.smoothing&&q>0&&(Z=t.dxydi([],q-1,U,0,G),te.push(ee[0]+Z[0]/3),V.push(ee[1]+Z[1]/3),K=t.dxydi([],q-1,U,1,G),te.push(O[0]-K[0]/3),V.push(O[1]-K[1]/3)),te.push(O[0]),V.push(O[1]),ee=O;else for(q=t.a2i(D),Q=Math.floor(Math.max(0,Math.min(C-2,q))),j=q-Q,ne.length=C,ne.crossLength=L,ne.xy=function(W){return t.evalxy([],q,W)},ne.dxy=function(W,fe){return t.dxydj([],Q,W,j,fe)},N=0;N<L;N++)U=Math.min(L-2,N),G=N-U,O=t.evalxy([],q,N),A.smoothing&&N>0&&($=t.dxydj([],Q,N-1,j,0),te.push(ee[0]+$[0]/3),V.push(ee[1]+$[1]/3),oe=t.dxydj([],Q,N-1,j,1),te.push(O[0]-oe[0]/3),V.push(O[1]-oe[1]/3)),te.push(O[0]),V.push(O[1]),ee=O;return ne.axisLetter=r,ne.axis=T,ne.crossAxis=A,ne.value=D,ne.constvar=n,ne.index=c,ne.x=te,ne.y=V,ne.smoothing=A.smoothing,ne}function P(D){var q,N,U,G,ee,Q=[],j=[],O={};if(O.length=_.length,O.crossLength=M.length,r==="b")for(U=Math.max(0,Math.min(L-2,D)),ee=Math.min(1,Math.max(0,D-U)),O.xy=function(Z){return t.evalxy([],Z,D)},O.dxy=function(Z,K){return t.dxydi([],Z,U,K,ee)},q=0;q<y;q++)Q[q]=p[D*R][q],j[q]=S[D*R][q];else for(N=Math.max(0,Math.min(C-2,D)),G=Math.min(1,Math.max(0,D-N)),O.xy=function(Z){return t.evalxy([],D,Z)},O.dxy=function(Z,K){return t.dxydj([],N,Z,G,K)},q=0;q<E;q++)Q[q]=p[q][D*R],j[q]=S[q][D*R];return O.axisLetter=r,O.axis=T,O.crossAxis=A,O.value=_[D],O.constvar=n,O.index=D,O.x=Q,O.y=j,O.smoothing=A.smoothing,O}if(T.tickmode==="array"){for(s=5e-15,l=[Math.floor((_.length-1-T.arraytick0)/T.arraydtick*(1+s)),Math.ceil(-T.arraytick0/T.arraydtick/(1+s))].sort(function(D,q){return D-q}),u=l[0]-1,f=l[1]+1,c=u;c<f;c++)a=T.arraytick0+T.arraydtick*c,!(a<0||a>_.length-1)&&w.push(op(P(a),{color:T.gridcolor,width:T.gridwidth,dash:T.griddash}));for(c=u;c<f;c++)if(o=T.arraytick0+T.arraydtick*c,v=Math.min(o+T.arraydtick,_.length-1),!(o<0||o>_.length-1)&&!(v<0||v>_.length-1))for(m=_[o],b=_[v],i=0;i<T.minorgridcount;i++)g=v-o,!(g<=0)&&(d=m+(b-m)*(i+1)/(T.minorgridcount+1)*(T.arraydtick/g),!(d<_[0]||d>_[_.length-1])&&k.push(op(I(d),{color:T.minorgridcolor,width:T.minorgridwidth,dash:T.minorgriddash})));T.startline&&x.push(op(P(0),{color:T.startlinecolor,width:T.startlinewidth})),T.endline&&x.push(op(P(_.length-1),{color:T.endlinecolor,width:T.endlinewidth}))}else{for(s=5e-15,l=[Math.floor((_[_.length-1]-T.tick0)/T.dtick*(1+s)),Math.ceil((_[0]-T.tick0)/T.dtick/(1+s))].sort(function(D,q){return D-q}),u=l[0],f=l[1],c=u;c<=f;c++)h=T.tick0+T.dtick*c,w.push(op(I(h),{color:T.gridcolor,width:T.gridwidth,dash:T.griddash}));for(c=u-1;c<f+1;c++)for(h=T.tick0+T.dtick*c,i=0;i<T.minorgridcount;i++)d=h+T.dtick*(i+1)/(T.minorgridcount+1),!(d<_[0]||d>_[_.length-1])&&k.push(op(I(d),{color:T.minorgridcolor,width:T.minorgridwidth,dash:T.minorgriddash}));T.startline&&x.push(op(I(_[0]),{color:T.startlinecolor,width:T.startlinewidth})),T.endline&&x.push(op(I(_[_.length-1]),{color:T.endlinecolor,width:T.endlinewidth}))}}});var tSe=J((RHt,eSe)=>{"use strict";var Kke=nn(),Qke=cn().extendFlat;eSe.exports=function(t,r){var n,i,a,o,s,l=r._labels=[],u=r._gridlines;for(n=0;n<u.length;n++)s=u[n],["start","both"].indexOf(r.showticklabels)!==-1&&(i=Kke.tickText(r,s.value),Qke(i,{prefix:a,suffix:o,endAnchor:!0,xy:s.xy(0),dxy:s.dxy(0,0),axis:s.axis,length:s.crossAxis.length,font:s.axis.tickfont,isFirst:n===0,isLast:n===u.length-1}),l.push(i)),["end","both"].indexOf(r.showticklabels)!==-1&&(i=Kke.tickText(r,s.value),Qke(i,{endAnchor:!1,xy:s.xy(s.crossLength-1),dxy:s.dxy(s.crossLength-2,1),axis:s.axis,length:s.crossAxis.length,font:s.axis.tickfont,isFirst:n===0,isLast:n===u.length-1}),l.push(i))}});var nSe=J((PHt,rSe)=>{"use strict";rSe.exports=function(t,r,n,i){var a,o,s,l=[],u=!!n.smoothing,f=!!i.smoothing,c=t[0].length-1,h=t.length-1;for(a=0,o=[],s=[];a<=c;a++)o[a]=t[0][a],s[a]=r[0][a];for(l.push({x:o,y:s,bicubic:u}),a=0,o=[],s=[];a<=h;a++)o[a]=t[a][c],s[a]=r[a][c];for(l.push({x:o,y:s,bicubic:f}),a=c,o=[],s=[];a>=0;a--)o[c-a]=t[h][a],s[c-a]=r[h][a];for(l.push({x:o,y:s,bicubic:u}),a=h,o=[],s=[];a>=0;a--)o[h-a]=t[a][0],s[h-a]=r[a][0];return l.push({x:o,y:s,bicubic:f}),l}});var aSe=J((IHt,iSe)=>{"use strict";var xAt=gt();iSe.exports=function(t,r,n){var i,a,o,s=[],l=[],u=t[0].length,f=t.length;function c(U,G){var ee=0,Q,j=0;return U>0&&(Q=t[G][U-1])!==void 0&&(j++,ee+=Q),U<u-1&&(Q=t[G][U+1])!==void 0&&(j++,ee+=Q),G>0&&(Q=t[G-1][U])!==void 0&&(j++,ee+=Q),G<f-1&&(Q=t[G+1][U])!==void 0&&(j++,ee+=Q),ee/Math.max(1,j)}var h=0;for(i=0;i<u;i++)for(a=0;a<f;a++)t[a][i]===void 0&&(s.push(i),l.push(a),t[a][i]=c(i,a)),h=Math.max(h,Math.abs(t[a][i]));if(!s.length)return t;var d,v,m,b,g,_,T,w,k,x,M,A=1e-5,p=0,S=100,y=0,E=s.length;do{for(p=0,o=0;o<E;o++){i=s[o],a=l[o];var C=0,L=0,R,I,P,D,q,N;i===0?(q=Math.min(u-1,2),P=r[q],D=r[1],R=t[a][q],I=t[a][1],L+=I+(I-R)*(r[0]-D)/(D-P),C++):i===u-1&&(q=Math.max(0,u-3),P=r[q],D=r[u-2],R=t[a][q],I=t[a][u-2],L+=I+(I-R)*(r[u-1]-D)/(D-P),C++),(i===0||i===u-1)&&a>0&&a<f-1&&(d=n[a+1]-n[a],v=n[a]-n[a-1],L+=(v*t[a+1][i]+d*t[a-1][i])/(v+d),C++),a===0?(N=Math.min(f-1,2),P=n[N],D=n[1],R=t[N][i],I=t[1][i],L+=I+(I-R)*(n[0]-D)/(D-P),C++):a===f-1&&(N=Math.max(0,f-3),P=n[N],D=n[f-2],R=t[N][i],I=t[f-2][i],L+=I+(I-R)*(n[f-1]-D)/(D-P),C++),(a===0||a===f-1)&&i>0&&i<u-1&&(d=r[i+1]-r[i],v=r[i]-r[i-1],L+=(v*t[a][i+1]+d*t[a][i-1])/(v+d),C++),C?L/=C:(m=r[i+1]-r[i],b=r[i]-r[i-1],g=n[a+1]-n[a],_=n[a]-n[a-1],T=m*b*(m+b),w=g*_*(g+_),L=(T*(_*t[a+1][i]+g*t[a-1][i])+w*(b*t[a][i+1]+m*t[a][i-1]))/(w*(b+m)+T*(_+g))),k=L-t[a][i],x=k/h,p+=x*x,M=C?0:.85,t[a][i]+=k*(1+M)}p=Math.sqrt(p)}while(y++<S&&p>A);return xAt.log("Smoother converged to",p,"after",y,"iterations"),t}});var sSe=J((qHt,oSe)=>{"use strict";oSe.exports={RELATIVE_CULL_TOLERANCE:1e-6}});var fSe=J((FHt,uSe)=>{"use strict";var lSe=.5;uSe.exports=function(t,r,n,i){var a=t[0]-r[0],o=t[1]-r[1],s=n[0]-r[0],l=n[1]-r[1],u=Math.pow(a*a+o*o,lSe/2),f=Math.pow(s*s+l*l,lSe/2),c=(f*f*a-u*u*s)*i,h=(f*f*o-u*u*l)*i,d=f*(u+f)*3,v=u*(u+f)*3;return[[r[0]+(d&&c/d),r[1]+(d&&h/d)],[r[0]-(v&&c/v),r[1]-(v&&h/v)]]}});var hSe=J((zHt,cSe)=>{"use strict";var JF=fSe(),U4=gt().ensureArray;function jx(e,t,r){var n=-.5*r[0]+1.5*t[0],i=-.5*r[1]+1.5*t[1];return[(2*n+e[0])/3,(2*i+e[1])/3]}cSe.exports=function(t,r,n,i,a,o){var s,l,u,f,c,h,d,v,m,b,g=n[0].length,_=n.length,T=a?3*g-2:g,w=o?3*_-2:_;for(t=U4(t,w),r=U4(r,w),u=0;u<w;u++)t[u]=U4(t[u],T),r[u]=U4(r[u],T);for(l=0,f=0;l<_;l++,f+=o?3:1)for(c=t[f],h=r[f],d=n[l],v=i[l],s=0,u=0;s<g;s++,u+=a?3:1)c[u]=d[s],h[u]=v[s];if(a)for(l=0,f=0;l<_;l++,f+=o?3:1){for(s=1,u=3;s<g-1;s++,u+=3)m=JF([n[l][s-1],i[l][s-1]],[n[l][s],i[l][s]],[n[l][s+1],i[l][s+1]],a),t[f][u-1]=m[0][0],r[f][u-1]=m[0][1],t[f][u+1]=m[1][0],r[f][u+1]=m[1][1];b=jx([t[f][0],r[f][0]],[t[f][2],r[f][2]],[t[f][3],r[f][3]]),t[f][1]=b[0],r[f][1]=b[1],b=jx([t[f][T-1],r[f][T-1]],[t[f][T-3],r[f][T-3]],[t[f][T-4],r[f][T-4]]),t[f][T-2]=b[0],r[f][T-2]=b[1]}if(o)for(u=0;u<T;u++){for(f=3;f<w-3;f+=3)m=JF([t[f-3][u],r[f-3][u]],[t[f][u],r[f][u]],[t[f+3][u],r[f+3][u]],o),t[f-1][u]=m[0][0],r[f-1][u]=m[0][1],t[f+1][u]=m[1][0],r[f+1][u]=m[1][1];b=jx([t[0][u],r[0][u]],[t[2][u],r[2][u]],[t[3][u],r[3][u]]),t[1][u]=b[0],r[1][u]=b[1],b=jx([t[w-1][u],r[w-1][u]],[t[w-3][u],r[w-3][u]],[t[w-4][u],r[w-4][u]]),t[w-2][u]=b[0],r[w-2][u]=b[1]}if(a&&o)for(f=1;f<w;f+=(f+1)%3===0?2:1){for(u=3;u<T-3;u+=3)m=JF([t[f][u-3],r[f][u-3]],[t[f][u],r[f][u]],[t[f][u+3],r[f][u+3]],a),t[f][u-1]=.5*(t[f][u-1]+m[0][0]),r[f][u-1]=.5*(r[f][u-1]+m[0][1]),t[f][u+1]=.5*(t[f][u+1]+m[1][0]),r[f][u+1]=.5*(r[f][u+1]+m[1][1]);b=jx([t[f][0],r[f][0]],[t[f][2],r[f][2]],[t[f][3],r[f][3]]),t[f][1]=.5*(t[f][1]+b[0]),r[f][1]=.5*(r[f][1]+b[1]),b=jx([t[f][T-1],r[f][T-1]],[t[f][T-3],r[f][T-3]],[t[f][T-4],r[f][T-4]]),t[f][T-2]=.5*(t[f][T-2]+b[0]),r[f][T-2]=.5*(r[f][T-2]+b[1])}return[t,r]}});var dSe=J((NHt,vSe)=>{"use strict";vSe.exports=function(e,t,r,n,i){var a=t-2,o=r-2;return n&&i?function(s,l,u){s||(s=[]);var f,c,h,d,v,m,b=Math.max(0,Math.min(Math.floor(l),a)),g=Math.max(0,Math.min(Math.floor(u),o)),_=Math.max(0,Math.min(1,l-b)),T=Math.max(0,Math.min(1,u-g));b*=3,g*=3;var w=_*_,k=w*_,x=1-_,M=x*x,A=M*x,p=T*T,S=p*T,y=1-T,E=y*y,C=E*y;for(m=0;m<e.length;m++)v=e[m],f=A*v[g][b]+3*(M*_*v[g][b+1]+x*w*v[g][b+2])+k*v[g][b+3],c=A*v[g+1][b]+3*(M*_*v[g+1][b+1]+x*w*v[g+1][b+2])+k*v[g+1][b+3],h=A*v[g+2][b]+3*(M*_*v[g+2][b+1]+x*w*v[g+2][b+2])+k*v[g+2][b+3],d=A*v[g+3][b]+3*(M*_*v[g+3][b+1]+x*w*v[g+3][b+2])+k*v[g+3][b+3],s[m]=C*f+3*(E*T*c+y*p*h)+S*d;return s}:n?function(s,l,u){s||(s=[]);var f=Math.max(0,Math.min(Math.floor(l),a)),c=Math.max(0,Math.min(Math.floor(u),o)),h=Math.max(0,Math.min(1,l-f)),d=Math.max(0,Math.min(1,u-c)),v,m,b,g,_,T;f*=3;var w=h*h,k=w*h,x=1-h,M=x*x,A=M*x,p=1-d;for(_=0;_<e.length;_++)T=e[_],v=p*T[c][f]+d*T[c+1][f],m=p*T[c][f+1]+d*T[c+1][f+1],b=p*T[c][f+2]+d*T[c+1][f+1],g=p*T[c][f+3]+d*T[c+1][f+1],s[_]=A*v+3*(M*h*m+x*w*b)+k*g;return s}:i?function(s,l,u){s||(s=[]);var f=Math.max(0,Math.min(Math.floor(l),a)),c=Math.max(0,Math.min(Math.floor(u),o)),h=Math.max(0,Math.min(1,l-f)),d=Math.max(0,Math.min(1,u-c)),v,m,b,g,_,T;c*=3;var w=d*d,k=w*d,x=1-d,M=x*x,A=M*x,p=1-h;for(_=0;_<e.length;_++)T=e[_],v=p*T[c][f]+h*T[c][f+1],m=p*T[c+1][f]+h*T[c+1][f+1],b=p*T[c+2][f]+h*T[c+2][f+1],g=p*T[c+3][f]+h*T[c+3][f+1],s[_]=A*v+3*(M*d*m+x*w*b)+k*g;return s}:function(s,l,u){s||(s=[]);var f=Math.max(0,Math.min(Math.floor(l),a)),c=Math.max(0,Math.min(Math.floor(u),o)),h=Math.max(0,Math.min(1,l-f)),d=Math.max(0,Math.min(1,u-c)),v,m,b,g,_=1-d,T=1-h;for(b=0;b<e.length;b++)g=e[b],v=T*g[c][f]+h*g[c][f+1],m=T*g[c+1][f]+h*g[c+1][f+1],s[b]=_*v+d*m;return s}}});var gSe=J((OHt,pSe)=>{"use strict";pSe.exports=function(e,t,r){return t&&r?function(n,i,a,o,s){n||(n=[]);var l,u,f,c,h,d;i*=3,a*=3;var v=o*o,m=1-o,b=m*m,g=m*o*2,_=-3*b,T=3*(b-g),w=3*(g-v),k=3*v,x=s*s,M=x*s,A=1-s,p=A*A,S=p*A;for(d=0;d<e.length;d++)h=e[d],l=_*h[a][i]+T*h[a][i+1]+w*h[a][i+2]+k*h[a][i+3],u=_*h[a+1][i]+T*h[a+1][i+1]+w*h[a+1][i+2]+k*h[a+1][i+3],f=_*h[a+2][i]+T*h[a+2][i+1]+w*h[a+2][i+2]+k*h[a+2][i+3],c=_*h[a+3][i]+T*h[a+3][i+1]+w*h[a+3][i+2]+k*h[a+3][i+3],n[d]=S*l+3*(p*s*u+A*x*f)+M*c;return n}:t?function(n,i,a,o,s){n||(n=[]);var l,u,f,c;i*=3;var h=o*o,d=1-o,v=d*d,m=d*o*2,b=-3*v,g=3*(v-m),_=3*(m-h),T=3*h,w=1-s;for(f=0;f<e.length;f++)c=e[f],l=b*c[a][i]+g*c[a][i+1]+_*c[a][i+2]+T*c[a][i+3],u=b*c[a+1][i]+g*c[a+1][i+1]+_*c[a+1][i+2]+T*c[a+1][i+3],n[f]=w*l+s*u;return n}:r?function(n,i,a,o,s){n||(n=[]);var l,u,f,c,h,d;a*=3;var v=s*s,m=v*s,b=1-s,g=b*b,_=g*b;for(h=0;h<e.length;h++)d=e[h],l=d[a][i+1]-d[a][i],u=d[a+1][i+1]-d[a+1][i],f=d[a+2][i+1]-d[a+2][i],c=d[a+3][i+1]-d[a+3][i],n[h]=_*l+3*(g*s*u+b*v*f)+m*c;return n}:function(n,i,a,o,s){n||(n=[]);var l,u,f,c,h=1-s;for(f=0;f<e.length;f++)c=e[f],l=c[a][i+1]-c[a][i],u=c[a+1][i+1]-c[a+1][i],n[f]=h*l+s*u;return n}}});var ySe=J((BHt,mSe)=>{"use strict";mSe.exports=function(e,t,r){return t&&r?function(n,i,a,o,s){n||(n=[]);var l,u,f,c,h,d;i*=3,a*=3;var v=o*o,m=v*o,b=1-o,g=b*b,_=g*b,T=s*s,w=1-s,k=w*w,x=w*s*2,M=-3*k,A=3*(k-x),p=3*(x-T),S=3*T;for(d=0;d<e.length;d++)h=e[d],l=M*h[a][i]+A*h[a+1][i]+p*h[a+2][i]+S*h[a+3][i],u=M*h[a][i+1]+A*h[a+1][i+1]+p*h[a+2][i+1]+S*h[a+3][i+1],f=M*h[a][i+2]+A*h[a+1][i+2]+p*h[a+2][i+2]+S*h[a+3][i+2],c=M*h[a][i+3]+A*h[a+1][i+3]+p*h[a+2][i+3]+S*h[a+3][i+3],n[d]=_*l+3*(g*o*u+b*v*f)+m*c;return n}:t?function(n,i,a,o,s){n||(n=[]);var l,u,f,c,h,d;i*=3;var v=s*s,m=v*s,b=1-s,g=b*b,_=g*b;for(h=0;h<e.length;h++)d=e[h],l=d[a+1][i]-d[a][i],u=d[a+1][i+1]-d[a][i+1],f=d[a+1][i+2]-d[a][i+2],c=d[a+1][i+3]-d[a][i+3],n[h]=_*l+3*(g*s*u+b*v*f)+m*c;return n}:r?function(n,i,a,o,s){n||(n=[]);var l,u,f,c;a*=3;var h=1-o,d=s*s,v=1-s,m=v*v,b=v*s*2,g=-3*m,_=3*(m-b),T=3*(b-d),w=3*d;for(f=0;f<e.length;f++)c=e[f],l=g*c[a][i]+_*c[a+1][i]+T*c[a+2][i]+w*c[a+3][i],u=g*c[a][i+1]+_*c[a+1][i+1]+T*c[a+2][i+1]+w*c[a+3][i+1],n[f]=h*l+o*u;return n}:function(n,i,a,o,s){n||(n=[]);var l,u,f,c,h=1-o;for(f=0;f<e.length;f++)c=e[f],l=c[a+1][i]-c[a][i],u=c[a+1][i+1]-c[a][i+1],n[f]=h*l+o*u;return n}}});var _Se=J((UHt,wSe)=>{"use strict";var xSe=sSe(),bSe=IT().findBin,bAt=hSe(),wAt=dSe(),_At=gSe(),TAt=ySe();wSe.exports=function(t){var r=t._a,n=t._b,i=r.length,a=n.length,o=t.aaxis,s=t.baxis,l=r[0],u=r[i-1],f=n[0],c=n[a-1],h=r[r.length-1]-r[0],d=n[n.length-1]-n[0],v=h*xSe.RELATIVE_CULL_TOLERANCE,m=d*xSe.RELATIVE_CULL_TOLERANCE;l-=v,u+=v,f-=m,c+=m,t.isVisible=function(b,g){return b>l&&b<u&&g>f&&g<c},t.isOccluded=function(b,g){return b<l||b>u||g<f||g>c},t.setScale=function(){var b=t._x,g=t._y,_=bAt(t._xctrl,t._yctrl,b,g,o.smoothing,s.smoothing);t._xctrl=_[0],t._yctrl=_[1],t.evalxy=wAt([t._xctrl,t._yctrl],i,a,o.smoothing,s.smoothing),t.dxydi=_At([t._xctrl,t._yctrl],o.smoothing,s.smoothing),t.dxydj=TAt([t._xctrl,t._yctrl],o.smoothing,s.smoothing)},t.i2a=function(b){var g=Math.max(0,Math.floor(b[0]),i-2),_=b[0]-g;return(1-_)*r[g]+_*r[g+1]},t.j2b=function(b){var g=Math.max(0,Math.floor(b[1]),i-2),_=b[1]-g;return(1-_)*n[g]+_*n[g+1]},t.ij2ab=function(b){return[t.i2a(b[0]),t.j2b(b[1])]},t.a2i=function(b){var g=Math.max(0,Math.min(bSe(b,r),i-2)),_=r[g],T=r[g+1];return Math.max(0,Math.min(i-1,g+(b-_)/(T-_)))},t.b2j=function(b){var g=Math.max(0,Math.min(bSe(b,n),a-2)),_=n[g],T=n[g+1];return Math.max(0,Math.min(a-1,g+(b-_)/(T-_)))},t.ab2ij=function(b){return[t.a2i(b[0]),t.b2j(b[1])]},t.i2c=function(b,g){return t.evalxy([],b,g)},t.ab2xy=function(b,g,_){if(!_&&(b<r[0]||b>r[i-1]|g<n[0]||g>n[a-1]))return[!1,!1];var T=t.a2i(b),w=t.b2j(g),k=t.evalxy([],T,w);if(_){var x=0,M=0,A=[],p,S,y,E;b<r[0]?(p=0,S=0,x=(b-r[0])/(r[1]-r[0])):b>r[i-1]?(p=i-2,S=1,x=(b-r[i-1])/(r[i-1]-r[i-2])):(p=Math.max(0,Math.min(i-2,Math.floor(T))),S=T-p),g<n[0]?(y=0,E=0,M=(g-n[0])/(n[1]-n[0])):g>n[a-1]?(y=a-2,E=1,M=(g-n[a-1])/(n[a-1]-n[a-2])):(y=Math.max(0,Math.min(a-2,Math.floor(w))),E=w-y),x&&(t.dxydi(A,p,y,S,E),k[0]+=A[0]*x,k[1]+=A[1]*x),M&&(t.dxydj(A,p,y,S,E),k[0]+=A[0]*M,k[1]+=A[1]*M)}return k},t.c2p=function(b,g,_){return[g.c2p(b[0]),_.c2p(b[1])]},t.p2x=function(b,g,_){return[g.p2c(b[0]),_.p2c(b[1])]},t.dadi=function(b){var g=Math.max(0,Math.min(r.length-2,b));return r[g+1]-r[g]},t.dbdj=function(b){var g=Math.max(0,Math.min(n.length-2,b));return n[g+1]-n[g]},t.dxyda=function(b,g,_,T){var w=t.dxydi(null,b,g,_,T),k=t.dadi(b,_);return[w[0]/k,w[1]/k]},t.dxydb=function(b,g,_,T){var w=t.dxydj(null,b,g,_,T),k=t.dbdj(g,T);return[w[0]/k,w[1]/k]},t.dxyda_rough=function(b,g,_){var T=h*(_||.1),w=t.ab2xy(b+T,g,!0),k=t.ab2xy(b-T,g,!0);return[(w[0]-k[0])*.5/T,(w[1]-k[1])*.5/T]},t.dxydb_rough=function(b,g,_){var T=d*(_||.1),w=t.ab2xy(b,g+T,!0),k=t.ab2xy(b,g-T,!0);return[(w[0]-k[0])*.5/T,(w[1]-k[1])*.5/T]},t.dpdx=function(b){return b._m},t.dpdy=function(b){return b._m}}});var LSe=J((HHt,ESe)=>{"use strict";var H4=nn(),TSe=gt().isArray1D,AAt=Yke(),ASe=Zke(),MSe=$ke(),kSe=tSe(),MAt=nSe(),SSe=rS(),CSe=aSe(),kAt=eS(),SAt=_Se();ESe.exports=function(t,r){var n=H4.getFromId(t,r.xaxis),i=H4.getFromId(t,r.yaxis),a=r.aaxis,o=r.baxis,s=r.x,l=r.y,u=[];s&&TSe(s)&&u.push("x"),l&&TSe(l)&&u.push("y"),u.length&&kAt(r,a,o,"a","b",u);var f=r._a=r._a||r.a,c=r._b=r._b||r.b;s=r._x||r.x,l=r._y||r.y;var h={};if(r._cheater){var d=a.cheatertype==="index"?f.length:f,v=o.cheatertype==="index"?c.length:c;s=AAt(d,v,r.cheaterslope)}r._x=s=SSe(s),r._y=l=SSe(l),CSe(s,f,c),CSe(l,f,c),SAt(r),r.setScale();var m=ASe(s),b=ASe(l),g=.5*(m[1]-m[0]),_=.5*(m[1]+m[0]),T=.5*(b[1]-b[0]),w=.5*(b[1]+b[0]),k=1.3;return m=[_-g*k,_+g*k],b=[w-T*k,w+T*k],r._extremes[n._id]=H4.findExtremes(n,m,{padded:!0}),r._extremes[i._id]=H4.findExtremes(i,b,{padded:!0}),MSe(r,"a","b"),MSe(r,"b","a"),kSe(r,a),kSe(r,o),h.clipsegments=MAt(r._xctrl,r._yctrl,a,o),h.x=s,h.y=l,h.a=f,h.b=c,[h]}});var RSe=J((jHt,DSe)=>{"use strict";DSe.exports={attributes:q4(),supplyDefaults:Dke(),plot:jke(),calc:LSe(),animatable:!0,isContainer:!0,moduleType:"trace",name:"carpet",basePlotModule:gs(),categories:["cartesian","svg","carpet","carpetAxis","notLegendIsolatable","noMultiCategory","noHover","noSortingByValue"],meta:{description:["The data describing carpet axis layout is set in `y` and (optionally)","also `x`. If only `y` is present, `x` the plot is interpreted as a","cheater plot and is filled in using the `y` values.","`x` and `y` may either be 2D arrays matching with each dimension matching","that of `a` and `b`, or they may be 1D arrays with total length equal to","that of `a` and `b`."].join(" ")}}});var ISe=J((VHt,PSe)=>{"use strict";PSe.exports=RSe()});var $F=J((YHt,FSe)=>{"use strict";var CAt=gg(),Nf=ds(),EAt=Qi(),LAt=Jn().hovertemplateAttrs,DAt=Jn().texttemplateAttrs,qSe=Da(),sp=cn().extendFlat,Sc=Nf.marker,Vx=Nf.line,RAt=Sc.line;FSe.exports={carpet:{valType:"string",editType:"calc",description:["An identifier for this carpet, so that `scattercarpet` and","`contourcarpet` traces can specify a carpet plot on which","they lie"].join(" ")},a:{valType:"data_array",editType:"calc",description:"Sets the a-axis coordinates."},b:{valType:"data_array",editType:"calc",description:"Sets the b-axis coordinates."},mode:sp({},Nf.mode,{dflt:"markers"}),text:sp({},Nf.text,{description:["Sets text elements associated with each (a,b) point.","If a single string, the same string appears over","all the data points.","If an array of strings, the items are mapped in order to the","the data points in (a,b).","If trace `hoverinfo` contains a *text* flag and *hovertext* is not set,","these elements will be seen in the hover labels."].join(" ")}),texttemplate:DAt({editType:"plot"},{keys:["a","b","text"]}),hovertext:sp({},Nf.hovertext,{description:["Sets hover text elements associated with each (a,b) point.","If a single string, the same string appears over","all the data points.","If an array of strings, the items are mapped in order to the","the data points in (a,b).","To be seen, trace `hoverinfo` must contain a *text* flag."].join(" ")}),line:{color:Vx.color,width:Vx.width,dash:Vx.dash,backoff:Vx.backoff,shape:sp({},Vx.shape,{values:["linear","spline"]}),smoothing:Vx.smoothing,editType:"calc"},connectgaps:Nf.connectgaps,fill:sp({},Nf.fill,{values:["none","toself","tonext"],dflt:"none",description:["Sets the area to fill with a solid color.","Use with `fillcolor` if not *none*.","scatterternary has a subset of the options available to scatter.","*toself* connects the endpoints of the trace (or each segment","of the trace if it has gaps) into a closed shape.","*tonext* fills the space between two traces if one completely","encloses the other (eg consecutive contour lines), and behaves like","*toself* if there is no trace before it. *tonext* should not be","used if one trace does not enclose the other."].join(" ")}),fillcolor:CAt(),marker:sp({symbol:Sc.symbol,opacity:Sc.opacity,maxdisplayed:Sc.maxdisplayed,angle:Sc.angle,angleref:Sc.angleref,standoff:Sc.standoff,size:Sc.size,sizeref:Sc.sizeref,sizemin:Sc.sizemin,sizemode:Sc.sizemode,line:sp({width:RAt.width,editType:"calc"},qSe("marker.line")),gradient:Sc.gradient,editType:"calc"},qSe("marker")),textfont:Nf.textfont,textposition:Nf.textposition,selected:Nf.selected,unselected:Nf.unselected,hoverinfo:sp({},EAt.hoverinfo,{flags:["a","b","text","name"]}),hoveron:Nf.hoveron,hovertemplate:LAt(),zorder:Nf.zorder}});var BSe=J((GHt,OSe)=>{"use strict";var zSe=gt(),PAt=pg(),Yx=fs(),IAt=bg(),qAt=wg(),NSe=nw(),FAt=_g(),zAt=uy(),NAt=$F();OSe.exports=function(t,r,n,i){function a(h,d){return zSe.coerce(t,r,NAt,h,d)}a("carpet"),r.xaxis="x",r.yaxis="y";var o=a("a"),s=a("b"),l=Math.min(o.length,s.length);if(!l){r.visible=!1;return}r._length=l,a("text"),a("texttemplate"),a("hovertext");var u=l<PAt.PTS_LINESONLY?"lines+markers":"lines";a("mode",u),Yx.hasMarkers(r)&&IAt(t,r,n,i,a,{gradient:!0}),Yx.hasLines(r)&&(qAt(t,r,n,i,a,{backoff:!0}),NSe(t,r,a),a("connectgaps")),Yx.hasText(r)&&FAt(t,r,i,a);var f=[];(Yx.hasMarkers(r)||Yx.hasText(r))&&(a("marker.maxdisplayed"),f.push("points")),a("fill"),r.fill!=="none"&&(zAt(t,r,n,a),Yx.hasLines(r)||NSe(t,r,a)),(r.fill==="tonext"||r.fill==="toself")&&f.push("fills");var c=a("hoveron",f.join("+")||"points");c!=="fills"&&a("hovertemplate"),a("zorder"),zSe.coerceSelectionMarkerOpacity(r,a)}});var HSe=J((WHt,USe)=>{"use strict";USe.exports=function(t,r){var n={},i=r._carpet,a=i.ab2ij([t.a,t.b]),o=Math.floor(a[0]),s=a[0]-o,l=Math.floor(a[1]),u=a[1]-l,f=i.evalxy([],o,l,s,u);return n.yLabel=f[1].toFixed(3),n}});var j4=J((XHt,jSe)=>{"use strict";jSe.exports=function(e,t){for(var r=e._fullData.length,n,i=0;i<r;i++){var a=e._fullData[i];if(a.index!==t.index&&a.type==="carpet"&&(n||(n=a),a.carpet===t.carpet))return a}return n}});var GSe=J((ZHt,YSe)=>{"use strict";var VSe=dn(),OAt=Ag(),BAt=nd(),UAt=oh(),HAt=Mg().calcMarkerSize,jAt=j4();YSe.exports=function(t,r){var n=r._carpetTrace=jAt(t,r);if(!(!n||!n.visible||n.visible==="legendonly")){var i;r.xaxis=n.xaxis,r.yaxis=n.yaxis;var a=r._length,o=new Array(a),s,l,u=!1;for(i=0;i<a;i++)if(s=r.a[i],l=r.b[i],VSe(s)&&VSe(l)){var f=n.ab2xy(+s,+l,!0),c=n.isVisible(+s,+l);c||(u=!0),o[i]={x:f[0],y:f[1],a:s,b:l,vis:c}}else o[i]={x:!1,y:!1};return r._needsCull=u,o[0].carpet=n,o[0].trace=r,HAt(r,a),OAt(t,r),BAt(o,r),UAt(o,r),o}}});var ZSe=J((JHt,XSe)=>{"use strict";var VAt=lw(),WSe=nn(),YAt=ln();XSe.exports=function(t,r,n,i){var a,o,s,l=n[0][0].carpet,u=WSe.getFromId(t,l.xaxis||"x"),f=WSe.getFromId(t,l.yaxis||"y"),c={xaxis:u,yaxis:f,plot:r.plot};for(a=0;a<n.length;a++)o=n[a][0].trace,o._xA=u,o._yA=f;for(VAt(t,c,n,i),a=0;a<n.length;a++)o=n[a][0].trace,s=i.selectAll("g.trace"+o.uid+" .js-line"),YAt.setClipUrl(s,n[a][0].carpet._clipPathId,t)}});var $Se=J(($Ht,JSe)=>{"use strict";var GAt=uw(),WAt=gt().fillText;JSe.exports=function(t,r,n,i){var a=GAt(t,r,n,i);if(!a||a[0].index===!1)return;var o=a[0];if(o.index===void 0){var s=1-o.y0/t.ya._length,l=t.xa._length,u=l*s/2,f=l-u;return o.x0=Math.max(Math.min(o.x0,f),u),o.x1=Math.max(Math.min(o.x1,f),u),a}var c=o.cd[o.index];o.a=c.a,o.b=c.b,o.xLabelVal=void 0,o.yLabelVal=void 0;var h=o.trace,d=h._carpet,v=h._module.formatLabels(c,h);o.yLabel=v.yLabel,delete o.text;var m=[];function b(T,w){var k;T.labelprefix&&T.labelprefix.length>0?k=T.labelprefix.replace(/ = $/,""):k=T._hovertitle,m.push(k+": "+w.toFixed(3)+T.labelsuffix)}if(!h.hovertemplate){var g=c.hi||h.hoverinfo,_=g.split("+");_.indexOf("all")!==-1&&(_=["a","b","text"]),_.indexOf("a")!==-1&&b(d.aaxis,c.a),_.indexOf("b")!==-1&&b(d.baxis,c.b),m.push("y: "+o.yLabel),_.indexOf("text")!==-1&&WAt(c,h,m),o.extraText=m.join("<br>")}return a}});var QSe=J((KHt,KSe)=>{"use strict";KSe.exports=function(t,r,n,i,a){var o=i[a];return t.a=o.a,t.b=o.b,t.y=o.y,t}});var t5e=J((QHt,e5e)=>{"use strict";e5e.exports={attributes:$F(),supplyDefaults:BSe(),colorbar:pc(),formatLabels:HSe(),calc:GSe(),plot:ZSe(),style:Ef().style,styleOnSelect:Ef().styleOnSelect,hoverPoints:$Se(),selectPoints:fw(),eventData:QSe(),moduleType:"trace",name:"scattercarpet",basePlotModule:gs(),categories:["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],meta:{hrName:"scatter_carpet",description:["Plots a scatter trace on either the first carpet axis or the","carpet axis with a matching `carpet` attribute."].join(" ")}}});var n5e=J((ejt,r5e)=>{"use strict";r5e.exports=t5e()});var KF=J((tjt,i5e)=>{"use strict";var Cc=Ug(),Md=Vw(),XAt=Da(),ZAt=cn().extendFlat,yv=Md.contours;i5e.exports=ZAt({carpet:{valType:"string",editType:"calc",description:["The `carpet` of the carpet axes on which this contour trace lies"].join(" ")},z:Cc.z,a:Cc.x,a0:Cc.x0,da:Cc.dx,b:Cc.y,b0:Cc.y0,db:Cc.dy,text:Cc.text,hovertext:Cc.hovertext,transpose:Cc.transpose,atype:Cc.xtype,btype:Cc.ytype,fillcolor:Md.fillcolor,autocontour:Md.autocontour,ncontours:Md.ncontours,contours:{type:yv.type,start:yv.start,end:yv.end,size:yv.size,coloring:{valType:"enumerated",values:["fill","lines","none"],dflt:"fill",editType:"calc",description:["Determines the coloring method showing the contour values.","If *fill*, coloring is done evenly between each contour level","If *lines*, coloring is done on the contour lines.","If *none*, no coloring is applied on this trace."].join(" ")},showlines:yv.showlines,showlabels:yv.showlabels,labelfont:yv.labelfont,labelformat:yv.labelformat,operation:yv.operation,value:yv.value,editType:"calc",impliedEdits:{autocontour:!1}},line:{color:Md.line.color,width:Md.line.width,dash:Md.line.dash,smoothing:Md.line.smoothing,editType:"plot"},zorder:Md.zorder,transforms:void 0},XAt("",{cLetter:"z",autoColorDflt:!1}))});var QF=J((rjt,s5e)=>{"use strict";var a5e=gt(),JAt=qw(),o5e=KF(),$At=bI(),KAt=yS(),QAt=xS();s5e.exports=function(t,r,n,i){function a(u,f){return a5e.coerce(t,r,o5e,u,f)}function o(u){return a5e.coerce2(t,r,o5e,u)}if(a("carpet"),t.a&&t.b){var s=JAt(t,r,a,i,"a","b");if(!s){r.visible=!1;return}a("text");var l=a("contours.type")==="constraint";l?$At(t,r,a,i,n,{hasHover:!1}):(KAt(t,r,a,o),QAt(t,r,a,i,{hasHover:!1}))}else r._defaultColor=n,r._length=null;a("zorder")}});var c5e=J((njt,f5e)=>{"use strict";var eMt=Uu(),l5e=gt(),tMt=eS(),rMt=rS(),nMt=nS(),iMt=iS(),u5e=HP(),aMt=QF(),oMt=j4(),sMt=lI();f5e.exports=function(t,r){var n=r._carpetTrace=oMt(t,r);if(!(!n||!n.visible||n.visible==="legendonly")){if(!r.a||!r.b){var i=t.data[n.index],a=t.data[r.index];a.a||(a.a=i.a),a.b||(a.b=i.b),aMt(a,r,r._defaultColor,t._fullLayout)}var o=lMt(t,r);return sMt(r,r._z),o}};function lMt(e,t){var r=t._carpetTrace,n=r.aaxis,i=r.baxis,a,o,s,l,u,f,c;n._minDtick=0,i._minDtick=0,l5e.isArray1D(t.z)&&tMt(t,n,i,"a","b",["z"]),a=t._a=t._a||t.a,l=t._b=t._b||t.b,a=a?n.makeCalcdata(t,"_a"):[],l=l?i.makeCalcdata(t,"_b"):[],o=t.a0||0,s=t.da||1,u=t.b0||0,f=t.db||1,c=t._z=rMt(t._z||t.z,t.transpose),t._emptypoints=iMt(c),nMt(c,t._emptypoints);var h=l5e.maxRowLength(c),d=t.xtype==="scaled"?"":a,v=u5e(t,d,o,s,h,n),m=t.ytype==="scaled"?"":l,b=u5e(t,m,u,f,c.length,i),g={a:v,b,z:c};return t.contours.type==="levels"&&t.contours.coloring!=="none"&&eMt(e,t,{vals:c,containerStr:"",cLetter:"z"}),[g]}});var v5e=J((ijt,h5e)=>{"use strict";var uMt=gt().isArrayOrTypedArray;h5e.exports=function(e,t,r,n){var i,a,o,s,l,u,f,c,h,d,v,m,b,g=uMt(r)?"a":"b",_=g==="a"?e.aaxis:e.baxis,T=_.smoothing,w=g==="a"?e.a2i:e.b2j,k=g==="a"?r:n,x=g==="a"?n:r,M=g==="a"?t.a.length:t.b.length,A=g==="a"?t.b.length:t.a.length,p=Math.floor(g==="a"?e.b2j(x):e.a2i(x)),S=g==="a"?function(G){return e.evalxy([],G,p)}:function(G){return e.evalxy([],p,G)};T&&(o=Math.max(0,Math.min(A-2,p)),s=p-o,a=g==="a"?function(G,ee){return e.dxydi([],G,o,ee,s)}:function(G,ee){return e.dxydj([],o,G,s,ee)});var y=w(k[0]),E=w(k[1]),C=y<E?1:-1,L=(E-y)*1e-8,R=C>0?Math.floor:Math.ceil,I=C>0?Math.ceil:Math.floor,P=C>0?Math.min:Math.max,D=C>0?Math.max:Math.min,q=R(y+L),N=I(E-L);f=S(y);var U=[[f]];for(i=q;i*C<N*C;i+=C)l=[],v=D(y,i),m=P(E,i+C),b=m-v,u=Math.max(0,Math.min(M-2,Math.floor(.5*(v+m)))),c=S(m),T&&(h=a(u,v-u),d=a(u,m-u),l.push([f[0]+h[0]/3*b,f[1]+h[1]/3*b]),l.push([c[0]-d[0]/3*b,c[1]-d[1]/3*b])),l.push(c),U.push(l),f=c;return U}});var b5e=J((ajt,x5e)=>{"use strict";var Y4=Nr(),G4=WF(),y5e=XF(),i3=ln(),kd=gt(),fMt=fI(),cMt=cI(),wm=_S(),V4=Gw(),hMt=pI(),vMt=dI(),dMt=gI(),pMt=j4(),d5e=v5e();x5e.exports=function(t,r,n,i){var a=r.xaxis,o=r.yaxis;kd.makeTraceGroups(i,n,"contour").each(function(s){var l=Y4.select(this),u=s[0],f=u.trace,c=f._carpetTrace=pMt(t,f),h=t.calcdata[c.index][0];if(!c.visible||c.visible==="legendonly")return;var d=u.a,v=u.b,m=f.contours,b=vMt(m,r,u),g=m.type==="constraint",_=m._operation,T=g?_==="="?"lines":"fill":m.coloring;function w(R){var I=c.ab2xy(R[0],R[1],!0);return[a.c2p(I[0]),o.c2p(I[1])]}var k=[[d[0],v[v.length-1]],[d[d.length-1],v[v.length-1]],[d[d.length-1],v[0]],[d[0],v[0]]];fMt(b);var x=(d[d.length-1]-d[0])*1e-8,M=(v[v.length-1]-v[0])*1e-8;cMt(b,x,M);var A=b;m.type==="constraint"&&(A=hMt(b,_)),gMt(b,w);var p,S,y,E,C=[];for(E=h.clipsegments.length-1;E>=0;E--)p=h.clipsegments[E],S=G4([],p.x,a.c2p),y=G4([],p.y,o.c2p),S.reverse(),y.reverse(),C.push(y5e(S,y,p.bicubic));var L="M"+C.join("L")+"Z";xMt(l,h.clipsegments,a,o,g,T),bMt(f,l,a,o,A,k,w,c,h,T,L),mMt(l,b,t,u,m,r,c),i3.setClipUrl(l,c._clipPathId,t)})};function gMt(e,t){var r,n,i,a,o,s,l,u,f;for(r=0;r<e.length;r++){for(a=e[r],o=a.pedgepaths=[],s=a.ppaths=[],n=0;n<a.edgepaths.length;n++){for(f=a.edgepaths[n],l=[],i=0;i<f.length;i++)l[i]=t(f[i]);o.push(l)}for(n=0;n<a.paths.length;n++){for(f=a.paths[n],u=[],i=0;i<f.length;i++)u[i]=t(f[i]);s.push(u)}}}function mMt(e,t,r,n,i,a,o){var s=r._context.staticPlot,l=kd.ensureSingle(e,"g","contourlines"),u=i.showlines!==!1,f=i.showlabels,c=u&&f,h=wm.createLines(l,u||f,t,s),d=wm.createLineClip(l,c,r,n.trace.uid),v=e.selectAll("g.contourlabels").data(f?[0]:[]);if(v.exit().remove(),v.enter().append("g").classed("contourlabels",!0),f){var m=a.xaxis,b=a.yaxis,g=m._length,_=b._length,T=[[[0,0],[g,0],[g,_],[0,_]]],w=[];kd.clearLocationCache();var k=wm.labelFormatter(r,n),x=i3.tester.append("text").attr("data-notex",1).call(i3.font,i.labelfont),M={left:0,right:g,center:g/2,top:0,bottom:_,middle:_/2},A=Math.sqrt(g*g+_*_),p=V4.LABELDISTANCE*A/Math.max(1,t.length/V4.LABELINCREASE);h.each(function(S){var y=wm.calcTextOpts(S.level,k,x,r);Y4.select(this).selectAll("path").each(function(E){var C=this,L=kd.getVisibleSegment(C,M,y.height/2);if(L&&(yMt(C,E,S,L,o,y.height),!(L.len<(y.width+y.height)*V4.LABELMIN)))for(var R=Math.min(Math.ceil(L.len/p),V4.LABELMAX),I=0;I<R;I++){var P=wm.findBestTextLocation(C,L,y,w,M);if(!P)break;wm.addLabelData(P,y,w,T)}})}),x.remove(),wm.drawLabels(v,w,r,d,c?T:null)}f&&!u&&h.remove()}function yMt(e,t,r,n,i,a){for(var o,s=0;s<r.pedgepaths.length;s++)t===r.pedgepaths[s]&&(o=r.edgepaths[s]);if(!o)return;var l=i.a[0],u=i.a[i.a.length-1],f=i.b[0],c=i.b[i.b.length-1];function h(g,_){var T=0,w,k=.1;return(Math.abs(g[0]-l)<k||Math.abs(g[0]-u)<k)&&(w=g5e(i.dxydb_rough(g[0],g[1],k)),T=Math.max(T,a*m5e(_,w)/2)),(Math.abs(g[1]-f)<k||Math.abs(g[1]-c)<k)&&(w=g5e(i.dxyda_rough(g[0],g[1],k)),T=Math.max(T,a*m5e(_,w)/2)),T}var d=p5e(e,0,1),v=p5e(e,n.total,n.total-1),m=h(o[0],d),b=n.total-h(o[o.length-1],v);n.min<m&&(n.min=m),n.max>b&&(n.max=b),n.len=n.max-n.min}function p5e(e,t,r){var n=e.getPointAtLength(t),i=e.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function g5e(e){var t=Math.sqrt(e[0]*e[0]+e[1]*e[1]);return[e[0]/t,e[1]/t]}function m5e(e,t){var r=Math.abs(e[0]*t[0]+e[1]*t[1]),n=Math.sqrt(1-r*r);return n/r}function xMt(e,t,r,n,i,a){var o,s,l,u,f=kd.ensureSingle(e,"g","contourbg"),c=f.selectAll("path").data(a==="fill"&&!i?[0]:[]);c.enter().append("path"),c.exit().remove();var h=[];for(u=0;u<t.length;u++)o=t[u],s=G4([],o.x,r.c2p),l=G4([],o.y,n.c2p),h.push(y5e(s,l,o.bicubic));c.attr("d","M"+h.join("L")+"Z").style("stroke","none")}function bMt(e,t,r,n,i,a,o,s,l,u,f){var c=u==="fill";c&&dMt(i,e.contours);var h=kd.ensureSingle(t,"g","contourfill"),d=h.selectAll("path").data(c?i:[]);d.enter().append("path"),d.exit().remove(),d.each(function(v){var m=(v.prefixBoundary?f:"")+wMt(e,v,a,o,s,l,r,n);m?Y4.select(this).attr("d",m).style("stroke","none"):Y4.select(this).remove()})}function wMt(e,t,r,n,i,a,o,s){var l,u="",f=t.edgepaths.map(function(y,E){return E}),c=!0,h,d,v,m,b,g,_=Math.abs(r[0][0]-r[2][0])*1e-4,T=Math.abs(r[0][1]-r[2][1])*1e-4;function w(y){return Math.abs(y[1]-r[0][1])<T}function k(y){return Math.abs(y[1]-r[2][1])<T}function x(y){return Math.abs(y[0]-r[0][0])<_}function M(y){return Math.abs(y[0]-r[2][0])<_}function A(y,E){var C,L,R,I,P="";for(w(y)&&!M(y)||k(y)&&!x(y)?(I=i.aaxis,R=d5e(i,a,[y[0],E[0]],.5*(y[1]+E[1]))):(I=i.baxis,R=d5e(i,a,.5*(y[0]+E[0]),[y[1],E[1]])),C=1;C<R.length;C++)for(P+=I.smoothing?"C":"L",L=0;L<R[C].length;L++){var D=R[C][L];P+=[o.c2p(D[0]),s.c2p(D[1])]+" "}return P}for(l=0,h=null;f.length;){var p=t.edgepaths[l][0];for(h&&(u+=A(h,p)),g=i3.smoothopen(t.edgepaths[l].map(n),t.smoothing),u+=c?g:g.replace(/^M/,"L"),f.splice(f.indexOf(l),1),h=t.edgepaths[l][t.edgepaths[l].length-1],m=-1,v=0;v<4;v++){if(!h){kd.log("Missing end?",l,t);break}for(w(h)&&!M(h)?d=r[1]:x(h)?d=r[0]:k(h)?d=r[3]:M(h)&&(d=r[2]),b=0;b<t.edgepaths.length;b++){var S=t.edgepaths[b][0];Math.abs(h[0]-d[0])<_?Math.abs(h[0]-S[0])<_&&(S[1]-h[1])*(d[1]-S[1])>=0&&(d=S,m=b):Math.abs(h[1]-d[1])<T?Math.abs(h[1]-S[1])<T&&(S[0]-h[0])*(d[0]-S[0])>=0&&(d=S,m=b):kd.log("endpt to newendpt is not vert. or horz.",h,d,S)}if(m>=0)break;u+=A(h,d),h=d}if(m===t.edgepaths.length){kd.log("unclosed perimeter path");break}l=m,c=f.indexOf(l)===-1,c&&(l=f[0],u+=A(h,d)+"Z",h=null)}for(l=0;l<t.paths.length;l++)u+=i3.smoothclosed(t.paths[l].map(n),t.smoothing);return u}});var _5e=J((ojt,w5e)=>{"use strict";w5e.exports={attributes:KF(),supplyDefaults:QF(),colorbar:MS(),calc:c5e(),plot:b5e(),style:AS(),moduleType:"trace",name:"contourcarpet",basePlotModule:gs(),categories:["cartesian","svg","carpet","contour","symbols","showLegend","hasLines","carpetDependent","noHover","noSortingByValue"],meta:{hrName:"contour_carpet",description:["Plots contours on either the first carpet axis or the","carpet axis with a matching `carpet` attribute. Data `z`","is interpreted as matching that of the corresponding carpet","axis."].join(" ")}}});var A5e=J((sjt,T5e)=>{"use strict";T5e.exports=_5e()});var Z4=J((ljt,C5e)=>{"use strict";var W4=gt().extendFlat,a3=ds(),M5e=Ga().axisHoverFormat,ez=Ss().dash,_Mt=b1(),S5e=Jy(),TMt=S5e.INCREASING.COLOR,AMt=S5e.DECREASING.COLOR,X4=a3.line;function k5e(e){return{line:{color:W4({},X4.color,{dflt:e}),width:X4.width,dash:ez,editType:"style"},editType:"style"}}C5e.exports={xperiod:a3.xperiod,xperiod0:a3.xperiod0,xperiodalignment:a3.xperiodalignment,xhoverformat:M5e("x"),yhoverformat:M5e("y"),x:{valType:"data_array",editType:"calc+clearAxisTypes",description:["Sets the x coordinates.","If absent, linear coordinate will be generated."].join(" ")},open:{valType:"data_array",editType:"calc",description:"Sets the open values."},high:{valType:"data_array",editType:"calc",description:"Sets the high values."},low:{valType:"data_array",editType:"calc",description:"Sets the low values."},close:{valType:"data_array",editType:"calc",description:"Sets the close values."},line:{width:W4({},X4.width,{description:[X4.width,"Note that this style setting can also be set per","direction via `increasing.line.width` and","`decreasing.line.width`."].join(" ")}),dash:W4({},ez,{description:[ez.description,"Note that this style setting can also be set per","direction via `increasing.line.dash` and","`decreasing.line.dash`."].join(" ")}),editType:"style"},increasing:k5e(TMt),decreasing:k5e(AMt),text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc",description:["Sets hover text elements associated with each sample point.","If a single string, the same string appears over","all the data points.","If an array of string, the items are mapped in order to","this trace's sample points."].join(" ")},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc",description:"Same as `text`."},tickwidth:{valType:"number",min:0,max:.5,dflt:.3,editType:"calc",description:["Sets the width of the open/close tick marks","relative to the *x* minimal interval."].join(" ")},hoverlabel:W4({},_Mt.hoverlabel,{split:{valType:"boolean",dflt:!1,editType:"style",description:["Show hover information (open, close, high, low) in","separate labels."].join(" ")}}),zorder:a3.zorder}});var tz=J((ujt,E5e)=>{"use strict";var MMt=zr(),kMt=gt();E5e.exports=function(t,r,n,i){var a=n("x"),o=n("open"),s=n("high"),l=n("low"),u=n("close");n("hoverlabel.split");var f=MMt.getComponentMethod("calendars","handleTraceDefaults");if(f(t,r,["x"],i),!!(o&&s&&l&&u)){var c=Math.min(o.length,s.length,l.length,u.length);return a&&(c=Math.min(c,kMt.minRowLength(a))),r._length=c,c}}});var R5e=J((fjt,D5e)=>{"use strict";var SMt=gt(),CMt=tz(),EMt=nv(),LMt=Z4();D5e.exports=function(t,r,n,i){function a(s,l){return SMt.coerce(t,r,LMt,s,l)}var o=CMt(t,r,a,i);if(!o){r.visible=!1;return}EMt(t,r,i,a,{x:!0}),a("xhoverformat"),a("yhoverformat"),a("line.width"),a("line.dash"),L5e(t,r,a,"increasing"),L5e(t,r,a,"decreasing"),a("text"),a("hovertext"),a("tickwidth"),i._requestRangeslider[r.xaxis]=!0,a("zorder")};function L5e(e,t,r,n){r(n+".line.color"),r(n+".line.width",t.line.width),r(n+".line.dash",t.line.dash)}});var rz=J((cjt,I5e)=>{"use strict";var Gx=gt(),J4=Gx._,$4=nn(),DMt=iv(),o3=oi().BADNUM;function RMt(e,t){var r=$4.getFromId(e,t.xaxis),n=$4.getFromId(e,t.yaxis),i=IMt(e,r,t),a=t._minDiff;t._minDiff=null;var o=t._origX;t._origX=null;var s=t._xcalc;t._xcalc=null;var l=P5e(e,t,o,s,n,PMt);return t._extremes[r._id]=$4.findExtremes(r,s,{vpad:a/2}),l.length?(Gx.extendFlat(l[0].t,{wHover:a/2,tickLen:i}),l):[{t:{empty:!0}}]}function PMt(e,t,r,n){return{o:e,h:t,l:r,c:n}}function P5e(e,t,r,n,i,a){for(var o=i.makeCalcdata(t,"open"),s=i.makeCalcdata(t,"high"),l=i.makeCalcdata(t,"low"),u=i.makeCalcdata(t,"close"),f=Gx.isArrayOrTypedArray(t.text),c=Gx.isArrayOrTypedArray(t.hovertext),h=!0,d=null,v=!!t.xperiodalignment,m=[],b=0;b<n.length;b++){var g=n[b],_=o[b],T=s[b],w=l[b],k=u[b];if(g!==o3&&_!==o3&&T!==o3&&w!==o3&&k!==o3){k===_?d!==null&&k!==d&&(h=k>d):h=k>_,d=k;var x=a(_,T,w,k);x.pos=g,x.yc=(_+k)/2,x.i=b,x.dir=h?"increasing":"decreasing",x.x=x.pos,x.y=[w,T],v&&(x.orig_p=r[b]),f&&(x.tx=t.text[b]),c&&(x.htx=t.hovertext[b]),m.push(x)}else m.push({pos:g,empty:!0})}return t._extremes[i._id]=$4.findExtremes(i,Gx.concat(l,s),{padded:!0}),m.length&&(m[0].t={labels:{open:J4(e,"open:")+" ",high:J4(e,"high:")+" ",low:J4(e,"low:")+" ",close:J4(e,"close:")+" "}}),m}function IMt(e,t,r){var n=r._minDiff;if(!n){var i=e._fullData,a=[];n=1/0;var o;for(o=0;o<i.length;o++){var s=i[o];if(s.type==="ohlc"&&s.visible===!0&&s.xaxis===t._id){a.push(s);var l=t.makeCalcdata(s,"x");s._origX=l;var u=DMt(r,t,"x",l).vals;s._xcalc=u;var f=Gx.distinctVals(u).minDiff;f&&isFinite(f)&&(n=Math.min(n,f))}}for(n===1/0&&(n=1),o=0;o<a.length;o++)a[o]._minDiff=n}return n*r.tickwidth}I5e.exports={calc:RMt,calcCommon:P5e}});var z5e=J((hjt,F5e)=>{"use strict";var qMt=Nr(),q5e=gt();F5e.exports=function(t,r,n,i){var a=r.yaxis,o=r.xaxis,s=!!o.rangebreaks;q5e.makeTraceGroups(i,n,"trace ohlc").each(function(l){var u=qMt.select(this),f=l[0],c=f.t,h=f.trace;if(h.visible!==!0||c.empty){u.remove();return}var d=c.tickLen,v=u.selectAll("path").data(q5e.identity);v.enter().append("path"),v.exit().remove(),v.attr("d",function(m){if(m.empty)return"M0,0Z";var b=o.c2p(m.pos-d,!0),g=o.c2p(m.pos+d,!0),_=s?(b+g)/2:o.c2p(m.pos,!0),T=a.c2p(m.o,!0),w=a.c2p(m.h,!0),k=a.c2p(m.l,!0),x=a.c2p(m.c,!0);return"M"+b+","+T+"H"+_+"M"+_+","+w+"V"+k+"M"+g+","+x+"H"+_})})}});var O5e=J((vjt,N5e)=>{"use strict";var nz=Nr(),FMt=ln(),zMt=qr();N5e.exports=function(t,r,n){var i=n||nz.select(t).selectAll("g.ohlclayer").selectAll("g.trace");i.style("opacity",function(a){return a[0].trace.opacity}),i.each(function(a){var o=a[0].trace;nz.select(this).selectAll("path").each(function(s){if(!s.empty){var l=o[s.dir].line;nz.select(this).style("fill","none").call(zMt.stroke,l.color).call(FMt.dashLine,l.dash,l.width).style("opacity",o.selectedpoints&&!s.selected?.3:1)}})})}});var az=J((djt,V5e)=>{"use strict";var iz=nn(),NMt=gt(),K4=go(),OMt=qr(),BMt=gt().fillText,B5e=Jy(),UMt={increasing:B5e.INCREASING.SYMBOL,decreasing:B5e.DECREASING.SYMBOL};function HMt(e,t,r,n){var i=e.cd,a=i[0].trace;return a.hoverlabel.split?H5e(e,t,r,n):j5e(e,t,r,n)}function U5e(e,t,r,n){var i=e.cd,a=e.xa,o=i[0].trace,s=i[0].t,l=o.type,u=l==="ohlc"?"l":"min",f=l==="ohlc"?"h":"max",c,h,d=s.bPos||0,v=function(S){return S.pos+d-t},m=s.bdPos||s.tickLen,b=s.wHover,g=Math.min(1,m/Math.abs(a.r2c(a.range[1])-a.r2c(a.range[0])));c=e.maxHoverDistance-g,h=e.maxSpikeDistance-g;function _(S){var y=v(S);return K4.inbox(y-b,y+b,c)}function T(S){var y=S[u],E=S[f];return y===E||K4.inbox(y-r,E-r,c)}function w(S){return(_(S)+T(S))/2}var k=K4.getDistanceFunction(n,_,T,w);if(K4.getClosest(i,k,e),e.index===!1)return null;var x=i[e.index];if(x.empty)return null;var M=x.dir,A=o[M],p=A.line.color;return OMt.opacity(p)&&A.line.width?e.color=p:e.color=A.fillcolor,e.x0=a.c2p(x.pos+d-m,!0),e.x1=a.c2p(x.pos+d+m,!0),e.xLabelVal=x.orig_p!==void 0?x.orig_p:x.pos,e.spikeDistance=w(x)*h/c,e.xSpike=a.c2p(x.pos,!0),e}function H5e(e,t,r,n){var i=e.cd,a=e.ya,o=i[0].trace,s=i[0].t,l=[],u=U5e(e,t,r,n);if(!u)return[];var f=u.index,c=i[f],h=c.hi||o.hoverinfo,d=h.split("+"),v=h==="all",m=v||d.indexOf("y")!==-1;if(!m)return[];for(var b=["high","open","close","low"],g={},_=0;_<b.length;_++){var T=b[_],w=o[T][u.index],k=a.c2p(w,!0),x;w in g?(x=g[w],x.yLabel+="<br>"+s.labels[T]+iz.hoverLabelText(a,w,o.yhoverformat)):(x=NMt.extendFlat({},u),x.y0=x.y1=k,x.yLabelVal=w,x.yLabel=s.labels[T]+iz.hoverLabelText(a,w,o.yhoverformat),x.name="",l.push(x),g[w]=x)}return l}function j5e(e,t,r,n){var i=e.cd,a=e.ya,o=i[0].trace,s=i[0].t,l=U5e(e,t,r,n);if(!l)return[];var u=l.index,f=i[u],c=l.index=f.i,h=f.dir;function d(w){return s.labels[w]+iz.hoverLabelText(a,o[w][c],o.yhoverformat)}var v=f.hi||o.hoverinfo,m=v.split("+"),b=v==="all",g=b||m.indexOf("y")!==-1,_=b||m.indexOf("text")!==-1,T=g?[d("open"),d("high"),d("low"),d("close")+" "+UMt[h]]:[];return _&&BMt(f,o,T),l.extraText=T.join("<br>"),l.y0=l.y1=a.c2p(f.yc,!0),[l]}V5e.exports={hoverPoints:HMt,hoverSplit:H5e,hoverOnPoints:j5e}});var oz=J((pjt,Y5e)=>{"use strict";Y5e.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s,l=n[0].t.bPos||0;if(r===!1)for(s=0;s<n.length;s++)n[s].selected=0;else for(s=0;s<n.length;s++){var u=n[s];r.contains([i.c2p(u.pos+l),a.c2p(u.yc)],null,u.i,t)?(o.push({pointNumber:u.i,x:i.c2d(u.pos),y:a.c2d(u.yc)}),u.selected=1):u.selected=0}return o}});var W5e=J((gjt,G5e)=>{"use strict";G5e.exports={moduleType:"trace",name:"ohlc",basePlotModule:gs(),categories:["cartesian","svg","showLegend"],meta:{description:["The ohlc (short for Open-High-Low-Close) is a style of financial chart describing","open, high, low and close for a given `x` coordinate (most likely time).","The tip of the lines represent the `low` and `high` values and","the horizontal segments represent the `open` and `close` values.","Sample points where the close value is higher (lower) then the open","value are called increasing (decreasing).","By default, increasing items are drawn in green whereas","decreasing are drawn in red."].join(" ")},attributes:Z4(),supplyDefaults:R5e(),calc:rz().calc,plot:z5e(),style:O5e(),hoverPoints:az().hoverPoints,selectPoints:oz()}});var Z5e=J((mjt,X5e)=>{"use strict";X5e.exports=W5e()});var lz=J((yjt,K5e)=>{"use strict";var sz=gt().extendFlat,J5e=Ga().axisHoverFormat,Of=Z4(),_m=Dw();function $5e(e){return{line:{color:sz({},_m.line.color,{dflt:e}),width:_m.line.width,editType:"style"},fillcolor:_m.fillcolor,editType:"style"}}K5e.exports={xperiod:Of.xperiod,xperiod0:Of.xperiod0,xperiodalignment:Of.xperiodalignment,xhoverformat:J5e("x"),yhoverformat:J5e("y"),x:Of.x,open:Of.open,high:Of.high,low:Of.low,close:Of.close,line:{width:sz({},_m.line.width,{description:[_m.line.width.description,"Note that this style setting can also be set per","direction via `increasing.line.width` and","`decreasing.line.width`."].join(" ")}),editType:"style"},increasing:$5e(Of.increasing.line.color.dflt),decreasing:$5e(Of.decreasing.line.color.dflt),text:Of.text,hovertext:Of.hovertext,whiskerwidth:sz({},_m.whiskerwidth,{dflt:0}),hoverlabel:Of.hoverlabel,zorder:_m.zorder}});var t4e=J((xjt,e4e)=>{"use strict";var jMt=gt(),VMt=qr(),YMt=tz(),GMt=nv(),WMt=lz();e4e.exports=function(t,r,n,i){function a(s,l){return jMt.coerce(t,r,WMt,s,l)}var o=YMt(t,r,a,i);if(!o){r.visible=!1;return}GMt(t,r,i,a,{x:!0}),a("xhoverformat"),a("yhoverformat"),a("line.width"),Q5e(t,r,a,"increasing"),Q5e(t,r,a,"decreasing"),a("text"),a("hovertext"),a("whiskerwidth"),i._requestRangeslider[r.xaxis]=!0,a("zorder")};function Q5e(e,t,r,n){var i=r(n+".line.color");r(n+".line.width",t.line.width),r(n+".fillcolor",VMt.addOpacity(i,.5))}});var a4e=J((bjt,i4e)=>{"use strict";var r4e=gt(),n4e=nn(),XMt=iv(),ZMt=rz().calcCommon;i4e.exports=function(e,t){var r=e._fullLayout,n=n4e.getFromId(e,t.xaxis),i=n4e.getFromId(e,t.yaxis),a=n.makeCalcdata(t,"x"),o=XMt(t,n,"x",a).vals,s=ZMt(e,t,a,o,i,JMt);return s.length?(r4e.extendFlat(s[0].t,{num:r._numBoxes,dPos:r4e.distinctVals(o).minDiff/2,posLetter:"x",valLetter:"y"}),r._numBoxes++,s):[{t:{empty:!0}}]};function JMt(e,t,r,n){return{min:r,q1:Math.min(e,n),med:n,q3:Math.max(e,n),max:t}}});var s4e=J((wjt,o4e)=>{"use strict";o4e.exports={moduleType:"trace",name:"candlestick",basePlotModule:gs(),categories:["cartesian","svg","showLegend","candlestick","boxLayout"],meta:{description:["The candlestick is a style of financial chart describing","open, high, low and close for a given `x` coordinate (most likely time).","The boxes represent the spread between the `open` and `close` values and","the lines represent the spread between the `low` and `high` values","Sample points where the close value is higher (lower) then the open","value are called increasing (decreasing).","By default, increasing candles are drawn in green whereas","decreasing are drawn in red."].join(" ")},attributes:lz(),layoutAttributes:Rw(),supplyLayoutDefaults:Gk().supplyLayoutDefaults,crossTraceCalc:Xk().crossTraceCalc,supplyDefaults:t4e(),calc:a4e(),plot:Zk().plot,layerName:"boxlayer",style:Jk().style,hoverPoints:az().hoverPoints,selectPoints:oz()}});var u4e=J((_jt,l4e)=>{"use strict";l4e.exports=s4e()});var fz=J((Tjt,f4e)=>{"use strict";var eC=gt(),$Mt=Zv(),Q4=eC.deg2rad,uz=eC.rad2deg;f4e.exports=function(t,r,n){switch($Mt(t,n),t._id){case"x":case"radialaxis":KMt(t,r);break;case"angularaxis":tkt(t,r);break}};function KMt(e,t){var r=t._subplot;e.setGeometry=function(){var n=e._rl[0],i=e._rl[1],a=r.innerRadius,o=(r.radius-a)/(i-n),s=a/o,l=n>i?function(u){return u<=0}:function(u){return u>=0};e.c2g=function(u){var f=e.c2l(u)-n;return(l(f)?f:0)+s},e.g2c=function(u){return e.l2c(u+n-s)},e.g2p=function(u){return u*o},e.c2p=function(u){return e.g2p(e.c2g(u))}}}function QMt(e,t){return t==="degrees"?Q4(e):e}function ekt(e,t){return t==="degrees"?uz(e):e}function tkt(e,t){var r=e.type;if(r==="linear"){var n=e.d2c,i=e.c2d;e.d2c=function(a,o){return QMt(n(a),o)},e.c2d=function(a,o){return i(ekt(a,o))}}e.makeCalcdata=function(a,o){var s=a[o],l=a._length,u,f,c=function(b){return e.d2c(b,a.thetaunit)};if(s)for(u=new Array(l),f=0;f<l;f++)u[f]=c(s[f]);else{var h=o+"0",d="d"+o,v=h in a?c(a[h]):0,m=a[d]?c(a[d]):(e.period||2*Math.PI)/l;for(u=new Array(l),f=0;f<l;f++)u[f]=v+f*m}return u},e.setGeometry=function(){var a=t.sector,o=a.map(Q4),s={clockwise:-1,counterclockwise:1}[e.direction],l=Q4(e.rotation),u=function(g){return s*g+l},f=function(g){return(g-l)/s},c,h,d,v;switch(r){case"linear":h=c=eC.identity,v=Q4,d=uz,e.range=eC.isFullCircle(o)?[a[0],a[0]+360]:o.map(f).map(uz);break;case"category":var m=e._categories.length,b=e.period?Math.max(e.period,m):m;b===0&&(b=1),h=v=function(g){return g*2*Math.PI/b},c=d=function(g){return g*b/Math.PI/2},e.range=[0,b];break}e.c2g=function(g){return u(h(g))},e.g2c=function(g){return c(f(g))},e.t2g=function(g){return u(v(g))},e.g2t=function(g){return d(f(g))}}}});var tC=J((Ajt,c4e)=>{"use strict";c4e.exports={attr:"subplot",name:"polar",axisNames:["angularaxis","radialaxis"],axisName2dataArray:{angularaxis:"theta",radialaxis:"r"},layerNames:["draglayer","plotbg","backplot","angular-grid","radial-grid","frontplot","angular-line","radial-line","angular-axis","radial-axis"],radialDragBoxSize:50,angularDragBoxSize:30,cornerLen:25,cornerHalfWidth:2,MINDRAG:8,MINZOOM:20,OFFEDGE:20}});var nC=J((Mjt,g4e)=>{"use strict";var Tm=gt(),h4e=R2().tester,cz=Tm.findIndexOfMin,d4e=Tm.isAngleInsideSector,rkt=Tm.angleDelta,v4e=Tm.angleDist;function nkt(e,t,r,n,i){if(!d4e(t,n))return!1;var a,o;r[0]<r[1]?(a=r[0],o=r[1]):(a=r[1],o=r[0]);var s=h4e(Wx(a,n[0],n[1],i)),l=h4e(Wx(o,n[0],n[1],i)),u=[e*Math.cos(t),e*Math.sin(t)];return l.contains(u)&&!s.contains(u)}function p4e(e,t,r,n){var i,a,o=n[0],s=n[1],l=rC(Math.sin(t)-Math.sin(e)),u=rC(Math.cos(t)-Math.cos(e)),f=Math.tan(r),c=rC(1/f),h=l/u,d=s-h*o;return c?l&&u?(i=d/(f-h),a=f*i):u?(i=s*c,a=s):(i=o,a=o*f):l&&u?(i=0,a=d):u?(i=0,a=s):i=a=NaN,[i,a]}function ikt(e,t,r,n){var i=-t*r,a=t*t+1,o=2*(t*i-r),s=i*i+r*r-e*e,l=Math.sqrt(o*o-4*a*s),u=(-o+l)/(2*a),f=(-o-l)/(2*a);return[[u,t*u+i+n],[f,t*f+i+n]]}function akt(e,t){var r=t.length,n=new Array(r+1),i;for(i=0;i<r;i++){var a=t[i];n[i]=[e*Math.cos(a),e*Math.sin(a)]}return n[i]=n[0].slice(),n}function okt(e,t,r,n){var i=n.length,a=[],o,s;function l(g){return[e*Math.cos(g),e*Math.sin(g)]}function u(g,_,T){return p4e(g,_,T,l(g))}function f(g){return Tm.mod(g,i)}function c(g){return d4e(g,[t,r])}var h=cz(n,function(g){return c(g)?v4e(g,t):1/0}),d=u(n[h],n[f(h-1)],t);for(a.push(d),o=h,s=0;s<i;o++,s++){var v=n[f(o)];if(!c(v))break;a.push(l(v))}var m=cz(n,function(g){return c(g)?v4e(g,r):1/0}),b=u(n[m],n[f(m+1)],r);return a.push(b),a.push([0,0]),a.push(a[0].slice()),a}function Wx(e,t,r,n){return Tm.isFullCircle([t,r])?akt(e,n):okt(e,t,r,n)}function skt(e,t,r,n){for(var i=1/0,a=1/0,o=Wx(e,t,r,n),s=0;s<o.length;s++){var l=o[s];i=Math.min(i,l[0]),a=Math.min(a,-l[1])}return[i,a]}function lkt(e,t){var r=function(a){var o=rkt(a,e);return o>0?o:1/0},n=cz(t,r),i=Tm.mod(n+1,t.length);return[t[n],t[i]]}function rC(e){return Math.abs(e)>1e-10?e:0}function hz(e,t,r){t=t||0,r=r||0;for(var n=e.length,i=new Array(n),a=0;a<n;a++){var o=e[a];i[a]=[t+o[0],r-o[1]]}return i}function ukt(e,t,r,n,i,a){var o=Wx(e,t,r,n);return"M"+hz(o,i,a).join("L")}function fkt(e,t,r,n,i,a,o){var s,l;e<t?(s=e,l=t):(s=t,l=e);var u=hz(Wx(s,r,n,i),a,o),f=hz(Wx(l,r,n,i),a,o);return"M"+f.reverse().join("L")+"M"+u.join("L")}g4e.exports={isPtInsidePolygon:nkt,findPolygonOffset:skt,findEnclosingVertexAngles:lkt,findIntersectionXY:p4e,findXYatLength:ikt,clampTiny:rC,pathPolygon:ukt,pathPolygonAnnulus:fkt}});var b4e=J((kjt,x4e)=>{"use strict";function m4e(e){return e<0?-1:e>0?1:0}function Xx(e){var t=e[0],r=e[1];if(!isFinite(t)||!isFinite(r))return[1,0];var n=(t+1)*(t+1)+r*r;return[(t*t+r*r-1)/n,2*r/n]}function Zx(e,t){var r=t[0],n=t[1];return[r*e.radius+e.cx,-n*e.radius+e.cy]}function y4e(e,t){return t*e.radius}function ckt(e,t,r,n){var i=Zx(e,Xx([r,t])),a=i[0],o=i[1],s=Zx(e,Xx([n,t])),l=s[0],u=s[1];if(t===0)return["M"+a+","+o,"L"+l+","+u].join(" ");var f=y4e(e,1/Math.abs(t));return["M"+a+","+o,"A"+f+","+f+" 0 0,"+(t<0?1:0)+" "+l+","+u].join(" ")}function hkt(e,t,r,n){var i=y4e(e,1/(t+1)),a=Zx(e,Xx([t,r])),o=a[0],s=a[1],l=Zx(e,Xx([t,n])),u=l[0],f=l[1];if(m4e(r)!==m4e(n)){var c=Zx(e,Xx([t,0])),h=c[0],d=c[1];return["M"+o+","+s,"A"+i+","+i+" 0 0,"+(0<r?0:1)+" "+h+","+d,"A"+i+","+i+" 0 0,"+(n<0?0:1)+u+","+f].join(" ")}return["M"+o+","+s,"A"+i+","+i+" 0 0,"+(n<r?0:1)+" "+u+","+f].join(" ")}x4e.exports={smith:Xx,reactanceArc:ckt,resistanceArc:hkt,smithTransform:Zx}});var L4e=J((Sjt,E4e)=>{"use strict";var Am=Nr(),vkt=ls(),km=zr(),va=gt(),xv=va.strRotate,xs=va.strTranslate,vz=qr(),s3=ln(),dkt=ea(),pu=nn(),pkt=Zv(),gkt=fz(),mkt=ec().doAutoRange,Sd=q8(),oC=iu(),w4e=go(),ykt=tg(),xkt=ml().prepSelect,bkt=ml().selectOnClick,dz=ml().clearOutline,_4e=th(),T4e=y2(),A4e=k2().redrawReglTraces,wkt=Vo().MID_SHIFT,lp=tC(),Cd=nC(),sC=b4e(),iC=sC.smith,_kt=sC.reactanceArc,Tkt=sC.resistanceArc,aC=sC.smithTransform,Akt=va._,M4e=va.mod,up=va.deg2rad,Mm=va.rad2deg;function k4e(e,t,r){this.isSmith=r||!1,this.id=t,this.gd=e,this._hasClipOnAxisFalse=null,this.vangles=null,this.radialAxisAngle=null,this.traceHash={},this.layers={},this.clipPaths={},this.clipIds={},this.viewInitial={};var n=e._fullLayout,i="clip"+n._uid+t;this.clipIds.forTraces=i+"-for-traces",this.clipPaths.forTraces=n._clips.append("clipPath").attr("id",this.clipIds.forTraces),this.clipPaths.forTraces.append("path"),this.framework=n["_"+(r?"smith":"polar")+"layer"].append("g").attr("class",t),this.getHole=function(a){return this.isSmith?0:a.hole},this.getSector=function(a){return this.isSmith?[0,360]:a.sector},this.getRadial=function(a){return this.isSmith?a.realaxis:a.radialaxis},this.getAngular=function(a){return this.isSmith?a.imaginaryaxis:a.angularaxis},r||(this.radialTickLayout=null,this.angularTickLayout=null)}var Rs=k4e.prototype;E4e.exports=function(t,r,n){return new k4e(t,r,n)};Rs.plot=function(e,t){for(var r=this,n=t[r.id],i=!1,a=0;a<e.length;a++){var o=e[a][0].trace;if(o.cliponaxis===!1){i=!0;break}}r._hasClipOnAxisFalse=i,r.updateLayers(t,n),r.updateLayout(t,n),dkt.generalUpdatePerTraceModule(r.gd,r,e,n),r.updateFx(t,n),r.isSmith&&(delete n.realaxis.range,delete n.imaginaryaxis.range)};Rs.updateLayers=function(e,t){var r=this,n=r.isSmith,i=r.layers,a=r.getRadial(t),o=r.getAngular(t),s=lp.layerNames,l=s.indexOf("frontplot"),u=s.slice(0,l),f=o.layer==="below traces",c=a.layer==="below traces";f&&u.push("angular-line"),c&&u.push("radial-line"),f&&u.push("angular-axis"),c&&u.push("radial-axis"),u.push("frontplot"),f||u.push("angular-line"),c||u.push("radial-line"),f||u.push("angular-axis"),c||u.push("radial-axis");var h=(n?"smith":"polar")+"sublayer",d=r.framework.selectAll("."+h).data(u,String);d.enter().append("g").attr("class",function(v){return h+" "+v}).each(function(v){var m=i[v]=Am.select(this);switch(v){case"frontplot":n||m.append("g").classed("barlayer",!0),m.append("g").classed("scatterlayer",!0);break;case"backplot":m.append("g").classed("maplayer",!0);break;case"plotbg":i.bg=m.append("path");break;case"radial-grid":m.style("fill","none");break;case"angular-grid":m.style("fill","none");break;case"radial-line":m.append("line").style("fill","none");break;case"angular-line":m.append("path").style("fill","none");break}}),d.order()};Rs.updateLayout=function(e,t){var r=this,n=r.layers,i=e._size,a=r.getRadial(t),o=r.getAngular(t),s=t.domain.x,l=t.domain.y;r.xOffset=i.l+i.w*s[0],r.yOffset=i.t+i.h*(1-l[1]);var u=r.xLength=i.w*(s[1]-s[0]),f=r.yLength=i.h*(l[1]-l[0]),c=r.getSector(t);r.sectorInRad=c.map(up);var h=r.sectorBBox=Mkt(c),d=h[2]-h[0],v=h[3]-h[1],m=f/u,b=Math.abs(v/d),g,_,T,w,k;m>b?(g=u,_=u*b,k=(f-_)/i.h/2,T=[s[0],s[1]],w=[l[0]+k,l[1]-k]):(g=f/b,_=f,k=(u-g)/i.w/2,T=[s[0]+k,s[1]-k],w=[l[0],l[1]]),r.xLength2=g,r.yLength2=_,r.xDomain2=T,r.yDomain2=w;var x=r.xOffset2=i.l+i.w*T[0],M=r.yOffset2=i.t+i.h*(1-w[1]),A=r.radius=g/d,p=r.innerRadius=r.getHole(t)*A,S=r.cx=x-A*h[0],y=r.cy=M+A*h[3],E=r.cxx=S-x,C=r.cyy=y-M,L=a.side,R;L==="counterclockwise"?(R=L,L="top"):L==="clockwise"&&(R=L,L="bottom"),r.radialAxis=r.mockAxis(e,t,a,{_id:"x",side:L,_trueSide:R,domain:[p/i.w,A/i.w]}),r.angularAxis=r.mockAxis(e,t,o,{side:"right",domain:[0,Math.PI],autorange:!1}),r.doAutoRange(e,t),r.updateAngularAxis(e,t),r.updateRadialAxis(e,t),r.updateRadialAxisTitle(e,t),r.xaxis=r.mockCartesianAxis(e,t,{_id:"x",domain:T}),r.yaxis=r.mockCartesianAxis(e,t,{_id:"y",domain:w});var I=r.pathSubplot();r.clipPaths.forTraces.select("path").attr("d",I).attr("transform",xs(E,C)),n.frontplot.attr("transform",xs(x,M)).call(s3.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.forTraces,r.gd),n.bg.attr("d",I).attr("transform",xs(S,y)).call(vz.fill,t.bgcolor)};Rs.mockAxis=function(e,t,r,n){var i=va.extendFlat({},r,n);return gkt(i,t,e),i};Rs.mockCartesianAxis=function(e,t,r){var n=this,i=n.isSmith,a=r._id,o=va.extendFlat({type:"linear"},r);pkt(o,e);var s={x:[0,2],y:[1,3]};return o.setRange=function(){var l=n.sectorBBox,u=s[a],f=n.radialAxis._rl,c=(f[1]-f[0])/(1-n.getHole(t));o.range=[l[u[0]]*c,l[u[1]]*c]},o.isPtWithinRange=a==="x"&&!i?function(l){return n.isPtInside(l)}:function(){return!0},o.setRange(),o.setScale(),o};Rs.doAutoRange=function(e,t){var r=this,n=r.gd,i=r.radialAxis,a=r.getRadial(t);mkt(n,i);var o=i.range;if(a.range=o.slice(),a._input.range=o.slice(),i._rl=[i.r2l(o[0],null,"gregorian"),i.r2l(o[1],null,"gregorian")],i.minallowed!==void 0){var s=i.r2l(i.minallowed);i._rl[0]>i._rl[1]?i._rl[1]=Math.max(i._rl[1],s):i._rl[0]=Math.max(i._rl[0],s)}if(i.maxallowed!==void 0){var l=i.r2l(i.maxallowed);i._rl[0]<i._rl[1]?i._rl[1]=Math.min(i._rl[1],l):i._rl[0]=Math.min(i._rl[0],l)}};Rs.updateRadialAxis=function(e,t){var r=this,n=r.gd,i=r.layers,a=r.radius,o=r.innerRadius,s=r.cx,l=r.cy,u=r.getRadial(t),f=M4e(r.getSector(t)[0],360),c=r.radialAxis,h=o<a,d=r.isSmith;d||(r.fillViewInitialKey("radialaxis.angle",u.angle),r.fillViewInitialKey("radialaxis.range",c.range.slice()),c.setGeometry()),c.tickangle==="auto"&&f>90&&f<=270&&(c.tickangle=180);var v=d?function(A){var p=aC(r,iC([A.x,0]));return xs(p[0]-s,p[1]-l)}:function(A){return xs(c.l2p(A.x)+o,0)},m=d?function(A){return Tkt(r,A.x,-1/0,1/0)}:function(A){return r.pathArc(c.r2p(A.x)+o)},b=S4e(u);if(r.radialTickLayout!==b&&(i["radial-axis"].selectAll(".xtick").remove(),r.radialTickLayout=b),h){c.setScale();var g=0,_=d?(c.tickvals||[]).filter(function(A){return A>=0}).map(function(A){return pu.tickText(c,A,!0,!1)}):pu.calcTicks(c),T=d?_:pu.clipEnds(c,_),w=pu.getTickSigns(c)[2];d&&((c.ticks==="top"&&c.side==="bottom"||c.ticks==="bottom"&&c.side==="top")&&(w=-w),c.ticks==="top"&&c.side==="top"&&(g=-c.ticklen),c.ticks==="bottom"&&c.side==="bottom"&&(g=c.ticklen)),pu.drawTicks(n,c,{vals:_,layer:i["radial-axis"],path:pu.makeTickPath(c,0,w),transFn:v,crisp:!1}),pu.drawGrid(n,c,{vals:T,layer:i["radial-grid"],path:m,transFn:va.noop,crisp:!1}),pu.drawLabels(n,c,{vals:_,layer:i["radial-axis"],transFn:v,labelFns:pu.makeLabelFns(c,g)})}var k=r.radialAxisAngle=r.vangles?Mm(C4e(up(u.angle),r.vangles)):u.angle,x=xs(s,l),M=x+xv(-k);l3(i["radial-axis"],h&&(u.showticklabels||u.ticks),{transform:M}),l3(i["radial-grid"],h&&u.showgrid,{transform:d?"":x}),l3(i["radial-line"].select("line"),h&&u.showline,{x1:d?-a:o,y1:0,x2:a,y2:0,transform:M}).attr("stroke-width",u.linewidth).call(vz.stroke,u.linecolor)};Rs.updateRadialAxisTitle=function(e,t,r){if(!this.isSmith){var n=this,i=n.gd,a=n.radius,o=n.cx,s=n.cy,l=n.getRadial(t),u=n.id+"title",f=0;if(l.title){var c=s3.bBox(n.layers["radial-axis"].node()).height,h=l.title.font.size,d=l.side;f=d==="top"?h:d==="counterclockwise"?-(c+h*.4):c+h*.8}var v=r!==void 0?r:n.radialAxisAngle,m=up(v),b=Math.cos(m),g=Math.sin(m),_=o+a/2*b+f*g,T=s-a/2*g+f*b;n.layers["radial-axis-title"]=ykt.draw(i,u,{propContainer:l,propName:n.id+".radialaxis.title",placeholder:Akt(i,"Click to enter radial axis title"),attributes:{x:_,y:T,"text-anchor":"middle"},transform:{rotate:-v}})}};Rs.updateAngularAxis=function(e,t){var r=this,n=r.gd,i=r.layers,a=r.radius,o=r.innerRadius,s=r.cx,l=r.cy,u=r.getAngular(t),f=r.angularAxis,c=r.isSmith;c||(r.fillViewInitialKey("angularaxis.rotation",u.rotation),f.setGeometry(),f.setScale());var h=c?function(p){var S=aC(r,iC([0,p.x]));return Math.atan2(S[0]-s,S[1]-l)-Math.PI/2}:function(p){return f.t2g(p.x)};f.type==="linear"&&f.thetaunit==="radians"&&(f.tick0=Mm(f.tick0),f.dtick=Mm(f.dtick));var d=function(p){return xs(s+a*Math.cos(p),l-a*Math.sin(p))},v=c?function(p){var S=aC(r,iC([0,p.x]));return xs(S[0],S[1])}:function(p){return d(h(p))},m=c?function(p){var S=aC(r,iC([0,p.x])),y=Math.atan2(S[0]-s,S[1]-l)-Math.PI/2;return xs(S[0],S[1])+xv(-Mm(y))}:function(p){var S=h(p);return d(S)+xv(-Mm(S))},b=c?function(p){return _kt(r,p.x,0,1/0)}:function(p){var S=h(p),y=Math.cos(S),E=Math.sin(S);return"M"+[s+o*y,l-o*E]+"L"+[s+a*y,l-a*E]},g=pu.makeLabelFns(f,0),_=g.labelStandoff,T={};T.xFn=function(p){var S=h(p);return Math.cos(S)*_},T.yFn=function(p){var S=h(p),y=Math.sin(S)>0?.2:1;return-Math.sin(S)*(_+p.fontSize*y)+Math.abs(Math.cos(S))*(p.fontSize*wkt)},T.anchorFn=function(p){var S=h(p),y=Math.cos(S);return Math.abs(y)<.1?"middle":y>0?"start":"end"},T.heightFn=function(p,S,y){var E=h(p);return-.5*(1+Math.sin(E))*y};var w=S4e(u);r.angularTickLayout!==w&&(i["angular-axis"].selectAll("."+f._id+"tick").remove(),r.angularTickLayout=w);var k=c?[1/0].concat(f.tickvals||[]).map(function(p){return pu.tickText(f,p,!0,!1)}):pu.calcTicks(f);c&&(k[0].text="\u221E",k[0].fontSize*=1.75);var x;if(t.gridshape==="linear"?(x=k.map(h),va.angleDelta(x[0],x[1])<0&&(x=x.slice().reverse())):x=null,r.vangles=x,f.type==="category"&&(k=k.filter(function(p){return va.isAngleInsideSector(h(p),r.sectorInRad)})),f.visible){var M=f.ticks==="inside"?-1:1,A=(f.linewidth||1)/2;pu.drawTicks(n,f,{vals:k,layer:i["angular-axis"],path:"M"+M*A+",0h"+M*f.ticklen,transFn:m,crisp:!1}),pu.drawGrid(n,f,{vals:k,layer:i["angular-grid"],path:b,transFn:va.noop,crisp:!1}),pu.drawLabels(n,f,{vals:k,layer:i["angular-axis"],repositionOnUpdate:!0,transFn:v,labelFns:T})}l3(i["angular-line"].select("path"),u.showline,{d:r.pathSubplot(),transform:xs(s,l)}).attr("stroke-width",u.linewidth).call(vz.stroke,u.linecolor)};Rs.updateFx=function(e,t){if(!this.gd._context.staticPlot){var r=!this.isSmith;r&&(this.updateAngularDrag(e),this.updateRadialDrag(e,t,0),this.updateRadialDrag(e,t,1)),this.updateHoverAndMainDrag(e)}};Rs.updateHoverAndMainDrag=function(e){var t=this,r=t.isSmith,n=t.gd,i=t.layers,a=e._zoomlayer,o=lp.MINZOOM,s=lp.OFFEDGE,l=t.radius,u=t.innerRadius,f=t.cx,c=t.cy,h=t.cxx,d=t.cyy,v=t.sectorInRad,m=t.vangles,b=t.radialAxis,g=Cd.clampTiny,_=Cd.findXYatLength,T=Cd.findEnclosingVertexAngles,w=lp.cornerHalfWidth,k=lp.cornerLen/2,x,M,A=Sd.makeDragger(i,"path","maindrag",e.dragmode===!1?"none":"crosshair");Am.select(A).attr("d",t.pathSubplot()).attr("transform",xs(f,c)),A.onmousemove=function(W){w4e.hover(n,W,t.id),n._fullLayout._lasthover=A,n._fullLayout._hoversubplot=t.id},A.onmouseout=function(W){n._dragging||oC.unhover(n,W)};var p={element:A,gd:n,subplot:t.id,plotinfo:{id:t.id,xaxis:t.xaxis,yaxis:t.yaxis},xaxes:[t.xaxis],yaxes:[t.yaxis]},S,y,E,C,L,R,I,P,D;function q(W,fe){return Math.sqrt(W*W+fe*fe)}function N(W,fe){return q(W-h,fe-d)}function U(W,fe){return Math.atan2(d-fe,W-h)}function G(W,fe){return[W*Math.cos(fe),W*Math.sin(-fe)]}function ee(W,fe){if(W===0)return t.pathSector(2*w);var ge=k/W,Ce=fe-ge,Ne=fe+ge,pe=Math.max(0,Math.min(W,l)),me=pe-w,Ie=pe+w;return"M"+G(me,Ce)+"A"+[me,me]+" 0,0,0 "+G(me,Ne)+"L"+G(Ie,Ne)+"A"+[Ie,Ie]+" 0,0,1 "+G(Ie,Ce)+"Z"}function Q(W,fe,ge){if(W===0)return t.pathSector(2*w);var Ce=G(W,fe),Ne=G(W,ge),pe=g((Ce[0]+Ne[0])/2),me=g((Ce[1]+Ne[1])/2),Ie,Re;if(pe&&me){var ze=me/pe,Be=-1/ze,tt=_(w,ze,pe,me);Ie=_(k,Be,tt[0][0],tt[0][1]),Re=_(k,Be,tt[1][0],tt[1][1])}else{var rt,ce;me?(rt=k,ce=w):(rt=w,ce=k),Ie=[[pe-rt,me-ce],[pe+rt,me-ce]],Re=[[pe-rt,me+ce],[pe+rt,me+ce]]}return"M"+Ie.join("L")+"L"+Re.reverse().join("L")+"Z"}function j(){E=null,C=null,L=t.pathSubplot(),R=!1;var W=n._fullLayout[t.id];I=vkt(W.bgcolor).getLuminance(),P=Sd.makeZoombox(a,I,f,c,L),P.attr("fill-rule","evenodd"),D=Sd.makeCorners(a,f,c),dz(n)}function O(W,fe){return fe=Math.max(Math.min(fe,l),u),W<s?W=0:l-W<s?W=l:fe<s?fe=0:l-fe<s&&(fe=l),Math.abs(fe-W)>o?(W<fe?(E=W,C=fe):(E=fe,C=W),!0):(E=null,C=null,!1)}function Z(W,fe){W=W||L,fe=fe||"M0,0Z",P.attr("d",W),D.attr("d",fe),Sd.transitionZoombox(P,D,R,I),R=!0;var ge={};V(ge),n.emit("plotly_relayouting",ge)}function K(W,fe){W=W*x,fe=fe*M;var ge=S+W,Ce=y+fe,Ne=N(S,y),pe=Math.min(N(ge,Ce),l),me=U(S,y),Ie,Re;O(Ne,pe)&&(Ie=L+t.pathSector(C),E&&(Ie+=t.pathSector(E)),Re=ee(E,me)+ee(C,me)),Z(Ie,Re)}function $(W,fe,ge,Ce){var Ne=Cd.findIntersectionXY(ge,Ce,ge,[W-h,d-fe]);return q(Ne[0],Ne[1])}function oe(W,fe){var ge=S+W,Ce=y+fe,Ne=U(S,y),pe=U(ge,Ce),me=T(Ne,m),Ie=T(pe,m),Re=$(S,y,me[0],me[1]),ze=Math.min($(ge,Ce,Ie[0],Ie[1]),l),Be,tt;O(Re,ze)&&(Be=L+t.pathSector(C),E&&(Be+=t.pathSector(E)),tt=[Q(E,me[0],me[1]),Q(C,me[0],me[1])].join(" ")),Z(Be,tt)}function te(){if(Sd.removeZoombox(n),!(E===null||C===null)){var W={};V(W),Sd.showDoubleClickNotifier(n),km.call("_guiRelayout",n,W)}}function V(W){var fe=b._rl,ge=(fe[1]-fe[0])/(1-u/l)/l,Ce=[fe[0]+(E-u)*ge,fe[0]+(C-u)*ge];W[t.id+".radialaxis.range"]=Ce}function ne(W,fe){var ge=n._fullLayout.clickmode;if(Sd.removeZoombox(n),W===2){var Ce={};for(var Ne in t.viewInitial)Ce[t.id+"."+Ne]=t.viewInitial[Ne];n.emit("plotly_doubleclick",null),km.call("_guiRelayout",n,Ce)}ge.indexOf("select")>-1&&W===1&&bkt(fe,n,[t.xaxis],[t.yaxis],t.id,p),ge.indexOf("event")>-1&&w4e.click(n,fe,t.id)}p.prepFn=function(W,fe,ge){var Ce=n._fullLayout.dragmode,Ne=A.getBoundingClientRect();n._fullLayout._calcInverseTransform(n);var pe=n._fullLayout._invTransform;x=n._fullLayout._invScaleX,M=n._fullLayout._invScaleY;var me=va.apply3DTransform(pe)(fe-Ne.left,ge-Ne.top);if(S=me[0],y=me[1],m){var Ie=Cd.findPolygonOffset(l,v[0],v[1],m);S+=h+Ie[0],y+=d+Ie[1]}switch(Ce){case"zoom":p.clickFn=ne,r||(m?p.moveFn=oe:p.moveFn=K,p.doneFn=te,j(W,fe,ge));break;case"select":case"lasso":xkt(W,fe,ge,p,Ce);break}},oC.init(p)};Rs.updateRadialDrag=function(e,t,r){var n=this,i=n.gd,a=n.layers,o=n.radius,s=n.innerRadius,l=n.cx,u=n.cy,f=n.radialAxis,c=lp.radialDragBoxSize,h=c/2;if(!f.visible)return;var d=up(n.radialAxisAngle),v=f._rl,m=v[0],b=v[1],g=v[r],_=.75*(v[1]-v[0])/(1-n.getHole(t))/o,T,w,k;r?(T=l+(o+h)*Math.cos(d),w=u-(o+h)*Math.sin(d),k="radialdrag"):(T=l+(s-h)*Math.cos(d),w=u-(s-h)*Math.sin(d),k="radialdrag-inner");var x=Sd.makeRectDragger(a,k,"crosshair",-h,-h,c,c),M={element:x,gd:i};e.dragmode===!1&&(M.dragmode=!1),l3(Am.select(x),f.visible&&s<o,{transform:xs(T,w)});var A,p,S;function y(I,P){if(A)A(I,P);else{var D=[I,-P],q=[Math.cos(d),Math.sin(d)],N=Math.abs(va.dot(D,q)/Math.sqrt(va.dot(D,D)));isNaN(N)||(A=N<.5?L:R)}var U={};E(U),i.emit("plotly_relayouting",U)}function E(I){p!==null?I[n.id+".radialaxis.angle"]=p:S!==null&&(I[n.id+".radialaxis.range["+r+"]"]=S)}function C(){p!==null?km.call("_guiRelayout",i,n.id+".radialaxis.angle",p):S!==null&&km.call("_guiRelayout",i,n.id+".radialaxis.range["+r+"]",S)}function L(I,P){if(r!==0){var D=T+I,q=w+P;p=Math.atan2(u-q,D-l),n.vangles&&(p=C4e(p,n.vangles)),p=Mm(p);var N=xs(l,u)+xv(-p);a["radial-axis"].attr("transform",N),a["radial-line"].select("line").attr("transform",N);var U=n.gd._fullLayout,G=U[n.id];n.updateRadialAxisTitle(U,G,p)}}function R(I,P){var D=va.dot([I,-P],[Math.cos(d),Math.sin(d)]);if(S=g-_*D,_>0!=(r?S>m:S<b)){S=null;return}var q=i._fullLayout,N=q[n.id];f.range[r]=S,f._rl[r]=S,n.updateRadialAxis(q,N),n.xaxis.setRange(),n.xaxis.setScale(),n.yaxis.setRange(),n.yaxis.setScale();var U=!1;for(var G in n.traceHash){var ee=n.traceHash[G],Q=va.filterVisible(ee),j=ee[0][0].trace._module;j.plot(i,n,Q,N),km.traceIs(G,"gl")&&Q.length&&(U=!0)}U&&(T4e(i),A4e(i))}M.prepFn=function(){A=null,p=null,S=null,M.moveFn=y,M.doneFn=C,dz(i)},M.clampFn=function(I,P){return Math.sqrt(I*I+P*P)<lp.MINDRAG&&(I=0,P=0),[I,P]},oC.init(M)};Rs.updateAngularDrag=function(e){var t=this,r=t.gd,n=t.layers,i=t.radius,a=t.angularAxis,o=t.cx,s=t.cy,l=t.cxx,u=t.cyy,f=lp.angularDragBoxSize,c=Sd.makeDragger(n,"path","angulardrag",e.dragmode===!1?"none":"move"),h={element:c,gd:r};e.dragmode===!1?h.dragmode=!1:Am.select(c).attr("d",t.pathAnnulus(i,i+f)).attr("transform",xs(o,s)).call(_4e,"move");function d(S,y){return Math.atan2(u+f-y,S-l-f)}var v=n.frontplot.select(".scatterlayer").selectAll(".trace"),m=v.selectAll(".point"),b=v.selectAll(".textpoint"),g,_,T,w,k,x;function M(S,y){var E=t.gd._fullLayout,C=E[t.id],L=g+S*e._invScaleX,R=_+y*e._invScaleY,I=d(L,R),P=Mm(I-x);if(w=T+P,n.frontplot.attr("transform",xs(t.xOffset2,t.yOffset2)+xv([-P,l,u])),t.vangles){k=t.radialAxisAngle+P;var D=xs(o,s)+xv(-P),q=xs(o,s)+xv(-k);n.bg.attr("transform",D),n["radial-grid"].attr("transform",D),n["radial-axis"].attr("transform",q),n["radial-line"].select("line").attr("transform",q),t.updateRadialAxisTitle(E,C,k)}else t.clipPaths.forTraces.select("path").attr("transform",xs(l,u)+xv(P));m.each(function(){var O=Am.select(this),Z=s3.getTranslate(O);O.attr("transform",xs(Z.x,Z.y)+xv([P]))}),b.each(function(){var O=Am.select(this),Z=O.select("text"),K=s3.getTranslate(O);O.attr("transform",xv([P,Z.attr("x"),Z.attr("y")])+xs(K.x,K.y))}),a.rotation=va.modHalf(w,360),t.updateAngularAxis(E,C),t._hasClipOnAxisFalse&&!va.isFullCircle(t.sectorInRad)&&v.call(s3.hideOutsideRangePoints,t);var N=!1;for(var U in t.traceHash)if(km.traceIs(U,"gl")){var G=t.traceHash[U],ee=va.filterVisible(G),Q=G[0][0].trace._module;Q.plot(r,t,ee,C),ee.length&&(N=!0)}N&&(T4e(r),A4e(r));var j={};A(j),r.emit("plotly_relayouting",j)}function A(S){S[t.id+".angularaxis.rotation"]=w,t.vangles&&(S[t.id+".radialaxis.angle"]=k)}function p(){b.select("text").attr("transform",null);var S={};A(S),km.call("_guiRelayout",r,S)}h.prepFn=function(S,y,E){var C=e[t.id];T=C.angularaxis.rotation;var L=c.getBoundingClientRect();g=y-L.left,_=E-L.top,r._fullLayout._calcInverseTransform(r);var R=va.apply3DTransform(e._invTransform)(g,_);g=R[0],_=R[1],x=d(g,_),h.moveFn=M,h.doneFn=p,dz(r)},t.vangles&&!va.isFullCircle(t.sectorInRad)&&(h.prepFn=va.noop,_4e(Am.select(c),null)),oC.init(h)};Rs.isPtInside=function(e){if(this.isSmith)return!0;var t=this.sectorInRad,r=this.vangles,n=this.angularAxis.c2g(e.theta),i=this.radialAxis,a=i.c2l(e.r),o=i._rl,s=r?Cd.isPtInsidePolygon:va.isPtInsideSector;return s(a,n,o,t,r)};Rs.pathArc=function(e){var t=this.sectorInRad,r=this.vangles,n=r?Cd.pathPolygon:va.pathArc;return n(e,t[0],t[1],r)};Rs.pathSector=function(e){var t=this.sectorInRad,r=this.vangles,n=r?Cd.pathPolygon:va.pathSector;return n(e,t[0],t[1],r)};Rs.pathAnnulus=function(e,t){var r=this.sectorInRad,n=this.vangles,i=n?Cd.pathPolygonAnnulus:va.pathAnnulus;return i(e,t,r[0],r[1],n)};Rs.pathSubplot=function(){var e=this.innerRadius,t=this.radius;return e?this.pathAnnulus(e,t):this.pathSector(t)};Rs.fillViewInitialKey=function(e,t){e in this.viewInitial||(this.viewInitial[e]=t)};function S4e(e){var t=e.ticks+String(e.ticklen)+String(e.showticklabels);return"side"in e&&(t+=e.side),t}function Mkt(e){var t=e[0],r=e[1],n=r-t,i=M4e(t,360),a=i+n,o=Math.cos(up(i)),s=Math.sin(up(i)),l=Math.cos(up(a)),u=Math.sin(up(a)),f,c,h,d;return i<=90&&a>=90||i>90&&a>=450?d=1:s<=0&&u<=0?d=0:d=Math.max(s,u),i<=180&&a>=180||i>180&&a>=540?f=-1:o>=0&&l>=0?f=0:f=Math.min(o,l),i<=270&&a>=270||i>270&&a>=630?c=-1:s>=0&&u>=0?c=0:c=Math.min(s,u),a>=360?h=1:o<=0&&l<=0?h=0:h=Math.max(o,l),[f,c,h,d]}function C4e(e,t){var r=function(i){return va.angleDist(e,i)},n=va.findIndexOfMin(t,r);return t[n]}function l3(e,t,r){return t?(e.attr("display",null),e.attr(r)):e&&e.attr("display","none"),e}});var pz=J((Cjt,F4e)=>{"use strict";var kkt=Ho(),Tn=hl(),Skt=Wa().attributes,Bf=gt().extendFlat,D4e=La().overrideAll,R4e=D4e({color:Tn.color,showline:Bf({},Tn.showline,{dflt:!0}),linecolor:Tn.linecolor,linewidth:Tn.linewidth,showgrid:Bf({},Tn.showgrid,{dflt:!0}),gridcolor:Tn.gridcolor,gridwidth:Tn.gridwidth,griddash:Tn.griddash},"plot","from-root"),P4e=D4e({tickmode:Tn.minor.tickmode,nticks:Tn.nticks,tick0:Tn.tick0,dtick:Tn.dtick,tickvals:Tn.tickvals,ticktext:Tn.ticktext,ticks:Tn.ticks,ticklen:Tn.ticklen,tickwidth:Tn.tickwidth,tickcolor:Tn.tickcolor,ticklabelstep:Tn.ticklabelstep,showticklabels:Tn.showticklabels,labelalias:Tn.labelalias,showtickprefix:Tn.showtickprefix,tickprefix:Tn.tickprefix,showticksuffix:Tn.showticksuffix,ticksuffix:Tn.ticksuffix,showexponent:Tn.showexponent,exponentformat:Tn.exponentformat,minexponent:Tn.minexponent,separatethousands:Tn.separatethousands,tickfont:Tn.tickfont,tickangle:Tn.tickangle,tickformat:Tn.tickformat,tickformatstops:Tn.tickformatstops,layer:Tn.layer},"plot","from-root"),I4e={visible:Bf({},Tn.visible,{dflt:!0}),type:Bf({},Tn.type,{values:["-","linear","log","date","category"]}),autotypenumbers:Tn.autotypenumbers,autorangeoptions:{minallowed:Tn.autorangeoptions.minallowed,maxallowed:Tn.autorangeoptions.maxallowed,clipmin:Tn.autorangeoptions.clipmin,clipmax:Tn.autorangeoptions.clipmax,include:Tn.autorangeoptions.include,editType:"plot"},autorange:Bf({},Tn.autorange,{editType:"plot"}),rangemode:{valType:"enumerated",values:["tozero","nonnegative","normal"],dflt:"tozero",editType:"calc",description:["If *tozero*`, the range extends to 0,","regardless of the input data","If *nonnegative*, the range is non-negative,","regardless of the input data.","If *normal*, the range is computed in relation to the extrema","of the input data (same behavior as for cartesian axes)."].join(" ")},minallowed:Bf({},Tn.minallowed,{editType:"plot"}),maxallowed:Bf({},Tn.maxallowed,{editType:"plot"}),range:Bf({},Tn.range,{items:[{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}}],editType:"plot"}),categoryorder:Tn.categoryorder,categoryarray:Tn.categoryarray,angle:{valType:"angle",editType:"plot",description:["Sets the angle (in degrees) from which the radial axis is drawn.","Note that by default, radial axis line on the theta=0 line","corresponds to a line pointing right (like what mathematicians prefer).","Defaults to the first `polar.sector` angle."].join(" ")},autotickangles:Tn.autotickangles,side:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"clockwise",editType:"plot",description:["Determines on which side of radial axis line","the tick and tick labels appear."].join(" ")},title:{text:Bf({},Tn.title.text,{editType:"plot",dflt:""}),font:Bf({},Tn.title.font,{editType:"plot"}),editType:"plot"},hoverformat:Tn.hoverformat,uirevision:{valType:"any",editType:"none",description:["Controls persistence of user-driven changes in axis `range`,","`autorange`, `angle`, and `title` if in `editable: true` configuration.","Defaults to `polar<N>.uirevision`."].join(" ")},editType:"calc",_deprecated:{title:Tn._deprecated.title,titlefont:Tn._deprecated.titlefont}};Bf(I4e,R4e,P4e);var q4e={visible:Bf({},Tn.visible,{dflt:!0}),type:{valType:"enumerated",values:["-","linear","category"],dflt:"-",editType:"calc",_noTemplating:!0,description:["Sets the angular axis type.","If *linear*, set `thetaunit` to determine the unit in which axis value are shown.","If *category, use `period` to set the number of integer coordinates around polar axis."].join(" ")},autotypenumbers:Tn.autotypenumbers,categoryorder:Tn.categoryorder,categoryarray:Tn.categoryarray,thetaunit:{valType:"enumerated",values:["radians","degrees"],dflt:"degrees",editType:"calc",description:["Sets the format unit of the formatted *theta* values.","Has an effect only when `angularaxis.type` is *linear*."].join(" ")},period:{valType:"number",editType:"calc",min:0,description:["Set the angular period.","Has an effect only when `angularaxis.type` is *category*."].join(" ")},direction:{valType:"enumerated",values:["counterclockwise","clockwise"],dflt:"counterclockwise",editType:"calc",description:["Sets the direction corresponding to positive angles."].join(" ")},rotation:{valType:"angle",editType:"calc",description:["Sets that start position (in degrees) of the angular axis","By default, polar subplots with `direction` set to *counterclockwise*","get a `rotation` of *0*","which corresponds to due East (like what mathematicians prefer).","In turn, polar with `direction` set to *clockwise* get a rotation of *90*","which corresponds to due North (like on a compass),"].join(" ")},hoverformat:Tn.hoverformat,uirevision:{valType:"any",editType:"none",description:["Controls persistence of user-driven changes in axis `rotation`.","Defaults to `polar<N>.uirevision`."].join(" ")},editType:"calc"};Bf(q4e,R4e,P4e);F4e.exports={domain:Skt({name:"polar",editType:"plot"}),sector:{valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],dflt:[0,360],editType:"plot",description:["Sets angular span of this polar subplot with two angles (in degrees).","Sector are assumed to be spanned in the counterclockwise direction","with *0* corresponding to rightmost limit of the polar subplot."].join(" ")},hole:{valType:"number",min:0,max:1,dflt:0,editType:"plot",description:["Sets the fraction of the radius to cut out of the polar subplot."].join(" ")},bgcolor:{valType:"color",editType:"plot",dflt:kkt.background,description:"Set the background color of the subplot"},radialaxis:I4e,angularaxis:q4e,gridshape:{valType:"enumerated",values:["circular","linear"],dflt:"circular",editType:"plot",description:["Determines if the radial axis grid lines and angular axis line are drawn","as *circular* sectors or as *linear* (polygon) sectors.","Has an effect only when the angular axis has `type` *category*.","Note that `radialaxis.angle` is snapped to the angle of the closest","vertex when `gridshape` is *circular*","(so that radial axis scale is the same as the data scale)."].join(" ")},uirevision:{valType:"any",editType:"none",description:["Controls persistence of user-driven changes in axis attributes,","if not overridden in the individual axes.","Defaults to `layout.uirevision`."].join(" ")},editType:"calc"}});var B4e=J((Ejt,O4e)=>{"use strict";var lC=gt(),Ckt=qr(),Ekt=ki(),Lkt=Kw(),Dkt=Nu().getSubplotData,Rkt=Wp(),Pkt=N1(),Ikt=Xp(),qkt=Zp(),Fkt=ik(),zkt=ak(),Nkt=cD(),Okt=V1(),N4e=pz(),Bkt=fz(),uC=tC(),z4e=uC.axisNames;function Ukt(e,t,r,n){var i=r("bgcolor");n.bgColor=Ckt.combine(i,n.paper_bgcolor);var a=r("sector");r("hole");var o=Dkt(n.fullData,uC.name,n.id),s=n.layoutOut,l;function u(P,D){return r(l+"."+P,D)}for(var f=0;f<z4e.length;f++){l=z4e[f],lC.isPlainObject(e[l])||(e[l]={});var c=e[l],h=Ekt.newContainer(t,l);h._id=h._name=l,h._attr=n.id+"."+l,h._traceIndices=o.map(function(P){return P._expandedIndex});var d=uC.axisName2dataArray[l],v=Hkt(c,h,u,o,d,n);Fkt(c,h,u,{axData:o,dataAttr:d});var m=u("visible");switch(Bkt(h,t,s),u("uirevision",t.uirevision),h._m=1,l){case"radialaxis":u("minallowed"),u("maxallowed");var b=u("range"),g=h.getAutorangeDflt(b),_=u("autorange",g),T;b&&(b[0]===null&&b[1]===null||(b[0]===null||b[1]===null)&&(_==="reversed"||_===!0)||b[0]!==null&&(_==="min"||_==="max reversed")||b[1]!==null&&(_==="max"||_==="min reversed"))&&(b=void 0,delete h.range,h.autorange=!0,T=!0),T||(g=h.getAutorangeDflt(b),_=u("autorange",g)),c.autorange=_,_&&(Nkt(u,_,b),(v==="linear"||v==="-")&&u("rangemode"),h.isReversed()&&(h._m=-1)),h.cleanRange("range",{dfltRange:[0,1]});break;case"angularaxis":if(v==="date"){lC.log("Polar plots do not support date angular axes yet.");for(var w=0;w<o.length;w++)o[w].visible=!1;v=c.type=h.type="linear"}u(v==="linear"?"thetaunit":"period");var k=u("direction");u("rotation",{counterclockwise:0,clockwise:90}[k]);break}if(qkt(c,h,u,h.type,{tickSuffixDflt:h.thetaunit==="degrees"?"\xB0":void 0}),m){var x,M,A,p,S,y,E,C,L,R,I=n.font||{};x=u("color"),M=x===c.color?x:I.color,A=I.size,p=I.family,S=I.weight,y=I.style,E=I.variant,C=I.textcase,L=I.lineposition,R=I.shadow,Rkt(c,h,u,h.type),Ikt(c,h,u,h.type,{font:{weight:S,style:y,variant:E,textcase:C,lineposition:L,shadow:R,color:M,size:A,family:p},noAutotickangles:l==="angularaxis",noTicklabelshift:!0,noTicklabelstandoff:!0}),Pkt(c,h,u,{outerTicks:!0}),zkt(c,h,u,{dfltColor:x,bgColor:n.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:N4e[l]}),u("layer"),l==="radialaxis"&&(u("side"),u("angle",a[0]),u("title.text"),lC.coerceFont(u,"title.font",{weight:S,style:y,variant:E,textcase:C,lineposition:L,shadow:R,color:M,size:lC.bigFont(A),family:p}))}v!=="category"&&u("hoverformat"),h._input=c}t.angularaxis.type==="category"&&r("gridshape")}function Hkt(e,t,r,n,i,a){var o=r("autotypenumbers",a.autotypenumbersDflt),s=r("type");if(s==="-"){for(var l,u=0;u<n.length;u++)if(n[u].visible){l=n[u];break}l&&l[i]&&(t.type=Okt(l[i],"gregorian",{noMultiCategory:!0,autotypenumbers:o})),t.type==="-"?t.type="linear":e.type=t.type}return t.type}O4e.exports=function(t,r,n){Lkt(t,r,n,{type:uC.name,attributes:N4e,handleDefaults:Ukt,font:r.font,autotypenumbersDflt:r.autotypenumbers,paper_bgcolor:r.paper_bgcolor,fullData:n,layoutOut:r})}});var gz=J((Ljt,Y4e)=>{"use strict";var jkt=Nu().getSubplotCalcData,Vkt=gt().counterRegex,Ykt=L4e(),H4e=tC(),j4e=H4e.attr,Sm=H4e.name,U4e=Vkt(Sm),V4e={};V4e[j4e]={valType:"subplotid",dflt:Sm,editType:"calc",description:["Sets a reference between this trace's data coordinates and","a polar subplot.","If *polar* (the default value), the data refer to `layout.polar`.","If *polar2*, the data refer to `layout.polar2`, and so on."].join(" ")};function Gkt(e){for(var t=e._fullLayout,r=e.calcdata,n=t._subplots[Sm],i=0;i<n.length;i++){var a=n[i],o=jkt(r,Sm,a),s=t[a]._subplot;s||(s=Ykt(e,a),t[a]._subplot=s),s.plot(o,t,e._promises)}}function Wkt(e,t,r,n){for(var i=n._subplots[Sm]||[],a=n._has&&n._has("gl"),o=t._has&&t._has("gl"),s=a&&!o,l=0;l<i.length;l++){var u=i[l],f=n[u]._subplot;if(!t[u]&&f){f.framework.remove(),f.layers["radial-axis-title"].remove();for(var c in f.clipPaths)f.clipPaths[c].remove()}s&&f._scene&&(f._scene.destroy(),f._scene=null)}}Y4e.exports={attr:j4e,name:Sm,idRoot:Sm,idRegex:U4e,attrRegex:U4e,attributes:V4e,layoutAttributes:pz(),supplyLayoutDefaults:B4e(),plot:Gkt,clean:Wkt,toSVG:gs().toSVG}});var cC=J((Djt,G4e)=>{"use strict";var Xkt=Jn().hovertemplateAttrs,Zkt=Jn().texttemplateAttrs,fC=cn().extendFlat,Jkt=gg(),Uf=ds(),$kt=Qi(),Jx=Uf.line;G4e.exports={mode:Uf.mode,r:{valType:"data_array",editType:"calc+clearAxisTypes",description:"Sets the radial coordinates"},theta:{valType:"data_array",editType:"calc+clearAxisTypes",description:"Sets the angular coordinates"},r0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",description:["Alternate to `r`.","Builds a linear space of r coordinates.","Use with `dr`","where `r0` is the starting coordinate and `dr` the step."].join(" ")},dr:{valType:"number",dflt:1,editType:"calc",description:"Sets the r coordinate step."},theta0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",description:["Alternate to `theta`.","Builds a linear space of theta coordinates.","Use with `dtheta`","where `theta0` is the starting coordinate and `dtheta` the step."].join(" ")},dtheta:{valType:"number",editType:"calc",description:["Sets the theta coordinate step.","By default, the `dtheta` step equals the subplot's period divided","by the length of the `r` coordinates."].join(" ")},thetaunit:{valType:"enumerated",values:["radians","degrees","gradians"],dflt:"degrees",editType:"calc+clearAxisTypes",description:["Sets the unit of input *theta* values.","Has an effect only when on *linear* angular axes."].join(" ")},text:Uf.text,texttemplate:Zkt({editType:"plot"},{keys:["r","theta","text"]}),hovertext:Uf.hovertext,line:{color:Jx.color,width:Jx.width,dash:Jx.dash,backoff:Jx.backoff,shape:fC({},Jx.shape,{values:["linear","spline"]}),smoothing:Jx.smoothing,editType:"calc"},connectgaps:Uf.connectgaps,marker:Uf.marker,cliponaxis:fC({},Uf.cliponaxis,{dflt:!1}),textposition:Uf.textposition,textfont:Uf.textfont,fill:fC({},Uf.fill,{values:["none","toself","tonext"],dflt:"none",description:["Sets the area to fill with a solid color.","Use with `fillcolor` if not *none*.","scatterpolar has a subset of the options available to scatter.","*toself* connects the endpoints of the trace (or each segment","of the trace if it has gaps) into a closed shape.","*tonext* fills the space between two traces if one completely","encloses the other (eg consecutive contour lines), and behaves like","*toself* if there is no trace before it. *tonext* should not be","used if one trace does not enclose the other."].join(" ")}),fillcolor:Jkt(),hoverinfo:fC({},$kt.hoverinfo,{flags:["r","theta","text","name"]}),hoveron:Uf.hoveron,hovertemplate:Xkt(),selected:Uf.selected,unselected:Uf.unselected}});var mz=J((Rjt,Z4e)=>{"use strict";var hC=gt(),$x=fs(),Kkt=bg(),Qkt=wg(),W4e=nw(),eSt=_g(),tSt=uy(),rSt=pg().PTS_LINESONLY,nSt=cC();function iSt(e,t,r,n){function i(s,l){return hC.coerce(e,t,nSt,s,l)}var a=X4e(e,t,n,i);if(!a){t.visible=!1;return}i("thetaunit"),i("mode",a<rSt?"lines+markers":"lines"),i("text"),i("hovertext"),t.hoveron!=="fills"&&i("hovertemplate"),$x.hasMarkers(t)&&Kkt(e,t,r,n,i,{gradient:!0}),$x.hasLines(t)&&(Qkt(e,t,r,n,i,{backoff:!0}),W4e(e,t,i),i("connectgaps")),$x.hasText(t)&&(i("texttemplate"),eSt(e,t,n,i));var o=[];($x.hasMarkers(t)||$x.hasText(t))&&(i("cliponaxis"),i("marker.maxdisplayed"),o.push("points")),i("fill"),t.fill!=="none"&&(tSt(e,t,r,i),$x.hasLines(t)||W4e(e,t,i)),(t.fill==="tonext"||t.fill==="toself")&&o.push("fills"),i("hoveron",o.join("+")||"points"),hC.coerceSelectionMarkerOpacity(t,i)}function X4e(e,t,r,n){var i=n("r"),a=n("theta");hC.isTypedArray(i)&&(t.r=i=Array.from(i)),hC.isTypedArray(a)&&(t.theta=a=Array.from(a));var o;if(i)a?o=Math.min(i.length,a.length):(o=i.length,n("theta0"),n("dtheta"));else{if(!a)return 0;o=t.theta.length,n("r0"),n("dr")}return t._length=o,o}Z4e.exports={handleRThetaDefaults:X4e,supplyDefaults:iSt}});var yz=J((Pjt,$4e)=>{"use strict";var aSt=gt(),J4e=nn();$4e.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot,o,s;a?(o=a.radialAxis,s=a.angularAxis):(a=n[r.subplot],o=a.radialaxis,s=a.angularaxis);var l=o.c2l(t.r);i.rLabel=J4e.tickText(o,l,!0).text;var u=s.thetaunit==="degrees"?aSt.rad2deg(t.theta):t.theta;return i.thetaLabel=J4e.tickText(s,u,!0).text,i}});var eCe=J((Ijt,Q4e)=>{"use strict";var K4e=dn(),oSt=oi().BADNUM,sSt=nn(),lSt=Ag(),uSt=nd(),fSt=oh(),cSt=Mg().calcMarkerSize;Q4e.exports=function(t,r){for(var n=t._fullLayout,i=r.subplot,a=n[i].radialaxis,o=n[i].angularaxis,s=a.makeCalcdata(r,"r"),l=o.makeCalcdata(r,"theta"),u=r._length,f=new Array(u),c=0;c<u;c++){var h=s[c],d=l[c],v=f[c]={};K4e(h)&&K4e(d)?(v.r=h,v.theta=d):v.r=oSt}var m=cSt(r,u);return r._extremes.x=sSt.findExtremes(a,s,{ppad:m}),lSt(t,r),uSt(f,r),fSt(f,r),f}});var nCe=J((qjt,rCe)=>{"use strict";var hSt=lw(),tCe=oi().BADNUM;rCe.exports=function(t,r,n){for(var i=r.layers.frontplot.select("g.scatterlayer"),a=r.xaxis,o=r.yaxis,s={xaxis:a,yaxis:o,plot:r.framework,layerClipId:r._hasClipOnAxisFalse?r.clipIds.forTraces:null},l=r.radialAxis,u=r.angularAxis,f=0;f<n.length;f++)for(var c=n[f],h=0;h<c.length;h++){h===0&&(c[0].trace._xA=a,c[0].trace._yA=o);var d=c[h],v=d.r;if(v===tCe)d.x=d.y=tCe;else{var m=l.c2g(v),b=u.c2g(d.theta);d.x=m*Math.cos(b),d.y=m*Math.sin(b)}}hSt(t,s,n,i)}});var xz=J((Fjt,aCe)=>{"use strict";var vSt=uw();function dSt(e,t,r,n){var i=vSt(e,t,r,n);if(!(!i||i[0].index===!1)){var a=i[0];if(a.index===void 0)return i;var o=e.subplot,s=a.cd[a.index],l=a.trace;if(o.isPtInside(s))return a.xLabelVal=void 0,a.yLabelVal=void 0,iCe(s,l,o,a),a.hovertemplate=l.hovertemplate,i}}function iCe(e,t,r,n){var i=r.radialAxis,a=r.angularAxis;i._hovertitle="r",a._hovertitle="\u03B8";var o={};o[t.subplot]={_subplot:r};var s=t._module.formatLabels(e,t,o);n.rLabel=s.rLabel,n.thetaLabel=s.thetaLabel;var l=e.hi||t.hoverinfo,u=[];function f(h,d){u.push(h._hovertitle+": "+d)}if(!t.hovertemplate){var c=l.split("+");c.indexOf("all")!==-1&&(c=["r","theta","text"]),c.indexOf("r")!==-1&&f(i,n.rLabel),c.indexOf("theta")!==-1&&f(a,n.thetaLabel),c.indexOf("text")!==-1&&n.text&&(u.push(n.text),delete n.text),n.extraText=u.join("<br>")}}aCe.exports={hoverPoints:dSt,makeHoverPointText:iCe}});var sCe=J((zjt,oCe)=>{"use strict";oCe.exports={moduleType:"trace",name:"scatterpolar",basePlotModule:gz(),categories:["polar","symbols","showLegend","scatter-like"],attributes:cC(),supplyDefaults:mz().supplyDefaults,colorbar:pc(),formatLabels:yz(),calc:eCe(),plot:nCe(),style:Ef().style,styleOnSelect:Ef().styleOnSelect,hoverPoints:xz().hoverPoints,selectPoints:fw(),meta:{hrName:"scatter_polar",description:["The scatterpolar trace type encompasses line charts, scatter charts, text charts, and bubble charts","in polar coordinates.","The data visualized as scatter point or lines is set in","`r` (radial) and `theta` (angular) coordinates","Text (appearing either on the chart or on hover only) is via `text`.","Bubble charts are achieved by setting `marker.size` and/or `marker.color`","to numerical arrays."].join(" ")}}});var uCe=J((Njt,lCe)=>{"use strict";lCe.exports=sCe()});var bz=J((Ojt,fCe)=>{"use strict";var pSt=Jn().hovertemplateAttrs,Kx=cn().extendFlat,fp=cC(),cp=ov();fCe.exports={r:fp.r,theta:fp.theta,r0:fp.r0,dr:fp.dr,theta0:fp.theta0,dtheta:fp.dtheta,thetaunit:fp.thetaunit,base:Kx({},cp.base,{description:["Sets where the bar base is drawn (in radial axis units).","In *stack* barmode,","traces that set *base* will be excluded","and drawn in *overlay* mode instead."].join(" ")}),offset:Kx({},cp.offset,{description:["Shifts the angular position where the bar is drawn","(in *thetatunit* units)."].join(" ")}),width:Kx({},cp.width,{description:["Sets the bar angular width (in *thetaunit* units)."].join(" ")}),text:Kx({},cp.text,{description:["Sets hover text elements associated with each bar.","If a single string, the same string appears over all bars.","If an array of string, the items are mapped in order to the","this trace's coordinates."].join(" ")}),hovertext:Kx({},cp.hovertext,{description:"Same as `text`."}),marker:gSt(),hoverinfo:fp.hoverinfo,hovertemplate:pSt(),selected:cp.selected,unselected:cp.unselected};function gSt(){var e=Kx({},cp.marker);return delete e.cornerradius,e}});var wz=J((Bjt,cCe)=>{"use strict";cCe.exports={barmode:{valType:"enumerated",values:["stack","overlay"],dflt:"stack",editType:"calc",description:["Determines how bars at the same location coordinate","are displayed on the graph.","With *stack*, the bars are stacked on top of one another","With *overlay*, the bars are plotted over one another,","you might need to reduce *opacity* to see multiple bars."].join(" ")},bargap:{valType:"number",dflt:.1,min:0,max:1,editType:"calc",description:["Sets the gap between bars of","adjacent location coordinates.","Values are unitless, they represent fractions of the minimum difference","in bar positions in the data."].join(" ")}}});var dCe=J((Ujt,vCe)=>{"use strict";var hCe=gt(),mSt=mz().handleRThetaDefaults,ySt=Bk(),xSt=bz();vCe.exports=function(t,r,n,i){function a(s,l){return hCe.coerce(t,r,xSt,s,l)}var o=mSt(t,r,i,a);if(!o){r.visible=!1;return}a("thetaunit"),a("base"),a("offset"),a("width"),a("text"),a("hovertext"),a("hovertemplate"),ySt(t,r,a,n,i),hCe.coerceSelectionMarkerOpacity(r,a)}});var gCe=J((Hjt,pCe)=>{"use strict";var bSt=gt(),wSt=wz();pCe.exports=function(e,t,r){var n={},i;function a(l,u){return bSt.coerce(e[i]||{},t[i],wSt,l,u)}for(var o=0;o<r.length;o++){var s=r[o];s.type==="barpolar"&&s.visible===!0&&(i=s.subplot,n[i]||(a("barmode"),a("bargap"),n[i]=1))}}});var _z=J((jjt,xCe)=>{"use strict";var mCe=nu().hasColorscale,yCe=Uu(),_St=gt().isArrayOrTypedArray,TSt=Sw(),ASt=kg().setGroupPositions,MSt=oh(),kSt=zr().traceIs,SSt=gt().extendFlat;function CSt(e,t){for(var r=e._fullLayout,n=t.subplot,i=r[n].radialaxis,a=r[n].angularaxis,o=i.makeCalcdata(t,"r"),s=a.makeCalcdata(t,"theta"),l=t._length,u=new Array(l),f=o,c=s,h=0;h<l;h++)u[h]={p:c[h],s:f[h]};function d(v){var m=t[v];m!==void 0&&(t["_"+v]=_St(m)?a.makeCalcdata(t,v):a.d2c(m,t.thetaunit))}return a.type==="linear"&&(d("width"),d("offset")),mCe(t,"marker")&&yCe(e,t,{vals:t.marker.color,containerStr:"marker",cLetter:"c"}),mCe(t,"marker.line")&&yCe(e,t,{vals:t.marker.line.color,containerStr:"marker.line",cLetter:"c"}),TSt(u,t),MSt(u,t),u}function ESt(e,t,r){for(var n=e.calcdata,i=[],a=0;a<n.length;a++){var o=n[a],s=o[0].trace;s.visible===!0&&kSt(s,"bar")&&s.subplot===r&&i.push(o)}var l=SSt({},t.radialaxis,{_id:"x"}),u=t.angularaxis;ASt(e,u,l,i,{mode:t.barmode,norm:t.barnorm,gap:t.bargap,groupgap:t.bargroupgap})}xCe.exports={calc:CSt,crossTraceCalc:ESt}});var _Ce=J((Vjt,wCe)=>{"use strict";var bCe=Nr(),vC=dn(),Qx=gt(),LSt=ln(),Tz=nC();wCe.exports=function(t,r,n){var i=t._context.staticPlot,a=r.xaxis,o=r.yaxis,s=r.radialAxis,l=r.angularAxis,u=DSt(r),f=r.layers.frontplot.select("g.barlayer");Qx.makeTraceGroups(f,n,"trace bars").each(function(){var c=bCe.select(this),h=Qx.ensureSingle(c,"g","points"),d=h.selectAll("g.point").data(Qx.identity);d.enter().append("g").style("vector-effect",i?"none":"non-scaling-stroke").style("stroke-miterlimit",2).classed("point",!0),d.exit().remove(),d.each(function(v){var m=bCe.select(this),b=v.rp0=s.c2p(v.s0),g=v.rp1=s.c2p(v.s1),_=v.thetag0=l.c2g(v.p0),T=v.thetag1=l.c2g(v.p1),w;if(!vC(b)||!vC(g)||!vC(_)||!vC(T)||b===g||_===T)w="M0,0Z";else{var k=s.c2g(v.s1),x=(_+T)/2;v.ct=[a.c2p(k*Math.cos(x)),o.c2p(k*Math.sin(x))],w=u(b,g,_,T)}Qx.ensureSingle(m,"path").attr("d",w)}),LSt.setClipUrl(c,r._hasClipOnAxisFalse?r.clipIds.forTraces:null,t)})};function DSt(e){var t=e.cxx,r=e.cyy;return e.vangles?function(n,i,a,o){var s,l;Qx.angleDelta(a,o)>0?(s=a,l=o):(s=o,l=a);var u=Tz.findEnclosingVertexAngles(s,e.vangles)[0],f=Tz.findEnclosingVertexAngles(l,e.vangles)[1],c=[u,(s+l)/2,f];return Tz.pathPolygonAnnulus(n,i,s,l,c,t,r)}:function(n,i,a,o){return Qx.pathAnnulus(n,i,a,o,t,r)}}});var ACe=J((Yjt,TCe)=>{"use strict";var RSt=go(),Az=gt(),PSt=Dy().getTraceColor,ISt=Az.fillText,qSt=xz().makeHoverPointText,FSt=nC().isPtInsidePolygon;TCe.exports=function(t,r,n){var i=t.cd,a=i[0].trace,o=t.subplot,s=o.radialAxis,l=o.angularAxis,u=o.vangles,f=u?FSt:Az.isPtInsideSector,c=t.maxHoverDistance,h=l._period||2*Math.PI,d=Math.abs(s.g2p(Math.sqrt(r*r+n*n))),v=Math.atan2(n,r);s.range[0]>s.range[1]&&(v+=Math.PI);var m=function(T){return f(d,v,[T.rp0,T.rp1],[T.thetag0,T.thetag1],u)?c+Math.min(1,Math.abs(T.thetag1-T.thetag0)/h)-1+(T.rp1-d)/(T.rp1-T.rp0)-1:1/0};if(RSt.getClosest(i,m,t),t.index!==!1){var b=t.index,g=i[b];t.x0=t.x1=g.ct[0],t.y0=t.y1=g.ct[1];var _=Az.extendFlat({},g,{r:g.s,theta:g.p});return ISt(g,a,t),qSt(_,a,o,t),t.hovertemplate=a.hovertemplate,t.color=PSt(a,g),t.xLabelVal=t.yLabelVal=void 0,g.s<0&&(t.idealAlign="left"),[t]}}});var kCe=J((Gjt,MCe)=>{"use strict";MCe.exports={moduleType:"trace",name:"barpolar",basePlotModule:gz(),categories:["polar","bar","showLegend"],attributes:bz(),layoutAttributes:wz(),supplyDefaults:dCe(),supplyLayoutDefaults:gCe(),calc:_z().calc,crossTraceCalc:_z().crossTraceCalc,plot:_Ce(),colorbar:pc(),formatLabels:yz(),style:mc().style,styleOnSelect:mc().styleOnSelect,hoverPoints:ACe(),selectPoints:Ry(),meta:{hrName:"bar_polar",description:["The data visualized by the radial span of the bars is set in `r`"].join(" ")}}});var CCe=J((Wjt,SCe)=>{"use strict";SCe.exports=kCe()});var u3=J(ECe=>{"use strict";ECe.pointsAccessorFunction=function(e,t){for(var r,n,i=0;i<e.length&&(r=e[i],r!==t);i++)!r._indexToPoints||r.enabled===!1||(n=r._indexToPoints);var a=n?function(o){return n[o]}:function(o){return[o]};return a}});var PCe=J(tb=>{"use strict";var zSt=nn(),eb=gt(),NSt=o0(),OSt=u3().pointsAccessorFunction,oo=oi().BADNUM;tb.moduleType="transform";tb.name="aggregate";var RCe=tb.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc",description:["Determines whether this aggregate transform is enabled or disabled."].join(" ")},groups:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc",description:["Sets the grouping target to which the aggregation is applied.","Data points with matching group values will be coalesced into","one point, using the supplied aggregation functions to reduce data","in other data arrays.","If a string, `groups` is assumed to be a reference to a data array","in the parent trace object.","To aggregate by nested variables, use *.* to access them.","For example, set `groups` to *marker.color* to aggregate","about the marker color array.","If an array, `groups` is itself the data array by which we aggregate."].join(" ")},aggregations:{_isLinkedToArray:"aggregation",target:{valType:"string",editType:"calc",description:["A reference to the data array in the parent trace to aggregate.","To aggregate by nested variables, use *.* to access them.","For example, set `groups` to *marker.color* to aggregate","over the marker color array.","The referenced array must already exist, unless `func` is *count*,","and each array may only be referenced once."].join(" ")},func:{valType:"enumerated",values:["count","sum","avg","median","mode","rms","stddev","min","max","first","last","change","range"],dflt:"first",editType:"calc",description:["Sets the aggregation function.","All values from the linked `target`, corresponding to the same value","in the `groups` array, are collected and reduced by this function.","*count* is simply the number of values in the `groups` array, so does","not even require the linked array to exist. *first* (*last*) is just","the first (last) linked value.","Invalid values are ignored, so for example in *avg* they do not","contribute to either the numerator or the denominator.","Any data type (numeric, date, category) may be aggregated with any","function, even though in certain cases it is unlikely to make sense,","for example a sum of dates or average of categories.","*median* will return the average of the two central values if there is","an even count. *mode* will return the first value to reach the maximum","count, in case of a tie.","*change* will return the difference between the first and last linked values.","*range* will return the difference between the min and max linked values."].join(" ")},funcmode:{valType:"enumerated",values:["sample","population"],dflt:"sample",editType:"calc",description:["*stddev* supports two formula variants: *sample* (normalize by N-1)","and *population* (normalize by N)."].join(" ")},enabled:{valType:"boolean",dflt:!0,editType:"calc",description:["Determines whether this aggregation function is enabled or disabled."].join(" ")},editType:"calc"},editType:"calc"},LCe=RCe.aggregations;tb.supplyDefaults=function(e,t){var r={},n;function i(b,g){return eb.coerce(e,r,RCe,b,g)}var a=i("enabled");if(!a)return r;var o=NSt.findArrayAttributes(t),s={};for(n=0;n<o.length;n++)s[o[n]]=1;var l=i("groups");if(!Array.isArray(l)){if(!s[l])return r.enabled=!1,r;s[l]=0}var u=e.aggregations||[],f=r.aggregations=new Array(u.length),c;function h(b,g){return eb.coerce(u[n],c,LCe,b,g)}for(n=0;n<u.length;n++){c={_index:n};var d=h("target"),v=h("func"),m=h("enabled");m&&d&&(s[d]||v==="count"&&s[d]===void 0)?(v==="stddev"&&h("funcmode"),s[d]=0,f[n]=c):f[n]={enabled:!1,_index:n}}for(n=0;n<o.length;n++)s[o[n]]&&f.push({target:o[n],func:LCe.func.dflt,enabled:!0,_index:-1});return r};tb.calcTransform=function(e,t,r){if(r.enabled){var n=r.groups,i=eb.getTargetArray(t,{target:n});if(i){var a,o,s,l,u={},f={},c=[],h=OSt(t.transforms,r),d=i.length;for(t._length&&(d=Math.min(d,t._length)),a=0;a<d;a++)o=i[a],s=u[o],s===void 0?(u[o]=c.length,l=[a],c.push(l),f[u[o]]=h(a)):(c[s].push(a),f[u[o]]=(f[u[o]]||[]).concat(h(a)));r._indexToPoints=f;var v=r.aggregations;for(a=0;a<v.length;a++)DCe(e,t,c,v[a]);typeof n=="string"&&DCe(e,t,c,{target:n,func:"first",enabled:!0}),t._length=c.length}}};function DCe(e,t,r,n){if(n.enabled){for(var i=n.target,a=eb.nestedProperty(t,i),o=a.get(),s=zSt.getDataConversions(e,t,i,o),l=BSt(n,s),u=new Array(r.length),f=0;f<r.length;f++)u[f]=l(o,r[f]);a.set(u),n.func==="count"&&eb.pushUnique(t._arrayAttrs,i)}}function BSt(e,t){var r=e.func,n=t.d2c,i=t.c2d;switch(r){case"count":return USt;case"first":return HSt;case"last":return jSt;case"sum":return function(a,o){for(var s=0,l=0;l<o.length;l++){var u=n(a[o[l]]);u!==oo&&(s+=u)}return i(s)};case"avg":return function(a,o){for(var s=0,l=0,u=0;u<o.length;u++){var f=n(a[o[u]]);f!==oo&&(s+=f,l++)}return l?i(s/l):oo};case"min":return function(a,o){for(var s=1/0,l=0;l<o.length;l++){var u=n(a[o[l]]);u!==oo&&(s=Math.min(s,u))}return s===1/0?oo:i(s)};case"max":return function(a,o){for(var s=-1/0,l=0;l<o.length;l++){var u=n(a[o[l]]);u!==oo&&(s=Math.max(s,u))}return s===-1/0?oo:i(s)};case"range":return function(a,o){for(var s=1/0,l=-1/0,u=0;u<o.length;u++){var f=n(a[o[u]]);f!==oo&&(s=Math.min(s,f),l=Math.max(l,f))}return l===-1/0||s===1/0?oo:i(l-s)};case"change":return function(a,o){var s=n(a[o[0]]),l=n(a[o[o.length-1]]);return s===oo||l===oo?oo:i(l-s)};case"median":return function(a,o){for(var s=[],l=0;l<o.length;l++){var u=n(a[o[l]]);u!==oo&&s.push(u)}if(!s.length)return oo;s.sort(eb.sorterAsc);var f=(s.length-1)/2;return i((s[Math.floor(f)]+s[Math.ceil(f)])/2)};case"mode":return function(a,o){for(var s={},l=0,u=oo,f=0;f<o.length;f++){var c=n(a[o[f]]);if(c!==oo){var h=s[c]=(s[c]||0)+1;h>l&&(l=h,u=c)}}return l?i(u):oo};case"rms":return function(a,o){for(var s=0,l=0,u=0;u<o.length;u++){var f=n(a[o[u]]);f!==oo&&(s+=f*f,l++)}return l?i(Math.sqrt(s/l)):oo};case"stddev":return function(a,o){var s=0,l=0,u=1,f=oo,c;for(c=0;c<o.length&&f===oo;c++)f=n(a[o[c]]);if(f===oo)return oo;for(;c<o.length;c++){var h=n(a[o[c]]);if(h!==oo){var d=h-f;s+=d,l+=d*d,u++}}var v=e.funcmode==="sample"?u-1:u;return v?Math.sqrt((l-s*s/u)/v):0}}}function USt(e,t){return t.length}function HSt(e,t){return e[t[0]]}function jSt(e,t){return e[t[t.length-1]]}});var qCe=J((Jjt,ICe)=>{"use strict";ICe.exports=PCe()});var FCe=J(Cm=>{"use strict";var hp=gt(),VSt=zr(),YSt=nn(),GSt=u3().pointsAccessorFunction,Cz=jw(),Mz=Cz.COMPARISON_OPS,kz=Cz.INTERVAL_OPS,Sz=Cz.SET_OPS;Cm.moduleType="transform";Cm.name="filter";Cm.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc",description:["Determines whether this filter transform is enabled or disabled."].join(" ")},target:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc",description:["Sets the filter target by which the filter is applied.","If a string, `target` is assumed to be a reference to a data array","in the parent trace object.","To filter about nested variables, use *.* to access them.","For example, set `target` to *marker.color* to filter","about the marker color array.","If an array, `target` is then the data array by which the filter is applied."].join(" ")},operation:{valType:"enumerated",values:[].concat(Mz).concat(kz).concat(Sz),dflt:"=",editType:"calc",description:["Sets the filter operation.","*=* keeps items equal to `value`","*!=* keeps items not equal to `value`","*<* keeps items less than `value`","*<=* keeps items less than or equal to `value`","*>* keeps items greater than `value`","*>=* keeps items greater than or equal to `value`","*[]* keeps items inside `value[0]` to `value[1]` including both bounds","*()* keeps items inside `value[0]` to `value[1]` excluding both bounds","*[)* keeps items inside `value[0]` to `value[1]` including `value[0]` but excluding `value[1]","*(]* keeps items inside `value[0]` to `value[1]` excluding `value[0]` but including `value[1]","*][* keeps items outside `value[0]` to `value[1]` and equal to both bounds","*)(* keeps items outside `value[0]` to `value[1]`","*](* keeps items outside `value[0]` to `value[1]` and equal to `value[0]`","*)[* keeps items outside `value[0]` to `value[1]` and equal to `value[1]`","*{}* keeps items present in a set of values","*}{* keeps items not present in a set of values"].join(" ")},value:{valType:"any",dflt:0,editType:"calc",description:["Sets the value or values by which to filter.","Values are expected to be in the same type as the data linked","to `target`.","When `operation` is set to one of","the comparison values ("+Mz+")","`value` is expected to be a number or a string.","When `operation` is set to one of the interval values","("+kz+")","`value` is expected to be 2-item array where the first item","is the lower bound and the second item is the upper bound.","When `operation`, is set to one of the set values","("+Sz+")","`value` is expected to be an array with as many items as","the desired set elements."].join(" ")},preservegaps:{valType:"boolean",dflt:!1,editType:"calc",description:["Determines whether or not gaps in data arrays produced by the filter operation","are preserved.","Setting this to *true* might be useful when plotting a line chart","with `connectgaps` set to *false*."].join(" ")},editType:"calc"};Cm.supplyDefaults=function(e){var t={};function r(o,s){return hp.coerce(e,t,Cm.attributes,o,s)}var n=r("enabled");if(n){var i=r("target");if(hp.isArrayOrTypedArray(i)&&i.length===0)return t.enabled=!1,t;r("preservegaps"),r("operation"),r("value");var a=VSt.getComponentMethod("calendars","handleDefaults");a(e,t,"valuecalendar",null),a(e,t,"targetcalendar",null)}return t};Cm.calcTransform=function(e,t,r){if(!r.enabled)return;var n=hp.getTargetArray(t,r);if(!n)return;var i=r.target,a=n.length;t._length&&(a=Math.min(a,t._length));var o=r.targetcalendar,s=t._arrayAttrs,l=r.preservegaps;if(typeof i=="string"){var u=hp.nestedProperty(t,i+"calendar").get();u&&(o=u)}var f=YSt.getDataToCoordFunc(e,t,i,n),c=WSt(r,f,o),h={},d={},v=0;function m(k,x){for(var M=0;M<s.length;M++){var A=hp.nestedProperty(t,s[M]);k(A,x)}}var b,g;l?(b=function(k){h[k.astr]=hp.extendDeep([],k.get()),k.set(new Array(a))},g=function(k,x){var M=h[k.astr][x];k.get()[x]=M}):(b=function(k){h[k.astr]=hp.extendDeep([],k.get()),k.set([])},g=function(k,x){var M=h[k.astr][x];k.get().push(M)}),m(b);for(var _=GSt(t.transforms,r),T=0;T<a;T++){var w=c(n[T]);w?(m(g,T),d[v++]=_(T)):l&&v++}r._indexToPoints=d,t._length=v};function WSt(e,t,r){var n=e.operation,i=e.value,a=hp.isArrayOrTypedArray(i);function o(f){return f.indexOf(n)!==-1}var s=function(f){return t(f,0,e.valuecalendar)},l=function(f){return t(f,0,r)},u;switch(o(Mz)?u=s(a?i[0]:i):o(kz)?u=a?[s(i[0]),s(i[1])]:[s(i),s(i)]:o(Sz)&&(u=a?i.map(s):[s(i)]),n){case"=":return function(f){return l(f)===u};case"!=":return function(f){return l(f)!==u};case"<":return function(f){return l(f)<u};case"<=":return function(f){return l(f)<=u};case">":return function(f){return l(f)>u};case">=":return function(f){return l(f)>=u};case"[]":return function(f){var c=l(f);return c>=u[0]&&c<=u[1]};case"()":return function(f){var c=l(f);return c>u[0]&&c<u[1]};case"[)":return function(f){var c=l(f);return c>=u[0]&&c<u[1]};case"(]":return function(f){var c=l(f);return c>u[0]&&c<=u[1]};case"][":return function(f){var c=l(f);return c<=u[0]||c>=u[1]};case")(":return function(f){var c=l(f);return c<u[0]||c>u[1]};case"](":return function(f){var c=l(f);return c<=u[0]||c>u[1]};case")[":return function(f){var c=l(f);return c<u[0]||c>=u[1]};case"{}":return function(f){return u.indexOf(l(f))!==-1};case"}{":return function(f){return u.indexOf(l(f))===-1}}}});var NCe=J((Kjt,zCe)=>{"use strict";zCe.exports=FCe()});var OCe=J(Ed=>{"use strict";var gu=gt(),XSt=o0(),ZSt=ea(),JSt=u3().pointsAccessorFunction;Ed.moduleType="transform";Ed.name="groupby";Ed.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc",description:["Determines whether this group-by transform is enabled or disabled."].join(" ")},groups:{valType:"data_array",dflt:[],editType:"calc",description:["Sets the groups in which the trace data will be split.","For example, with `x` set to *[1, 2, 3, 4]* and","`groups` set to *['a', 'b', 'a', 'b']*,","the groupby transform with split in one trace","with `x` [1, 3] and one trace with `x` [2, 4]."].join(" ")},nameformat:{valType:"string",editType:"calc",description:["Pattern by which grouped traces are named. If only one trace is present,",'defaults to the group name (`"%{group}"`), otherwise defaults to the group name','with trace name (`"%{group} (%{trace})"`). Available escape sequences are `%{group}`, which',"inserts the group name, and `%{trace}`, which inserts the trace name. If grouping","GDP data by country when more than one trace is present, for example, the",'default "%{group} (%{trace})" would return "Monaco (GDP per capita)".'].join(" ")},styles:{_isLinkedToArray:"style",target:{valType:"string",editType:"calc",description:["The group value which receives these styles."].join(" ")},value:{valType:"any",dflt:{},editType:"calc",description:["Sets each group styles.","For example, with `groups` set to *['a', 'b', 'a', 'b']*","and `styles` set to *[{target: 'a', value: { marker: { color: 'red' } }}]","marker points in group *'a'* will be drawn in red."].join(" "),_compareAsJSON:!0},editType:"calc"},editType:"calc"};Ed.supplyDefaults=function(e,t,r){var n,i={};function a(c,h){return gu.coerce(e,i,Ed.attributes,c,h)}var o=a("enabled");if(!o)return i;a("groups"),a("nameformat",r._dataLength>1?"%{group} (%{trace})":"%{group}");var s=e.styles,l=i.styles=[];if(s)for(n=0;n<s.length;n++){var u=l[n]={};gu.coerce(s[n],l[n],Ed.attributes.styles,"target");var f=gu.coerce(s[n],l[n],Ed.attributes.styles,"value");gu.isPlainObject(f)?u.value=gu.extendDeep({},f):f&&delete u.value}return i};Ed.transform=function(e,t){var r,n,i,a=[];for(n=0;n<e.length;n++)for(r=$St(e[n],t),i=0;i<r.length;i++)a.push(r[i]);return a};function $St(e,t){var r,n,i,a,o,s,l,u,f,c,h=t.transform,d=t.transformIndex,v=e.transforms[d].groups,m=JSt(e.transforms,h);if(!gu.isArrayOrTypedArray(v)||v.length===0)return[e];var b=gu.filterUnique(v),g=new Array(b.length),_=v.length,T=XSt.findArrayAttributes(e),w=h.styles||[],k={};for(r=0;r<w.length;r++)k[w[r].target]=w[r].value;h.styles&&(c=gu.keyedContainer(h,"styles","target","value.name"));var x={},M={};for(r=0;r<b.length;r++){s=b[r],x[s]=r,M[s]=0,l=g[r]=gu.extendDeepNoArrays({},e),l._group=s,l.transforms[d]._indexToPoints={};var A=null;for(c&&(A=c.get(s)),A||A===""?l.name=A:l.name=gu.templateString(h.nameformat,{trace:e.name,group:s}),u=l.transforms,l.transforms=[],n=0;n<u.length;n++)l.transforms[n]=gu.extendDeepNoArrays({},u[n]);for(n=0;n<T.length;n++)gu.nestedProperty(l,T[n]).set([])}for(i=0;i<T.length;i++){for(a=T[i],n=0,f=[];n<b.length;n++)f[n]=gu.nestedProperty(g[n],a).get();for(o=gu.nestedProperty(e,a).get(),n=0;n<_;n++)f[x[v[n]]].push(o[n])}for(n=0;n<_;n++){l=g[x[v[n]]];var p=l.transforms[d]._indexToPoints;p[M[v[n]]]=m(n),M[v[n]]++}for(r=0;r<b.length;r++)s=b[r],l=g[r],ZSt.clearExpandedTraceDefaultColors(l),l=gu.extendDeepNoArrays(l,k[s]||{});return g}});var UCe=J((eVt,BCe)=>{"use strict";BCe.exports=OCe()});var HCe=J(Em=>{"use strict";var Ez=gt(),KSt=nn(),QSt=u3().pointsAccessorFunction,dC=oi().BADNUM;Em.moduleType="transform";Em.name="sort";Em.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc",description:["Determines whether this sort transform is enabled or disabled."].join(" ")},target:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc",description:["Sets the target by which the sort transform is applied.","If a string, *target* is assumed to be a reference to a data array","in the parent trace object.","To sort about nested variables, use *.* to access them.","For example, set `target` to *marker.size* to sort","about the marker size array.","If an array, *target* is then the data array by which","the sort transform is applied."].join(" ")},order:{valType:"enumerated",values:["ascending","descending"],dflt:"ascending",editType:"calc",description:["Sets the sort transform order."].join(" ")},editType:"calc"};Em.supplyDefaults=function(e){var t={};function r(i,a){return Ez.coerce(e,t,Em.attributes,i,a)}var n=r("enabled");return n&&(r("target"),r("order")),t};Em.calcTransform=function(e,t,r){if(r.enabled){var n=Ez.getTargetArray(t,r);if(n){var i=r.target,a=n.length;t._length&&(a=Math.min(a,t._length));var o=t._arrayAttrs,s=KSt.getDataToCoordFunc(e,t,i,n),l=e5t(r,n,s,a),u=QSt(t.transforms,r),f={},c,h;for(c=0;c<o.length;c++){var d=Ez.nestedProperty(t,o[c]),v=d.get(),m=new Array(a);for(h=0;h<a;h++)m[h]=v[l[h]];d.set(m)}for(h=0;h<a;h++)f[h]=u(l[h]);r._indexToPoints=f,t._length=a}}};function e5t(e,t,r,n){var i=new Array(n),a=new Array(n),o;for(o=0;o<n;o++)i[o]={v:t[o],i:o};for(i.sort(t5t(e,r)),o=0;o<n;o++)a[o]=i[o].i;return a}function t5t(e,t){switch(e.order){case"ascending":return function(r,n){var i=t(r.v),a=t(n.v);return i===dC?1:a===dC?-1:i-a};case"descending":return function(r,n){var i=t(r.v),a=t(n.v);return i===dC?1:a===dC?-1:a-i}}}});var VCe=J((rVt,jCe)=>{"use strict";jCe.exports=HCe()});var Tl=J((nVt,GCe)=>{"use strict";var YCe=Object.getOwnPropertySymbols,r5t=Object.prototype.hasOwnProperty,n5t=Object.prototype.propertyIsEnumerable;function i5t(e){if(e==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function a5t(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de",Object.getOwnPropertyNames(e)[0]==="5")return!1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;var n=Object.getOwnPropertyNames(t).map(function(a){return t[a]});if(n.join("")!=="0123456789")return!1;var i={};return"abcdefghijklmnopqrst".split("").forEach(function(a){i[a]=a}),Object.keys(Object.assign({},i)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}GCe.exports=a5t()?Object.assign:function(e,t){for(var r,n=i5t(e),i,a=1;a<arguments.length;a++){r=Object(arguments[a]);for(var o in r)r5t.call(r,o)&&(n[o]=r[o]);if(YCe){i=YCe(r);for(var s=0;s<i.length;s++)n5t.call(r,i[s])&&(n[i[s]]=r[i[s]])}}return n}});var Al=J((iVt,XCe)=>{var gC=Tl();function WCe(){this.regionalOptions=[],this.regionalOptions[""]={invalidCalendar:"Calendar {0} not found",invalidDate:"Invalid {0} date",invalidMonth:"Invalid {0} month",invalidYear:"Invalid {0} year",differentCalendars:"Cannot mix {0} and {1} dates"},this.local=this.regionalOptions[""],this.calendars={},this._localCals={}}gC(WCe.prototype,{instance:function(e,t){e=(e||"gregorian").toLowerCase(),t=t||"";var r=this._localCals[e+"-"+t];if(!r&&this.calendars[e]&&(r=new this.calendars[e](t),this._localCals[e+"-"+t]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[""].invalidCalendar).replace(/\{0\}/,e);return r},newDate:function(e,t,r,n,i){return n=(e!=null&&e.year?e.calendar():typeof n=="string"?this.instance(n,i):n)||this.instance(),n.newDate(e,t,r)},substituteDigits:function(e){return function(t){return(t+"").replace(/[0-9]/g,function(r){return e[r]})}},substituteChineseDigits:function(e,t){return function(r){for(var n="",i=0;r>0;){var a=r%10;n=(a===0?"":e[a]+t[i])+n,i++,r=Math.floor(r/10)}return n.indexOf(e[1]+t[1])===0&&(n=n.substr(1)),n||e[0]}}});function Lz(e,t,r,n){if(this._calendar=e,this._year=t,this._month=r,this._day=n,this._calendar._validateLevel===0&&!this._calendar.isValid(this._year,this._month,this._day))throw($n.local.invalidDate||$n.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function pC(e,t){return e=""+e,"000000".substring(0,t-e.length)+e}gC(Lz.prototype,{newDate:function(e,t,r){return this._calendar.newDate(e??this,t,r)},year:function(e){return arguments.length===0?this._year:this.set(e,"y")},month:function(e){return arguments.length===0?this._month:this.set(e,"m")},day:function(e){return arguments.length===0?this._day:this.set(e,"d")},date:function(e,t,r){if(!this._calendar.isValid(e,t,r))throw($n.local.invalidDate||$n.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name);return this._year=e,this._month=t,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(e,t){return this._calendar.add(this,e,t)},set:function(e,t){return this._calendar.set(this,e,t)},compareTo:function(e){if(this._calendar.name!==e._calendar.name)throw($n.local.differentCalendars||$n.regionalOptions[""].differentCalendars).replace(/\{0\}/,this._calendar.local.name).replace(/\{1\}/,e._calendar.local.name);var t=this._year!==e._year?this._year-e._year:this._month!==e._month?this.monthOfYear()-e.monthOfYear():this._day-e._day;return t===0?0:t<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(e){return this._calendar.fromJD(e)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(e){return this._calendar.fromJSDate(e)},toString:function(){return(this.year()<0?"-":"")+pC(Math.abs(this.year()),4)+"-"+pC(this.month(),2)+"-"+pC(this.day(),2)}});function Dz(){this.shortYearCutoff="+10"}gC(Dz.prototype,{_validateLevel:0,newDate:function(e,t,r){return e==null?this.today():(e.year&&(this._validate(e,t,r,$n.local.invalidDate||$n.regionalOptions[""].invalidDate),r=e.day(),t=e.month(),e=e.year()),new Lz(this,e,t,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(e){var t=this._validate(e,this.minMonth,this.minDay,$n.local.invalidYear||$n.regionalOptions[""].invalidYear);return t.year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,$n.local.invalidYear||$n.regionalOptions[""].invalidYear);return(t.year()<0?"-":"")+pC(Math.abs(t.year()),4)},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,$n.local.invalidYear||$n.regionalOptions[""].invalidYear),12},monthOfYear:function(e,t){var r=this._validate(e,t,this.minDay,$n.local.invalidMonth||$n.regionalOptions[""].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(e,t){var r=(t+this.firstMonth-2*this.minMonth)%this.monthsInYear(e)+this.minMonth;return this._validate(e,r,this.minDay,$n.local.invalidMonth||$n.regionalOptions[""].invalidMonth),r},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,$n.local.invalidYear||$n.regionalOptions[""].invalidYear);return this.leapYear(t)?366:365},dayOfYear:function(e,t,r){var n=this._validate(e,t,r,$n.local.invalidDate||$n.regionalOptions[""].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,$n.local.invalidDate||$n.regionalOptions[""].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(e,t,r){return this._validate(e,t,r,$n.local.invalidDate||$n.regionalOptions[""].invalidDate),{}},add:function(e,t,r){return this._validate(e,this.minMonth,this.minDay,$n.local.invalidDate||$n.regionalOptions[""].invalidDate),this._correctAdd(e,this._add(e,t,r),t,r)},_add:function(e,t,r){if(this._validateLevel++,r==="d"||r==="w"){var n=e.toJD()+t*(r==="w"?this.daysInWeek():1),i=e.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=e.year()+(r==="y"?t:0),o=e.monthOfYear()+(r==="m"?t:0),i=e.day(),s=function(f){for(;o<f.minMonth;)a--,o+=f.monthsInYear(a);for(var c=f.monthsInYear(a);o>c-1+f.minMonth;)a++,o-=c,c=f.monthsInYear(a)};r==="y"?(e.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,e.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):r==="m"&&(s(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var l=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,l}catch(u){throw this._validateLevel--,u}},_correctAdd:function(e,t,r,n){if(!this.hasYearZero&&(n==="y"||n==="m")&&(t[0]===0||e.year()>0!=t[0]>0)){var i={y:[1,1,"y"],m:[1,this.monthsInYear(-1),"m"],w:[this.daysInWeek(),this.daysInYear(-1),"d"],d:[1,this.daysInYear(-1),"d"]}[n],a=r<0?-1:1;t=this._add(e,r*i[0]+a*i[1],i[2])}return e.date(t[0],t[1],t[2])},set:function(e,t,r){this._validate(e,this.minMonth,this.minDay,$n.local.invalidDate||$n.regionalOptions[""].invalidDate);var n=r==="y"?t:e.year(),i=r==="m"?t:e.month(),a=r==="d"?t:e.day();return(r==="y"||r==="m")&&(a=Math.min(a,this.daysInMonth(n,i))),e.date(n,i,a)},isValid:function(e,t,r){this._validateLevel++;var n=this.hasYearZero||e!==0;if(n){var i=this.newDate(e,t,this.minDay);n=t>=this.minMonth&&t-this.minMonth<this.monthsInYear(i)&&r>=this.minDay&&r-this.minDay<this.daysInMonth(i)}return this._validateLevel--,n},toJSDate:function(e,t,r){var n=this._validate(e,t,r,$n.local.invalidDate||$n.regionalOptions[""].invalidDate);return $n.instance().fromJD(this.toJD(n)).toJSDate()},fromJSDate:function(e){return this.fromJD($n.instance().fromJSDate(e).toJD())},_validate:function(e,t,r,n){if(e.year){if(this._validateLevel===0&&this.name!==e.calendar().name)throw($n.local.differentCalendars||$n.regionalOptions[""].differentCalendars).replace(/\{0\}/,this.local.name).replace(/\{1\}/,e.calendar().local.name);return e}try{if(this._validateLevel++,this._validateLevel===1&&!this.isValid(e,t,r))throw n.replace(/\{0\}/,this.local.name);var i=this.newDate(e,t,r);return this._validateLevel--,i}catch(a){throw this._validateLevel--,a}}});function Rz(e){this.local=this.regionalOptions[e]||this.regionalOptions[""]}Rz.prototype=new Dz;gC(Rz.prototype,{name:"Gregorian",jdEpoch:17214255e-1,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Gregorian",epochs:["BCE","CE"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"mm/dd/yyyy",firstDay:0,isRTL:!1}},leapYear:function(r){var t=this._validate(r,this.minMonth,this.minDay,$n.local.invalidYear||$n.regionalOptions[""].invalidYear),r=t.year()+(t.year()<0?1:0);return r%4===0&&(r%100!==0||r%400===0)},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(4-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,$n.local.invalidMonth||$n.regionalOptions[""].invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,$n.local.invalidDate||$n.regionalOptions[""].invalidDate);e=n.year(),t=n.month(),r=n.day(),e<0&&e++,t<3&&(t+=12,e--);var i=Math.floor(e/100),a=2-i+Math.floor(i/4);return Math.floor(365.25*(e+4716))+Math.floor(30.6001*(t+1))+r+a-1524.5},fromJD:function(e){var t=Math.floor(e+.5),r=Math.floor((t-186721625e-2)/36524.25);r=t+1+r-Math.floor(r/4);var n=r+1524,i=Math.floor((n-122.1)/365.25),a=Math.floor(365.25*i),o=Math.floor((n-a)/30.6001),s=n-a-Math.floor(o*30.6001),l=o-(o>13.5?13:1),u=i-(l>2.5?4716:4715);return u<=0&&u--,this.newDate(u,l,s)},toJSDate:function(e,t,r){var n=this._validate(e,t,r,$n.local.invalidDate||$n.regionalOptions[""].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(e){return this.newDate(e.getFullYear(),e.getMonth()+1,e.getDate())}});var $n=XCe.exports=new WCe;$n.cdate=Lz;$n.baseCalendar=Dz;$n.calendars.gregorian=Rz});var ZCe=J(()=>{var Pz=Tl(),Ps=Al();Pz(Ps.regionalOptions[""],{invalidArguments:"Invalid arguments",invalidFormat:"Cannot format a date from another calendar",missingNumberAt:"Missing number at position {0}",unknownNameAt:"Unknown name at position {0}",unexpectedLiteralAt:"Unexpected literal at position {0}",unexpectedText:"Additional text found at end"});Ps.local=Ps.regionalOptions[""];Pz(Ps.cdate.prototype,{formatDate:function(e,t){return typeof e!="string"&&(t=e,e=""),this._calendar.formatDate(e||"",this,t)}});Pz(Ps.baseCalendar.prototype,{UNIX_EPOCH:Ps.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:24*60*60,TICKS_EPOCH:Ps.instance().jdEpoch,TICKS_PER_DAY:24*60*60*1e7,ATOM:"yyyy-mm-dd",COOKIE:"D, dd M yyyy",FULL:"DD, MM d, yyyy",ISO_8601:"yyyy-mm-dd",JULIAN:"J",RFC_822:"D, d M yy",RFC_850:"DD, dd-M-yy",RFC_1036:"D, d M yy",RFC_1123:"D, d M yyyy",RFC_2822:"D, d M yyyy",RSS:"D, d M yy",TICKS:"!",TIMESTAMP:"@",W3C:"yyyy-mm-dd",formatDate:function(e,t,r){if(typeof e!="string"&&(r=t,t=e,e=""),!t)return"";if(t.calendar()!==this)throw Ps.local.invalidFormat||Ps.regionalOptions[""].invalidFormat;e=e||this.local.dateFormat,r=r||{};for(var n=r.dayNamesShort||this.local.dayNamesShort,i=r.dayNames||this.local.dayNames,a=r.monthNumbers||this.local.monthNumbers,o=r.monthNamesShort||this.local.monthNamesShort,s=r.monthNames||this.local.monthNames,l=r.calculateWeek||this.local.calculateWeek,u=function(w,k){for(var x=1;T+x<e.length&&e.charAt(T+x)===w;)x++;return T+=x-1,Math.floor(x/(k||1))>1},f=function(w,k,x,M){var A=""+k;if(u(w,M))for(;A.length<x;)A="0"+A;return A},c=function(w,k,x,M){return u(w)?M[k]:x[k]},h=this,d=function(w){return typeof a=="function"?a.call(h,w,u("m")):b(f("m",w.month(),2))},v=function(w,k){return k?typeof s=="function"?s.call(h,w):s[w.month()-h.minMonth]:typeof o=="function"?o.call(h,w):o[w.month()-h.minMonth]},m=this.local.digits,b=function(w){return r.localNumbers&&m?m(w):w},g="",_=!1,T=0;T<e.length;T++)if(_)e.charAt(T)==="'"&&!u("'")?_=!1:g+=e.charAt(T);else switch(e.charAt(T)){case"d":g+=b(f("d",t.day(),2));break;case"D":g+=c("D",t.dayOfWeek(),n,i);break;case"o":g+=f("o",t.dayOfYear(),3);break;case"w":g+=f("w",t.weekOfYear(),2);break;case"m":g+=d(t);break;case"M":g+=v(t,u("M"));break;case"y":g+=u("y",2)?t.year():(t.year()%100<10?"0":"")+t.year()%100;break;case"Y":u("Y",2),g+=t.formatYear();break;case"J":g+=t.toJD();break;case"@":g+=(t.toJD()-this.UNIX_EPOCH)*this.SECS_PER_DAY;break;case"!":g+=(t.toJD()-this.TICKS_EPOCH)*this.TICKS_PER_DAY;break;case"'":u("'")?g+="'":_=!0;break;default:g+=e.charAt(T)}return g},parseDate:function(e,t,r){if(t==null)throw Ps.local.invalidArguments||Ps.regionalOptions[""].invalidArguments;if(t=typeof t=="object"?t.toString():t+"",t==="")return null;e=e||this.local.dateFormat,r=r||{};var n=r.shortYearCutoff||this.shortYearCutoff;n=typeof n!="string"?n:this.today().year()%100+parseInt(n,10);for(var i=r.dayNamesShort||this.local.dayNamesShort,a=r.dayNames||this.local.dayNames,o=r.parseMonth||this.local.parseMonth,s=r.monthNumbers||this.local.monthNumbers,l=r.monthNamesShort||this.local.monthNamesShort,u=r.monthNames||this.local.monthNames,f=-1,c=-1,h=-1,d=-1,v=-1,m=!1,b=!1,g=function(E,C){for(var L=1;p+L<e.length&&e.charAt(p+L)===E;)L++;return p+=L-1,Math.floor(L/(C||1))>1},_=function(E,C){var L=g(E,C),R=[2,3,L?4:2,L?4:2,10,11,20]["oyYJ@!".indexOf(E)+1],I=new RegExp("^-?\\d{1,"+R+"}"),P=t.substring(A).match(I);if(!P)throw(Ps.local.missingNumberAt||Ps.regionalOptions[""].missingNumberAt).replace(/\{0\}/,A);return A+=P[0].length,parseInt(P[0],10)},T=this,w=function(){if(typeof s=="function"){g("m");var E=s.call(T,t.substring(A));return A+=E.length,E}return _("m")},k=function(E,C,L,R){for(var I=g(E,R)?L:C,P=0;P<I.length;P++)if(t.substr(A,I[P].length).toLowerCase()===I[P].toLowerCase())return A+=I[P].length,P+T.minMonth;throw(Ps.local.unknownNameAt||Ps.regionalOptions[""].unknownNameAt).replace(/\{0\}/,A)},x=function(){if(typeof u=="function"){var E=g("M")?u.call(T,t.substring(A)):l.call(T,t.substring(A));return A+=E.length,E}return k("M",l,u)},M=function(){if(t.charAt(A)!==e.charAt(p))throw(Ps.local.unexpectedLiteralAt||Ps.regionalOptions[""].unexpectedLiteralAt).replace(/\{0\}/,A);A++},A=0,p=0;p<e.length;p++)if(b)e.charAt(p)==="'"&&!g("'")?b=!1:M();else switch(e.charAt(p)){case"d":d=_("d");break;case"D":k("D",i,a);break;case"o":v=_("o");break;case"w":_("w");break;case"m":h=w();break;case"M":h=x();break;case"y":var S=p;m=!g("y",2),p=S,c=_("y",2);break;case"Y":c=_("Y",2);break;case"J":f=_("J")+.5,t.charAt(A)==="."&&(A++,_("J"));break;case"@":f=_("@")/this.SECS_PER_DAY+this.UNIX_EPOCH;break;case"!":f=_("!")/this.TICKS_PER_DAY+this.TICKS_EPOCH;break;case"*":A=t.length;break;case"'":g("'")?M():b=!0;break;default:M()}if(A<t.length)throw Ps.local.unexpectedText||Ps.regionalOptions[""].unexpectedText;if(c===-1?c=this.today().year():c<100&&m&&(c+=n===-1?1900:this.today().year()-this.today().year()%100-(c<=n?0:100)),typeof h=="string"&&(h=o.call(this,c,h)),v>-1){h=1,d=v;for(var y=this.daysInMonth(c,h);d>y;y=this.daysInMonth(c,h))h++,d-=y}return f>-1?this.fromJD(f):this.newDate(c,h,d)},determineDate:function(e,t,r,n,i){r&&typeof r!="object"&&(i=n,n=r,r=null),typeof n!="string"&&(i=n,n="");var a=this,o=function(s){try{return a.parseDate(n,s,i)}catch{}s=s.toLowerCase();for(var l=(s.match(/^c/)&&r?r.newDate():null)||a.today(),u=/([+-]?[0-9]+)\s*(d|w|m|y)?/g,f=u.exec(s);f;)l.add(parseInt(f[1],10),f[2]||"d"),f=u.exec(s);return l};return t=t?t.newDate():null,e=e==null?t:typeof e=="string"?o(e):typeof e=="number"?isNaN(e)||e===1/0||e===-1/0?t:a.today().add(e,"d"):a.newDate(e),e}})});var JCe=J(()=>{var vp=Al(),o5t=Tl(),Iz=vp.instance();function mC(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}mC.prototype=new vp.baseCalendar;o5t(mC.prototype,{name:"Chinese",jdEpoch:17214255e-1,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{"":{name:"Chinese",epochs:["BEC","EC"],monthNumbers:function(e,t){if(typeof e=="string"){var r=e.match(l5t);return r?r[0]:""}var n=this._validateYear(e),i=e.month(),a=""+this.toChineseMonth(n,i);return t&&a.length<2&&(a="0"+a),this.isIntercalaryMonth(n,i)&&(a+="i"),a},monthNames:function(e){if(typeof e=="string"){var t=e.match(u5t);return t?t[0]:""}var r=this._validateYear(e),n=e.month(),i=this.toChineseMonth(r,n),a=["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"][i-1];return this.isIntercalaryMonth(r,n)&&(a="\u95F0"+a),a},monthNamesShort:function(e){if(typeof e=="string"){var t=e.match(f5t);return t?t[0]:""}var r=this._validateYear(e),n=e.month(),i=this.toChineseMonth(r,n),a=["\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D","\u4E03","\u516B","\u4E5D","\u5341","\u5341\u4E00","\u5341\u4E8C"][i-1];return this.isIntercalaryMonth(r,n)&&(a="\u95F0"+a),a},parseMonth:function(e,t){e=this._validateYear(e);var r=parseInt(t),n;if(isNaN(r))t[0]==="\u95F0"&&(n=!0,t=t.substring(1)),t[t.length-1]==="\u6708"&&(t=t.substring(0,t.length-1)),r=1+["\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D","\u4E03","\u516B","\u4E5D","\u5341","\u5341\u4E00","\u5341\u4E8C"].indexOf(t);else{var i=t[t.length-1];n=i==="i"||i==="I"}var a=this.toMonthIndex(e,r,n);return a},dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},_validateYear:function(e,t){if(e.year&&(e=e.year()),typeof e!="number"||e<1888||e>2111)throw t.replace(/\{0\}/,this.local.name);return e},toMonthIndex:function(e,t,r){var n=this.intercalaryMonth(e),i=r&&t!==n;if(i||t<1||t>12)throw vp.local.invalidMonth.replace(/\{0\}/,this.local.name);var a;return n?!r&&t<=n?a=t-1:a=t:a=t-1,a},toChineseMonth:function(e,t){e.year&&(e=e.year(),t=e.month());var r=this.intercalaryMonth(e),n=r?12:11;if(t<0||t>n)throw vp.local.invalidMonth.replace(/\{0\}/,this.local.name);var i;return r?t<r?i=t+1:i=t:i=t+1,i},intercalaryMonth:function(e){e=this._validateYear(e);var t=dp[e-dp[0]],r=t>>13;return r},isIntercalaryMonth:function(e,t){e.year&&(e=e.year(),t=e.month());var r=this.intercalaryMonth(e);return!!r&&r===t},leapYear:function(e){return this.intercalaryMonth(e)!==0},weekOfYear:function(e,t,r){var n=this._validateYear(e,vp.local.invalidyear),i=pp[n-pp[0]],a=i>>9&4095,o=i>>5&15,s=i&31,l;l=Iz.newDate(a,o,s),l.add(4-(l.dayOfWeek()||7),"d");var u=this.toJD(e,t,r)-l.toJD();return 1+Math.floor(u/7)},monthsInYear:function(e){return this.leapYear(e)?13:12},daysInMonth:function(e,t){e.year&&(t=e.month(),e=e.year()),e=this._validateYear(e);var r=dp[e-dp[0]],n=r>>13,i=n?12:11;if(t>i)throw vp.local.invalidMonth.replace(/\{0\}/,this.local.name);var a=r&1<<12-t?30:29;return a},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,a,r,vp.local.invalidDate);e=this._validateYear(n.year()),t=n.month(),r=n.day();var i=this.isIntercalaryMonth(e,t),a=this.toChineseMonth(e,t),o=h5t(e,a,r,i);return Iz.toJD(o.year,o.month,o.day)},fromJD:function(e){var t=Iz.fromJD(e),r=c5t(t.year(),t.month(),t.day()),n=this.toMonthIndex(r.year,r.month,r.isIntercalary);return this.newDate(r.year,n,r.day)},fromString:function(e){var t=e.match(s5t),r=this._validateYear(+t[1]),n=+t[2],i=!!t[3],a=this.toMonthIndex(r,n,i),o=+t[4];return this.newDate(r,a,o)},add:function(e,t,r){var n=e.year(),i=e.month(),a=this.isIntercalaryMonth(n,i),o=this.toChineseMonth(n,i),s=Object.getPrototypeOf(mC.prototype).add.call(this,e,t,r);if(r==="y"){var l=s.year(),u=s.month(),f=this.isIntercalaryMonth(l,o),c=a&&f?this.toMonthIndex(l,o,!0):this.toMonthIndex(l,o,!1);c!==u&&s.month(c)}return s}});var s5t=/^\s*(-?\d\d\d\d|\d\d)[-/](\d?\d)([iI]?)[-/](\d?\d)/m,l5t=/^\d?\d[iI]?/m,u5t=/^闰?十?[一二三四五六七八九]?月/m,f5t=/^闰?十?[一二三四五六七八九]?/m;vp.calendars.chinese=mC;var dp=[1887,5780,5802,19157,2742,50359,1198,2646,46378,7466,3412,30122,5482,67949,2396,5294,43597,6732,6954,36181,2772,4954,18781,2396,54427,5274,6730,47781,5800,6868,21210,4790,59703,2350,5270,46667,3402,3496,38325,1388,4782,18735,2350,52374,6804,7498,44457,2906,1388,29294,4700,63789,6442,6804,56138,5802,2772,38235,1210,4698,22827,5418,63125,3476,5802,43701,2484,5302,27223,2646,70954,7466,3412,54698,5482,2412,38062,5294,2636,32038,6954,60245,2772,4826,43357,2394,5274,39501,6730,72357,5800,5844,53978,4790,2358,38039,5270,87627,3402,3496,54708,5484,4782,43311,2350,3222,27978,7498,68965,2904,5484,45677,4700,6444,39573,6804,6986,19285,2772,62811,1210,4698,47403,5418,5780,38570,5546,76469,2420,5302,51799,2646,5414,36501,3412,5546,18869,2412,54446,5276,6732,48422,6822,2900,28010,4826,92509,2394,5274,55883,6730,6820,47956,5812,2778,18779,2358,62615,5270,5450,46757,3492,5556,27318,4718,67887,2350,3222,52554,7498,3428,38252,5468,4700,31022,6444,64149,6804,6986,43861,2772,5338,35421,2650,70955,5418,5780,54954,5546,2740,38074,5302,2646,29991,3366,61011,3412,5546,43445,2412,5294,35406,6732,72998,6820,6996,52586,2778,2396,38045,5274,6698,23333,6820,64338,5812,2746,43355,2358,5270,39499,5450,79525,3492,5548],pp=[1887,966732,967231,967733,968265,968766,969297,969798,970298,970829,971330,971830,972362,972863,973395,973896,974397,974928,975428,975929,976461,976962,977462,977994,978494,979026,979526,980026,980558,981059,981559,982091,982593,983124,983624,984124,984656,985157,985656,986189,986690,987191,987722,988222,988753,989254,989754,990286,990788,991288,991819,992319,992851,993352,993851,994383,994885,995385,995917,996418,996918,997450,997949,998481,998982,999483,1000014,1000515,1001016,1001548,1002047,1002578,1003080,1003580,1004111,1004613,1005113,1005645,1006146,1006645,1007177,1007678,1008209,1008710,1009211,1009743,1010243,1010743,1011275,1011775,1012306,1012807,1013308,1013840,1014341,1014841,1015373,1015874,1016404,1016905,1017405,1017937,1018438,1018939,1019471,1019972,1020471,1021002,1021503,1022035,1022535,1023036,1023568,1024069,1024568,1025100,1025601,1026102,1026633,1027133,1027666,1028167,1028666,1029198,1029699,1030199,1030730,1031231,1031763,1032264,1032764,1033296,1033797,1034297,1034828,1035329,1035830,1036362,1036861,1037393,1037894,1038394,1038925,1039427,1039927,1040459,1040959,1041491,1041992,1042492,1043023,1043524,1044024,1044556,1045057,1045558,1046090,1046590,1047121,1047622,1048122,1048654,1049154,1049655,1050187,1050689,1051219,1051720,1052220,1052751,1053252,1053752,1054284,1054786,1055285,1055817,1056317,1056849,1057349,1057850,1058382,1058883,1059383,1059915,1060415,1060947,1061447,1061947,1062479,1062981,1063480,1064012,1064514,1065014,1065545,1066045,1066577,1067078,1067578,1068110,1068611,1069112,1069642,1070142,1070674,1071175,1071675,1072207,1072709,1073209,1073740,1074241,1074741,1075273,1075773,1076305,1076807,1077308,1077839,1078340,1078840,1079372,1079871,1080403,1080904];function c5t(e,t,r,n){var i,a;if(typeof e=="object")i=e,a=t||{};else{var o=typeof e=="number"&&e>=1888&&e<=2111;if(!o)throw new Error("Solar year outside range 1888-2111");var s=typeof t=="number"&&t>=1&&t<=12;if(!s)throw new Error("Solar month outside range 1 - 12");var l=typeof r=="number"&&r>=1&&r<=31;if(!l)throw new Error("Solar day outside range 1 - 31");i={year:e,month:t,day:r},a=n||{}}var u=pp[i.year-pp[0]],f=i.year<<9|i.month<<5|i.day;a.year=f>=u?i.year:i.year-1,u=pp[a.year-pp[0]];var c=u>>9&4095,h=u>>5&15,d=u&31,v,m=new Date(c,h-1,d),b=new Date(i.year,i.month-1,i.day);v=Math.round((b-m)/(24*3600*1e3));var g=dp[a.year-dp[0]],_;for(_=0;_<13;_++){var T=g&1<<12-_?30:29;if(v<T)break;v-=T}var w=g>>13;return!w||_<w?(a.isIntercalary=!1,a.month=1+_):_===w?(a.isIntercalary=!0,a.month=_):(a.isIntercalary=!1,a.month=_),a.day=1+v,a}function h5t(e,t,r,n,i){var a,o;if(typeof e=="object")o=e,a=t||{};else{var s=typeof e=="number"&&e>=1888&&e<=2111;if(!s)throw new Error("Lunar year outside range 1888-2111");var l=typeof t=="number"&&t>=1&&t<=12;if(!l)throw new Error("Lunar month outside range 1 - 12");var u=typeof r=="number"&&r>=1&&r<=30;if(!u)throw new Error("Lunar day outside range 1 - 30");var f;typeof n=="object"?(f=!1,a=n):(f=!!n,a=i||{}),o={year:e,month:t,day:r,isIntercalary:f}}var c;c=o.day-1;var h=dp[o.year-dp[0]],d=h>>13,v;d&&(o.month>d||o.isIntercalary)?v=o.month:v=o.month-1;for(var m=0;m<v;m++){var b=h&1<<12-m?30:29;c+=b}var g=pp[o.year-pp[0]],_=g>>9&4095,T=g>>5&15,w=g&31,k=new Date(_,T-1,w+c);return a.year=k.getFullYear(),a.month=1+k.getMonth(),a.day=k.getDate(),a}});var $Ce=J(()=>{var Lm=Al(),v5t=Tl();function qz(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}qz.prototype=new Lm.baseCalendar;v5t(qz.prototype,{name:"Coptic",jdEpoch:18250295e-1,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Coptic",epochs:["BAM","AM"],monthNames:["Thout","Paopi","Hathor","Koiak","Tobi","Meshir","Paremhat","Paremoude","Pashons","Paoni","Epip","Mesori","Pi Kogi Enavot"],monthNamesShort:["Tho","Pao","Hath","Koi","Tob","Mesh","Pat","Pad","Pash","Pao","Epi","Meso","PiK"],dayNames:["Tkyriaka","Pesnau","Pshoment","Peftoou","Ptiou","Psoou","Psabbaton"],dayNamesShort:["Tky","Pes","Psh","Pef","Pti","Pso","Psa"],dayNamesMin:["Tk","Pes","Psh","Pef","Pt","Pso","Psa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(r){var t=this._validate(r,this.minMonth,this.minDay,Lm.local.invalidYear),r=t.year()+(t.year()<0?1:0);return r%4===3||r%4===-1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,Lm.local.invalidYear||Lm.regionalOptions[""].invalidYear),13},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Lm.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===13&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,Lm.local.invalidDate);return e=n.year(),e<0&&e++,n.day()+(n.month()-1)*30+(e-1)*365+Math.floor(e/4)+this.jdEpoch-1},fromJD:function(e){var t=Math.floor(e)+.5-this.jdEpoch,r=Math.floor((t-Math.floor((t+366)/1461))/365)+1;r<=0&&r--,t=Math.floor(e)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(t/30)+1,i=t-(n-1)*30+1;return this.newDate(r,n,i)}});Lm.calendars.coptic=qz});var KCe=J(()=>{var Ld=Al(),d5t=Tl();function Fz(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}Fz.prototype=new Ld.baseCalendar;d5t(Fz.prototype,{name:"Discworld",jdEpoch:17214255e-1,daysPerMonth:[16,32,32,32,32,32,32,32,32,32,32,32,32],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Discworld",epochs:["BUC","UC"],monthNames:["Ick","Offle","February","March","April","May","June","Grune","August","Spune","Sektober","Ember","December"],monthNamesShort:["Ick","Off","Feb","Mar","Apr","May","Jun","Gru","Aug","Spu","Sek","Emb","Dec"],dayNames:["Sunday","Octeday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Oct","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Oc","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:2,isRTL:!1}},leapYear:function(e){return this._validate(e,this.minMonth,this.minDay,Ld.local.invalidYear),!1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,Ld.local.invalidYear),13},daysInYear:function(e){return this._validate(e,this.minMonth,this.minDay,Ld.local.invalidYear),400},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/8)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Ld.local.invalidMonth);return this.daysPerMonth[r.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,Ld.local.invalidDate);return(n.day()+1)%8},weekDay:function(e,t,r){var n=this.dayOfWeek(e,t,r);return n>=2&&n<=6},extraInfo:function(e,t,r){var n=this._validate(e,t,r,Ld.local.invalidDate);return{century:p5t[Math.floor((n.year()-1)/100)+1]||""}},toJD:function(e,t,r){var n=this._validate(e,t,r,Ld.local.invalidDate);return e=n.year()+(n.year()<0?1:0),t=n.month(),r=n.day(),r+(t>1?16:0)+(t>2?(t-2)*32:0)+(e-1)*400+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e+.5)-Math.floor(this.jdEpoch)-1;var t=Math.floor(e/400)+1;e-=(t-1)*400,e+=e>15?16:0;var r=Math.floor(e/32)+1,n=e-(r-1)*32+1;return this.newDate(t<=0?t-1:t,r,n)}});var p5t={20:"Fruitbat",21:"Anchovy"};Ld.calendars.discworld=Fz});var QCe=J(()=>{var Dm=Al(),g5t=Tl();function zz(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}zz.prototype=new Dm.baseCalendar;g5t(zz.prototype,{name:"Ethiopian",jdEpoch:17242205e-1,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Ethiopian",epochs:["BEE","EE"],monthNames:["Meskerem","Tikemet","Hidar","Tahesas","Tir","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehase","Pagume"],monthNamesShort:["Mes","Tik","Hid","Tah","Tir","Yek","Meg","Mia","Gen","Sen","Ham","Neh","Pag"],dayNames:["Ehud","Segno","Maksegno","Irob","Hamus","Arb","Kidame"],dayNamesShort:["Ehu","Seg","Mak","Iro","Ham","Arb","Kid"],dayNamesMin:["Eh","Se","Ma","Ir","Ha","Ar","Ki"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(r){var t=this._validate(r,this.minMonth,this.minDay,Dm.local.invalidYear),r=t.year()+(t.year()<0?1:0);return r%4===3||r%4===-1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,Dm.local.invalidYear||Dm.regionalOptions[""].invalidYear),13},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Dm.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===13&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,Dm.local.invalidDate);return e=n.year(),e<0&&e++,n.day()+(n.month()-1)*30+(e-1)*365+Math.floor(e/4)+this.jdEpoch-1},fromJD:function(e){var t=Math.floor(e)+.5-this.jdEpoch,r=Math.floor((t-Math.floor((t+366)/1461))/365)+1;r<=0&&r--,t=Math.floor(e)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(t/30)+1,i=t-(n-1)*30+1;return this.newDate(r,n,i)}});Dm.calendars.ethiopian=zz});var e6e=J(()=>{var gp=Al(),m5t=Tl();function Nz(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}Nz.prototype=new gp.baseCalendar;m5t(Nz.prototype,{name:"Hebrew",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{"":{name:"Hebrew",epochs:["BAM","AM"],monthNames:["Nisan","Iyar","Sivan","Tammuz","Av","Elul","Tishrei","Cheshvan","Kislev","Tevet","Shevat","Adar","Adar II"],monthNamesShort:["Nis","Iya","Siv","Tam","Av","Elu","Tis","Che","Kis","Tev","She","Ada","Ad2"],dayNames:["Yom Rishon","Yom Sheni","Yom Shlishi","Yom Revi'i","Yom Chamishi","Yom Shishi","Yom Shabbat"],dayNamesShort:["Ris","She","Shl","Rev","Cha","Shi","Sha"],dayNamesMin:["Ri","She","Shl","Re","Ch","Shi","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,gp.local.invalidYear);return this._leapYear(t.year())},_leapYear:function(e){return e=e<0?e+1:e,yC(e*7+1,19)<7},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,gp.local.invalidYear),this._leapYear(e.year?e.year():e)?13:12},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,gp.local.invalidYear);return e=t.year(),this.toJD(e===-1?1:e+1,7,1)-this.toJD(e,7,1)},daysInMonth:function(e,t){return e.year&&(t=e.month(),e=e.year()),this._validate(e,t,this.minDay,gp.local.invalidMonth),t===12&&this.leapYear(e)||t===8&&yC(this.daysInYear(e),10)===5?30:t===9&&yC(this.daysInYear(e),10)===3?29:this.daysPerMonth[t-1]},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==6},extraInfo:function(e,t,r){var n=this._validate(e,t,r,gp.local.invalidDate);return{yearType:(this.leapYear(n)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(n)%10-3]}},toJD:function(e,t,r){var n=this._validate(e,t,r,gp.local.invalidDate);e=n.year(),t=n.month(),r=n.day();var i=e<=0?e+1:e,a=this.jdEpoch+this._delay1(i)+this._delay2(i)+r+1;if(t<7){for(var o=7;o<=this.monthsInYear(e);o++)a+=this.daysInMonth(e,o);for(var o=1;o<t;o++)a+=this.daysInMonth(e,o)}else for(var o=7;o<t;o++)a+=this.daysInMonth(e,o);return a},_delay1:function(e){var t=Math.floor((235*e-234)/19),r=12084+13753*t,n=t*29+Math.floor(r/25920);return yC(3*(n+1),7)<3&&n++,n},_delay2:function(e){var t=this._delay1(e-1),r=this._delay1(e),n=this._delay1(e+1);return n-r===356?2:r-t===382?1:0},fromJD:function(e){e=Math.floor(e)+.5;for(var t=Math.floor((e-this.jdEpoch)*98496/35975351)-1;e>=this.toJD(t===-1?1:t+1,7,1);)t++;for(var r=e<this.toJD(t,1,1)?7:1;e>this.toJD(t,r,this.daysInMonth(t,r));)r++;var n=e-this.toJD(t,r,1)+1;return this.newDate(t,r,n)}});function yC(e,t){return e-t*Math.floor(e/t)}gp.calendars.hebrew=Nz});var t6e=J(()=>{var f3=Al(),y5t=Tl();function Oz(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}Oz.prototype=new f3.baseCalendar;y5t(Oz.prototype,{name:"Islamic",jdEpoch:19484395e-1,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Islamic",epochs:["BH","AH"],monthNames:["Muharram","Safar","Rabi' al-awwal","Rabi' al-thani","Jumada al-awwal","Jumada al-thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-ahad","Yawm al-ithnayn","Yawm ath-thulaathaa'","Yawm al-arbi'aa'","Yawm al-kham\u012Bs","Yawm al-jum'a","Yawm as-sabt"],dayNamesShort:["Aha","Ith","Thu","Arb","Kha","Jum","Sab"],dayNamesMin:["Ah","It","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,f3.local.invalidYear);return(t.year()*11+14)%30<11},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){return this.leapYear(e)?355:354},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,f3.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===12&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==5},toJD:function(e,t,r){var n=this._validate(e,t,r,f3.local.invalidDate);return e=n.year(),t=n.month(),r=n.day(),e=e<=0?e+1:e,r+Math.ceil(29.5*(t-1))+(e-1)*354+Math.floor((3+11*e)/30)+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e)+.5;var t=Math.floor((30*(e-this.jdEpoch)+10646)/10631);t=t<=0?t-1:t;var r=Math.min(12,Math.ceil((e-29-this.toJD(t,1,1))/29.5)+1),n=e-this.toJD(t,r,1)+1;return this.newDate(t,r,n)}});f3.calendars.islamic=Oz});var r6e=J(()=>{var c3=Al(),x5t=Tl();function Bz(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}Bz.prototype=new c3.baseCalendar;x5t(Bz.prototype,{name:"Julian",jdEpoch:17214235e-1,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Julian",epochs:["BC","AD"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"mm/dd/yyyy",firstDay:0,isRTL:!1}},leapYear:function(r){var t=this._validate(r,this.minMonth,this.minDay,c3.local.invalidYear),r=t.year()<0?t.year()+1:t.year();return r%4===0},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(4-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,c3.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,c3.local.invalidDate);return e=n.year(),t=n.month(),r=n.day(),e<0&&e++,t<=2&&(e--,t+=12),Math.floor(365.25*(e+4716))+Math.floor(30.6001*(t+1))+r-1524.5},fromJD:function(e){var t=Math.floor(e+.5),r=t+1524,n=Math.floor((r-122.1)/365.25),i=Math.floor(365.25*n),a=Math.floor((r-i)/30.6001),o=a-Math.floor(a<14?1:13),s=n-Math.floor(o>2?4716:4715),l=r-i-Math.floor(30.6001*a);return s<=0&&s--,this.newDate(s,o,l)}});c3.calendars.julian=Bz});var i6e=J(()=>{var Ec=Al(),b5t=Tl();function Hz(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}Hz.prototype=new Ec.baseCalendar;b5t(Hz.prototype,{name:"Mayan",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{"":{name:"Mayan",epochs:["",""],monthNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],monthNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],dayNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesMin:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],digits:null,dateFormat:"YYYY.m.d",firstDay:0,isRTL:!1,haabMonths:["Pop","Uo","Zip","Zotz","Tzec","Xul","Yaxkin","Mol","Chen","Yax","Zac","Ceh","Mac","Kankin","Muan","Pax","Kayab","Cumku","Uayeb"],tzolkinMonths:["Imix","Ik","Akbal","Kan","Chicchan","Cimi","Manik","Lamat","Muluc","Oc","Chuen","Eb","Ben","Ix","Men","Cib","Caban","Etznab","Cauac","Ahau"]}},leapYear:function(e){return this._validate(e,this.minMonth,this.minDay,Ec.local.invalidYear),!1},formatYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Ec.local.invalidYear);e=t.year();var r=Math.floor(e/400);e=e%400,e+=e<0?400:0;var n=Math.floor(e/20);return r+"."+n+"."+e%20},forYear:function(e){if(e=e.split("."),e.length<3)throw"Invalid Mayan year";for(var t=0,r=0;r<e.length;r++){var n=parseInt(e[r],10);if(Math.abs(n)>19||r>0&&n<0)throw"Invalid Mayan year";t=t*20+n}return t},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,Ec.local.invalidYear),18},weekOfYear:function(e,t,r){return this._validate(e,t,r,Ec.local.invalidDate),0},daysInYear:function(e){return this._validate(e,this.minMonth,this.minDay,Ec.local.invalidYear),360},daysInMonth:function(e,t){return this._validate(e,t,this.minDay,Ec.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,Ec.local.invalidDate);return n.day()},weekDay:function(e,t,r){return this._validate(e,t,r,Ec.local.invalidDate),!0},extraInfo:function(e,t,r){var n=this._validate(e,t,r,Ec.local.invalidDate),i=n.toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(e){e-=this.jdEpoch;var t=Uz(e+8+(18-1)*20,365);return[Math.floor(t/20)+1,Uz(t,20)]},_toTzolkin:function(e){return e-=this.jdEpoch,[n6e(e+20,20),n6e(e+4,13)]},toJD:function(e,t,r){var n=this._validate(e,t,r,Ec.local.invalidDate);return n.day()+n.month()*20+n.year()*360+this.jdEpoch},fromJD:function(e){e=Math.floor(e)+.5-this.jdEpoch;var t=Math.floor(e/360);e=e%360,e+=e<0?360:0;var r=Math.floor(e/20),n=e%20;return this.newDate(t,r,n)}});function Uz(e,t){return e-t*Math.floor(e/t)}function n6e(e,t){return Uz(e-1,t)+1}Ec.calendars.mayan=Hz});var o6e=J(()=>{var Rm=Al(),w5t=Tl();function jz(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}jz.prototype=new Rm.baseCalendar;var a6e=Rm.instance("gregorian");w5t(jz.prototype,{name:"Nanakshahi",jdEpoch:22576735e-1,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Nanakshahi",epochs:["BN","AN"],monthNames:["Chet","Vaisakh","Jeth","Harh","Sawan","Bhadon","Assu","Katak","Maghar","Poh","Magh","Phagun"],monthNamesShort:["Che","Vai","Jet","Har","Saw","Bha","Ass","Kat","Mgr","Poh","Mgh","Pha"],dayNames:["Somvaar","Mangalvar","Budhvaar","Veervaar","Shukarvaar","Sanicharvaar","Etvaar"],dayNamesShort:["Som","Mangal","Budh","Veer","Shukar","Sanichar","Et"],dayNamesMin:["So","Ma","Bu","Ve","Sh","Sa","Et"],digits:null,dateFormat:"dd-mm-yyyy",firstDay:0,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Rm.local.invalidYear||Rm.regionalOptions[""].invalidYear);return a6e.leapYear(t.year()+(t.year()<1?1:0)+1469)},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(1-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Rm.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===12&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(i,t,r){var n=this._validate(i,t,r,Rm.local.invalidMonth),i=n.year();i<0&&i++;for(var a=n.day(),o=1;o<n.month();o++)a+=this.daysPerMonth[o-1];return a+a6e.toJD(i+1468,3,13)},fromJD:function(e){e=Math.floor(e+.5);for(var t=Math.floor((e-(this.jdEpoch-1))/366);e>=this.toJD(t+1,1,1);)t++;for(var r=e-Math.floor(this.toJD(t,1,1)+.5)+1,n=1;r>this.daysInMonth(t,n);)r-=this.daysInMonth(t,n),n++;return this.newDate(t,n,r)}});Rm.calendars.nanakshahi=jz});var s6e=J(()=>{var Pm=Al(),_5t=Tl();function Vz(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}Vz.prototype=new Pm.baseCalendar;_5t(Vz.prototype,{name:"Nepali",jdEpoch:17007095e-1,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{"":{name:"Nepali",epochs:["BBS","ABS"],monthNames:["Baisakh","Jestha","Ashadh","Shrawan","Bhadra","Ashwin","Kartik","Mangsir","Paush","Mangh","Falgun","Chaitra"],monthNamesShort:["Bai","Je","As","Shra","Bha","Ash","Kar","Mang","Pau","Ma","Fal","Chai"],dayNames:["Aaitabaar","Sombaar","Manglbaar","Budhabaar","Bihibaar","Shukrabaar","Shanibaar"],dayNamesShort:["Aaita","Som","Mangl","Budha","Bihi","Shukra","Shani"],dayNamesMin:["Aai","So","Man","Bu","Bi","Shu","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:1,isRTL:!1}},leapYear:function(e){return this.daysInYear(e)!==this.daysPerYear},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Pm.local.invalidYear);if(e=t.year(),typeof this.NEPALI_CALENDAR_DATA[e]>"u")return this.daysPerYear;for(var r=0,n=this.minMonth;n<=12;n++)r+=this.NEPALI_CALENDAR_DATA[e][n];return r},daysInMonth:function(e,t){return e.year&&(t=e.month(),e=e.year()),this._validate(e,t,this.minDay,Pm.local.invalidMonth),typeof this.NEPALI_CALENDAR_DATA[e]>"u"?this.daysPerMonth[t-1]:this.NEPALI_CALENDAR_DATA[e][t]},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==6},toJD:function(e,t,r){var n=this._validate(e,t,r,Pm.local.invalidDate);e=n.year(),t=n.month(),r=n.day();var i=Pm.instance(),a=0,o=t,s=e;this._createMissingCalendarData(e);var l=e-(o>9||o===9&&r>=this.NEPALI_CALENDAR_DATA[s][0]?56:57);for(t!==9&&(a=r,o--);o!==9;)o<=0&&(o=12,s--),a+=this.NEPALI_CALENDAR_DATA[s][o],o--;return t===9?(a+=r-this.NEPALI_CALENDAR_DATA[s][0],a<0&&(a+=i.daysInYear(l))):a+=this.NEPALI_CALENDAR_DATA[s][9]-this.NEPALI_CALENDAR_DATA[s][0],i.newDate(l,1,1).add(a,"d").toJD()},fromJD:function(e){var t=Pm.instance(),r=t.fromJD(e),n=r.year(),i=r.dayOfYear(),a=n+56;this._createMissingCalendarData(a);for(var o=9,s=this.NEPALI_CALENDAR_DATA[a][0],l=this.NEPALI_CALENDAR_DATA[a][o]-s+1;i>l;)o++,o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var u=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,u)},_createMissingCalendarData:function(e){var t=this.daysPerMonth.slice(0);t.unshift(17);for(var r=e-1;r<e+2;r++)typeof this.NEPALI_CALENDAR_DATA[r]>"u"&&(this.NEPALI_CALENDAR_DATA[r]=t)},NEPALI_CALENDAR_DATA:{1970:[18,31,31,32,31,31,31,30,29,30,29,30,30],1971:[18,31,31,32,31,32,30,30,29,30,29,30,30],1972:[17,31,32,31,32,31,30,30,30,29,29,30,30],1973:[19,30,32,31,32,31,30,30,30,29,30,29,31],1974:[19,31,31,32,30,31,31,30,29,30,29,30,30],1975:[18,31,31,32,32,30,31,30,29,30,29,30,30],1976:[17,31,32,31,32,31,30,30,30,29,29,30,31],1977:[18,31,32,31,32,31,31,29,30,29,30,29,31],1978:[18,31,31,32,31,31,31,30,29,30,29,30,30],1979:[18,31,31,32,32,31,30,30,29,30,29,30,30],1980:[17,31,32,31,32,31,30,30,30,29,29,30,31],1981:[18,31,31,31,32,31,31,29,30,30,29,30,30],1982:[18,31,31,32,31,31,31,30,29,30,29,30,30],1983:[18,31,31,32,32,31,30,30,29,30,29,30,30],1984:[17,31,32,31,32,31,30,30,30,29,29,30,31],1985:[18,31,31,31,32,31,31,29,30,30,29,30,30],1986:[18,31,31,32,31,31,31,30,29,30,29,30,30],1987:[18,31,32,31,32,31,30,30,29,30,29,30,30],1988:[17,31,32,31,32,31,30,30,30,29,29,30,31],1989:[18,31,31,31,32,31,31,30,29,30,29,30,30],1990:[18,31,31,32,31,31,31,30,29,30,29,30,30],1991:[18,31,32,31,32,31,30,30,29,30,29,30,30],1992:[17,31,32,31,32,31,30,30,30,29,30,29,31],1993:[18,31,31,31,32,31,31,30,29,30,29,30,30],1994:[18,31,31,32,31,31,31,30,29,30,29,30,30],1995:[17,31,32,31,32,31,30,30,30,29,29,30,30],1996:[17,31,32,31,32,31,30,30,30,29,30,29,31],1997:[18,31,31,32,31,31,31,30,29,30,29,30,30],1998:[18,31,31,32,31,31,31,30,29,30,29,30,30],1999:[17,31,32,31,32,31,30,30,30,29,29,30,31],2e3:[17,30,32,31,32,31,30,30,30,29,30,29,31],2001:[18,31,31,32,31,31,31,30,29,30,29,30,30],2002:[18,31,31,32,32,31,30,30,29,30,29,30,30],2003:[17,31,32,31,32,31,30,30,30,29,29,30,31],2004:[17,30,32,31,32,31,30,30,30,29,30,29,31],2005:[18,31,31,32,31,31,31,30,29,30,29,30,30],2006:[18,31,31,32,32,31,30,30,29,30,29,30,30],2007:[17,31,32,31,32,31,30,30,30,29,29,30,31],2008:[17,31,31,31,32,31,31,29,30,30,29,29,31],2009:[18,31,31,32,31,31,31,30,29,30,29,30,30],2010:[18,31,31,32,32,31,30,30,29,30,29,30,30],2011:[17,31,32,31,32,31,30,30,30,29,29,30,31],2012:[17,31,31,31,32,31,31,29,30,30,29,30,30],2013:[18,31,31,32,31,31,31,30,29,30,29,30,30],2014:[18,31,31,32,32,31,30,30,29,30,29,30,30],2015:[17,31,32,31,32,31,30,30,30,29,29,30,31],2016:[17,31,31,31,32,31,31,29,30,30,29,30,30],2017:[18,31,31,32,31,31,31,30,29,30,29,30,30],2018:[18,31,32,31,32,31,30,30,29,30,29,30,30],2019:[17,31,32,31,32,31,30,30,30,29,30,29,31],2020:[17,31,31,31,32,31,31,30,29,30,29,30,30],2021:[18,31,31,32,31,31,31,30,29,30,29,30,30],2022:[17,31,32,31,32,31,30,30,30,29,29,30,30],2023:[17,31,32,31,32,31,30,30,30,29,30,29,31],2024:[17,31,31,31,32,31,31,30,29,30,29,30,30],2025:[18,31,31,32,31,31,31,30,29,30,29,30,30],2026:[17,31,32,31,32,31,30,30,30,29,29,30,31],2027:[17,30,32,31,32,31,30,30,30,29,30,29,31],2028:[17,31,31,32,31,31,31,30,29,30,29,30,30],2029:[18,31,31,32,31,32,30,30,29,30,29,30,30],2030:[17,31,32,31,32,31,30,30,30,30,30,30,31],2031:[17,31,32,31,32,31,31,31,31,31,31,31,31],2032:[17,32,32,32,32,32,32,32,32,32,32,32,32],2033:[18,31,31,32,32,31,30,30,29,30,29,30,30],2034:[17,31,32,31,32,31,30,30,30,29,29,30,31],2035:[17,30,32,31,32,31,31,29,30,30,29,29,31],2036:[17,31,31,32,31,31,31,30,29,30,29,30,30],2037:[18,31,31,32,32,31,30,30,29,30,29,30,30],2038:[17,31,32,31,32,31,30,30,30,29,29,30,31],2039:[17,31,31,31,32,31,31,29,30,30,29,30,30],2040:[17,31,31,32,31,31,31,30,29,30,29,30,30],2041:[18,31,31,32,32,31,30,30,29,30,29,30,30],2042:[17,31,32,31,32,31,30,30,30,29,29,30,31],2043:[17,31,31,31,32,31,31,29,30,30,29,30,30],2044:[17,31,31,32,31,31,31,30,29,30,29,30,30],2045:[18,31,32,31,32,31,30,30,29,30,29,30,30],2046:[17,31,32,31,32,31,30,30,30,29,29,30,31],2047:[17,31,31,31,32,31,31,30,29,30,29,30,30],2048:[17,31,31,32,31,31,31,30,29,30,29,30,30],2049:[17,31,32,31,32,31,30,30,30,29,29,30,30],2050:[17,31,32,31,32,31,30,30,30,29,30,29,31],2051:[17,31,31,31,32,31,31,30,29,30,29,30,30],2052:[17,31,31,32,31,31,31,30,29,30,29,30,30],2053:[17,31,32,31,32,31,30,30,30,29,29,30,30],2054:[17,31,32,31,32,31,30,30,30,29,30,29,31],2055:[17,31,31,32,31,31,31,30,29,30,30,29,30],2056:[17,31,31,32,31,32,30,30,29,30,29,30,30],2057:[17,31,32,31,32,31,30,30,30,29,29,30,31],2058:[17,30,32,31,32,31,30,30,30,29,30,29,31],2059:[17,31,31,32,31,31,31,30,29,30,29,30,30],2060:[17,31,31,32,32,31,30,30,29,30,29,30,30],2061:[17,31,32,31,32,31,30,30,30,29,29,30,31],2062:[17,30,32,31,32,31,31,29,30,29,30,29,31],2063:[17,31,31,32,31,31,31,30,29,30,29,30,30],2064:[17,31,31,32,32,31,30,30,29,30,29,30,30],2065:[17,31,32,31,32,31,30,30,30,29,29,30,31],2066:[17,31,31,31,32,31,31,29,30,30,29,29,31],2067:[17,31,31,32,31,31,31,30,29,30,29,30,30],2068:[17,31,31,32,32,31,30,30,29,30,29,30,30],2069:[17,31,32,31,32,31,30,30,30,29,29,30,31],2070:[17,31,31,31,32,31,31,29,30,30,29,30,30],2071:[17,31,31,32,31,31,31,30,29,30,29,30,30],2072:[17,31,32,31,32,31,30,30,29,30,29,30,30],2073:[17,31,32,31,32,31,30,30,30,29,29,30,31],2074:[17,31,31,31,32,31,31,30,29,30,29,30,30],2075:[17,31,31,32,31,31,31,30,29,30,29,30,30],2076:[16,31,32,31,32,31,30,30,30,29,29,30,30],2077:[17,31,32,31,32,31,30,30,30,29,30,29,31],2078:[17,31,31,31,32,31,31,30,29,30,29,30,30],2079:[17,31,31,32,31,31,31,30,29,30,29,30,30],2080:[16,31,32,31,32,31,30,30,30,29,29,30,30],2081:[17,31,31,32,32,31,30,30,30,29,30,30,30],2082:[17,31,32,31,32,31,30,30,30,29,30,30,30],2083:[17,31,31,32,31,31,30,30,30,29,30,30,30],2084:[17,31,31,32,31,31,30,30,30,29,30,30,30],2085:[17,31,32,31,32,31,31,30,30,29,30,30,30],2086:[17,31,32,31,32,31,30,30,30,29,30,30,30],2087:[16,31,31,32,31,31,31,30,30,29,30,30,30],2088:[16,30,31,32,32,30,31,30,30,29,30,30,30],2089:[17,31,32,31,32,31,30,30,30,29,30,30,30],2090:[17,31,32,31,32,31,30,30,30,29,30,30,30],2091:[16,31,31,32,31,31,31,30,30,29,30,30,30],2092:[16,31,31,32,32,31,30,30,30,29,30,30,30],2093:[17,31,32,31,32,31,30,30,30,29,30,30,30],2094:[17,31,31,32,31,31,30,30,30,29,30,30,30],2095:[17,31,31,32,31,31,31,30,29,30,30,30,30],2096:[17,30,31,32,32,31,30,30,29,30,29,30,30],2097:[17,31,32,31,32,31,30,30,30,29,30,30,30],2098:[17,31,31,32,31,31,31,29,30,29,30,30,31],2099:[17,31,31,32,31,31,31,30,29,29,30,30,30],2100:[17,31,32,31,32,30,31,30,29,30,29,30,30]}});Pm.calendars.nepali=Vz});var l6e=J(()=>{var rb=Al(),T5t=Tl();function xC(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}xC.prototype=new rb.baseCalendar;T5t(xC.prototype,{name:"Persian",jdEpoch:19483205e-1,daysPerMonth:[31,31,31,31,31,31,30,30,30,30,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Persian",epochs:["BP","AP"],monthNames:["Farvardin","Ordibehesht","Khordad","Tir","Mordad","Shahrivar","Mehr","Aban","Azar","Day","Bahman","Esfand"],monthNamesShort:["Far","Ord","Kho","Tir","Mor","Sha","Meh","Aba","Aza","Day","Bah","Esf"],dayNames:["Yekshambe","Doshambe","Seshambe","Ch\xE6harshambe","Panjshambe","Jom'e","Shambe"],dayNamesShort:["Yek","Do","Se","Ch\xE6","Panj","Jom","Sha"],dayNamesMin:["Ye","Do","Se","Ch","Pa","Jo","Sh"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,rb.local.invalidYear);return((t.year()-(t.year()>0?474:473))%2820+474+38)*682%2816<682},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-((n.dayOfWeek()+1)%7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,rb.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===12&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==5},toJD:function(e,t,r){var n=this._validate(e,t,r,rb.local.invalidDate);e=n.year(),t=n.month(),r=n.day();var i=e-(e>=0?474:473),a=474+Yz(i,2820);return r+(t<=7?(t-1)*31:(t-1)*30+6)+Math.floor((a*682-110)/2816)+(a-1)*365+Math.floor(i/2820)*1029983+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e)+.5;var t=e-this.toJD(475,1,1),r=Math.floor(t/1029983),n=Yz(t,1029983),i=2820;if(n!==1029982){var a=Math.floor(n/366),o=Yz(n,366);i=Math.floor((2134*a+2816*o+2815)/1028522)+a+1}var s=i+2820*r+474;s=s<=0?s-1:s;var l=e-this.toJD(s,1,1)+1,u=l<=186?Math.ceil(l/31):Math.ceil((l-6)/30),f=e-this.toJD(s,u,1)+1;return this.newDate(s,u,f)}});function Yz(e,t){return e-t*Math.floor(e/t)}rb.calendars.persian=xC;rb.calendars.jalali=xC});var u6e=J(()=>{var Im=Al(),A5t=Tl(),bC=Im.instance();function Gz(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}Gz.prototype=new Im.baseCalendar;A5t(Gz.prototype,{name:"Taiwan",jdEpoch:24194025e-1,yearsOffset:1911,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Taiwan",epochs:["BROC","ROC"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},leapYear:function(r){var t=this._validate(r,this.minMonth,this.minDay,Im.local.invalidYear),r=this._t2gYear(t.year());return bC.leapYear(r)},weekOfYear:function(i,t,r){var n=this._validate(i,this.minMonth,this.minDay,Im.local.invalidYear),i=this._t2gYear(n.year());return bC.weekOfYear(i,n.month(),n.day())},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Im.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(i,t,r){var n=this._validate(i,t,r,Im.local.invalidDate),i=this._t2gYear(n.year());return bC.toJD(i,n.month(),n.day())},fromJD:function(e){var t=bC.fromJD(e),r=this._g2tYear(t.year());return this.newDate(r,t.month(),t.day())},_t2gYear:function(e){return e+this.yearsOffset+(e>=-this.yearsOffset&&e<=-1?1:0)},_g2tYear:function(e){return e-this.yearsOffset-(e>=1&&e<=this.yearsOffset?1:0)}});Im.calendars.taiwan=Gz});var f6e=J(()=>{var qm=Al(),M5t=Tl(),wC=qm.instance();function Wz(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}Wz.prototype=new qm.baseCalendar;M5t(Wz.prototype,{name:"Thai",jdEpoch:15230985e-1,yearsOffset:543,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Thai",epochs:["BBE","BE"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(r){var t=this._validate(r,this.minMonth,this.minDay,qm.local.invalidYear),r=this._t2gYear(t.year());return wC.leapYear(r)},weekOfYear:function(i,t,r){var n=this._validate(i,this.minMonth,this.minDay,qm.local.invalidYear),i=this._t2gYear(n.year());return wC.weekOfYear(i,n.month(),n.day())},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,qm.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(i,t,r){var n=this._validate(i,t,r,qm.local.invalidDate),i=this._t2gYear(n.year());return wC.toJD(i,n.month(),n.day())},fromJD:function(e){var t=wC.fromJD(e),r=this._g2tYear(t.year());return this.newDate(r,t.month(),t.day())},_t2gYear:function(e){return e-this.yearsOffset-(e>=1&&e<=this.yearsOffset?1:0)},_g2tYear:function(e){return e+this.yearsOffset+(e>=-this.yearsOffset&&e<=-1?1:0)}});qm.calendars.thai=Wz});var c6e=J(()=>{var Fm=Al(),k5t=Tl();function Xz(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}Xz.prototype=new Fm.baseCalendar;k5t(Xz.prototype,{name:"UmmAlQura",hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Umm al-Qura",epochs:["BH","AH"],monthNames:["Al-Muharram","Safar","Rabi' al-awwal","Rabi' Al-Thani","Jumada Al-Awwal","Jumada Al-Thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-Ahad","Yawm al-Ithnain","Yawm al-Thal\u0101th\u0101\u2019","Yawm al-Arba\u2018\u0101\u2019","Yawm al-Kham\u012Bs","Yawm al-Jum\u2018a","Yawm al-Sabt"],dayNamesMin:["Ah","Ith","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!0}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Fm.local.invalidYear);return this.daysInYear(t.year())===355},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){for(var t=0,r=1;r<=12;r++)t+=this.daysInMonth(e,r);return t},daysInMonth:function(e,t){for(var r=this._validate(e,t,this.minDay,Fm.local.invalidMonth),n=r.toJD()-24e5+.5,i=0,a=0;a<mp.length;a++){if(mp[a]>n)return mp[i]-mp[i-1];i++}return 30},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==5},toJD:function(e,t,r){var n=this._validate(e,t,r,Fm.local.invalidDate),i=12*(n.year()-1)+n.month()-15292,a=n.day()+mp[i-1]-1;return a+24e5-.5},fromJD:function(e){for(var t=e-24e5+.5,r=0,n=0;n<mp.length&&!(mp[n]>t);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),o=a+1,s=i-12*a,l=t-mp[r-1]+1;return this.newDate(o,s,l)},isValid:function(e,t,r){var n=Fm.baseCalendar.prototype.isValid.apply(this,arguments);return n&&(e=e.year!=null?e.year:e,n=e>=1276&&e<=1500),n},_validate:function(e,t,r,n){var i=Fm.baseCalendar.prototype._validate.apply(this,arguments);if(i.year<1276||i.year>1500)throw n.replace(/\{0\}/,this.local.name);return i}});Fm.calendars.ummalqura=Xz;var mp=[20,50,79,109,138,168,197,227,256,286,315,345,374,404,433,463,492,522,551,581,611,641,670,700,729,759,788,818,847,877,906,936,965,995,1024,1054,1083,1113,1142,1172,1201,1231,1260,1290,1320,1350,1379,1409,1438,1468,1497,1527,1556,1586,1615,1645,1674,1704,1733,1763,1792,1822,1851,1881,1910,1940,1969,1999,2028,2058,2087,2117,2146,2176,2205,2235,2264,2294,2323,2353,2383,2413,2442,2472,2501,2531,2560,2590,2619,2649,2678,2708,2737,2767,2796,2826,2855,2885,2914,2944,2973,3003,3032,3062,3091,3121,3150,3180,3209,3239,3268,3298,3327,3357,3386,3416,3446,3476,3505,3535,3564,3594,3623,3653,3682,3712,3741,3771,3800,3830,3859,3889,3918,3948,3977,4007,4036,4066,4095,4125,4155,4185,4214,4244,4273,4303,4332,4362,4391,4421,4450,4480,4509,4539,4568,4598,4627,4657,4686,4716,4745,4775,4804,4834,4863,4893,4922,4952,4981,5011,5040,5070,5099,5129,5158,5188,5218,5248,5277,5307,5336,5366,5395,5425,5454,5484,5513,5543,5572,5602,5631,5661,5690,5720,5749,5779,5808,5838,5867,5897,5926,5956,5985,6015,6044,6074,6103,6133,6162,6192,6221,6251,6281,6311,6340,6370,6399,6429,6458,6488,6517,6547,6576,6606,6635,6665,6694,6724,6753,6783,6812,6842,6871,6901,6930,6960,6989,7019,7048,7078,7107,7137,7166,7196,7225,7255,7284,7314,7344,7374,7403,7433,7462,7492,7521,7551,7580,7610,7639,7669,7698,7728,7757,7787,7816,7846,7875,7905,7934,7964,7993,8023,8053,8083,8112,8142,8171,8201,8230,8260,8289,8319,8348,8378,8407,8437,8466,8496,8525,8555,8584,8614,8643,8673,8702,8732,8761,8791,8821,8850,8880,8909,8938,8968,8997,9027,9056,9086,9115,9145,9175,9205,9234,9264,9293,9322,9352,9381,9410,9440,9470,9499,9529,9559,9589,9618,9648,9677,9706,9736,9765,9794,9824,9853,9883,9913,9943,9972,10002,10032,10061,10090,10120,10149,10178,10208,10237,10267,10297,10326,10356,10386,10415,10445,10474,10504,10533,10562,10592,10621,10651,10680,10710,10740,10770,10799,10829,10858,10888,10917,10947,10976,11005,11035,11064,11094,11124,11153,11183,11213,11242,11272,11301,11331,11360,11389,11419,11448,11478,11507,11537,11567,11596,11626,11655,11685,11715,11744,11774,11803,11832,11862,11891,11921,11950,11980,12010,12039,12069,12099,12128,12158,12187,12216,12246,12275,12304,12334,12364,12393,12423,12453,12483,12512,12542,12571,12600,12630,12659,12688,12718,12747,12777,12807,12837,12866,12896,12926,12955,12984,13014,13043,13072,13102,13131,13161,13191,13220,13250,13280,13310,13339,13368,13398,13427,13456,13486,13515,13545,13574,13604,13634,13664,13693,13723,13752,13782,13811,13840,13870,13899,13929,13958,13988,14018,14047,14077,14107,14136,14166,14195,14224,14254,14283,14313,14342,14372,14401,14431,14461,14490,14520,14550,14579,14609,14638,14667,14697,14726,14756,14785,14815,14844,14874,14904,14933,14963,14993,15021,15051,15081,15110,15140,15169,15199,15228,15258,15287,15317,15347,15377,15406,15436,15465,15494,15524,15553,15582,15612,15641,15671,15701,15731,15760,15790,15820,15849,15878,15908,15937,15966,15996,16025,16055,16085,16114,16144,16174,16204,16233,16262,16292,16321,16350,16380,16409,16439,16468,16498,16528,16558,16587,16617,16646,16676,16705,16734,16764,16793,16823,16852,16882,16912,16941,16971,17001,17030,17060,17089,17118,17148,17177,17207,17236,17266,17295,17325,17355,17384,17414,17444,17473,17502,17532,17561,17591,17620,17650,17679,17709,17738,17768,17798,17827,17857,17886,17916,17945,17975,18004,18034,18063,18093,18122,18152,18181,18211,18241,18270,18300,18330,18359,18388,18418,18447,18476,18506,18535,18565,18595,18625,18654,18684,18714,18743,18772,18802,18831,18860,18890,18919,18949,18979,19008,19038,19068,19098,19127,19156,19186,19215,19244,19274,19303,19333,19362,19392,19422,19452,19481,19511,19540,19570,19599,19628,19658,19687,19717,19746,19776,19806,19836,19865,19895,19924,19954,19983,20012,20042,20071,20101,20130,20160,20190,20219,20249,20279,20308,20338,20367,20396,20426,20455,20485,20514,20544,20573,20603,20633,20662,20692,20721,20751,20780,20810,20839,20869,20898,20928,20957,20987,21016,21046,21076,21105,21135,21164,21194,21223,21253,21282,21312,21341,21371,21400,21430,21459,21489,21519,21548,21578,21607,21637,21666,21696,21725,21754,21784,21813,21843,21873,21902,21932,21962,21991,22021,22050,22080,22109,22138,22168,22197,22227,22256,22286,22316,22346,22375,22405,22434,22464,22493,22522,22552,22581,22611,22640,22670,22700,22730,22759,22789,22818,22848,22877,22906,22936,22965,22994,23024,23054,23083,23113,23143,23173,23202,23232,23261,23290,23320,23349,23379,23408,23438,23467,23497,23527,23556,23586,23616,23645,23674,23704,23733,23763,23792,23822,23851,23881,23910,23940,23970,23999,24029,24058,24088,24117,24147,24176,24206,24235,24265,24294,24324,24353,24383,24413,24442,24472,24501,24531,24560,24590,24619,24648,24678,24707,24737,24767,24796,24826,24856,24885,24915,24944,24974,25003,25032,25062,25091,25121,25150,25180,25210,25240,25269,25299,25328,25358,25387,25416,25446,25475,25505,25534,25564,25594,25624,25653,25683,25712,25742,25771,25800,25830,25859,25888,25918,25948,25977,26007,26037,26067,26096,26126,26155,26184,26214,26243,26272,26302,26332,26361,26391,26421,26451,26480,26510,26539,26568,26598,26627,26656,26686,26715,26745,26775,26805,26834,26864,26893,26923,26952,26982,27011,27041,27070,27099,27129,27159,27188,27218,27248,27277,27307,27336,27366,27395,27425,27454,27484,27513,27542,27572,27602,27631,27661,27691,27720,27750,27779,27809,27838,27868,27897,27926,27956,27985,28015,28045,28074,28104,28134,28163,28193,28222,28252,28281,28310,28340,28369,28399,28428,28458,28488,28517,28547,28577,28607,28636,28665,28695,28724,28754,28783,28813,28843,28872,28901,28931,28960,28990,29019,29049,29078,29108,29137,29167,29196,29226,29255,29285,29315,29345,29375,29404,29434,29463,29492,29522,29551,29580,29610,29640,29669,29699,29729,29759,29788,29818,29847,29876,29906,29935,29964,29994,30023,30053,30082,30112,30141,30171,30200,30230,30259,30289,30318,30348,30378,30408,30437,30467,30496,30526,30555,30585,30614,30644,30673,30703,30732,30762,30791,30821,30850,30880,30909,30939,30968,30998,31027,31057,31086,31116,31145,31175,31204,31234,31263,31293,31322,31352,31381,31411,31441,31471,31500,31530,31559,31589,31618,31648,31676,31706,31736,31766,31795,31825,31854,31884,31913,31943,31972,32002,32031,32061,32090,32120,32150,32180,32209,32239,32268,32298,32327,32357,32386,32416,32445,32475,32504,32534,32563,32593,32622,32652,32681,32711,32740,32770,32799,32829,32858,32888,32917,32947,32976,33006,33035,33065,33094,33124,33153,33183,33213,33243,33272,33302,33331,33361,33390,33420,33450,33479,33509,33539,33568,33598,33627,33657,33686,33716,33745,33775,33804,33834,33863,33893,33922,33952,33981,34011,34040,34069,34099,34128,34158,34187,34217,34247,34277,34306,34336,34365,34395,34424,34454,34483,34512,34542,34571,34601,34631,34660,34690,34719,34749,34778,34808,34837,34867,34896,34926,34955,34985,35015,35044,35074,35103,35133,35162,35192,35222,35251,35280,35310,35340,35370,35399,35429,35458,35488,35517,35547,35576,35605,35635,35665,35694,35723,35753,35782,35811,35841,35871,35901,35930,35960,35989,36019,36048,36078,36107,36136,36166,36195,36225,36254,36284,36314,36343,36373,36403,36433,36462,36492,36521,36551,36580,36610,36639,36669,36698,36728,36757,36786,36816,36845,36875,36904,36934,36963,36993,37022,37052,37081,37111,37141,37170,37200,37229,37259,37288,37318,37347,37377,37406,37436,37465,37495,37524,37554,37584,37613,37643,37672,37701,37731,37760,37790,37819,37849,37878,37908,37938,37967,37997,38027,38056,38085,38115,38144,38174,38203,38233,38262,38292,38322,38351,38381,38410,38440,38469,38499,38528,38558,38587,38617,38646,38676,38705,38735,38764,38794,38823,38853,38882,38912,38941,38971,39001,39030,39059,39089,39118,39148,39178,39208,39237,39267,39297,39326,39355,39385,39414,39444,39473,39503,39532,39562,39592,39621,39650,39680,39709,39739,39768,39798,39827,39857,39886,39916,39946,39975,40005,40035,40064,40094,40123,40153,40182,40212,40241,40271,40300,40330,40359,40389,40418,40448,40477,40507,40536,40566,40595,40625,40655,40685,40714,40744,40773,40803,40832,40862,40892,40921,40951,40980,41009,41039,41068,41098,41127,41157,41186,41216,41245,41275,41304,41334,41364,41393,41422,41452,41481,41511,41540,41570,41599,41629,41658,41688,41718,41748,41777,41807,41836,41865,41894,41924,41953,41983,42012,42042,42072,42102,42131,42161,42190,42220,42249,42279,42308,42337,42367,42397,42426,42456,42485,42515,42545,42574,42604,42633,42662,42692,42721,42751,42780,42810,42839,42869,42899,42929,42958,42988,43017,43046,43076,43105,43135,43164,43194,43223,43253,43283,43312,43342,43371,43401,43430,43460,43489,43519,43548,43578,43607,43637,43666,43696,43726,43755,43785,43814,43844,43873,43903,43932,43962,43991,44021,44050,44080,44109,44139,44169,44198,44228,44258,44287,44317,44346,44375,44405,44434,44464,44493,44523,44553,44582,44612,44641,44671,44700,44730,44759,44788,44818,44847,44877,44906,44936,44966,44996,45025,45055,45084,45114,45143,45172,45202,45231,45261,45290,45320,45350,45380,45409,45439,45468,45498,45527,45556,45586,45615,45644,45674,45704,45733,45763,45793,45823,45852,45882,45911,45940,45970,45999,46028,46058,46088,46117,46147,46177,46206,46236,46265,46295,46324,46354,46383,46413,46442,46472,46501,46531,46560,46590,46620,46649,46679,46708,46738,46767,46797,46826,46856,46885,46915,46944,46974,47003,47033,47063,47092,47122,47151,47181,47210,47240,47269,47298,47328,47357,47387,47417,47446,47476,47506,47535,47565,47594,47624,47653,47682,47712,47741,47771,47800,47830,47860,47890,47919,47949,47978,48008,48037,48066,48096,48125,48155,48184,48214,48244,48273,48303,48333,48362,48392,48421,48450,48480,48509,48538,48568,48598,48627,48657,48687,48717,48746,48776,48805,48834,48864,48893,48922,48952,48982,49011,49041,49071,49100,49130,49160,49189,49218,49248,49277,49306,49336,49365,49395,49425,49455,49484,49514,49543,49573,49602,49632,49661,49690,49720,49749,49779,49809,49838,49868,49898,49927,49957,49986,50016,50045,50075,50104,50133,50163,50192,50222,50252,50281,50311,50340,50370,50400,50429,50459,50488,50518,50547,50576,50606,50635,50665,50694,50724,50754,50784,50813,50843,50872,50902,50931,50960,50990,51019,51049,51078,51108,51138,51167,51197,51227,51256,51286,51315,51345,51374,51403,51433,51462,51492,51522,51552,51582,51611,51641,51670,51699,51729,51758,51787,51816,51846,51876,51906,51936,51965,51995,52025,52054,52083,52113,52142,52171,52200,52230,52260,52290,52319,52349,52379,52408,52438,52467,52497,52526,52555,52585,52614,52644,52673,52703,52733,52762,52792,52822,52851,52881,52910,52939,52969,52998,53028,53057,53087,53116,53146,53176,53205,53235,53264,53294,53324,53353,53383,53412,53441,53471,53500,53530,53559,53589,53619,53648,53678,53708,53737,53767,53796,53825,53855,53884,53913,53943,53973,54003,54032,54062,54092,54121,54151,54180,54209,54239,54268,54297,54327,54357,54387,54416,54446,54476,54505,54535,54564,54593,54623,54652,54681,54711,54741,54770,54800,54830,54859,54889,54919,54948,54977,55007,55036,55066,55095,55125,55154,55184,55213,55243,55273,55302,55332,55361,55391,55420,55450,55479,55508,55538,55567,55597,55627,55657,55686,55716,55745,55775,55804,55834,55863,55892,55922,55951,55981,56011,56040,56070,56100,56129,56159,56188,56218,56247,56276,56306,56335,56365,56394,56424,56454,56483,56513,56543,56572,56601,56631,56660,56690,56719,56749,56778,56808,56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,65401,65431,65460,65490,65520,65549,65579,65608,65638,65667,65697,65726,65755,65785,65815,65844,65874,65903,65933,65963,65992,66022,66051,66081,66110,66140,66169,66199,66228,66258,66287,66317,66346,66376,66405,66435,66465,66494,66524,66553,66583,66612,66641,66671,66700,66730,66760,66789,66819,66849,66878,66908,66937,66967,66996,67025,67055,67084,67114,67143,67173,67203,67233,67262,67292,67321,67351,67380,67409,67439,67468,67497,67527,67557,67587,67617,67646,67676,67705,67735,67764,67793,67823,67852,67882,67911,67941,67971,68e3,68030,68060,68089,68119,68148,68177,68207,68236,68266,68295,68325,68354,68384,68414,68443,68473,68502,68532,68561,68591,68620,68650,68679,68708,68738,68768,68797,68827,68857,68886,68916,68946,68975,69004,69034,69063,69092,69122,69152,69181,69211,69240,69270,69300,69330,69359,69388,69418,69447,69476,69506,69535,69565,69595,69624,69654,69684,69713,69743,69772,69802,69831,69861,69890,69919,69949,69978,70008,70038,70067,70097,70126,70156,70186,70215,70245,70274,70303,70333,70362,70392,70421,70451,70481,70510,70540,70570,70599,70629,70658,70687,70717,70746,70776,70805,70835,70864,70894,70924,70954,70983,71013,71042,71071,71101,71130,71159,71189,71218,71248,71278,71308,71337,71367,71397,71426,71455,71485,71514,71543,71573,71602,71632,71662,71691,71721,71751,71781,71810,71839,71869,71898,71927,71957,71986,72016,72046,72075,72105,72135,72164,72194,72223,72253,72282,72311,72341,72370,72400,72429,72459,72489,72518,72548,72577,72607,72637,72666,72695,72725,72754,72784,72813,72843,72872,72902,72931,72961,72991,73020,73050,73080,73109,73139,73168,73197,73227,73256,73286,73315,73345,73375,73404,73434,73464,73493,73523,73552,73581,73611,73640,73669,73699,73729,73758,73788,73818,73848,73877,73907,73936,73965,73995,74024,74053,74083,74113,74142,74172,74202,74231,74261,74291,74320,74349,74379,74408,74437,74467,74497,74526,74556,74586,74615,74645,74675,74704,74733,74763,74792,74822,74851,74881,74910,74940,74969,74999,75029,75058,75088,75117,75147,75176,75206,75235,75264,75294,75323,75353,75383,75412,75442,75472,75501,75531,75560,75590,75619,75648,75678,75707,75737,75766,75796,75826,75856,75885,75915,75944,75974,76003,76032,76062,76091,76121,76150,76180,76210,76239,76269,76299,76328,76358,76387,76416,76446,76475,76505,76534,76564,76593,76623,76653,76682,76712,76741,76771,76801,76830,76859,76889,76918,76948,76977,77007,77036,77066,77096,77125,77155,77185,77214,77243,77273,77302,77332,77361,77390,77420,77450,77479,77509,77539,77569,77598,77627,77657,77686,77715,77745,77774,77804,77833,77863,77893,77923,77952,77982,78011,78041,78070,78099,78129,78158,78188,78217,78247,78277,78307,78336,78366,78395,78425,78454,78483,78513,78542,78572,78601,78631,78661,78690,78720,78750,78779,78808,78838,78867,78897,78926,78956,78985,79015,79044,79074,79104,79133,79163,79192,79222,79251,79281,79310,79340,79369,79399,79428,79458,79487,79517,79546,79576,79606,79635,79665,79695,79724,79753,79783,79812,79841,79871,79900,79930,79960,79990]});var v6e=J((qVt,h6e)=>{"use strict";h6e.exports=Al();ZCe();JCe();$Ce();KCe();QCe();e6e();t6e();r6e();i6e();o6e();s6e();l6e();u6e();f6e();c6e()});var b6e=J((FVt,x6e)=>{"use strict";var p6e=v6e(),h3=gt(),g6e=oi(),S5t=g6e.EPOCHJD,C5t=g6e.ONEDAY,$z={valType:"enumerated",values:h3.sortObjectKeys(p6e.calendars),editType:"calc",dflt:"gregorian"},m6e=function(e,t,r,n){var i={};return i[r]=$z,h3.coerce(e,t,i,r,n)},E5t=function(e,t,r,n){for(var i=0;i<r.length;i++)m6e(e,t,r[i]+"calendar",n.calendar)},L5t={chinese:"2000-01-01",coptic:"2000-01-01",discworld:"2000-01-01",ethiopian:"2000-01-01",hebrew:"5000-01-01",islamic:"1000-01-01",julian:"2000-01-01",mayan:"5000-01-01",nanakshahi:"1000-01-01",nepali:"2000-01-01",persian:"1000-01-01",jalali:"1000-01-01",taiwan:"1000-01-01",thai:"2000-01-01",ummalqura:"1400-01-01"},D5t={chinese:"2000-01-02",coptic:"2000-01-03",discworld:"2000-01-03",ethiopian:"2000-01-05",hebrew:"5000-01-01",islamic:"1000-01-02",julian:"2000-01-03",mayan:"5000-01-01",nanakshahi:"1000-01-05",nepali:"2000-01-05",persian:"1000-01-01",jalali:"1000-01-01",taiwan:"1000-01-04",thai:"2000-01-04",ummalqura:"1400-01-06"},R5t={chinese:["2000-01-01","2001-01-01"],coptic:["1700-01-01","1701-01-01"],discworld:["1800-01-01","1801-01-01"],ethiopian:["2000-01-01","2001-01-01"],hebrew:["5700-01-01","5701-01-01"],islamic:["1400-01-01","1401-01-01"],julian:["2000-01-01","2001-01-01"],mayan:["5200-01-01","5201-01-01"],nanakshahi:["0500-01-01","0501-01-01"],nepali:["2000-01-01","2001-01-01"],persian:["1400-01-01","1401-01-01"],jalali:["1400-01-01","1401-01-01"],taiwan:["0100-01-01","0101-01-01"],thai:["2500-01-01","2501-01-01"],ummalqura:["1400-01-01","1401-01-01"]},_C="##",P5t={d:{0:"dd","-":"d"},e:{0:"d","-":"d"},a:{0:"D","-":"D"},A:{0:"DD","-":"DD"},j:{0:"oo","-":"o"},W:{0:"ww","-":"w"},m:{0:"mm","-":"m"},b:{0:"M","-":"M"},B:{0:"MM","-":"MM"},y:{0:"yy","-":"yy"},Y:{0:"yyyy","-":"yyyy"},U:_C,w:_C,c:{0:"D M d %X yyyy","-":"D M d %X yyyy"},x:{0:"mm/dd/yyyy","-":"mm/dd/yyyy"}};function I5t(e,t,r){for(var n=Math.floor((t+.05)/C5t)+S5t,i=y6e(r).fromJD(n),a=0,o,s,l,u,f;(a=e.indexOf("%",a))!==-1;)o=e.charAt(a+1),o==="0"||o==="-"||o==="_"?(l=3,s=e.charAt(a+2),o==="_"&&(o="-")):(s=o,o="0",l=2),u=P5t[s],u?(u===_C?f=_C:f=i.formatDate(u[o]),e=e.substr(0,a)+f+e.substr(a+l),a+=f.length):a+=l;return e}var d6e={};function y6e(e){var t=d6e[e];return t||(t=d6e[e]=p6e.instance(e),t)}function zm(e){return h3.extendFlat({},$z,{description:e})}function Kz(e){return"Sets the calendar system to use with `"+e+"` date data."}var Jz={xcalendar:zm(Kz("x"))},bv=h3.extendFlat({},Jz,{ycalendar:zm(Kz("y"))}),Zz=h3.extendFlat({},bv,{zcalendar:zm(Kz("z"))}),nb=zm(["Sets the calendar system to use for `range` and `tick0`","if this is a date axis. This does not set the calendar for","interpreting data on this axis, that's specified in the trace","or via the global `layout.calendar`"].join(" "));x6e.exports={moduleType:"component",name:"calendars",schema:{traces:{scatter:bv,bar:bv,box:bv,heatmap:bv,contour:bv,histogram:bv,histogram2d:bv,histogram2dcontour:bv,scatter3d:Zz,surface:Zz,mesh3d:Zz,scattergl:bv,ohlc:Jz,candlestick:Jz},layout:{calendar:zm(["Sets the default calendar system to use for interpreting and","displaying dates throughout the plot."].join(" "))},subplots:{xaxis:{calendar:nb},yaxis:{calendar:nb},scene:{xaxis:{calendar:nb},yaxis:{calendar:nb},zaxis:{calendar:nb}},polar:{radialaxis:{calendar:nb}}},transforms:{filter:{valuecalendar:zm(["WARNING: All transforms are deprecated and may be removed from the API in next major version.","Sets the calendar system to use for `value`, if it is a date."].join(" ")),targetcalendar:zm(["WARNING: All transforms are deprecated and may be removed from the API in next major version.","Sets the calendar system to use for `target`, if it is an","array of dates. If `target` is a string (eg *x*) we use the","corresponding trace attribute (eg `xcalendar`) if it exists,","even if `targetcalendar` is provided."].join(" "))}}},layoutAttributes:$z,handleDefaults:m6e,handleTraceDefaults:E5t,CANONICAL_SUNDAY:D5t,CANONICAL_TICK:L5t,DFLTRANGE:R5t,getCal:y6e,worldCalFmt:I5t}});var _6e=J((zVt,w6e)=>{"use strict";w6e.exports=b6e()});var A6e=J((NVt,T6e)=>{"use strict";T6e.exports={moduleType:"locale",name:"af",dictionary:{},format:{days:["Sondag","Maandag","Dinsdag","Woensdag","Donderdag","Vrydag","Saterdag"],shortDays:["Son","Maan","Dins","Woens","Don","Vry","Sat"],months:["Januarie","Februarie","Maart","April","Mei","Junie","Julie","Augustus","September","Oktober","November","Desember"],shortMonths:["Jan","Feb","Mrt","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Des"],date:"%d/%m/%Y"}}});var k6e=J((OVt,M6e)=>{"use strict";M6e.exports={moduleType:"locale",name:"am",dictionary:{},format:{days:["\u1230\u1295\u12F4\u12ED","\u1218\u1295\u12F4\u12ED","\u1275\u12E9\u1235\u12F4\u12ED","\u12CC\u1295\u1235\u12F4\u12ED","\u1270\u122D\u1230\u12F4\u12ED","\u134D\u122B\u12ED\u12F4\u12ED","\u1233\u1270\u122D\u12F4\u12ED"],shortDays:["\u1230\u1295\u12F4","\u1218\u1295\u12F4","\u1275\u12E9\u1235","\u12CC\u1295\u1235","\u1270\u122D\u1230","\u134D\u122B\u12ED","\u1233\u1270\u122D"],months:["\u1303\u1295\u12CB\u122A","\u1348\u1265\u122D\u12CB\u122A","\u121B\u122D\u127D","\u12A0\u1355\u122A\u120D","\u121C\u12ED","\u1301\u1295","\u1301\u120B\u12ED","\u12A6\u1308\u1235\u1275","\u1234\u1355\u1274\u121D\u1260\u122D","\u12A6\u12AD\u1276\u1260\u122D","\u1296\u126C\u121D\u1260\u122D","\u12F2\u1234\u121D\u1260\u122D"],shortMonths:["\u1303\u1295\u12CB","\u1348\u1265\u122D","\u121B\u122D\u127D","\u12A0\u1355\u122A","\u121C\u12ED","\u1301\u1295","\u1301\u120B\u12ED","\u12A6\u1308\u1235","\u1234\u1355\u1274","\u12A6\u12AD\u1276","\u1296\u126C\u121D","\u12F2\u1234\u121D"],date:"%d/%m/%Y"}}});var C6e=J((BVt,S6e)=>{"use strict";S6e.exports={moduleType:"locale",name:"ar-DZ",dictionary:{},format:{days:["\u0627\u0644\u0623\u062D\u062F","\u0627\u0644\u0627\u062B\u0646\u064A\u0646","\u0627\u0644\u062B\u0644\u0627\u062B\u0627\u0621","\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621","\u0627\u0644\u062E\u0645\u064A\u0633","\u0627\u0644\u062C\u0645\u0639\u0629","\u0627\u0644\u0633\u0628\u062A"],shortDays:["\u0627\u0644\u0623\u062D\u062F","\u0627\u0644\u0627\u062B\u0646\u064A\u0646","\u0627\u0644\u062B\u0644\u0627\u062B\u0627\u0621","\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621","\u0627\u0644\u062E\u0645\u064A\u0633","\u0627\u0644\u062C\u0645\u0639\u0629","\u0627\u0644\u0633\u0628\u062A"],months:["\u062C\u0627\u0646\u0641\u064A","\u0641\u064A\u0641\u0631\u064A","\u0645\u0627\u0631\u0633","\u0623\u0641\u0631\u064A\u0644","\u0645\u0627\u064A","\u062C\u0648\u0627\u0646","\u062C\u0648\u064A\u0644\u064A\u0629","\u0623\u0648\u062A","\u0633\u0628\u062A\u0645\u0628\u0631","\u0623\u0643\u062A\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062F\u064A\u0633\u0645\u0628\u0631"],shortMonths:["1","2","3","4","5","6","7","8","9","10","11","12"],date:"%d/%m/%Y"}}});var L6e=J((UVt,E6e)=>{"use strict";E6e.exports={moduleType:"locale",name:"ar-EG",dictionary:{},format:{days:["\u0627\u0644\u0623\u062D\u062F","\u0627\u0644\u0627\u062B\u0646\u064A\u0646","\u0627\u0644\u062B\u0644\u0627\u062B\u0627\u0621","\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621","\u0627\u0644\u062E\u0645\u064A\u0633","\u0627\u0644\u062C\u0645\u0639\u0629","\u0627\u0644\u0633\u0628\u062A"],shortDays:["\u0623\u062D\u062F","\u0627\u062B\u0646\u064A\u0646","\u062B\u0644\u0627\u062B\u0627\u0621","\u0623\u0631\u0628\u0639\u0627\u0621","\u062E\u0645\u064A\u0633","\u062C\u0645\u0639\u0629","\u0633\u0628\u062A"],months:["\u064A\u0646\u0627\u064A\u0631","\u0641\u0628\u0631\u0627\u064A\u0631","\u0645\u0627\u0631\u0633","\u0625\u0628\u0631\u064A\u0644","\u0645\u0627\u064A\u0648","\u064A\u0648\u0646\u064A\u0629","\u064A\u0648\u0644\u064A\u0648","\u0623\u063A\u0633\u0637\u0633","\u0633\u0628\u062A\u0645\u0628\u0631","\u0623\u0643\u062A\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062F\u064A\u0633\u0645\u0628\u0631"],shortMonths:["1","2","3","4","5","6","7","8","9","10","11","12"],date:"%d/%m/%Y"}}});var R6e=J((HVt,D6e)=>{"use strict";D6e.exports={moduleType:"locale",name:"ar",dictionary:{},format:{days:["\u0627\u0644\u0623\u062D\u062F","\u0627\u0644\u0627\u062B\u0646\u064A\u0646","\u0627\u0644\u062B\u0644\u0627\u062B\u0627\u0621","\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621","\u0627\u0644\u062E\u0645\u064A\u0633","\u0627\u0644\u062C\u0645\u0639\u0629","\u0627\u0644\u0633\u0628\u062A"],shortDays:["\u0627\u0644\u0623\u062D\u062F","\u0627\u0644\u0627\u062B\u0646\u064A\u0646","\u0627\u0644\u062B\u0644\u0627\u062B\u0627\u0621","\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621","\u0627\u0644\u062E\u0645\u064A\u0633","\u0627\u0644\u062C\u0645\u0639\u0629","\u0627\u0644\u0633\u0628\u062A"],months:["\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062B\u0627\u0646\u064A","\u0634\u0628\u0627\u0637","\u0622\u0630\u0627\u0631","\u0646\u064A\u0633\u0627\u0646","\u0622\u0630\u0627\u0631","\u062D\u0632\u064A\u0631\u0627\u0646","\u062A\u0645\u0648\u0632","\u0622\u0628","\u0623\u064A\u0644\u0648\u0644","\u062A\u0634\u0631\u064A\u0646 \u0627\u0644\u0623\u0648\u0644","\u062A\u0634\u0631\u064A\u0646 \u0627\u0644\u062B\u0627\u0646\u064A","\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644"],shortMonths:["1","2","3","4","5","6","7","8","9","10","11","12"],date:"%d/%m/%Y"}}});var I6e=J((jVt,P6e)=>{"use strict";P6e.exports={moduleType:"locale",name:"az",dictionary:{},format:{days:["Bazar","Bazar ert\u0259si","\xC7\u0259r\u015F\u0259nb\u0259 ax\u015Fam\u0131","\xC7\u0259r\u015F\u0259nb\u0259","C\xFCm\u0259 ax\u015Fam\u0131","C\xFCm\u0259","\u015E\u0259nb\u0259"],shortDays:["B","Be","\xC7a","\xC7","Ca","C","\u015E"],months:["Yanvar","Fevral","Mart","Aprel","May","\u0130yun","\u0130yul","Avqust","Sentyabr","Oktyabr","Noyabr","Dekabr"],shortMonths:["Yan","Fev","Mar","Apr","May","\u0130yun","\u0130yul","Avq","Sen","Okt","Noy","Dek"],date:"%d.%m.%Y"}}});var F6e=J((VVt,q6e)=>{"use strict";q6e.exports={moduleType:"locale",name:"bg",dictionary:{},format:{days:["\u041D\u0435\u0434\u0435\u043B\u044F","\u041F\u043E\u043D\u0435\u0434\u0435\u043B\u043D\u0438\u043A","\u0412\u0442\u043E\u0440\u043D\u0438\u043A","\u0421\u0440\u044F\u0434\u0430","\u0427\u0435\u0442\u0432\u044A\u0440\u0442\u044A\u043A","\u041F\u0435\u0442\u044A\u043A","\u0421\u044A\u0431\u043E\u0442\u0430"],shortDays:["\u041D\u0435\u0434","\u041F\u043E\u043D","\u0412\u0442\u043E","\u0421\u0440\u044F","\u0427\u0435\u0442","\u041F\u0435\u0442","\u0421\u044A\u0431"],months:["\u042F\u043D\u0443\u0430\u0440\u0438","\u0424\u0435\u0432\u0440\u0443\u0430\u0440\u0438","\u041C\u0430\u0440\u0442","\u0410\u043F\u0440\u0438\u043B","\u041C\u0430\u0439","\u042E\u043D\u0438","\u042E\u043B\u0438","\u0410\u0432\u0433\u0443\u0441\u0442","\u0421\u0435\u043F\u0442\u0435\u043C\u0432\u0440\u0438","\u041E\u043A\u0442\u043E\u043C\u0432\u0440\u0438","\u041D\u043E\u0435\u043C\u0432\u0440\u0438","\u0414\u0435\u043A\u0435\u043C\u0432\u0440\u0438"],shortMonths:["\u042F\u043D\u0443","\u0424\u0435\u0432","\u041C\u0430\u0440","\u0410\u043F\u0440","\u041C\u0430\u0439","\u042E\u043D\u0438","\u042E\u043B\u0438","\u0410\u0432\u0433","\u0421\u0435\u043F","\u041E\u043A\u0442","\u041D\u043E\u0432","\u0414\u0435\u043A"],date:"%d.%m.%Y"}}});var N6e=J((YVt,z6e)=>{"use strict";z6e.exports={moduleType:"locale",name:"bs",dictionary:{},format:{days:["Nedelja","Ponedeljak","Utorak","Srijeda","\u010Cetvrtak","Petak","Subota"],shortDays:["Ned","Pon","Uto","Sri","\u010Cet","Pet","Sub"],months:["Januar","Februar","Mart","April","Maj","Juni","Juli","August","Septembar","Oktobar","Novembar","Decembar"],shortMonths:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],date:"%d.%m.%Y"}}});var B6e=J((GVt,O6e)=>{"use strict";O6e.exports={moduleType:"locale",name:"ca",dictionary:{},format:{days:["Diumenge","Dilluns","Dimarts","Dimecres","Dijous","Divendres","Dissabte"],shortDays:["Dug","Dln","Dmt","Dmc","Djs","Dvn","Dsb"],months:["Gener","Febrer","Mar\xE7","Abril","Maig","Juny","Juliol","Agost","Setembre","Octubre","Novembre","Desembre"],shortMonths:["Gen","Feb","Mar","Abr","Mai","Jun","Jul","Ago","Set","Oct","Nov","Des"],date:"%d/%m/%Y"}}});var H6e=J((WVt,U6e)=>{"use strict";U6e.exports={moduleType:"locale",name:"cs",dictionary:{Autoscale:"Auto rozsah","Box Select":"Obd\xE9ln\xEDkov\xFD v\xFDb\u011Br","Click to enter Colorscale title":"Klikn\u011Bte pro zad\xE1n\xED n\xE1zvu barevn\xE9 \u0161k\xE1ly","Click to enter Component A title":"Klikn\u011Bte pro zad\xE1n\xED n\xE1zvu komponenty A","Click to enter Component B title":"Klikn\u011Bte pro zad\xE1n\xED n\xE1zvu komponenty B","Click to enter Component C title":"Klikn\u011Bte pro zad\xE1n\xED n\xE1zvu komponenty C","Click to enter Plot title":"Klikn\u011Bte pro zad\xE1n\xED n\xE1zvu grafu","Click to enter X axis title":"Klikn\u011Bte pro zad\xE1n\xED n\xE1zvu osy X","Click to enter Y axis title":"Klikn\u011Bte pro zad\xE1n\xED n\xE1zvu osy Y","Click to enter radial axis title":"Klikn\u011Bte pro zad\xE1n\xED n\xE1zvu radi\xE1ln\xED osy","Compare data on hover":"Porovnat hodnoty p\u0159i najet\xED my\u0161\xED","Double-click on legend to isolate one trace":"Dvojklikem na legendu izolujete jedinou datovou sadu","Double-click to zoom back out":"Dvojklikem vr\xE1t\xEDte zv\u011Bt\u0161en\xED","Download plot as a png":"Ulo\u017Eit jako PNG","Download plot":"Ulo\u017Eit","Edit in Chart Studio":"Editovat v Chart Studio","IE only supports svg. Changing format to svg.":"IE podporuje pouze SVG form\xE1t. Zm\u011Bn\u011Bno na SVG.","Lasso Select":"Vyb\u011Br lasem","Orbital rotation":"Rotace (orbit\xE1ln\xED)",Pan:"Posunovat","Produced with Plotly.js":"Vytvo\u0159eno pomoc\xED Plotly.js",Reset:"Obnovit nastaven\xED","Reset axes":"Obnovit nastaven\xED os","Reset camera to default":"Obnovit nastaven\xED kamery na v\xFDchoz\xED stav","Reset camera to last save":"Obnovit nastaven\xED kamery na posledn\xED ulo\u017Een\xFD stav","Reset view":"Obnovit nastaven\xED pohledu","Reset views":"Obnovit nastaven\xED pohled\u016F","Show closest data on hover":"Zobrazit najbli\u017E\u0161\xED hodnotu p\u0159i najet\xED my\u0161\xED","Snapshot succeeded":"Sn\xEDmek vytvo\u0159en","Sorry, there was a problem downloading your snapshot!":"Omlouv\xE1me se, ale do\u0161lo k chyb\u011B stahov\xE1n\xED sn\xEDmku!","Taking snapshot - this may take a few seconds":"Vytv\xE1\u0159\xED se sn\xEDmek - m\u016F\u017Ee zabrat p\xE1r vte\u0159in",Zoom:"Zv\u011Bt\u0161en\xED","Zoom in":"Zv\u011Bt\u0161it","Zoom out":"Zmen\u0161it","close:":"zav\u0159\xEDt:",trace:"datov\xE1 sada","lat:":"Lat.:","lon:":"Lon.:","q1:":"q1:","q3:":"q3:","source:":"zdroj:","target:":"c\xEDl:","lower fence:":"doln\xED limit:","upper fence:":"horn\xED limit:","max:":"max.:","mean \xB1 \u03C3:":"pr\u016Fm\u011Br \xB1 \u03C3:","mean:":"pr\u016Fm\u011Br:","median:":"medi\xE1n:","min:":"min.:","new text":"nov\xFD text","Turntable rotation":"Rotace (oto\u010Dn\xFD st\u016Fl)","Toggle Spike Lines":"P\u0159epnout zobrazen\xED vod\xEDc\xEDch \u010Dar","open:":"otev\u0159\xEDt:","high:":"horn\xED:","low:":"doln\xED:","Toggle show closest data on hover":"P\u0159epnout zobrazov\xE1n\xED nejbli\u017E\u0161i hodnoty p\u0159i najet\xED my\u0161\xED","incoming flow count:":"po\u010Det dat na vstupu:","outgoing flow count:":"po\u010Det dat na v\xFDstupu:","kde:":"kde:"},format:{days:["ned\u011Ble","pond\u011Bl\xED","\xFAter\xFD","st\u0159eda","\u010Dtvrtek","p\xE1tek","sobota"],shortDays:["ne","po","\xFAt","st","\u010Dt","p\xE1","so"],months:["leden","\xFAnor","b\u0159ezen","duben","kv\u011Bten","\u010Derven","\u010Dervenec","srpen","z\xE1\u0159\xED","\u0159\xEDjen","listopad","prosinec"],shortMonths:["led","\xFAno","b\u0159e","dub","kv\u011B","\u010Der","\u010Dvc","srp","z\xE1\u0159","\u0159\xEDj","lis","pro"],date:"%d.%m.%Y",decimal:",",thousands:" "}}});var V6e=J((XVt,j6e)=>{"use strict";j6e.exports={moduleType:"locale",name:"cy",dictionary:{Autoscale:"Graddfa awtomatig","Box Select":"Dewiswch \xE2 blwch","Click to enter Colorscale title":"Cliciwch i nodi teitl Graddfa Liw","Click to enter Component A title":"Cliciwch i nodi teitl Cydran A","Click to enter Component B title":"Cliciwch i nodi teitl Cydran B","Click to enter Plot title":"Cliciwch i nodi teitl y Plot","Click to enter Component C title":"Cliciwch i nodi teitl Cydran C","Click to enter X axis title":"Cliciwch i nodi teitl echelin X","Click to enter Y axis title":"Cliciwch i nodi teitl echelin Y","Click to enter radial axis title":"Cliciwch i nodi teitl echelin reiddiol","Compare data on hover":"Cymharwch ddata wrth hofran","Double-click on legend to isolate one trace":"Dwbl-gliciwch ar yr allwedd i neilltuo un llinell","Double-click to zoom back out":"Dwbl-gliciwch i chwyddo'n \xF4l","Download plot":"Lawrlwythwch blot","Download plot as a png":"Lawrlwythwch y plot fel png","Edit in Chart Studio":"Golygu yn Chart Studio","IE only supports svg. Changing format to svg.":"Dim ond svg mae IE yn ei gefnogi. Newid fformat i svg.","Lasso Select":"Dewiswch \xE2 las\u0175","Orbital rotation":"Cylchdroi orbital",Pan:"Pan","Produced with Plotly.js":"Cynhyrchwyd gyda Plotly.js",Reset:"Ailosod","Reset axes":"Ailosod echelinau","Reset camera to default":"Ailosod camera i'r rhagosodiad","Reset camera to last save":"Ailosod camera i'r cadw diwethaf","Reset view":"Ailosodwch y golwg","Reset views":"Ailosod olygfeydd","Show closest data on hover":"Dangos y data agosaf wrth hofran","Snapshot succeeded":"Llwyddodd y Ciplun","Sorry, there was a problem downloading your snapshot!":"Mae'n ddrwg gennym, roedd problem wrth lawrlwytho eich ciplun!","Taking snapshot - this may take a few seconds":"Tynnu ciplun - gallai hyn gymryd ychydig o eiliadau","Toggle Spike Lines":"Toglo llinellau pigog","Toggle show closest data on hover":"Toglo dangos y data agosaf wrth hofran","Turntable rotation":"Cylchdroi trofwrdd",Zoom:"Chwyddo","Zoom in":"Closio","Zoom out":"Cilio","close:":"cau:","high:":"uchel:","incoming flow count:":"cyfrif llif sy'n dod i mewn:","kde:":"kde:","lat:":"lledred:","lon:":"hydred","low:":"isel:","lower fence:":"ffens isaf:","max:":"uchafbwynt:","mean \xB1 \u03C3:":"cymedr \xB1 \u03C3:","mean:":"cymedr:","median:":"canolrif:","min:":"isafbwynt:","new text":"testun newydd","open:":"agor:","outgoing flow count:":"cyfrif llif sy'n mynd allan:","q1:":"q1:","q3:":"q3:","source:":"ffynhonnell:","target:":"targed:",trace:"olin","upper fence:":"ffens uchaf:"},format:{days:["Dydd Sul","Dydd Llun","Dydd Mawrth","Dydd Mercher","Dydd Iau","Dydd Gwener","Dydd Sadwrn"],shortDays:["Sul","Llun","Maw","Mer","Iau","Gwen","Sad"],months:["Ionawr","Chwefror","Mawrth","Ebrill","Mai","Mehefin","Gorffennaf","Awst","Medi","Hydref","Tachwedd","Rhagfyr"],shortMonths:["Ion","Chw","Maw","Ebr","Mai","Meh","Gor","Awst","Medi","Hyd","Tach","Rhag"],date:"%d/%m/%Y"}}});var G6e=J((ZVt,Y6e)=>{"use strict";Y6e.exports={moduleType:"locale",name:"da",dictionary:{},format:{days:["S\xF8ndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","L\xF8rdag"],shortDays:["S\xF8n","Man","Tir","Ons","Tor","Fre","L\xF8r"],months:["Januar","Februar","Marts","April","Maj","Juni","Juli","August","September","Oktober","November","December"],shortMonths:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],date:"%d-%m-%Y"}}});var X6e=J((JVt,W6e)=>{"use strict";W6e.exports={moduleType:"locale",name:"de-CH",dictionary:{},format:{days:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],shortDays:["So","Mo","Di","Mi","Do","Fr","Sa"],months:["Januar","Februar","M\xE4rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],shortMonths:["Jan","Feb","M\xE4r","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],date:"%d.%m.%Y"}}});var J6e=J(($Vt,Z6e)=>{"use strict";Z6e.exports={moduleType:"locale",name:"de",dictionary:{Autoscale:"Automatische Skalierung","Box Select":"Rechteckauswahl","Click to enter Colorscale title":"Klicken, um den Farbskalatitel einzugeben","Click to enter Component A title":"Klicken, um den Titel der Komponente A einzugeben","Click to enter Component B title":"Klicken, um den Titel der Komponente B einzugeben","Click to enter Component C title":"Klicken, um den Titel der Komponente C einzugeben","Click to enter Plot title":"Klicken, um den Titel des Graphen einzugeben","Click to enter X axis title":"Klicken, um den Titel der X-Achse einzugeben","Click to enter Y axis title":"Klicken, um den Titel der Y-Achse einzugeben","Compare data on hover":"\xDCber die Daten fahren, um sie zu vergleichen","Double-click on legend to isolate one trace":"Daten isolieren durch Doppelklick in der Legende","Double-click to zoom back out":"Herauszoomen durch Doppelklick","Download plot as a png":"Graphen als PNG herunterladen","Download plot":"Graphen herunterladen","Edit in Chart Studio":"Im Chart Studio bearbeiten","IE only supports svg. Changing format to svg.":"IE unterst\xFCtzt nur SVG-Dateien. Format wird zu SVG gewechselt.","Lasso Select":"Lassoauswahl","Orbital rotation":"Orbitalrotation",Pan:"Verschieben","Produced with Plotly.js":"Erstellt mit Plotly.js",Reset:"Zur\xFCcksetzen","Reset axes":"Achsen zur\xFCcksetzen","Reset camera to default":"Kamera auf Standard zur\xFCcksetzen","Reset camera to last save":"Kamera auf letzte Speicherung zur\xFCcksetzen","Reset view":"Ansicht zur\xFCcksetzen","Reset views":"Ansichten zur\xFCcksetzen","Show closest data on hover":"Zeige n\xE4heste Daten beim \xDCberfahren","Snapshot succeeded":"Snapshot erfolgreich","Sorry, there was a problem downloading your snapshot!":"Es gab ein Problem beim Herunterladen des Snapshots","Taking snapshot - this may take a few seconds":"Erstelle einen Snapshot - dies kann einige Sekunden dauern",Zoom:"Zoom","Zoom in":"Hineinzoomen","Zoom out":"Herauszoomen","close:":"Schluss:",trace:"Datenspur","lat:":"Lat.:","lon:":"Lon.:","q1:":"q1:","q3:":"q3:","source:":"Quelle:","target:":"Ziel:","lower fence:":"Untere Schranke:","upper fence:":"Obere Schranke:","max:":"Max.:","mean \xB1 \u03C3:":"Mittelwert \xB1 \u03C3:","mean:":"Mittelwert:","median:":"Median:","min:":"Min.:","Turntable rotation":"Drehscheibenorbit","Toggle Spike Lines":"Bezugslinien an-/abschalten","open:":"Er\xF6ffnung:","high:":"H\xF6chstkurs:","low:":"Tiefstkurs:","Toggle show closest data on hover":"Anzeige der n\xE4hesten Daten an-/abschalten","incoming flow count:":"Anzahl eingehender Verbindungen:","outgoing flow count:":"Anzahl ausgehender Verbindungen:","kde:":"Dichte:"},format:{days:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],shortDays:["So","Mo","Di","Mi","Do","Fr","Sa"],months:["Januar","Februar","M\xE4rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],shortMonths:["Jan","Feb","M\xE4r","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],date:"%d.%m.%Y",decimal:",",thousands:"."}}});var K6e=J((KVt,$6e)=>{"use strict";$6e.exports={moduleType:"locale",name:"el",dictionary:{},format:{days:["\u039A\u03C5\u03C1\u03B9\u03B1\u03BA\u03AE","\u0394\u03B5\u03C5\u03C4\u03AD\u03C1\u03B1","\u03A4\u03C1\u03AF\u03C4\u03B7","\u03A4\u03B5\u03C4\u03AC\u03C1\u03C4\u03B7","\u03A0\u03AD\u03BC\u03C0\u03C4\u03B7","\u03A0\u03B1\u03C1\u03B1\u03C3\u03BA\u03B5\u03C5\u03AE","\u03A3\u03AC\u03B2\u03B2\u03B1\u03C4\u03BF"],shortDays:["\u039A\u03C5\u03C1","\u0394\u03B5\u03C5","\u03A4\u03C1\u03B9","\u03A4\u03B5\u03C4","\u03A0\u03B5\u03BC","\u03A0\u03B1\u03C1","\u03A3\u03B1\u03B2"],months:["\u0399\u03B1\u03BD\u03BF\u03C5\u03AC\u03C1\u03B9\u03BF\u03C2","\u03A6\u03B5\u03B2\u03C1\u03BF\u03C5\u03AC\u03C1\u03B9\u03BF\u03C2","\u039C\u03AC\u03C1\u03C4\u03B9\u03BF\u03C2","\u0391\u03C0\u03C1\u03AF\u03BB\u03B9\u03BF\u03C2","\u039C\u03AC\u03B9\u03BF\u03C2","\u0399\u03BF\u03CD\u03BD\u03B9\u03BF\u03C2","\u0399\u03BF\u03CD\u03BB\u03B9\u03BF\u03C2","\u0391\u03CD\u03B3\u03BF\u03C5\u03C3\u03C4\u03BF\u03C2","\u03A3\u03B5\u03C0\u03C4\u03AD\u03BC\u03B2\u03C1\u03B9\u03BF\u03C2","\u039F\u03BA\u03C4\u03CE\u03B2\u03C1\u03B9\u03BF\u03C2","\u039D\u03BF\u03AD\u03BC\u03B2\u03C1\u03B9\u03BF\u03C2","\u0394\u03B5\u03BA\u03AD\u03BC\u03B2\u03C1\u03B9\u03BF\u03C2"],shortMonths:["\u0399\u03B1\u03BD","\u03A6\u03B5\u03B2","\u039C\u03B1\u03C1","\u0391\u03C0\u03C1","\u039C\u03B1\u03B9","\u0399\u03BF\u03C5\u03BD","\u0399\u03BF\u03C5\u03BB","\u0391\u03C5\u03B3","\u03A3\u03B5\u03C0","\u039F\u03BA\u03C4","\u039D\u03BF\u03B5","\u0394\u03B5\u03BA"],date:"%d/%m/%Y"}}});var eEe=J((QVt,Q6e)=>{"use strict";Q6e.exports={moduleType:"locale",name:"eo",dictionary:{},format:{days:["Diman\u0109o","Lundo","Mardo","Merkredo","\u0134a\u016Ddo","Vendredo","Sabato"],shortDays:["Dim","Lun","Mar","Mer","\u0134a\u016D","Ven","Sab"],months:["Januaro","Februaro","Marto","Aprilo","Majo","Junio","Julio","A\u016Dgusto","Septembro","Oktobro","Novembro","Decembro"],shortMonths:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","A\u016Dg","Sep","Okt","Nov","Dec"],date:"%d/%m/%Y"}}});var rEe=J((eYt,tEe)=>{"use strict";tEe.exports={moduleType:"locale",name:"es-AR",dictionary:{},format:{days:["Domingo","Lunes","Martes","Mi\xE9rcoles","Jueves","Viernes","S\xE1bado"],shortDays:["Dom","Lun","Mar","Mi\xE9","Juv","Vie","S\xE1b"],months:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],shortMonths:["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"],date:"%d/%m/%Y"}}});var iEe=J((tYt,nEe)=>{"use strict";nEe.exports={moduleType:"locale",name:"es-PE",dictionary:{},format:{days:["Domingo","Lunes","Martes","Mi\xE9rcoles","Jueves","Viernes","S\xE1bado"],shortDays:["Dom","Lun","Mar","Mi\xE9","Jue","Vie","Sab"],months:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],shortMonths:["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"],date:"%d/%m/%Y",decimal:".",thousands:",",currency:["S/",""]}}});var oEe=J((rYt,aEe)=>{"use strict";aEe.exports={moduleType:"locale",name:"es",dictionary:{Autoscale:"Autoescalar","Box Select":"Seleccionar Caja","Click to enter Colorscale title":"Introducir el t\xEDtulo de la Escala de Color","Click to enter Component A title":"Introducir el t\xEDtulo del Componente A","Click to enter Component B title":"Introducir el t\xEDtulo del Componente B","Click to enter Component C title":"Introducir el t\xEDtulo del Componente C","Click to enter Plot title":"Introducir el t\xEDtulo de la Gr\xE1fica","Click to enter Plot subtitle":"Introducir el subt\xEDtulo de la Gr\xE1fica","Click to enter X axis title":"Introducir el t\xEDtulo del eje X","Click to enter Y axis title":"Introducir el t\xEDtulo del eje Y","Click to enter radial axis title":"Introducir el t\xEDtulo del eje radial","Compare data on hover":"Comparar datos al pasar por encima","Double-click on legend to isolate one trace":"Haga doble-clic en la leyenda para aislar una traza","Double-click to zoom back out":"Haga doble-clic para restaurar la escala","Download plot as a png":"Descargar gr\xE1fica como png","Download plot":"Descargar gr\xE1fica","Edit in Chart Studio":"Editar en Chart Studio","IE only supports svg. Changing format to svg.":"IE solo soporta svg. Cambiando formato a svg.","Lasso Select":"Seleccionar con lazo","Orbital rotation":"Rotaci\xF3n esf\xE9rica",Pan:"Modo Panor\xE1mica","Produced with Plotly.js":"Hecho con Plotly.js",Reset:"Reiniciar","Reset axes":"Reiniciar ejes","Reset camera to default":"Restaurar c\xE1mara predeterminada","Reset camera to last save":"Restaurar anterior c\xE1mara","Reset view":"Restaurar vista","Reset views":"Restaurar vistas","Show closest data on hover":"Mostrar el dato m\xE1s cercano al pasar por encima","Snapshot succeeded":"La captura de la instant\xE1nea finaliz\xF3 correctamente","Sorry, there was a problem downloading your snapshot!":"\xA1La descarga de la instant\xE1nea fall\xF3!","Taking snapshot - this may take a few seconds":"Capturando una instant\xE1nea - podr\xEDa tardar unos segundos","Toggle Spike Lines":"Mostrar/Ocultar Gu\xEDas","Toggle show closest data on hover":"Activar/Desactivar mostrar el dato m\xE1s cercano al pasar por encima","Turntable rotation":"Rotaci\xF3n plana",Zoom:"Modo Ampliar/Reducir","Zoom in":"Ampliar","Zoom out":"Reducir","close:":"cierre:","high:":"alza:","incoming flow count:":"flujo de entrada:","kde:":"edp:","lat:":"lat:","lon:":"lon:","low:":"baja:","lower fence:":"l\xEDmite inferior:","max:":"m\xE1x:","mean \xB1 \u03C3:":"media \xB1 \u03C3:","mean:":"media:","median:":"mediana:","min:":"m\xEDn:","new text":"nuevo texto","open:":"apertura:","outgoing flow count:":"flujo de salida:","q1:":"q1:","q3:":"q3:","source:":"fuente:","target:":"destino:",trace:"traza","upper fence:":"l\xEDmite superior:"},format:{days:["Domingo","Lunes","Martes","Mi\xE9rcoles","Jueves","Viernes","S\xE1bado"],shortDays:["Dom","Lun","Mar","Mi\xE9","Jue","Vie","S\xE1b"],months:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],shortMonths:["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"],date:"%d/%m/%Y",decimal:",",thousands:" "}}});var lEe=J((nYt,sEe)=>{"use strict";sEe.exports={moduleType:"locale",name:"et",dictionary:{},format:{days:["P\xFChap\xE4ev","Esmasp\xE4ev","Teisip\xE4ev","Kolmap\xE4ev","Neljap\xE4ev","Reede","Laup\xE4ev"],shortDays:["P\xFChap","Esmasp","Teisip","Kolmap","Neljap","Reede","Laup"],months:["Jaanuar","Veebruar","M\xE4rts","Aprill","Mai","Juuni","Juuli","August","September","Oktoober","November","Detsember"],shortMonths:["Jaan","Veebr","M\xE4rts","Apr","Mai","Juuni","Juuli","Aug","Sept","Okt","Nov","Dets"],date:"%d.%m.%Y"}}});var fEe=J((iYt,uEe)=>{"use strict";uEe.exports={moduleType:"locale",name:"eu",dictionary:{},format:{days:["Igandea","Astelehena","Asteartea","Asteazkena","Osteguna","Ostirala","Larunbata"],shortDays:["Iga","Ast","Ast","Ast","Ost","Ost","Lar"],months:["Urtarrila","Otsaila","Martxoa","Apirila","Maiatza","Ekaina","Uztaila","Abuztua","Iraila","Urria","Azaroa","Abendua"],shortMonths:["Urt","Ots","Mar","Api","Mai","Eka","Uzt","Abu","Ira","Urr","Aza","Abe"],date:"%Y/%m/%d"}}});var hEe=J((aYt,cEe)=>{"use strict";cEe.exports={moduleType:"locale",name:"fa",dictionary:{},format:{days:["\u064A\u06A9\u0634\u0646\u0628\u0647","\u062F\u0648\u0634\u0646\u0628\u0647","\u0633\u0647\u200C\u0634\u0646\u0628\u0647","\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647","\u067E\u0646\u062C\u0634\u0646\u0628\u0647","\u062C\u0645\u0639\u0647","\u0634\u0646\u0628\u0647"],shortDays:["\u064A","\u062F","\u0633","\u0686","\u067E","\u062C","\u0634"],months:["\u0641\u0631\u0648\u0631\u062F\u064A\u0646","\u0627\u0631\u062F\u064A\u0628\u0647\u0634\u062A","\u062E\u0631\u062F\u0627\u062F","\u062A\u064A\u0631","\u0645\u0631\u062F\u0627\u062F","\u0634\u0647\u0631\u064A\u0648\u0631","\u0645\u0647\u0631","\u0622\u0628\u0627\u0646","\u0622\u0630\u0631","\u062F\u064A","\u0628\u0647\u0645\u0646","\u0627\u0633\u0641\u0646\u062F"],shortMonths:["1","2","3","4","5","6","7","8","9","10","11","12"],date:"%Y/%m/%d"}}});var dEe=J((oYt,vEe)=>{"use strict";vEe.exports={moduleType:"locale",name:"fi",dictionary:{Autoscale:"Autoskaalaa","Box Select":"Laatikkovalinta","Click to enter Colorscale title":"Klikkaa antaaksesi v\xE4riskaalan otsikko","Click to enter Component A title":"Klikkaa antaaksesi komponentin A otsikko","Click to enter Component B title":"Klikkaa antaaksesi komponentin B otsikko","Click to enter Component C title":"Klikkaa antaaksesi komponentin C otsikko","Click to enter Plot title":"Klikkaa antaaksesi kuvion otsikko","Click to enter X axis title":"Klikkaa antaaksesi x-akselin otsikko","Click to enter Y axis title":"Klikkaa antaaksesi y-akselin otsikko","Click to enter radial axis title":"Klikkaa antaaksesi radiaalisen akselin otsikko","Compare data on hover":"Vertaa dataa kursorilla","Double-click on legend to isolate one trace":"Kaksoisklikkaa selitett\xE4 erist\xE4\xE4ksesi yksi sarja","Double-click to zoom back out":"Kaksoisklikkaa zoomataksesi ulos","Download plot":"Lataa kuvio","Download plot as a png":"Lataa kuvio png-muodossa","Edit in Chart Studio":"Muokkaa Chart Studiossa","IE only supports svg. Changing format to svg.":"Formaatiksi vaihdetaan IE:n tukema svg.","Lasso Select":"Lassovalinta","Orbital rotation":"Orbitaalikierto",Pan:"Panorointi","Produced with Plotly.js":"Tuotettu Plotly.jsll\xE4",Reset:"Palauta oletusasetukset","Reset axes":"Palauta akselien oletusasetukset","Reset camera to default":"Palauta kameran oletusasetukset","Reset camera to last save":"Palauta kameran viimeksi tallennetut asetukset","Reset view":"Palauta n\xE4kym\xE4n oletusasetukset","Reset views":"Palauta n\xE4kymien oletusasetukset","Show closest data on hover":"N\xE4yt\xE4 kursoria l\xE4hin data","Snapshot succeeded":"Tilannekuvan ottaminen onnistui","Sorry, there was a problem downloading your snapshot!":"Pahoittelut, tilannekuvan lataaminen ep\xE4onnistui!","Taking snapshot - this may take a few seconds":"Otetaan tilannekuvaa - odota hetki","Toggle Spike Lines":"N\xE4yt\xE4 huiput","Toggle show closest data on hover":"N\xE4yt\xE4 kursoria l\xE4hin data","Turntable rotation":"Tasokierto",Zoom:"Zoomaus","Zoom in":"Zoomaa sis\xE4\xE4n","Zoom out":"Zoomaa ulos","close:":"loppu:","high:":"korkein:","incoming flow count:":"saapuva virtaus:","kde:":"ydinestimointi:","lat:":"lat.:","lon:":"lon.:","low:":"matalin:","lower fence:":"alempi raja:","max:":"maks.:","mean \xB1 \u03C3:":"keskiarvo \xB1 \u03C3:","mean:":"keskiarvo:","median:":"mediaani:","min:":"min.:","new text":"uusi teksti","open:":"alku:","outgoing flow count:":"l\xE4htev\xE4 virtaus:","q1:":"q1:","q3:":"q3:","source:":"l\xE4hde:","target:":"kohde:",trace:"sarja","upper fence:":"ylempi raja:"},format:{days:["sunnuntai","maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai"],shortDays:["su","ma","ti","ke","to","pe","la"],months:["tammikuu","helmikuu","maaliskuu","huhtikuu","toukokuu","kes\xE4kuu","hein\xE4kuu","elokuu","syyskuu","lokakuu","marraskuu","joulukuu"],shortMonths:["tammi","helmi","maalis","huhti","touko","kes\xE4","hein\xE4","elo","syys","loka","marras","joulu"],date:"%d.%m.%Y"}}});var gEe=J((sYt,pEe)=>{"use strict";pEe.exports={moduleType:"locale",name:"fo",dictionary:{},format:{days:["Sunnudagur","M\xE1nadagur","T\xFDsdagur","Mikudagur","H\xF3sdagur","Fr\xEDggjadagur","Leyardagur"],shortDays:["Sun","M\xE1n","T\xFDs","Mik","H\xF3s","Fr\xED","Ley"],months:["Januar","Februar","Mars","Apr\xEDl","Mei","Juni","Juli","August","September","Oktober","November","Desember"],shortMonths:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Des"],date:"%d-%m-%Y"}}});var yEe=J((lYt,mEe)=>{"use strict";mEe.exports={moduleType:"locale",name:"fr-CH",dictionary:{},format:{days:["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"],shortDays:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],months:["Janvier","F\xE9vrier","Mars","Avril","Mai","Juin","Juillet","Ao\xFBt","Septembre","Octobre","Novembre","D\xE9cembre"],shortMonths:["Jan","F\xE9v","Mar","Avr","Mai","Jun","Jul","Ao\xFB","Sep","Oct","Nov","D\xE9c"],date:"%d.%m.%Y"}}});var bEe=J((uYt,xEe)=>{"use strict";xEe.exports={moduleType:"locale",name:"fr",dictionary:{Autoscale:"\xC9chelle automatique","Box Select":"S\xE9lection rectangulaire","Click to enter Colorscale title":"Ajouter un titre \xE0 l'\xE9chelle de couleurs","Click to enter Component A title":"Ajouter un titre \xE0 la composante A","Click to enter Component B title":"Ajouter un titre \xE0 la composante B","Click to enter Component C title":"Ajouter un titre \xE0 la composante C","Click to enter Plot title":"Ajouter un titre au graphique","Click to enter Plot subtitle":"Ajouter un sous-titre au graphique","Click to enter X axis title":"Ajouter un titre \xE0 l'axe des x","Click to enter Y axis title":"Ajouter un titre \xE0 l'axe des y","Click to enter radial axis title":"Ajouter un titre \xE0 l'axe radial","Compare data on hover":"Comparaison entre donn\xE9es en survol","Double-click on legend to isolate one trace":"Double-cliquer sur la l\xE9gende pour isoler une s\xE9rie","Double-click to zoom back out":"Double-cliquer pour d\xE9zoomer","Download plot as a png":"T\xE9l\xE9charger le graphique en fichier PNG","Download plot":"T\xE9l\xE9charger le graphique","Edit in Chart Studio":"\xC9diter le graphique sur Chart Studio","IE only supports svg. Changing format to svg.":"IE ne permet que les conversions en SVG. Conversion en SVG en cours.","Lasso Select":"S\xE9lection lasso","Orbital rotation":"Rotation orbitale",Pan:"Translation","Produced with Plotly.js":"G\xE9n\xE9r\xE9 avec Plotly.js",Reset:"R\xE9initialiser","Reset axes":"R\xE9initialiser les axes","Reset camera to default":"R\xE9gler la cam\xE9ra \xE0 sa valeur d\xE9faut","Reset camera to last save":"R\xE9gler la cam\xE9ra \xE0 sa valeur sauvegard\xE9e","Reset view":"R\xE9initialiser","Reset views":"R\xE9initialiser","Show closest data on hover":"Donn\xE9es les plus proches en survol","Snapshot succeeded":"Conversion r\xE9ussie","Sorry, there was a problem downloading your snapshot!":"D\xE9sol\xE9, un probl\xE8me est survenu lors du t\xE9l\xE9chargement de votre graphique","Taking snapshot - this may take a few seconds":"Conversion en cours, ceci peut prendre quelques secondes",Zoom:"Zoom","Zoom in":"Zoom int\xE9rieur","Zoom out":"Zoom ext\xE9rieur","close:":"fermeture :",trace:"s\xE9rie","lat:":"lat. :","lon:":"lon. :","q1:":"q1 :","q3:":"q3 :","source:":"source :","target:":"embouchure :","lower fence:":"cl\xF4ture inf\xE9rieure :","upper fence:":"cl\xF4ture sup\xE9rieure :","max:":"max. :","mean \xB1 \u03C3:":"moyenne \xB1 \u03C3 :","mean:":"moyenne :","median:":"m\xE9diane :","min:":"min. :","new text":"nouveau texte","Turntable rotation":"Rotation planaire","Toggle Spike Lines":"Activer/d\xE9sactiver les pics","open:":"ouverture :","high:":"haut :","low:":"bas :","Toggle show closest data on hover":"Activer/d\xE9sactiver le survol","incoming flow count:":"flux entrant :","outgoing flow count:":"flux sortant :","kde:":"est. par noyau :"},format:{days:["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"],shortDays:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],months:["Janvier","F\xE9vrier","Mars","Avril","Mai","Juin","Juillet","Ao\xFBt","Septembre","Octobre","Novembre","D\xE9cembre"],shortMonths:["Jan","F\xE9v","Mar","Avr","Mai","Jun","Jul","Ao\xFB","Sep","Oct","Nov","D\xE9c"],date:"%d/%m/%Y",decimal:",",thousands:" ",year:"%Y",month:"%b %Y",dayMonth:"%-d %b",dayMonthYear:"%-d %b %Y"}}});var _Ee=J((fYt,wEe)=>{"use strict";wEe.exports={moduleType:"locale",name:"gl",dictionary:{},format:{days:["Domingo","Luns","Martes","M\xE9rcores","Xoves","Venres","S\xE1bado"],shortDays:["Dom","Lun","Mar","M\xE9r","Xov","Ven","S\xE1b"],months:["Xaneiro","Febreiro","Marzo","Abril","Maio","Xu\xF1o","Xullo","Agosto","Setembro","Outubro","Novembro","Decembro"],shortMonths:["Xan","Feb","Mar","Abr","Mai","Xu\xF1","Xul","Ago","Set","Out","Nov","Dec"],date:"%d/%m/%Y"}}});var AEe=J((cYt,TEe)=>{"use strict";TEe.exports={moduleType:"locale",name:"gu",dictionary:{},format:{days:["\u0AB0\u0AB5\u0ABF\u0AB5\u0ABE\u0AB0","\u0AB8\u0ACB\u0AAE\u0AB5\u0ABE\u0AB0","\u0AAE\u0A82\u0A97\u0AB3\u0AB5\u0ABE\u0AB0","\u0AAC\u0AC1\u0AA7\u0AB5\u0ABE\u0AB0","\u0A97\u0AC1\u0AB0\u0AC1\u0AB5\u0ABE\u0AB0","\u0AB6\u0AC1\u0A95\u0ACD\u0AB0\u0AB5\u0ABE\u0AB0","\u0AB6\u0AA8\u0ABF\u0AB5\u0ABE\u0AB0"],shortDays:["\u0AB0\u0AB5\u0ABF","\u0AB8\u0ACB\u0AAE","\u0AAE\u0A82\u0A97\u0AB3","\u0AAC\u0AC1\u0AA7","\u0A97\u0AC1\u0AB0\u0AC1","\u0AB6\u0AC1\u0A95\u0ACD\u0AB0","\u0AB6\u0AA8\u0ABF"],months:["\u0A9C\u0ABE\u0AA8\u0ACD\u0AAF\u0AC1\u0A86\u0AB0\u0AC0","\u0AAB\u0AC7\u0AAC\u0ACD\u0AB0\u0AC1\u0A86\u0AB0\u0AC0","\u0AAE\u0ABE\u0AB0\u0ACD\u0A9A","\u0A8F\u0AAA\u0ACD\u0AB0\u0ABF\u0AB2","\u0AAE\u0AC7","\u0A9C\u0AC2\u0AA8","\u0A9C\u0AC1\u0AB2\u0ABE\u0A88","\u0A91\u0A97\u0AB8\u0ACD\u0A9F","\u0AB8\u0AAA\u0ACD\u0A9F\u0AC7\u0AAE\u0ACD\u0AAC\u0AB0","\u0A91\u0A95\u0ACD\u0A9F\u0ACB\u0AAC\u0AB0","\u0AA8\u0AB5\u0AC7\u0AAE\u0ACD\u0AAC\u0AB0","\u0AA1\u0ABF\u0AB8\u0AC7\u0AAE\u0ACD\u0AAC\u0AB0"],shortMonths:["\u0A9C\u0ABE\u0AA8\u0ACD\u0AAF\u0AC1","\u0AAB\u0AC7\u0AAC\u0ACD\u0AB0\u0AC1","\u0AAE\u0ABE\u0AB0\u0ACD\u0A9A","\u0A8F\u0AAA\u0ACD\u0AB0\u0ABF\u0AB2","\u0AAE\u0AC7","\u0A9C\u0AC2\u0AA8","\u0A9C\u0AC1\u0AB2\u0ABE\u0A88","\u0A91\u0A97\u0AB8\u0ACD\u0A9F","\u0AB8\u0AAA\u0ACD\u0A9F\u0AC7","\u0A91\u0A95\u0ACD\u0A9F\u0ACB","\u0AA8\u0AB5\u0AC7","\u0AA1\u0ABF\u0AB8\u0AC7"],date:"%d-%b-%Y"}}});var kEe=J((hYt,MEe)=>{"use strict";MEe.exports={moduleType:"locale",name:"he",dictionary:{},format:{days:["\u05E8\u05D0\u05E9\u05D5\u05DF","\u05E9\u05E0\u05D9","\u05E9\u05DC\u05D9\u05E9\u05D9","\u05E8\u05D1\u05D9\u05E2\u05D9","\u05D7\u05DE\u05D9\u05E9\u05D9","\u05E9\u05D9\u05E9\u05D9","\u05E9\u05D1\u05EA"],shortDays:["\u05D0'","\u05D1'","\u05D2'","\u05D3'","\u05D4'","\u05D5'","\u05E9\u05D1\u05EA"],months:["\u05D9\u05E0\u05D5\u05D0\u05E8","\u05E4\u05D1\u05E8\u05D5\u05D0\u05E8","\u05DE\u05E8\u05E5","\u05D0\u05E4\u05E8\u05D9\u05DC","\u05DE\u05D0\u05D9","\u05D9\u05D5\u05E0\u05D9","\u05D9\u05D5\u05DC\u05D9","\u05D0\u05D5\u05D2\u05D5\u05E1\u05D8","\u05E1\u05E4\u05D8\u05DE\u05D1\u05E8","\u05D0\u05D5\u05E7\u05D8\u05D5\u05D1\u05E8","\u05E0\u05D5\u05D1\u05DE\u05D1\u05E8","\u05D3\u05E6\u05DE\u05D1\u05E8"],shortMonths:["1","2","3","4","5","6","7","8","9","10","11","12"],date:"%d/%m/%Y"}}});var CEe=J((vYt,SEe)=>{"use strict";SEe.exports={moduleType:"locale",name:"hi-IN",dictionary:{},format:{days:["\u0930\u0935\u093F\u0935\u093E\u0930","\u0938\u094B\u092E\u0935\u093E\u0930","\u092E\u0902\u0917\u0932\u0935\u093E\u0930","\u092C\u0941\u0927\u0935\u093E\u0930","\u0917\u0941\u0930\u0941\u0935\u093E\u0930","\u0936\u0941\u0915\u094D\u0930\u0935\u093E\u0930","\u0936\u0928\u093F\u0935\u093E\u0930"],shortDays:["\u0930\u0935\u093F","\u0938\u094B\u092E","\u092E\u0902\u0917\u0932","\u092C\u0941\u0927","\u0917\u0941\u0930\u0941","\u0936\u0941\u0915\u094D\u0930","\u0936\u0928\u093F"],months:["\u091C\u0928\u0935\u0930\u0940"," \u092B\u0930\u0935\u0930\u0940","\u092E\u093E\u0930\u094D\u091A","\u0905\u092A\u094D\u0930\u0948\u0932","\u092E\u0908","\u091C\u0942\u0928","\u091C\u0941\u0932\u093E\u0908","\u0905\u0917\u0938\u094D\u0924","\u0938\u093F\u0924\u092E\u094D\u092C\u0930","\u0905\u0915\u094D\u091F\u0942\u092C\u0930","\u0928\u0935\u092E\u094D\u092C\u0930","\u0926\u093F\u0938\u092E\u094D\u092C\u0930"],shortMonths:["\u091C\u0928","\u092B\u0930","\u092E\u093E\u0930\u094D\u091A","\u0905\u092A\u094D\u0930\u0948","\u092E\u0908","\u091C\u0942\u0928","\u091C\u0941\u0932\u093E\u0908","\u0905\u0917","\u0938\u093F\u0924","\u0905\u0915\u094D\u091F\u0942","\u0928\u0935","\u0926\u093F\u0938"],date:"%d/%m/%Y"}}});var LEe=J((dYt,EEe)=>{"use strict";EEe.exports={moduleType:"locale",name:"hr",dictionary:{Autoscale:"Automatsko skaliranje","Box Select":"Pravokutni odabir","Click to enter Colorscale title":"Kliknite za unos Colorscale naziva","Click to enter Component A title":"Kliknite za unos naziva Komponente A","Click to enter Component B title":"Kliknite za unos naziva Komponente B","Click to enter Component C title":"Kliknite za unos naziva Komponente C","Click to enter Plot title":"Kliknite za unos naslova grafikona","Click to enter X axis title":"Kliknite za unos naziva X osi","Click to enter Y axis title":"Kliknite za unos naziva Y osi","Click to enter radial axis title":"Kliknite za unos naziva radijalne osi","Compare data on hover":"Usporedi podatke pri prijelazu mi\u0161em","Double-click on legend to isolate one trace":"Dvaput kliknite kako biste izolirali jednu oznaku","Double-click to zoom back out":"Dvaput kliknite kako biste vratili originalnu razinu zumiranja","Download plot as a png":"Preuzmite grafi\u010Dki prikaz kao .png","Download plot":"Preuzmite grafi\u010Dki prikaz","Edit in Chart Studio":"Uredite pomo\u0107u funkcionalnosti Chart Studio","IE only supports svg. Changing format to svg.":"IE podr\u017Eava samo svg. Format se mijenja u svg.","Lasso Select":"Laso odabir","Orbital rotation":"Rotacija oko osi",Pan:"Pomicanje","Produced with Plotly.js":"Napravljeno u paketu Plotly.js",Reset:"Resetirajte","Reset axes":"Resetirajte osi","Reset camera to default":"Resetirajte kameru na zadane vrijednosti","Reset camera to last save":"Resetirajte kameru na zadnje snimljene postavke","Reset view":"Resetirajte pogled","Reset views":"Resetirajte poglede","Show closest data on hover":"Prika\u017Ei najbli\u017Ee podatke pri zadr\u017Eavanju mi\u0161em","Snapshot succeeded":"Preuzimanje slike uspje\u0161no","Sorry, there was a problem downloading your snapshot!":"Pojavila se gre\u0161ka prilikom preuzimanja slike!","Taking snapshot - this may take a few seconds":"Preuzimanje slike - ovo mo\u017Ee potrajati nekoliko sekundi","Toggle Spike Lines":"Postavljanje pomo\u0107nih linija","Toggle show closest data on hover":"Postavljanje prikaza najbli\u017Eih podataka pri zadr\u017Eavanju mi\u0161em","Turntable rotation":"Turntable rotiranje",Zoom:"Zumiranje","Zoom in":"Pove\u0107aj zumiranje","Zoom out":"Smanji zumiranje","close:":"zatvori:","high:":"visoko:","incoming flow count:":"broj dolaze\u0107eg flowa:","kde:":"kde:","lat:":"lat:","lon:":"lon:","low:":"nisko:","lower fence:":"donja granica:","max:":"max:","mean:":"prosjek","median:":"medijan:","min:":"min:","new text":"novi tekst","open:":"otvori:","outgoing flow count:":"broj odlaze\u0107eg flow-a:","q1:":"q1:","q3:":"q3:","source:":"izvor:","target:":"cilj:",trace:"oznaka","upper fence:":"gornja granica:"},format:{days:["Nedjelja","Ponedjeljak","Utorak","Srijeda","\u010Cetvrtak","Petak","Subota"],shortDays:["Ned","Pon","Uto","Sri","\u010Cet","Pet","Sub"],months:["Sije\u010Danj","Velja\u010Da","O\u017Eujak","Travanj","Svibanj","Lipanj","Srpanj","Kolovoz","Rujan","Listopad","Studeni","Prosinac"],shortMonths:["Sij","Velj","O\u017Eu","Tra","Svi","Lip","Srp","Kol","Ruj","Lis","Stu","Pro"],date:"%d.%m.%Y.",decimal:",",thousands:""}}});var REe=J((pYt,DEe)=>{"use strict";DEe.exports={moduleType:"locale",name:"hu",dictionary:{},format:{days:["Vas\xE1rnap","H\xE9tf\xF6","Kedd","Szerda","Cs\xFCt\xF6rt\xF6k","P\xE9ntek","Szombat"],shortDays:["Vas","H\xE9t","Ked","Sze","Cs\xFC","P\xE9n","Szo"],months:["Janu\xE1r","Febru\xE1r","M\xE1rcius","\xC1prilis","M\xE1jus","J\xFAnius","J\xFAlius","Augusztus","Szeptember","Okt\xF3ber","November","December"],shortMonths:["Jan","Feb","M\xE1r","\xC1pr","M\xE1j","J\xFAn","J\xFAl","Aug","Szep","Okt","Nov","Dec"],date:"%Y-%m-%d"}}});var IEe=J((gYt,PEe)=>{"use strict";PEe.exports={moduleType:"locale",name:"hy",dictionary:{},format:{days:["\u056F\u056B\u0580\u0561\u056F\u056B","\u0565\u056F\u0578\u0582\u0577\u0561\u0562\u0569\u056B","\u0565\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056B","\u0579\u0578\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056B","\u0570\u056B\u0576\u0563\u0577\u0561\u0562\u0569\u056B","\u0578\u0582\u0580\u0562\u0561\u0569","\u0577\u0561\u0562\u0561\u0569"],shortDays:["\u056F\u056B\u0580","\u0565\u0580\u056F","\u0565\u0580\u0584","\u0579\u0580\u0584","\u0570\u0576\u0563","\u0578\u0582\u0580\u0562","\u0577\u0562\u0569"],months:["\u0540\u0578\u0582\u0576\u057E\u0561\u0580","\u0553\u0565\u057F\u0580\u057E\u0561\u0580","\u0544\u0561\u0580\u057F","\u0531\u057A\u0580\u056B\u056C","\u0544\u0561\u0575\u056B\u057D","\u0540\u0578\u0582\u0576\u056B\u057D","\u0540\u0578\u0582\u056C\u056B\u057D","\u0555\u0563\u0578\u057D\u057F\u0578\u057D","\u054D\u0565\u057A\u057F\u0565\u0574\u0562\u0565\u0580","\u0540\u0578\u056F\u057F\u0565\u0574\u0562\u0565\u0580","\u0546\u0578\u0575\u0565\u0574\u0562\u0565\u0580","\u0534\u0565\u056F\u057F\u0565\u0574\u0562\u0565\u0580"],shortMonths:["\u0540\u0578\u0582\u0576\u057E","\u0553\u0565\u057F\u0580","\u0544\u0561\u0580\u057F","\u0531\u057A\u0580","\u0544\u0561\u0575\u056B\u057D","\u0540\u0578\u0582\u0576\u056B\u057D","\u0540\u0578\u0582\u056C","\u0555\u0563\u057D","\u054D\u0565\u057A","\u0540\u0578\u056F","\u0546\u0578\u0575","\u0534\u0565\u056F"],date:"%d.%m.%Y"}}});var FEe=J((mYt,qEe)=>{"use strict";qEe.exports={moduleType:"locale",name:"id",dictionary:{},format:{days:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],shortDays:["Min","Sen","Sel","Rab","kam","Jum","Sab"],months:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","Nopember","Desember"],shortMonths:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agus","Sep","Okt","Nop","Des"],date:"%d/%m/%Y"}}});var NEe=J((yYt,zEe)=>{"use strict";zEe.exports={moduleType:"locale",name:"is",dictionary:{},format:{days:["Sunnudagur","M\xE1nudagur","\xDEri\xF0judagur","Mi\xF0vikudagur","Fimmtudagur","F\xF6studagur","Laugardagur"],shortDays:["Sun","M\xE1n","\xDEri","Mi\xF0","Fim","F\xF6s","Lau"],months:["Jan\xFAar","Febr\xFAar","Mars","Apr\xEDl","Ma\xED","J\xFAn\xED","J\xFAl\xED","\xC1g\xFAst","September","Okt\xF3ber","N\xF3vember","Desember"],shortMonths:["Jan","Feb","Mar","Apr","Ma\xED","J\xFAn","J\xFAl","\xC1g\xFA","Sep","Okt","N\xF3v","Des"],date:"%d/%m/%Y"}}});var BEe=J((xYt,OEe)=>{"use strict";OEe.exports={moduleType:"locale",name:"it",dictionary:{Autoscale:"Scala automaticamente","Box Select":"Selezione box","Click to enter Colorscale title":"Clicca per inserire un titolo alla scala di colori","Click to enter Component A title":"Clicca per inserire un titolo al componente A","Click to enter Component B title":"Clicca per inserire un titolo al componente B","Click to enter Component C title":"Clicca per inserire un titolo al componente C","Click to enter Plot title":"Clicca per inserire un titolo al grafico","Click to enter X axis title":"Clicca per inserire un titolo all'asse X","Click to enter Y axis title":"Clicca per inserire un titolo all'asse Y","Click to enter radial axis title":"Clicca per inserire un titolo per l' asse radiale","Compare data on hover":"Paragona i dati al passaggio del mouse","Double-click on legend to isolate one trace":"Doppio click per isolare i dati di una traccia","Double-click to zoom back out":"Doppio click per tornare allo zoom iniziale","Download plot as a png":"Scarica il grafico come immagine png","Download plot":"Scarica il grafico","Edit in Chart Studio":"Modifica in Chart Studio","IE only supports svg. Changing format to svg.":"IE supporta solo svg. Modifica formato in svg.","Lasso Select":"Selezione lazo","Orbital rotation":"Rotazione orbitale",Pan:"Sposta","Produced with Plotly.js":"Creato con Plotly.js",Reset:"Reset","Reset axes":"Resetta gli assi","Reset camera to default":"Reimposta la camera ai valori predefiniti","Reset camera to last save":"Reimposta la camera all' ultimo salvataggio","Reset view":"Reimposta la vista","Reset views":"Reimposta le viste","Show closest data on hover":"Mostra i dati pi\xF9 vicini al passaggio del mouse","Snapshot succeeded":"Screenshot creato con successo","Sorry, there was a problem downloading your snapshot!":"Si \xE8 verificato un errore durante la creazione dello screenshot","Taking snapshot - this may take a few seconds":"Creazione screenshot - potrebbe richiedere qualche secondo",Zoom:"Zoom","Zoom in":"Ingrandisci","Zoom out":"Rimpicciolisci","close:":"chiudi:",trace:"traccia","lat:":"lat.:","lon:":"lon.:","q1:":"q1:","q3:":"q3:","source:":"sorgente:","target:":"target:","max:":"max.:","mean \xB1 \u03C3:":"media \xB1 \u03C3:","mean:":"media:","median:":"mediana:","min:":"min.:","new text:":"Nuovo testo:","upper fence:":"limite superiore:","lower fence:":"limite inferiore:","Turntable rotation":"Rotazione piattaforma","Toggle Spike Lines":"Abilita linee di identificazione","open:":"apri:","high:":"alto:","kde:":"kde:","low:":"basso:","incoming flow count:":"Flusso in entrata:","outgoing flow count:":"Flusso in uscita:","Toggle show closest data on hover":"Abilita mostra i dati pi\xF9 vicini al passaggio del mouse"},format:{days:["Domenica","Luned\xEC","Marted\xEC","Mercoled\xEC","Gioved\xEC","Venerd\xEC","Sabato"],shortDays:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],shortMonths:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"],date:"%d/%m/%Y",decimal:",",thousands:"."}}});var HEe=J((bYt,UEe)=>{"use strict";UEe.exports={moduleType:"locale",name:"ja",dictionary:{Autoscale:"\u81EA\u52D5\u30BA\u30FC\u30E0","Box Select":"\u77E9\u5F62\u9078\u629E","Click to enter Colorscale title":"\u8272\u30B9\u30B1\u30FC\u30EB\u30BF\u30A4\u30C8\u30EB\u3092\u5165\u529B\u3059\u308B\u306B\u306F\u30AF\u30EA\u30C3\u30AF","Click to enter Component A title":"\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8A\u306E\u30BF\u30A4\u30C8\u30EB\u5165\u529B\u3059\u308B\u306B\u306F\u30AF\u30EA\u30C3\u30AF","Click to enter Component B title":"\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8B\u306E\u30BF\u30A4\u30C8\u30EB\u5165\u529B\u3059\u308B\u306B\u306F\u30AF\u30EA\u30C3\u30AF","Click to enter Component C title":"\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8C\u306E\u30BF\u30A4\u30C8\u30EB\u5165\u529B\u3059\u308B\u306B\u306F\u30AF\u30EA\u30C3\u30AF","Click to enter Plot title":"\u30D7\u30ED\u30C3\u30C8\u30BF\u30A4\u30C8\u30EB\u3092\u5165\u529B\u3059\u308B\u306B\u306F\u30AF\u30EA\u30C3\u30AF","Click to enter X axis title":"X\u8EF8\u30BF\u30A4\u30C8\u30EB\u3092\u5165\u529B\u3059\u308B\u306B\u306F\u30AF\u30EA\u30C3\u30AF","Click to enter Y axis title":"Y\u8EF8\u30BF\u30A4\u30C8\u30EB\u3092\u5165\u529B\u3059\u308B\u306B\u306F\u30AF\u30EA\u30C3\u30AF","Compare data on hover":"\u30DB\u30D0\u30FC\u4E2D\u306E\u30C7\u30FC\u30BF\u3092\u6BD4\u8F03","Double-click on legend to isolate one trace":"\u51E1\u4F8B\u3092\u30C0\u30D6\u30EB\u30AF\u30EA\u30C3\u30AF\u3057\u30661\u3064\u306E\u30C8\u30EC\u30FC\u30B9\u3092\u7121\u52B9\u5316\u3057\u307E\u3059","Double-click to zoom back out":"\u30C0\u30D6\u30EB\u30AF\u30EA\u30C3\u30AF\u3067\u30BA\u30FC\u30E0\u3092\u623B\u3057\u307E\u3059","Download plot as a png":"PNG\u30D5\u30A1\u30A4\u30EB\u3067\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9","Download plot":"\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9","Edit in Chart Studio":"Chart Studio\u3067\u7DE8\u96C6","IE only supports svg. Changing format to svg.":"IE\u306FSVG\u306E\u307F\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u3059\u3002SVG\u306B\u5909\u63DB\u3057\u307E\u3059\u3002","Lasso Select":"\u6295\u3052\u7E04\u9078\u629E","Orbital rotation":"\u8ECC\u9053\u56DE\u8EE2",Pan:"\u62E1\u5927","Produced with Plotly.js":"Plotly.js\u306B\u3088\u308A\u4F5C\u6210",Reset:"\u30EA\u30BB\u30C3\u30C8","Reset axes":"\u8EF8\u3092\u30EA\u30BB\u30C3\u30C8","Reset camera to default":"\u30AB\u30E1\u30E9\u3092\u30C7\u30D5\u30A9\u30EB\u30C8\u306B\u623B\u3059","Reset camera to last save":"\u30AB\u30E1\u30E9\u3092\u6700\u5F8C\u306E\u4FDD\u5B58\u72B6\u614B\u306B\u623B\u3059","Reset view":"\u30D3\u30E5\u30FC\u3092\u30EA\u30BB\u30C3\u30C8","Reset views":"\u30D3\u30E5\u30FC\u3092\u30EA\u30BB\u30C3\u30C8","Show closest data on hover":"\u30DB\u30D0\u30FC\u6642\u306B\u4E00\u756A\u8FD1\u3044\u30C7\u30FC\u30BF\u3092\u8868\u793A","Snapshot succeeded":"\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8\u306B\u6210\u529F","Sorry, there was a problem downloading your snapshot!":"\u3059\u307F\u307E\u305B\u3093\u3001\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u3067\u30A8\u30E9\u30FC\u3067\u3059!","Taking snapshot - this may take a few seconds":"\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8\u3092\u64AE\u5F71",Zoom:"\u30BA\u30FC\u30E0","Zoom in":"\u62E1\u5927","Zoom out":"\u7E2E\u5C0F","close:":"\u9589\u3058\u308B:",trace:"\u30C8\u30EC\u30FC\u30B9:","lat:":"\u7DEF\u5EA6:","lon:":"\u7D4C\u5EA6:","q1:":"\u7B2C\u4E00\u56DB\u5206\u4F4D\u6570:","q3:":"\u7B2C\u4E09\u56DB\u5206\u4F4D\u6570:","source:":"\u30BD\u30FC\u30B9:","target:":"\u30BF\u30FC\u30B2\u30C3\u30C8:","lower fence:":"\u30D5\u30A7\u30F3\u30B9\u4E0B\u9650:","upper fence:":"\u30D5\u30A7\u30F3\u30B9\u4E0A\u9650:","max:":"\u6700\u5927:","mean \xB1 \u03C3:":"\u5E73\u5747 \xB1 \u03C3:","mean:":"\u5E73\u5747:","median:":"\u4E2D\u592E\u5024:","min:":"\u6700\u5C0F:","Turntable rotation":"\u8EF8\u56DE\u8EE2:","Toggle Spike Lines":"\u30B9\u30D1\u30A4\u30AF\u30E9\u30A4\u30F3\u306E\u30AA\u30F3\u30AA\u30D5","open:":"\u958B\u304F:","high:":"\u9AD8:","low:":"\u4F4E:","Toggle show closest data on hover":"\u30DB\u30D0\u30FC\u6642\u306B\u4E00\u756A\u8FD1\u3044\u30C7\u30FC\u30BF\u3092\u8868\u793A\u306E\u30AA\u30F3\u30AA\u30D5","incoming flow count:":"\u6D41\u5165\u30D5\u30ED\u30FC\u30AB\u30A6\u30F3\u30C8:","outgoing flow count:":"\u6D41\u51FA\u30D5\u30ED\u30FC\u30AB\u30A6\u30F3\u30C8:","kde:":"kde:","Click to enter radial axis title":"\u653E\u5C04\u8EF8\u30BF\u30A4\u30C8\u30EB\u3092\u5165\u529B\u3059\u308B\u306B\u306F\u30AF\u30EA\u30C3\u30AF","new text":"\u65B0\u898F\u30C6\u30AD\u30B9\u30C8"},format:{days:["\u65E5\u66DC\u65E5","\u6708\u66DC\u65E5","\u706B\u66DC\u65E5","\u6C34\u66DC\u65E5","\u6728\u66DC\u65E5","\u91D1\u66DC\u65E5","\u571F\u66DC\u65E5"],shortDays:["\u65E5","\u6708","\u706B","\u6C34","\u6728","\u91D1","\u571F"],months:["1\u6708","2\u6708","3\u6708","4\u6708","5\u6708","6\u6708","7\u6708","8\u6708","9\u6708","10\u6708","11\u6708","12\u6708"],shortMonths:["1\u6708","2\u6708","3\u6708","4\u6708","5\u6708","6\u6708","7\u6708","8\u6708","9\u6708","10\u6708","11\u6708","12\u6708"],date:"%Y/%m/%d"}}});var VEe=J((wYt,jEe)=>{"use strict";jEe.exports={moduleType:"locale",name:"ka",dictionary:{},format:{days:["\u10D9\u10D5\u10D8\u10E0\u10D0","\u10DD\u10E0\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8","\u10E1\u10D0\u10DB\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8","\u10DD\u10D7\u10EE\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8","\u10EE\u10E3\u10D7\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8","\u10DE\u10D0\u10E0\u10D0\u10E1\u10D9\u10D4\u10D5\u10D8","\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8"],shortDays:["\u10D9\u10D5","\u10DD\u10E0\u10E8","\u10E1\u10D0\u10DB","\u10DD\u10D7\u10EE","\u10EE\u10E3\u10D7","\u10DE\u10D0\u10E0","\u10E8\u10D0\u10D1"],months:["\u10D8\u10D0\u10DC\u10D5\u10D0\u10E0\u10D8","\u10D7\u10D4\u10D1\u10D4\u10E0\u10D5\u10D0\u10DA\u10D8","\u10DB\u10D0\u10E0\u10E2\u10D8","\u10D0\u10DE\u10E0\u10D8\u10DA\u10D8","\u10DB\u10D0\u10D8\u10E1\u10D8","\u10D8\u10D5\u10DC\u10D8\u10E1\u10D8","\u10D8\u10D5\u10DA\u10D8\u10E1\u10D8","\u10D0\u10D2\u10D5\u10D8\u10E1\u10E2\u10DD","\u10E1\u10D4\u10E5\u10E2\u10D4\u10DB\u10D1\u10D4\u10E0\u10D8","\u10DD\u10E5\u10E2\u10DD\u10DB\u10D1\u10D4\u10E0\u10D8","\u10DC\u10DD\u10D4\u10DB\u10D1\u10D4\u10E0\u10D8","\u10D3\u10D4\u10D9\u10D4\u10DB\u10D1\u10D4\u10E0\u10D8"],shortMonths:["\u10D8\u10D0\u10DC","\u10D7\u10D4\u10D1","\u10DB\u10D0\u10E0","\u10D0\u10DE\u10E0","\u10DB\u10D0\u10D8\u10E1\u10D8","\u10D8\u10D5\u10DC","\u10D8\u10D5\u10DA","\u10D0\u10D2\u10D5","\u10E1\u10D4\u10E5","\u10DD\u10E5\u10E2","\u10DC\u10DD\u10D4","\u10D3\u10D4\u10D9"],date:"%d/%m/%Y"}}});var GEe=J((_Yt,YEe)=>{"use strict";YEe.exports={moduleType:"locale",name:"km",dictionary:{},format:{days:["\u1790\u17D2\u1784\u17C3\u200B\u17A2\u17B6\u1791\u17B7\u178F\u17D2\u1799","\u1790\u17D2\u1784\u17C3\u200B\u1785\u1793\u17D2\u1791","\u1790\u17D2\u1784\u17C3\u200B\u17A2\u1784\u17D2\u1782\u17B6\u179A","\u1790\u17D2\u1784\u17C3\u200B\u1796\u17BB\u1792","\u1790\u17D2\u1784\u17C3\u200B\u1796\u17D2\u179A\u17A0\u179F\u17D2\u1794\u178F\u17D2\u178F\u17B7\u17CD","\u1790\u17D2\u1784\u17C3\u200B\u179F\u17BB\u1780\u17D2\u179A","\u1790\u17D2\u1784\u17C3\u200B\u179F\u17C5\u179A\u17CD"],shortDays:["\u17A2\u17B6","\u1785\u1793\u17D2\u1791","\u17A2\u1784\u17D2\u1782","\u1796\u17BB\u1792","\u1796\u17D2\u179A\u17A0","\u179F\u17BB","\u179F\u17C5\u179A\u17CD"],months:["\u1781\u17C2\u200B\u1798\u1780\u179A\u17B6","\u1781\u17C2\u200B\u1780\u17BB\u1798\u17D2\u1797\u17C8","\u1781\u17C2\u200B\u1798\u17B7\u1793\u17B6","\u1781\u17C2\u200B\u1798\u17C1\u179F\u17B6","\u1781\u17C2\u200B\u17A7\u179F\u1797\u17B6","\u1781\u17C2\u200B\u1798\u17B7\u1790\u17BB\u1793\u17B6","\u1781\u17C2\u200B\u1780\u1780\u17D2\u1780\u178A\u17B6","\u1781\u17C2\u200B\u179F\u17B8\u17A0\u17B6","\u1781\u17C2\u200B\u1780\u1789\u17D2\u1789\u17B6","\u1781\u17C2\u200B\u178F\u17BB\u179B\u17B6","\u1781\u17C2\u200B\u179C\u17B7\u1785\u17D2\u1786\u17B7\u1780\u17B6","\u1781\u17C2\u200B\u1792\u17D2\u1793\u17BC"],shortMonths:["\u1798\u1780","\u1780\u17BB","\u1798\u17B7\u1793\u17B6","\u1798\u17C1","\u17A7\u179F","\u1798\u17B7\u1790\u17BB","\u1780\u1780\u17D2\u1780","\u179F\u17B8","\u1780\u1789\u17D2\u1789\u17B6","\u178F\u17BB\u179B\u17B6","\u179C\u17B7\u1785\u17D2\u1786\u17B7","\u1792\u17D2\u1793\u17BC"],date:"%d/%m/%Y"}}});var XEe=J((TYt,WEe)=>{"use strict";WEe.exports={moduleType:"locale",name:"ko",dictionary:{Autoscale:"\uC790\uB3D9 \uD06C\uAE30\uC9C0\uC815","Box Select":"\uBC15\uC2A4 \uC120\uD0DD","Click to enter Colorscale title":"Colorscale \uC81C\uBAA9\uC744 \uC9C0\uC815\uD558\uB824\uBA74 \uD074\uB9AD\uD558\uC138\uC694","Click to enter Component A title":"A\uB370\uC774\uD130\uC758 \uC81C\uBAA9\uC744 \uC9C0\uC815\uD558\uB824\uBA74 \uD074\uB9AD\uD558\uC138\uC694","Click to enter Component B title":"B\uB370\uC774\uD130\uC758 \uC81C\uBAA9\uC744 \uC9C0\uC815\uD558\uB824\uBA74 \uD074\uB9AD\uD558\uC138\uC694","Click to enter Component C title":"C\uB370\uC774\uD130\uC758 \uC81C\uBAA9\uC744 \uC9C0\uC815\uD558\uB824\uBA74 \uD074\uB9AD\uD558\uC138\uC694","Click to enter Plot title":"\uCC28\uD2B8 \uC81C\uBAA9\uC744 \uC9C0\uC815\uD558\uB824\uBA74 \uD074\uB9AD\uD558\uC138\uC694","Click to enter X axis title":"X\uCD95 \uC81C\uBAA9\uC744 \uC9C0\uC815\uD558\uB824\uBA74 \uD074\uB9AD\uD558\uC138\uC694","Click to enter Y axis title":"Y\uCD95 \uC81C\uBAA9\uC744 \uC9C0\uC815\uD558\uB824\uBA74 \uD074\uB9AD\uD558\uC138\uC694","Click to enter radial axis title":"\uC6D0\uD615 \uCD95 \uC81C\uBAA9\uC744 \uC9C0\uC815\uD558\uB824\uBA74 \uD074\uB9AD\uD558\uC138\uC694","Compare data on hover":"\uB9C8\uC6B0\uC2A4\uB97C \uC62C\uB9AC\uBA74 \uB370\uC774\uD130\uC640 \uBE44\uAD50\uD569\uB2C8\uB2E4","Double-click on legend to isolate one trace":"\uBC94\uB840\uB97C \uB354\uBE14 \uD074\uB9AD\uD558\uC5EC \uD558\uB098\uC758 \uD2B8\uB808\uC774\uC2A4\uB97C \uBD84\uB9AC\uD569\uB2C8\uB2E4","Double-click to zoom back out":"\uB354\uBE14 \uD074\uB9AD\uD558\uC5EC \uC90C\uC744 \uD574\uC81C\uD569\uB2C8\uB2E4","Download plot as a png":".png \uC774\uBBF8\uC9C0 \uD30C\uC77C\uB85C \uCC28\uD2B8\uB97C \uB2E4\uC6B4\uB85C\uB4DC \uD569\uB2C8\uB2E4","Download plot":"\uCC28\uD2B8\uB97C \uB2E4\uC6B4\uB85C\uB4DC \uD569\uB2C8\uB2E4","Edit in Chart Studio":"Chart Studio\uB97C \uC218\uC815\uD569\uB2C8\uB2E4","IE only supports svg. Changing format to svg.":"IE\uB294 svg\uB9CC\uC744 \uC9C0\uC6D0\uD569\uB2C8\uB2E4. \uD3EC\uB9F7\uC744 svg\uB85C \uBCC0\uACBD\uD558\uC138\uC694","Lasso Select":"\uC62C\uAC00\uBBF8 \uC120\uD0DD","Orbital rotation":"\uADA4\uB3C4 \uC218\uC815",Pan:"\uC774\uB3D9","Produced with Plotly.js":"Plotly.js \uC81C\uACF5",Reset:"\uCD08\uAE30\uD654","Reset axes":"\uCD95 \uCD08\uAE30\uD654","Reset camera to default":"camera\uB97C \uAE30\uBCF8\uAC12\uC73C\uB85C \uCD08\uAE30\uD654","Reset camera to last save":"camera\uB97C \uB9C8\uC9C0\uB9C9\uC73C\uB85C \uC800\uC7A5\uD55C \uAC12\uC73C\uB85C \uCD08\uAE30\uD654","Reset view":"view \uCD08\uAE30\uD654","Reset views":"views \uCD08\uAE30\uD654","Show closest data on hover":"\uB9C8\uC6B0\uC2A4\uB97C \uC62C\uB9AC\uBA74 \uADFC\uC811\uD55C \uB370\uC774\uD130\uB97C \uBCF4\uC774\uAE30","Snapshot succeeded":"Snapshot \uC131\uACF5","Sorry, there was a problem downloading your snapshot!":"\uC8C4\uC1A1\uD569\uB2C8\uB2E4, snapshot\uC744 \uB2E4\uC6B4\uB85C\uB4DC \uC911 \uBB38\uC81C\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4!","Taking snapshot - this may take a few seconds":"snapshot \uCC0D\uAE30 - \uC218 \uCD08\uAC00 \uAC78\uB9B4 \uC218 \uC788\uC2B5\uB2C8\uB2E4","Toggle Spike Lines":"\uC2A4\uC704\uCE58\uB85C Lines\uC744 \uACE0\uC815\uD569\uB2C8\uB2E4","Toggle show closest data on hover":"\uC2A4\uC704\uCE58\uB85C \uB9C8\uC6B0\uC2A4\uB97C \uC62C\uB838\uC744 \uB54C \uAC00\uC7A5 \uAC00\uAE4C\uC6B4 \uB370\uC774\uD130\uB97C \uBCF4\uC5EC\uC90D\uB2C8\uB2E4","Turntable rotation":"Turntable \uD68C\uC804",Zoom:"\uD655\uB300(\uC90C)","Zoom in":"\uD655\uB300(\uC90C \uC778)","Zoom out":"\uCD95\uC18C(\uC90C \uC544\uC6C3)",close:"\uB2EB\uAE30",high:"\uB192\uC74C",low:"\uB0AE\uC74C",max:"\uCD5C\uB313\uAC12","mean \xB1 \u03C3":"\uD3C9\uADE0 \xB1 \u03C3",mean:"\uD3C9\uADE0",median:"\uC911\uAC04 \uAC12",min:"\uCD5C\uC19F\uAC12","new text":"\uC0C8\uB85C\uC6B4 \uD14D\uC2A4\uD2B8",open:"\uC5F4\uAE30",q1:"q1",q3:"q3",source:"\uC18C\uC2A4",target:"\uD0C0\uAC9F"},format:{days:["\uC77C\uC694\uC77C","\uC6D4\uC694\uC77C","\uD654\uC694\uC77C","\uC218\uC694\uC77C","\uBAA9\uC694\uC77C","\uAE08\uC694\uC77C","\uD1A0\uC694\uC77C"],shortDays:["\uC77C","\uC6D4","\uD654","\uC218","\uBAA9","\uAE08","\uD1A0"],months:["1\uC6D4","2\uC6D4","3\uC6D4","4\uC6D4","5\uC6D4","6\uC6D4","7\uC6D4","8\uC6D4","9\uC6D4","10\uC6D4","11\uC6D4","12\uC6D4"],shortMonths:["1\uC6D4","2\uC6D4","3\uC6D4","4\uC6D4","5\uC6D4","6\uC6D4","7\uC6D4","8\uC6D4","9\uC6D4","10\uC6D4","11\uC6D4","12\uC6D4"],date:"%Y-%m-%d"}}});var JEe=J((AYt,ZEe)=>{"use strict";ZEe.exports={moduleType:"locale",name:"lt",dictionary:{},format:{days:["sekmadienis","pirmadienis","antradienis","tre\u010Diadienis","ketvirtadienis","penktadienis","\u0161e\u0161tadienis"],shortDays:["sek","pir","ant","tre","ket","pen","\u0161e\u0161"],months:["Sausis","Vasaris","Kovas","Balandis","Gegu\u017E\u0117","Bir\u017Eelis","Liepa","Rugpj\u016Btis","Rugs\u0117jis","Spalis","Lapkritis","Gruodis"],shortMonths:["Sau","Vas","Kov","Bal","Geg","Bir","Lie","Rugp","Rugs","Spa","Lap","Gru"],date:"%Y-%m-%d"}}});var KEe=J((MYt,$Ee)=>{"use strict";$Ee.exports={moduleType:"locale",name:"lv",dictionary:{},format:{days:["sv\u0113tdiena","pirmdiena","otrdiena","tre\u0161diena","ceturtdiena","piektdiena","sestdiena"],shortDays:["svt","prm","otr","tre","ctr","pkt","sst"],months:["Janv\u0101ris","Febru\u0101ris","Marts","Apr\u012Blis","Maijs","J\u016Bnijs","J\u016Blijs","Augusts","Septembris","Oktobris","Novembris","Decembris"],shortMonths:["Jan","Feb","Mar","Apr","Mai","J\u016Bn","J\u016Bl","Aug","Sep","Okt","Nov","Dec"],date:"%d-%m-%Y"}}});var eLe=J((kYt,QEe)=>{"use strict";QEe.exports={moduleType:"locale",name:"me-ME",dictionary:{},format:{days:["Ne\u0111elja","Pone\u0111eljak","Utorak","Srijeda","\u010Cetvrtak","Petak","Subota"],shortDays:["Ne\u0111","Pon","Uto","Sri","\u010Cet","Pet","Sub"],months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],shortMonths:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],date:"%d/%m/%Y"}}});var rLe=J((SYt,tLe)=>{"use strict";tLe.exports={moduleType:"locale",name:"me",dictionary:{},format:{days:["\u041D\u0435\u0452\u0435\u0459\u0430","\u041F\u043E\u043D\u0435\u0452\u0435\u0459\u0430\u043A","\u0423\u0442\u043E\u0440\u0430\u043A","\u0421\u0440\u0438\u0458\u0435\u0434\u0430","\u0427\u0435\u0442\u0432\u0440\u0442\u0430\u043A","\u041F\u0435\u0442\u0430\u043A","\u0421\u0443\u0431\u043E\u0442\u0430"],shortDays:["\u041D\u0435\u0452","\u041F\u043E\u043D","\u0423\u0442\u043E","\u0421\u0440\u0438","\u0427\u0435\u0442","\u041F\u0435\u0442","\u0421\u0443\u0431"],months:["\u0408\u0430\u043D\u0443\u0430\u0440","\u0424\u0435\u0431\u0440\u0443\u0430\u0440","\u041C\u0430\u0440\u0442","\u0410\u043F\u0440\u0438\u043B","\u041C\u0430\u0458","\u0408\u0443\u043D","\u0408\u0443\u043B","\u0410\u0432\u0433\u0443\u0441\u0442","\u0421\u0435\u043F\u0442\u0435\u043C\u0431\u0430\u0440","\u041E\u043A\u0442\u043E\u0431\u0430\u0440","\u041D\u043E\u0432\u0435\u043C\u0431\u0430\u0440","\u0414\u0435\u0446\u0435\u043C\u0431\u0430\u0440"],shortMonths:["\u0408\u0430\u043D","\u0424\u0435\u0431","\u041C\u0430\u0440","\u0410\u043F\u0440","\u041C\u0430\u0458","\u0408\u0443\u043D","\u0408\u0443\u043B","\u0410\u0432\u0433","\u0421\u0435\u043F","\u041E\u043A\u0442","\u041D\u043E\u0432","\u0414\u0435\u0446"],date:"%d/%m/%Y"}}});var iLe=J((CYt,nLe)=>{"use strict";nLe.exports={moduleType:"locale",name:"mk",dictionary:{},format:{days:["\u041D\u0435\u0434\u0435\u043B\u0430","\u041F\u043E\u043D\u0435\u0434\u0435\u043B\u043D\u0438\u043A","\u0412\u0442\u043E\u0440\u043D\u0438\u043A","\u0421\u0440\u0435\u0434\u0430","\u0427\u0435\u0442\u0432\u0440\u0442\u043E\u043A","\u041F\u0435\u0442\u043E\u043A","\u0421\u0430\u0431\u043E\u0442\u0430"],shortDays:["\u041D\u0435\u0434","\u041F\u043E\u043D","\u0412\u0442\u043E","\u0421\u0440\u0435","\u0427\u0435\u0442","\u041F\u0435\u0442","\u0421\u0430\u0431"],months:["\u0408\u0430\u043D\u0443\u0430\u0440\u0438","\u0424\u0435\u0432\u0440\u0443\u0430\u0440\u0438","\u041C\u0430\u0440\u0442","\u0410\u043F\u0440\u0438\u043B","\u041C\u0430\u0458","\u0408\u0443\u043D\u0438","\u0408\u0443\u043B\u0438","\u0410\u0432\u0433\u0443\u0441\u0442","\u0421\u0435\u043F\u0442\u0435\u043C\u0432\u0440\u0438","\u041E\u043A\u0442\u043E\u043C\u0432\u0440\u0438","\u041D\u043E\u0435\u043C\u0432\u0440\u0438","\u0414\u0435\u043A\u0435\u043C\u0432\u0440\u0438"],shortMonths:["\u0408\u0430\u043D","\u0424\u0435\u0432","\u041C\u0430\u0440","\u0410\u043F\u0440","\u041C\u0430\u0458","\u0408\u0443\u043D","\u0408\u0443\u043B","\u0410\u0432\u0433","\u0421\u0435\u043F","\u041E\u043A\u0442","\u041D\u043E\u0432","\u0414\u0435\u043A"],date:"%d/%m/%Y"}}});var oLe=J((EYt,aLe)=>{"use strict";aLe.exports={moduleType:"locale",name:"ml",dictionary:{},format:{days:["\u0D1E\u0D3E\u0D2F\u0D30\u0D4D\u200D","\u0D24\u0D3F\u0D19\u0D4D\u0D15\u0D33\u0D4D\u200D","\u0D1A\u0D4A\u0D35\u0D4D\u0D35","\u0D2C\u0D41\u0D27\u0D28\u0D4D\u200D","\u0D35\u0D4D\u0D2F\u0D3E\u0D34\u0D02","\u0D35\u0D46\u0D33\u0D4D\u0D33\u0D3F","\u0D36\u0D28\u0D3F"],shortDays:["\u0D1E\u0D3E\u0D2F","\u0D24\u0D3F\u0D19\u0D4D\u0D15","\u0D1A\u0D4A\u0D35\u0D4D\u0D35","\u0D2C\u0D41\u0D27","\u0D35\u0D4D\u0D2F\u0D3E\u0D34\u0D02","\u0D35\u0D46\u0D33\u0D4D\u0D33\u0D3F","\u0D36\u0D28\u0D3F"],months:["\u0D1C\u0D28\u0D41\u0D35\u0D30\u0D3F","\u0D2B\u0D46\u0D2C\u0D4D\u0D30\u0D41\u0D35\u0D30\u0D3F","\u0D2E\u0D3E\u0D30\u0D4D\u200D\u0D1A\u0D4D\u0D1A\u0D4D","\u0D0F\u0D2A\u0D4D\u0D30\u0D3F\u0D32\u0D4D\u200D","\u0D2E\u0D47\u0D2F\u0D4D","\u0D1C\u0D42\u0D23\u0D4D\u200D","\u0D1C\u0D42\u0D32\u0D48","\u0D06\u0D17\u0D38\u0D4D\u0D31\u0D4D\u0D31\u0D4D","\u0D38\u0D46\u0D2A\u0D4D\u0D31\u0D4D\u0D31\u0D02\u0D2C\u0D30\u0D4D\u200D","\u0D12\u0D15\u0D4D\u0D1F\u0D4B\u0D2C\u0D30\u0D4D\u200D","\u0D28\u0D35\u0D02\u0D2C\u0D30\u0D4D\u200D","\u0D21\u0D3F\u0D38\u0D02\u0D2C\u0D30\u0D4D\u200D"],shortMonths:["\u0D1C\u0D28\u0D41","\u0D2B\u0D46\u0D2C\u0D4D","\u0D2E\u0D3E\u0D30\u0D4D\u200D","\u0D0F\u0D2A\u0D4D\u0D30\u0D3F","\u0D2E\u0D47\u0D2F\u0D4D","\u0D1C\u0D42\u0D23\u0D4D\u200D","\u0D1C\u0D42\u0D32\u0D3E","\u0D06\u0D17","\u0D38\u0D46\u0D2A\u0D4D","\u0D12\u0D15\u0D4D\u0D1F\u0D4B","\u0D28\u0D35\u0D02","\u0D21\u0D3F\u0D38"],date:"%d/%m/%Y"}}});var lLe=J((LYt,sLe)=>{"use strict";sLe.exports={moduleType:"locale",name:"ms",dictionary:{},format:{days:["Ahad","Isnin","Selasa","Rabu","Khamis","Jumaat","Sabtu"],shortDays:["Aha","Isn","Sel","Rab","Kha","Jum","Sab"],months:["Januari","Februari","Mac","April","Mei","Jun","Julai","Ogos","September","Oktober","November","Disember"],shortMonths:["Jan","Feb","Mac","Apr","Mei","Jun","Jul","Ogo","Sep","Okt","Nov","Dis"],date:"%d/%m/%Y"}}});var fLe=J((DYt,uLe)=>{"use strict";uLe.exports={moduleType:"locale",name:"mt",dictionary:{},format:{days:["Il-\u0126add","It-Tnejn","It-Tlieta","L-Erbg\u0127a","Il-\u0126amis","Il-\u0120img\u0127a","Is-Sibt"],shortDays:["\u0126ad","Tne","Tli","Erb","\u0126am","\u0120im","Sib"],months:["Jannar","Frar","Marzu","April","Mejju","\u0120unju","Lulju","Awissu","Settembru","Ottubru","Novembru","Di\u010Bembru"],shortMonths:["Jan","Fra","Mar","Apr","Mej","\u0120un","Lul","Awi","Set","Ott","Nov","Di\u010B"],date:"%d/%m/%Y"}}});var hLe=J((RYt,cLe)=>{"use strict";cLe.exports={moduleType:"locale",name:"nl-BE",dictionary:{},format:{days:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],shortDays:["zon","maa","din","woe","don","vri","zat"],months:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],shortMonths:["jan","feb","maa","apr","mei","jun","jul","aug","sep","okt","nov","dec"],date:"%d/%m/%Y"}}});var dLe=J((PYt,vLe)=>{"use strict";vLe.exports={moduleType:"locale",name:"nl",dictionary:{Autoscale:"Automatische schaal","Click to enter Colorscale title":"Klik om kleurenschaal titel in te vullen","Click to enter Component A title":"Klik om Component A titel in te vullen","Click to enter Component B title":"Klik om Component B titel in te vullen","Click to enter Component C title":"Klik om Component C titel in te vullen","Click to enter Plot title":"Klik om Plot titel in te vullen","Click to enter X axis title":"Klik om x-as titel in te vullen","Click to enter Y axis title":"Klik om y-as titel in te vullen","Click to enter radial axis title":"Klik om radiaal-as titel in te vullen","Double-click to zoom back out":"Zoom uit door te dubbel klikken","Download plot as a png":"Dowload de plot als een png-bestand","Download plot":"Download de plot","Draw circle":"Teken cirkel","Draw closed freeform":"Teken gesloten vorm","Draw line":"Teken lijn","Draw open freeform":"Teken open vorm","Draw rectangle":"Teken rechthoek","Edit in Chart Studio":"In Chart Studio wijzigen","Erase active shape":"Wis huidige vorm","IE only supports svg. Changing format to svg.":"IE ondersteunt alleen svg bestanden. Formaat gewijzigd naar svg.","Lasso Select":"Lasso selectie","Produced with Plotly.js":"Gemaakt met Plotly.js",Zoom:"Inzoomen","max:":"maximum:","mean \xB1 \u03C3:":"gemiddelde \xB1 \u03C3:","mean:":"gemiddelde:","min:":"minimum:","new text":"nieuwe tekst","open:":"openen:","high:":"hoog:","low:":"laag:","source:":"bron:","target:":"doel:"},format:{days:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],shortDays:["zon","maa","din","woe","don","vri","zat"],months:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],shortMonths:["jan","feb","maa","apr","mei","jun","jul","aug","sep","okt","nov","dec"],date:"%d-%m-%Y",decimal:",",thousands:".",year:"%Y",month:"%b %Y",dayMonth:"%-d %b",dayMonthYear:"%-d %b %Y"}}});var gLe=J((IYt,pLe)=>{"use strict";pLe.exports={moduleType:"locale",name:"no",dictionary:{Autoscale:"Autoskalere","Box Select":"Velg rektangel","Click to enter Colorscale title":"Klikk for \xE5 oppgi tittel p\xE5 fargeskala","Click to enter Component A title":"Klikk for \xE5 oppgi tittel p\xE5 komponent A","Click to enter Component B title":"Klikk for \xE5 oppgi tittel p\xE5 komponent B","Click to enter Component C title":"Klikk for \xE5 oppgi tittel p\xE5 komponent C","Click to enter Plot title":"Klikk for \xE5 oppgi tittel p\xE5 plot","Click to enter X axis title":"Klikk for \xE5 oppgi tittel p\xE5 x-akse","Click to enter Y axis title":"Klikk for \xE5 oppgi tittel p\xE5 y-akse","Click to enter radial axis title":"Klikk for \xE5 oppgi tittel p\xE5 radiell akse","Compare data on hover":"Sammenligne data n\xE5r musepekeren holdes \xE5ver","Double-click on legend to isolate one trace":"Dobbelklikk p\xE5 p\xE5 forklaringen for \xE5 vise bare en serie","Double-click to zoom back out":"Dobbelklikk for \xE5 zoome ut igjen","Download plot":"Last ned plot","Download plot as a png":"Last ned plot som png","Edit in Chart Studio":"Editer i Chart Studio","IE only supports svg. Changing format to svg.":"IE st\xF8tter bare svg. Bytt format til svg.","Lasso Select":"Velg lasso","Orbital rotation":"Orbital rotasjon",Pan:"Panne","Produced with Plotly":"Laget med Plotly",Reset:"Nullstille","Reset akses":"Nullstille akser","Reset camera to default":"Nullstille kamera til standard","Reset camera to last save":"Nullstille kamera til siste lagret","Reset view":"Nullstille visning","Reset views":"Nullstille visninger","Show closest data on hover":"Vis n\xE6rmeste verdi n\xE5r musepekeren holdes over","Snapshot succeeded":"Bilde Laget","Sorry, there was a problem downloading your snapshot!":"Beklager, noe gikk galt under nedlasting av bildet","Taking snapshot - this may take a few seconds":"Oppretter bilde - dette kan ta noen sekunder","Toggle Spike Lines":"Aktiver / deaktiver topplinjer","Toggle show closest data on hover":"Aktiver / deaktiver n\xE6rmeste verdi n\xE5r musepekeren holdes over","Turntable rotation":"Flat rotation",Zoom:"Zoom","Zoom in":"Zoom inn","Zoom out":"Zoom ut","close:":"steng:","concentration:":"konsentrasjon:","high:":"h\xF8y:","incoming flow count:":"innkommende str\xF8mningssammendrag:","kde:":"kde:","lat:":"lat:","lon:":"lon:","low:":"lav:","lower fence:":"lavere grense","max:":"maks:","mean \xB1 \u03C3:":"gjennomsnitt \xB1 \u03C3:","mean:":"gjennomsnitt:","median:":"median:","min:":"min:","new text":"ny text","open:":"\xE5pen:","outgoing flow count:":"utg\xE5ende str\xF8mningssammendrag:","q1:":"q1:","q3:":"q3:","source:":"kilde:","target:":"m\xE5l:",trace:"serie","upper fence:":"\xF8vre grense:"},format:{days:["S\xF8ndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","L\xF8rdag"],shortDays:["S\xF8n","Man","Tir","Ons","Tor","Fre","L\xF8r"],months:["Januar","Februar","Mars","April","Mai","Juni","Juli","August","September","Oktober","November","Desember"],shortMonths:["Jan","Feb","Mar","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Des"],date:"%d.%m.%Y",decimal:",",thousands:" "}}});var yLe=J((qYt,mLe)=>{"use strict";mLe.exports={moduleType:"locale",name:"pa",dictionary:{},format:{days:["\u0A10\u0A24\u0A35\u0A3E\u0A30","\u0A38\u0A4B\u0A2E\u0A35\u0A3E\u0A30","\u0A2E\u0A70\u0A17\u0A32\u0A35\u0A3E\u0A30","\u0A2C\u0A41\u0A71\u0A27\u0A35\u0A3E\u0A30","\u0A35\u0A40\u0A30\u0A35\u0A3E\u0A30","\u0A38\u0A3C\u0A41\u0A71\u0A15\u0A30\u0A35\u0A3E\u0A30","\u0A38\u0A3C\u0A28\u0A3F\u0A71\u0A1A\u0A30\u0A35\u0A3E\u0A30"],shortDays:["\u0A10\u0A24","\u0A38\u0A4B\u0A2E","\u0A2E\u0A70\u0A17\u0A32","\u0A2C\u0A41\u0A71\u0A27","\u0A35\u0A40\u0A30","\u0A38\u0A3C\u0A41\u0A71\u0A15\u0A30","\u0A38\u0A3C\u0A28\u0A3F\u0A71\u0A1A\u0A30"],months:["\u0A1C\u0A28\u0A35\u0A30\u0A40","\u0A2B\u0A3C\u0A30\u0A35\u0A30\u0A40","\u0A2E\u0A3E\u0A30\u0A1A","\u0A05\u0A2A\u0A4D\u0A30\u0A48\u0A32","\u0A2E\u0A08","\u0A1C\u0A42\u0A28","\u0A1C\u0A41\u0A32\u0A3E\u0A08","\u0A05\u0A17\u0A38\u0A24","\u0A38\u0A24\u0A70\u0A2C\u0A30","\u0A05\u0A15\u0A24\u0A42\u0A2C\u0A30","\u0A28\u0A35\u0A70\u0A2C\u0A30","\u0A26\u0A38\u0A70\u0A2C\u0A30"],shortMonths:["\u0A1C\u0A28","\u0A2B\u0A3C\u0A30","\u0A2E\u0A3E\u0A30","\u0A05\u0A2A\u0A4D\u0A30\u0A48","\u0A2E\u0A08","\u0A1C\u0A42\u0A28","\u0A1C\u0A41\u0A32\u0A3E","\u0A05\u0A17","\u0A38\u0A24\u0A70","\u0A05\u0A15","\u0A28\u0A35\u0A70","\u0A26\u0A38\u0A70"],date:"%d-%m-%Y"}}});var bLe=J((FYt,xLe)=>{"use strict";xLe.exports={moduleType:"locale",name:"pl",dictionary:{},format:{days:["Niedziela","Poniedzia\u0142ek","Wtorek","\u015Aroda","Czwartek","Pi\u0105tek","Sobota"],shortDays:["Nie","Pn","Wt","\u015Ar","Czw","Pt","So"],months:["Stycze\u0144","Luty","Marzec","Kwiecie\u0144","Maj","Czerwiec","Lipiec","Sierpie\u0144","Wrzesie\u0144","Pa\u017Adziernik","Listopad","Grudzie\u0144"],shortMonths:["Sty","Lu","Mar","Kw","Maj","Cze","Lip","Sie","Wrz","Pa","Lis","Gru"],date:"%Y-%m-%d"}}});var _Le=J((zYt,wLe)=>{"use strict";wLe.exports={moduleType:"locale",name:"pt-BR",dictionary:{Autoscale:"Escala autom\xE1tica","Box Select":"Sele\xE7\xE3o retangular","Click to enter Colorscale title":"Clique para editar o t\xEDtulo da escala de cor","Click to enter Component A title":"Clique para editar o t\xEDtulo do Componente A","Click to enter Component B title":"Clique para editar o t\xEDtulo do Componente B","Click to enter Component C title":"Clique para editar o t\xEDtulo do Componente C","Click to enter Plot title":"Clique para editar o t\xEDtulo do Gr\xE1fico","Click to enter X axis title":"Clique para editar o t\xEDtulo do eixo X","Click to enter Y axis title":"Clique para editar o t\xEDtulo do eixo Y","Click to enter radial axis title":"Clique para editar o t\xEDtulo do eixo radial","Compare data on hover":"Comparar dados ao pairar","Double-click on legend to isolate one trace":"Duplo clique na legenda para isolar uma s\xE9rie","Double-click to zoom back out":"Duplo clique para reverter zoom","Download plot as a png":"Fazer download do gr\xE1fico como imagem (png)","Download plot":"Fazer download do gr\xE1fico","Edit in Chart Studio":"Editar no Chart Studio","IE only supports svg. Changing format to svg.":"IE suporta apenas svg. Alterando formato para svg","Lasso Select":"Sele\xE7\xE3o de la\xE7o","Orbital rotation":"Rota\xE7\xE3o orbital",Pan:"Mover","Produced with Plotly.js":"Criado com o Plotly.js",Reset:"Restaurar","Reset axes":"Restaurar eixos","Reset camera to default":"Restaurar c\xE2mera para padr\xE3o","Reset camera to last save":"Restaurar c\xE2mera para \xFAltima salva","Reset view":"Restaurar vis\xE3o","Reset views":"Restaurar vis\xF5es","Show closest data on hover":"Exibir dado mais pr\xF3ximo ao pairar","Snapshot succeeded":"Captura instant\xE2nea completa","Sorry, there was a problem downloading your snapshot!":"Desculpe, houve um problema no download de sua captura instant\xE2nea!","Taking snapshot - this may take a few seconds":"Efetuando captura instant\xE2nea - isso pode levar alguns instantes","Toggle Spike Lines":"Habilitar/desabilitar triangula\xE7\xE3o de linhas","Toggle show closest data on hover":"Habilitar/desabilitar exibi\xE7\xE3o de dado mais pr\xF3ximo ao pairar","Turntable rotation":"Rota\xE7\xE3o de mesa",Zoom:"Zoom","Zoom in":"Ampliar zoom","Zoom out":"Reduzir zoom",close:"fechamento",high:"alta","incoming flow count":"contagem de fluxo de entrada",kde:"kde",lat:"latitude",lon:"longitude",low:"baixa","lower fence":"limite inferior",max:"m\xE1ximo","mean \xB1 \u03C3":"m\xE9dia \xB1 \u03C3",mean:"m\xE9dia",median:"mediana",min:"m\xEDnimo","new text":"novo texto",open:"abertura","outgoing flow count":"contagem de fluxo de sa\xEDda",q1:"q1",q3:"q3",source:"origem",target:"destino",trace:"s\xE9rie","upper fence":"limite superior"},format:{days:["Domingo","Segunda-feira","Ter\xE7a-feira","Quarta-feira","Quinta-feira","Sexta-feira","S\xE1bado"],shortDays:["Dom","Seg","Ter","Qua","Qui","Sex","S\xE1b"],months:["Janeiro","Fevereiro","Mar\xE7o","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],shortMonths:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],date:"%d/%m/%Y",decimal:",",thousands:"."}}});var ALe=J((NYt,TLe)=>{"use strict";TLe.exports={moduleType:"locale",name:"pt-PT",dictionary:{Autoscale:"Escala autom\xE1tica","Box Select":"Sele\xE7\xE3o retangular","Click to enter Colorscale title":"Clique para editar o t\xEDtulo da escala de cor","Click to enter Component A title":"Clique para editar o t\xEDtulo do Componente A","Click to enter Component B title":"Clique para editar o t\xEDtulo do Componente B","Click to enter Component C title":"Clique para editar o t\xEDtulo do Componente C","Click to enter Plot title":"Clique para editar o t\xEDtulo do Gr\xE1fico","Click to enter X axis title":"Clique para editar o t\xEDtulo do eixo X","Click to enter Y axis title":"Clique para editar o t\xEDtulo do eixo Y","Click to enter radial axis title":"Clique para editar o t\xEDtulo do eixo radial","Compare data on hover":"Comparar dados ao pairar","Double-click on legend to isolate one trace":"Duplo clique na legenda para isolar uma s\xE9rie","Double-click to zoom back out":"Duplo clique para reverter amplia\xE7\xE3o","Download plot as a png":"Baixar gr\xE1fico como imagem (png)","Download plot":"Baixar gr\xE1fico","Edit in Chart Studio":"Editar no Chart Studio","IE only supports svg. Changing format to svg.":"IE suporta apenas svg. Alterando formato para svg","Lasso Select":"Sele\xE7\xE3o de la\xE7o","Orbital rotation":"Rota\xE7\xE3o orbital",Pan:"Mover","Produced with Plotly.js":"Criado com Plotly.js",Reset:"Restaurar","Reset axes":"Restaurar eixos","Reset camera to default":"Restaurar c\xE2mera para padr\xE3o","Reset camera to last save":"Restaurar c\xE2mera para \xFAltima grava\xE7\xE3o","Reset view":"Restaurar vista","Reset views":"Restaurar vistas","Show closest data on hover":"Exibir dado mais pr\xF3ximo ao pairar","Snapshot succeeded":"Captura instant\xE2nea com sucesso","Sorry, there was a problem downloading your snapshot!":"Desculpe, houve um problema no download de sua captura instant\xE2nea!","Taking snapshot - this may take a few seconds":"Efetuando captura instant\xE2nea - isso pode demorar alguns segundos","Toggle Spike Lines":"Habilitar/desabilitar triangula\xE7\xE3o de linhas","Toggle show closest data on hover":"Habilitar/desabilitar exibi\xE7\xE3o de dado mais pr\xF3ximo ao pairar","Turntable rotation":"Rodar",Zoom:"Ampliar","Zoom in":"Aumentar Amplia\xE7\xE3o","Zoom out":"Reduzir Amplia\xE7\xE3o",close:"fechar",high:"alta","incoming flow count":"contagem de fluxo de entrada",kde:"kde",lat:"latitude",lon:"longitude",low:"baixa","lower fence":"limite inferior",max:"m\xE1ximo","mean \xB1 \u03C3":"m\xE9dia \xB1 \u03C3",mean:"m\xE9dia",median:"mediana",min:"m\xEDnimo","new text":"novo texto",open:"abrir","outgoing flow count":"contagem de fluxo de sa\xEDda",q1:"q1",q3:"q3",source:"origem",target:"destino",trace:"s\xE9rie","upper fence":"limite superior"},format:{days:["domingo","segunda-feira","ter\xE7a-feira","quarta-feira","quinta-feira","sexta-feira","s\xE1bado"],shortDays:["Dom","Seg","Ter","Qua","Qui","Sex","S\xE1b"],months:["Janeiro","Fevereiro","Mar\xE7o","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],shortMonths:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],date:"%d/%m/%Y"}}});var kLe=J((OYt,MLe)=>{"use strict";MLe.exports={moduleType:"locale",name:"rm",dictionary:{},format:{days:["Dumengia","Glindesdi","Mardi","Mesemna","Gievgia","Venderdi","Sonda"],shortDays:["Dum","Gli","Mar","Mes","Gie","Ven","Som"],months:["Schaner","Favrer","Mars","Avrigl","Matg","Zercladur","Fanadur","Avust","Settember","October","November","December"],shortMonths:["Scha","Fev","Mar","Avr","Matg","Zer","Fan","Avu","Sett","Oct","Nov","Dec"],date:"%d/%m/%Y"}}});var CLe=J((BYt,SLe)=>{"use strict";SLe.exports={moduleType:"locale",name:"ro",dictionary:{},format:{days:["Duminic\u0103","Luni","Marti","Miercuri","Joi","Vineri","S\xE2mb\u0103t\u0103"],shortDays:["Dum","Lun","Mar","Mie","Joi","Vin","S\xE2m"],months:["Ianuarie","Februarie","Martie","Aprilie","Mai","Iunie","Iulie","August","Septembrie","Octombrie","Noiembrie","Decembrie"],shortMonths:["Ian","Feb","Mar","Apr","Mai","Iun","Iul","Aug","Sep","Oct","Noi","Dec"],date:"%d.%m.%Y"}}});var LLe=J((UYt,ELe)=>{"use strict";ELe.exports={moduleType:"locale",name:"ru",dictionary:{Autoscale:"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u0448\u043A\u0430\u043B\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435","Box Select":"\u0412\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u043F\u0440\u044F\u043C\u043E\u0443\u0433\u043E\u043B\u044C\u043D\u043E\u0439 \u043E\u0431\u043B\u0430\u0441\u0442\u0438","Click to enter Colorscale title":"\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u0434\u043B\u044F \u0432\u0432\u043E\u0434\u0430 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0446\u0432\u0435\u0442\u043E\u0432\u043E\u0439 \u0448\u043A\u0430\u043B\u044B","Click to enter Component A title":"\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u0434\u043B\u044F \u0432\u0432\u043E\u0434\u0430 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u0430 A","Click to enter Component B title":"\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u0434\u043B\u044F \u0432\u0432\u043E\u0434\u0430 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u0430 B","Click to enter Component C title":"\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u0434\u043B\u044F \u0432\u0432\u043E\u0434\u0430 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u0430 C","Click to enter Plot title":"\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u0434\u043B\u044F \u0432\u0432\u043E\u0434\u0430 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0433\u0440\u0430\u0444\u0438\u043A\u0430","Click to enter X axis title":"\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u0434\u043B\u044F \u0432\u0432\u043E\u0434\u0430 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u043E\u0441\u0438 X","Click to enter Y axis title":"\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u0434\u043B\u044F \u0432\u0432\u043E\u0434\u0430 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u043E\u0441\u0438 Y","Click to enter radial axis title":"\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u0434\u043B\u044F \u0432\u0432\u043E\u0434\u0430 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u043F\u043E\u043B\u044F\u0440\u043D\u043E\u0439 \u043E\u0441\u0438","Compare data on hover":"\u041F\u0440\u0438 \u043D\u0430\u0432\u0435\u0434\u0435\u043D\u0438\u0438 \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u0432\u0441\u0435 \u0434\u0430\u043D\u043D\u044B\u0435","Double-click on legend to isolate one trace":"\u0414\u0432\u0430\u0436\u0434\u044B \u0449\u0451\u043B\u043A\u043D\u0438\u0442\u0435 \u043F\u043E \u043B\u0435\u0433\u0435\u043D\u0434\u0435 \u0434\u043B\u044F \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u043E\u0442\u0434\u0435\u043B\u044C\u043D\u044B\u0445 \u0434\u0430\u043D\u043D\u044B\u0445","Double-click to zoom back out":"\u0414\u043B\u044F \u0441\u0431\u0440\u043E\u0441\u0430 \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0430 \u043A \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044E \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u0434\u0432\u0430\u0436\u0434\u044B \u0449\u0451\u043B\u043A\u043D\u0438\u0442\u0435 \u043C\u044B\u0448\u044C\u044E","Download plot":"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0433\u0440\u0430\u0444\u0438\u043A","Download plot as a png":"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 PNG","Edit in Chart Studio":"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432 Chart Studio","IE only supports svg. Changing format to svg.":"IE \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0442\u043E\u043B\u044C\u043A\u043E svg. \u0424\u043E\u0440\u043C\u0430\u0442 \u0441\u043C\u0435\u043D\u044F\u0435\u0442\u0441\u044F \u043D\u0430 svg.","Lasso Select":"\u041B\u0430\u0441\u0441\u043E","Orbital rotation":"\u041E\u0440\u0431\u0438\u0442\u0430\u043B\u044C\u043D\u043E\u0435 \u0434\u0432\u0438\u0436\u0435\u043D\u0438\u0435",Pan:"\u0421\u0434\u0432\u0438\u0433","Produced with Plotly.js":"\u0421\u043E\u0437\u0434\u0430\u043D\u043E \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E Plotly.js",Reset:"\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u043A \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F\u043C \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E","Reset axes":"\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043E\u0441\u0435\u0439 \u043A \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F\u043C \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E","Reset camera to default":"\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u043A\u0430\u043C\u0435\u0440\u044B \u043A \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F\u043C \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E","Reset camera to last save":"\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u043A\u0430\u043C\u0435\u0440\u0443 \u043A \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u043C\u0443 \u0441\u043E\u0445\u0440\u0430\u043D\u0451\u043D\u043D\u043E\u043C\u0443 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u044E","Reset view":"\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043A \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F\u043C \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E","Reset views":"\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F \u043A \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F\u043C \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E","Show closest data on hover":"\u041F\u0440\u0438 \u043D\u0430\u0432\u0435\u0434\u0435\u043D\u0438\u0438 \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u0431\u043B\u0438\u0436\u0430\u0439\u0448\u0438\u0435 \u0434\u0430\u043D\u043D\u044B\u0435","Snapshot succeeded":"\u0421\u043D\u0438\u043C\u043E\u043A \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u0441\u043E\u0437\u0434\u0430\u043D","Sorry, there was a problem downloading your snapshot!":"\u041A \u0441\u043E\u0436\u0430\u043B\u0435\u043D\u0438\u044E, \u0432\u043E\u0437\u043D\u0438\u043A\u043B\u0430 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0430 \u043F\u0440\u0438 \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u0438 \u0441\u043D\u0438\u043C\u043A\u0430","Taking snapshot - this may take a few seconds":"\u0414\u0435\u043B\u0430\u0435\u0442\u0441\u044F \u0441\u043D\u0438\u043C\u043E\u043A - \u044D\u0442\u043E \u043C\u043E\u0436\u0435\u0442 \u0437\u0430\u043D\u044F\u0442\u044C \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0441\u0435\u043A\u0443\u043D\u0434","Toggle Spike Lines":"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C/\u0432\u044B\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043B\u0438\u043D\u0438\u0439 \u043F\u0440\u043E\u0435\u043A\u0446\u0438\u0439 \u0442\u043E\u0447\u0435\u043A","Toggle show closest data on hover":"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C/\u0432\u044B\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043F\u043E\u043A\u0430\u0437 \u0431\u043B\u0438\u0436\u0430\u0439\u0448\u0438\u0445 \u0434\u0430\u043D\u043D\u044B\u0445 \u043F\u0440\u0438 \u043D\u0430\u0432\u0435\u0434\u0435\u043D\u0438\u0438","Turntable rotation":"\u0412\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u043D\u0430 \u043F\u043E\u0432\u043E\u0440\u043E\u0442\u043D\u043E\u043C \u0441\u0442\u043E\u043B\u0435",Zoom:"\u0417\u0443\u043C","Zoom in":"\u0423\u0432\u0435\u043B\u0438\u0447\u0438\u0442\u044C","Zoom out":"\u0423\u043C\u0435\u043D\u044C\u0448\u0438\u0442\u044C","close:":"\u0417\u0430\u043A\u0440\u044B\u0442\u0438\u0435:","concentration:":"\u041A\u043E\u043D\u0446\u0435\u043D\u0442\u0440\u0430\u0446\u0438\u044F:","high:":"\u041C\u0430\u043A\u0441\u0438\u043C\u0443\u043C:","incoming flow count:":"\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0432\u0445\u043E\u0434\u044F\u0449\u0438\u0445 \u0441\u0432\u044F\u0437\u0435\u0439:","kde:":"\u042F\u0434\u0435\u0440\u043D\u0430\u044F \u043E\u0446\u0435\u043D\u043A\u0430 \u043F\u043B\u043E\u0442\u043D\u043E\u0441\u0442\u0438:","lat:":"\u0428\u0438\u0440\u043E\u0442\u0430:","lon:":"\u0414\u043E\u043B\u0433\u043E\u0442\u0430:","low:":"\u041C\u0438\u043D\u0438\u043C\u0443\u043C:","lower fence:":"\u041D\u0438\u0436\u043D\u044F\u044F \u0433\u0440\u0430\u043D\u0438\u0446\u0430:","max:":"\u041C\u0430\u043A\u0441.:","mean \xB1 \u03C3:":"\u0421\u0440\u0435\u0434\u043D\u0435\u0435 \xB1 \u03C3:","mean:":"\u0421\u0440\u0435\u0434\u043D\u0435\u0435:","median:":"\u041C\u0435\u0434\u0438\u0430\u043D\u0430:","min:":"\u041C\u0438\u043D.:","new text":"\u041D\u043E\u0432\u044B\u0439 \u0442\u0435\u043A\u0441\u0442","open:":"\u041E\u0442\u043A\u0440\u044B\u0442\u0438\u0435:","outgoing flow count:":"\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0438\u0441\u0445\u043E\u0434\u044F\u0449\u0438\u0445 \u0441\u0432\u044F\u0437\u0435\u0439:","q1:":"q1:","q3:":"q3:","source:":"\u0418\u0441\u0442\u043E\u0447\u043D\u0438\u043A:","target:":"\u0426\u0435\u043B\u044C:",trace:"\u0420\u044F\u0434","upper fence:":"\u0412\u0435\u0440\u0445\u043D\u044F\u044F \u0433\u0440\u0430\u043D\u0438\u0446\u0430:"},format:{days:["\u0432\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435","\u043F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A","\u0432\u0442\u043E\u0440\u043D\u0438\u043A","\u0441\u0440\u0435\u0434\u0430","\u0447\u0435\u0442\u0432\u0435\u0440\u0433","\u043F\u044F\u0442\u043D\u0438\u0446\u0430","\u0441\u0443\u0431\u0431\u043E\u0442\u0430"],shortDays:["\u0432\u0441","\u043F\u043D","\u0432\u0442","\u0441\u0440","\u0447\u0442","\u043F\u0442","\u0441\u0431"],months:["\u042F\u043D\u0432\u0430\u0440\u044C","\u0424\u0435\u0432\u0440\u0430\u043B\u044C","\u041C\u0430\u0440\u0442","\u0410\u043F\u0440\u0435\u043B\u044C","\u041C\u0430\u0439","\u0418\u044E\u043D\u044C","\u0418\u044E\u043B\u044C","\u0410\u0432\u0433\u0443\u0441\u0442","\u0421\u0435\u043D\u0442\u044F\u0431\u0440\u044C","\u041E\u043A\u0442\u044F\u0431\u0440\u044C","\u041D\u043E\u044F\u0431\u0440\u044C","\u0414\u0435\u043A\u0430\u0431\u0440\u044C"],shortMonths:["\u042F\u043D\u0432.","\u0424\u0435\u0432\u0440.","\u041C\u0430\u0440\u0442","\u0410\u043F\u0440.","\u041C\u0430\u0439","\u0418\u044E\u043D\u044C","\u0418\u044E\u043B\u044C","\u0410\u0432\u0433.","\u0421\u0435\u043D\u0442.","\u041E\u043A\u0442.","\u041D\u043E\u044F","\u0414\u0435\u043A."],date:"%d.%m.%Y",decimal:",",thousands:" "}}});var RLe=J((HYt,DLe)=>{"use strict";DLe.exports={moduleType:"locale",name:"si",dictionary:{Autoscale:"\u0DC3\u0DCA\u0DC0\u0DBA\u0D82 \u0DB4\u0DBB\u0DD2\u0DB8\u0DCF\u0DAB\u0DB1\u0DBA","Box Select":"\u0D9A\u0DDC\u0DA7\u0DD4\u0DC0 \u0DC0\u0DBB\u0DAB\u0DBA","Click to enter Colorscale title":"\u0DC0\u0DBB\u0DCA\u0DAB\u0DB4\u0DBB\u0DD2\u0DB8\u0DCF\u0DAB\u0DB1 \u0DC3\u0DD2\u0DBB\u0DD0\u0DC3\u0DD2\u0DBA \u0D87\u0DAD\u0DD4\u0DBD\u0DCA \u0D9A\u0DD2\u0DBB\u0DD3\u0DB8\u0DA7 \u0D94\u0DB6\u0DB1\u0DCA\u0DB1","Click to enter Component A title":"\u0DC3\u0D82\u0DBB\u0DA0\u0D9A\u0DBA\u0DDA \u0D85 \u0DC3\u0DD2\u0DBB\u0DD0\u0DC3\u0DD2\u0DBA \u0D87\u0DAD\u0DD4\u0DBD\u0DCA \u0D9A\u0DD2\u0DBB\u0DD3\u0DB8\u0DA7 \u0D94\u0DB6\u0DB1\u0DCA\u0DB1","Click to enter Component B title":"\u0DC3\u0D82\u0DBB\u0DA0\u0D9A\u0DBA\u0DDA \u0D86 \u0DC3\u0DD2\u0DBB\u0DD0\u0DC3\u0DD2\u0DBA \u0D87\u0DAD\u0DD4\u0DBD\u0DCA \u0D9A\u0DD2\u0DBB\u0DD3\u0DB8\u0DA7 \u0D94\u0DB6\u0DB1\u0DCA\u0DB1","Click to enter Component C title":"\u0DC3\u0D82\u0DBB\u0DA0\u0D9A\u0DBA\u0DDA \u0D87 \u0DC3\u0DD2\u0DBB\u0DD0\u0DC3\u0DD2\u0DBA \u0D87\u0DAD\u0DD4\u0DBD\u0DCA \u0D9A\u0DD2\u0DBB\u0DD3\u0DB8\u0DA7 \u0D94\u0DB6\u0DB1\u0DCA\u0DB1","Click to enter Plot title":"\u0D9A\u0DDC\u0DA7\u0DD4\u0DC0\u0DD9\u0DC4\u0DD2 \u0DC3\u0DD2\u0DBB\u0DD0\u0DC3\u0DD2\u0DBA \u0D87\u0DAD\u0DD4\u0DBD\u0DCA \u0D9A\u0DD2\u0DBB\u0DD3\u0DB8\u0DA7 \u0D94\u0DB6\u0DB1\u0DCA\u0DB1","Click to enter X axis title":"\u0DAD\u0DD2\u0DBB\u0DC3\u0DCA \u0D85\u0D9A\u0DCA\u200D\u0DC2\u0DBA\u0DDA \u0DC3\u0DD2\u0DBB\u0DD0\u0DC3\u0DD2\u0DBA \u0D87\u0DAD\u0DD4\u0DBD\u0DCA \u0D9A\u0DD2\u0DBB\u0DD3\u0DB8\u0DA7 \u0D94\u0DB6\u0DB1\u0DCA\u0DB1","Click to enter Y axis title":"\u0DC3\u0DD2\u0DBB\u0DC3\u0DCA \u0D85\u0D9A\u0DCA\u200D\u0DC2\u0DBA\u0DDA \u0DC3\u0DD2\u0DBB\u0DD0\u0DC3\u0DD2\u0DBA \u0D87\u0DAD\u0DD4\u0DBD\u0DCA \u0D9A\u0DD2\u0DBB\u0DD3\u0DB8\u0DA7 \u0D94\u0DB6\u0DB1\u0DCA\u0DB1","Click to enter radial axis title":"\u0D85\u0DBB\u0DD3\u0DBA \u0D85\u0D9A\u0DCA\u200D\u0DC2\u0DBA\u0DDA \u0DC3\u0DD2\u0DBB\u0DD0\u0DC3\u0DD2\u0DBA \u0D87\u0DAD\u0DD4\u0DBD\u0DCA \u0D9A\u0DD2\u0DBB\u0DD3\u0DB8\u0DA7 \u0D94\u0DB6\u0DB1\u0DCA\u0DB1","Compare data on hover":"\u0DC3\u0DD4\u0DB1\u0D82\u0D9C\u0DD4 \u0D9A\u0DD2\u0DBB\u0DD3\u0DB8\u0DDA\u0DAF\u0DD3 \u0DAF\u0DAD\u0DCA\u0DAD \u0DC3\u0DC3\u0DB3\u0DB1\u0DCA\u0DB1","Double-click on legend to isolate one trace":"Double-click on legend to isolate one trace","Double-click to zoom back out":"\u0D86\u0DB4\u0DC3\u0DD4 \u0D9A\u0DD4\u0DA9\u0DCF\u0DBD\u0DB1\u0DBA \u0D9A\u0DD2\u0DBB\u0DD3\u0DB8\u0DA7 \u0DAF\u0DD9\u0DC0\u0DBB\u0D9A\u0DCA \u0D94\u0DB6\u0DB1\u0DCA\u0DB1","Download plot":"\u0D9A\u0DDC\u0DA7\u0DD4\u0DC0 \u0DB6\u0DCF\u0D9C\u0DB1\u0DCA\u0DB1","Download plot as a png":"\u0D9A\u0DDC\u0DA7\u0DD4\u0DC0 \u0DB4\u0DD3\u0D91\u0DB1\u0DCA\u0DA2\u0DD3 \u0DBD\u0DD9\u0DC3 \u0DB6\u0DCF\u0D9C\u0DB1\u0DCA\u0DB1","Draw circle":"\u0D9A\u0DC0\u0DBA\u0D9A\u0DCA \u0D85\u0DB3\u0DD2\u0DB1\u0DCA\u0DB1","Draw closed freeform":"\u0DC3\u0D82\u0DC0\u0DD8\u0DAD \u0DBD\u0DD9\u0DC3 \u0DB1\u0DD2\u0DAF\u0DC4\u0DC3\u0DDA \u0D85\u0DB3\u0DD2\u0DB1\u0DCA\u0DB1","Draw line":"\u0DBB\u0DDA\u0D9B\u0DCF\u0DC0\u0D9A\u0DCA \u0D85\u0DB3\u0DD2\u0DB1\u0DCA\u0DB1","Draw open freeform":"\u0DC0\u0DD2\u0DC0\u0DD8\u0DAD \u0DBD\u0DD9\u0DC3 \u0DB1\u0DD2\u0DAF\u0DC4\u0DC3\u0DDA \u0D85\u0DB3\u0DD2\u0DB1\u0DCA\u0DB1","Draw rectangle":"\u0DC3\u0DD8\u0DA2\u0DD4\u0D9A\u0DDD\u0DAB\u0DBA\u0D9A\u0DCA \u0D85\u0DB3\u0DD2\u0DB1\u0DCA\u0DB1","Edit in Chart Studio":"\u0DB4\u0DCA\u200D\u0DBB\u0DC3\u0DCA\u0DAD\u0DCF\u0DBB \u0DA0\u0DD2\u0DAD\u0DCA\u200D\u0DBB\u0DCF\u0D9C\u0DCF\u0DBB\u0DBA\u0DD9\u0DC4\u0DD2 \u0DC3\u0D82\u0DC3\u0DCA\u0D9A\u0DBB\u0DAB\u0DBA","Erase active shape":"\u0DC3\u0D9A\u0DCA\u200D\u0DBB\u0DD2\u0DBA \u0DC4\u0DD0\u0DA9\u0DBA \u0DB8\u0D9A\u0DB1\u0DCA\u0DB1","IE only supports svg. Changing format to svg.":"\u0D89.\u0D91. \u0D91\u0DC3\u0DCA\u0DC0\u0DD3\u0DA2\u0DD3 \u0DC3\u0DB3\u0DC4\u0DCF \u0DB4\u0DB8\u0DAB\u0D9A\u0DCA \u0DC3\u0DC4\u0DCF\u0DBA \u0DAF\u0D9A\u0DCA\u0DC0\u0DBA\u0DD2. \u0D86\u0D9A\u0DD8\u0DAD\u0DD2\u0DBA \u0D91\u0DBA\u0DA7 \u0DC0\u0DD9\u0DB1\u0DC3\u0DCA \u0DC0\u0DD9\u0DB8\u0DD2\u0DB1\u0DCA","Lasso Select":"\u0DB8\u0DCF\u0DBA\u0DD2\u0DB8 \u0DC0\u0DBB\u0DAB\u0DBA","Orbital rotation":"\u0D9A\u0DCF\u0D9A\u0DCA\u200D\u0DC2\u0DD2\u0D9A \u0D9A\u0DBB\u0D9A\u0DD0\u0DC0\u0DD3\u0DB8",Pan:"\u0DA0\u0DBD\u0D9A\u0DBA","Produced with Plotly":"\u0DB4\u0DCA\u0DBD\u0DDC\u0DA7\u0DCA\u0DBD\u0DD2 \u0DC3\u0DB8\u0D9F \u0D8B\u0DB4\u0DAF\u0DC0\u0DB1 \u0DBD\u0DAF\u0DD2",Reset:"\u0DBA\u0DC5\u0DD2 \u0DC3\u0D9A\u0DC3\u0DB1\u0DCA\u0DB1","Reset axes":"\u0D85\u0D9A\u0DCA\u200D\u0DC2 \u0DBA\u0DC5\u0DD2 \u0DC3\u0D9A\u0DC3\u0DB1\u0DCA\u0DB1","Reset camera to default":"Reset camera to default","Reset camera to last save":"Reset camera to last save","Reset view":"\u0DAF\u0DD0\u0D9A\u0DCA\u0DB8 \u0DBA\u0DC5\u0DD2 \u0DC3\u0D9A\u0DC3\u0DB1\u0DCA\u0DB1","Reset views":"\u0DAF\u0DD0\u0D9A\u0DCA\u0DB8\u0DCA \u0DBA\u0DC5\u0DD2 \u0DC3\u0D9A\u0DC3\u0DB1\u0DCA\u0DB1","Show closest data on hover":"\u0DC3\u0DD4\u0DB1\u0D82\u0D9C\u0DD4 \u0D9A\u0DD2\u0DBB\u0DD3\u0DB8\u0DDA\u0DAF\u0DD3 \u0D86\u0DC3\u0DB1\u0DCA\u0DB1\u0DB8 \u0DAF\u0DAD\u0DCA\u0DAD \u0DB4\u0DD9\u0DB1\u0DCA\u0DC0\u0DB1\u0DCA\u0DB1","Snapshot succeeded":"\u0DA1\u0DCF\u0DBA\u0DCF\u0DBB\u0DD6\u0DB4\u0DBA \u0DC3\u0DCF\u0DBB\u0DCA\u0DAE\u0D9A\u0DBA\u0DD2","Sorry, there was a problem downloading your snapshot!":"\u0DC3\u0DB8\u0DCF\u0DC0\u0DB1\u0DCA\u0DB1, \u0D94\u0DB6\u0D9C\u0DDA \u0DA1\u0DCF\u0DBA\u0DCF\u0DBB\u0DD6\u0DB4\u0DBA \u0DB6\u0DCF\u0D9C\u0DD0\u0DB1\u0DD3\u0DB8\u0DDA \u0D9C\u0DD0\u0DA7\u0DBD\u0DD4\u0DC0\u0D9A\u0DCA \u0D87\u0DAD!","Taking snapshot - this may take a few seconds":"\u0DA1\u0DCF\u0DBA\u0DCF\u0DBB\u0DD6\u0DB4\u0DBA \u0D9C\u0DD0\u0DB1\u0DD9\u0DB8\u0DD2\u0DB1\u0DCA - \u0DB8\u0DD9\u0DBA\u0DA7 \u0DAD\u0DAD\u0DCA. \u0D9A\u0DD2\u0DC4\u0DD2\u0DB4\u0DBA\u0D9A\u0DCA \u0D9C\u0DAD\u0DC0\u0DD2\u0DBA \u0DC4\u0DD0\u0D9A\u0DD2\u0DBA","Toggle Spike Lines":"Toggle Spike Lines","Toggle show closest data on hover":"Toggle show closest data on hover","Turntable rotation":"\u0DB6\u0DB8\u0DBB \u0D9A\u0DBB\u0D9A\u0DD0\u0DC0\u0DD3\u0DB8",Zoom:"\u0DC0\u0DD2\u0DC1\u0DCF\u0DBD \u0D9A\u0DBB\u0DB1\u0DCA\u0DB1","Zoom in":"\u0DC0\u0DD2\u0DC1\u0DCF\u0DBD\u0DB1\u0DBA","Zoom out":"\u0D9A\u0DD4\u0DA9\u0DCF\u0DBD\u0DB1\u0DBA","close:":"\u0DC0\u0DC3\u0DB1\u0DCA\u0DB1:","concentration:":"\u0DC3\u0D82\u0D9A\u0DDA\u0DB1\u0DCA\u0DAF\u0DCA\u200D\u0DBB\u0DAB\u0DBA:","high:":"high:","incoming flow count:":"\u0D87\u0DAD\u0DD4\u0DC5\u0DA7\u0D91\u0DB1 \u0DB4\u0DCA\u200D\u0DBB\u0DC0\u0DCF\u0DC4\u0DBA \u0D9C\u0DAB\u0DB1\u0DBA:","kde:":"kde:","lat:":"lat:","lon:":"lon:","low:":"low:","lower fence:":"lower fence:","max:":"\u0D8B\u0DB4\u0DBB\u0DD2\u0DB8:","mean \xB1 \u03C3:":"\u0DB8\u0DB0\u0DCA\u200D\u0DBA\u0DB1\u0DCA\u200D\u0DBA \xB1 \u03C3:","mean:":"\u0DB8\u0DB0\u0DCA\u200D\u0DBA\u0DB1\u0DCA\u200D\u0DBA:","median:":"\u0DB8\u0DB0\u0DCA\u200D\u0DBA\u0DC3\u0DAE\u0DBA:","min:":"\u0D85\u0DC0\u0DB8:","new text":"\u0DB1\u0DC0 \u0DB4\u0DCF\u0DA8\u0DBA","open:":"\u0DC0\u0DD2\u0DC0\u0DD8\u0DAD:","outgoing flow count:":"\u0DB4\u0DD2\u0DA7\u0DAD\u0DA7\u0DBA\u0DB1 \u0DB4\u0DCA\u200D\u0DBB\u0DC0\u0DCF\u0DC4\u0DBA \u0D9C\u0DAB\u0DB1\u0DBA:","q1:":"q1:","q3:":"q3:","source:":"\u0DB8\u0DD6\u0DBD\u0DCF\u0DC1\u0DCA\u200D\u0DBB\u0DBA:","target:":"\u0D89\u0DBD\u0D9A\u0DCA\u0D9A\u0DBA:",trace:"trace","upper fence:":"upper fence:"},format:{days:["\u0D89\u0DBB\u0DD2\u0DAF\u0DCF","\u0DC3\u0DB3\u0DD4\u0DAF\u0DCF","\u0D85\u0D9F\u0DC4\u0DBB\u0DD4\u0DC0\u0DCF\u0DAF\u0DCF","\u0DB6\u0DAF\u0DCF\u0DAF\u0DCF","\u0DB6\u0DCA\u200D\u0DBB\u0DC4\u0DC3\u0DCA\u0DB4\u0DAD\u0DD2\u0DB1\u0DCA\u0DAF\u0DCF","\u0DC3\u0DD2\u0D9A\u0DD4\u0DBB\u0DCF\u0DAF\u0DCF","\u0DC3\u0DD9\u0DB1\u0DC3\u0DD4\u0DBB\u0DCF\u0DAF\u0DCF"],shortDays:["\u0D89\u0DBB\u0DD2\u0DAF\u0DCF","\u0DC3\u0DB3\u0DD4\u0DAF\u0DCF","\u0D85\u0D9F\u0DC4","\u0DB6\u0DAF\u0DCF\u0DAF\u0DCF","\u0DB6\u0DCA\u200D\u0DBB\u0DC4\u0DC3\u0DCA","\u0DC3\u0DD2\u0D9A\u0DD4","\u0DC3\u0DD9\u0DB1"],months:["\u0DAF\u0DD4\u0DBB\u0DD4\u0DAD\u0DD4","\u0DB1\u0DC0\u0DB8\u0DCA","\u0DB8\u0DD0\u0DAF\u0DD2\u0DB1\u0DCA","\u0DB6\u0D9A\u0DCA","\u0DC0\u0DD9\u0DC3\u0D9A\u0DCA","\u0DB4\u0DDC\u0DC3\u0DDC\u0DB1\u0DCA","\u0D87\u0DC3\u0DC5","\u0DB1\u0DD2\u0D9A\u0DD2\u0DAB\u0DD2","\u0DB6\u0DD2\u0DB1\u0DBB","\u0DC0\u0DB4\u0DCA","\u0D89\u0DBD\u0DCA","\u0D8B\u0DB3\u0DD4\u0DC0\u0DB4\u0DCA"],shortMonths:["\u0DAF\u0DD4\u0DBB\u0DD4\u0DAD\u0DD4","\u0DB1\u0DC0\u0DB8\u0DCA","\u0DB8\u0DD0\u0DAF\u0DD2\u0DB1\u0DCA","\u0DB6\u0D9A\u0DCA","\u0DC0\u0DD9\u0DC3\u0D9A\u0DCA","\u0DB4\u0DDC\u0DC3\u0DDC\u0DB1\u0DCA","\u0D87\u0DC3\u0DC5","\u0DB1\u0DD2\u0D9A\u0DD2\u0DAB\u0DD2","\u0DB6\u0DD2\u0DB1\u0DBB","\u0DC0\u0DB4\u0DCA","\u0D89\u0DBD\u0DCA","\u0D8B\u0DB3\u0DD4"],date:"%d-%m-%Y"}}});var ILe=J((jYt,PLe)=>{"use strict";PLe.exports={moduleType:"locale",name:"sk",dictionary:{Autoscale:"Auto rozsah","Box Select":"Obd\u013A\u017Enikov\xFD v\xFDber","Click to enter Colorscale title":"Kliknite pre zadanie n\xE1zvu farebnej \u0161k\xE1ly","Click to enter Component A title":"Kliknite pre zadanie n\xE1zvu komponentu A","Click to enter Component B title":"Kliknite pre zadanie n\xE1zvu komponentu B","Click to enter Component C title":"Kliknite pre zadanie n\xE1zvu komponentu C","Click to enter Plot title":"Kliknite pre zadanie n\xE1zvu grafu","Click to enter X axis title":"Kliknite pre zadanie n\xE1zvu osi X","Click to enter Y axis title":"Kliknite pre zadanie n\xE1zvu osi Y","Click to enter radial axis title":"Kliknite pre zadanie n\xE1zvu radi\xE1lnej osi","Compare data on hover":"Porovna\u0165 hodnoty pri prejden\xED my\u0161ou","Double-click on legend to isolate one trace":"Dvojklikom na legendu izolujete jednu d\xE1tov\xFA sadu","Double-click to zoom back out":"Dvojklikom vr\xE1tite zv\xE4\u010D\u0161enie","Download plot as a png":"Ulo\u017Ei\u0165 ako PNG","Download plot":"Ulo\u017Ei\u0165","Edit in Chart Studio":"Editova\u0165 v Chart Studio","IE only supports svg. Changing format to svg.":"IE podporuje iba SVG form\xE1t. Zmenen\xE9 na SVG.","Lasso Select":"V\xFDber lasom","Orbital rotation":"Rot\xE1cia (orbit\xE1lna)",Pan:"Pos\xFAvanie","Produced with Plotly.js":"Vytvoren\xE9 pomocou Plotly.js",Reset:"Obnovi\u0165 nastavenie","Reset axes":"Obnovi\u0165 nastavenie os\xED","Reset camera to default":"Obnovi\u0165 nastavenie kamery do predvolen\xE9ho stavu","Reset camera to last save":"Obnovi\u0165 nastavenie kamery do posledn\xE9ho ulo\u017Een\xE9ho stavu","Reset view":"Obnovi\u0165 nastavenie poh\u013Eadu","Reset views":"Obnovi\u0165 nastavenie poh\u013Eadov","Show closest data on hover":"Zobrazi\u0165 najbli\u017E\u0161iu hodnotu p\u0159i prejden\xED my\u0161ou","Snapshot succeeded":"Obr\xE1zok vytvoren\xFD","Sorry, there was a problem downloading your snapshot!":"Ospravedl\u0148ujeme sa, do\u0161lo k chybe pri s\u0165ahovan\xED obr\xE1zka!","Taking snapshot - this may take a few seconds":"Sn\xEDmanie - m\xF4\u017Ee trva\u0165 nieko\u013Eko sek\xFAnd",Zoom:"Zv\xE4\u010D\u0161enie","Zoom in":"Zv\xE4\u010D\u0161i\u0165","Zoom out":"Zmen\u0161i\u0165","close:":"zavrie\u0165:",trace:"d\xE1tov\xE1 sada","lat:":"Lat.:","lon:":"Lon.:","q1:":"q1:","q3:":"q3:","source:":"zdroj:","target:":"cie\u013E:","lower fence:":"spodn\xE1 hranica:","upper fence:":"vrchn\xE1 hranica:","max:":"max.:","mean \xB1 \u03C3:":"priemer \xB1 \u03C3:","mean:":"priemer:","median:":"medi\xE1n:","min:":"min.:","new text":"nov\xFD text","Turntable rotation":"Rot\xE1cia (oto\u010Dn\xFD stol\xEDk)","Toggle Spike Lines":"Prepn\xFA\u0165 zobrazenie vodiacich \u010Diar","open:":"otvori\u0165:","high:":"horn\xE1:","low:":"doln\xE1:","Toggle show closest data on hover":"Prepn\xFA\u0165 zobrazovanie najbli\u017E\u0161ej hodnoty pri prejden\xED my\u0161ou","incoming flow count:":"po\u010Det \xFAdajov na vstupe:","outgoing flow count:":"po\u010Det \xFAdajov na v\xFDstupe:","kde:":"kde:"},format:{days:["Nede\u013Ea","Pondelok","Utorok","Streda","\u0160tvrtok","Piatok","Sobota"],shortDays:["Ned","Pon","Uto","Str","\u0160tv","Pia","Sob"],months:["Janu\xE1r","Febru\xE1r","Marec","Apr\xEDl","M\xE1j","J\xFAn","J\xFAl","August","September","Okt\xF3ber","November","December"],shortMonths:["Jan","Feb","Mar","Apr","M\xE1j","J\xFAn","J\xFAl","Aug","Sep","Okt","Nov","Dec"],date:"%d.%m.%Y",decimal:",",thousands:" "}}});var FLe=J((VYt,qLe)=>{"use strict";qLe.exports={moduleType:"locale",name:"sl",dictionary:{},format:{days:["Nedelja","Ponedeljek","Torek","Sreda","\u010Cetrtek","Petek","Sobota"],shortDays:["Ned","Pon","Tor","Sre","\u010Cet","Pet","Sob"],months:["Januar","Februar","Marec","April","Maj","Junij","Julij","Avgust","September","Oktober","November","December"],shortMonths:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],date:"%d.%m.%Y"}}});var NLe=J((YYt,zLe)=>{"use strict";zLe.exports={moduleType:"locale",name:"sq",dictionary:{},format:{days:["E Diel","E H\xEBn\xEB","E Mart\xEB","E M\xEBrkur\xEB","E Enjte","E Premte","E Shtune"],shortDays:["Di","H\xEB","Ma","M\xEB","En","Pr","Sh"],months:["Janar","Shkurt","Mars","Prill","Maj","Qershor","Korrik","Gusht","Shtator","Tetor","N\xEBntor","Dhjetor"],shortMonths:["Jan","Shk","Mar","Pri","Maj","Qer","Kor","Gus","Sht","Tet","N\xEBn","Dhj"],date:"%d.%m.%Y"}}});var BLe=J((GYt,OLe)=>{"use strict";OLe.exports={moduleType:"locale",name:"sr-SR",dictionary:{},format:{days:["Nedelja","Ponedeljak","Utorak","Sreda","\u010Cetvrtak","Petak","Subota"],shortDays:["Ned","Pon","Uto","Sre","\u010Cet","Pet","Sub"],months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],shortMonths:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],date:"%d/%m/%Y"}}});var HLe=J((WYt,ULe)=>{"use strict";ULe.exports={moduleType:"locale",name:"sr",dictionary:{},format:{days:["\u041D\u0435\u0434\u0435\u0459\u0430","\u041F\u043E\u043D\u0435\u0434\u0435\u0459\u0430\u043A","\u0423\u0442\u043E\u0440\u0430\u043A","\u0421\u0440\u0435\u0434\u0430","\u0427\u0435\u0442\u0432\u0440\u0442\u0430\u043A","\u041F\u0435\u0442\u0430\u043A","\u0421\u0443\u0431\u043E\u0442\u0430"],shortDays:["\u041D\u0435\u0434","\u041F\u043E\u043D","\u0423\u0442\u043E","\u0421\u0440\u0435","\u0427\u0435\u0442","\u041F\u0435\u0442","\u0421\u0443\u0431"],months:["\u0408\u0430\u043D\u0443\u0430\u0440","\u0424\u0435\u0431\u0440\u0443\u0430\u0440","\u041C\u0430\u0440\u0442","\u0410\u043F\u0440\u0438\u043B","\u041C\u0430\u0458","\u0408\u0443\u043D","\u0408\u0443\u043B","\u0410\u0432\u0433\u0443\u0441\u0442","\u0421\u0435\u043F\u0442\u0435\u043C\u0431\u0430\u0440","\u041E\u043A\u0442\u043E\u0431\u0430\u0440","\u041D\u043E\u0432\u0435\u043C\u0431\u0430\u0440","\u0414\u0435\u0446\u0435\u043C\u0431\u0430\u0440"],shortMonths:["\u0408\u0430\u043D","\u0424\u0435\u0431","\u041C\u0430\u0440","\u0410\u043F\u0440","\u041C\u0430\u0458","\u0408\u0443\u043D","\u0408\u0443\u043B","\u0410\u0432\u0433","\u0421\u0435\u043F","\u041E\u043A\u0442","\u041D\u043E\u0432","\u0414\u0435\u0446"],date:"%d/%m/%Y"}}});var VLe=J((XYt,jLe)=>{"use strict";jLe.exports={moduleType:"locale",name:"sv",dictionary:{Autoscale:"Autoskala","Box Select":"V\xE4lj rektangel","Click to enter Colorscale title":"Klicka f\xF6r att ange titel p\xE5 f\xE4rgskala","Click to enter Component A title":"Klicka f\xF6r att ange titel p\xE5 komponent A","Click to enter Component B title":"Klicka f\xF6r att ange titel p\xE5 komponent B","Click to enter Component C title":"Klicka f\xF6r att ange titel p\xE5 komponent C","Click to enter Plot title":"Klicka f\xF6r att ange titel p\xE5 diagram","Click to enter X axis title":"Klicka f\xF6r att ange titel p\xE5 x-axel","Click to enter Y axis title":"Klicka f\xF6r att ange titel p\xE5 y-axel","Click to enter radial axis title":"Klicka f\xF6r att ange titel p\xE5 radiell axel","Compare data on hover":"J\xE4mf\xF6r data n\xE4r muspekaren h\xE5lls \xF6ver","Double-click on legend to isolate one trace":"Dubbelklicka p\xE5 f\xF6rklaringen f\xF6r att visa endast en serie","Double-click to zoom back out":"Dubbelklicka f\xF6r att zooma ut igen","Download plot":"Ladda ner diagram","Download plot as a png":"Ladda ner diagram som png","Edit in Chart Studio":"Editera i Chart Studio","IE only supports svg. Changing format to svg.":"IE st\xF6der enbart svg. Byter format till svg.","Lasso Select":"V\xE4lj lasso","Orbital rotation":"Orbital rotation",Pan:"Panorera","Produced with Plotly.js":"Skapad med Plotly.js",Reset:"\xC5terst\xE4ll","Reset axes":"\xC5terst\xE4ll axlar","Reset camera to default":"\xC5terst\xE4ll kamera till standard","Reset camera to last save":"\xC5terst\xE4ll kamera till senast sparad","Reset view":"\xC5terst\xE4ll vy","Reset views":"\xC5terst\xE4ll vyer","Show closest data on hover":"Visa n\xE4rmaste v\xE4rde n\xE4r muspekaren h\xE5lls \xF6ver","Snapshot succeeded":"Bild skapad","Sorry, there was a problem downloading your snapshot!":"Tyv\xE4rr gick n\xE5got fel vid nedladdning av bild","Taking snapshot - this may take a few seconds":"Skapar bild - detta kan ta n\xE5gra sekunder","Toggle Spike Lines":"Aktivera/Inaktivera topplinjer","Toggle show closest data on hover":"Aktivera/Inaktivera visa n\xE4rmaste v\xE4rde n\xE4r muspekaren h\xE5lls \xF6ver","Turntable rotation":"Platt rotation",Zoom:"Zooma","Zoom in":"Zooma in","Zoom out":"Zooma ut","close:":"st\xE4ngning:","concentration:":"koncentration:","high:":"h\xF6g:","incoming flow count:":"inkommande fl\xF6de summering:","kde:":"kde:","lat:":"lat:","lon:":"lon:","low:":"l\xE5g:","lower fence:":"undre gr\xE4ns:","max:":"max:","mean \xB1 \u03C3:":"medel \xB1 \u03C3:","mean:":"medel:","median:":"median:","min:":"min:","new text":"ny text","open:":"\xF6ppning:","outgoing flow count:":"utg\xE5ende fl\xF6de summering:","q1:":"q1:","q3:":"q3:","source:":"k\xE4lla:","target:":"m\xE5l:",trace:"serie","upper fence:":"\xF6vre gr\xE4ns:"},format:{days:["S\xF6ndag","M\xE5ndag","Tisdag","Onsdag","Torsdag","Fredag","L\xF6rdag"],shortDays:["S\xF6n","M\xE5n","Tis","Ons","Tor","Fre","L\xF6r"],months:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],shortMonths:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],date:"%Y-%m-%d"}}});var GLe=J((ZYt,YLe)=>{"use strict";YLe.exports={moduleType:"locale",name:"sw",dictionary:{Autoscale:"Kigezo - otomatiki","Box Select":"Teua kisanduku","Click to enter Colorscale title":"Bonyeza kuandika kichwa cha Colorscale","Click to enter Component A title":"Bonyeza kuandika kichwa cha sehemu A","Click to enter Component B title":"Bonyeza kuandika kichwa cha sehemu B","Click to enter Component C title":"Bonyeza kuandika kichwa cha sehemu C","Click to enter Plot title":"Bonyeza kuandika kichwa cha Plot","Click to enter X axis title":"Bonyeza kuandika kichwa cha mhimili wa X","Click to enter Y axis title":"Bonyeza kuandika kichwa cha mhimili wa Y","Click to enter radial axis title":"Bonyeza kuandika kichwa cha mhimili wa radial","Compare data on hover":"Linganisha data kwa kuelea kielekezi","Double-click on legend to isolate one trace":"Bonyeza mara mbili juu ya hadithi ili kutenganisha moja kwa moja","Double-click to zoom back out":"Bonyeza mara mbili ili kuvuta nje","Download plot as a png":"Pakua mpango kama png","Download plot":"Pakua mpango","Edit in Chart Studio":"Hariri katika Chart studio","IE only supports svg. Changing format to svg.":"IE inatumia tu svg. Tunabadilisha muundo kuwa svg.","Lasso Select":"Kuteua lasso","Orbital rotation":"Mzunguko wa mazao",Pan:"Tandaza","Produced with Plotly.js":"Ilitengenezwa na Plotly.js",Reset:"Weka upya","Reset axes":"Weka upya axes","Reset camera to default":"Rudisha kamera kwenye uhifadhi wa default","Reset camera to last save":"Rudisha kamera kwenye uhifadhi wa mwisho","Reset view":"Weka upya mtazamo","Reset views":"Weka upya maoni","Show closest data on hover":"Onyesha data iliyo karibu zaidi kielekezi kinapoelea","Snapshot succeeded":"Snapshot ilifanikiwa","Sorry, there was a problem downloading your snapshot!":"Samahani, kulikuwa na shida kupakua picha yako!","Taking snapshot - this may take a few seconds":"Kuchukua snapshot - hii inaweza kuchukua sekunde chache","Toggle Spike Lines":"Badilisha Mistari ya Spike","Toggle show closest data on hover":"Badilisha mabadiliko ya karibu zaidi kwenye hover","Turntable rotation":"Zunguka kwa mhimili wa Z",Zoom:"Vuta","Zoom in":"Vuta nje","Zoom out":"Vuta ndani","close:":"funga:","high:":"juu:","incoming flow count:":"hesabu ya mtiririko unaokuja:","kde:":"kde:","lat:":"lat:","lon:":"lon:","low:":"chini:","lower fence:":"fensi ya chini:","max:":"upeo:","mean \xB1 \u03C3:":"maana \xB1 \u03C3:","mean:":"maana:","median:":"wastani:","min:":"kidogo:","new text":"nakala mpya","open:":"fungua:","outgoing flow count:":"hesabu ya mtiririko unaotoka:","q1:":"q1:","q3:":"q3:","source:":"chanzo:","target:":"lengo:",trace:"fuatilia","upper fence:":"Fensi ya juu:"},format:{days:["Jumapili","Jumatatu","Jumanne","Jumatano","Alhamisi","Ijumaa","Jumamosi"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["Januari","Februari","Machi","Aprili","Mei","Juni","Julai","Agosti","Septemba","Oktoba","Novemba","Desemba"],shortMonths:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Ago","Sep","Okt","Nov","Des"],date:"%d/%m/%Y",decimal:".",thousands:","}}});var XLe=J((JYt,WLe)=>{"use strict";WLe.exports={moduleType:"locale",name:"ta",dictionary:{},format:{days:["\u0B9E\u0BBE\u0BAF\u0BBF\u0BB1\u0BCD\u0BB1\u0BC1\u0B95\u0BCD\u0B95\u0BBF\u0BB4\u0BAE\u0BC8","\u0BA4\u0BBF\u0B99\u0BCD\u0B95\u0B9F\u0BCD\u0B95\u0BBF\u0BB4\u0BAE\u0BC8","\u0B9A\u0BC6\u0BB5\u0BCD\u0BB5\u0BBE\u0BAF\u0BCD\u0B95\u0BCD\u0B95\u0BBF\u0BB4\u0BAE\u0BC8","\u0BAA\u0BC1\u0BA4\u0BA9\u0BCD\u0B95\u0BBF\u0BB4\u0BAE\u0BC8","\u0BB5\u0BBF\u0BAF\u0BBE\u0BB4\u0B95\u0BCD\u0B95\u0BBF\u0BB4\u0BAE\u0BC8","\u0BB5\u0BC6\u0BB3\u0BCD\u0BB3\u0BBF\u0B95\u0BCD\u0B95\u0BBF\u0BB4\u0BAE\u0BC8","\u0B9A\u0BA9\u0BBF\u0B95\u0BCD\u0B95\u0BBF\u0BB4\u0BAE\u0BC8"],shortDays:["\u0B9E\u0BBE\u0BAF\u0BBF\u0BB1\u0BC1","\u0BA4\u0BBF\u0B99\u0BCD\u0B95\u0BB3\u0BCD","\u0B9A\u0BC6\u0BB5\u0BCD\u0BB5\u0BBE\u0BAF\u0BCD","\u0BAA\u0BC1\u0BA4\u0BA9\u0BCD","\u0BB5\u0BBF\u0BAF\u0BBE\u0BB4\u0BA9\u0BCD","\u0BB5\u0BC6\u0BB3\u0BCD\u0BB3\u0BBF","\u0B9A\u0BA9\u0BBF"],months:["\u0BA4\u0BC8","\u0BAE\u0BBE\u0B9A\u0BBF","\u0BAA\u0B99\u0BCD\u0B95\u0BC1\u0BA9\u0BBF","\u0B9A\u0BBF\u0BA4\u0BCD\u0BA4\u0BBF\u0BB0\u0BC8","\u0BB5\u0BC8\u0B95\u0BBE\u0B9A\u0BBF","\u0B86\u0BA9\u0BBF","\u0B86\u0B9F\u0BBF","\u0B86\u0BB5\u0BA3\u0BBF","\u0BAA\u0BC1\u0BB0\u0B9F\u0BCD\u0B9F\u0BBE\u0B9A\u0BBF","\u0B90\u0BAA\u0BCD\u0BAA\u0B9A\u0BBF","\u0B95\u0BBE\u0BB0\u0BCD\u0BA4\u0BCD\u0BA4\u0BBF\u0B95\u0BC8","\u0BAE\u0BBE\u0BB0\u0BCD\u0B95\u0BB4\u0BBF"],shortMonths:["\u0BA4\u0BC8","\u0BAE\u0BBE\u0B9A\u0BBF","\u0BAA\u0B99\u0BCD","\u0B9A\u0BBF\u0BA4\u0BCD","\u0BB5\u0BC8\u0B95\u0BBE","\u0B86\u0BA9\u0BBF","\u0B86\u0B9F\u0BBF","\u0B86\u0BB5","\u0BAA\u0BC1\u0BB0","\u0B90\u0BAA\u0BCD","\u0B95\u0BBE\u0BB0\u0BCD","\u0BAE\u0BBE\u0BB0\u0BCD"],date:"%d/%m/%Y"}}});var JLe=J(($Yt,ZLe)=>{"use strict";ZLe.exports={moduleType:"locale",name:"th",dictionary:{},format:{days:["\u0E2D\u0E32\u0E17\u0E34\u0E15\u0E22\u0E4C","\u0E08\u0E31\u0E19\u0E17\u0E23\u0E4C","\u0E2D\u0E31\u0E07\u0E04\u0E32\u0E23","\u0E1E\u0E38\u0E18","\u0E1E\u0E24\u0E2B\u0E31\u0E2A\u0E1A\u0E14\u0E35","\u0E28\u0E38\u0E01\u0E23\u0E4C","\u0E40\u0E2A\u0E32\u0E23\u0E4C"],shortDays:["\u0E2D\u0E32.","\u0E08.","\u0E2D.","\u0E1E.","\u0E1E\u0E24.","\u0E28.","\u0E2A."],months:["\u0E21\u0E01\u0E23\u0E32\u0E04\u0E21","\u0E01\u0E38\u0E21\u0E20\u0E32\u0E1E\u0E31\u0E19\u0E18\u0E4C","\u0E21\u0E35\u0E19\u0E32\u0E04\u0E21","\u0E40\u0E21\u0E29\u0E32\u0E22\u0E19","\u0E1E\u0E24\u0E29\u0E20\u0E32\u0E04\u0E21","\u0E21\u0E34\u0E16\u0E38\u0E19\u0E32\u0E22\u0E19","\u0E01\u0E23\u0E01\u0E0E\u0E32\u0E04\u0E21","\u0E2A\u0E34\u0E07\u0E2B\u0E32\u0E04\u0E21","\u0E01\u0E31\u0E19\u0E22\u0E32\u0E22\u0E19","\u0E15\u0E38\u0E25\u0E32\u0E04\u0E21","\u0E1E\u0E24\u0E28\u0E08\u0E34\u0E01\u0E32\u0E22\u0E19","\u0E18\u0E31\u0E19\u0E27\u0E32\u0E04\u0E21"],shortMonths:["\u0E21.\u0E04.","\u0E01.\u0E1E.","\u0E21\u0E35.\u0E04.","\u0E40\u0E21.\u0E22.","\u0E1E.\u0E04.","\u0E21\u0E34.\u0E22.","\u0E01.\u0E04.","\u0E2A.\u0E04.","\u0E01.\u0E22.","\u0E15.\u0E04.","\u0E1E.\u0E22.","\u0E18.\u0E04."],date:"%d/%m/%Y"}}});var KLe=J((KYt,$Le)=>{"use strict";$Le.exports={moduleType:"locale",name:"tr",dictionary:{},format:{days:["Pazar","Pazartesi","Sal\u0131","\xC7ar\u015Famba","Per\u015Fembe","Cuma","Cumartesi"],shortDays:["Pz","Pt","Sa","\xC7a","Pe","Cu","Ct"],months:["Ocak","\u015Eubat","Mart","Nisan","May\u0131s","Haziran","Temmuz","A\u011Fustos","Eyl\xFCl","Ekim","Kas\u0131m","Aral\u0131k"],shortMonths:["Oca","\u015Eub","Mar","Nis","May","Haz","Tem","A\u011Fu","Eyl","Eki","Kas","Ara"],date:"%d.%m.%Y"}}});var eDe=J((QYt,QLe)=>{"use strict";QLe.exports={moduleType:"locale",name:"tt",dictionary:{},format:{days:["\u044F\u043A\u0448\u04D9\u043C\u0431\u0435","\u0434\u04AF\u0448\u04D9\u043C\u0431\u0435","\u0441\u0438\u0448\u04D9\u043C\u0431\u0435","\u0447\u04D9\u0440\u0448\u04D9\u043C\u0431\u0435","\u043F\u04D9\u043D\u0497\u0435\u0448\u04D9\u043C\u0431\u0435","\u0497\u043E\u043C\u0433\u0430","\u0448\u0438\u043C\u0431\u04D9"],shortDays:["\u044F\u043A\u0448","\u0434\u04AF\u0448","\u0441\u0438\u0448","\u0447\u04D9\u0440","\u043F\u04D9\u043D","\u0497\u043E\u043C","\u0448\u0438\u043C"],months:["\u0413\u044B\u043D\u0432\u0430\u0440","\u0424\u0435\u0432\u0440\u0430\u043B\u044C","\u041C\u0430\u0440\u0442","\u0410\u043F\u0440\u0435\u043B\u044C","\u041C\u0430\u0439","\u0418\u044E\u043D\u044C","\u0418\u044E\u043B\u044C","\u0410\u0432\u0433\u0443\u0441\u0442","\u0421\u0435\u043D\u0442\u044F\u0431\u0440\u044C","\u041E\u043A\u0442\u044F\u0431\u0440\u044C","\u041D\u043E\u044F\u0431\u0440\u044C","\u0414\u0435\u043A\u0430\u0431\u0440\u044C"],shortMonths:["\u0413\u044B\u0439\u043D","\u0424\u0435\u0432","\u041C\u0430\u0440","\u0410\u043F\u0440","\u041C\u0430\u0439","\u0418\u044E\u043D","\u0418\u044E\u043B","\u0410\u0432\u0433","\u0421\u0435\u043D","\u041E\u043A\u0442","\u041D\u043E\u044F","\u0414\u0435\u043A"],date:"%d.%m.%Y"}}});var rDe=J((eGt,tDe)=>{"use strict";tDe.exports={moduleType:"locale",name:"uk",dictionary:{Autoscale:"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u0435 \u0448\u043A\u0430\u043B\u044E\u0432\u0430\u043D\u043D\u044F","Box Select":"\u0412\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F \u043F\u0440\u044F\u043C\u043E\u043A\u0443\u0442\u043D\u043E\u0457 \u043E\u0431\u043B\u0430\u0441\u0442\u0456","Click to enter Colorscale title":"\u041D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C \u0434\u043B\u044F \u0432\u0432\u0435\u0434\u0435\u043D\u043D\u044F \u043D\u0430\u0437\u0432\u0438 \u0448\u043A\u0430\u043B\u0438 \u043A\u043E\u043B\u044C\u043E\u0440\u0443","Click to enter Component A title":"\u041D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C \u0434\u043B\u044F \u0432\u0432\u0435\u0434\u0435\u043D\u043D\u044F \u043D\u0430\u0437\u0432\u0438 \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u0443 A","Click to enter Component B title":"\u041D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C \u0434\u043B\u044F \u0432\u0432\u0435\u0434\u0435\u043D\u043D\u044F \u043D\u0430\u0437\u0432\u0438 \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u0443 B","Click to enter Component C title":"\u041D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C \u0434\u043B\u044F \u0432\u0432\u0435\u0434\u0435\u043D\u043D\u044F \u043D\u0430\u0437\u0432\u0438 \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u0443 C","Click to enter Plot title":"\u041D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C \u0434\u043B\u044F \u0432\u0432\u0435\u0434\u0435\u043D\u043D\u044F \u043D\u0430\u0437\u0432\u0438 \u0433\u0440\u0430\u0444\u0456\u043A\u0430","Click to enter X axis title":"\u041D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C \u0434\u043B\u044F \u0432\u0432\u0435\u0434\u0435\u043D\u043D\u044F \u043D\u0430\u0437\u0432\u0438 \u043E\u0441\u0456 X","Click to enter Y axis title":"\u041D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C \u0434\u043B\u044F \u0432\u0432\u0435\u0434\u0435\u043D\u043D\u044F \u043D\u0430\u0437\u0432\u0438 \u043E\u0441\u0456 Y","Click to enter radial axis title":"\u041D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C \u0434\u043B\u044F \u0432\u0432\u0435\u0434\u0435\u043D\u043D\u044F \u043D\u0430\u0437\u0432\u0438 \u043F\u043E\u043B\u044F\u0440\u043D\u043E\u0457 \u043E\u0441\u0456","Compare data on hover":"\u041F\u0440\u0438 \u043D\u0430\u0432\u0435\u0434\u0435\u043D\u043D\u0456 \u043F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u0432\u0441\u0456 \u0434\u0430\u043D\u0456","Double-click on legend to isolate one trace":"\u0414\u0432\u0456\u0447\u0456 \u043A\u043B\u0430\u0446\u043D\u0456\u0442\u044C \u043F\u043E \u043B\u0435\u0433\u0435\u043D\u0434\u0456 \u0434\u043B\u044F \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F \u043E\u043A\u0440\u0435\u043C\u0438\u0445 \u0434\u0430\u043D\u0438\u0445","Double-click to zoom back out":"\u0414\u043B\u044F \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u044F \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0443 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0437\u0430 \u0437\u0430\u043C\u043E\u0432\u0447\u0443\u0432\u0430\u043D\u043D\u044F\u043C \u0434\u0432\u0456\u0447\u0456 \u043A\u043B\u0430\u0446\u043D\u0456\u0442\u044C \u043C\u0438\u0448\u0435\u044E","Download plot":"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u0433\u0440\u0430\u0444\u0456\u043A","Download plot as a png":"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u0443 \u0444\u043E\u0440\u043C\u0430\u0442\u0456 PNG","Edit in Chart Studio":"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u0443 Chart Studio","IE only supports svg. Changing format to svg.":"IE \u043F\u0456\u0434\u0442\u0440\u0438\u043C\u0443\u0454 \u043B\u0438\u0448\u0435 svg. \u0424\u043E\u0440\u043C\u0430\u0442 \u0437\u043C\u0456\u043D\u044E\u0454\u0442\u044C\u0441\u044F \u043D\u0430 svg.","Lasso Select":"\u041B\u0430\u0441\u043E","Orbital rotation":"\u0420\u0443\u0445 \u043F\u043E \u043E\u0440\u0431\u0456\u0442\u0456",Pan:"\u0417\u0441\u0443\u0432","Produced with Plotly.js":"\u0421\u0442\u0432\u043E\u0440\u0435\u043D\u043E \u0437\u0430 \u0434\u043E\u043F\u043E\u043C\u043E\u0433\u043E\u044E Plotly.js",Reset:"\u0412\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0437\u0430 \u0437\u0430\u043C\u043E\u0432\u0447\u0443\u0432\u0430\u043D\u043D\u044F\u043C","Reset axes":"\u0412\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u043E\u0441\u044F\u043C \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0437\u0430 \u0437\u0430\u043C\u043E\u0432\u0447\u0443\u0432\u0430\u043D\u043D\u044F\u043C","Reset camera to default":"\u0412\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u043A\u0430\u043C\u0435\u0440\u0456 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0437\u0430 \u0437\u0430\u043C\u043E\u0432\u0447\u0443\u0432\u0430\u043D\u043D\u044F\u043C","Reset camera to last save":"\u041F\u043E\u0432\u0435\u0440\u043D\u0443\u0442\u0438 \u043A\u0430\u043C\u0435\u0440\u0443 \u0432 \u043E\u0441\u0442\u0430\u043D\u043D\u0456\u0439 \u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043D\u0438\u0439 \u0441\u0442\u0430\u043D","Reset view":"\u0412\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044E \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0437\u0430 \u0437\u0430\u043C\u043E\u0432\u0447\u0443\u0432\u0430\u043D\u043D\u044F\u043C","Reset views":"\u0412\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F\u043C \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0437\u0430 \u0437\u0430\u043C\u043E\u0432\u0447\u0443\u0432\u0430\u043D\u043D\u044F\u043C","Show closest data on hover":"\u041F\u0440\u0438 \u043D\u0430\u0432\u0435\u0434\u0435\u043D\u043D\u0456 \u043F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u043D\u0430\u0439\u0431\u043B\u0438\u0436\u0447\u0456 \u0434\u0430\u043D\u0456","Snapshot succeeded":"\u0417\u043D\u0456\u043C\u043E\u043A \u0443\u0441\u043F\u0456\u0448\u043D\u043E \u0441\u0442\u0432\u043E\u0440\u0435\u043D\u0438\u0439","Sorry, there was a problem downloading your snapshot!":"\u041D\u0430 \u0436\u0430\u043B\u044C, \u0432\u0438\u043D\u0438\u043A\u043B\u0430 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0430 \u043F\u0440\u0438 \u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043D\u043D\u0456 \u0437\u043D\u0456\u043C\u043A\u0443","Taking snapshot - this may take a few seconds":"\u0421\u0442\u0432\u043E\u0440\u044E\u0454\u0442\u044C\u0441\u044F \u0437\u043D\u0456\u043C\u043E\u043A - \u0446\u0435 \u043C\u043E\u0436\u0435 \u0437\u0430\u0439\u043D\u044F\u0442\u0438 \u043A\u0456\u043B\u044C\u043A\u0430 \u0441\u0435\u043A\u0443\u043D\u0434","Toggle Spike Lines":"\u0423\u0432\u0456\u043C\u043A\u043D\u0443\u0442\u0438/\u0432\u0438\u043C\u043A\u043D\u0443\u0442\u0438 \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F \u043B\u0456\u043D\u0456\u0439 \u043F\u0440\u043E\u0435\u043A\u0446\u0456\u0439 \u0442\u043E\u0447\u043E\u043A","Toggle show closest data on hover":"\u0423\u0432\u0456\u043C\u043A\u043D\u0443\u0442\u0438/\u0432\u0438\u043C\u043A\u043D\u0443\u0442\u0438 \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F \u043D\u0430\u0439\u0431\u043B\u0438\u0436\u0447\u0438\u0445 \u0434\u0430\u043D\u0438\u0445 \u043F\u0440\u0438 \u043D\u0430\u0432\u0435\u0434\u0435\u043D\u043D\u0456","Turntable rotation":"\u041E\u0431\u0435\u0440\u0442\u0430\u043D\u043D\u044F \u043D\u0430 \u043F\u043E\u0432\u043E\u0440\u043E\u0442\u043D\u043E\u043C\u0443 \u0441\u0442\u043E\u043B\u0456",Zoom:"\u0417\u0443\u043C","Zoom in":"\u0417\u0431\u0456\u043B\u044C\u0448\u0438\u0442\u0438","Zoom out":"\u0417\u043C\u0435\u043D\u0448\u0438\u0442\u0438","close:":"\u0417\u0430\u043A\u0440\u0438\u0442\u0442\u044F:","concentration:":"\u041A\u043E\u043D\u0446\u0435\u043D\u0442\u0440\u0430\u0446\u0456\u044F:","high:":"\u041C\u0430\u043A\u0441\u0438\u043C\u0443\u043C:","incoming flow count:":"\u041A\u0456\u043B\u044C\u043A\u0456\u0441\u0442\u044C \u0432\u0445\u0456\u0434\u043D\u0438\u0445 \u0437\u0432'\u044F\u0437\u043A\u0456\u0432:","kde:":"\u042F\u0434\u0440\u043E\u0432\u0430 \u043E\u0446\u0456\u043D\u043A\u0430 \u0433\u0443\u0441\u0442\u0438\u043D\u0438 \u0440\u043E\u0437\u043F\u043E\u0434\u0456\u043B\u0443:","lat:":"\u0428\u0438\u0440\u043E\u0442\u0430:","lon:":"\u0414\u043E\u0432\u0433\u043E\u0442\u0430:","low:":"\u041C\u0456\u043D\u0456\u043C\u0443\u043C:","lower fence:":"\u041D\u0438\u0436\u043D\u044F \u0433\u0440\u0430\u043D\u0438\u0446\u044F:","max:":"\u041C\u0430\u043A\u0441.:","mean \xB1 \u03C3:":"\u0421\u0435\u0440\u0435\u0434\u043D\u0454 \xB1 \u03C3:","mean:":"\u0421\u0435\u0440\u0435\u0434\u043D\u0454:","median:":"\u041C\u0435\u0434\u0456\u0430\u043D\u0430:","min:":"\u041C\u0456\u043D.:","new text":"\u041D\u043E\u0432\u0438\u0439 \u0442\u0435\u043A\u0441\u0442","open:":"\u0412\u0456\u0434\u043A\u0440\u0438\u0442\u0442\u044F:","outgoing flow count:":"\u041A\u0456\u043B\u044C\u043A\u0456\u0441\u0442\u044C \u0432\u0438\u0445\u0456\u0434\u043D\u0438\u0445 \u0437\u0432'\u044F\u0437\u043A\u0456\u0432:","q1:":"q1:","q3:":"q3:","source:":"\u0414\u0436\u0435\u0440\u0435\u043B\u043E:","target:":"\u0426\u0456\u043B\u044C:",trace:"\u0420\u044F\u0434","upper fence:":"\u0412\u0435\u0440\u0445\u043D\u044F \u0433\u0440\u0430\u043D\u0438\u0446\u044F:"},format:{days:["\u043D\u0435\u0434\u0456\u043B\u044F","\u043F\u043E\u043D\u0435\u0434\u0456\u043B\u043E\u043A","\u0432\u0456\u0432\u0442\u043E\u0440\u043E\u043A","\u0441\u0435\u0440\u0435\u0434\u0430","\u0447\u0435\u0442\u0432\u0435\u0440","\u043F'\u044F\u0442\u043D\u0438\u0446\u044F","\u0441\u0443\u0431\u043E\u0442\u0430"],shortDays:["\u043D\u0434","\u043F\u043D","\u0432\u0442","\u0441\u0440","\u0447\u0442","\u043F\u0442","\u0441\u0431"],months:["\u0421\u0456\u0447\u0435\u043D\u044C","\u041B\u044E\u0442\u0438\u0439","\u0411\u0435\u0440\u0435\u0437\u0435\u043D\u044C","\u041A\u0432\u0456\u0442\u0435\u043D\u044C","\u0422\u0440\u0430\u0432\u0435\u043D\u044C","\u0427\u0435\u0440\u0432\u0435\u043D\u044C","\u041B\u0438\u043F\u0435\u043D\u044C","\u0421\u0435\u0440\u043F\u0435\u043D\u044C","\u0412\u0435\u0440\u0435\u0441\u0435\u043D\u044C","\u0416\u043E\u0432\u0442\u0435\u043D\u044C","\u041B\u0438\u0441\u0442\u043E\u043F\u0430\u0434","\u0413\u0440\u0443\u0434\u0435\u043D\u044C"],shortMonths:["\u0421\u0456\u0447.","\u041B\u044E\u0442.","\u0411\u0435\u0440\u0435\u0437.","\u041A\u0432\u0456\u0442.","\u0422\u0440\u0430\u0432.","\u0427\u0435\u0440\u0432.","\u041B\u0438\u043F.","\u0421\u0435\u0440\u043F.","\u0412\u0435\u0440\u0435\u0441.","\u0416\u043E\u0432\u0442.","\u041B\u0438\u0441\u0442\u043E\u043F.","\u0413\u0440\u0443\u0434."],date:"%d.%m.%Y",decimal:",",thousands:" "}}});var iDe=J((tGt,nDe)=>{"use strict";nDe.exports={moduleType:"locale",name:"ur",dictionary:{},format:{days:["\u0627\u062A\u0648\u0627\u0631","\u067E\u064A\u0631","\u0645\u0646\u06AF\u0644","\u0628\u062F\u06BE","\u062C\u0645\u0639\u0631\u0627\u062A","\u062C\u0645\u0639\u06C1","\u06C1\u0641\u062A\u06C1"],shortDays:["\u0627\u062A\u0648\u0627\u0631","\u067E\u064A\u0631","\u0645\u0646\u06AF\u0644","\u0628\u062F\u06BE","\u062C\u0645\u0639\u0631\u0627\u062A","\u062C\u0645\u0639\u06C1","\u06C1\u0641\u062A\u06C1"],months:["\u062C\u0646\u0648\u0631\u06CC","\u0641\u0631\u0648\u0631\u06CC","\u0645\u0627\u0631\u0686","\u0627\u067E\u0631\u06CC\u0644","\u0645\u0626\u06CC","\u062C\u0648\u0646","\u062C\u0648\u0644\u0627\u0626\u06CC","\u0627\u06AF\u0633\u062A","\u0633\u062A\u0645\u0628\u0631","\u0627\u06A9\u062A\u0648\u0628\u0631","\u0646\u0648\u0645\u0628\u0631","\u062F\u0633\u0645\u0628\u0631"],shortMonths:["1","2","3","4","5","6","7","8","9","10","11","12"],date:"%d/%m/%Y"}}});var oDe=J((rGt,aDe)=>{"use strict";aDe.exports={moduleType:"locale",name:"vi",dictionary:{},format:{days:["Ch\u1EE7 Nh\u1EADt","Th\u1EE9 Hai","Th\u1EE9 Ba","Th\u1EE9 T\u01B0","Th\u1EE9 N\u0103m","Th\u1EE9 S\xE1u","Th\u1EE9 B\u1EA3y"],shortDays:["CN","T2","T3","T4","T5","T6","T7"],months:["Th\xE1ng M\u1ED9t","Th\xE1ng Hai","Th\xE1ng Ba","Th\xE1ng T\u01B0","Th\xE1ng N\u0103m","Th\xE1ng S\xE1u","Th\xE1ng B\u1EA3y","Th\xE1ng T\xE1m","Th\xE1ng Ch\xEDn","Th\xE1ng M\u01B0\u1EDDi","Th\xE1ng M\u01B0\u1EDDi M\u1ED9t","Th\xE1ng M\u01B0\u1EDDi Hai"],shortMonths:["Th\xE1ng 1","Th\xE1ng 2","Th\xE1ng 3","Th\xE1ng 4","Th\xE1ng 5","Th\xE1ng 6","Th\xE1ng 7","Th\xE1ng 8","Th\xE1ng 9","Th\xE1ng 10","Th\xE1ng 11","Th\xE1ng 12"],date:"%d/%m/%Y"}}});var lDe=J((nGt,sDe)=>{"use strict";sDe.exports={moduleType:"locale",name:"zh-CN",dictionary:{Autoscale:"\u81EA\u52A8\u7F29\u653E","Box Select":"\u77E9\u5F62\u6846\u9009","Click to enter Colorscale title":"\u70B9\u51FB\u8F93\u5165\u8272\u9636\u7684\u6807\u9898","Click to enter Component A title":"\u70B9\u51FB\u8F93\u5165\u7EC4\u4EF6A\u7684\u6807\u9898","Click to enter Component B title":"\u70B9\u51FB\u8F93\u5165\u7EC4\u4EF6B\u7684\u6807\u9898","Click to enter Component C title":"\u70B9\u51FB\u8F93\u5165\u7EC4\u4EF6C\u7684\u6807\u9898","Click to enter Plot title":"\u70B9\u51FB\u8F93\u5165\u56FE\u8868\u7684\u6807\u9898","Click to enter X axis title":"\u70B9\u51FB\u8F93\u5165X\u8F74\u7684\u6807\u9898","Click to enter Y axis title":"\u70B9\u51FB\u8F93\u5165Y\u8F74\u7684\u6807\u9898","Compare data on hover":"\u60AC\u505C\u65F6\u6BD4\u8F83\u6570\u636E","Double-click on legend to isolate one trace":"\u53CC\u51FB\u56FE\u4F8B\u6765\u7A81\u663E\u5BF9\u5E94\u8F68\u8FF9","Double-click to zoom back out":"\u53CC\u51FB\u8FD4\u56DE\u7F29\u5C0F\u663E\u793A","Download plot as a png":"\u4E0B\u8F7D\u56FE\u8868\u4E3APNG\u683C\u5F0F","Download plot":"\u4E0B\u8F7D\u56FE\u8868","Edit in Chart Studio":"\u5728Chart Studio\u4E2D\u7F16\u8F91","IE only supports svg. Changing format to svg.":"IE\u53EA\u652F\u6301SVG\u3002\u8F6C\u6362\u683C\u5F0F\u4E3ASVG\u3002","Lasso Select":"\u5957\u7D22\u9009\u62E9","Orbital rotation":"\u8F68\u9053\u65CB\u8F6C",Pan:"\u5E73\u79FB","Produced with Plotly.js":"\u7531Plotly.js\u751F\u6210",Reset:"\u91CD\u7F6E","Reset axes":"\u91CD\u7F6E\u8F74","Reset camera to default":"\u91CD\u7F6E\u955C\u5934\u89C6\u89D2\u4E3A\u9ED8\u8BA4\u72B6\u6001","Reset camera to last save":"\u91CD\u7F6E\u955C\u5934\u89C6\u89D2\u4E3A\u4E0A\u6B21\u4FDD\u5B58\u72B6\u6001","Reset view":"\u91CD\u7F6E\u89C6\u56FE","Reset views":"\u91CD\u7F6E\u89C6\u56FE","Show closest data on hover":"\u60AC\u505C\u65F6\u663E\u793A\u6700\u8FD1\u7684\u6570\u636E","Snapshot succeeded":"\u751F\u6210\u5FEB\u7167\u6210\u529F","Sorry, there was a problem downloading your snapshot!":"\u62B1\u6B49\uFF0C\u4E0B\u8F7D\u5FEB\u7167\u51FA\u73B0\u95EE\u9898\uFF01","Taking snapshot - this may take a few seconds":"\u6B63\u5728\u751F\u6210\u5FEB\u7167 - \u53EF\u80FD\u9700\u8981\u51E0\u79D2\u949F",Zoom:"\u7F29\u653E","Zoom in":"\u653E\u5927","Zoom out":"\u7F29\u5C0F","close:":"\u5173\u95ED:",trace:"\u8E2A\u8FF9:","lat:":"\u7EAC\u5EA6:","lon:":"\u7ECF\u5EA6:","q1:":"\u7B2C\u4E00\u56DB\u5206\u4F4D\u6570:","q3:":"\u7B2C\u4E09\u56DB\u5206\u4F4D\u6570:","source:":"\u6E90:","target:":"\u76EE\u6807:","lower fence:":"\u5185\u4FA7\u680F(lower fence):","upper fence:":"\u5916\u4FA7\u680F(upper fence):","max:":"\u6700\u5927\u503C:","mean \xB1 \u03C3:":"\u5E73\u5747\u6570 \xB1 \u6807\u51C6\u5DEE\u03C3:","mean:":"\u5E73\u5747\u6570:","median:":"\u4E2D\u4F4D\u6570:","min:":"\u6700\u5C0F\u503C:","Turntable rotation":"\u65CB\u8F6C\u8F6C\u76D8:","Toggle Spike Lines":"\u5207\u6362\u663E\u793A\u6570\u636E\u70B9\u8F85\u52A9\u7EBF(Spike Lines)","open:":"\u6253\u5F00:","high:":"\u9AD8:","low:":"\u4F4E:","Toggle show closest data on hover":"\u5207\u6362\u60AC\u505C\u65F6\u663E\u793A\u6700\u8FD1\u7684\u6570\u636E\u70B9","incoming flow count:":"\u6D41\u5165\u6570\u91CF:","outgoing flow count:":"\u6D41\u51FA\u6570\u91CF:","kde:":"kde:","Click to enter radial axis title":"\u70B9\u51FB\u8F93\u5165\u5F84\u5411\u8F74\u6807\u9898","new text":"\u65B0\u5EFA\u6587\u672C"},format:{days:["\u661F\u671F\u65E5","\u661F\u671F\u4E00","\u661F\u671F\u4E8C","\u661F\u671F\u4E09","\u661F\u671F\u56DB","\u661F\u671F\u4E94","\u661F\u671F\u516D"],shortDays:["\u5468\u65E5","\u5468\u4E00","\u5468\u4E8C","\u5468\u4E09","\u5468\u56DB","\u5468\u4E94","\u5468\u516D"],months:["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"],shortMonths:["\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D","\u4E03","\u516B","\u4E5D","\u5341","\u5341\u4E00","\u5341\u4E8C"],date:"%Y-%m-%d"}}});var fDe=J((iGt,uDe)=>{"use strict";uDe.exports={moduleType:"locale",name:"zh-HK",dictionary:{},format:{days:["\u661F\u671F\u65E5","\u661F\u671F\u4E00","\u661F\u671F\u4E8C","\u661F\u671F\u4E09","\u661F\u671F\u56DB","\u661F\u671F\u4E94","\u661F\u671F\u516D"],shortDays:["\u5468\u65E5","\u5468\u4E00","\u5468\u4E8C","\u5468\u4E09","\u5468\u56DB","\u5468\u4E94","\u5468\u516D"],months:["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"],shortMonths:["\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D","\u4E03","\u516B","\u4E5D","\u5341","\u5341\u4E00","\u5341\u4E8C"],date:"%d-%m-%Y"}}});var hDe=J((aGt,cDe)=>{"use strict";cDe.exports={moduleType:"locale",name:"zh-TW",dictionary:{Autoscale:"\u81EA\u52D5\u7E2E\u653E","Box Select":"\u77E9\u5F62\u9078\u64C7","Click to enter Colorscale title":"\u9EDE\u64CA\u4EE5\u8F38\u5165\u8272\u968E\u6A19\u984C","Click to enter Component A title":"\u9EDE\u64CA\u4EE5\u8F38\u5165\u5143\u4EF6 A \u6A19\u984C","Click to enter Component B title":"\u9EDE\u64CA\u4EE5\u8F38\u5165\u5143\u4EF6 B \u6A19\u984C","Click to enter Component C title":"\u9EDE\u64CA\u4EE5\u8F38\u5165\u5143\u4EF6 C \u6A19\u984C","Click to enter Plot title":"\u9EDE\u64CA\u4EE5\u8F38\u5165\u7E6A\u5716\u6A19\u984C","Click to enter X axis title":"\u9EDE\u64CA\u4EE5\u8F38\u5165 X \u8EF8\u6A19\u984C","Click to enter Y axis title":"\u9EDE\u64CA\u4EE5\u8F38\u5165 Y \u8EF8\u6A19\u984C","Click to enter radial axis title":"\u9EDE\u64CA\u4EE5\u8F38\u5165\u8F3B\u5C04\u8EF8\u6A19\u984C","Compare data on hover":"\u6E38\u6A19\u505C\u7559\u6642\u6BD4\u8F03\u8CC7\u6599","Double-click on legend to isolate one trace":"\u96D9\u64CA\u5716\u4F8B\u4EE5\u9694\u96E2\u55AE\u4E00\u8ECC\u8DE1","Double-click to zoom back out":"\u96D9\u64CA\u56DE\u5FA9\u7E2E\u653E","Download plot as a png":"\u4E0B\u8F09\u5716\u8868\u70BA PNG \u5716\u6A94","Download plot":"\u4E0B\u8F09\u5716\u8868","Draw circle":"\u7E6A\u88FD\u5713\u5708","Draw closed freeform":"\u7E6A\u88FD\u5C01\u9589\u7684\u4EFB\u610F\u5716\u5F62","Draw line":"\u7E6A\u88FD\u7DDA\u689D","Draw open freeform":"\u7E6A\u88FD\u958B\u653E\u7684\u4EFB\u610F\u5716\u5F62","Draw rectangle":"\u7E6A\u88FD\u77E9\u5F62","Edit in Chart Studio":"\u65BC Chart Studio \u7DE8\u8F2F","Erase active shape":"\u6E05\u9664\u4F5C\u7528\u4E2D\u7684\u5F62\u72C0","IE only supports svg. Changing format to svg.":"IE \u50C5\u652F\u63F4 SVG\uFF0C\u5C07\u8B8A\u66F4\u683C\u5F0F\u70BA SVG\u3002","Lasso Select":"\u5957\u7D22\u9078\u64C7","Orbital rotation":"\u8ECC\u9053\u65CB\u8F49",Pan:"\u5E73\u79FB","Produced with Plotly.js":"\u4F7F\u7528 Plotly.js \u88FD\u4F5C",Reset:"\u91CD\u7F6E","Reset axes":"\u91CD\u7F6E\u8EF8","Reset camera to default":"\u91CD\u7F6E\u76F8\u6A5F\u81F3\u9810\u8A2D\u4F4D\u7F6E","Reset camera to last save":"\u91CD\u7F6E\u76F8\u6A5F\u81F3\u4E0A\u6B21\u5132\u5B58\u7684\u4F4D\u7F6E","Reset view":"\u91CD\u7F6E\u8996\u5716","Reset views":"\u91CD\u7F6E\u8996\u5716","Show closest data on hover":"\u6E38\u6A19\u505C\u7559\u6642\u986F\u793A\u6700\u63A5\u8FD1\u7684\u8CC7\u6599","Snapshot succeeded":"\u5FEB\u7167\u6210\u529F","Sorry, there was a problem downloading your snapshot!":"\u62B1\u6B49\uFF0C\u4E0B\u8F09\u5FEB\u7167\u6642\u767C\u751F\u932F\u8AA4!","Taking snapshot - this may take a few seconds":"\u7522\u751F\u5FEB\u7167\u4E2D - \u53EF\u80FD\u9700\u8981\u4E00\u9EDE\u6642\u9593",Zoom:"\u7E2E\u653E","Zoom in":"\u653E\u5927","Zoom out":"\u7E2E\u5C0F","close:":"\u95DC\u9589:",concentration:"\u96C6\u4E2D",trace:"\u8ECC\u8DE1:","lat:":"\u7DEF\u5EA6:","lon:":"\u7D93\u5EA6:","q1:":"\u7B2C\u4E00\u56DB\u5206\u4F4D\u6578:","q3:":"\u7B2C\u4E09\u56DB\u5206\u4F4D\u6578:","source:":"\u4F86\u6E90:","target:":"\u76EE\u6A19:","lower fence:":"\u4E0B\u570D\u7C6C\u503C:","upper fence:":"\u4E0A\u570D\u7C6C\u503C:","max:":"\u6700\u5927\u503C:","mean \xB1 \u03C3:":"\u5E73\u5747 \xB1 \u03C3:","mean:":"\u5E73\u5747\u503C:","median:":"\u4E2D\u4F4D\u6578:","min:":"\u6700\u5C0F\u503C:","Turntable rotation":"\u8F49\u76E4\u65CB\u8F49:","Toggle Spike Lines":"\u5207\u63DB\u5C16\u5CF0\u7DDA","open:":"\u958B\u555F:","high:":"\u9AD8:","low:":"\u4F4E:","Toggle show closest data on hover":"\u5207\u63DB\u6ED1\u9F20\u61F8\u505C\u986F\u793A\u6700\u63A5\u8FD1\u7684\u8CC7\u6599","incoming flow count:":"\u50B3\u5165\u6D41\u91CF\u8A08\u6578:","outgoing flow count:":"\u50B3\u51FA\u6D41\u91CF\u8A08\u6578:","kde:":"kde:","new text":"\u65B0\u6587\u672C"},format:{days:["\u661F\u671F\u65E5","\u661F\u671F\u4E00","\u661F\u671F\u4E8C","\u661F\u671F\u4E09","\u661F\u671F\u56DB","\u661F\u671F\u4E94","\u661F\u671F\u516D"],shortDays:["\u9031\u65E5","\u9031\u4E00","\u9031\u4E8C","\u9031\u4E09","\u9031\u56DB","\u9031\u4E94","\u9031\u516D"],months:["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"],shortMonths:["1\u6708","2\u6708","3\u6708","4\u6708","5\u6708","6\u6708","7\u6708","8\u6708","9\u6708","10\u6708","11\u6708","12\u6708"],date:"%Y-%m-%d"}}});var MDe=J((nXt,ADe)=>{var jC,nN;jC=[];nN=[];function l4t(e,t,r){var n,i,a,o,s,l,u,f;if(e===t)return 0;if(n=e.length,i=t.length,n===0)return i;if(i===0)return n;for(r&&(e=e.toLowerCase(),t=t.toLowerCase()),u=0;u<n;)nN[u]=e.charCodeAt(u),jC[u]=++u;for(f=0;f<i;)for(a=t.charCodeAt(f),o=s=f++,u=-1;++u<n;)l=a===nN[u]?s:s+1,s=jC[u],jC[u]=o=s>o?l>o?o+1:l:l>s?s+1:l;return o}ADe.exports=l4t});var iN=J((iXt,SDe)=>{var kDe=MDe();function u4t(){var e,t,r,n,i,a=0,o=arguments[0],s=arguments[1],l=s.length,u=arguments[2];u&&(n=u.threshold,i=u.ignoreCase),n===void 0&&(n=0);for(var f=0;f<l;++f)i?t=kDe(o,s[f],!0):t=kDe(o,s[f]),t>o.length?e=1-t/s[f].length:e=1-t/o.length,e>a&&(a=e,r=s[f]);return a>=n?r:null}SDe.exports=u4t});var VC=J((ob,m3)=>{(function(){var e,t="4.17.21",r=200,n="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",i="Expected a function",a="Invalid `variable` option passed into `_.template`",o="__lodash_hash_undefined__",s=500,l="__lodash_placeholder__",u=1,f=2,c=4,h=1,d=2,v=1,m=2,b=4,g=8,_=16,T=32,w=64,k=128,x=256,M=512,A=30,p="...",S=800,y=16,E=1,C=2,L=3,R=1/0,I=9007199254740991,P=17976931348623157e292,D=0/0,q=4294967295,N=q-1,U=q>>>1,G=[["ary",k],["bind",v],["bindKey",m],["curry",g],["curryRight",_],["flip",M],["partial",T],["partialRight",w],["rearg",x]],ee="[object Arguments]",Q="[object Array]",j="[object AsyncFunction]",O="[object Boolean]",Z="[object Date]",K="[object DOMException]",$="[object Error]",oe="[object Function]",te="[object GeneratorFunction]",V="[object Map]",ne="[object Number]",W="[object Null]",fe="[object Object]",ge="[object Promise]",Ce="[object Proxy]",Ne="[object RegExp]",pe="[object Set]",me="[object String]",Ie="[object Symbol]",Re="[object Undefined]",ze="[object WeakMap]",Be="[object WeakSet]",tt="[object ArrayBuffer]",rt="[object DataView]",ce="[object Float32Array]",Ee="[object Float64Array]",Ae="[object Int8Array]",Pe="[object Int16Array]",He="[object Int32Array]",Fe="[object Uint8Array]",ke="[object Uint8ClampedArray]",Ue="[object Uint16Array]",Ge="[object Uint32Array]",lt=/\b__p \+= '';/g,it=/\b(__p \+=) '' \+/g,wt=/(__e\(.*?\)|\b__t\)) \+\n'';/g,_t=/&(?:amp|lt|gt|quot|#39);/g,Tt=/[&<>"']/g,nt=RegExp(_t.source),bt=RegExp(Tt.source),At=/<%-([\s\S]+?)%>/g,Ye=/<%([\s\S]+?)%>/g,je=/<%=([\s\S]+?)%>/g,$e=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ve=/^\w*$/,Y=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ie=/[\\^$.*+?()[\]{}|]/g,Te=RegExp(ie.source),Ve=/^\s+/,at=/\s/,ft=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ht=/\{\n\/\* \[wrapped with (.+)\] \*/,Xt=/,? & /,St=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Vt=/[()=,{}\[\]\/\s]/,er=/\\(\\)?/g,_r=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,br=/\w*$/,or=/^[-+]0x[0-9a-f]+$/i,tn=/^0b[01]+$/i,Lr=/^\[object .+?Constructor\]$/,Gr=/^0o[0-7]+$/i,sn=/^(?:0|[1-9]\d*)$/,Hr=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Br=/($^)/,qn=/['\n\r\u2028\u2029\\]/g,kn="\\ud800-\\udfff",Yn="\\u0300-\\u036f",Wn="\\ufe20-\\ufe2f",Fn="\\u20d0-\\u20ff",wn=Yn+Wn+Fn,Si="\\u2700-\\u27bf",Aa="a-z\\xdf-\\xf6\\xf8-\\xff",ia="\\xac\\xb1\\xd7\\xf7",An="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Ji="\\u2000-\\u206f",ii=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",bo="A-Z\\xc0-\\xd6\\xd8-\\xde",ga="\\ufe0e\\ufe0f",Ia=ia+An+Ji+ii,si="['\u2019]",aa="["+kn+"]",wo="["+Ia+"]",ma="["+wn+"]",oa="\\d+",yu="["+Si+"]",Xl="["+Aa+"]",xu="[^"+kn+Ia+oa+Si+Aa+bo+"]",De="\\ud83c[\\udffb-\\udfff]",ct="(?:"+ma+"|"+De+")",ht="[^"+kn+"]",Mt="(?:\\ud83c[\\udde6-\\uddff]){2}",Gt="[\\ud800-\\udbff][\\udc00-\\udfff]",Lt="["+bo+"]",ir="\\u200d",zt="(?:"+Xl+"|"+xu+")",ar="(?:"+Lt+"|"+xu+")",kr="(?:"+si+"(?:d|ll|m|re|s|t|ve))?",Er="(?:"+si+"(?:D|LL|M|RE|S|T|VE))?",Xr=ct+"?",vn="["+ga+"]?",ei="(?:"+ir+"(?:"+[ht,Mt,Gt].join("|")+")"+vn+Xr+")*",Rn="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",hi="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Xn=vn+Xr+ei,$i="(?:"+[yu,Mt,Gt].join("|")+")"+Xn,Ki="(?:"+[ht+ma+"?",ma,Mt,Gt,aa].join("|")+")",sa=RegExp(si,"g"),Ma=RegExp(ma,"g"),qa=RegExp(De+"(?="+De+")|"+Ki+Xn,"g"),Fa=RegExp([Lt+"?"+Xl+"+"+kr+"(?="+[wo,Lt,"$"].join("|")+")",ar+"+"+Er+"(?="+[wo,Lt+zt,"$"].join("|")+")",Lt+"?"+zt+"+"+kr,Lt+"+"+Er,hi,Rn,oa,$i].join("|"),"g"),$o=RegExp("["+ir+kn+wn+ga+"]"),_o=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,ka=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],za=-1,zn={};zn[ce]=zn[Ee]=zn[Ae]=zn[Pe]=zn[He]=zn[Fe]=zn[ke]=zn[Ue]=zn[Ge]=!0,zn[ee]=zn[Q]=zn[tt]=zn[O]=zn[rt]=zn[Z]=zn[$]=zn[oe]=zn[V]=zn[ne]=zn[fe]=zn[Ne]=zn[pe]=zn[me]=zn[ze]=!1;var Zr={};Zr[ee]=Zr[Q]=Zr[tt]=Zr[rt]=Zr[O]=Zr[Z]=Zr[ce]=Zr[Ee]=Zr[Ae]=Zr[Pe]=Zr[He]=Zr[V]=Zr[ne]=Zr[fe]=Zr[Ne]=Zr[pe]=Zr[me]=Zr[Ie]=Zr[Fe]=Zr[ke]=Zr[Ue]=Zr[Ge]=!0,Zr[$]=Zr[oe]=Zr[ze]=!1;var vi={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},Ko={"&":"&","<":"<",">":">",'"':""","'":"'"},tl={"&":"&","<":"<",">":">",""":'"',"'":"'"},Zl={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},qs=parseFloat,Qo=parseInt,rl=typeof global=="object"&&global&&global.Object===Object&&global,ef=typeof self=="object"&&self&&self.Object===Object&&self,Bi=rl||ef||Function("return this")(),tf=typeof ob=="object"&&ob&&!ob.nodeType&&ob,so=tf&&typeof m3=="object"&&m3&&!m3.nodeType&&m3,es=so&&so.exports===tf,Fs=es&&rl.process,lo=function(){try{var Wt=so&&so.require&&so.require("util").types;return Wt||Fs&&Fs.binding&&Fs.binding("util")}catch{}}(),bs=lo&&lo.isArrayBuffer,ws=lo&&lo.isDate,rf=lo&&lo.isMap,ts=lo&&lo.isRegExp,Id=lo&&lo.isSet,kl=lo&&lo.isTypedArray;function Ja(Wt,fr,tr){switch(tr.length){case 0:return Wt.call(fr);case 1:return Wt.call(fr,tr[0]);case 2:return Wt.call(fr,tr[0],tr[1]);case 3:return Wt.call(fr,tr[0],tr[1],tr[2])}return Wt.apply(fr,tr)}function wp(Wt,fr,tr,Kr){for(var Sn=-1,mi=Wt==null?0:Wt.length;++Sn<mi;){var Oa=Wt[Sn];fr(Kr,Oa,tr(Oa),Wt)}return Kr}function Na(Wt,fr){for(var tr=-1,Kr=Wt==null?0:Wt.length;++tr<Kr&&fr(Wt[tr],tr,Wt)!==!1;);return Wt}function nf(Wt,fr){for(var tr=Wt==null?0:Wt.length;tr--&&fr(Wt[tr],tr,Wt)!==!1;);return Wt}function bu(Wt,fr){for(var tr=-1,Kr=Wt==null?0:Wt.length;++tr<Kr;)if(!fr(Wt[tr],tr,Wt))return!1;return!0}function rs(Wt,fr){for(var tr=-1,Kr=Wt==null?0:Wt.length,Sn=0,mi=[];++tr<Kr;){var Oa=Wt[tr];fr(Oa,tr,Wt)&&(mi[Sn++]=Oa)}return mi}function nl(Wt,fr){var tr=Wt==null?0:Wt.length;return!!tr&&Jl(Wt,fr,0)>-1}function af(Wt,fr,tr){for(var Kr=-1,Sn=Wt==null?0:Wt.length;++Kr<Sn;)if(tr(fr,Wt[Kr]))return!0;return!1}function Ui(Wt,fr){for(var tr=-1,Kr=Wt==null?0:Wt.length,Sn=Array(Kr);++tr<Kr;)Sn[tr]=fr(Wt[tr],tr,Wt);return Sn}function zs(Wt,fr){for(var tr=-1,Kr=fr.length,Sn=Wt.length;++tr<Kr;)Wt[Sn+tr]=fr[tr];return Wt}function of(Wt,fr,tr,Kr){var Sn=-1,mi=Wt==null?0:Wt.length;for(Kr&&mi&&(tr=Wt[++Sn]);++Sn<mi;)tr=fr(tr,Wt[Sn],Sn,Wt);return tr}function sf(Wt,fr,tr,Kr){var Sn=Wt==null?0:Wt.length;for(Kr&&Sn&&(tr=Wt[--Sn]);Sn--;)tr=fr(tr,Wt[Sn],Sn,Wt);return tr}function wu(Wt,fr){for(var tr=-1,Kr=Wt==null?0:Wt.length;++tr<Kr;)if(fr(Wt[tr],tr,Wt))return!0;return!1}var Hf=il("length");function Ah(Wt){return Wt.split("")}function Mh(Wt){return Wt.match(St)||[]}function Ns(Wt,fr,tr){var Kr;return tr(Wt,function(Sn,mi,Oa){if(fr(Sn,mi,Oa))return Kr=mi,!1}),Kr}function lf(Wt,fr,tr,Kr){for(var Sn=Wt.length,mi=tr+(Kr?1:-1);Kr?mi--:++mi<Sn;)if(fr(Wt[mi],mi,Wt))return mi;return-1}function Jl(Wt,fr,tr){return fr===fr?Bc(Wt,fr,tr):lf(Wt,Va,tr)}function _s(Wt,fr,tr,Kr){for(var Sn=tr-1,mi=Wt.length;++Sn<mi;)if(Kr(Wt[Sn],fr))return Sn;return-1}function Va(Wt){return Wt!==Wt}function To(Wt,fr){var tr=Wt==null?0:Wt.length;return tr?qc(Wt,fr)/tr:D}function il(Wt){return function(fr){return fr==null?e:fr[Wt]}}function uf(Wt){return function(fr){return Wt==null?e:Wt[fr]}}function _u(Wt,fr,tr,Kr,Sn){return Sn(Wt,function(mi,Oa,yi){tr=Kr?(Kr=!1,mi):fr(tr,mi,Oa,yi)}),tr}function jf(Wt,fr){var tr=Wt.length;for(Wt.sort(fr);tr--;)Wt[tr]=Wt[tr].value;return Wt}function qc(Wt,fr){for(var tr,Kr=-1,Sn=Wt.length;++Kr<Sn;){var mi=fr(Wt[Kr]);mi!==e&&(tr=tr===e?mi:tr+mi)}return tr}function kh(Wt,fr){for(var tr=-1,Kr=Array(Wt);++tr<Wt;)Kr[tr]=fr(tr);return Kr}function _p(Wt,fr){return Ui(fr,function(tr){return[tr,Wt[tr]]})}function qd(Wt){return Wt&&Wt.slice(0,Av(Wt)+1).replace(Ve,"")}function zo(Wt){return function(fr){return Wt(fr)}}function Fc(Wt,fr){return Ui(fr,function(tr){return Wt[tr]})}function ff(Wt,fr){return Wt.has(fr)}function Sh(Wt,fr){for(var tr=-1,Kr=Wt.length;++tr<Kr&&Jl(fr,Wt[tr],0)>-1;);return tr}function Tv(Wt,fr){for(var tr=Wt.length;tr--&&Jl(fr,Wt[tr],0)>-1;);return tr}function Fd(Wt,fr){for(var tr=Wt.length,Kr=0;tr--;)Wt[tr]===fr&&++Kr;return Kr}var zc=uf(vi),Nc=uf(Ko);function Sl(Wt){return"\\"+Zl[Wt]}function Ch(Wt,fr){return Wt==null?e:Wt[fr]}function Cl(Wt){return $o.test(Wt)}function Eh(Wt){return _o.test(Wt)}function zd(Wt){for(var fr,tr=[];!(fr=Wt.next()).done;)tr.push(fr.value);return tr}function Oc(Wt){var fr=-1,tr=Array(Wt.size);return Wt.forEach(function(Kr,Sn){tr[++fr]=[Sn,Kr]}),tr}function Nd(Wt,fr){return function(tr){return Wt(fr(tr))}}function No(Wt,fr){for(var tr=-1,Kr=Wt.length,Sn=0,mi=[];++tr<Kr;){var Oa=Wt[tr];(Oa===fr||Oa===l)&&(Wt[tr]=l,mi[Sn++]=tr)}return mi}function cf(Wt){var fr=-1,tr=Array(Wt.size);return Wt.forEach(function(Kr){tr[++fr]=Kr}),tr}function Vf(Wt){var fr=-1,tr=Array(Wt.size);return Wt.forEach(function(Kr){tr[++fr]=[Kr,Kr]}),tr}function Bc(Wt,fr,tr){for(var Kr=tr-1,Sn=Wt.length;++Kr<Sn;)if(Wt[Kr]===fr)return Kr;return-1}function Uc(Wt,fr,tr){for(var Kr=tr+1;Kr--;)if(Wt[Kr]===fr)return Kr;return Kr}function Tu(Wt){return Cl(Wt)?Od(Wt):Hf(Wt)}function $a(Wt){return Cl(Wt)?kv(Wt):Ah(Wt)}function Av(Wt){for(var fr=Wt.length;fr--&&at.test(Wt.charAt(fr)););return fr}var Mv=uf(tl);function Od(Wt){for(var fr=qa.lastIndex=0;qa.test(Wt);)++fr;return fr}function kv(Wt){return Wt.match(qa)||[]}function Lh(Wt){return Wt.match(Fa)||[]}var Sv=function Wt(fr){fr=fr==null?Bi:El.defaults(Bi.Object(),fr,El.pick(Bi,ka));var tr=fr.Array,Kr=fr.Date,Sn=fr.Error,mi=fr.Function,Oa=fr.Math,yi=fr.Object,Dh=fr.RegExp,Tp=fr.String,Os=fr.TypeError,Bs=tr.prototype,Ll=mi.prototype,Ka=yi.prototype,Rh=fr["__core-js_shared__"],$l=Ll.toString,Di=Ka.hasOwnProperty,Us=0,Cv=function(){var F=/[^.]+$/.exec(Rh&&Rh.keys&&Rh.keys.IE_PROTO||"");return F?"Symbol(src)_1."+F:""}(),Hc=Ka.toString,jc=$l.call(yi),Bd=Bi._,Ph=Dh("^"+$l.call(Di).replace(ie,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Au=es?fr.Buffer:e,al=fr.Symbol,Mu=fr.Uint8Array,Ud=Au?Au.allocUnsafe:e,ku=Nd(yi.getPrototypeOf,yi),Su=yi.create,Yf=Ka.propertyIsEnumerable,Dl=Bs.splice,hf=al?al.isConcatSpreadable:e,Cu=al?al.iterator:e,ol=al?al.toStringTag:e,Vc=function(){try{var F=Cp(yi,"defineProperty");return F({},"",{}),F}catch{}}(),Ih=fr.clearTimeout!==Bi.clearTimeout&&fr.clearTimeout,Hd=Kr&&Kr.now!==Bi.Date.now&&Kr.now,jd=fr.setTimeout!==Bi.setTimeout&&fr.setTimeout,Gf=Oa.ceil,vf=Oa.floor,Sa=yi.getOwnPropertySymbols,sl=Au?Au.isBuffer:e,df=fr.isFinite,qh=Bs.join,Yc=Nd(yi.keys,yi),Ca=Oa.max,be=Oa.min,Oe=Kr.now,ot=fr.parseInt,Ke=Oa.random,xt=Bs.reverse,Ft=Cp(fr,"DataView"),jt=Cp(fr,"Map"),$t=Cp(fr,"Promise"),Kt=Cp(fr,"Set"),sr=Cp(fr,"WeakMap"),Yt=Cp(yi,"create"),nr=sr&&new sr,Qt={},cr=Ep(Ft),pr=Ep(jt),Jr=Ep($t),jr=Ep(Kt),rn=Ep(sr),Qr=al?al.prototype:e,yr=Qr?Qr.valueOf:e,Cr=Qr?Qr.toString:e;function Ze(F){if(So(F)&&!ai(F)&&!(F instanceof $r)){if(F instanceof Gn)return F;if(Di.call(F,"__wrapped__"))return cO(F)}return new Gn(F)}var fn=function(){function F(){}return function(B){if(!fo(B))return{};if(Su)return Su(B);F.prototype=B;var ae=new F;return F.prototype=e,ae}}();function Kn(){}function Gn(F,B){this.__wrapped__=F,this.__actions__=[],this.__chain__=!!B,this.__index__=0,this.__values__=e}Ze.templateSettings={escape:At,evaluate:Ye,interpolate:je,variable:"",imports:{_:Ze}},Ze.prototype=Kn.prototype,Ze.prototype.constructor=Ze,Gn.prototype=fn(Kn.prototype),Gn.prototype.constructor=Gn;function $r(F){this.__wrapped__=F,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=q,this.__views__=[]}function Hi(){var F=new $r(this.__wrapped__);return F.__actions__=Lu(this.__actions__),F.__dir__=this.__dir__,F.__filtered__=this.__filtered__,F.__iteratees__=Lu(this.__iteratees__),F.__takeCount__=this.__takeCount__,F.__views__=Lu(this.__views__),F}function Zn(){if(this.__filtered__){var F=new $r(this);F.__dir__=-1,F.__filtered__=!0}else F=this.clone(),F.__dir__*=-1;return F}function uo(){var F=this.__wrapped__.value(),B=this.__dir__,ae=ai(F),we=B<0,We=ae?F.length:0,vt=WRe(0,We,this.__views__),Et=vt.start,Ut=vt.end,Jt=Ut-Et,gr=we?Ut:Et-1,xr=this.__iteratees__,Sr=xr.length,en=0,bn=be(Jt,this.__takeCount__);if(!ae||!we&&We==Jt&&bn==Jt)return Ms(F,this.__actions__);var Un=[];e:for(;Jt--&&en<bn;){gr+=B;for(var pi=-1,Hn=F[gr];++pi<Sr;){var Ci=xr[pi],Fi=Ci.iteratee,_f=Ci.type,ru=Fi(Hn);if(_f==C)Hn=ru;else if(!ru){if(_f==E)continue e;break e}}Un[en++]=Hn}return Un}$r.prototype=fn(Kn.prototype),$r.prototype.constructor=$r;function ji(F){var B=-1,ae=F==null?0:F.length;for(this.clear();++B<ae;){var we=F[B];this.set(we[0],we[1])}}function Vi(){this.__data__=Yt?Yt(null):{},this.size=0}function Rr(F){var B=this.has(F)&&delete this.__data__[F];return this.size-=B?1:0,B}function li(F){var B=this.__data__;if(Yt){var ae=B[F];return ae===o?e:ae}return Di.call(B,F)?B[F]:e}function Ba(F){var B=this.__data__;return Yt?B[F]!==e:Di.call(B,F)}function Ao(F,B){var ae=this.__data__;return this.size+=this.has(F)?0:1,ae[F]=Yt&&B===e?o:B,this}ji.prototype.clear=Vi,ji.prototype.delete=Rr,ji.prototype.get=li,ji.prototype.has=Ba,ji.prototype.set=Ao;function Ua(F){var B=-1,ae=F==null?0:F.length;for(this.clear();++B<ae;){var we=F[B];this.set(we[0],we[1])}}function Kl(){this.__data__=[],this.size=0}function Rl(F){var B=this.__data__,ae=re(B,F);if(ae<0)return!1;var we=B.length-1;return ae==we?B.pop():Dl.call(B,ae,1),--this.size,!0}function pf(F){var B=this.__data__,ae=re(B,F);return ae<0?e:B[ae][1]}function ll(F){return re(this.__data__,F)>-1}function gf(F,B){var ae=this.__data__,we=re(ae,F);return we<0?(++this.size,ae.push([F,B])):ae[we][1]=B,this}Ua.prototype.clear=Kl,Ua.prototype.delete=Rl,Ua.prototype.get=pf,Ua.prototype.has=ll,Ua.prototype.set=gf;function ns(F){var B=-1,ae=F==null?0:F.length;for(this.clear();++B<ae;){var we=F[B];this.set(we[0],we[1])}}function Fh(){this.size=0,this.__data__={hash:new ji,map:new(jt||Ua),string:new ji}}function Vd(F){var B=N3(this,F).delete(F);return this.size-=B?1:0,B}function Yd(F){return N3(this,F).get(F)}function Jm(F){return N3(this,F).has(F)}function Ev(F,B){var ae=N3(this,F),we=ae.size;return ae.set(F,B),this.size+=ae.size==we?0:1,this}ns.prototype.clear=Fh,ns.prototype.delete=Vd,ns.prototype.get=Yd,ns.prototype.has=Jm,ns.prototype.set=Ev;function Oo(F){var B=-1,ae=F==null?0:F.length;for(this.__data__=new ns;++B<ae;)this.add(F[B])}function $m(F){return this.__data__.set(F,o),this}function Km(F){return this.__data__.has(F)}Oo.prototype.add=Oo.prototype.push=$m,Oo.prototype.has=Km;function Hs(F){var B=this.__data__=new Ua(F);this.size=B.size}function Ap(){this.__data__=new Ua,this.size=0}function Qm(F){var B=this.__data__,ae=B.delete(F);return this.size=B.size,ae}function e1(F){return this.__data__.get(F)}function t1(F){return this.__data__.has(F)}function Gd(F,B){var ae=this.__data__;if(ae instanceof Ua){var we=ae.__data__;if(!jt||we.length<r-1)return we.push([F,B]),this.size=++ae.size,this;ae=this.__data__=new ns(we)}return ae.set(F,B),this.size=ae.size,this}Hs.prototype.clear=Ap,Hs.prototype.delete=Qm,Hs.prototype.get=e1,Hs.prototype.has=t1,Hs.prototype.set=Gd;function zh(F,B){var ae=ai(F),we=!ae&&Lp(F),We=!ae&&!we&&Xd(F),vt=!ae&&!we&&!We&&a1(F),Et=ae||we||We||vt,Ut=Et?kh(F.length,Tp):[],Jt=Ut.length;for(var gr in F)(B||Di.call(F,gr))&&!(Et&&(gr=="length"||We&&(gr=="offset"||gr=="parent")||vt&&(gr=="buffer"||gr=="byteLength"||gr=="byteOffset")||qv(gr,Jt)))&&Ut.push(gr);return Ut}function Mp(F){var B=F.length;return B?F[ur(0,B-1)]:e}function kp(F,B){return O3(Lu(F),Le(B,0,F.length))}function pb(F){return O3(Lu(F))}function Lv(F,B,ae){(ae!==e&&!Zc(F[B],ae)||ae===e&&!(B in F))&&Me(F,B,ae)}function is(F,B,ae){var we=F[B];(!(Di.call(F,B)&&Zc(we,ae))||ae===e&&!(B in F))&&Me(F,B,ae)}function re(F,B){for(var ae=F.length;ae--;)if(Zc(F[ae][0],B))return ae;return-1}function le(F,B,ae,we){return Ct(F,function(We,vt,Et){B(we,We,ae(We),Et)}),we}function de(F,B){return F&&Bh(B,Gs(B),F)}function ye(F,B){return F&&Bh(B,Ru(B),F)}function Me(F,B,ae){B=="__proto__"&&Vc?Vc(F,B,{configurable:!0,enumerable:!0,value:ae,writable:!0}):F[B]=ae}function _e(F,B){for(var ae=-1,we=B.length,We=tr(we),vt=F==null;++ae<we;)We[ae]=vt?e:k6(F,B[ae]);return We}function Le(F,B,ae){return F===F&&(ae!==e&&(F=F<=ae?F:ae),B!==e&&(F=F>=B?F:B)),F}function Qe(F,B,ae,we,We,vt){var Et,Ut=B&u,Jt=B&f,gr=B&c;if(ae&&(Et=We?ae(F,we,We,vt):ae(F)),Et!==e)return Et;if(!fo(F))return F;var xr=ai(F);if(xr){if(Et=ZRe(F),!Ut)return Lu(F,Et)}else{var Sr=Il(F),en=Sr==oe||Sr==te;if(Xd(F))return bf(F,Ut);if(Sr==fe||Sr==ee||en&&!We){if(Et=Jt||en?{}:rO(F),!Ut)return Jt?NRe(F,ye(Et,F)):zRe(F,de(Et,F))}else{if(!Zr[Sr])return We?F:{};Et=JRe(F,Sr,Ut)}}vt||(vt=new Hs);var bn=vt.get(F);if(bn)return bn;vt.set(F,Et),DO(F)?F.forEach(function(Hn){Et.add(Qe(Hn,B,ae,Hn,F,vt))}):EO(F)&&F.forEach(function(Hn,Ci){Et.set(Ci,Qe(Hn,B,ae,Ci,F,vt))});var Un=gr?Jt?h6:c6:Jt?Ru:Gs,pi=xr?e:Un(F);return Na(pi||F,function(Hn,Ci){pi&&(Ci=Hn,Hn=F[Ci]),is(Et,Ci,Qe(Hn,B,ae,Ci,F,vt))}),Et}function st(F){var B=Gs(F);return function(ae){return et(ae,F,B)}}function et(F,B,ae){var we=ae.length;if(F==null)return!we;for(F=yi(F);we--;){var We=ae[we],vt=B[We],Et=F[We];if(Et===e&&!(We in F)||!vt(Et))return!1}return!0}function ut(F,B,ae){if(typeof F!="function")throw new Os(i);return xb(function(){F.apply(e,ae)},B)}function yt(F,B,ae,we){var We=-1,vt=nl,Et=!0,Ut=F.length,Jt=[],gr=B.length;if(!Ut)return Jt;ae&&(B=Ui(B,zo(ae))),we?(vt=af,Et=!1):B.length>=r&&(vt=ff,Et=!1,B=new Oo(B));e:for(;++We<Ut;){var xr=F[We],Sr=ae==null?xr:ae(xr);if(xr=we||xr!==0?xr:0,Et&&Sr===Sr){for(var en=gr;en--;)if(B[en]===Sr)continue e;Jt.push(xr)}else vt(B,Sr,we)||Jt.push(xr)}return Jt}var Ct=HN(on),qt=HN(Mi,!0);function Zt(F,B){var ae=!0;return Ct(F,function(we,We,vt){return ae=!!B(we,We,vt),ae}),ae}function rr(F,B,ae){for(var we=-1,We=F.length;++we<We;){var vt=F[we],Et=B(vt);if(Et!=null&&(Ut===e?Et===Et&&!wf(Et):ae(Et,Ut)))var Ut=Et,Jt=vt}return Jt}function dr(F,B,ae,we){var We=F.length;for(ae=ui(ae),ae<0&&(ae=-ae>We?0:We+ae),we=we===e||we>We?We:ui(we),we<0&&(we+=We),we=ae>we?0:PO(we);ae<we;)F[ae++]=B;return F}function Ir(F,B){var ae=[];return Ct(F,function(we,We,vt){B(we,We,vt)&&ae.push(we)}),ae}function Ur(F,B,ae,we,We){var vt=-1,Et=F.length;for(ae||(ae=KRe),We||(We=[]);++vt<Et;){var Ut=F[vt];B>0&&ae(Ut)?B>1?Ur(Ut,B-1,ae,we,We):zs(We,Ut):we||(We[We.length]=Ut)}return We}var an=jN(),un=jN(!0);function on(F,B){return F&&an(F,B,Gs)}function Mi(F,B){return F&&un(F,B,Gs)}function Oi(F,B){return rs(B,function(ae){return Fv(F[ae])})}function Nn(F,B){B=Nh(B,F);for(var ae=0,we=B.length;F!=null&&ae<we;)F=F[Uh(B[ae++])];return ae&&ae==we?F:e}function ya(F,B,ae){var we=B(F);return ai(F)?we:zs(we,ae(F))}function Ri(F){return F==null?F===e?Re:W:ol&&ol in yi(F)?GRe(F):aPe(F)}function Ts(F,B){return F>B}function mf(F,B){return F!=null&&Di.call(F,B)}function Gc(F,B){return F!=null&&B in yi(F)}function as(F,B,ae){return F>=be(B,ae)&&F<Ca(B,ae)}function Mo(F,B,ae){for(var we=ae?af:nl,We=F[0].length,vt=F.length,Et=vt,Ut=tr(vt),Jt=1/0,gr=[];Et--;){var xr=F[Et];Et&&B&&(xr=Ui(xr,zo(B))),Jt=be(xr.length,Jt),Ut[Et]=!ae&&(B||We>=120&&xr.length>=120)?new Oo(Et&&xr):e}xr=F[0];var Sr=-1,en=Ut[0];e:for(;++Sr<We&&gr.length<Jt;){var bn=xr[Sr],Un=B?B(bn):bn;if(bn=ae||bn!==0?bn:0,!(en?ff(en,Un):we(gr,Un,ae))){for(Et=vt;--Et;){var pi=Ut[Et];if(!(pi?ff(pi,Un):we(F[Et],Un,ae)))continue e}en&&en.push(Un),gr.push(bn)}}return gr}function Ql(F,B,ae,we){return on(F,function(We,vt,Et){B(we,ae(We),vt,Et)}),we}function ul(F,B,ae){B=Nh(B,F),F=oO(F,B);var we=F==null?F:F[Uh(Xf(B))];return we==null?e:Ja(we,F,ae)}function Eu(F){return So(F)&&Ri(F)==ee}function yf(F){return So(F)&&Ri(F)==tt}function Wf(F){return So(F)&&Ri(F)==Z}function js(F,B,ae,we,We){return F===B?!0:F==null||B==null||!So(F)&&!So(B)?F!==F&&B!==B:Wc(F,B,ae,we,js,We)}function Wc(F,B,ae,we,We,vt){var Et=ai(F),Ut=ai(B),Jt=Et?Q:Il(F),gr=Ut?Q:Il(B);Jt=Jt==ee?fe:Jt,gr=gr==ee?fe:gr;var xr=Jt==fe,Sr=gr==fe,en=Jt==gr;if(en&&Xd(F)){if(!Xd(B))return!1;Et=!0,xr=!1}if(en&&!xr)return vt||(vt=new Hs),Et||a1(F)?QN(F,B,ae,we,We,vt):VRe(F,B,Jt,ae,we,We,vt);if(!(ae&h)){var bn=xr&&Di.call(F,"__wrapped__"),Un=Sr&&Di.call(B,"__wrapped__");if(bn||Un){var pi=bn?F.value():F,Hn=Un?B.value():B;return vt||(vt=new Hs),We(pi,Hn,ae,we,vt)}}return en?(vt||(vt=new Hs),YRe(F,B,ae,we,We,vt)):!1}function Dv(F){return So(F)&&Il(F)==V}function z(F,B,ae,we){var We=ae.length,vt=We,Et=!we;if(F==null)return!vt;for(F=yi(F);We--;){var Ut=ae[We];if(Et&&Ut[2]?Ut[1]!==F[Ut[0]]:!(Ut[0]in F))return!1}for(;++We<vt;){Ut=ae[We];var Jt=Ut[0],gr=F[Jt],xr=Ut[1];if(Et&&Ut[2]){if(gr===e&&!(Jt in F))return!1}else{var Sr=new Hs;if(we)var en=we(gr,xr,Jt,F,B,Sr);if(!(en===e?js(xr,gr,h|d,we,Sr):en))return!1}}return!0}function H(F){if(!fo(F)||ePe(F))return!1;var B=Fv(F)?Ph:Lr;return B.test(Ep(F))}function X(F){return So(F)&&Ri(F)==Ne}function se(F){return So(F)&&Il(F)==pe}function ue(F){return So(F)&&Y3(F.length)&&!!zn[Ri(F)]}function he(F){return typeof F=="function"?F:F==null?Pu:typeof F=="object"?ai(F)?dt(F[0],F[1]):Je(F):VO(F)}function Se(F){if(!yb(F))return Yc(F);var B=[];for(var ae in yi(F))Di.call(F,ae)&&ae!="constructor"&&B.push(ae);return B}function xe(F){if(!fo(F))return iPe(F);var B=yb(F),ae=[];for(var we in F)we=="constructor"&&(B||!Di.call(F,we))||ae.push(we);return ae}function qe(F,B){return F<B}function Xe(F,B){var ae=-1,we=Du(F)?tr(F.length):[];return Ct(F,function(We,vt,Et){we[++ae]=B(We,vt,Et)}),we}function Je(F){var B=d6(F);return B.length==1&&B[0][2]?iO(B[0][0],B[0][1]):function(ae){return ae===F||z(ae,F,B)}}function dt(F,B){return g6(F)&&nO(B)?iO(Uh(F),B):function(ae){var we=k6(ae,F);return we===e&&we===B?S6(ae,F):js(B,we,h|d)}}function pt(F,B,ae,we,We){F!==B&&an(B,function(vt,Et){if(We||(We=new Hs),fo(vt))It(F,B,Et,ae,pt,we,We);else{var Ut=we?we(y6(F,Et),vt,Et+"",F,B,We):e;Ut===e&&(Ut=vt),Lv(F,Et,Ut)}},Ru)}function It(F,B,ae,we,We,vt,Et){var Ut=y6(F,ae),Jt=y6(B,ae),gr=Et.get(Jt);if(gr){Lv(F,ae,gr);return}var xr=vt?vt(Ut,Jt,ae+"",F,B,Et):e,Sr=xr===e;if(Sr){var en=ai(Jt),bn=!en&&Xd(Jt),Un=!en&&!bn&&a1(Jt);xr=Jt,en||bn||Un?ai(Ut)?xr=Ut:Bo(Ut)?xr=Lu(Ut):bn?(Sr=!1,xr=bf(Jt,!0)):Un?(Sr=!1,xr=Sp(Jt,!0)):xr=[]:bb(Jt)||Lp(Jt)?(xr=Ut,Lp(Ut)?xr=IO(Ut):(!fo(Ut)||Fv(Ut))&&(xr=rO(Jt))):Sr=!1}Sr&&(Et.set(Jt,xr),We(xr,Jt,we,vt,Et),Et.delete(Jt)),Lv(F,ae,xr)}function Nt(F,B){var ae=F.length;if(ae)return B+=B<0?ae:0,qv(B,ae)?F[B]:e}function mt(F,B,ae){B.length?B=Ui(B,function(vt){return ai(vt)?function(Et){return Nn(Et,vt.length===1?vt[0]:vt)}:vt}):B=[Pu];var we=-1;B=Ui(B,zo(On()));var We=Xe(F,function(vt,Et,Ut){var Jt=Ui(B,function(gr){return gr(vt)});return{criteria:Jt,index:++we,value:vt}});return jf(We,function(vt,Et){return FRe(vt,Et,ae)})}function kt(F,B){return Dt(F,B,function(ae,we){return S6(F,we)})}function Dt(F,B,ae){for(var we=-1,We=B.length,vt={};++we<We;){var Et=B[we],Ut=Nn(F,Et);ae(Ut,Et)&&yn(vt,Nh(Et,F),Ut)}return vt}function Ot(F){return function(B){return Nn(B,F)}}function Bt(F,B,ae,we){var We=we?_s:Jl,vt=-1,Et=B.length,Ut=F;for(F===B&&(B=Lu(B)),ae&&(Ut=Ui(F,zo(ae)));++vt<Et;)for(var Jt=0,gr=B[vt],xr=ae?ae(gr):gr;(Jt=We(Ut,xr,Jt,we))>-1;)Ut!==F&&Dl.call(Ut,Jt,1),Dl.call(F,Jt,1);return F}function Rt(F,B){for(var ae=F?B.length:0,we=ae-1;ae--;){var We=B[ae];if(ae==we||We!==vt){var vt=We;qv(We)?Dl.call(F,We,1):ko(F,We)}}return F}function ur(F,B){return F+vf(Ke()*(B-F+1))}function Dr(F,B,ae,we){for(var We=-1,vt=Ca(Gf((B-F)/(ae||1)),0),Et=tr(vt);vt--;)Et[we?vt:++We]=F,F+=ae;return Et}function Pr(F,B){var ae="";if(!F||B<1||B>I)return ae;do B%2&&(ae+=F),B=vf(B/2),B&&(F+=F);while(B);return ae}function lr(F,B){return x6(aO(F,B,Pu),F+"")}function Vr(F){return Mp(o1(F))}function Yr(F,B){var ae=o1(F);return O3(ae,Le(B,0,ae.length))}function yn(F,B,ae,we){if(!fo(F))return F;B=Nh(B,F);for(var We=-1,vt=B.length,Et=vt-1,Ut=F;Ut!=null&&++We<vt;){var Jt=Uh(B[We]),gr=ae;if(Jt==="__proto__"||Jt==="constructor"||Jt==="prototype")return F;if(We!=Et){var xr=Ut[Jt];gr=we?we(xr,Jt,Ut):e,gr===e&&(gr=fo(xr)?xr:qv(B[We+1])?[]:{})}is(Ut,Jt,gr),Ut=Ut[Jt]}return F}var Wr=nr?function(F,B){return nr.set(F,B),F}:Pu,xn=Vc?function(F,B){return Vc(F,"toString",{configurable:!0,enumerable:!1,value:E6(B),writable:!0})}:Pu;function xi(F){return O3(o1(F))}function Pi(F,B,ae){var we=-1,We=F.length;B<0&&(B=-B>We?0:We+B),ae=ae>We?We:ae,ae<0&&(ae+=We),We=B>ae?0:ae-B>>>0,B>>>=0;for(var vt=tr(We);++we<We;)vt[we]=F[we+B];return vt}function Ii(F,B){var ae;return Ct(F,function(we,We,vt){return ae=B(we,We,vt),!ae}),!!ae}function Ar(F,B,ae){var we=0,We=F==null?we:F.length;if(typeof B=="number"&&B===B&&We<=U){for(;we<We;){var vt=we+We>>>1,Et=F[vt];Et!==null&&!wf(Et)&&(ae?Et<=B:Et<B)?we=vt+1:We=vt}return We}return Mn(F,B,Pu,ae)}function Mn(F,B,ae,we){var We=0,vt=F==null?0:F.length;if(vt===0)return 0;B=ae(B);for(var Et=B!==B,Ut=B===null,Jt=wf(B),gr=B===e;We<vt;){var xr=vf((We+vt)/2),Sr=ae(F[xr]),en=Sr!==e,bn=Sr===null,Un=Sr===Sr,pi=wf(Sr);if(Et)var Hn=we||Un;else gr?Hn=Un&&(we||en):Ut?Hn=Un&&en&&(we||!bn):Jt?Hn=Un&&en&&!bn&&(we||!pi):bn||pi?Hn=!1:Hn=we?Sr<=B:Sr<B;Hn?We=xr+1:vt=xr}return be(vt,N)}function Pn(F,B){for(var ae=-1,we=F.length,We=0,vt=[];++ae<we;){var Et=F[ae],Ut=B?B(Et):Et;if(!ae||!Zc(Ut,Jt)){var Jt=Ut;vt[We++]=Et===0?0:Et}}return vt}function di(F){return typeof F=="number"?F:wf(F)?D:+F}function bi(F){if(typeof F=="string")return F;if(ai(F))return Ui(F,bi)+"";if(wf(F))return Cr?Cr.call(F):"";var B=F+"";return B=="0"&&1/F==-R?"-0":B}function la(F,B,ae){var we=-1,We=nl,vt=F.length,Et=!0,Ut=[],Jt=Ut;if(ae)Et=!1,We=af;else if(vt>=r){var gr=B?null:HRe(F);if(gr)return cf(gr);Et=!1,We=ff,Jt=new Oo}else Jt=B?[]:Ut;e:for(;++we<vt;){var xr=F[we],Sr=B?B(xr):xr;if(xr=ae||xr!==0?xr:0,Et&&Sr===Sr){for(var en=Jt.length;en--;)if(Jt[en]===Sr)continue e;B&&Jt.push(Sr),Ut.push(xr)}else We(Jt,Sr,ae)||(Jt!==Ut&&Jt.push(Sr),Ut.push(xr))}return Ut}function ko(F,B){return B=Nh(B,F),F=oO(F,B),F==null||delete F[Uh(Xf(B))]}function As(F,B,ae,we){return yn(F,B,ae(Nn(F,B)),we)}function os(F,B,ae,we){for(var We=F.length,vt=we?We:-1;(we?vt--:++vt<We)&&B(F[vt],vt,F););return ae?Pi(F,we?0:vt,we?vt+1:We):Pi(F,we?vt+1:0,we?We:vt)}function Ms(F,B){var ae=F;return ae instanceof $r&&(ae=ae.value()),of(B,function(we,We){return We.func.apply(We.thisArg,zs([we],We.args))},ae)}function Vs(F,B,ae){var we=F.length;if(we<2)return we?la(F[0]):[];for(var We=-1,vt=tr(we);++We<we;)for(var Et=F[We],Ut=-1;++Ut<we;)Ut!=We&&(vt[We]=yt(vt[We]||Et,F[Ut],B,ae));return la(Ur(vt,1),B,ae)}function ss(F,B,ae){for(var we=-1,We=F.length,vt=B.length,Et={};++we<We;){var Ut=we<vt?B[we]:e;ae(Et,F[we],Ut)}return Et}function Ys(F){return Bo(F)?F:[]}function Xc(F){return typeof F=="function"?F:Pu}function Nh(F,B){return ai(F)?F:g6(F,B)?[F]:fO(ua(F))}var xf=lr;function Ea(F,B,ae){var we=F.length;return ae=ae===e?we:ae,!B&&ae>=we?F:Pi(F,B,ae)}var eu=Ih||function(F){return Bi.clearTimeout(F)};function bf(F,B){if(B)return F.slice();var ae=F.length,we=Ud?Ud(ae):new F.constructor(ae);return F.copy(we),we}function Pl(F){var B=new F.constructor(F.byteLength);return new Mu(B).set(new Mu(F)),B}function Wd(F,B){var ae=B?Pl(F.buffer):F.buffer;return new F.constructor(ae,F.byteOffset,F.byteLength)}function Rv(F){var B=new F.constructor(F.source,br.exec(F));return B.lastIndex=F.lastIndex,B}function Oh(F){return yr?yi(yr.call(F)):{}}function Sp(F,B){var ae=B?Pl(F.buffer):F.buffer;return new F.constructor(ae,F.byteOffset,F.length)}function gb(F,B){if(F!==B){var ae=F!==e,we=F===null,We=F===F,vt=wf(F),Et=B!==e,Ut=B===null,Jt=B===B,gr=wf(B);if(!Ut&&!gr&&!vt&&F>B||vt&&Et&&Jt&&!Ut&&!gr||we&&Et&&Jt||!ae&&Jt||!We)return 1;if(!we&&!vt&&!gr&&F<B||gr&&ae&&We&&!we&&!vt||Ut&&ae&&We||!Et&&We||!Jt)return-1}return 0}function FRe(F,B,ae){for(var we=-1,We=F.criteria,vt=B.criteria,Et=We.length,Ut=ae.length;++we<Et;){var Jt=gb(We[we],vt[we]);if(Jt){if(we>=Ut)return Jt;var gr=ae[we];return Jt*(gr=="desc"?-1:1)}}return F.index-B.index}function BN(F,B,ae,we){for(var We=-1,vt=F.length,Et=ae.length,Ut=-1,Jt=B.length,gr=Ca(vt-Et,0),xr=tr(Jt+gr),Sr=!we;++Ut<Jt;)xr[Ut]=B[Ut];for(;++We<Et;)(Sr||We<vt)&&(xr[ae[We]]=F[We]);for(;gr--;)xr[Ut++]=F[We++];return xr}function UN(F,B,ae,we){for(var We=-1,vt=F.length,Et=-1,Ut=ae.length,Jt=-1,gr=B.length,xr=Ca(vt-Ut,0),Sr=tr(xr+gr),en=!we;++We<xr;)Sr[We]=F[We];for(var bn=We;++Jt<gr;)Sr[bn+Jt]=B[Jt];for(;++Et<Ut;)(en||We<vt)&&(Sr[bn+ae[Et]]=F[We++]);return Sr}function Lu(F,B){var ae=-1,we=F.length;for(B||(B=tr(we));++ae<we;)B[ae]=F[ae];return B}function Bh(F,B,ae,we){var We=!ae;ae||(ae={});for(var vt=-1,Et=B.length;++vt<Et;){var Ut=B[vt],Jt=we?we(ae[Ut],F[Ut],Ut,ae,F):e;Jt===e&&(Jt=F[Ut]),We?Me(ae,Ut,Jt):is(ae,Ut,Jt)}return ae}function zRe(F,B){return Bh(F,p6(F),B)}function NRe(F,B){return Bh(F,eO(F),B)}function R3(F,B){return function(ae,we){var We=ai(ae)?wp:le,vt=B?B():{};return We(ae,F,On(we,2),vt)}}function r1(F){return lr(function(B,ae){var we=-1,We=ae.length,vt=We>1?ae[We-1]:e,Et=We>2?ae[2]:e;for(vt=F.length>3&&typeof vt=="function"?(We--,vt):e,Et&&tu(ae[0],ae[1],Et)&&(vt=We<3?e:vt,We=1),B=yi(B);++we<We;){var Ut=ae[we];Ut&&F(B,Ut,we,vt)}return B})}function HN(F,B){return function(ae,we){if(ae==null)return ae;if(!Du(ae))return F(ae,we);for(var We=ae.length,vt=B?We:-1,Et=yi(ae);(B?vt--:++vt<We)&&we(Et[vt],vt,Et)!==!1;);return ae}}function jN(F){return function(B,ae,we){for(var We=-1,vt=yi(B),Et=we(B),Ut=Et.length;Ut--;){var Jt=Et[F?Ut:++We];if(ae(vt[Jt],Jt,vt)===!1)break}return B}}function ORe(F,B,ae){var we=B&v,We=mb(F);function vt(){var Et=this&&this!==Bi&&this instanceof vt?We:F;return Et.apply(we?ae:this,arguments)}return vt}function VN(F){return function(B){B=ua(B);var ae=Cl(B)?$a(B):e,we=ae?ae[0]:B.charAt(0),We=ae?Ea(ae,1).join(""):B.slice(1);return we[F]()+We}}function n1(F){return function(B){return of(HO(UO(B).replace(sa,"")),F,"")}}function mb(F){return function(){var B=arguments;switch(B.length){case 0:return new F;case 1:return new F(B[0]);case 2:return new F(B[0],B[1]);case 3:return new F(B[0],B[1],B[2]);case 4:return new F(B[0],B[1],B[2],B[3]);case 5:return new F(B[0],B[1],B[2],B[3],B[4]);case 6:return new F(B[0],B[1],B[2],B[3],B[4],B[5]);case 7:return new F(B[0],B[1],B[2],B[3],B[4],B[5],B[6])}var ae=fn(F.prototype),we=F.apply(ae,B);return fo(we)?we:ae}}function BRe(F,B,ae){var we=mb(F);function We(){for(var vt=arguments.length,Et=tr(vt),Ut=vt,Jt=i1(We);Ut--;)Et[Ut]=arguments[Ut];var gr=vt<3&&Et[0]!==Jt&&Et[vt-1]!==Jt?[]:No(Et,Jt);if(vt-=gr.length,vt<ae)return ZN(F,B,P3,We.placeholder,e,Et,gr,e,e,ae-vt);var xr=this&&this!==Bi&&this instanceof We?we:F;return Ja(xr,this,Et)}return We}function YN(F){return function(B,ae,we){var We=yi(B);if(!Du(B)){var vt=On(ae,3);B=Gs(B),ae=function(Ut){return vt(We[Ut],Ut,We)}}var Et=F(B,ae,we);return Et>-1?We[vt?B[Et]:Et]:e}}function GN(F){return Iv(function(B){var ae=B.length,we=ae,We=Gn.prototype.thru;for(F&&B.reverse();we--;){var vt=B[we];if(typeof vt!="function")throw new Os(i);if(We&&!Et&&z3(vt)=="wrapper")var Et=new Gn([],!0)}for(we=Et?we:ae;++we<ae;){vt=B[we];var Ut=z3(vt),Jt=Ut=="wrapper"?v6(vt):e;Jt&&m6(Jt[0])&&Jt[1]==(k|g|T|x)&&!Jt[4].length&&Jt[9]==1?Et=Et[z3(Jt[0])].apply(Et,Jt[3]):Et=vt.length==1&&m6(vt)?Et[Ut]():Et.thru(vt)}return function(){var gr=arguments,xr=gr[0];if(Et&&gr.length==1&&ai(xr))return Et.plant(xr).value();for(var Sr=0,en=ae?B[Sr].apply(this,gr):xr;++Sr<ae;)en=B[Sr].call(this,en);return en}})}function P3(F,B,ae,we,We,vt,Et,Ut,Jt,gr){var xr=B&k,Sr=B&v,en=B&m,bn=B&(g|_),Un=B&M,pi=en?e:mb(F);function Hn(){for(var Ci=arguments.length,Fi=tr(Ci),_f=Ci;_f--;)Fi[_f]=arguments[_f];if(bn)var ru=i1(Hn),Tf=Fd(Fi,ru);if(we&&(Fi=BN(Fi,we,We,bn)),vt&&(Fi=UN(Fi,vt,Et,bn)),Ci-=Tf,bn&&Ci<gr){var Uo=No(Fi,ru);return ZN(F,B,P3,Hn.placeholder,ae,Fi,Uo,Ut,Jt,gr-Ci)}var Jc=Sr?ae:this,Nv=en?Jc[F]:F;return Ci=Fi.length,Ut?Fi=oPe(Fi,Ut):Un&&Ci>1&&Fi.reverse(),xr&&Jt<Ci&&(Fi.length=Jt),this&&this!==Bi&&this instanceof Hn&&(Nv=pi||mb(Nv)),Nv.apply(Jc,Fi)}return Hn}function WN(F,B){return function(ae,we){return Ql(ae,F,B(we),{})}}function I3(F,B){return function(ae,we){var We;if(ae===e&&we===e)return B;if(ae!==e&&(We=ae),we!==e){if(We===e)return we;typeof ae=="string"||typeof we=="string"?(ae=bi(ae),we=bi(we)):(ae=di(ae),we=di(we)),We=F(ae,we)}return We}}function u6(F){return Iv(function(B){return B=Ui(B,zo(On())),lr(function(ae){var we=this;return F(B,function(We){return Ja(We,we,ae)})})})}function q3(F,B){B=B===e?" ":bi(B);var ae=B.length;if(ae<2)return ae?Pr(B,F):B;var we=Pr(B,Gf(F/Tu(B)));return Cl(B)?Ea($a(we),0,F).join(""):we.slice(0,F)}function URe(F,B,ae,we){var We=B&v,vt=mb(F);function Et(){for(var Ut=-1,Jt=arguments.length,gr=-1,xr=we.length,Sr=tr(xr+Jt),en=this&&this!==Bi&&this instanceof Et?vt:F;++gr<xr;)Sr[gr]=we[gr];for(;Jt--;)Sr[gr++]=arguments[++Ut];return Ja(en,We?ae:this,Sr)}return Et}function XN(F){return function(B,ae,we){return we&&typeof we!="number"&&tu(B,ae,we)&&(ae=we=e),B=zv(B),ae===e?(ae=B,B=0):ae=zv(ae),we=we===e?B<ae?1:-1:zv(we),Dr(B,ae,we,F)}}function F3(F){return function(B,ae){return typeof B=="string"&&typeof ae=="string"||(B=Zf(B),ae=Zf(ae)),F(B,ae)}}function ZN(F,B,ae,we,We,vt,Et,Ut,Jt,gr){var xr=B&g,Sr=xr?Et:e,en=xr?e:Et,bn=xr?vt:e,Un=xr?e:vt;B|=xr?T:w,B&=~(xr?w:T),B&b||(B&=~(v|m));var pi=[F,B,We,bn,Sr,Un,en,Ut,Jt,gr],Hn=ae.apply(e,pi);return m6(F)&&sO(Hn,pi),Hn.placeholder=we,lO(Hn,F,B)}function f6(F){var B=Oa[F];return function(ae,we){if(ae=Zf(ae),we=we==null?0:be(ui(we),292),we&&df(ae)){var We=(ua(ae)+"e").split("e"),vt=B(We[0]+"e"+(+We[1]+we));return We=(ua(vt)+"e").split("e"),+(We[0]+"e"+(+We[1]-we))}return B(ae)}}var HRe=Kt&&1/cf(new Kt([,-0]))[1]==R?function(F){return new Kt(F)}:R6;function JN(F){return function(B){var ae=Il(B);return ae==V?Oc(B):ae==pe?Vf(B):_p(B,F(B))}}function Pv(F,B,ae,we,We,vt,Et,Ut){var Jt=B&m;if(!Jt&&typeof F!="function")throw new Os(i);var gr=we?we.length:0;if(gr||(B&=~(T|w),we=We=e),Et=Et===e?Et:Ca(ui(Et),0),Ut=Ut===e?Ut:ui(Ut),gr-=We?We.length:0,B&w){var xr=we,Sr=We;we=We=e}var en=Jt?e:v6(F),bn=[F,B,ae,we,We,xr,Sr,vt,Et,Ut];if(en&&nPe(bn,en),F=bn[0],B=bn[1],ae=bn[2],we=bn[3],We=bn[4],Ut=bn[9]=bn[9]===e?Jt?0:F.length:Ca(bn[9]-gr,0),!Ut&&B&(g|_)&&(B&=~(g|_)),!B||B==v)var Un=ORe(F,B,ae);else B==g||B==_?Un=BRe(F,B,Ut):(B==T||B==(v|T))&&!We.length?Un=URe(F,B,ae,we):Un=P3.apply(e,bn);var pi=en?Wr:sO;return lO(pi(Un,bn),F,B)}function $N(F,B,ae,we){return F===e||Zc(F,Ka[ae])&&!Di.call(we,ae)?B:F}function KN(F,B,ae,we,We,vt){return fo(F)&&fo(B)&&(vt.set(B,F),pt(F,B,e,KN,vt),vt.delete(B)),F}function jRe(F){return bb(F)?e:F}function QN(F,B,ae,we,We,vt){var Et=ae&h,Ut=F.length,Jt=B.length;if(Ut!=Jt&&!(Et&&Jt>Ut))return!1;var gr=vt.get(F),xr=vt.get(B);if(gr&&xr)return gr==B&&xr==F;var Sr=-1,en=!0,bn=ae&d?new Oo:e;for(vt.set(F,B),vt.set(B,F);++Sr<Ut;){var Un=F[Sr],pi=B[Sr];if(we)var Hn=Et?we(pi,Un,Sr,B,F,vt):we(Un,pi,Sr,F,B,vt);if(Hn!==e){if(Hn)continue;en=!1;break}if(bn){if(!wu(B,function(Ci,Fi){if(!ff(bn,Fi)&&(Un===Ci||We(Un,Ci,ae,we,vt)))return bn.push(Fi)})){en=!1;break}}else if(!(Un===pi||We(Un,pi,ae,we,vt))){en=!1;break}}return vt.delete(F),vt.delete(B),en}function VRe(F,B,ae,we,We,vt,Et){switch(ae){case rt:if(F.byteLength!=B.byteLength||F.byteOffset!=B.byteOffset)return!1;F=F.buffer,B=B.buffer;case tt:return!(F.byteLength!=B.byteLength||!vt(new Mu(F),new Mu(B)));case O:case Z:case ne:return Zc(+F,+B);case $:return F.name==B.name&&F.message==B.message;case Ne:case me:return F==B+"";case V:var Ut=Oc;case pe:var Jt=we&h;if(Ut||(Ut=cf),F.size!=B.size&&!Jt)return!1;var gr=Et.get(F);if(gr)return gr==B;we|=d,Et.set(F,B);var xr=QN(Ut(F),Ut(B),we,We,vt,Et);return Et.delete(F),xr;case Ie:if(yr)return yr.call(F)==yr.call(B)}return!1}function YRe(F,B,ae,we,We,vt){var Et=ae&h,Ut=c6(F),Jt=Ut.length,gr=c6(B),xr=gr.length;if(Jt!=xr&&!Et)return!1;for(var Sr=Jt;Sr--;){var en=Ut[Sr];if(!(Et?en in B:Di.call(B,en)))return!1}var bn=vt.get(F),Un=vt.get(B);if(bn&&Un)return bn==B&&Un==F;var pi=!0;vt.set(F,B),vt.set(B,F);for(var Hn=Et;++Sr<Jt;){en=Ut[Sr];var Ci=F[en],Fi=B[en];if(we)var _f=Et?we(Fi,Ci,en,B,F,vt):we(Ci,Fi,en,F,B,vt);if(!(_f===e?Ci===Fi||We(Ci,Fi,ae,we,vt):_f)){pi=!1;break}Hn||(Hn=en=="constructor")}if(pi&&!Hn){var ru=F.constructor,Tf=B.constructor;ru!=Tf&&"constructor"in F&&"constructor"in B&&!(typeof ru=="function"&&ru instanceof ru&&typeof Tf=="function"&&Tf instanceof Tf)&&(pi=!1)}return vt.delete(F),vt.delete(B),pi}function Iv(F){return x6(aO(F,e,dO),F+"")}function c6(F){return ya(F,Gs,p6)}function h6(F){return ya(F,Ru,eO)}var v6=nr?function(F){return nr.get(F)}:R6;function z3(F){for(var B=F.name+"",ae=Qt[B],we=Di.call(Qt,B)?ae.length:0;we--;){var We=ae[we],vt=We.func;if(vt==null||vt==F)return We.name}return B}function i1(F){var B=Di.call(Ze,"placeholder")?Ze:F;return B.placeholder}function On(){var F=Ze.iteratee||L6;return F=F===L6?he:F,arguments.length?F(arguments[0],arguments[1]):F}function N3(F,B){var ae=F.__data__;return QRe(B)?ae[typeof B=="string"?"string":"hash"]:ae.map}function d6(F){for(var B=Gs(F),ae=B.length;ae--;){var we=B[ae],We=F[we];B[ae]=[we,We,nO(We)]}return B}function Cp(F,B){var ae=Ch(F,B);return H(ae)?ae:e}function GRe(F){var B=Di.call(F,ol),ae=F[ol];try{F[ol]=e;var we=!0}catch{}var We=Hc.call(F);return we&&(B?F[ol]=ae:delete F[ol]),We}var p6=Sa?function(F){return F==null?[]:(F=yi(F),rs(Sa(F),function(B){return Yf.call(F,B)}))}:P6,eO=Sa?function(F){for(var B=[];F;)zs(B,p6(F)),F=ku(F);return B}:P6,Il=Ri;(Ft&&Il(new Ft(new ArrayBuffer(1)))!=rt||jt&&Il(new jt)!=V||$t&&Il($t.resolve())!=ge||Kt&&Il(new Kt)!=pe||sr&&Il(new sr)!=ze)&&(Il=function(F){var B=Ri(F),ae=B==fe?F.constructor:e,we=ae?Ep(ae):"";if(we)switch(we){case cr:return rt;case pr:return V;case Jr:return ge;case jr:return pe;case rn:return ze}return B});function WRe(F,B,ae){for(var we=-1,We=ae.length;++we<We;){var vt=ae[we],Et=vt.size;switch(vt.type){case"drop":F+=Et;break;case"dropRight":B-=Et;break;case"take":B=be(B,F+Et);break;case"takeRight":F=Ca(F,B-Et);break}}return{start:F,end:B}}function XRe(F){var B=F.match(Ht);return B?B[1].split(Xt):[]}function tO(F,B,ae){B=Nh(B,F);for(var we=-1,We=B.length,vt=!1;++we<We;){var Et=Uh(B[we]);if(!(vt=F!=null&&ae(F,Et)))break;F=F[Et]}return vt||++we!=We?vt:(We=F==null?0:F.length,!!We&&Y3(We)&&qv(Et,We)&&(ai(F)||Lp(F)))}function ZRe(F){var B=F.length,ae=new F.constructor(B);return B&&typeof F[0]=="string"&&Di.call(F,"index")&&(ae.index=F.index,ae.input=F.input),ae}function rO(F){return typeof F.constructor=="function"&&!yb(F)?fn(ku(F)):{}}function JRe(F,B,ae){var we=F.constructor;switch(B){case tt:return Pl(F);case O:case Z:return new we(+F);case rt:return Wd(F,ae);case ce:case Ee:case Ae:case Pe:case He:case Fe:case ke:case Ue:case Ge:return Sp(F,ae);case V:return new we;case ne:case me:return new we(F);case Ne:return Rv(F);case pe:return new we;case Ie:return Oh(F)}}function $Re(F,B){var ae=B.length;if(!ae)return F;var we=ae-1;return B[we]=(ae>1?"& ":"")+B[we],B=B.join(ae>2?", ":" "),F.replace(ft,`{
|
|
/* [wrapped with `+B+`] */
|
|
`)}function KRe(F){return ai(F)||Lp(F)||!!(hf&&F&&F[hf])}function qv(F,B){var ae=typeof F;return B=B??I,!!B&&(ae=="number"||ae!="symbol"&&sn.test(F))&&F>-1&&F%1==0&&F<B}function tu(F,B,ae){if(!fo(ae))return!1;var we=typeof B;return(we=="number"?Du(ae)&&qv(B,ae.length):we=="string"&&B in ae)?Zc(ae[B],F):!1}function g6(F,B){if(ai(F))return!1;var ae=typeof F;return ae=="number"||ae=="symbol"||ae=="boolean"||F==null||wf(F)?!0:ve.test(F)||!$e.test(F)||B!=null&&F in yi(B)}function QRe(F){var B=typeof F;return B=="string"||B=="number"||B=="symbol"||B=="boolean"?F!=="__proto__":F===null}function m6(F){var B=z3(F),ae=Ze[B];if(typeof ae!="function"||!(B in $r.prototype))return!1;if(F===ae)return!0;var we=v6(ae);return!!we&&F===we[0]}function ePe(F){return!!Cv&&Cv in F}var tPe=Rh?Fv:I6;function yb(F){var B=F&&F.constructor,ae=typeof B=="function"&&B.prototype||Ka;return F===ae}function nO(F){return F===F&&!fo(F)}function iO(F,B){return function(ae){return ae==null?!1:ae[F]===B&&(B!==e||F in yi(ae))}}function rPe(F){var B=j3(F,function(we){return ae.size===s&&ae.clear(),we}),ae=B.cache;return B}function nPe(F,B){var ae=F[1],we=B[1],We=ae|we,vt=We<(v|m|k),Et=we==k&&ae==g||we==k&&ae==x&&F[7].length<=B[8]||we==(k|x)&&B[7].length<=B[8]&&ae==g;if(!(vt||Et))return F;we&v&&(F[2]=B[2],We|=ae&v?0:b);var Ut=B[3];if(Ut){var Jt=F[3];F[3]=Jt?BN(Jt,Ut,B[4]):Ut,F[4]=Jt?No(F[3],l):B[4]}return Ut=B[5],Ut&&(Jt=F[5],F[5]=Jt?UN(Jt,Ut,B[6]):Ut,F[6]=Jt?No(F[5],l):B[6]),Ut=B[7],Ut&&(F[7]=Ut),we&k&&(F[8]=F[8]==null?B[8]:be(F[8],B[8])),F[9]==null&&(F[9]=B[9]),F[0]=B[0],F[1]=We,F}function iPe(F){var B=[];if(F!=null)for(var ae in yi(F))B.push(ae);return B}function aPe(F){return Hc.call(F)}function aO(F,B,ae){return B=Ca(B===e?F.length-1:B,0),function(){for(var we=arguments,We=-1,vt=Ca(we.length-B,0),Et=tr(vt);++We<vt;)Et[We]=we[B+We];We=-1;for(var Ut=tr(B+1);++We<B;)Ut[We]=we[We];return Ut[B]=ae(Et),Ja(F,this,Ut)}}function oO(F,B){return B.length<2?F:Nn(F,Pi(B,0,-1))}function oPe(F,B){for(var ae=F.length,we=be(B.length,ae),We=Lu(F);we--;){var vt=B[we];F[we]=qv(vt,ae)?We[vt]:e}return F}function y6(F,B){if(!(B==="constructor"&&typeof F[B]=="function")&&B!="__proto__")return F[B]}var sO=uO(Wr),xb=jd||function(F,B){return Bi.setTimeout(F,B)},x6=uO(xn);function lO(F,B,ae){var we=B+"";return x6(F,$Re(we,sPe(XRe(we),ae)))}function uO(F){var B=0,ae=0;return function(){var we=Oe(),We=y-(we-ae);if(ae=we,We>0){if(++B>=S)return arguments[0]}else B=0;return F.apply(e,arguments)}}function O3(F,B){var ae=-1,we=F.length,We=we-1;for(B=B===e?we:B;++ae<B;){var vt=ur(ae,We),Et=F[vt];F[vt]=F[ae],F[ae]=Et}return F.length=B,F}var fO=rPe(function(F){var B=[];return F.charCodeAt(0)===46&&B.push(""),F.replace(Y,function(ae,we,We,vt){B.push(We?vt.replace(er,"$1"):we||ae)}),B});function Uh(F){if(typeof F=="string"||wf(F))return F;var B=F+"";return B=="0"&&1/F==-R?"-0":B}function Ep(F){if(F!=null){try{return $l.call(F)}catch{}try{return F+""}catch{}}return""}function sPe(F,B){return Na(G,function(ae){var we="_."+ae[0];B&ae[1]&&!nl(F,we)&&F.push(we)}),F.sort()}function cO(F){if(F instanceof $r)return F.clone();var B=new Gn(F.__wrapped__,F.__chain__);return B.__actions__=Lu(F.__actions__),B.__index__=F.__index__,B.__values__=F.__values__,B}function lPe(F,B,ae){(ae?tu(F,B,ae):B===e)?B=1:B=Ca(ui(B),0);var we=F==null?0:F.length;if(!we||B<1)return[];for(var We=0,vt=0,Et=tr(Gf(we/B));We<we;)Et[vt++]=Pi(F,We,We+=B);return Et}function uPe(F){for(var B=-1,ae=F==null?0:F.length,we=0,We=[];++B<ae;){var vt=F[B];vt&&(We[we++]=vt)}return We}function fPe(){var F=arguments.length;if(!F)return[];for(var B=tr(F-1),ae=arguments[0],we=F;we--;)B[we-1]=arguments[we];return zs(ai(ae)?Lu(ae):[ae],Ur(B,1))}var cPe=lr(function(F,B){return Bo(F)?yt(F,Ur(B,1,Bo,!0)):[]}),hPe=lr(function(F,B){var ae=Xf(B);return Bo(ae)&&(ae=e),Bo(F)?yt(F,Ur(B,1,Bo,!0),On(ae,2)):[]}),vPe=lr(function(F,B){var ae=Xf(B);return Bo(ae)&&(ae=e),Bo(F)?yt(F,Ur(B,1,Bo,!0),e,ae):[]});function dPe(F,B,ae){var we=F==null?0:F.length;return we?(B=ae||B===e?1:ui(B),Pi(F,B<0?0:B,we)):[]}function pPe(F,B,ae){var we=F==null?0:F.length;return we?(B=ae||B===e?1:ui(B),B=we-B,Pi(F,0,B<0?0:B)):[]}function gPe(F,B){return F&&F.length?os(F,On(B,3),!0,!0):[]}function mPe(F,B){return F&&F.length?os(F,On(B,3),!0):[]}function yPe(F,B,ae,we){var We=F==null?0:F.length;return We?(ae&&typeof ae!="number"&&tu(F,B,ae)&&(ae=0,we=We),dr(F,B,ae,we)):[]}function hO(F,B,ae){var we=F==null?0:F.length;if(!we)return-1;var We=ae==null?0:ui(ae);return We<0&&(We=Ca(we+We,0)),lf(F,On(B,3),We)}function vO(F,B,ae){var we=F==null?0:F.length;if(!we)return-1;var We=we-1;return ae!==e&&(We=ui(ae),We=ae<0?Ca(we+We,0):be(We,we-1)),lf(F,On(B,3),We,!0)}function dO(F){var B=F==null?0:F.length;return B?Ur(F,1):[]}function xPe(F){var B=F==null?0:F.length;return B?Ur(F,R):[]}function bPe(F,B){var ae=F==null?0:F.length;return ae?(B=B===e?1:ui(B),Ur(F,B)):[]}function wPe(F){for(var B=-1,ae=F==null?0:F.length,we={};++B<ae;){var We=F[B];we[We[0]]=We[1]}return we}function pO(F){return F&&F.length?F[0]:e}function _Pe(F,B,ae){var we=F==null?0:F.length;if(!we)return-1;var We=ae==null?0:ui(ae);return We<0&&(We=Ca(we+We,0)),Jl(F,B,We)}function TPe(F){var B=F==null?0:F.length;return B?Pi(F,0,-1):[]}var APe=lr(function(F){var B=Ui(F,Ys);return B.length&&B[0]===F[0]?Mo(B):[]}),MPe=lr(function(F){var B=Xf(F),ae=Ui(F,Ys);return B===Xf(ae)?B=e:ae.pop(),ae.length&&ae[0]===F[0]?Mo(ae,On(B,2)):[]}),kPe=lr(function(F){var B=Xf(F),ae=Ui(F,Ys);return B=typeof B=="function"?B:e,B&&ae.pop(),ae.length&&ae[0]===F[0]?Mo(ae,e,B):[]});function SPe(F,B){return F==null?"":qh.call(F,B)}function Xf(F){var B=F==null?0:F.length;return B?F[B-1]:e}function CPe(F,B,ae){var we=F==null?0:F.length;if(!we)return-1;var We=we;return ae!==e&&(We=ui(ae),We=We<0?Ca(we+We,0):be(We,we-1)),B===B?Uc(F,B,We):lf(F,Va,We,!0)}function EPe(F,B){return F&&F.length?Nt(F,ui(B)):e}var LPe=lr(gO);function gO(F,B){return F&&F.length&&B&&B.length?Bt(F,B):F}function DPe(F,B,ae){return F&&F.length&&B&&B.length?Bt(F,B,On(ae,2)):F}function RPe(F,B,ae){return F&&F.length&&B&&B.length?Bt(F,B,e,ae):F}var PPe=Iv(function(F,B){var ae=F==null?0:F.length,we=_e(F,B);return Rt(F,Ui(B,function(We){return qv(We,ae)?+We:We}).sort(gb)),we});function IPe(F,B){var ae=[];if(!(F&&F.length))return ae;var we=-1,We=[],vt=F.length;for(B=On(B,3);++we<vt;){var Et=F[we];B(Et,we,F)&&(ae.push(Et),We.push(we))}return Rt(F,We),ae}function b6(F){return F==null?F:xt.call(F)}function qPe(F,B,ae){var we=F==null?0:F.length;return we?(ae&&typeof ae!="number"&&tu(F,B,ae)?(B=0,ae=we):(B=B==null?0:ui(B),ae=ae===e?we:ui(ae)),Pi(F,B,ae)):[]}function FPe(F,B){return Ar(F,B)}function zPe(F,B,ae){return Mn(F,B,On(ae,2))}function NPe(F,B){var ae=F==null?0:F.length;if(ae){var we=Ar(F,B);if(we<ae&&Zc(F[we],B))return we}return-1}function OPe(F,B){return Ar(F,B,!0)}function BPe(F,B,ae){return Mn(F,B,On(ae,2),!0)}function UPe(F,B){var ae=F==null?0:F.length;if(ae){var we=Ar(F,B,!0)-1;if(Zc(F[we],B))return we}return-1}function HPe(F){return F&&F.length?Pn(F):[]}function jPe(F,B){return F&&F.length?Pn(F,On(B,2)):[]}function VPe(F){var B=F==null?0:F.length;return B?Pi(F,1,B):[]}function YPe(F,B,ae){return F&&F.length?(B=ae||B===e?1:ui(B),Pi(F,0,B<0?0:B)):[]}function GPe(F,B,ae){var we=F==null?0:F.length;return we?(B=ae||B===e?1:ui(B),B=we-B,Pi(F,B<0?0:B,we)):[]}function WPe(F,B){return F&&F.length?os(F,On(B,3),!1,!0):[]}function XPe(F,B){return F&&F.length?os(F,On(B,3)):[]}var ZPe=lr(function(F){return la(Ur(F,1,Bo,!0))}),JPe=lr(function(F){var B=Xf(F);return Bo(B)&&(B=e),la(Ur(F,1,Bo,!0),On(B,2))}),$Pe=lr(function(F){var B=Xf(F);return B=typeof B=="function"?B:e,la(Ur(F,1,Bo,!0),e,B)});function KPe(F){return F&&F.length?la(F):[]}function QPe(F,B){return F&&F.length?la(F,On(B,2)):[]}function eIe(F,B){return B=typeof B=="function"?B:e,F&&F.length?la(F,e,B):[]}function w6(F){if(!(F&&F.length))return[];var B=0;return F=rs(F,function(ae){if(Bo(ae))return B=Ca(ae.length,B),!0}),kh(B,function(ae){return Ui(F,il(ae))})}function mO(F,B){if(!(F&&F.length))return[];var ae=w6(F);return B==null?ae:Ui(ae,function(we){return Ja(B,e,we)})}var tIe=lr(function(F,B){return Bo(F)?yt(F,B):[]}),rIe=lr(function(F){return Vs(rs(F,Bo))}),nIe=lr(function(F){var B=Xf(F);return Bo(B)&&(B=e),Vs(rs(F,Bo),On(B,2))}),iIe=lr(function(F){var B=Xf(F);return B=typeof B=="function"?B:e,Vs(rs(F,Bo),e,B)}),aIe=lr(w6);function oIe(F,B){return ss(F||[],B||[],is)}function sIe(F,B){return ss(F||[],B||[],yn)}var lIe=lr(function(F){var B=F.length,ae=B>1?F[B-1]:e;return ae=typeof ae=="function"?(F.pop(),ae):e,mO(F,ae)});function yO(F){var B=Ze(F);return B.__chain__=!0,B}function uIe(F,B){return B(F),F}function B3(F,B){return B(F)}var fIe=Iv(function(F){var B=F.length,ae=B?F[0]:0,we=this.__wrapped__,We=function(vt){return _e(vt,F)};return B>1||this.__actions__.length||!(we instanceof $r)||!qv(ae)?this.thru(We):(we=we.slice(ae,+ae+(B?1:0)),we.__actions__.push({func:B3,args:[We],thisArg:e}),new Gn(we,this.__chain__).thru(function(vt){return B&&!vt.length&&vt.push(e),vt}))});function cIe(){return yO(this)}function hIe(){return new Gn(this.value(),this.__chain__)}function vIe(){this.__values__===e&&(this.__values__=RO(this.value()));var F=this.__index__>=this.__values__.length,B=F?e:this.__values__[this.__index__++];return{done:F,value:B}}function dIe(){return this}function pIe(F){for(var B,ae=this;ae instanceof Kn;){var we=cO(ae);we.__index__=0,we.__values__=e,B?We.__wrapped__=we:B=we;var We=we;ae=ae.__wrapped__}return We.__wrapped__=F,B}function gIe(){var F=this.__wrapped__;if(F instanceof $r){var B=F;return this.__actions__.length&&(B=new $r(this)),B=B.reverse(),B.__actions__.push({func:B3,args:[b6],thisArg:e}),new Gn(B,this.__chain__)}return this.thru(b6)}function mIe(){return Ms(this.__wrapped__,this.__actions__)}var yIe=R3(function(F,B,ae){Di.call(F,ae)?++F[ae]:Me(F,ae,1)});function xIe(F,B,ae){var we=ai(F)?bu:Zt;return ae&&tu(F,B,ae)&&(B=e),we(F,On(B,3))}function bIe(F,B){var ae=ai(F)?rs:Ir;return ae(F,On(B,3))}var wIe=YN(hO),_Ie=YN(vO);function TIe(F,B){return Ur(U3(F,B),1)}function AIe(F,B){return Ur(U3(F,B),R)}function MIe(F,B,ae){return ae=ae===e?1:ui(ae),Ur(U3(F,B),ae)}function xO(F,B){var ae=ai(F)?Na:Ct;return ae(F,On(B,3))}function bO(F,B){var ae=ai(F)?nf:qt;return ae(F,On(B,3))}var kIe=R3(function(F,B,ae){Di.call(F,ae)?F[ae].push(B):Me(F,ae,[B])});function SIe(F,B,ae,we){F=Du(F)?F:o1(F),ae=ae&&!we?ui(ae):0;var We=F.length;return ae<0&&(ae=Ca(We+ae,0)),G3(F)?ae<=We&&F.indexOf(B,ae)>-1:!!We&&Jl(F,B,ae)>-1}var CIe=lr(function(F,B,ae){var we=-1,We=typeof B=="function",vt=Du(F)?tr(F.length):[];return Ct(F,function(Et){vt[++we]=We?Ja(B,Et,ae):ul(Et,B,ae)}),vt}),EIe=R3(function(F,B,ae){Me(F,ae,B)});function U3(F,B){var ae=ai(F)?Ui:Xe;return ae(F,On(B,3))}function LIe(F,B,ae,we){return F==null?[]:(ai(B)||(B=B==null?[]:[B]),ae=we?e:ae,ai(ae)||(ae=ae==null?[]:[ae]),mt(F,B,ae))}var DIe=R3(function(F,B,ae){F[ae?0:1].push(B)},function(){return[[],[]]});function RIe(F,B,ae){var we=ai(F)?of:_u,We=arguments.length<3;return we(F,On(B,4),ae,We,Ct)}function PIe(F,B,ae){var we=ai(F)?sf:_u,We=arguments.length<3;return we(F,On(B,4),ae,We,qt)}function IIe(F,B){var ae=ai(F)?rs:Ir;return ae(F,V3(On(B,3)))}function qIe(F){var B=ai(F)?Mp:Vr;return B(F)}function FIe(F,B,ae){(ae?tu(F,B,ae):B===e)?B=1:B=ui(B);var we=ai(F)?kp:Yr;return we(F,B)}function zIe(F){var B=ai(F)?pb:xi;return B(F)}function NIe(F){if(F==null)return 0;if(Du(F))return G3(F)?Tu(F):F.length;var B=Il(F);return B==V||B==pe?F.size:Se(F).length}function OIe(F,B,ae){var we=ai(F)?wu:Ii;return ae&&tu(F,B,ae)&&(B=e),we(F,On(B,3))}var BIe=lr(function(F,B){if(F==null)return[];var ae=B.length;return ae>1&&tu(F,B[0],B[1])?B=[]:ae>2&&tu(B[0],B[1],B[2])&&(B=[B[0]]),mt(F,Ur(B,1),[])}),H3=Hd||function(){return Bi.Date.now()};function UIe(F,B){if(typeof B!="function")throw new Os(i);return F=ui(F),function(){if(--F<1)return B.apply(this,arguments)}}function wO(F,B,ae){return B=ae?e:B,B=F&&B==null?F.length:B,Pv(F,k,e,e,e,e,B)}function _O(F,B){var ae;if(typeof B!="function")throw new Os(i);return F=ui(F),function(){return--F>0&&(ae=B.apply(this,arguments)),F<=1&&(B=e),ae}}var _6=lr(function(F,B,ae){var we=v;if(ae.length){var We=No(ae,i1(_6));we|=T}return Pv(F,we,B,ae,We)}),TO=lr(function(F,B,ae){var we=v|m;if(ae.length){var We=No(ae,i1(TO));we|=T}return Pv(B,we,F,ae,We)});function AO(F,B,ae){B=ae?e:B;var we=Pv(F,g,e,e,e,e,e,B);return we.placeholder=AO.placeholder,we}function MO(F,B,ae){B=ae?e:B;var we=Pv(F,_,e,e,e,e,e,B);return we.placeholder=MO.placeholder,we}function kO(F,B,ae){var we,We,vt,Et,Ut,Jt,gr=0,xr=!1,Sr=!1,en=!0;if(typeof F!="function")throw new Os(i);B=Zf(B)||0,fo(ae)&&(xr=!!ae.leading,Sr="maxWait"in ae,vt=Sr?Ca(Zf(ae.maxWait)||0,B):vt,en="trailing"in ae?!!ae.trailing:en);function bn(Uo){var Jc=we,Nv=We;return we=We=e,gr=Uo,Et=F.apply(Nv,Jc),Et}function Un(Uo){return gr=Uo,Ut=xb(Ci,B),xr?bn(Uo):Et}function pi(Uo){var Jc=Uo-Jt,Nv=Uo-gr,YO=B-Jc;return Sr?be(YO,vt-Nv):YO}function Hn(Uo){var Jc=Uo-Jt,Nv=Uo-gr;return Jt===e||Jc>=B||Jc<0||Sr&&Nv>=vt}function Ci(){var Uo=H3();if(Hn(Uo))return Fi(Uo);Ut=xb(Ci,pi(Uo))}function Fi(Uo){return Ut=e,en&&we?bn(Uo):(we=We=e,Et)}function _f(){Ut!==e&&eu(Ut),gr=0,we=Jt=We=Ut=e}function ru(){return Ut===e?Et:Fi(H3())}function Tf(){var Uo=H3(),Jc=Hn(Uo);if(we=arguments,We=this,Jt=Uo,Jc){if(Ut===e)return Un(Jt);if(Sr)return eu(Ut),Ut=xb(Ci,B),bn(Jt)}return Ut===e&&(Ut=xb(Ci,B)),Et}return Tf.cancel=_f,Tf.flush=ru,Tf}var HIe=lr(function(F,B){return ut(F,1,B)}),jIe=lr(function(F,B,ae){return ut(F,Zf(B)||0,ae)});function VIe(F){return Pv(F,M)}function j3(F,B){if(typeof F!="function"||B!=null&&typeof B!="function")throw new Os(i);var ae=function(){var we=arguments,We=B?B.apply(this,we):we[0],vt=ae.cache;if(vt.has(We))return vt.get(We);var Et=F.apply(this,we);return ae.cache=vt.set(We,Et)||vt,Et};return ae.cache=new(j3.Cache||ns),ae}j3.Cache=ns;function V3(F){if(typeof F!="function")throw new Os(i);return function(){var B=arguments;switch(B.length){case 0:return!F.call(this);case 1:return!F.call(this,B[0]);case 2:return!F.call(this,B[0],B[1]);case 3:return!F.call(this,B[0],B[1],B[2])}return!F.apply(this,B)}}function YIe(F){return _O(2,F)}var GIe=xf(function(F,B){B=B.length==1&&ai(B[0])?Ui(B[0],zo(On())):Ui(Ur(B,1),zo(On()));var ae=B.length;return lr(function(we){for(var We=-1,vt=be(we.length,ae);++We<vt;)we[We]=B[We].call(this,we[We]);return Ja(F,this,we)})}),T6=lr(function(F,B){var ae=No(B,i1(T6));return Pv(F,T,e,B,ae)}),SO=lr(function(F,B){var ae=No(B,i1(SO));return Pv(F,w,e,B,ae)}),WIe=Iv(function(F,B){return Pv(F,x,e,e,e,B)});function XIe(F,B){if(typeof F!="function")throw new Os(i);return B=B===e?B:ui(B),lr(F,B)}function ZIe(F,B){if(typeof F!="function")throw new Os(i);return B=B==null?0:Ca(ui(B),0),lr(function(ae){var we=ae[B],We=Ea(ae,0,B);return we&&zs(We,we),Ja(F,this,We)})}function JIe(F,B,ae){var we=!0,We=!0;if(typeof F!="function")throw new Os(i);return fo(ae)&&(we="leading"in ae?!!ae.leading:we,We="trailing"in ae?!!ae.trailing:We),kO(F,B,{leading:we,maxWait:B,trailing:We})}function $Ie(F){return wO(F,1)}function KIe(F,B){return T6(Xc(B),F)}function QIe(){if(!arguments.length)return[];var F=arguments[0];return ai(F)?F:[F]}function eqe(F){return Qe(F,c)}function tqe(F,B){return B=typeof B=="function"?B:e,Qe(F,c,B)}function rqe(F){return Qe(F,u|c)}function nqe(F,B){return B=typeof B=="function"?B:e,Qe(F,u|c,B)}function iqe(F,B){return B==null||et(F,B,Gs(B))}function Zc(F,B){return F===B||F!==F&&B!==B}var aqe=F3(Ts),oqe=F3(function(F,B){return F>=B}),Lp=Eu(function(){return arguments}())?Eu:function(F){return So(F)&&Di.call(F,"callee")&&!Yf.call(F,"callee")},ai=tr.isArray,sqe=bs?zo(bs):yf;function Du(F){return F!=null&&Y3(F.length)&&!Fv(F)}function Bo(F){return So(F)&&Du(F)}function lqe(F){return F===!0||F===!1||So(F)&&Ri(F)==O}var Xd=sl||I6,uqe=ws?zo(ws):Wf;function fqe(F){return So(F)&&F.nodeType===1&&!bb(F)}function cqe(F){if(F==null)return!0;if(Du(F)&&(ai(F)||typeof F=="string"||typeof F.splice=="function"||Xd(F)||a1(F)||Lp(F)))return!F.length;var B=Il(F);if(B==V||B==pe)return!F.size;if(yb(F))return!Se(F).length;for(var ae in F)if(Di.call(F,ae))return!1;return!0}function hqe(F,B){return js(F,B)}function vqe(F,B,ae){ae=typeof ae=="function"?ae:e;var we=ae?ae(F,B):e;return we===e?js(F,B,e,ae):!!we}function A6(F){if(!So(F))return!1;var B=Ri(F);return B==$||B==K||typeof F.message=="string"&&typeof F.name=="string"&&!bb(F)}function dqe(F){return typeof F=="number"&&df(F)}function Fv(F){if(!fo(F))return!1;var B=Ri(F);return B==oe||B==te||B==j||B==Ce}function CO(F){return typeof F=="number"&&F==ui(F)}function Y3(F){return typeof F=="number"&&F>-1&&F%1==0&&F<=I}function fo(F){var B=typeof F;return F!=null&&(B=="object"||B=="function")}function So(F){return F!=null&&typeof F=="object"}var EO=rf?zo(rf):Dv;function pqe(F,B){return F===B||z(F,B,d6(B))}function gqe(F,B,ae){return ae=typeof ae=="function"?ae:e,z(F,B,d6(B),ae)}function mqe(F){return LO(F)&&F!=+F}function yqe(F){if(tPe(F))throw new Sn(n);return H(F)}function xqe(F){return F===null}function bqe(F){return F==null}function LO(F){return typeof F=="number"||So(F)&&Ri(F)==ne}function bb(F){if(!So(F)||Ri(F)!=fe)return!1;var B=ku(F);if(B===null)return!0;var ae=Di.call(B,"constructor")&&B.constructor;return typeof ae=="function"&&ae instanceof ae&&$l.call(ae)==jc}var M6=ts?zo(ts):X;function wqe(F){return CO(F)&&F>=-I&&F<=I}var DO=Id?zo(Id):se;function G3(F){return typeof F=="string"||!ai(F)&&So(F)&&Ri(F)==me}function wf(F){return typeof F=="symbol"||So(F)&&Ri(F)==Ie}var a1=kl?zo(kl):ue;function _qe(F){return F===e}function Tqe(F){return So(F)&&Il(F)==ze}function Aqe(F){return So(F)&&Ri(F)==Be}var Mqe=F3(qe),kqe=F3(function(F,B){return F<=B});function RO(F){if(!F)return[];if(Du(F))return G3(F)?$a(F):Lu(F);if(Cu&&F[Cu])return zd(F[Cu]());var B=Il(F),ae=B==V?Oc:B==pe?cf:o1;return ae(F)}function zv(F){if(!F)return F===0?F:0;if(F=Zf(F),F===R||F===-R){var B=F<0?-1:1;return B*P}return F===F?F:0}function ui(F){var B=zv(F),ae=B%1;return B===B?ae?B-ae:B:0}function PO(F){return F?Le(ui(F),0,q):0}function Zf(F){if(typeof F=="number")return F;if(wf(F))return D;if(fo(F)){var B=typeof F.valueOf=="function"?F.valueOf():F;F=fo(B)?B+"":B}if(typeof F!="string")return F===0?F:+F;F=qd(F);var ae=tn.test(F);return ae||Gr.test(F)?Qo(F.slice(2),ae?2:8):or.test(F)?D:+F}function IO(F){return Bh(F,Ru(F))}function Sqe(F){return F?Le(ui(F),-I,I):F===0?F:0}function ua(F){return F==null?"":bi(F)}var Cqe=r1(function(F,B){if(yb(B)||Du(B)){Bh(B,Gs(B),F);return}for(var ae in B)Di.call(B,ae)&&is(F,ae,B[ae])}),qO=r1(function(F,B){Bh(B,Ru(B),F)}),W3=r1(function(F,B,ae,we){Bh(B,Ru(B),F,we)}),Eqe=r1(function(F,B,ae,we){Bh(B,Gs(B),F,we)}),Lqe=Iv(_e);function Dqe(F,B){var ae=fn(F);return B==null?ae:de(ae,B)}var Rqe=lr(function(F,B){F=yi(F);var ae=-1,we=B.length,We=we>2?B[2]:e;for(We&&tu(B[0],B[1],We)&&(we=1);++ae<we;)for(var vt=B[ae],Et=Ru(vt),Ut=-1,Jt=Et.length;++Ut<Jt;){var gr=Et[Ut],xr=F[gr];(xr===e||Zc(xr,Ka[gr])&&!Di.call(F,gr))&&(F[gr]=vt[gr])}return F}),Pqe=lr(function(F){return F.push(e,KN),Ja(FO,e,F)});function Iqe(F,B){return Ns(F,On(B,3),on)}function qqe(F,B){return Ns(F,On(B,3),Mi)}function Fqe(F,B){return F==null?F:an(F,On(B,3),Ru)}function zqe(F,B){return F==null?F:un(F,On(B,3),Ru)}function Nqe(F,B){return F&&on(F,On(B,3))}function Oqe(F,B){return F&&Mi(F,On(B,3))}function Bqe(F){return F==null?[]:Oi(F,Gs(F))}function Uqe(F){return F==null?[]:Oi(F,Ru(F))}function k6(F,B,ae){var we=F==null?e:Nn(F,B);return we===e?ae:we}function Hqe(F,B){return F!=null&&tO(F,B,mf)}function S6(F,B){return F!=null&&tO(F,B,Gc)}var jqe=WN(function(F,B,ae){B!=null&&typeof B.toString!="function"&&(B=Hc.call(B)),F[B]=ae},E6(Pu)),Vqe=WN(function(F,B,ae){B!=null&&typeof B.toString!="function"&&(B=Hc.call(B)),Di.call(F,B)?F[B].push(ae):F[B]=[ae]},On),Yqe=lr(ul);function Gs(F){return Du(F)?zh(F):Se(F)}function Ru(F){return Du(F)?zh(F,!0):xe(F)}function Gqe(F,B){var ae={};return B=On(B,3),on(F,function(we,We,vt){Me(ae,B(we,We,vt),we)}),ae}function Wqe(F,B){var ae={};return B=On(B,3),on(F,function(we,We,vt){Me(ae,We,B(we,We,vt))}),ae}var Xqe=r1(function(F,B,ae){pt(F,B,ae)}),FO=r1(function(F,B,ae,we){pt(F,B,ae,we)}),Zqe=Iv(function(F,B){var ae={};if(F==null)return ae;var we=!1;B=Ui(B,function(vt){return vt=Nh(vt,F),we||(we=vt.length>1),vt}),Bh(F,h6(F),ae),we&&(ae=Qe(ae,u|f|c,jRe));for(var We=B.length;We--;)ko(ae,B[We]);return ae});function Jqe(F,B){return zO(F,V3(On(B)))}var $qe=Iv(function(F,B){return F==null?{}:kt(F,B)});function zO(F,B){if(F==null)return{};var ae=Ui(h6(F),function(we){return[we]});return B=On(B),Dt(F,ae,function(we,We){return B(we,We[0])})}function Kqe(F,B,ae){B=Nh(B,F);var we=-1,We=B.length;for(We||(We=1,F=e);++we<We;){var vt=F==null?e:F[Uh(B[we])];vt===e&&(we=We,vt=ae),F=Fv(vt)?vt.call(F):vt}return F}function Qqe(F,B,ae){return F==null?F:yn(F,B,ae)}function e7e(F,B,ae,we){return we=typeof we=="function"?we:e,F==null?F:yn(F,B,ae,we)}var NO=JN(Gs),OO=JN(Ru);function t7e(F,B,ae){var we=ai(F),We=we||Xd(F)||a1(F);if(B=On(B,4),ae==null){var vt=F&&F.constructor;We?ae=we?new vt:[]:fo(F)?ae=Fv(vt)?fn(ku(F)):{}:ae={}}return(We?Na:on)(F,function(Et,Ut,Jt){return B(ae,Et,Ut,Jt)}),ae}function r7e(F,B){return F==null?!0:ko(F,B)}function n7e(F,B,ae){return F==null?F:As(F,B,Xc(ae))}function i7e(F,B,ae,we){return we=typeof we=="function"?we:e,F==null?F:As(F,B,Xc(ae),we)}function o1(F){return F==null?[]:Fc(F,Gs(F))}function a7e(F){return F==null?[]:Fc(F,Ru(F))}function o7e(F,B,ae){return ae===e&&(ae=B,B=e),ae!==e&&(ae=Zf(ae),ae=ae===ae?ae:0),B!==e&&(B=Zf(B),B=B===B?B:0),Le(Zf(F),B,ae)}function s7e(F,B,ae){return B=zv(B),ae===e?(ae=B,B=0):ae=zv(ae),F=Zf(F),as(F,B,ae)}function l7e(F,B,ae){if(ae&&typeof ae!="boolean"&&tu(F,B,ae)&&(B=ae=e),ae===e&&(typeof B=="boolean"?(ae=B,B=e):typeof F=="boolean"&&(ae=F,F=e)),F===e&&B===e?(F=0,B=1):(F=zv(F),B===e?(B=F,F=0):B=zv(B)),F>B){var we=F;F=B,B=we}if(ae||F%1||B%1){var We=Ke();return be(F+We*(B-F+qs("1e-"+((We+"").length-1))),B)}return ur(F,B)}var u7e=n1(function(F,B,ae){return B=B.toLowerCase(),F+(ae?BO(B):B)});function BO(F){return C6(ua(F).toLowerCase())}function UO(F){return F=ua(F),F&&F.replace(Hr,zc).replace(Ma,"")}function f7e(F,B,ae){F=ua(F),B=bi(B);var we=F.length;ae=ae===e?we:Le(ui(ae),0,we);var We=ae;return ae-=B.length,ae>=0&&F.slice(ae,We)==B}function c7e(F){return F=ua(F),F&&bt.test(F)?F.replace(Tt,Nc):F}function h7e(F){return F=ua(F),F&&Te.test(F)?F.replace(ie,"\\$&"):F}var v7e=n1(function(F,B,ae){return F+(ae?"-":"")+B.toLowerCase()}),d7e=n1(function(F,B,ae){return F+(ae?" ":"")+B.toLowerCase()}),p7e=VN("toLowerCase");function g7e(F,B,ae){F=ua(F),B=ui(B);var we=B?Tu(F):0;if(!B||we>=B)return F;var We=(B-we)/2;return q3(vf(We),ae)+F+q3(Gf(We),ae)}function m7e(F,B,ae){F=ua(F),B=ui(B);var we=B?Tu(F):0;return B&&we<B?F+q3(B-we,ae):F}function y7e(F,B,ae){F=ua(F),B=ui(B);var we=B?Tu(F):0;return B&&we<B?q3(B-we,ae)+F:F}function x7e(F,B,ae){return ae||B==null?B=0:B&&(B=+B),ot(ua(F).replace(Ve,""),B||0)}function b7e(F,B,ae){return(ae?tu(F,B,ae):B===e)?B=1:B=ui(B),Pr(ua(F),B)}function w7e(){var F=arguments,B=ua(F[0]);return F.length<3?B:B.replace(F[1],F[2])}var _7e=n1(function(F,B,ae){return F+(ae?"_":"")+B.toLowerCase()});function T7e(F,B,ae){return ae&&typeof ae!="number"&&tu(F,B,ae)&&(B=ae=e),ae=ae===e?q:ae>>>0,ae?(F=ua(F),F&&(typeof B=="string"||B!=null&&!M6(B))&&(B=bi(B),!B&&Cl(F))?Ea($a(F),0,ae):F.split(B,ae)):[]}var A7e=n1(function(F,B,ae){return F+(ae?" ":"")+C6(B)});function M7e(F,B,ae){return F=ua(F),ae=ae==null?0:Le(ui(ae),0,F.length),B=bi(B),F.slice(ae,ae+B.length)==B}function k7e(F,B,ae){var we=Ze.templateSettings;ae&&tu(F,B,ae)&&(B=e),F=ua(F),B=W3({},B,we,$N);var We=W3({},B.imports,we.imports,$N),vt=Gs(We),Et=Fc(We,vt),Ut,Jt,gr=0,xr=B.interpolate||Br,Sr="__p += '",en=Dh((B.escape||Br).source+"|"+xr.source+"|"+(xr===je?_r:Br).source+"|"+(B.evaluate||Br).source+"|$","g"),bn="//# sourceURL="+(Di.call(B,"sourceURL")?(B.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++za+"]")+`
|
|
`;F.replace(en,function(Hn,Ci,Fi,_f,ru,Tf){return Fi||(Fi=_f),Sr+=F.slice(gr,Tf).replace(qn,Sl),Ci&&(Ut=!0,Sr+=`' +
|
|
__e(`+Ci+`) +
|
|
'`),ru&&(Jt=!0,Sr+=`';
|
|
`+ru+`;
|
|
__p += '`),Fi&&(Sr+=`' +
|
|
((__t = (`+Fi+`)) == null ? '' : __t) +
|
|
'`),gr=Tf+Hn.length,Hn}),Sr+=`';
|
|
`;var Un=Di.call(B,"variable")&&B.variable;if(!Un)Sr=`with (obj) {
|
|
`+Sr+`
|
|
}
|
|
`;else if(Vt.test(Un))throw new Sn(a);Sr=(Jt?Sr.replace(lt,""):Sr).replace(it,"$1").replace(wt,"$1;"),Sr="function("+(Un||"obj")+`) {
|
|
`+(Un?"":`obj || (obj = {});
|
|
`)+"var __t, __p = ''"+(Ut?", __e = _.escape":"")+(Jt?`, __j = Array.prototype.join;
|
|
function print() { __p += __j.call(arguments, '') }
|
|
`:`;
|
|
`)+Sr+`return __p
|
|
}`;var pi=jO(function(){return mi(vt,bn+"return "+Sr).apply(e,Et)});if(pi.source=Sr,A6(pi))throw pi;return pi}function S7e(F){return ua(F).toLowerCase()}function C7e(F){return ua(F).toUpperCase()}function E7e(F,B,ae){if(F=ua(F),F&&(ae||B===e))return qd(F);if(!F||!(B=bi(B)))return F;var we=$a(F),We=$a(B),vt=Sh(we,We),Et=Tv(we,We)+1;return Ea(we,vt,Et).join("")}function L7e(F,B,ae){if(F=ua(F),F&&(ae||B===e))return F.slice(0,Av(F)+1);if(!F||!(B=bi(B)))return F;var we=$a(F),We=Tv(we,$a(B))+1;return Ea(we,0,We).join("")}function D7e(F,B,ae){if(F=ua(F),F&&(ae||B===e))return F.replace(Ve,"");if(!F||!(B=bi(B)))return F;var we=$a(F),We=Sh(we,$a(B));return Ea(we,We).join("")}function R7e(F,B){var ae=A,we=p;if(fo(B)){var We="separator"in B?B.separator:We;ae="length"in B?ui(B.length):ae,we="omission"in B?bi(B.omission):we}F=ua(F);var vt=F.length;if(Cl(F)){var Et=$a(F);vt=Et.length}if(ae>=vt)return F;var Ut=ae-Tu(we);if(Ut<1)return we;var Jt=Et?Ea(Et,0,Ut).join(""):F.slice(0,Ut);if(We===e)return Jt+we;if(Et&&(Ut+=Jt.length-Ut),M6(We)){if(F.slice(Ut).search(We)){var gr,xr=Jt;for(We.global||(We=Dh(We.source,ua(br.exec(We))+"g")),We.lastIndex=0;gr=We.exec(xr);)var Sr=gr.index;Jt=Jt.slice(0,Sr===e?Ut:Sr)}}else if(F.indexOf(bi(We),Ut)!=Ut){var en=Jt.lastIndexOf(We);en>-1&&(Jt=Jt.slice(0,en))}return Jt+we}function P7e(F){return F=ua(F),F&&nt.test(F)?F.replace(_t,Mv):F}var I7e=n1(function(F,B,ae){return F+(ae?" ":"")+B.toUpperCase()}),C6=VN("toUpperCase");function HO(F,B,ae){return F=ua(F),B=ae?e:B,B===e?Eh(F)?Lh(F):Mh(F):F.match(B)||[]}var jO=lr(function(F,B){try{return Ja(F,e,B)}catch(ae){return A6(ae)?ae:new Sn(ae)}}),q7e=Iv(function(F,B){return Na(B,function(ae){ae=Uh(ae),Me(F,ae,_6(F[ae],F))}),F});function F7e(F){var B=F==null?0:F.length,ae=On();return F=B?Ui(F,function(we){if(typeof we[1]!="function")throw new Os(i);return[ae(we[0]),we[1]]}):[],lr(function(we){for(var We=-1;++We<B;){var vt=F[We];if(Ja(vt[0],this,we))return Ja(vt[1],this,we)}})}function z7e(F){return st(Qe(F,u))}function E6(F){return function(){return F}}function N7e(F,B){return F==null||F!==F?B:F}var O7e=GN(),B7e=GN(!0);function Pu(F){return F}function L6(F){return he(typeof F=="function"?F:Qe(F,u))}function U7e(F){return Je(Qe(F,u))}function H7e(F,B){return dt(F,Qe(B,u))}var j7e=lr(function(F,B){return function(ae){return ul(ae,F,B)}}),V7e=lr(function(F,B){return function(ae){return ul(F,ae,B)}});function D6(F,B,ae){var we=Gs(B),We=Oi(B,we);ae==null&&!(fo(B)&&(We.length||!we.length))&&(ae=B,B=F,F=this,We=Oi(B,Gs(B)));var vt=!(fo(ae)&&"chain"in ae)||!!ae.chain,Et=Fv(F);return Na(We,function(Ut){var Jt=B[Ut];F[Ut]=Jt,Et&&(F.prototype[Ut]=function(){var gr=this.__chain__;if(vt||gr){var xr=F(this.__wrapped__),Sr=xr.__actions__=Lu(this.__actions__);return Sr.push({func:Jt,args:arguments,thisArg:F}),xr.__chain__=gr,xr}return Jt.apply(F,zs([this.value()],arguments))})}),F}function Y7e(){return Bi._===this&&(Bi._=Bd),this}function R6(){}function G7e(F){return F=ui(F),lr(function(B){return Nt(B,F)})}var W7e=u6(Ui),X7e=u6(bu),Z7e=u6(wu);function VO(F){return g6(F)?il(Uh(F)):Ot(F)}function J7e(F){return function(B){return F==null?e:Nn(F,B)}}var $7e=XN(),K7e=XN(!0);function P6(){return[]}function I6(){return!1}function Q7e(){return{}}function e9e(){return""}function t9e(){return!0}function r9e(F,B){if(F=ui(F),F<1||F>I)return[];var ae=q,we=be(F,q);B=On(B),F-=q;for(var We=kh(we,B);++ae<F;)B(ae);return We}function n9e(F){return ai(F)?Ui(F,Uh):wf(F)?[F]:Lu(fO(ua(F)))}function i9e(F){var B=++Us;return ua(F)+B}var a9e=I3(function(F,B){return F+B},0),o9e=f6("ceil"),s9e=I3(function(F,B){return F/B},1),l9e=f6("floor");function u9e(F){return F&&F.length?rr(F,Pu,Ts):e}function f9e(F,B){return F&&F.length?rr(F,On(B,2),Ts):e}function c9e(F){return To(F,Pu)}function h9e(F,B){return To(F,On(B,2))}function v9e(F){return F&&F.length?rr(F,Pu,qe):e}function d9e(F,B){return F&&F.length?rr(F,On(B,2),qe):e}var p9e=I3(function(F,B){return F*B},1),g9e=f6("round"),m9e=I3(function(F,B){return F-B},0);function y9e(F){return F&&F.length?qc(F,Pu):0}function x9e(F,B){return F&&F.length?qc(F,On(B,2)):0}return Ze.after=UIe,Ze.ary=wO,Ze.assign=Cqe,Ze.assignIn=qO,Ze.assignInWith=W3,Ze.assignWith=Eqe,Ze.at=Lqe,Ze.before=_O,Ze.bind=_6,Ze.bindAll=q7e,Ze.bindKey=TO,Ze.castArray=QIe,Ze.chain=yO,Ze.chunk=lPe,Ze.compact=uPe,Ze.concat=fPe,Ze.cond=F7e,Ze.conforms=z7e,Ze.constant=E6,Ze.countBy=yIe,Ze.create=Dqe,Ze.curry=AO,Ze.curryRight=MO,Ze.debounce=kO,Ze.defaults=Rqe,Ze.defaultsDeep=Pqe,Ze.defer=HIe,Ze.delay=jIe,Ze.difference=cPe,Ze.differenceBy=hPe,Ze.differenceWith=vPe,Ze.drop=dPe,Ze.dropRight=pPe,Ze.dropRightWhile=gPe,Ze.dropWhile=mPe,Ze.fill=yPe,Ze.filter=bIe,Ze.flatMap=TIe,Ze.flatMapDeep=AIe,Ze.flatMapDepth=MIe,Ze.flatten=dO,Ze.flattenDeep=xPe,Ze.flattenDepth=bPe,Ze.flip=VIe,Ze.flow=O7e,Ze.flowRight=B7e,Ze.fromPairs=wPe,Ze.functions=Bqe,Ze.functionsIn=Uqe,Ze.groupBy=kIe,Ze.initial=TPe,Ze.intersection=APe,Ze.intersectionBy=MPe,Ze.intersectionWith=kPe,Ze.invert=jqe,Ze.invertBy=Vqe,Ze.invokeMap=CIe,Ze.iteratee=L6,Ze.keyBy=EIe,Ze.keys=Gs,Ze.keysIn=Ru,Ze.map=U3,Ze.mapKeys=Gqe,Ze.mapValues=Wqe,Ze.matches=U7e,Ze.matchesProperty=H7e,Ze.memoize=j3,Ze.merge=Xqe,Ze.mergeWith=FO,Ze.method=j7e,Ze.methodOf=V7e,Ze.mixin=D6,Ze.negate=V3,Ze.nthArg=G7e,Ze.omit=Zqe,Ze.omitBy=Jqe,Ze.once=YIe,Ze.orderBy=LIe,Ze.over=W7e,Ze.overArgs=GIe,Ze.overEvery=X7e,Ze.overSome=Z7e,Ze.partial=T6,Ze.partialRight=SO,Ze.partition=DIe,Ze.pick=$qe,Ze.pickBy=zO,Ze.property=VO,Ze.propertyOf=J7e,Ze.pull=LPe,Ze.pullAll=gO,Ze.pullAllBy=DPe,Ze.pullAllWith=RPe,Ze.pullAt=PPe,Ze.range=$7e,Ze.rangeRight=K7e,Ze.rearg=WIe,Ze.reject=IIe,Ze.remove=IPe,Ze.rest=XIe,Ze.reverse=b6,Ze.sampleSize=FIe,Ze.set=Qqe,Ze.setWith=e7e,Ze.shuffle=zIe,Ze.slice=qPe,Ze.sortBy=BIe,Ze.sortedUniq=HPe,Ze.sortedUniqBy=jPe,Ze.split=T7e,Ze.spread=ZIe,Ze.tail=VPe,Ze.take=YPe,Ze.takeRight=GPe,Ze.takeRightWhile=WPe,Ze.takeWhile=XPe,Ze.tap=uIe,Ze.throttle=JIe,Ze.thru=B3,Ze.toArray=RO,Ze.toPairs=NO,Ze.toPairsIn=OO,Ze.toPath=n9e,Ze.toPlainObject=IO,Ze.transform=t7e,Ze.unary=$Ie,Ze.union=ZPe,Ze.unionBy=JPe,Ze.unionWith=$Pe,Ze.uniq=KPe,Ze.uniqBy=QPe,Ze.uniqWith=eIe,Ze.unset=r7e,Ze.unzip=w6,Ze.unzipWith=mO,Ze.update=n7e,Ze.updateWith=i7e,Ze.values=o1,Ze.valuesIn=a7e,Ze.without=tIe,Ze.words=HO,Ze.wrap=KIe,Ze.xor=rIe,Ze.xorBy=nIe,Ze.xorWith=iIe,Ze.zip=aIe,Ze.zipObject=oIe,Ze.zipObjectDeep=sIe,Ze.zipWith=lIe,Ze.entries=NO,Ze.entriesIn=OO,Ze.extend=qO,Ze.extendWith=W3,D6(Ze,Ze),Ze.add=a9e,Ze.attempt=jO,Ze.camelCase=u7e,Ze.capitalize=BO,Ze.ceil=o9e,Ze.clamp=o7e,Ze.clone=eqe,Ze.cloneDeep=rqe,Ze.cloneDeepWith=nqe,Ze.cloneWith=tqe,Ze.conformsTo=iqe,Ze.deburr=UO,Ze.defaultTo=N7e,Ze.divide=s9e,Ze.endsWith=f7e,Ze.eq=Zc,Ze.escape=c7e,Ze.escapeRegExp=h7e,Ze.every=xIe,Ze.find=wIe,Ze.findIndex=hO,Ze.findKey=Iqe,Ze.findLast=_Ie,Ze.findLastIndex=vO,Ze.findLastKey=qqe,Ze.floor=l9e,Ze.forEach=xO,Ze.forEachRight=bO,Ze.forIn=Fqe,Ze.forInRight=zqe,Ze.forOwn=Nqe,Ze.forOwnRight=Oqe,Ze.get=k6,Ze.gt=aqe,Ze.gte=oqe,Ze.has=Hqe,Ze.hasIn=S6,Ze.head=pO,Ze.identity=Pu,Ze.includes=SIe,Ze.indexOf=_Pe,Ze.inRange=s7e,Ze.invoke=Yqe,Ze.isArguments=Lp,Ze.isArray=ai,Ze.isArrayBuffer=sqe,Ze.isArrayLike=Du,Ze.isArrayLikeObject=Bo,Ze.isBoolean=lqe,Ze.isBuffer=Xd,Ze.isDate=uqe,Ze.isElement=fqe,Ze.isEmpty=cqe,Ze.isEqual=hqe,Ze.isEqualWith=vqe,Ze.isError=A6,Ze.isFinite=dqe,Ze.isFunction=Fv,Ze.isInteger=CO,Ze.isLength=Y3,Ze.isMap=EO,Ze.isMatch=pqe,Ze.isMatchWith=gqe,Ze.isNaN=mqe,Ze.isNative=yqe,Ze.isNil=bqe,Ze.isNull=xqe,Ze.isNumber=LO,Ze.isObject=fo,Ze.isObjectLike=So,Ze.isPlainObject=bb,Ze.isRegExp=M6,Ze.isSafeInteger=wqe,Ze.isSet=DO,Ze.isString=G3,Ze.isSymbol=wf,Ze.isTypedArray=a1,Ze.isUndefined=_qe,Ze.isWeakMap=Tqe,Ze.isWeakSet=Aqe,Ze.join=SPe,Ze.kebabCase=v7e,Ze.last=Xf,Ze.lastIndexOf=CPe,Ze.lowerCase=d7e,Ze.lowerFirst=p7e,Ze.lt=Mqe,Ze.lte=kqe,Ze.max=u9e,Ze.maxBy=f9e,Ze.mean=c9e,Ze.meanBy=h9e,Ze.min=v9e,Ze.minBy=d9e,Ze.stubArray=P6,Ze.stubFalse=I6,Ze.stubObject=Q7e,Ze.stubString=e9e,Ze.stubTrue=t9e,Ze.multiply=p9e,Ze.nth=EPe,Ze.noConflict=Y7e,Ze.noop=R6,Ze.now=H3,Ze.pad=g7e,Ze.padEnd=m7e,Ze.padStart=y7e,Ze.parseInt=x7e,Ze.random=l7e,Ze.reduce=RIe,Ze.reduceRight=PIe,Ze.repeat=b7e,Ze.replace=w7e,Ze.result=Kqe,Ze.round=g9e,Ze.runInContext=Wt,Ze.sample=qIe,Ze.size=NIe,Ze.snakeCase=_7e,Ze.some=OIe,Ze.sortedIndex=FPe,Ze.sortedIndexBy=zPe,Ze.sortedIndexOf=NPe,Ze.sortedLastIndex=OPe,Ze.sortedLastIndexBy=BPe,Ze.sortedLastIndexOf=UPe,Ze.startCase=A7e,Ze.startsWith=M7e,Ze.subtract=m9e,Ze.sum=y9e,Ze.sumBy=x9e,Ze.template=k7e,Ze.times=r9e,Ze.toFinite=zv,Ze.toInteger=ui,Ze.toLength=PO,Ze.toLower=S7e,Ze.toNumber=Zf,Ze.toSafeInteger=Sqe,Ze.toString=ua,Ze.toUpper=C7e,Ze.trim=E7e,Ze.trimEnd=L7e,Ze.trimStart=D7e,Ze.truncate=R7e,Ze.unescape=P7e,Ze.uniqueId=i9e,Ze.upperCase=I7e,Ze.upperFirst=C6,Ze.each=xO,Ze.eachRight=bO,Ze.first=pO,D6(Ze,function(){var F={};return on(Ze,function(B,ae){Di.call(Ze.prototype,ae)||(F[ae]=B)}),F}(),{chain:!1}),Ze.VERSION=t,Na(["bind","bindKey","curry","curryRight","partial","partialRight"],function(F){Ze[F].placeholder=Ze}),Na(["drop","take"],function(F,B){$r.prototype[F]=function(ae){ae=ae===e?1:Ca(ui(ae),0);var we=this.__filtered__&&!B?new $r(this):this.clone();return we.__filtered__?we.__takeCount__=be(ae,we.__takeCount__):we.__views__.push({size:be(ae,q),type:F+(we.__dir__<0?"Right":"")}),we},$r.prototype[F+"Right"]=function(ae){return this.reverse()[F](ae).reverse()}}),Na(["filter","map","takeWhile"],function(F,B){var ae=B+1,we=ae==E||ae==L;$r.prototype[F]=function(We){var vt=this.clone();return vt.__iteratees__.push({iteratee:On(We,3),type:ae}),vt.__filtered__=vt.__filtered__||we,vt}}),Na(["head","last"],function(F,B){var ae="take"+(B?"Right":"");$r.prototype[F]=function(){return this[ae](1).value()[0]}}),Na(["initial","tail"],function(F,B){var ae="drop"+(B?"":"Right");$r.prototype[F]=function(){return this.__filtered__?new $r(this):this[ae](1)}}),$r.prototype.compact=function(){return this.filter(Pu)},$r.prototype.find=function(F){return this.filter(F).head()},$r.prototype.findLast=function(F){return this.reverse().find(F)},$r.prototype.invokeMap=lr(function(F,B){return typeof F=="function"?new $r(this):this.map(function(ae){return ul(ae,F,B)})}),$r.prototype.reject=function(F){return this.filter(V3(On(F)))},$r.prototype.slice=function(F,B){F=ui(F);var ae=this;return ae.__filtered__&&(F>0||B<0)?new $r(ae):(F<0?ae=ae.takeRight(-F):F&&(ae=ae.drop(F)),B!==e&&(B=ui(B),ae=B<0?ae.dropRight(-B):ae.take(B-F)),ae)},$r.prototype.takeRightWhile=function(F){return this.reverse().takeWhile(F).reverse()},$r.prototype.toArray=function(){return this.take(q)},on($r.prototype,function(F,B){var ae=/^(?:filter|find|map|reject)|While$/.test(B),we=/^(?:head|last)$/.test(B),We=Ze[we?"take"+(B=="last"?"Right":""):B],vt=we||/^find/.test(B);We&&(Ze.prototype[B]=function(){var Et=this.__wrapped__,Ut=we?[1]:arguments,Jt=Et instanceof $r,gr=Ut[0],xr=Jt||ai(Et),Sr=function(Ci){var Fi=We.apply(Ze,zs([Ci],Ut));return we&&en?Fi[0]:Fi};xr&&ae&&typeof gr=="function"&&gr.length!=1&&(Jt=xr=!1);var en=this.__chain__,bn=!!this.__actions__.length,Un=vt&&!en,pi=Jt&&!bn;if(!vt&&xr){Et=pi?Et:new $r(this);var Hn=F.apply(Et,Ut);return Hn.__actions__.push({func:B3,args:[Sr],thisArg:e}),new Gn(Hn,en)}return Un&&pi?F.apply(this,Ut):(Hn=this.thru(Sr),Un?we?Hn.value()[0]:Hn.value():Hn)})}),Na(["pop","push","shift","sort","splice","unshift"],function(F){var B=Bs[F],ae=/^(?:push|sort|unshift)$/.test(F)?"tap":"thru",we=/^(?:pop|shift)$/.test(F);Ze.prototype[F]=function(){var We=arguments;if(we&&!this.__chain__){var vt=this.value();return B.apply(ai(vt)?vt:[],We)}return this[ae](function(Et){return B.apply(ai(Et)?Et:[],We)})}}),on($r.prototype,function(F,B){var ae=Ze[B];if(ae){var we=ae.name+"";Di.call(Qt,we)||(Qt[we]=[]),Qt[we].push({name:B,func:ae})}}),Qt[P3(e,m).name]=[{name:"wrapper",func:e}],$r.prototype.clone=Hi,$r.prototype.reverse=Zn,$r.prototype.value=uo,Ze.prototype.at=fIe,Ze.prototype.chain=cIe,Ze.prototype.commit=hIe,Ze.prototype.next=vIe,Ze.prototype.plant=pIe,Ze.prototype.reverse=gIe,Ze.prototype.toJSON=Ze.prototype.valueOf=Ze.prototype.value=mIe,Ze.prototype.first=Ze.prototype.head,Cu&&(Ze.prototype[Cu]=dIe),Ze},El=Sv();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Bi._=El,define(function(){return El})):so?((so.exports=El)._=El,tf._=El):Bi._=El}).call(ob)});var u8e=J((NZt,JC)=>{(function(){function e(n){for(var i=0,a=n.length-1,o=void 0,s=void 0,l=void 0,u=r(i,a);;){if(a<=i)return n[u];if(a==i+1)return n[i]>n[a]&&t(n,i,a),n[u];for(o=r(i,a),n[o]>n[a]&&t(n,o,a),n[i]>n[a]&&t(n,i,a),n[o]>n[i]&&t(n,o,i),t(n,o,i+1),s=i+1,l=a;;){do s++;while(n[i]>n[s]);do l--;while(n[l]>n[i]);if(l<s)break;t(n,s,l)}t(n,i,l),l<=u&&(i=s),l>=u&&(a=l-1)}}var t=function(i,a,o){var s;return s=[i[o],i[a]],i[a]=s[0],i[o]=s[1],s},r=function(i,a){return~~((i+a)/2)};typeof JC<"u"&&JC.exports?JC.exports=e:window.median=e})()});var g8e=J((aJt,p8e)=>{"use strict";function M4t(e,t){for(var r=1,n=e.length,i=e[0],a=e[0],o=1;o<n;++o)if(a=i,i=e[o],t(i,a)){if(o===r){r++;continue}e[r++]=i}return e.length=r,e}function k4t(e){for(var t=1,r=e.length,n=e[0],i=e[0],a=1;a<r;++a,i=n)if(i=n,n=e[a],n!==i){if(a===t){t++;continue}e[t++]=n}return e.length=t,e}function S4t(e,t,r){return e.length===0?e:t?(r||e.sort(t),M4t(e,t)):(r||e.sort(),k4t(e))}p8e.exports=S4t});var x8e=J((oJt,y8e)=>{"use strict";var C4t=g8e();function m8e(e,t,r){var n=e.length,i=t.arrayArgs.length,a=t.indexArgs.length>0,o=[],s=[],l=0,u=0,f,c;for(f=0;f<n;++f)s.push(["i",f,"=0"].join(""));for(c=0;c<i;++c)for(f=0;f<n;++f)u=l,l=e[f],f===0?s.push(["d",c,"s",f,"=t",c,"p",l].join("")):s.push(["d",c,"s",f,"=(t",c,"p",l,"-s",u,"*t",c,"p",u,")"].join(""));for(s.length>0&&o.push("var "+s.join(",")),f=n-1;f>=0;--f)l=e[f],o.push(["for(i",f,"=0;i",f,"<s",l,";++i",f,"){"].join(""));for(o.push(r),f=0;f<n;++f){for(u=l,l=e[f],c=0;c<i;++c)o.push(["p",c,"+=d",c,"s",f].join(""));a&&(f>0&&o.push(["index[",u,"]-=s",u].join("")),o.push(["++index[",l,"]"].join(""))),o.push("}")}return o.join(`
|
|
`)}function E4t(e,t,r,n){for(var i=t.length,a=r.arrayArgs.length,o=r.blockSize,s=r.indexArgs.length>0,l=[],u=0;u<a;++u)l.push(["var offset",u,"=p",u].join(""));for(var u=e;u<i;++u)l.push(["for(var j"+u+"=SS[",t[u],"]|0;j",u,">0;){"].join("")),l.push(["if(j",u,"<",o,"){"].join("")),l.push(["s",t[u],"=j",u].join("")),l.push(["j",u,"=0"].join("")),l.push(["}else{s",t[u],"=",o].join("")),l.push(["j",u,"-=",o,"}"].join("")),s&&l.push(["index[",t[u],"]=j",u].join(""));for(var u=0;u<a;++u){for(var f=["offset"+u],c=e;c<i;++c)f.push(["j",c,"*t",u,"p",t[c]].join(""));l.push(["p",u,"=(",f.join("+"),")"].join(""))}l.push(m8e(t,r,n));for(var u=e;u<i;++u)l.push("}");return l.join(`
|
|
`)}function L4t(e){for(var t=0,r=e[0].length;t<r;){for(var n=1;n<e.length;++n)if(e[n][t]!==e[0][t])return t;++t}return t}function vN(e,t,r){for(var n=e.body,i=[],a=[],o=0;o<e.args.length;++o){var s=e.args[o];if(!(s.count<=0)){var l=new RegExp(s.name,"g"),u="",f=t.arrayArgs.indexOf(o);switch(t.argTypes[o]){case"offset":var c=t.offsetArgIndex.indexOf(o),h=t.offsetArgs[c];f=h.array,u="+q"+c;case"array":u="p"+f+u;var d="l"+o,v="a"+f;if(t.arrayBlockIndices[f]===0)s.count===1?r[f]==="generic"?s.lvalue?(i.push(["var ",d,"=",v,".get(",u,")"].join("")),n=n.replace(l,d),a.push([v,".set(",u,",",d,")"].join(""))):n=n.replace(l,[v,".get(",u,")"].join("")):n=n.replace(l,[v,"[",u,"]"].join("")):r[f]==="generic"?(i.push(["var ",d,"=",v,".get(",u,")"].join("")),n=n.replace(l,d),s.lvalue&&a.push([v,".set(",u,",",d,")"].join(""))):(i.push(["var ",d,"=",v,"[",u,"]"].join("")),n=n.replace(l,d),s.lvalue&&a.push([v,"[",u,"]=",d].join("")));else{for(var m=[s.name],b=[u],g=0;g<Math.abs(t.arrayBlockIndices[f]);g++)m.push("\\s*\\[([^\\]]+)\\]"),b.push("$"+(g+1)+"*t"+f+"b"+g);if(l=new RegExp(m.join(""),"g"),u=b.join("+"),r[f]==="generic")throw new Error("cwise: Generic arrays not supported in combination with blocks!");n=n.replace(l,[v,"[",u,"]"].join(""))}break;case"scalar":n=n.replace(l,"Y"+t.scalarArgs.indexOf(o));break;case"index":n=n.replace(l,"index");break;case"shape":n=n.replace(l,"shape");break}}}return[i.join(`
|
|
`),n,a.join(`
|
|
`)].join(`
|
|
`).trim()}function D4t(e){for(var t=new Array(e.length),r=!0,n=0;n<e.length;++n){var i=e[n],a=i.match(/\d+/);a?a=a[0]:a="",i.charAt(0)===0?t[n]="u"+i.charAt(1)+a:t[n]=i.charAt(0)+a,n>0&&(r=r&&t[n]===t[n-1])}return r?t[0]:t.join("")}function R4t(e,t){for(var r=t[1].length-Math.abs(e.arrayBlockIndices[0])|0,n=new Array(e.arrayArgs.length),i=new Array(e.arrayArgs.length),a=0;a<e.arrayArgs.length;++a)i[a]=t[2*a],n[a]=t[2*a+1];for(var o=[],s=[],l=[],u=[],f=[],a=0;a<e.arrayArgs.length;++a){e.arrayBlockIndices[a]<0?(l.push(0),u.push(r),o.push(r),s.push(r+e.arrayBlockIndices[a])):(l.push(e.arrayBlockIndices[a]),u.push(e.arrayBlockIndices[a]+r),o.push(0),s.push(e.arrayBlockIndices[a]));for(var c=[],h=0;h<n[a].length;h++)l[a]<=n[a][h]&&n[a][h]<u[a]&&c.push(n[a][h]-l[a]);f.push(c)}for(var d=["SS"],v=["'use strict'"],m=[],h=0;h<r;++h)m.push(["s",h,"=SS[",h,"]"].join(""));for(var a=0;a<e.arrayArgs.length;++a){d.push("a"+a),d.push("t"+a),d.push("p"+a);for(var h=0;h<r;++h)m.push(["t",a,"p",h,"=t",a,"[",l[a]+h,"]"].join(""));for(var h=0;h<Math.abs(e.arrayBlockIndices[a]);++h)m.push(["t",a,"b",h,"=t",a,"[",o[a]+h,"]"].join(""))}for(var a=0;a<e.scalarArgs.length;++a)d.push("Y"+a);if(e.shapeArgs.length>0&&m.push("shape=SS.slice(0)"),e.indexArgs.length>0){for(var b=new Array(r),a=0;a<r;++a)b[a]="0";m.push(["index=[",b.join(","),"]"].join(""))}for(var a=0;a<e.offsetArgs.length;++a){for(var g=e.offsetArgs[a],_=[],h=0;h<g.offset.length;++h)g.offset[h]!==0&&(g.offset[h]===1?_.push(["t",g.array,"p",h].join("")):_.push([g.offset[h],"*t",g.array,"p",h].join("")));_.length===0?m.push("q"+a+"=0"):m.push(["q",a,"=",_.join("+")].join(""))}var T=C4t([].concat(e.pre.thisVars).concat(e.body.thisVars).concat(e.post.thisVars));m=m.concat(T),m.length>0&&v.push("var "+m.join(","));for(var a=0;a<e.arrayArgs.length;++a)v.push("p"+a+"|=0");e.pre.body.length>3&&v.push(vN(e.pre,e,i));var w=vN(e.body,e,i),k=L4t(f);k<r?v.push(E4t(k,f[0],e,w)):v.push(m8e(f[0],e,w)),e.post.body.length>3&&v.push(vN(e.post,e,i)),e.debug&&console.log("-----Generated cwise routine for ",t,`:
|
|
`+v.join(`
|
|
`)+`
|
|
----------`);var x=[e.funcName||"unnamed","_cwise_loop_",n[0].join("s"),"m",k,D4t(i)].join(""),M=new Function(["function ",x,"(",d.join(","),"){",v.join(`
|
|
`),"} return ",x].join(""));return M()}y8e.exports=R4t});var w8e=J((sJt,b8e)=>{"use strict";var P4t=x8e();function I4t(e){var t=["'use strict'","var CACHED={}"],r=[],n=e.funcName+"_cwise_thunk";t.push(["return function ",n,"(",e.shimArgs.join(","),"){"].join(""));for(var i=[],a=[],o=[["array",e.arrayArgs[0],".shape.slice(",Math.max(0,e.arrayBlockIndices[0]),e.arrayBlockIndices[0]<0?","+e.arrayBlockIndices[0]+")":")"].join("")],s=[],l=[],u=0;u<e.arrayArgs.length;++u){var f=e.arrayArgs[u];r.push(["t",f,"=array",f,".dtype,","r",f,"=array",f,".order"].join("")),i.push("t"+f),i.push("r"+f),a.push("t"+f),a.push("r"+f+".join()"),o.push("array"+f+".data"),o.push("array"+f+".stride"),o.push("array"+f+".offset|0"),u>0&&(s.push("array"+e.arrayArgs[0]+".shape.length===array"+f+".shape.length+"+(Math.abs(e.arrayBlockIndices[0])-Math.abs(e.arrayBlockIndices[u]))),l.push("array"+e.arrayArgs[0]+".shape[shapeIndex+"+Math.max(0,e.arrayBlockIndices[0])+"]===array"+f+".shape[shapeIndex+"+Math.max(0,e.arrayBlockIndices[u])+"]"))}e.arrayArgs.length>1&&(t.push("if (!("+s.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same dimensionality!')"),t.push("for(var shapeIndex=array"+e.arrayArgs[0]+".shape.length-"+Math.abs(e.arrayBlockIndices[0])+"; shapeIndex-->0;) {"),t.push("if (!("+l.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same shape!')"),t.push("}"));for(var u=0;u<e.scalarArgs.length;++u)o.push("scalar"+e.scalarArgs[u]);r.push(["type=[",a.join(","),"].join()"].join("")),r.push("proc=CACHED[type]"),t.push("var "+r.join(",")),t.push(["if(!proc){","CACHED[type]=proc=compile([",i.join(","),"])}","return proc(",o.join(","),")}"].join("")),e.debug&&console.log(`-----Generated thunk:
|
|
`+t.join(`
|
|
`)+`
|
|
----------`);var c=new Function("compile",t.join(`
|
|
`));return c(P4t.bind(void 0,e))}b8e.exports=I4t});var T8e=J((lJt,_8e)=>{"use strict";var q4t=w8e();function F4t(){this.argTypes=[],this.shimArgs=[],this.arrayArgs=[],this.arrayBlockIndices=[],this.scalarArgs=[],this.offsetArgs=[],this.offsetArgIndex=[],this.indexArgs=[],this.shapeArgs=[],this.funcName="",this.pre=null,this.body=null,this.post=null,this.debug=!1}function z4t(e){var t=new F4t;t.pre=e.pre,t.body=e.body,t.post=e.post;var r=e.args.slice(0);t.argTypes=r;for(var n=0;n<r.length;++n){var i=r[n];if(i==="array"||typeof i=="object"&&i.blockIndices){if(t.argTypes[n]="array",t.arrayArgs.push(n),t.arrayBlockIndices.push(i.blockIndices?i.blockIndices:0),t.shimArgs.push("array"+n),n<t.pre.args.length&&t.pre.args[n].count>0)throw new Error("cwise: pre() block may not reference array args");if(n<t.post.args.length&&t.post.args[n].count>0)throw new Error("cwise: post() block may not reference array args")}else if(i==="scalar")t.scalarArgs.push(n),t.shimArgs.push("scalar"+n);else if(i==="index"){if(t.indexArgs.push(n),n<t.pre.args.length&&t.pre.args[n].count>0)throw new Error("cwise: pre() block may not reference array index");if(n<t.body.args.length&&t.body.args[n].lvalue)throw new Error("cwise: body() block may not write to array index");if(n<t.post.args.length&&t.post.args[n].count>0)throw new Error("cwise: post() block may not reference array index")}else if(i==="shape"){if(t.shapeArgs.push(n),n<t.pre.args.length&&t.pre.args[n].lvalue)throw new Error("cwise: pre() block may not write to array shape");if(n<t.body.args.length&&t.body.args[n].lvalue)throw new Error("cwise: body() block may not write to array shape");if(n<t.post.args.length&&t.post.args[n].lvalue)throw new Error("cwise: post() block may not write to array shape")}else if(typeof i=="object"&&i.offset)t.argTypes[n]="offset",t.offsetArgs.push({array:i.array,offset:i.offset}),t.offsetArgIndex.push(n);else throw new Error("cwise: Unknown argument type "+r[n])}if(t.arrayArgs.length<=0)throw new Error("cwise: No array arguments specified");if(t.pre.args.length>r.length)throw new Error("cwise: Too many arguments in pre() block");if(t.body.args.length>r.length)throw new Error("cwise: Too many arguments in body() block");if(t.post.args.length>r.length)throw new Error("cwise: Too many arguments in post() block");return t.debug=!!e.printCode||!!e.debug,t.funcName=e.funcName||"cwise",t.blockSize=e.blockSize||64,q4t(t)}_8e.exports=z4t});var L8e=J(Li=>{"use strict";var $u=T8e(),KC={body:"",args:[],thisVars:[],localVars:[]};function dN(e){if(!e)return KC;for(var t=0;t<e.args.length;++t){var r=e.args[t];t===0?e.args[t]={name:r,lvalue:!0,rvalue:!!e.rvalue,count:e.count||1}:e.args[t]={name:r,lvalue:!1,rvalue:!0,count:1}}return e.thisVars||(e.thisVars=[]),e.localVars||(e.localVars=[]),e}function N4t(e){return $u({args:e.args,pre:dN(e.pre),body:dN(e.body),post:dN(e.proc),funcName:e.funcName})}function xo(e){for(var t=[],r=0;r<e.args.length;++r)t.push("a"+r);var n=new Function("P",["return function ",e.funcName,"_ndarrayops(",t.join(","),") {P(",t.join(","),");return a0}"].join(""));return n(N4t(e))}var A8e={add:"+",sub:"-",mul:"*",div:"/",mod:"%",band:"&",bor:"|",bxor:"^",lshift:"<<",rshift:">>",rrshift:">>>"};(function(){for(var e in A8e){var t=A8e[e];Li[e]=xo({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+t+"c"},funcName:e}),Li[e+"eq"]=xo({args:["array","array"],body:{args:["a","b"],body:"a"+t+"=b"},rvalue:!0,funcName:e+"eq"}),Li[e+"s"]=xo({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+t+"s"},funcName:e+"s"}),Li[e+"seq"]=xo({args:["array","scalar"],body:{args:["a","s"],body:"a"+t+"=s"},rvalue:!0,funcName:e+"seq"})}})();var M8e={not:"!",bnot:"~",neg:"-",recip:"1.0/"};(function(){for(var e in M8e){var t=M8e[e];Li[e]=xo({args:["array","array"],body:{args:["a","b"],body:"a="+t+"b"},funcName:e}),Li[e+"eq"]=xo({args:["array"],body:{args:["a"],body:"a="+t+"a"},rvalue:!0,count:2,funcName:e+"eq"})}})();var k8e={and:"&&",or:"||",eq:"===",neq:"!==",lt:"<",gt:">",leq:"<=",geq:">="};(function(){for(var e in k8e){var t=k8e[e];Li[e]=xo({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+t+"c"},funcName:e}),Li[e+"s"]=xo({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+t+"s"},funcName:e+"s"}),Li[e+"eq"]=xo({args:["array","array"],body:{args:["a","b"],body:"a=a"+t+"b"},rvalue:!0,count:2,funcName:e+"eq"}),Li[e+"seq"]=xo({args:["array","scalar"],body:{args:["a","s"],body:"a=a"+t+"s"},rvalue:!0,count:2,funcName:e+"seq"})}})();var S8e=["abs","acos","asin","atan","ceil","cos","exp","floor","log","round","sin","sqrt","tan"];(function(){for(var e=0;e<S8e.length;++e){var t=S8e[e];Li[t]=xo({args:["array","array"],pre:{args:[],body:"this_f=Math."+t,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(b)",thisVars:["this_f"]},funcName:t}),Li[t+"eq"]=xo({args:["array"],pre:{args:[],body:"this_f=Math."+t,thisVars:["this_f"]},body:{args:["a"],body:"a=this_f(a)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:t+"eq"})}})();var C8e=["max","min","atan2","pow"];(function(){for(var e=0;e<C8e.length;++e){var t=C8e[e];Li[t]=xo({args:["array","array","array"],pre:{args:[],body:"this_f=Math."+t,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(b,c)",thisVars:["this_f"]},funcName:t}),Li[t+"s"]=xo({args:["array","array","scalar"],pre:{args:[],body:"this_f=Math."+t,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(b,c)",thisVars:["this_f"]},funcName:t+"s"}),Li[t+"eq"]=xo({args:["array","array"],pre:{args:[],body:"this_f=Math."+t,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(a,b)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:t+"eq"}),Li[t+"seq"]=xo({args:["array","scalar"],pre:{args:[],body:"this_f=Math."+t,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(a,b)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:t+"seq"})}})();var E8e=["atan2","pow"];(function(){for(var e=0;e<E8e.length;++e){var t=E8e[e];Li[t+"op"]=xo({args:["array","array","array"],pre:{args:[],body:"this_f=Math."+t,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(c,b)",thisVars:["this_f"]},funcName:t+"op"}),Li[t+"ops"]=xo({args:["array","array","scalar"],pre:{args:[],body:"this_f=Math."+t,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(c,b)",thisVars:["this_f"]},funcName:t+"ops"}),Li[t+"opeq"]=xo({args:["array","array"],pre:{args:[],body:"this_f=Math."+t,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(b,a)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:t+"opeq"}),Li[t+"opseq"]=xo({args:["array","scalar"],pre:{args:[],body:"this_f=Math."+t,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(b,a)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:t+"opseq"})}})();Li.any=$u({args:["array"],pre:KC,body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:1}],body:"if(a){return true}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return false"},funcName:"any"});Li.all=$u({args:["array"],pre:KC,body:{args:[{name:"x",lvalue:!1,rvalue:!0,count:1}],body:"if(!x){return false}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return true"},funcName:"all"});Li.sum=$u({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:1}],body:"this_s+=a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"sum"});Li.prod=$u({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=1"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:1}],body:"this_s*=a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"prod"});Li.norm2squared=$u({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:2}],body:"this_s+=a*a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norm2squared"});Li.norm2=$u({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:2}],body:"this_s+=a*a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return Math.sqrt(this_s)"},funcName:"norm2"});Li.norminf=$u({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:4}],body:"if(-a>this_s){this_s=-a}else if(a>this_s){this_s=a}",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norminf"});Li.norm1=$u({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:3}],body:"this_s+=a<0?-a:a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norm1"});Li.sup=$u({args:["array"],pre:{body:"this_h=-Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_>this_h)this_h=_inline_1_arg0_",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_h"],localVars:[]},post:{body:"return this_h",args:[],thisVars:["this_h"],localVars:[]}});Li.inf=$u({args:["array"],pre:{body:"this_h=Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_<this_h)this_h=_inline_1_arg0_",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_h"],localVars:[]},post:{body:"return this_h",args:[],thisVars:["this_h"],localVars:[]}});Li.argmin=$u({args:["index","array","shape"],pre:{body:"{this_v=Infinity;this_i=_inline_0_arg2_.slice(0)}",args:[{name:"_inline_0_arg0_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg1_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg2_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_i","this_v"],localVars:[]},body:{body:"{if(_inline_1_arg1_<this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_i","this_v"],localVars:["_inline_1_k"]},post:{body:"{return this_i}",args:[],thisVars:["this_i"],localVars:[]}});Li.argmax=$u({args:["index","array","shape"],pre:{body:"{this_v=-Infinity;this_i=_inline_0_arg2_.slice(0)}",args:[{name:"_inline_0_arg0_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg1_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg2_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_i","this_v"],localVars:[]},body:{body:"{if(_inline_1_arg1_>this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_i","this_v"],localVars:["_inline_1_k"]},post:{body:"{return this_i}",args:[],thisVars:["this_i"],localVars:[]}});Li.random=xo({args:["array"],pre:{args:[],body:"this_f=Math.random",thisVars:["this_f"]},body:{args:["a"],body:"a=this_f()",thisVars:["this_f"]},funcName:"random"});Li.assign=xo({args:["array","array"],body:{args:["a","b"],body:"a=b"},funcName:"assign"});Li.assigns=xo({args:["array","scalar"],body:{args:["a","b"],body:"a=b"},funcName:"assigns"});Li.equals=$u({args:["array","array"],pre:KC,body:{args:[{name:"x",lvalue:!1,rvalue:!0,count:1},{name:"y",lvalue:!1,rvalue:!0,count:1}],body:"if(x!==y){return false}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return true"},funcName:"equals"})});var R8e=J((fJt,D8e)=>{"use strict";function O4t(e){for(var t=new Array(e),r=0;r<e;++r)t[r]=r;return t}D8e.exports=O4t});var q8e=J((cJt,I8e)=>{I8e.exports=function(e){return e!=null&&(P8e(e)||B4t(e)||!!e._isBuffer)};function P8e(e){return!!e.constructor&&typeof e.constructor.isBuffer=="function"&&e.constructor.isBuffer(e)}function B4t(e){return typeof e.readFloatLE=="function"&&typeof e.slice=="function"&&P8e(e.slice(0,0))}});var pN=J((hJt,F8e)=>{var U4t=R8e(),H4t=q8e(),j4t=typeof Float64Array<"u";function V4t(e,t){return e[0]-t[0]}function Y4t(){var e=this.stride,t=new Array(e.length),r;for(r=0;r<t.length;++r)t[r]=[Math.abs(e[r]),r];t.sort(V4t);var n=new Array(t.length);for(r=0;r<n.length;++r)n[r]=t[r][1];return n}function G4t(e,t){var r=["View",t,"d",e].join("");t<0&&(r="View_Nil"+e);var n=e==="generic";if(t===-1){var i="function "+r+"(a){this.data=a;};var proto="+r+".prototype;proto.dtype='"+e+"';proto.index=function(){return -1};proto.size=0;proto.dimension=-1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function(){return new "+r+"(this.data);};proto.get=proto.set=function(){};proto.pick=function(){return null};return function construct_"+r+"(a){return new "+r+"(a);}",m=new Function(i);return m()}else if(t===0){var i="function "+r+"(a,d) {this.data = a;this.offset = d};var proto="+r+".prototype;proto.dtype='"+e+"';proto.index=function(){return this.offset};proto.dimension=0;proto.size=1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function "+r+"_copy() {return new "+r+"(this.data,this.offset)};proto.pick=function "+r+"_pick(){return TrivialArray(this.data);};proto.valueOf=proto.get=function "+r+"_get(){return "+(n?"this.data.get(this.offset)":"this.data[this.offset]")+"};proto.set=function "+r+"_set(v){return "+(n?"this.data.set(this.offset,v)":"this.data[this.offset]=v")+"};return function construct_"+r+"(a,b,c,d){return new "+r+"(a,d)}",m=new Function("TrivialArray",i);return m(QC[e][0])}var i=["'use strict'"],a=U4t(t),o=a.map(function(b){return"i"+b}),s="this.offset+"+a.map(function(b){return"this.stride["+b+"]*i"+b}).join("+"),l=a.map(function(b){return"b"+b}).join(","),u=a.map(function(b){return"c"+b}).join(",");i.push("function "+r+"(a,"+l+","+u+",d){this.data=a","this.shape=["+l+"]","this.stride=["+u+"]","this.offset=d|0}","var proto="+r+".prototype","proto.dtype='"+e+"'","proto.dimension="+t),i.push("Object.defineProperty(proto,'size',{get:function "+r+"_size(){return "+a.map(function(b){return"this.shape["+b+"]"}).join("*"),"}})"),t===1?i.push("proto.order=[0]"):(i.push("Object.defineProperty(proto,'order',{get:"),t<4?(i.push("function "+r+"_order(){"),t===2?i.push("return (Math.abs(this.stride[0])>Math.abs(this.stride[1]))?[1,0]:[0,1]}})"):t===3&&i.push("var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]);if(s0>s1){if(s1>s2){return [2,1,0];}else if(s0>s2){return [1,2,0];}else{return [1,0,2];}}else if(s0>s2){return [2,0,1];}else if(s2>s1){return [0,1,2];}else{return [0,2,1];}}})")):i.push("ORDER})")),i.push("proto.set=function "+r+"_set("+o.join(",")+",v){"),n?i.push("return this.data.set("+s+",v)}"):i.push("return this.data["+s+"]=v}"),i.push("proto.get=function "+r+"_get("+o.join(",")+"){"),n?i.push("return this.data.get("+s+")}"):i.push("return this.data["+s+"]}"),i.push("proto.index=function "+r+"_index(",o.join(),"){return "+s+"}"),i.push("proto.hi=function "+r+"_hi("+o.join(",")+"){return new "+r+"(this.data,"+a.map(function(b){return["(typeof i",b,"!=='number'||i",b,"<0)?this.shape[",b,"]:i",b,"|0"].join("")}).join(",")+","+a.map(function(b){return"this.stride["+b+"]"}).join(",")+",this.offset)}");var f=a.map(function(b){return"a"+b+"=this.shape["+b+"]"}),c=a.map(function(b){return"c"+b+"=this.stride["+b+"]"});i.push("proto.lo=function "+r+"_lo("+o.join(",")+"){var b=this.offset,d=0,"+f.join(",")+","+c.join(","));for(var h=0;h<t;++h)i.push("if(typeof i"+h+"==='number'&&i"+h+">=0){d=i"+h+"|0;b+=c"+h+"*d;a"+h+"-=d}");i.push("return new "+r+"(this.data,"+a.map(function(b){return"a"+b}).join(",")+","+a.map(function(b){return"c"+b}).join(",")+",b)}"),i.push("proto.step=function "+r+"_step("+o.join(",")+"){var "+a.map(function(b){return"a"+b+"=this.shape["+b+"]"}).join(",")+","+a.map(function(b){return"b"+b+"=this.stride["+b+"]"}).join(",")+",c=this.offset,d=0,ceil=Math.ceil");for(var h=0;h<t;++h)i.push("if(typeof i"+h+"==='number'){d=i"+h+"|0;if(d<0){c+=b"+h+"*(a"+h+"-1);a"+h+"=ceil(-a"+h+"/d)}else{a"+h+"=ceil(a"+h+"/d)}b"+h+"*=d}");i.push("return new "+r+"(this.data,"+a.map(function(b){return"a"+b}).join(",")+","+a.map(function(b){return"b"+b}).join(",")+",c)}");for(var d=new Array(t),v=new Array(t),h=0;h<t;++h)d[h]="a[i"+h+"]",v[h]="b[i"+h+"]";i.push("proto.transpose=function "+r+"_transpose("+o+"){"+o.map(function(b,g){return b+"=("+b+"===undefined?"+g+":"+b+"|0)"}).join(";"),"var a=this.shape,b=this.stride;return new "+r+"(this.data,"+d.join(",")+","+v.join(",")+",this.offset)}"),i.push("proto.pick=function "+r+"_pick("+o+"){var a=[],b=[],c=this.offset");for(var h=0;h<t;++h)i.push("if(typeof i"+h+"==='number'&&i"+h+">=0){c=(c+this.stride["+h+"]*i"+h+")|0}else{a.push(this.shape["+h+"]);b.push(this.stride["+h+"])}");i.push("var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}"),i.push("return function construct_"+r+"(data,shape,stride,offset){return new "+r+"(data,"+a.map(function(b){return"shape["+b+"]"}).join(",")+","+a.map(function(b){return"stride["+b+"]"}).join(",")+",offset)}");var m=new Function("CTOR_LIST","ORDER",i.join(`
|
|
`));return m(QC[e],Y4t)}function W4t(e){if(H4t(e))return"buffer";if(j4t)switch(Object.prototype.toString.call(e)){case"[object Float64Array]":return"float64";case"[object Float32Array]":return"float32";case"[object Int8Array]":return"int8";case"[object Int16Array]":return"int16";case"[object Int32Array]":return"int32";case"[object Uint8Array]":return"uint8";case"[object Uint16Array]":return"uint16";case"[object Uint32Array]":return"uint32";case"[object Uint8ClampedArray]":return"uint8_clamped";case"[object BigInt64Array]":return"bigint64";case"[object BigUint64Array]":return"biguint64"}return Array.isArray(e)?"array":"generic"}var QC={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],bigint64:[],biguint64:[],buffer:[],generic:[]};function X4t(e,t,r,n){if(e===void 0){var u=QC.array[0];return u([])}else typeof e=="number"&&(e=[e]);t===void 0&&(t=[e.length]);var i=t.length;if(r===void 0){r=new Array(i);for(var a=i-1,o=1;a>=0;--a)r[a]=o,o*=t[a]}if(n===void 0){n=0;for(var a=0;a<i;++a)r[a]<0&&(n-=(t[a]-1)*r[a])}for(var s=W4t(e),l=QC[s];l.length<=i+1;)l.push(G4t(s,l.length-1));var u=l[i+1];return u(e,t,r,n)}F8e.exports=X4t});var mN=J(Fo=>{"use strict";var gN=32;Fo.INT_BITS=gN;Fo.INT_MAX=2147483647;Fo.INT_MIN=-1<<gN-1;Fo.sign=function(e){return(e>0)-(e<0)};Fo.abs=function(e){var t=e>>gN-1;return(e^t)-t};Fo.min=function(e,t){return t^(e^t)&-(e<t)};Fo.max=function(e,t){return e^(e^t)&-(e<t)};Fo.isPow2=function(e){return!(e&e-1)&&!!e};Fo.log2=function(e){var t,r;return t=(e>65535)<<4,e>>>=t,r=(e>255)<<3,e>>>=r,t|=r,r=(e>15)<<2,e>>>=r,t|=r,r=(e>3)<<1,e>>>=r,t|=r,t|e>>1};Fo.log10=function(e){return e>=1e9?9:e>=1e8?8:e>=1e7?7:e>=1e6?6:e>=1e5?5:e>=1e4?4:e>=1e3?3:e>=100?2:e>=10?1:0};Fo.popCount=function(e){return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),(e+(e>>>4)&252645135)*16843009>>>24};function z8e(e){var t=32;return e&=-e,e&&t--,e&65535&&(t-=16),e&16711935&&(t-=8),e&252645135&&(t-=4),e&858993459&&(t-=2),e&1431655765&&(t-=1),t}Fo.countTrailingZeros=z8e;Fo.nextPow2=function(e){return e+=e===0,--e,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e+1};Fo.prevPow2=function(e){return e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e-(e>>>1)};Fo.parity=function(e){return e^=e>>>16,e^=e>>>8,e^=e>>>4,e&=15,27030>>>e&1};var M3=new Array(256);(function(e){for(var t=0;t<256;++t){var r=t,n=t,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=r&1,--i;e[t]=n<<i&255}})(M3);Fo.reverse=function(e){return M3[e&255]<<24|M3[e>>>8&255]<<16|M3[e>>>16&255]<<8|M3[e>>>24&255]};Fo.interleave2=function(e,t){return e&=65535,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t&=65535,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1};Fo.deinterleave2=function(e,t){return e=e>>>t&1431655765,e=(e|e>>>1)&858993459,e=(e|e>>>2)&252645135,e=(e|e>>>4)&16711935,e=(e|e>>>16)&65535,e<<16>>16};Fo.interleave3=function(e,t,r){return e&=1023,e=(e|e<<16)&4278190335,e=(e|e<<8)&251719695,e=(e|e<<4)&3272356035,e=(e|e<<2)&1227133513,t&=1023,t=(t|t<<16)&4278190335,t=(t|t<<8)&251719695,t=(t|t<<4)&3272356035,t=(t|t<<2)&1227133513,e|=t<<1,r&=1023,r=(r|r<<16)&4278190335,r=(r|r<<8)&251719695,r=(r|r<<4)&3272356035,r=(r|r<<2)&1227133513,e|r<<2};Fo.deinterleave3=function(e,t){return e=e>>>t&1227133513,e=(e|e>>>2)&3272356035,e=(e|e>>>4)&251719695,e=(e|e>>>8)&4278190335,e=(e|e>>>16)&1023,e<<22>>22};Fo.nextCombination=function(e){var t=e|e-1;return t+1|(~t&-~t)-1>>>z8e(e)+1}});var B8e=J((dJt,O8e)=>{"use strict";function N8e(e,t,r){var n=e[r]|0;if(n<=0)return[];var i=new Array(n),a;if(r===e.length-1)for(a=0;a<n;++a)i[a]=t;else for(a=0;a<n;++a)i[a]=N8e(e,t,r+1);return i}function Z4t(e,t){var r,n;for(r=new Array(e),n=0;n<e;++n)r[n]=t;return r}function J4t(e,t){switch(typeof t>"u"&&(t=0),typeof e){case"number":if(e>0)return Z4t(e|0,t);break;case"object":if(typeof e.length=="number")return N8e(e,t,0);break}return[]}O8e.exports=J4t});var j8e=J(e6=>{"use strict";e6.byteLength=K4t;e6.toByteArray=eCt;e6.fromByteArray=nCt;var wv=[],Ic=[],$4t=typeof Uint8Array<"u"?Uint8Array:Array,yN="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(Xm=0,U8e=yN.length;Xm<U8e;++Xm)wv[Xm]=yN[Xm],Ic[yN.charCodeAt(Xm)]=Xm;var Xm,U8e;Ic["-".charCodeAt(0)]=62;Ic["_".charCodeAt(0)]=63;function H8e(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");r===-1&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function K4t(e){var t=H8e(e),r=t[0],n=t[1];return(r+n)*3/4-n}function Q4t(e,t,r){return(t+r)*3/4-r}function eCt(e){var t,r=H8e(e),n=r[0],i=r[1],a=new $4t(Q4t(e,n,i)),o=0,s=i>0?n-4:n,l;for(l=0;l<s;l+=4)t=Ic[e.charCodeAt(l)]<<18|Ic[e.charCodeAt(l+1)]<<12|Ic[e.charCodeAt(l+2)]<<6|Ic[e.charCodeAt(l+3)],a[o++]=t>>16&255,a[o++]=t>>8&255,a[o++]=t&255;return i===2&&(t=Ic[e.charCodeAt(l)]<<2|Ic[e.charCodeAt(l+1)]>>4,a[o++]=t&255),i===1&&(t=Ic[e.charCodeAt(l)]<<10|Ic[e.charCodeAt(l+1)]<<4|Ic[e.charCodeAt(l+2)]>>2,a[o++]=t>>8&255,a[o++]=t&255),a}function tCt(e){return wv[e>>18&63]+wv[e>>12&63]+wv[e>>6&63]+wv[e&63]}function rCt(e,t,r){for(var n,i=[],a=t;a<r;a+=3)n=(e[a]<<16&16711680)+(e[a+1]<<8&65280)+(e[a+2]&255),i.push(tCt(n));return i.join("")}function nCt(e){for(var t,r=e.length,n=r%3,i=[],a=16383,o=0,s=r-n;o<s;o+=a)i.push(rCt(e,o,o+a>s?s:o+a));return n===1?(t=e[r-1],i.push(wv[t>>2]+wv[t<<4&63]+"==")):n===2&&(t=(e[r-2]<<8)+e[r-1],i.push(wv[t>>10]+wv[t>>4&63]+wv[t<<2&63]+"=")),i.join("")}});var V8e=J(xN=>{xN.read=function(e,t,r,n,i){var a,o,s=i*8-n-1,l=(1<<s)-1,u=l>>1,f=-7,c=r?i-1:0,h=r?-1:1,d=e[t+c];for(c+=h,a=d&(1<<-f)-1,d>>=-f,f+=s;f>0;a=a*256+e[t+c],c+=h,f-=8);for(o=a&(1<<-f)-1,a>>=-f,f+=n;f>0;o=o*256+e[t+c],c+=h,f-=8);if(a===0)a=1-u;else{if(a===l)return o?NaN:(d?-1:1)*(1/0);o=o+Math.pow(2,n),a=a-u}return(d?-1:1)*o*Math.pow(2,a-n)};xN.write=function(e,t,r,n,i,a){var o,s,l,u=a*8-i-1,f=(1<<u)-1,c=f>>1,h=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:a-1,v=n?1:-1,m=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=f):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),o+c>=1?t+=h/l:t+=h*Math.pow(2,1-c),t*l>=2&&(o++,l/=2),o+c>=f?(s=0,o=f):o+c>=1?(s=(t*l-1)*Math.pow(2,i),o=o+c):(s=t*Math.pow(2,c-1)*Math.pow(2,i),o=0));i>=8;e[r+d]=s&255,d+=v,s/=256,i-=8);for(o=o<<i|s,u+=i;u>0;e[r+d]=o&255,d+=v,o/=256,u-=8);e[r+d-v]|=m*128}});var sRe=J(hb=>{"use strict";var bN=j8e(),fb=V8e(),Y8e=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;hb.Buffer=vr;hb.SlowBuffer=uCt;hb.INSPECT_MAX_BYTES=50;var t6=2147483647;hb.kMaxLength=t6;vr.TYPED_ARRAY_SUPPORT=iCt();!vr.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function iCt(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch{return!1}}Object.defineProperty(vr.prototype,"parent",{enumerable:!0,get:function(){if(vr.isBuffer(this))return this.buffer}});Object.defineProperty(vr.prototype,"offset",{enumerable:!0,get:function(){if(vr.isBuffer(this))return this.byteOffset}});function Pd(e){if(e>t6)throw new RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,vr.prototype),t}function vr(e,t,r){if(typeof e=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return AN(e)}return Z8e(e,t,r)}vr.poolSize=8192;function Z8e(e,t,r){if(typeof e=="string")return oCt(e,t);if(ArrayBuffer.isView(e))return sCt(e);if(e==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(_v(e,ArrayBuffer)||e&&_v(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(_v(e,SharedArrayBuffer)||e&&_v(e.buffer,SharedArrayBuffer)))return _N(e,t,r);if(typeof e=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let n=e.valueOf&&e.valueOf();if(n!=null&&n!==e)return vr.from(n,t,r);let i=lCt(e);if(i)return i;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]=="function")return vr.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}vr.from=function(e,t,r){return Z8e(e,t,r)};Object.setPrototypeOf(vr.prototype,Uint8Array.prototype);Object.setPrototypeOf(vr,Uint8Array);function J8e(e){if(typeof e!="number")throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function aCt(e,t,r){return J8e(e),e<=0?Pd(e):t!==void 0?typeof r=="string"?Pd(e).fill(t,r):Pd(e).fill(t):Pd(e)}vr.alloc=function(e,t,r){return aCt(e,t,r)};function AN(e){return J8e(e),Pd(e<0?0:MN(e)|0)}vr.allocUnsafe=function(e){return AN(e)};vr.allocUnsafeSlow=function(e){return AN(e)};function oCt(e,t){if((typeof t!="string"||t==="")&&(t="utf8"),!vr.isEncoding(t))throw new TypeError("Unknown encoding: "+t);let r=$8e(e,t)|0,n=Pd(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}function wN(e){let t=e.length<0?0:MN(e.length)|0,r=Pd(t);for(let n=0;n<t;n+=1)r[n]=e[n]&255;return r}function sCt(e){if(_v(e,Uint8Array)){let t=new Uint8Array(e);return _N(t.buffer,t.byteOffset,t.byteLength)}return wN(e)}function _N(e,t,r){if(t<0||e.byteLength<t)throw new RangeError('"offset" is outside of buffer bounds');if(e.byteLength<t+(r||0))throw new RangeError('"length" is outside of buffer bounds');let n;return t===void 0&&r===void 0?n=new Uint8Array(e):r===void 0?n=new Uint8Array(e,t):n=new Uint8Array(e,t,r),Object.setPrototypeOf(n,vr.prototype),n}function lCt(e){if(vr.isBuffer(e)){let t=MN(e.length)|0,r=Pd(t);return r.length===0||e.copy(r,0,0,t),r}if(e.length!==void 0)return typeof e.length!="number"||SN(e.length)?Pd(0):wN(e);if(e.type==="Buffer"&&Array.isArray(e.data))return wN(e.data)}function MN(e){if(e>=t6)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+t6.toString(16)+" bytes");return e|0}function uCt(e){return+e!=e&&(e=0),vr.alloc(+e)}vr.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==vr.prototype};vr.compare=function(t,r){if(_v(t,Uint8Array)&&(t=vr.from(t,t.offset,t.byteLength)),_v(r,Uint8Array)&&(r=vr.from(r,r.offset,r.byteLength)),!vr.isBuffer(t)||!vr.isBuffer(r))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===r)return 0;let n=t.length,i=r.length;for(let a=0,o=Math.min(n,i);a<o;++a)if(t[a]!==r[a]){n=t[a],i=r[a];break}return n<i?-1:i<n?1:0};vr.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}};vr.concat=function(t,r){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(t.length===0)return vr.alloc(0);let n;if(r===void 0)for(r=0,n=0;n<t.length;++n)r+=t[n].length;let i=vr.allocUnsafe(r),a=0;for(n=0;n<t.length;++n){let o=t[n];if(_v(o,Uint8Array))a+o.length>i.length?(vr.isBuffer(o)||(o=vr.from(o)),o.copy(i,a)):Uint8Array.prototype.set.call(i,o,a);else if(vr.isBuffer(o))o.copy(i,a);else throw new TypeError('"list" argument must be an Array of Buffers');a+=o.length}return i};function $8e(e,t){if(vr.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||_v(e,ArrayBuffer))return e.byteLength;if(typeof e!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let r=e.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return TN(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return oRe(e).length;default:if(i)return n?-1:TN(e).length;t=(""+t).toLowerCase(),i=!0}}vr.byteLength=$8e;function fCt(e,t,r){let n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(e||(e="utf8");;)switch(e){case"hex":return bCt(this,t,r);case"utf8":case"utf-8":return Q8e(this,t,r);case"ascii":return yCt(this,t,r);case"latin1":case"binary":return xCt(this,t,r);case"base64":return gCt(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return wCt(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}vr.prototype._isBuffer=!0;function Zm(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}vr.prototype.swap16=function(){let t=this.length;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let r=0;r<t;r+=2)Zm(this,r,r+1);return this};vr.prototype.swap32=function(){let t=this.length;if(t%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let r=0;r<t;r+=4)Zm(this,r,r+3),Zm(this,r+1,r+2);return this};vr.prototype.swap64=function(){let t=this.length;if(t%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let r=0;r<t;r+=8)Zm(this,r,r+7),Zm(this,r+1,r+6),Zm(this,r+2,r+5),Zm(this,r+3,r+4);return this};vr.prototype.toString=function(){let t=this.length;return t===0?"":arguments.length===0?Q8e(this,0,t):fCt.apply(this,arguments)};vr.prototype.toLocaleString=vr.prototype.toString;vr.prototype.equals=function(t){if(!vr.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t?!0:vr.compare(this,t)===0};vr.prototype.inspect=function(){let t="",r=hb.INSPECT_MAX_BYTES;return t=this.toString("hex",0,r).replace(/(.{2})/g,"$1 ").trim(),this.length>r&&(t+=" ... "),"<Buffer "+t+">"};Y8e&&(vr.prototype[Y8e]=vr.prototype.inspect);vr.prototype.compare=function(t,r,n,i,a){if(_v(t,Uint8Array)&&(t=vr.from(t,t.offset,t.byteLength)),!vr.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(r===void 0&&(r=0),n===void 0&&(n=t?t.length:0),i===void 0&&(i=0),a===void 0&&(a=this.length),r<0||n>t.length||i<0||a>this.length)throw new RangeError("out of range index");if(i>=a&&r>=n)return 0;if(i>=a)return-1;if(r>=n)return 1;if(r>>>=0,n>>>=0,i>>>=0,a>>>=0,this===t)return 0;let o=a-i,s=n-r,l=Math.min(o,s),u=this.slice(i,a),f=t.slice(r,n);for(let c=0;c<l;++c)if(u[c]!==f[c]){o=u[c],s=f[c];break}return o<s?-1:s<o?1:0};function K8e(e,t,r,n,i){if(e.length===0)return-1;if(typeof r=="string"?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,SN(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof t=="string"&&(t=vr.from(t,n)),vr.isBuffer(t))return t.length===0?-1:G8e(e,t,r,n,i);if(typeof t=="number")return t=t&255,typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):G8e(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function G8e(e,t,r,n,i){let a=1,o=e.length,s=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(e.length<2||t.length<2)return-1;a=2,o/=2,s/=2,r/=2}function l(f,c){return a===1?f[c]:f.readUInt16BE(c*a)}let u;if(i){let f=-1;for(u=r;u<o;u++)if(l(e,u)===l(t,f===-1?0:u-f)){if(f===-1&&(f=u),u-f+1===s)return f*a}else f!==-1&&(u-=u-f),f=-1}else for(r+s>o&&(r=o-s),u=r;u>=0;u--){let f=!0;for(let c=0;c<s;c++)if(l(e,u+c)!==l(t,c)){f=!1;break}if(f)return u}return-1}vr.prototype.includes=function(t,r,n){return this.indexOf(t,r,n)!==-1};vr.prototype.indexOf=function(t,r,n){return K8e(this,t,r,n,!0)};vr.prototype.lastIndexOf=function(t,r,n){return K8e(this,t,r,n,!1)};function cCt(e,t,r,n){r=Number(r)||0;let i=e.length-r;n?(n=Number(n),n>i&&(n=i)):n=i;let a=t.length;n>a/2&&(n=a/2);let o;for(o=0;o<n;++o){let s=parseInt(t.substr(o*2,2),16);if(SN(s))return o;e[r+o]=s}return o}function hCt(e,t,r,n){return r6(TN(t,e.length-r),e,r,n)}function vCt(e,t,r,n){return r6(MCt(t),e,r,n)}function dCt(e,t,r,n){return r6(oRe(t),e,r,n)}function pCt(e,t,r,n){return r6(kCt(t,e.length-r),e,r,n)}vr.prototype.write=function(t,r,n,i){if(r===void 0)i="utf8",n=this.length,r=0;else if(n===void 0&&typeof r=="string")i=r,n=this.length,r=0;else if(isFinite(r))r=r>>>0,isFinite(n)?(n=n>>>0,i===void 0&&(i="utf8")):(i=n,n=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let a=this.length-r;if((n===void 0||n>a)&&(n=a),t.length>0&&(n<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let o=!1;for(;;)switch(i){case"hex":return cCt(this,t,r,n);case"utf8":case"utf-8":return hCt(this,t,r,n);case"ascii":case"latin1":case"binary":return vCt(this,t,r,n);case"base64":return dCt(this,t,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return pCt(this,t,r,n);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}};vr.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function gCt(e,t,r){return t===0&&r===e.length?bN.fromByteArray(e):bN.fromByteArray(e.slice(t,r))}function Q8e(e,t,r){r=Math.min(e.length,r);let n=[],i=t;for(;i<r;){let a=e[i],o=null,s=a>239?4:a>223?3:a>191?2:1;if(i+s<=r){let l,u,f,c;switch(s){case 1:a<128&&(o=a);break;case 2:l=e[i+1],(l&192)===128&&(c=(a&31)<<6|l&63,c>127&&(o=c));break;case 3:l=e[i+1],u=e[i+2],(l&192)===128&&(u&192)===128&&(c=(a&15)<<12|(l&63)<<6|u&63,c>2047&&(c<55296||c>57343)&&(o=c));break;case 4:l=e[i+1],u=e[i+2],f=e[i+3],(l&192)===128&&(u&192)===128&&(f&192)===128&&(c=(a&15)<<18|(l&63)<<12|(u&63)<<6|f&63,c>65535&&c<1114112&&(o=c))}}o===null?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|o&1023),n.push(o),i+=s}return mCt(n)}var W8e=4096;function mCt(e){let t=e.length;if(t<=W8e)return String.fromCharCode.apply(String,e);let r="",n=0;for(;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=W8e));return r}function yCt(e,t,r){let n="";r=Math.min(e.length,r);for(let i=t;i<r;++i)n+=String.fromCharCode(e[i]&127);return n}function xCt(e,t,r){let n="";r=Math.min(e.length,r);for(let i=t;i<r;++i)n+=String.fromCharCode(e[i]);return n}function bCt(e,t,r){let n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);let i="";for(let a=t;a<r;++a)i+=SCt[e[a]];return i}function wCt(e,t,r){let n=e.slice(t,r),i="";for(let a=0;a<n.length-1;a+=2)i+=String.fromCharCode(n[a]+n[a+1]*256);return i}vr.prototype.slice=function(t,r){let n=this.length;t=~~t,r=r===void 0?n:~~r,t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),r<t&&(r=t);let i=this.subarray(t,r);return Object.setPrototypeOf(i,vr.prototype),i};function el(e,t,r){if(e%1!==0||e<0)throw new RangeError("offset is not uint");if(e+t>r)throw new RangeError("Trying to access beyond buffer length")}vr.prototype.readUintLE=vr.prototype.readUIntLE=function(t,r,n){t=t>>>0,r=r>>>0,n||el(t,r,this.length);let i=this[t],a=1,o=0;for(;++o<r&&(a*=256);)i+=this[t+o]*a;return i};vr.prototype.readUintBE=vr.prototype.readUIntBE=function(t,r,n){t=t>>>0,r=r>>>0,n||el(t,r,this.length);let i=this[t+--r],a=1;for(;r>0&&(a*=256);)i+=this[t+--r]*a;return i};vr.prototype.readUint8=vr.prototype.readUInt8=function(t,r){return t=t>>>0,r||el(t,1,this.length),this[t]};vr.prototype.readUint16LE=vr.prototype.readUInt16LE=function(t,r){return t=t>>>0,r||el(t,2,this.length),this[t]|this[t+1]<<8};vr.prototype.readUint16BE=vr.prototype.readUInt16BE=function(t,r){return t=t>>>0,r||el(t,2,this.length),this[t]<<8|this[t+1]};vr.prototype.readUint32LE=vr.prototype.readUInt32LE=function(t,r){return t=t>>>0,r||el(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216};vr.prototype.readUint32BE=vr.prototype.readUInt32BE=function(t,r){return t=t>>>0,r||el(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])};vr.prototype.readBigUInt64LE=xp(function(t){t=t>>>0,cb(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&k3(t,this.length-8);let i=r+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24,a=this[++t]+this[++t]*2**8+this[++t]*2**16+n*2**24;return BigInt(i)+(BigInt(a)<<BigInt(32))});vr.prototype.readBigUInt64BE=xp(function(t){t=t>>>0,cb(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&k3(t,this.length-8);let i=r*2**24+this[++t]*2**16+this[++t]*2**8+this[++t],a=this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+n;return(BigInt(i)<<BigInt(32))+BigInt(a)});vr.prototype.readIntLE=function(t,r,n){t=t>>>0,r=r>>>0,n||el(t,r,this.length);let i=this[t],a=1,o=0;for(;++o<r&&(a*=256);)i+=this[t+o]*a;return a*=128,i>=a&&(i-=Math.pow(2,8*r)),i};vr.prototype.readIntBE=function(t,r,n){t=t>>>0,r=r>>>0,n||el(t,r,this.length);let i=r,a=1,o=this[t+--i];for(;i>0&&(a*=256);)o+=this[t+--i]*a;return a*=128,o>=a&&(o-=Math.pow(2,8*r)),o};vr.prototype.readInt8=function(t,r){return t=t>>>0,r||el(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]};vr.prototype.readInt16LE=function(t,r){t=t>>>0,r||el(t,2,this.length);let n=this[t]|this[t+1]<<8;return n&32768?n|4294901760:n};vr.prototype.readInt16BE=function(t,r){t=t>>>0,r||el(t,2,this.length);let n=this[t+1]|this[t]<<8;return n&32768?n|4294901760:n};vr.prototype.readInt32LE=function(t,r){return t=t>>>0,r||el(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24};vr.prototype.readInt32BE=function(t,r){return t=t>>>0,r||el(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]};vr.prototype.readBigInt64LE=xp(function(t){t=t>>>0,cb(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&k3(t,this.length-8);let i=this[t+4]+this[t+5]*2**8+this[t+6]*2**16+(n<<24);return(BigInt(i)<<BigInt(32))+BigInt(r+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24)});vr.prototype.readBigInt64BE=xp(function(t){t=t>>>0,cb(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&k3(t,this.length-8);let i=(r<<24)+this[++t]*2**16+this[++t]*2**8+this[++t];return(BigInt(i)<<BigInt(32))+BigInt(this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+n)});vr.prototype.readFloatLE=function(t,r){return t=t>>>0,r||el(t,4,this.length),fb.read(this,t,!0,23,4)};vr.prototype.readFloatBE=function(t,r){return t=t>>>0,r||el(t,4,this.length),fb.read(this,t,!1,23,4)};vr.prototype.readDoubleLE=function(t,r){return t=t>>>0,r||el(t,8,this.length),fb.read(this,t,!0,52,8)};vr.prototype.readDoubleBE=function(t,r){return t=t>>>0,r||el(t,8,this.length),fb.read(this,t,!1,52,8)};function Ku(e,t,r,n,i,a){if(!vr.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||t<a)throw new RangeError('"value" argument is out of bounds');if(r+n>e.length)throw new RangeError("Index out of range")}vr.prototype.writeUintLE=vr.prototype.writeUIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,n=n>>>0,!i){let s=Math.pow(2,8*n)-1;Ku(this,t,r,n,s,0)}let a=1,o=0;for(this[r]=t&255;++o<n&&(a*=256);)this[r+o]=t/a&255;return r+n};vr.prototype.writeUintBE=vr.prototype.writeUIntBE=function(t,r,n,i){if(t=+t,r=r>>>0,n=n>>>0,!i){let s=Math.pow(2,8*n)-1;Ku(this,t,r,n,s,0)}let a=n-1,o=1;for(this[r+a]=t&255;--a>=0&&(o*=256);)this[r+a]=t/o&255;return r+n};vr.prototype.writeUint8=vr.prototype.writeUInt8=function(t,r,n){return t=+t,r=r>>>0,n||Ku(this,t,r,1,255,0),this[r]=t&255,r+1};vr.prototype.writeUint16LE=vr.prototype.writeUInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Ku(this,t,r,2,65535,0),this[r]=t&255,this[r+1]=t>>>8,r+2};vr.prototype.writeUint16BE=vr.prototype.writeUInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Ku(this,t,r,2,65535,0),this[r]=t>>>8,this[r+1]=t&255,r+2};vr.prototype.writeUint32LE=vr.prototype.writeUInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Ku(this,t,r,4,4294967295,0),this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=t&255,r+4};vr.prototype.writeUint32BE=vr.prototype.writeUInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Ku(this,t,r,4,4294967295,0),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};function eRe(e,t,r,n,i){aRe(t,n,i,e,r,7);let a=Number(t&BigInt(4294967295));e[r++]=a,a=a>>8,e[r++]=a,a=a>>8,e[r++]=a,a=a>>8,e[r++]=a;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,r}function tRe(e,t,r,n,i){aRe(t,n,i,e,r,7);let a=Number(t&BigInt(4294967295));e[r+7]=a,a=a>>8,e[r+6]=a,a=a>>8,e[r+5]=a,a=a>>8,e[r+4]=a;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=o,o=o>>8,e[r+2]=o,o=o>>8,e[r+1]=o,o=o>>8,e[r]=o,r+8}vr.prototype.writeBigUInt64LE=xp(function(t,r=0){return eRe(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))});vr.prototype.writeBigUInt64BE=xp(function(t,r=0){return tRe(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))});vr.prototype.writeIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let l=Math.pow(2,8*n-1);Ku(this,t,r,n,l-1,-l)}let a=0,o=1,s=0;for(this[r]=t&255;++a<n&&(o*=256);)t<0&&s===0&&this[r+a-1]!==0&&(s=1),this[r+a]=(t/o>>0)-s&255;return r+n};vr.prototype.writeIntBE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let l=Math.pow(2,8*n-1);Ku(this,t,r,n,l-1,-l)}let a=n-1,o=1,s=0;for(this[r+a]=t&255;--a>=0&&(o*=256);)t<0&&s===0&&this[r+a+1]!==0&&(s=1),this[r+a]=(t/o>>0)-s&255;return r+n};vr.prototype.writeInt8=function(t,r,n){return t=+t,r=r>>>0,n||Ku(this,t,r,1,127,-128),t<0&&(t=255+t+1),this[r]=t&255,r+1};vr.prototype.writeInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Ku(this,t,r,2,32767,-32768),this[r]=t&255,this[r+1]=t>>>8,r+2};vr.prototype.writeInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Ku(this,t,r,2,32767,-32768),this[r]=t>>>8,this[r+1]=t&255,r+2};vr.prototype.writeInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Ku(this,t,r,4,2147483647,-2147483648),this[r]=t&255,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24,r+4};vr.prototype.writeInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Ku(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};vr.prototype.writeBigInt64LE=xp(function(t,r=0){return eRe(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});vr.prototype.writeBigInt64BE=xp(function(t,r=0){return tRe(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function rRe(e,t,r,n,i,a){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function nRe(e,t,r,n,i){return t=+t,r=r>>>0,i||rRe(e,t,r,4,34028234663852886e22,-34028234663852886e22),fb.write(e,t,r,n,23,4),r+4}vr.prototype.writeFloatLE=function(t,r,n){return nRe(this,t,r,!0,n)};vr.prototype.writeFloatBE=function(t,r,n){return nRe(this,t,r,!1,n)};function iRe(e,t,r,n,i){return t=+t,r=r>>>0,i||rRe(e,t,r,8,17976931348623157e292,-17976931348623157e292),fb.write(e,t,r,n,52,8),r+8}vr.prototype.writeDoubleLE=function(t,r,n){return iRe(this,t,r,!0,n)};vr.prototype.writeDoubleBE=function(t,r,n){return iRe(this,t,r,!1,n)};vr.prototype.copy=function(t,r,n,i){if(!vr.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),!i&&i!==0&&(i=this.length),r>=t.length&&(r=t.length),r||(r=0),i>0&&i<n&&(i=n),i===n||t.length===0||this.length===0)return 0;if(r<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-r<i-n&&(i=t.length-r+n);let a=i-n;return this===t&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(r,n,i):Uint8Array.prototype.set.call(t,this.subarray(n,i),r),a};vr.prototype.fill=function(t,r,n,i){if(typeof t=="string"){if(typeof r=="string"?(i=r,r=0,n=this.length):typeof n=="string"&&(i=n,n=this.length),i!==void 0&&typeof i!="string")throw new TypeError("encoding must be a string");if(typeof i=="string"&&!vr.isEncoding(i))throw new TypeError("Unknown encoding: "+i);if(t.length===1){let o=t.charCodeAt(0);(i==="utf8"&&o<128||i==="latin1")&&(t=o)}}else typeof t=="number"?t=t&255:typeof t=="boolean"&&(t=Number(t));if(r<0||this.length<r||this.length<n)throw new RangeError("Out of range index");if(n<=r)return this;r=r>>>0,n=n===void 0?this.length:n>>>0,t||(t=0);let a;if(typeof t=="number")for(a=r;a<n;++a)this[a]=t;else{let o=vr.isBuffer(t)?t:vr.from(t,i),s=o.length;if(s===0)throw new TypeError('The value "'+t+'" is invalid for argument "value"');for(a=0;a<n-r;++a)this[a+r]=o[a%s]}return this};var ub={};function kN(e,t,r){ub[e]=class extends r{constructor(){super(),Object.defineProperty(this,"message",{value:t.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${e}]`,this.stack,delete this.name}get code(){return e}set code(i){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:i,writable:!0})}toString(){return`${this.name} [${e}]: ${this.message}`}}}kN("ERR_BUFFER_OUT_OF_BOUNDS",function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError);kN("ERR_INVALID_ARG_TYPE",function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`},TypeError);kN("ERR_OUT_OF_RANGE",function(e,t,r){let n=`The value of "${e}" is out of range.`,i=r;return Number.isInteger(r)&&Math.abs(r)>2**32?i=X8e(String(r)):typeof r=="bigint"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=X8e(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n},RangeError);function X8e(e){let t="",r=e.length,n=e[0]==="-"?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function _Ct(e,t,r){cb(t,"offset"),(e[t]===void 0||e[t+r]===void 0)&&k3(t,e.length-(r+1))}function aRe(e,t,r,n,i,a){if(e>r||e<t){let o=typeof t=="bigint"?"n":"",s;throw a>3?t===0||t===BigInt(0)?s=`>= 0${o} and < 2${o} ** ${(a+1)*8}${o}`:s=`>= -(2${o} ** ${(a+1)*8-1}${o}) and < 2 ** ${(a+1)*8-1}${o}`:s=`>= ${t}${o} and <= ${r}${o}`,new ub.ERR_OUT_OF_RANGE("value",s,e)}_Ct(n,i,a)}function cb(e,t){if(typeof e!="number")throw new ub.ERR_INVALID_ARG_TYPE(t,"number",e)}function k3(e,t,r){throw Math.floor(e)!==e?(cb(e,r),new ub.ERR_OUT_OF_RANGE(r||"offset","an integer",e)):t<0?new ub.ERR_BUFFER_OUT_OF_BOUNDS:new ub.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}var TCt=/[^+/0-9A-Za-z-_]/g;function ACt(e){if(e=e.split("=")[0],e=e.trim().replace(TCt,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function TN(e,t){t=t||1/0;let r,n=e.length,i=null,a=[];for(let o=0;o<n;++o){if(r=e.charCodeAt(o),r>55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}else if(o+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return a}function MCt(e){let t=[];for(let r=0;r<e.length;++r)t.push(e.charCodeAt(r)&255);return t}function kCt(e,t){let r,n,i,a=[];for(let o=0;o<e.length&&!((t-=2)<0);++o)r=e.charCodeAt(o),n=r>>8,i=r%256,a.push(i),a.push(n);return a}function oRe(e){return bN.toByteArray(ACt(e))}function r6(e,t,r,n){let i;for(i=0;i<n&&!(i+r>=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function _v(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function SN(e){return e!==e}var SCt=function(){let e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function xp(e){return typeof BigInt>"u"?CCt:e}function CCt(){throw new Error("BigInt not supported")}});var _Re=J(qi=>{"use strict";var bp=mN(),Ml=B8e(),lRe=sRe().Buffer;global.__TYPEDARRAY_POOL||(global.__TYPEDARRAY_POOL={UINT8:Ml([32,0]),UINT16:Ml([32,0]),UINT32:Ml([32,0]),BIGUINT64:Ml([32,0]),INT8:Ml([32,0]),INT16:Ml([32,0]),INT32:Ml([32,0]),BIGINT64:Ml([32,0]),FLOAT:Ml([32,0]),DOUBLE:Ml([32,0]),DATA:Ml([32,0]),UINT8C:Ml([32,0]),BUFFER:Ml([32,0])});var ECt=typeof Uint8ClampedArray<"u",LCt=typeof BigUint64Array<"u",DCt=typeof BigInt64Array<"u",Jo=global.__TYPEDARRAY_POOL;Jo.UINT8C||(Jo.UINT8C=Ml([32,0]));Jo.BIGUINT64||(Jo.BIGUINT64=Ml([32,0]));Jo.BIGINT64||(Jo.BIGINT64=Ml([32,0]));Jo.BUFFER||(Jo.BUFFER=Ml([32,0]));var n6=Jo.DATA,i6=Jo.BUFFER;qi.free=function(t){if(lRe.isBuffer(t))i6[bp.log2(t.length)].push(t);else{if(Object.prototype.toString.call(t)!=="[object ArrayBuffer]"&&(t=t.buffer),!t)return;var r=t.length||t.byteLength,n=bp.log2(r)|0;n6[n].push(t)}};function uRe(e){if(e){var t=e.length||e.byteLength,r=bp.log2(t);n6[r].push(e)}}function RCt(e){uRe(e.buffer)}qi.freeUint8=qi.freeUint16=qi.freeUint32=qi.freeBigUint64=qi.freeInt8=qi.freeInt16=qi.freeInt32=qi.freeBigInt64=qi.freeFloat32=qi.freeFloat=qi.freeFloat64=qi.freeDouble=qi.freeUint8Clamped=qi.freeDataView=RCt;qi.freeArrayBuffer=uRe;qi.freeBuffer=function(t){i6[bp.log2(t.length)].push(t)};qi.malloc=function(t,r){if(r===void 0||r==="arraybuffer")return Qu(t);switch(r){case"uint8":return CN(t);case"uint16":return fRe(t);case"uint32":return cRe(t);case"int8":return hRe(t);case"int16":return vRe(t);case"int32":return dRe(t);case"float":case"float32":return pRe(t);case"double":case"float64":return gRe(t);case"uint8_clamped":return mRe(t);case"bigint64":return xRe(t);case"biguint64":return yRe(t);case"buffer":return wRe(t);case"data":case"dataview":return bRe(t);default:return null}return null};function Qu(t){var t=bp.nextPow2(t),r=bp.log2(t),n=n6[r];return n.length>0?n.pop():new ArrayBuffer(t)}qi.mallocArrayBuffer=Qu;function CN(e){return new Uint8Array(Qu(e),0,e)}qi.mallocUint8=CN;function fRe(e){return new Uint16Array(Qu(2*e),0,e)}qi.mallocUint16=fRe;function cRe(e){return new Uint32Array(Qu(4*e),0,e)}qi.mallocUint32=cRe;function hRe(e){return new Int8Array(Qu(e),0,e)}qi.mallocInt8=hRe;function vRe(e){return new Int16Array(Qu(2*e),0,e)}qi.mallocInt16=vRe;function dRe(e){return new Int32Array(Qu(4*e),0,e)}qi.mallocInt32=dRe;function pRe(e){return new Float32Array(Qu(4*e),0,e)}qi.mallocFloat32=qi.mallocFloat=pRe;function gRe(e){return new Float64Array(Qu(8*e),0,e)}qi.mallocFloat64=qi.mallocDouble=gRe;function mRe(e){return ECt?new Uint8ClampedArray(Qu(e),0,e):CN(e)}qi.mallocUint8Clamped=mRe;function yRe(e){return LCt?new BigUint64Array(Qu(8*e),0,e):null}qi.mallocBigUint64=yRe;function xRe(e){return DCt?new BigInt64Array(Qu(8*e),0,e):null}qi.mallocBigInt64=xRe;function bRe(e){return new DataView(Qu(e),0,e)}qi.mallocDataView=bRe;function wRe(e){e=bp.nextPow2(e);var t=bp.log2(e),r=i6[t];return r.length>0?r.pop():new lRe(e)}qi.mallocBuffer=wRe;qi.clearCache=function(){for(var t=0;t<32;++t)Jo.UINT8[t].length=0,Jo.UINT16[t].length=0,Jo.UINT32[t].length=0,Jo.INT8[t].length=0,Jo.INT16[t].length=0,Jo.INT32[t].length=0,Jo.FLOAT[t].length=0,Jo.DOUBLE[t].length=0,Jo.BIGUINT64[t].length=0,Jo.BIGINT64[t].length=0,Jo.UINT8C[t].length=0,n6[t].length=0,i6[t].length=0}});var TRe=J((bJt,EN)=>{var S3=mN();function PCt(e,t,r,n,i,a,o){e|=0,t|=0,r|=0,i|=0,a|=0,S3.isPow2(r)?a6(e,t,r,n,i,a):qCt(e,t,r,n,i,a,o)}EN.exports=PCt;function ICt(e){return S3.isPow2(e)?0:2*e+4*S3.nextPow2(2*e+1)}EN.exports.scratchMemory=ICt;function a6(e,t,r,n,i,a){e|=0,t|=0,r|=0,i|=0,a|=0;var o,s,l,u,f,c,h,d,v,m,b,g,_,T,w,k,x,M,A,p,S,y,E,C,L,R;for(o=r,s=S3.log2(o),A=0;A<t;++A){for(h=o>>1,f=0,l=0;l<o-1;l++){for(l<f&&(_=n[i+l],n[i+l]=n[i+f],n[i+f]=_,_=n[a+l],n[a+l]=n[a+f],n[a+f]=_),c=h;c<=f;)f-=c,c>>=1;f+=c}for(b=-1,g=0,m=1,d=0;d<s;d++){for(v=m,m<<=1,k=1,x=0,f=0;f<v;f++){for(l=f;l<o;l+=m)u=l+v,p=n[i+u],S=n[a+u],y=n[i+l],E=n[a+l],C=k*(p+S),L=p*(x-k),R=S*(k+x),T=C-R,w=C+L,n[i+u]=y-T,n[a+u]=E-w,n[i+l]+=T,n[a+l]+=w;C=b*(k+x),L=k*(g-b),R=x*(b+g),k=C-R,x=C+L}g=Math.sqrt((1-b)/2),e<0&&(g=-g),b=Math.sqrt((1+b)/2)}if(e<0){var I=1/o;for(l=0;l<o;l++)n[i+l]*=I,n[a+l]*=I}i+=r,a+=r}}function qCt(e,t,r,n,i,a,o){e|=0,t|=0,r|=0,i|=0,a|=0,o|=0;var s=S3.nextPow2(2*r+1),l=o,u=l+r,f=u+r,c=f+s,h=c+s,d=h+s,v=-e*Math.PI/r,m,b,g,_,T,w,k,x,M;for(M=0;M<r;++M)b=v*(M*M%(r*2)),_=Math.cos(b),T=Math.sin(b),n[h+(s-M)]=n[h+M]=n[l+M]=_,n[d+(s-M)]=n[d+M]=n[u+M]=T;for(M=r;M<=s-r;++M)n[h+M]=0;for(M=r;M<=s-r;++M)n[d+M]=0;for(a6(1,1,s,n,h,d),e<0?v=1/r:v=1,m=0;m<t;++m){for(M=0;M<r;++M)b=n[i+M],g=n[a+M],_=n[l+M],T=-n[u+M],w=_*(b+g),k=b*(T-_),x=g*(_+T),n[f+M]=w-x,n[c+M]=w+k;for(M=r;M<s;++M)n[f+M]=0;for(M=r;M<s;++M)n[c+M]=0;for(a6(1,1,s,n,f,c),M=0;M<s;++M)b=n[f+M],g=n[c+M],_=n[h+M],T=n[d+M],w=_*(b+g),k=b*(T-_),x=g*(_+T),n[f+M]=w-x,n[c+M]=w+k;for(a6(-1,1,s,n,f,c),M=0;M<r;++M)b=n[f+M],g=n[c+M],_=n[l+M],T=-n[u+M],w=_*(b+g),k=b*(T-_),x=g*(_+T),n[i+M]=v*(w-x),n[a+M]=v*(w+k);i+=r,a+=r}}});var kRe=J((wJt,MRe)=>{"use strict";var vb=L8e(),o6=pN(),LN=_Re(),ARe=TRe();function FCt(e,t,r){var n=t.shape,i=n.length,a=1,o=new Array(i),s=0,l,u;for(l=i-1;l>=0;--l)if(o[l]=a,a*=n[l],s=Math.max(s,ARe.scratchMemory(n[l])),t.shape[l]!==r.shape[l])throw new Error("Shape mismatch, real and imaginary arrays must have same size");var f=4*a+s,c;t.dtype==="array"||t.dtype==="float64"||t.dtype==="custom"?c=LN.mallocDouble(f):c=LN.mallocFloat(f);var h=o6(c,n.slice(0),o,0),d=o6(c,n.slice(0),o.slice(0),a),v=o6(c,n.slice(0),o.slice(0),2*a),m=o6(c,n.slice(0),o.slice(0),3*a),b,g,_,T,w=4*a;for(vb.assign(h,t),vb.assign(d,r),l=i-1;l>=0&&(ARe(e,a/n[l],n[l],c,h.offset,d.offset,w),l!==0);--l){for(g=1,_=v.stride,T=m.stride,u=l-1;u<i;++u)T[u]=_[u]=g,g*=n[u];for(u=l-2;u>=0;--u)T[u]=_[u]=g,g*=n[u];vb.assign(v,h),vb.assign(m,d),b=h,h=v,v=b,b=d,d=m,m=b}vb.assign(t,h),vb.assign(r,d),LN.free(c)}MRe.exports=FCt});var ERe=J((qJt,CRe)=>{"use strict";function OCt(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l>=0?(a=o,i=o-1):n=o+1}return a}function BCt(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l>0?(a=o,i=o-1):n=o+1}return a}function UCt(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l<0?(a=o,n=o+1):i=o-1}return a}function HCt(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l<=0?(a=o,n=o+1):i=o-1}return a}function jCt(e,t,r,n,i){for(;n<=i;){var a=n+i>>>1,o=e[a],s=r!==void 0?r(o,t):o-t;if(s===0)return a;s<=0?n=a+1:i=a-1}return-1}function D3(e,t,r,n,i,a){return typeof r=="function"?a(e,t,r,n===void 0?0:n|0,i===void 0?e.length-1:i|0):a(e,t,void 0,r===void 0?0:r|0,n===void 0?e.length-1:n|0)}CRe.exports={ge:function(e,t,r,n,i){return D3(e,t,r,n,i,OCt)},gt:function(e,t,r,n,i){return D3(e,t,r,n,i,BCt)},lt:function(e,t,r,n,i){return D3(e,t,r,n,i,UCt)},le:function(e,t,r,n,i){return D3(e,t,r,n,i,HCt)},eq:function(e,t,r,n,i){return D3(e,t,r,n,i,jCt)}}});var IRe=$c(bV());var wV="3.3.5";function BHe(e){return Boolean(e)}var UHe=e=>{let t=Array.from(document.querySelectorAll('style[id^="plotly.js"]')).map(r=>r.sheet).filter(BHe).flatMap(r=>Array.from(r.cssRules)).map(r=>r.cssText).join(`
|
|
`);e.innerHTML+=`
|
|
.js-plotly-plot .plotly .modebar-btn {
|
|
fill: rgb(136,136,136);
|
|
}
|
|
${t}`},_V=UHe;window.global=window;var vDe=Aue();vDe.register([kfe(),vce(),The(),jhe(),rve(),ede(),vde(),Qde(),C0e(),upe(),Zpe(),zge(),S1e(),dye(),Vye(),vxe(),Ybe(),f2e(),C2e(),B2e(),ewe(),pwe(),Dwe(),n3e(),S3e(),vTe(),MTe(),eAe(),lMe(),RMe(),vke(),ISe(),n5e(),A5e(),Z5e(),u4e(),uCe(),CCe(),qCe(),NCe(),UCe(),VCe(),_6e(),A6e(),k6e(),C6e(),L6e(),R6e(),I6e(),F6e(),N6e(),B6e(),H6e(),V6e(),G6e(),X6e(),J6e(),K6e(),eEe(),rEe(),iEe(),oEe(),lEe(),fEe(),hEe(),dEe(),gEe(),yEe(),bEe(),_Ee(),AEe(),kEe(),CEe(),LEe(),REe(),IEe(),FEe(),NEe(),BEe(),HEe(),VEe(),GEe(),XEe(),JEe(),KEe(),eLe(),rLe(),iLe(),oLe(),lLe(),fLe(),hLe(),dLe(),gLe(),yLe(),bLe(),_Le(),ALe(),kLe(),CLe(),LLe(),RLe(),ILe(),FLe(),NLe(),BLe(),HLe(),VLe(),GLe(),XLe(),JLe(),KLe(),eDe(),rDe(),iDe(),oDe(),lDe(),fDe(),hDe()]);var TC=vDe;function v3(e){return!(Dd(e)||yp(e))}function Dd(e){return!!e.attribute}function yp(e){return!!e.statistic}var d3=!0;if(!d3){let e=new WebSocket("ws://localhost:8081");e.addEventListener("connection",t=>{console.log("connected ",t)}),e.addEventListener("message",async t=>{if(window.no_hot_reload)return;console.log("Message from server ",t);let{action:r,payload:n}=JSON.parse(t.data);r==="update-app"&&window.location.reload(),r==="error"&&console.warn(n)})}var AC=e=>new Promise(t=>setTimeout(t,e));function dDe(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function pDe(e){let t=Promise.resolve(),r={cancelled:!1};return n=>{r.cancelled=!0;let i={cancelled:!1};return r=i,t=t.catch(()=>{}).then(()=>new Promise(async a=>{n&&await AC(n),requestAnimationFrame(async()=>{i.cancelled?a():a(e())})}))}}function Nm(e){if(e===null||e===!0||e===!1)return NaN;var t=Number(e);return isNaN(t)?t:t<0?Math.ceil(t):Math.floor(t)}function Ni(e,t){if(t.length<e)throw new TypeError(e+" argument"+(e>1?"s":"")+" required, but only "+t.length+" present")}function MC(e){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?MC=function(r){return typeof r}:MC=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},MC(e)}function da(e){Ni(1,arguments);var t=Object.prototype.toString.call(e);return e instanceof Date||MC(e)==="object"&&t==="[object Date]"?new Date(e.getTime()):typeof e=="number"||t==="[object Number]"?new Date(e):((typeof e=="string"||t==="[object String]")&&typeof console<"u"&&(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"),console.warn(new Error().stack)),new Date(NaN))}var gDe={};function ib(){return gDe}function mDe(e){gDe=e}function kC(e,t){var r,n,i,a,o,s,l,u;Ni(1,arguments);var f=ib(),c=Nm((r=(n=(i=(a=t?.weekStartsOn)!==null&&a!==void 0?a:t==null||(o=t.locale)===null||o===void 0||(s=o.options)===null||s===void 0?void 0:s.weekStartsOn)!==null&&i!==void 0?i:f.weekStartsOn)!==null&&n!==void 0?n:(l=f.locale)===null||l===void 0||(u=l.options)===null||u===void 0?void 0:u.weekStartsOn)!==null&&r!==void 0?r:0);if(!(c>=0&&c<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var h=da(e),d=h.getDay(),v=(d<c?7:0)+d-c;return h.setDate(h.getDate()-v),h.setHours(0,0,0,0),h}function SC(e){Ni(1,arguments);var t=da(e);return t.setHours(0,0,0,0),t}var q5t=365.2425,F5t=Math.pow(10,8)*24*60*60*1e3,Qz=6e4,eN=36e5;var AGt=-F5t;var z5t=3600;var yDe=z5t*24,MGt=yDe*7,N5t=yDe*q5t,O5t=N5t/12,kGt=O5t*3;function CC(e){Ni(1,arguments);var t=da(e);return t.setHours(23,59,59,999),t}function EC(e){Ni(1,arguments);var t=da(e),r=t.getMonth();return t.setFullYear(t.getFullYear(),r+1,0),t.setHours(23,59,59,999),t}function LC(e){Ni(1,arguments);var t=da(e);return t.setSeconds(0,0),t}function DC(e){Ni(1,arguments);var t=da(e),r=t.getMonth(),n=r-r%3;return t.setMonth(n,1),t.setHours(0,0,0,0),t}function RC(e){Ni(1,arguments);var t=da(e);return t.setDate(1),t.setHours(0,0,0,0),t}function PC(e){Ni(1,arguments);var t=da(e),r=t.getFullYear();return t.setFullYear(r+1,0,0),t.setHours(23,59,59,999),t}function IC(e){Ni(1,arguments);var t=da(e),r=new Date(0);return r.setFullYear(t.getFullYear(),0,1),r.setHours(0,0,0,0),r}function qC(e){Ni(1,arguments);var t=da(e);return t.setMinutes(59,59,999),t}function FC(e,t){var r,n,i,a,o,s,l,u;Ni(1,arguments);var f=ib(),c=Nm((r=(n=(i=(a=t?.weekStartsOn)!==null&&a!==void 0?a:t==null||(o=t.locale)===null||o===void 0||(s=o.options)===null||s===void 0?void 0:s.weekStartsOn)!==null&&i!==void 0?i:f.weekStartsOn)!==null&&n!==void 0?n:(l=f.locale)===null||l===void 0||(u=l.options)===null||u===void 0?void 0:u.weekStartsOn)!==null&&r!==void 0?r:0);if(!(c>=0&&c<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var h=da(e),d=h.getDay(),v=(d<c?-7:0)+6-(d-c);return h.setDate(h.getDate()+v),h.setHours(23,59,59,999),h}function zC(e){Ni(1,arguments);var t=da(e);return t.setSeconds(59,999),t}function NC(e){Ni(1,arguments);var t=da(e),r=t.getMonth(),n=r-r%3+3;return t.setMonth(n,0),t.setHours(23,59,59,999),t}function OC(e){Ni(1,arguments);var t=da(e);return t.setMinutes(0,0,0),t}function ab(e,t){var r;Ni(1,arguments);var n=Nm((r=t?.additionalDigits)!==null&&r!==void 0?r:2);if(n!==2&&n!==1&&n!==0)throw new RangeError("additionalDigits must be 0, 1 or 2");if(!(typeof e=="string"||Object.prototype.toString.call(e)==="[object String]"))return new Date(NaN);var i=j5t(e),a;if(i.date){var o=V5t(i.date,n);a=Y5t(o.restDateString,o.year)}if(!a||isNaN(a.getTime()))return new Date(NaN);var s=a.getTime(),l=0,u;if(i.time&&(l=G5t(i.time),isNaN(l)))return new Date(NaN);if(i.timezone){if(u=W5t(i.timezone),isNaN(u))return new Date(NaN)}else{var f=new Date(s+l),c=new Date(0);return c.setFullYear(f.getUTCFullYear(),f.getUTCMonth(),f.getUTCDate()),c.setHours(f.getUTCHours(),f.getUTCMinutes(),f.getUTCSeconds(),f.getUTCMilliseconds()),c}return new Date(s+l+u)}var BC={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},B5t=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,U5t=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,H5t=/^([+-])(\d{2})(?::?(\d{2}))?$/;function j5t(e){var t={},r=e.split(BC.dateTimeDelimiter),n;if(r.length>2)return t;if(/:/.test(r[0])?n=r[0]:(t.date=r[0],n=r[1],BC.timeZoneDelimiter.test(t.date)&&(t.date=e.split(BC.timeZoneDelimiter)[0],n=e.substr(t.date.length,e.length))),n){var i=BC.timezone.exec(n);i?(t.time=n.replace(i[1],""),t.timezone=i[1]):t.time=n}return t}function V5t(e,t){var r=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+t)+"})|(\\d{2}|[+-]\\d{"+(2+t)+"})$)"),n=e.match(r);if(!n)return{year:NaN,restDateString:""};var i=n[1]?parseInt(n[1]):null,a=n[2]?parseInt(n[2]):null;return{year:a===null?i:a*100,restDateString:e.slice((n[1]||n[2]).length)}}function Y5t(e,t){if(t===null)return new Date(NaN);var r=e.match(B5t);if(!r)return new Date(NaN);var n=!!r[4],i=p3(r[1]),a=p3(r[2])-1,o=p3(r[3]),s=p3(r[4]),l=p3(r[5])-1;if(n)return K5t(t,s,l)?X5t(t,s,l):new Date(NaN);var u=new Date(0);return!J5t(t,a,o)||!$5t(t,i)?new Date(NaN):(u.setUTCFullYear(t,a,Math.max(i,o)),u)}function p3(e){return e?parseInt(e):1}function G5t(e){var t=e.match(U5t);if(!t)return NaN;var r=tN(t[1]),n=tN(t[2]),i=tN(t[3]);return Q5t(r,n,i)?r*eN+n*Qz+i*1e3:NaN}function tN(e){return e&&parseFloat(e.replace(",","."))||0}function W5t(e){if(e==="Z")return 0;var t=e.match(H5t);if(!t)return 0;var r=t[1]==="+"?-1:1,n=parseInt(t[2]),i=t[3]&&parseInt(t[3])||0;return e4t(n,i)?r*(n*eN+i*Qz):NaN}function X5t(e,t,r){var n=new Date(0);n.setUTCFullYear(e,0,4);var i=n.getUTCDay()||7,a=(t-1)*7+r+1-i;return n.setUTCDate(n.getUTCDate()+a),n}var Z5t=[31,null,31,30,31,30,31,31,30,31,30,31];function xDe(e){return e%400===0||e%4===0&&e%100!==0}function J5t(e,t,r){return t>=0&&t<=11&&r>=1&&r<=(Z5t[t]||(xDe(e)?29:28))}function $5t(e,t){return t>=1&&t<=(xDe(e)?366:365)}function K5t(e,t,r){return t>=1&&t<=53&&r>=0&&r<=6}function Q5t(e,t,r){return e===24?t===0&&r===0:r>=0&&r<60&&t>=0&&t<60&&e>=0&&e<25}function e4t(e,t){return t>=0&&t<=59}function UC(e){Ni(1,arguments);var t={},r=ib();for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n]);for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(e[i]===void 0?delete t[i]:t[i]=e[i]);mDe(t)}var t4t=250,HC=class{constructor(t){this.isEnabled=!0;this.clientX=0;this.clientY=0;this.lastSingleTouchTimestamp=0;this.state="idle";this.onTouchStart=async t=>{if(!this.isEnabled)return;let r=this.state;if(this.state="idle",t.touches.length==1){let n=Date.now();n-this.lastSingleTouchTimestamp<t4t?(t.stopPropagation(),t.stopImmediatePropagation(),this.state="one finger",this.clientX=t.touches[0].clientX,this.clientY=t.touches[0].clientY,this.lastTouches=t.touches,this.elRect=this.el.getBoundingClientRect()):this.lastSingleTouchTimestamp=n}else t.touches.length==2&&(this.state="two fingers",this.lastTouches=t.touches,this.clientX=(t.touches[0].clientX+t.touches[1].clientX)/2,this.clientY=(t.touches[0].clientY+t.touches[1].clientY)/2);r==="idle"&&r!==this.state&&this.onZoomStart()};this.onTouchMove=async t=>{this.isEnabled&&(t.touches.length===1&&this.state==="one finger"&&this.handleSingleFingerZoom(t),t.touches.length===2&&this.state==="two fingers"&&this.handleTwoFingersZoom(t))};this.onTouchEnd=()=>{this.isEnabled&&this.state!=="idle"&&(this.onZoomEnd(),this.state="idle")};this.el=t.el,this.onZoomStart=t.onZoomStart,this.onZoomEnd=t.onZoomEnd}disconnect(){this.el.removeEventListener("touchmove",this.onTouchMove),this.el.removeEventListener("touchstart",this.onTouchStart),this.el.removeEventListener("touchend",this.onTouchEnd)}connect(){this.el.addEventListener("touchmove",this.onTouchMove,{capture:!0}),this.el.addEventListener("touchstart",this.onTouchStart,{capture:!0}),this.el.addEventListener("touchend",this.onTouchEnd,{capture:!0})}async handleSingleFingerZoom(t){t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation();let r=this.lastTouches;this.lastTouches=t.touches;let i=t.touches[0].clientY-r[0].clientY;await this.handleZoom(i)}async handleTwoFingersZoom(t){t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation();let r=this.lastTouches;this.lastTouches=t.touches;let n=t.touches,i=Math.sqrt((r[0].clientX-r[1].clientX)**2+(r[0].clientY-r[1].clientY)**2),a=Math.sqrt((n[0].clientX-n[1].clientX)**2+(n[0].clientY-n[1].clientY)**2);await this.handleZoom(a-i)}async handleZoom(t){let r=new WheelEvent("wheel",{clientX:this.clientX,clientY:this.clientY,deltaX:0,deltaY:-t});this.el.querySelector(".nsewdrag.drag").dispatchEvent(r)}};var r4t=([e,t],[r,n])=>{if(t<r)return[[e,t]];if(n<e)return[[e,t]];if(e<r&&n<t)return[[e,r-1],[n+1,t]];if(r<=e&&t<=n)return[];if(r<=e&&e<=n&&n<t)return[[n+1,t]];if(e<r&&r<=t&&t<=n)return[[e,r-1]];throw new Error("Error computing range subtraction. Please report an issue in the repo of this card and share this:"+JSON.stringify([e,t])+JSON.stringify([r,n]))},n4t=(e,t)=>e.flatMap(r=>r4t(r,t)),bDe=(e,t)=>t.reduce((r,n)=>n4t(r,n),e),wDe=e=>e.slice().sort((t,r)=>t[0]-r[0]).reduce((t,r)=>{if(t.length===0)return[r];let n=t[t.length-1];if(n[1]+1>=r[0]){let i=[n[0],r[1]];return[...t.slice(0,-1),i]}return[...t,r]},[]);async function i4t(e,t,[r,n]){let i=null;try{i=(await e.callWS({type:"recorder/statistics_during_period",start_time:r.toISOString(),end_time:n.toISOString(),statistic_ids:[t.entity],period:t.period}))[t.entity]}catch(a){throw console.error(a),new Error(`Error fetching statistics of ${t.entity}: ${JSON.stringify(a.message||"")}`)}return(i||[]).map(a=>({statistics:a,x:new Date(a.start),y:null})).filter(({x:a})=>a)}var _De=i4t;async function a4t(e,t,[r,n]){let i=`history/period/${r.toISOString()}?`+[`filter_entity_id=${t.entity}`,"significant_changes_only=0",Dd(t)?"":"no_attributes&",Dd(t)?"":"minimal_response&",`end_time=${n.toISOString()}`].filter(Boolean).join("&"),a;try{a=(await e.callApi("GET",i)||[])[0]}catch(o){throw console.error(o),new Error(`Error fetching states of ${t.entity}: ${JSON.stringify(o.message||"")}`)}return(a||[]).map(o=>({state:o,x:new Date(o.last_updated||o.last_changed),y:null})).filter(({x:o})=>o)}var TDe=a4t;async function o4t(e,t,[r,n]){let i=Math.max(0,5e3-(n-r)),a=new Date(r-1-i);n=Math.min(n,Date.now());let o=new Date(n),s;return yp(t)?s=await _De(e,t,[a,o]):(s=await TDe(e,t,[a,o]),s.length&&(s[0].fake_boundary_datapoint=!0)),{range:[r,n],history:s}}function rN(e){if(Dd(e))return`${e.entity}::attribute:`;if(yp(e))return`${e.entity}::statistics::${e.period}`;if(v3(e))return`${e.entity}`;throw new Error(`Entity malformed:${JSON.stringify(e)}`)}var s4t=Date.parse("0001-01-02T00:00:00.000Z"),g3=class{constructor(){this.ranges={};this.histories={};this.busy=Promise.resolve(null)}add(t,r,n){var o,s,l,u;let i=rN(t),a=(s=(o=this.histories)[i])!=null?s:o[i]=[];a.push(...r),a.sort((f,c)=>+f.x-+c.x),yp(t)||(a=a.filter((f,c)=>c==0||!f.fake_boundary_datapoint)),a=a.filter((f,c)=>{var h;return+((h=a[c-1])==null?void 0:h.x)!=+a[c].x}),this.histories[i]=a,(u=(l=this.ranges)[i])!=null||(l[i]=[]),this.ranges[i].push(n),this.ranges[i]=wDe(this.ranges[i])}clearCache(){this.ranges={},this.histories={}}getData(t){let r=rN(t),n=this.histories[r]||[],i={xs:[],ys:[],states:[],statistics:[]};if(i.xs=n.map(({x:a})=>a),yp(t))i.statistics=n.map(({statistics:a})=>a),i.ys=i.statistics.map(a=>a[t.statistic]);else if(Dd(t))i.states=n.map(({state:a})=>a),i.ys=i.states.map(a=>a.attributes[t.attribute]);else if(v3(t))i.states=n.map(({state:a})=>a),i.ys=i.states.map(a=>a.state);else throw new Error(`Unrecognised fetch type for ${t.entity}`);return i.ys=i.ys.map(a=>a==="unavailable"||a==="none"||a==="unknown"?null:a),i}async fetch(t,r,n){return this.busy=this.busy.catch(()=>{}).then(async()=>{var i,a;if(t=t.map(o=>Math.max(s4t,o)),r.entity){let o=rN(r);(a=(i=this.ranges)[o])!=null||(i[o]=[]);let s=bDe([t],this.ranges[o]);for(let l of s){let u=await o4t(n,r,l);this.add(r,u.history,u.range)}}return this.getData(r)})}};var DRe=$c(iN()),RRe=$c(oE());var Om=$c(VC());var YC={accent:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17","#666666"],category10:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],category20:["#1f77b4","#aec7e8","#ff7f0e","#ffbb78","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5","#8c564b","#c49c94","#e377c2","#f7b6d2","#7f7f7f","#c7c7c7","#bcbd22","#dbdb8d","#17becf","#9edae5"],category20b:["#393b79","#5254a3","#6b6ecf","#9c9ede","#637939","#8ca252","#b5cf6b","#cedb9c","#8c6d31","#bd9e39","#e7ba52","#e7cb94","#843c39","#ad494a","#d6616b","#e7969c","#7b4173","#a55194","#ce6dbd","#de9ed6"],category20c:["#3182bd","#6baed6","#9ecae1","#c6dbef","#e6550d","#fd8d3c","#fdae6b","#fdd0a2","#31a354","#74c476","#a1d99b","#c7e9c0","#756bb1","#9e9ac8","#bcbddc","#dadaeb","#636363","#969696","#bdbdbd","#d9d9d9"],dark2:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d","#666666"],paired:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99","#b15928"],pastel1:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec","#f2f2f2"],pastel2:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc","#cccccc"],set1:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf","#999999"],set2:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494","#b3b3b3"],set3:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5","#ffed6f"],tableau10:["#4c78a8","#f58518","#e45756","#72b7b2","#54a24b","#eeca3b","#b279a2","#ff9da6","#9d755d","#bab0ac"],tableau20:["#4c78a8","#9ecae9","#f58518","#ffbf79","#54a24b","#88d27a","#b79a20","#f2cf5b","#439894","#83bcb6","#e45756","#ff9d98","#79706e","#bab0ac","#d67195","#fcbfd2","#b279a2","#d6a5c9","#9e765f","#d8b5a5"],retro_metro:["#ea5545","#f46a9b","#ef9b20","#edbf33","#ede15b","#bdcf32","#87bc45","#27aeef","#b33dc6"],dutch_field:["#e60049","#0bb4ff","#50e991","#e6d800","#9b19f5","#ffa300","#dc0ab4","#b3d4ff","#00bfa0"],river_nights:["#b30000","#7c1158","#4421af","#1a53ff","#0d88e6","#00b7c7","#5ad45a","#8be04e","#ebdc78"],spring_pastels:["#fd7f6f","#7eb0d5","#b2e061","#bd7ebe","#ffb55a","#ffee65","#beb9db","#fdcce5","#8bd3c7"],blue_to_yellow:["#115f9a","#1984c5","#22a7f0","#48b5c4","#76c68f","#a6d75b","#c9e52f","#d0ee11","#d0f400"],grey_to_red:["#d7e1ee","#cbd6e4","#bfcbdb","#b3bfd1","#a4a2a8","#df8879","#c86558","#b04238","#991f17"],black_to_pink:["#2e2b28","#3b3734","#474440","#54504c","#6b506b","#ab3da9","#de25da","#eb44e8","#ff80ff"],blue_to_red:["#1984c5","#22a7f0","#63bff0","#a7d5ed","#e2e2e2","#e1a692","#de6e56","#e14b31","#c23728"],orange_to_purple:["#ffb400","#d2980d","#a57c1b","#786028","#363445","#48446e","#5e569b","#776bcd","#9080ff"],pink_foam:["#54bebe","#76c8c8","#98d1d1","#badbdb","#dedad2","#e4bcad","#df979e","#d7658b","#c80064"],salmon_to_aqua:["#e27c7c","#a86464","#6d4b4b","#503f3f","#333333","#3c4e4b","#466964","#599e94","#6cd4c5"]};function f4t(e){return Array.isArray(e)}function CDe(e){let t=e!=null?e:"category10",r=f4t(t)?t:YC[t]||YC[Object.keys(YC)[t]]||null;if(r===null)throw new Error(`color_scheme: "${e}" is not valid. Valid are an array of colors (see readme) or ${Object.keys(YC)}`);return r}var aN={tickcolor:"rgba(127,127,127,.3)",gridcolor:"rgba(127,127,127,.3)",linecolor:"rgba(127,127,127,.3)",zerolinecolor:"rgba(127,127,127,.3)"};function oN(e){return{paper_bgcolor:e["card-background-color"],plot_bgcolor:e["card-background-color"],font:{color:e["secondary-text-color"],size:11},xaxis:{...aN},yaxis:{...aN},...Object.fromEntries(Array.from({length:28}).map((t,r)=>[`yaxis${r+2}`,{...aN}]))}}var GC=()=>()=>{},c4t={entity:"",show_value:!1,internal:!1,time_offset:"0s",on_legend_click:GC,on_legend_dblclick:GC,on_click:GC},h4t={mode:"lines",line:{width:1,shape:"hv",color:({getFromConfig:e,path:t})=>{let r=CDe(e("color_scheme"));return r[WC(t)%r.length]}},unit_of_measurement:({meta:e})=>e.unit_of_measurement||"",name:({meta:e,getFromConfig:t})=>{let r=e.friendly_name||t(".entity"),n=t(".attribute");return n&&(r+=` (${n}) `),r},hovertemplate:({getFromConfig:e})=>`<b>${e(".name")}</b><br><i>%{x}</i><br>%{y} ${e(".unit_of_measurement")}<extra></extra>`,yaxis:({getFromConfig:e,path:t})=>{let r=[];for(let i=0;i<=WC(t);i++){let a=e(`entities.${i}.unit_of_measurement`);!e(`entities.${i}.internal`)&&!r.includes(a)&&r.push(a)}let n=r.indexOf(e(".unit_of_measurement"))+1;return"y"+(n===1?"":n)}},v4t={title:"",hours_to_show:1,refresh_interval:"auto",color_scheme:"category10",time_offset:"0s",raw_plotly_config:!1,ha_theme:!0,disable_pinch_to_zoom:!1,raw_plotly:!1,defaults:{entity:{},yaxes:{}},layout:{},on_dblclick:GC,autorange_after_scroll:!1},EDe={side:"right",overlaying:"y",showgrid:!1,visible:!1,layer:"below traces"},d4t={config:{displaylogo:!1,scrollZoom:!0,modeBarButtonsToRemove:["resetScale2d","toImage","lasso2d","select2d"],locale:({hass:e})=>{var t;return(t=e.locale)==null?void 0:t.language}},layout:{height:285,dragmode:"pan",xaxis:{autorange:!1,type:"date"},yaxis:{},yaxis2:{...EDe,visible:!0},...Object.fromEntries(Array.from({length:27}).map((e,t)=>[`yaxis${t+3}`,{...EDe}])),legend:{orientation:"h",bgcolor:"transparent",x:0,y:1,yanchor:"bottom"},title:{y:1,pad:{t:15}},modebar:{orientation:"v"},margin:{b:50,t:0,l:60,r:({getFromConfig:e})=>{let t=e("entities"),r=t.some(({yaxis:i})=>i==="y2"),n=t.some(({show_value:i})=>i);return r|n?60:30}}}};function LDe(e,t){let r=(0,Om.merge)({},e,v4t,e);for(let n=1;n<31;n++){let i="yaxis"+(n==1?"":n);r.layout[i]=(0,Om.merge)({},r.layout[i],r.defaults.yaxes,r.layout[i])}return r=(0,Om.merge)({},r,{layout:r.ha_theme?oN(t):{}},r.raw_plotly_config?{}:d4t,r),r.entities=r.entities.map(n=>{var o,s;typeof n=="string"&&(n={entity:n}),(o=n.entity)!=null||(n.entity="");let[i,a]=n.entity.split("::");return a&&(n.entity=i,n.attribute=a),n=(0,Om.merge)({},n,c4t,r.raw_plotly_config?{}:h4t,(s=r.defaults)==null?void 0:s.entity,n),n}),r}function DDe(e){let t=Object.fromEntries(e.entities.map(({unit_of_measurement:n,yaxis:i})=>["yaxis"+(i==null?void 0:i.slice(1)),{title:n}])),r=(0,Om.merge)({},e.layout,e.raw_plotly_config?{}:{xaxis:{range:e.visible_range}},e.raw_plotly_config?{}:t,e.layout);return(0,Om.merge)({},e,{layout:r},e)}var sb={ms:1,s:1e3,m:1e3*60,h:1e3*60*60,d:1e3*60*60*24,w:1e3*60*60*24*7,M:1e3*60*60*24*30,y:1e3*60*60*24*365},mu=e=>{if(e==="0")return 0;if(!e||!e.match)throw new Error(`Cannot parse "${e}" as a duration`);let t=e.match(/^(?<sign>[+-])?(?<number>\d*(\.\d)?)(?<unit>(ms|s|m|h|d|w|M|y))$/);if(!t||!t.groups)throw new Error(`Cannot parse "${e}" as a duration`);let r=t.groups,n=r.sign==="-"?-1:1,i=parseFloat(r.number);if(Number.isNaN(i))throw new Error(`Cannot parse "${e}" as a duration`);let a=sb[r.unit];if(a===void 0)throw new Error(`Cannot parse "${e}" as a duration`);return n*i*a},RDe=e=>{try{return mu(e),!0}catch(t){return!1}},PDe=e=>{let t=e.locale.first_weekday,r={language:void 0,sunday:0,monday:1,tuesday:2,wednesday:3,thursday:4,friday:5,saturday:6}[t];UC({locale:{code:e.locale.language},weekStartsOn:r})},sN=e=>{let t=new Date;switch(e){case"current_minute":return[+LC(t),+zC(t)];case"current_hour":return[+OC(t),+qC(t)];case"current_day":return[+SC(t),+CC(t)];case"current_week":return[+kC(t),+FC(t)];case"current_month":return[+RC(t),+EC(t)];case"current_quarter":return[+DC(t),+NC(t)];case"current_year":return[+IC(t),+PC(t)]}throw new Error(`${e} is not a dynamic relative time`)},IDe=e=>{try{return sN(e),!0}catch(t){return!1}};var lN=["state","sum","min","max","mean"],y3=["5minute","hour","day","week","month"];function p4t(e){if(!dDe(e))return!1;let t=-1;for(let r in e){let n=e[r],i=mu(r);if(!y3.includes(n))throw new Error(`Error parsing automatic period config: "${n}" not expected. Must be ${y3}`);if(i<=t)throw new Error(`Error parsing automatic period config: ranges must be sorted in ascending order, "${r}" not expected`);t=i}return!0}function qDe(e,t,r){if(!t&&!r)return null;if(t!=null||(t="mean"),r!=null||(r="hour"),r==="auto"&&(r={0:"5minute","100h":"hour","100d":"day","100w":"week","100M":"month"}),p4t(r)){let n=r;r="5minute";let i=e[1]-e[0],a=Object.entries(n).map(([o,s])=>[mu(o),s]);for(let[o,s]of a)i>=o&&(r=s)}if(!lN.includes(t))throw new Error(`statistic: "${t}" is not valid. Use ${lN}`);if(!y3.includes(r))throw new Error(`period: "${r}" is not valid. Use ${y3}`);return{statistic:t,period:r}}var SRe=$c(iN());var g4t=Object.prototype.toString;function pa(e){return g4t.call(e).endsWith("Array]")}function Zi(e,t){return e<0?(e=0-e,typeof t=="number"?`- ${e.toPrecision(t)}`:`- ${e.toString()}`):typeof t=="number"?e.toPrecision(t):e.toString()}function Wl(e,t){if(!pa(e)||!pa(t))throw new TypeError("x and y must be arrays");if(e.length!==t.length)throw new RangeError("x and y arrays must have the same length")}var Is=class{constructor(){if(new.target===Is)throw new Error("BaseRegression must be subclassed")}predict(t){if(typeof t=="number")return this._predict(t);if(pa(t)){let r=[];for(let n=0;n<t.length;n++)r.push(this._predict(t[n]));return r}else throw new TypeError("x must be a number or array")}_predict(){throw new Error("_predict must be implemented")}train(){}toString(){return""}toLaTeX(){return""}score(t,r){if(!pa(t)||!pa(r)||t.length!==r.length)throw new Error("x and y must be arrays of the same length");let n=t.length,i=new Array(n);for(let d=0;d<n;d++)i[d]=this._predict(t[d]);let a=0,o=0,s=0,l=0,u=0,f=0,c=0;for(let d=0;d<n;d++)a+=i[d],o+=r[d],u+=i[d]*i[d],f+=r[d]*r[d],c+=i[d]*r[d],r[d]!==0&&(s+=(r[d]-i[d])*(r[d]-i[d])/r[d]),l+=(r[d]-i[d])*(r[d]-i[d]);let h=(n*c-a*o)/Math.sqrt((n*u-a*a)*(n*f-o*o));return{r:h,r2:h*h,chi2:s,rmsd:Math.sqrt(l/n)}}};var Lc=class extends Is{constructor(t,r){super(),t===!0?(this.slope=r.slope,this.intercept=r.intercept,this.coefficients=[r.intercept,r.slope]):(Wl(t,r),m4t(this,t,r))}toJSON(){return{name:"simpleLinearRegression",slope:this.slope,intercept:this.intercept}}_predict(t){return this.slope*t+this.intercept}computeX(t){return(t-this.intercept)/this.slope}toString(t){let r="f(x) = ";if(this.slope!==0){let n=Zi(this.slope,t);if(r+=`${n==="1"?"":`${n} * `}x`,this.intercept!==0){let i=Math.abs(this.intercept),a=i===this.intercept?"+":"-";r+=` ${a} ${Zi(i,t)}`}}else r+=Zi(this.intercept,t);return r}toLaTeX(t){return this.toString(t)}static load(t){if(t.name!=="simpleLinearRegression")throw new TypeError("not a SLR model");return new Lc(!0,t)}};function m4t(e,t,r){let n=t.length,i=0,a=0,o=0,s=0;for(let u=0;u<n;u++)i+=t[u],a+=r[u],o+=t[u]*t[u],s+=t[u]*r[u];let l=n*s-i*a;e.slope=l/(n*o-i*i),e.intercept=1/n*a-e.slope*(1/n)*i,e.coefficients=[e.intercept,e.slope]}function FDe(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!pa(e))throw new TypeError("input must be an array");if(e.length===0)throw new TypeError("input must not be empty");var r=t.fromIndex,n=r===void 0?0:r,i=t.toIndex,a=i===void 0?e.length:i;if(n<0||n>=e.length||!Number.isInteger(n))throw new Error("fromIndex must be a positive integer smaller than length");if(a<=n||a>e.length||!Number.isInteger(a))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var o=e[n],s=n+1;s<a;s++)e[s]>o&&(o=e[s]);return o}function zDe(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!pa(e))throw new TypeError("input must be an array");if(e.length===0)throw new TypeError("input must not be empty");var r=t.fromIndex,n=r===void 0?0:r,i=t.toIndex,a=i===void 0?e.length:i;if(n<0||n>=e.length||!Number.isInteger(n))throw new Error("fromIndex must be a positive integer smaller than length");if(a<=n||a>e.length||!Number.isInteger(a))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var o=e[n],s=n+1;s<a;s++)e[s]<o&&(o=e[s]);return o}function uN(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(pa(e)){if(e.length===0)throw new TypeError("input must not be empty")}else throw new TypeError("input must be an array");var r;if(t.output!==void 0){if(!pa(t.output))throw new TypeError("output option must be an array if specified");r=t.output}else r=new Array(e.length);var n=zDe(e),i=FDe(e);if(n===i)throw new RangeError("minimum and maximum input values are equal. Cannot rescale a constant array");var a=t.min,o=a===void 0?t.autoMinMax?n:0:a,s=t.max,l=s===void 0?t.autoMinMax?i:1:s;if(o>=l)throw new RangeError("min option must be smaller than max option");for(var u=(l-o)/(i-n),f=0;f<e.length;f++)r[f]=(e[f]-n)*u+o;return r}var XC=" ".repeat(2),ODe=" ".repeat(4);function BDe(){return fN(this)}function fN(e,t={}){let{maxRows:r=15,maxColumns:n=10,maxNumSize:i=8,padMinus:a="auto"}=t;return`${e.constructor.name} {
|
|
${XC}[
|
|
${ODe}${y4t(e,r,n,i,a)}
|
|
${XC}]
|
|
${XC}rows: ${e.rows}
|
|
${XC}columns: ${e.columns}
|
|
}`}function y4t(e,t,r,n,i){let{rows:a,columns:o}=e,s=Math.min(a,t),l=Math.min(o,r),u=[];if(i==="auto"){i=!1;e:for(let f=0;f<s;f++)for(let c=0;c<l;c++)if(e.get(f,c)<0){i=!0;break e}}for(let f=0;f<s;f++){let c=[];for(let h=0;h<l;h++)c.push(x4t(e.get(f,h),n,i));u.push(`${c.join(" ")}`)}return l!==o&&(u[u.length-1]+=` ... ${o-r} more columns`),s!==a&&u.push(`... ${a-t} more rows`),u.join(`
|
|
${ODe}`)}function x4t(e,t,r){return(e>=0&&r?` ${NDe(e,t-1)}`:NDe(e,t)).padEnd(t)}function NDe(e,t){let r=e.toString();if(r.length<=t)return r;let n=e.toFixed(t);if(n.length>t&&(n=e.toFixed(Math.max(0,t-(n.length-t)))),n.length<=t&&!n.startsWith("0.000")&&!n.startsWith("-0.000"))return n;let i=e.toExponential(t);return i.length>t&&(i=e.toExponential(Math.max(0,t-(i.length-t)))),i.slice(0)}function UDe(e,t){e.prototype.add=function(n){return typeof n=="number"?this.addS(n):this.addM(n)},e.prototype.addS=function(n){for(let i=0;i<this.rows;i++)for(let a=0;a<this.columns;a++)this.set(i,a,this.get(i,a)+n);return this},e.prototype.addM=function(n){if(n=t.checkMatrix(n),this.rows!==n.rows||this.columns!==n.columns)throw new RangeError("Matrices dimensions must be equal");for(let i=0;i<this.rows;i++)for(let a=0;a<this.columns;a++)this.set(i,a,this.get(i,a)+n.get(i,a));return this},e.add=function(n,i){return new t(n).add(i)},e.prototype.sub=function(n){return typeof n=="number"?this.subS(n):this.subM(n)},e.prototype.subS=function(n){for(let i=0;i<this.rows;i++)for(let a=0;a<this.columns;a++)this.set(i,a,this.get(i,a)-n);return this},e.prototype.subM=function(n){if(n=t.checkMatrix(n),this.rows!==n.rows||this.columns!==n.columns)throw new RangeError("Matrices dimensions must be equal");for(let i=0;i<this.rows;i++)for(let a=0;a<this.columns;a++)this.set(i,a,this.get(i,a)-n.get(i,a));return this},e.sub=function(n,i){return new t(n).sub(i)},e.prototype.subtract=e.prototype.sub,e.prototype.subtractS=e.prototype.subS,e.prototype.subtractM=e.prototype.subM,e.subtract=e.sub,e.prototype.mul=function(n){return typeof n=="number"?this.mulS(n):this.mulM(n)},e.prototype.mulS=function(n){for(let i=0;i<this.rows;i++)for(let a=0;a<this.columns;a++)this.set(i,a,this.get(i,a)*n);return this},e.prototype.mulM=function(n){if(n=t.checkMatrix(n),this.rows!==n.rows||this.columns!==n.columns)throw new RangeError("Matrices dimensions must be equal");for(let i=0;i<this.rows;i++)for(let a=0;a<this.columns;a++)this.set(i,a,this.get(i,a)*n.get(i,a));return this},e.mul=function(n,i){return new t(n).mul(i)},e.prototype.multiply=e.prototype.mul,e.prototype.multiplyS=e.prototype.mulS,e.prototype.multiplyM=e.prototype.mulM,e.multiply=e.mul,e.prototype.div=function(n){return typeof n=="number"?this.divS(n):this.divM(n)},e.prototype.divS=function(n){for(let i=0;i<this.rows;i++)for(let a=0;a<this.columns;a++)this.set(i,a,this.get(i,a)/n);return this},e.prototype.divM=function(n){if(n=t.checkMatrix(n),this.rows!==n.rows||this.columns!==n.columns)throw new RangeError("Matrices dimensions must be equal");for(let i=0;i<this.rows;i++)for(let a=0;a<this.columns;a++)this.set(i,a,this.get(i,a)/n.get(i,a));return this},e.div=function(n,i){return new t(n).div(i)},e.prototype.divide=e.prototype.div,e.prototype.divideS=e.prototype.divS,e.prototype.divideM=e.prototype.divM,e.divide=e.div,e.prototype.mod=function(n){return typeof n=="number"?this.modS(n):this.modM(n)},e.prototype.modS=function(n){for(let i=0;i<this.rows;i++)for(let a=0;a<this.columns;a++)this.set(i,a,this.get(i,a)%n);return this},e.prototype.modM=function(n){if(n=t.checkMatrix(n),this.rows!==n.rows||this.columns!==n.columns)throw new RangeError("Matrices dimensions must be equal");for(let i=0;i<this.rows;i++)for(let a=0;a<this.columns;a++)this.set(i,a,this.get(i,a)%n.get(i,a));return this},e.mod=function(n,i){return new t(n).mod(i)},e.prototype.modulus=e.prototype.mod,e.prototype.modulusS=e.prototype.modS,e.prototype.modulusM=e.prototype.modM,e.modulus=e.mod,e.prototype.and=function(n){return typeof n=="number"?this.andS(n):this.andM(n)},e.prototype.andS=function(n){for(let i=0;i<this.rows;i++)for(let a=0;a<this.columns;a++)this.set(i,a,this.get(i,a)&n);return this},e.prototype.andM=function(n){if(n=t.checkMatrix(n),this.rows!==n.rows||this.columns!==n.columns)throw new RangeError("Matrices dimensions must be equal");for(let i=0;i<this.rows;i++)for(let a=0;a<this.columns;a++)this.set(i,a,this.get(i,a)&n.get(i,a));return this},e.and=function(n,i){return new t(n).and(i)},e.prototype.or=function(n){return typeof n=="number"?this.orS(n):this.orM(n)},e.prototype.orS=function(n){for(let i=0;i<this.rows;i++)for(let a=0;a<this.columns;a++)this.set(i,a,this.get(i,a)|n);return this},e.prototype.orM=function(n){if(n=t.checkMatrix(n),this.rows!==n.rows||this.columns!==n.columns)throw new RangeError("Matrices dimensions must be equal");for(let i=0;i<this.rows;i++)for(let a=0;a<this.columns;a++)this.set(i,a,this.get(i,a)|n.get(i,a));return this},e.or=function(n,i){return new t(n).or(i)},e.prototype.xor=function(n){return typeof n=="number"?this.xorS(n):this.xorM(n)},e.prototype.xorS=function(n){for(let i=0;i<this.rows;i++)for(let a=0;a<this.columns;a++)this.set(i,a,this.get(i,a)^n);return this},e.prototype.xorM=function(n){if(n=t.checkMatrix(n),this.rows!==n.rows||this.columns!==n.columns)throw new RangeError("Matrices dimensions must be equal");for(let i=0;i<this.rows;i++)for(let a=0;a<this.columns;a++)this.set(i,a,this.get(i,a)^n.get(i,a));return this},e.xor=function(n,i){return new t(n).xor(i)},e.prototype.leftShift=function(n){return typeof n=="number"?this.leftShiftS(n):this.leftShiftM(n)},e.prototype.leftShiftS=function(n){for(let i=0;i<this.rows;i++)for(let a=0;a<this.columns;a++)this.set(i,a,this.get(i,a)<<n);return this},e.prototype.leftShiftM=function(n){if(n=t.checkMatrix(n),this.rows!==n.rows||this.columns!==n.columns)throw new RangeError("Matrices dimensions must be equal");for(let i=0;i<this.rows;i++)for(let a=0;a<this.columns;a++)this.set(i,a,this.get(i,a)<<n.get(i,a));return this},e.leftShift=function(n,i){return new t(n).leftShift(i)},e.prototype.signPropagatingRightShift=function(n){return typeof n=="number"?this.signPropagatingRightShiftS(n):this.signPropagatingRightShiftM(n)},e.prototype.signPropagatingRightShiftS=function(n){for(let i=0;i<this.rows;i++)for(let a=0;a<this.columns;a++)this.set(i,a,this.get(i,a)>>n);return this},e.prototype.signPropagatingRightShiftM=function(n){if(n=t.checkMatrix(n),this.rows!==n.rows||this.columns!==n.columns)throw new RangeError("Matrices dimensions must be equal");for(let i=0;i<this.rows;i++)for(let a=0;a<this.columns;a++)this.set(i,a,this.get(i,a)>>n.get(i,a));return this},e.signPropagatingRightShift=function(n,i){return new t(n).signPropagatingRightShift(i)},e.prototype.rightShift=function(n){return typeof n=="number"?this.rightShiftS(n):this.rightShiftM(n)},e.prototype.rightShiftS=function(n){for(let i=0;i<this.rows;i++)for(let a=0;a<this.columns;a++)this.set(i,a,this.get(i,a)>>>n);return this},e.prototype.rightShiftM=function(n){if(n=t.checkMatrix(n),this.rows!==n.rows||this.columns!==n.columns)throw new RangeError("Matrices dimensions must be equal");for(let i=0;i<this.rows;i++)for(let a=0;a<this.columns;a++)this.set(i,a,this.get(i,a)>>>n.get(i,a));return this},e.rightShift=function(n,i){return new t(n).rightShift(i)},e.prototype.zeroFillRightShift=e.prototype.rightShift,e.prototype.zeroFillRightShiftS=e.prototype.rightShiftS,e.prototype.zeroFillRightShiftM=e.prototype.rightShiftM,e.zeroFillRightShift=e.rightShift,e.prototype.not=function(){for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)this.set(n,i,~this.get(n,i));return this},e.not=function(n){return new t(n).not()},e.prototype.abs=function(){for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)this.set(n,i,Math.abs(this.get(n,i)));return this},e.abs=function(n){return new t(n).abs()},e.prototype.acos=function(){for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)this.set(n,i,Math.acos(this.get(n,i)));return this},e.acos=function(n){return new t(n).acos()},e.prototype.acosh=function(){for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)this.set(n,i,Math.acosh(this.get(n,i)));return this},e.acosh=function(n){return new t(n).acosh()},e.prototype.asin=function(){for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)this.set(n,i,Math.asin(this.get(n,i)));return this},e.asin=function(n){return new t(n).asin()},e.prototype.asinh=function(){for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)this.set(n,i,Math.asinh(this.get(n,i)));return this},e.asinh=function(n){return new t(n).asinh()},e.prototype.atan=function(){for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)this.set(n,i,Math.atan(this.get(n,i)));return this},e.atan=function(n){return new t(n).atan()},e.prototype.atanh=function(){for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)this.set(n,i,Math.atanh(this.get(n,i)));return this},e.atanh=function(n){return new t(n).atanh()},e.prototype.cbrt=function(){for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)this.set(n,i,Math.cbrt(this.get(n,i)));return this},e.cbrt=function(n){return new t(n).cbrt()},e.prototype.ceil=function(){for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)this.set(n,i,Math.ceil(this.get(n,i)));return this},e.ceil=function(n){return new t(n).ceil()},e.prototype.clz32=function(){for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)this.set(n,i,Math.clz32(this.get(n,i)));return this},e.clz32=function(n){return new t(n).clz32()},e.prototype.cos=function(){for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)this.set(n,i,Math.cos(this.get(n,i)));return this},e.cos=function(n){return new t(n).cos()},e.prototype.cosh=function(){for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)this.set(n,i,Math.cosh(this.get(n,i)));return this},e.cosh=function(n){return new t(n).cosh()},e.prototype.exp=function(){for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)this.set(n,i,Math.exp(this.get(n,i)));return this},e.exp=function(n){return new t(n).exp()},e.prototype.expm1=function(){for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)this.set(n,i,Math.expm1(this.get(n,i)));return this},e.expm1=function(n){return new t(n).expm1()},e.prototype.floor=function(){for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)this.set(n,i,Math.floor(this.get(n,i)));return this},e.floor=function(n){return new t(n).floor()},e.prototype.fround=function(){for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)this.set(n,i,Math.fround(this.get(n,i)));return this},e.fround=function(n){return new t(n).fround()},e.prototype.log=function(){for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)this.set(n,i,Math.log(this.get(n,i)));return this},e.log=function(n){return new t(n).log()},e.prototype.log1p=function(){for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)this.set(n,i,Math.log1p(this.get(n,i)));return this},e.log1p=function(n){return new t(n).log1p()},e.prototype.log10=function(){for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)this.set(n,i,Math.log10(this.get(n,i)));return this},e.log10=function(n){return new t(n).log10()},e.prototype.log2=function(){for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)this.set(n,i,Math.log2(this.get(n,i)));return this},e.log2=function(n){return new t(n).log2()},e.prototype.round=function(){for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)this.set(n,i,Math.round(this.get(n,i)));return this},e.round=function(n){return new t(n).round()},e.prototype.sign=function(){for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)this.set(n,i,Math.sign(this.get(n,i)));return this},e.sign=function(n){return new t(n).sign()},e.prototype.sin=function(){for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)this.set(n,i,Math.sin(this.get(n,i)));return this},e.sin=function(n){return new t(n).sin()},e.prototype.sinh=function(){for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)this.set(n,i,Math.sinh(this.get(n,i)));return this},e.sinh=function(n){return new t(n).sinh()},e.prototype.sqrt=function(){for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)this.set(n,i,Math.sqrt(this.get(n,i)));return this},e.sqrt=function(n){return new t(n).sqrt()},e.prototype.tan=function(){for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)this.set(n,i,Math.tan(this.get(n,i)));return this},e.tan=function(n){return new t(n).tan()},e.prototype.tanh=function(){for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)this.set(n,i,Math.tanh(this.get(n,i)));return this},e.tanh=function(n){return new t(n).tanh()},e.prototype.trunc=function(){for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)this.set(n,i,Math.trunc(this.get(n,i)));return this},e.trunc=function(n){return new t(n).trunc()},e.pow=function(n,i){return new t(n).pow(i)},e.prototype.pow=function(n){return typeof n=="number"?this.powS(n):this.powM(n)},e.prototype.powS=function(n){for(let i=0;i<this.rows;i++)for(let a=0;a<this.columns;a++)this.set(i,a,Math.pow(this.get(i,a),n));return this},e.prototype.powM=function(n){if(n=t.checkMatrix(n),this.rows!==n.rows||this.columns!==n.columns)throw new RangeError("Matrices dimensions must be equal");for(let i=0;i<this.rows;i++)for(let a=0;a<this.columns;a++)this.set(i,a,Math.pow(this.get(i,a),n.get(i,a)));return this}}function Dc(e,t,r){let n=r?e.rows:e.rows-1;if(t<0||t>n)throw new RangeError("Row index out of range")}function Rc(e,t,r){let n=r?e.columns:e.columns-1;if(t<0||t>n)throw new RangeError("Column index out of range")}function Bm(e,t){if(t.to1DArray&&(t=t.to1DArray()),t.length!==e.columns)throw new RangeError("vector size must be the same as the number of columns");return t}function Um(e,t){if(t.to1DArray&&(t=t.to1DArray()),t.length!==e.rows)throw new RangeError("vector size must be the same as the number of rows");return t}function HDe(e,t){if(!pa(t))throw new TypeError("row indices must be an array");for(let r=0;r<t.length;r++)if(t[r]<0||t[r]>=e.rows)throw new RangeError("row indices are out of range")}function jDe(e,t){if(!pa(t))throw new TypeError("column indices must be an array");for(let r=0;r<t.length;r++)if(t[r]<0||t[r]>=e.columns)throw new RangeError("column indices are out of range")}function cN(e,t,r,n,i){if(arguments.length!==5)throw new RangeError("expected 4 arguments");if(ZC("startRow",t),ZC("endRow",r),ZC("startColumn",n),ZC("endColumn",i),t>r||n>i||t<0||t>=e.rows||r<0||r>=e.rows||n<0||n>=e.columns||i<0||i>=e.columns)throw new RangeError("Submatrix indices are out of range")}function x3(e,t=0){let r=[];for(let n=0;n<e;n++)r.push(t);return r}function ZC(e,t){if(typeof t!="number")throw new TypeError(`${e} must be a number`)}function Hm(e){if(e.isEmpty())throw new Error("Empty matrix has no elements to index")}function VDe(e){let t=x3(e.rows);for(let r=0;r<e.rows;++r)for(let n=0;n<e.columns;++n)t[r]+=e.get(r,n);return t}function YDe(e){let t=x3(e.columns);for(let r=0;r<e.rows;++r)for(let n=0;n<e.columns;++n)t[n]+=e.get(r,n);return t}function GDe(e){let t=0;for(let r=0;r<e.rows;r++)for(let n=0;n<e.columns;n++)t+=e.get(r,n);return t}function WDe(e){let t=x3(e.rows,1);for(let r=0;r<e.rows;++r)for(let n=0;n<e.columns;++n)t[r]*=e.get(r,n);return t}function XDe(e){let t=x3(e.columns,1);for(let r=0;r<e.rows;++r)for(let n=0;n<e.columns;++n)t[n]*=e.get(r,n);return t}function ZDe(e){let t=1;for(let r=0;r<e.rows;r++)for(let n=0;n<e.columns;n++)t*=e.get(r,n);return t}function JDe(e,t,r){let n=e.rows,i=e.columns,a=[];for(let o=0;o<n;o++){let s=0,l=0,u=0;for(let f=0;f<i;f++)u=e.get(o,f)-r[o],s+=u,l+=u*u;t?a.push((l-s*s/i)/(i-1)):a.push((l-s*s/i)/i)}return a}function $De(e,t,r){let n=e.rows,i=e.columns,a=[];for(let o=0;o<i;o++){let s=0,l=0,u=0;for(let f=0;f<n;f++)u=e.get(f,o)-r[o],s+=u,l+=u*u;t?a.push((l-s*s/n)/(n-1)):a.push((l-s*s/n)/n)}return a}function KDe(e,t,r){let n=e.rows,i=e.columns,a=n*i,o=0,s=0,l=0;for(let u=0;u<n;u++)for(let f=0;f<i;f++)l=e.get(u,f)-r,o+=l,s+=l*l;return t?(s-o*o/a)/(a-1):(s-o*o/a)/a}function QDe(e,t){for(let r=0;r<e.rows;r++)for(let n=0;n<e.columns;n++)e.set(r,n,e.get(r,n)-t[r])}function e8e(e,t){for(let r=0;r<e.rows;r++)for(let n=0;n<e.columns;n++)e.set(r,n,e.get(r,n)-t[n])}function t8e(e,t){for(let r=0;r<e.rows;r++)for(let n=0;n<e.columns;n++)e.set(r,n,e.get(r,n)-t)}function r8e(e){let t=[];for(let r=0;r<e.rows;r++){let n=0;for(let i=0;i<e.columns;i++)n+=Math.pow(e.get(r,i),2)/(e.columns-1);t.push(Math.sqrt(n))}return t}function n8e(e,t){for(let r=0;r<e.rows;r++)for(let n=0;n<e.columns;n++)e.set(r,n,e.get(r,n)/t[r])}function i8e(e){let t=[];for(let r=0;r<e.columns;r++){let n=0;for(let i=0;i<e.rows;i++)n+=Math.pow(e.get(i,r),2)/(e.rows-1);t.push(Math.sqrt(n))}return t}function a8e(e,t){for(let r=0;r<e.rows;r++)for(let n=0;n<e.columns;n++)e.set(r,n,e.get(r,n)/t[n])}function o8e(e){let t=e.size-1,r=0;for(let n=0;n<e.columns;n++)for(let i=0;i<e.rows;i++)r+=Math.pow(e.get(i,n),2)/t;return Math.sqrt(r)}function s8e(e,t){for(let r=0;r<e.rows;r++)for(let n=0;n<e.columns;n++)e.set(r,n,e.get(r,n)/t)}var ni=class{static from1DArray(t,r,n){if(t*r!==n.length)throw new RangeError("data length does not match given dimensions");let a=new mn(t,r);for(let o=0;o<t;o++)for(let s=0;s<r;s++)a.set(o,s,n[o*r+s]);return a}static rowVector(t){let r=new mn(1,t.length);for(let n=0;n<t.length;n++)r.set(0,n,t[n]);return r}static columnVector(t){let r=new mn(t.length,1);for(let n=0;n<t.length;n++)r.set(n,0,t[n]);return r}static zeros(t,r){return new mn(t,r)}static ones(t,r){return new mn(t,r).fill(1)}static rand(t,r,n={}){if(typeof n!="object")throw new TypeError("options must be an object");let{random:i=Math.random}=n,a=new mn(t,r);for(let o=0;o<t;o++)for(let s=0;s<r;s++)a.set(o,s,i());return a}static randInt(t,r,n={}){if(typeof n!="object")throw new TypeError("options must be an object");let{min:i=0,max:a=1e3,random:o=Math.random}=n;if(!Number.isInteger(i))throw new TypeError("min must be an integer");if(!Number.isInteger(a))throw new TypeError("max must be an integer");if(i>=a)throw new RangeError("min must be smaller than max");let s=a-i,l=new mn(t,r);for(let u=0;u<t;u++)for(let f=0;f<r;f++){let c=i+Math.round(o()*s);l.set(u,f,c)}return l}static eye(t,r,n){r===void 0&&(r=t),n===void 0&&(n=1);let i=Math.min(t,r),a=this.zeros(t,r);for(let o=0;o<i;o++)a.set(o,o,n);return a}static diag(t,r,n){let i=t.length;r===void 0&&(r=i),n===void 0&&(n=r);let a=Math.min(i,r,n),o=this.zeros(r,n);for(let s=0;s<a;s++)o.set(s,s,t[s]);return o}static min(t,r){t=this.checkMatrix(t),r=this.checkMatrix(r);let n=t.rows,i=t.columns,a=new mn(n,i);for(let o=0;o<n;o++)for(let s=0;s<i;s++)a.set(o,s,Math.min(t.get(o,s),r.get(o,s)));return a}static max(t,r){t=this.checkMatrix(t),r=this.checkMatrix(r);let n=t.rows,i=t.columns,a=new this(n,i);for(let o=0;o<n;o++)for(let s=0;s<i;s++)a.set(o,s,Math.max(t.get(o,s),r.get(o,s)));return a}static checkMatrix(t){return ni.isMatrix(t)?t:new mn(t)}static isMatrix(t){return t!=null&&t.klass==="Matrix"}get size(){return this.rows*this.columns}apply(t){if(typeof t!="function")throw new TypeError("callback must be a function");for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)t.call(this,r,n);return this}to1DArray(){let t=[];for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)t.push(this.get(r,n));return t}to2DArray(){let t=[];for(let r=0;r<this.rows;r++){t.push([]);for(let n=0;n<this.columns;n++)t[r].push(this.get(r,n))}return t}toJSON(){return this.to2DArray()}isRowVector(){return this.rows===1}isColumnVector(){return this.columns===1}isVector(){return this.rows===1||this.columns===1}isSquare(){return this.rows===this.columns}isEmpty(){return this.rows===0||this.columns===0}isSymmetric(){if(this.isSquare()){for(let t=0;t<this.rows;t++)for(let r=0;r<=t;r++)if(this.get(t,r)!==this.get(r,t))return!1;return!0}return!1}isEchelonForm(){let t=0,r=0,n=-1,i=!0,a=!1;for(;t<this.rows&&i;){for(r=0,a=!1;r<this.columns&&a===!1;)this.get(t,r)===0?r++:this.get(t,r)===1&&r>n?(a=!0,n=r):(i=!1,a=!0);t++}return i}isReducedEchelonForm(){let t=0,r=0,n=-1,i=!0,a=!1;for(;t<this.rows&&i;){for(r=0,a=!1;r<this.columns&&a===!1;)this.get(t,r)===0?r++:this.get(t,r)===1&&r>n?(a=!0,n=r):(i=!1,a=!0);for(let o=r+1;o<this.rows;o++)this.get(t,o)!==0&&(i=!1);t++}return i}echelonForm(){let t=this.clone(),r=0,n=0;for(;r<t.rows&&n<t.columns;){let i=r;for(let a=r;a<t.rows;a++)t.get(a,n)>t.get(i,n)&&(i=a);if(t.get(i,n)===0)n++;else{t.swapRows(r,i);let a=t.get(r,n);for(let o=n;o<t.columns;o++)t.set(r,o,t.get(r,o)/a);for(let o=r+1;o<t.rows;o++){let s=t.get(o,n)/t.get(r,n);t.set(o,n,0);for(let l=n+1;l<t.columns;l++)t.set(o,l,t.get(o,l)-t.get(r,l)*s)}r++,n++}}return t}reducedEchelonForm(){let t=this.echelonForm(),r=t.columns,n=t.rows,i=n-1;for(;i>=0;)if(t.maxRow(i)===0)i--;else{let a=0,o=!1;for(;a<n&&o===!1;)t.get(i,a)===1?o=!0:a++;for(let s=0;s<i;s++){let l=t.get(s,a);for(let u=a;u<r;u++){let f=t.get(s,u)-l*t.get(i,u);t.set(s,u,f)}}i--}return t}set(){throw new Error("set method is unimplemented")}get(){throw new Error("get method is unimplemented")}repeat(t={}){if(typeof t!="object")throw new TypeError("options must be an object");let{rows:r=1,columns:n=1}=t;if(!Number.isInteger(r)||r<=0)throw new TypeError("rows must be a positive integer");if(!Number.isInteger(n)||n<=0)throw new TypeError("columns must be a positive integer");let i=new mn(this.rows*r,this.columns*n);for(let a=0;a<r;a++)for(let o=0;o<n;o++)i.setSubMatrix(this,this.rows*a,this.columns*o);return i}fill(t){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,t);return this}neg(){return this.mulS(-1)}getRow(t){Dc(this,t);let r=[];for(let n=0;n<this.columns;n++)r.push(this.get(t,n));return r}getRowVector(t){return mn.rowVector(this.getRow(t))}setRow(t,r){Dc(this,t),r=Bm(this,r);for(let n=0;n<this.columns;n++)this.set(t,n,r[n]);return this}swapRows(t,r){Dc(this,t),Dc(this,r);for(let n=0;n<this.columns;n++){let i=this.get(t,n);this.set(t,n,this.get(r,n)),this.set(r,n,i)}return this}getColumn(t){Rc(this,t);let r=[];for(let n=0;n<this.rows;n++)r.push(this.get(n,t));return r}getColumnVector(t){return mn.columnVector(this.getColumn(t))}setColumn(t,r){Rc(this,t),r=Um(this,r);for(let n=0;n<this.rows;n++)this.set(n,t,r[n]);return this}swapColumns(t,r){Rc(this,t),Rc(this,r);for(let n=0;n<this.rows;n++){let i=this.get(n,t);this.set(n,t,this.get(n,r)),this.set(n,r,i)}return this}addRowVector(t){t=Bm(this,t);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,this.get(r,n)+t[n]);return this}subRowVector(t){t=Bm(this,t);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,this.get(r,n)-t[n]);return this}mulRowVector(t){t=Bm(this,t);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,this.get(r,n)*t[n]);return this}divRowVector(t){t=Bm(this,t);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,this.get(r,n)/t[n]);return this}addColumnVector(t){t=Um(this,t);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,this.get(r,n)+t[r]);return this}subColumnVector(t){t=Um(this,t);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,this.get(r,n)-t[r]);return this}mulColumnVector(t){t=Um(this,t);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,this.get(r,n)*t[r]);return this}divColumnVector(t){t=Um(this,t);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,this.get(r,n)/t[r]);return this}mulRow(t,r){Dc(this,t);for(let n=0;n<this.columns;n++)this.set(t,n,this.get(t,n)*r);return this}mulColumn(t,r){Rc(this,t);for(let n=0;n<this.rows;n++)this.set(n,t,this.get(n,t)*r);return this}max(t){if(this.isEmpty())return NaN;switch(t){case"row":{let r=new Array(this.rows).fill(Number.NEGATIVE_INFINITY);for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)this.get(n,i)>r[n]&&(r[n]=this.get(n,i));return r}case"column":{let r=new Array(this.columns).fill(Number.NEGATIVE_INFINITY);for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)this.get(n,i)>r[i]&&(r[i]=this.get(n,i));return r}case void 0:{let r=this.get(0,0);for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)this.get(n,i)>r&&(r=this.get(n,i));return r}default:throw new Error(`invalid option: ${t}`)}}maxIndex(){Hm(this);let t=this.get(0,0),r=[0,0];for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)this.get(n,i)>t&&(t=this.get(n,i),r[0]=n,r[1]=i);return r}min(t){if(this.isEmpty())return NaN;switch(t){case"row":{let r=new Array(this.rows).fill(Number.POSITIVE_INFINITY);for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)this.get(n,i)<r[n]&&(r[n]=this.get(n,i));return r}case"column":{let r=new Array(this.columns).fill(Number.POSITIVE_INFINITY);for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)this.get(n,i)<r[i]&&(r[i]=this.get(n,i));return r}case void 0:{let r=this.get(0,0);for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)this.get(n,i)<r&&(r=this.get(n,i));return r}default:throw new Error(`invalid option: ${t}`)}}minIndex(){Hm(this);let t=this.get(0,0),r=[0,0];for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)this.get(n,i)<t&&(t=this.get(n,i),r[0]=n,r[1]=i);return r}maxRow(t){if(Dc(this,t),this.isEmpty())return NaN;let r=this.get(t,0);for(let n=1;n<this.columns;n++)this.get(t,n)>r&&(r=this.get(t,n));return r}maxRowIndex(t){Dc(this,t),Hm(this);let r=this.get(t,0),n=[t,0];for(let i=1;i<this.columns;i++)this.get(t,i)>r&&(r=this.get(t,i),n[1]=i);return n}minRow(t){if(Dc(this,t),this.isEmpty())return NaN;let r=this.get(t,0);for(let n=1;n<this.columns;n++)this.get(t,n)<r&&(r=this.get(t,n));return r}minRowIndex(t){Dc(this,t),Hm(this);let r=this.get(t,0),n=[t,0];for(let i=1;i<this.columns;i++)this.get(t,i)<r&&(r=this.get(t,i),n[1]=i);return n}maxColumn(t){if(Rc(this,t),this.isEmpty())return NaN;let r=this.get(0,t);for(let n=1;n<this.rows;n++)this.get(n,t)>r&&(r=this.get(n,t));return r}maxColumnIndex(t){Rc(this,t),Hm(this);let r=this.get(0,t),n=[0,t];for(let i=1;i<this.rows;i++)this.get(i,t)>r&&(r=this.get(i,t),n[0]=i);return n}minColumn(t){if(Rc(this,t),this.isEmpty())return NaN;let r=this.get(0,t);for(let n=1;n<this.rows;n++)this.get(n,t)<r&&(r=this.get(n,t));return r}minColumnIndex(t){Rc(this,t),Hm(this);let r=this.get(0,t),n=[0,t];for(let i=1;i<this.rows;i++)this.get(i,t)<r&&(r=this.get(i,t),n[0]=i);return n}diag(){let t=Math.min(this.rows,this.columns),r=[];for(let n=0;n<t;n++)r.push(this.get(n,n));return r}norm(t="frobenius"){let r=0;if(t==="max")return this.max();if(t==="frobenius"){for(let n=0;n<this.rows;n++)for(let i=0;i<this.columns;i++)r=r+this.get(n,i)*this.get(n,i);return Math.sqrt(r)}else throw new RangeError(`unknown norm type: ${t}`)}cumulativeSum(){let t=0;for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)t+=this.get(r,n),this.set(r,n,t);return this}dot(t){ni.isMatrix(t)&&(t=t.to1DArray());let r=this.to1DArray();if(r.length!==t.length)throw new RangeError("vectors do not have the same size");let n=0;for(let i=0;i<r.length;i++)n+=r[i]*t[i];return n}mmul(t){t=mn.checkMatrix(t);let r=this.rows,n=this.columns,i=t.columns,a=new mn(r,i),o=new Float64Array(n);for(let s=0;s<i;s++){for(let l=0;l<n;l++)o[l]=t.get(l,s);for(let l=0;l<r;l++){let u=0;for(let f=0;f<n;f++)u+=this.get(l,f)*o[f];a.set(l,s,u)}}return a}strassen2x2(t){t=mn.checkMatrix(t);let r=new mn(2,2),n=this.get(0,0),i=t.get(0,0),a=this.get(0,1),o=t.get(0,1),s=this.get(1,0),l=t.get(1,0),u=this.get(1,1),f=t.get(1,1),c=(n+u)*(i+f),h=(s+u)*i,d=n*(o-f),v=u*(l-i),m=(n+a)*f,b=(s-n)*(i+o),g=(a-u)*(l+f),_=c+v-m+g,T=d+m,w=h+v,k=c-h+d+b;return r.set(0,0,_),r.set(0,1,T),r.set(1,0,w),r.set(1,1,k),r}strassen3x3(t){t=mn.checkMatrix(t);let r=new mn(3,3),n=this.get(0,0),i=this.get(0,1),a=this.get(0,2),o=this.get(1,0),s=this.get(1,1),l=this.get(1,2),u=this.get(2,0),f=this.get(2,1),c=this.get(2,2),h=t.get(0,0),d=t.get(0,1),v=t.get(0,2),m=t.get(1,0),b=t.get(1,1),g=t.get(1,2),_=t.get(2,0),T=t.get(2,1),w=t.get(2,2),k=(n+i+a-o-s-f-c)*b,x=(n-o)*(-d+b),M=s*(-h+d+m-b-g-_+w),A=(-n+o+s)*(h-d+b),p=(o+s)*(-h+d),S=n*h,y=(-n+u+f)*(h-v+g),E=(-n+u)*(v-g),C=(u+f)*(-h+v),L=(n+i+a-s-l-u-f)*g,R=f*(-h+v+m-b-g-_+T),I=(-a+f+c)*(b+_-T),P=(a-c)*(b-T),D=a*_,q=(f+c)*(-_+T),N=(-a+s+l)*(g+_-w),U=(a-l)*(g-w),G=(s+l)*(-_+w),ee=i*m,Q=l*T,j=o*v,O=u*d,Z=c*w,K=S+D+ee,$=k+A+p+S+I+D+q,oe=S+y+C+L+D+N+G,te=x+M+A+S+D+N+U,V=x+A+p+S+Q,ne=D+N+U+G+j,W=S+y+E+R+I+P+D,fe=I+P+D+q+O,ge=S+y+E+C+Z;return r.set(0,0,K),r.set(0,1,$),r.set(0,2,oe),r.set(1,0,te),r.set(1,1,V),r.set(1,2,ne),r.set(2,0,W),r.set(2,1,fe),r.set(2,2,ge),r}mmulStrassen(t){t=mn.checkMatrix(t);let r=this.clone(),n=r.rows,i=r.columns,a=t.rows,o=t.columns;i!==a&&console.warn(`Multiplying ${n} x ${i} and ${a} x ${o} matrix: dimensions do not match.`);function s(c,h,d){let v=c.rows,m=c.columns;if(v===h&&m===d)return c;{let b=ni.zeros(h,d);return b=b.setSubMatrix(c,0,0),b}}let l=Math.max(n,a),u=Math.max(i,o);r=s(r,l,u),t=s(t,l,u);function f(c,h,d,v){if(d<=512||v<=512)return c.mmul(h);d%2===1&&v%2===1?(c=s(c,d+1,v+1),h=s(h,d+1,v+1)):d%2===1?(c=s(c,d+1,v),h=s(h,d+1,v)):v%2===1&&(c=s(c,d,v+1),h=s(h,d,v+1));let m=parseInt(c.rows/2,10),b=parseInt(c.columns/2,10),g=c.subMatrix(0,m-1,0,b-1),_=h.subMatrix(0,m-1,0,b-1),T=c.subMatrix(0,m-1,b,c.columns-1),w=h.subMatrix(0,m-1,b,h.columns-1),k=c.subMatrix(m,c.rows-1,0,b-1),x=h.subMatrix(m,h.rows-1,0,b-1),M=c.subMatrix(m,c.rows-1,b,c.columns-1),A=h.subMatrix(m,h.rows-1,b,h.columns-1),p=f(ni.add(g,M),ni.add(_,A),m,b),S=f(ni.add(k,M),_,m,b),y=f(g,ni.sub(w,A),m,b),E=f(M,ni.sub(x,_),m,b),C=f(ni.add(g,T),A,m,b),L=f(ni.sub(k,g),ni.add(_,w),m,b),R=f(ni.sub(T,M),ni.add(x,A),m,b),I=ni.add(p,E);I.sub(C),I.add(R);let P=ni.add(y,C),D=ni.add(S,E),q=ni.sub(p,S);q.add(y),q.add(L);let N=ni.zeros(2*I.rows,2*I.columns);return N=N.setSubMatrix(I,0,0),N=N.setSubMatrix(P,I.rows,0),N=N.setSubMatrix(D,0,I.columns),N=N.setSubMatrix(q,I.rows,I.columns),N.subMatrix(0,d-1,0,v-1)}return f(r,t,l,u)}scaleRows(t={}){if(typeof t!="object")throw new TypeError("options must be an object");let{min:r=0,max:n=1}=t;if(!Number.isFinite(r))throw new TypeError("min must be a number");if(!Number.isFinite(n))throw new TypeError("max must be a number");if(r>=n)throw new RangeError("min must be smaller than max");let i=new mn(this.rows,this.columns);for(let a=0;a<this.rows;a++){let o=this.getRow(a);o.length>0&&uN(o,{min:r,max:n,output:o}),i.setRow(a,o)}return i}scaleColumns(t={}){if(typeof t!="object")throw new TypeError("options must be an object");let{min:r=0,max:n=1}=t;if(!Number.isFinite(r))throw new TypeError("min must be a number");if(!Number.isFinite(n))throw new TypeError("max must be a number");if(r>=n)throw new RangeError("min must be smaller than max");let i=new mn(this.rows,this.columns);for(let a=0;a<this.columns;a++){let o=this.getColumn(a);o.length&&uN(o,{min:r,max:n,output:o}),i.setColumn(a,o)}return i}flipRows(){let t=Math.ceil(this.columns/2);for(let r=0;r<this.rows;r++)for(let n=0;n<t;n++){let i=this.get(r,n),a=this.get(r,this.columns-1-n);this.set(r,n,a),this.set(r,this.columns-1-n,i)}return this}flipColumns(){let t=Math.ceil(this.rows/2);for(let r=0;r<this.columns;r++)for(let n=0;n<t;n++){let i=this.get(n,r),a=this.get(this.rows-1-n,r);this.set(n,r,a),this.set(this.rows-1-n,r,i)}return this}kroneckerProduct(t){t=mn.checkMatrix(t);let r=this.rows,n=this.columns,i=t.rows,a=t.columns,o=new mn(r*i,n*a);for(let s=0;s<r;s++)for(let l=0;l<n;l++)for(let u=0;u<i;u++)for(let f=0;f<a;f++)o.set(i*s+u,a*l+f,this.get(s,l)*t.get(u,f));return o}kroneckerSum(t){if(t=mn.checkMatrix(t),!this.isSquare()||!t.isSquare())throw new Error("Kronecker Sum needs two Square Matrices");let r=this.rows,n=t.rows,i=this.kroneckerProduct(mn.eye(n,n)),a=mn.eye(r,r).kroneckerProduct(t);return i.add(a)}transpose(){let t=new mn(this.columns,this.rows);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)t.set(n,r,this.get(r,n));return t}sortRows(t=l8e){for(let r=0;r<this.rows;r++)this.setRow(r,this.getRow(r).sort(t));return this}sortColumns(t=l8e){for(let r=0;r<this.columns;r++)this.setColumn(r,this.getColumn(r).sort(t));return this}subMatrix(t,r,n,i){cN(this,t,r,n,i);let a=new mn(r-t+1,i-n+1);for(let o=t;o<=r;o++)for(let s=n;s<=i;s++)a.set(o-t,s-n,this.get(o,s));return a}subMatrixRow(t,r,n){if(r===void 0&&(r=0),n===void 0&&(n=this.columns-1),r>n||r<0||r>=this.columns||n<0||n>=this.columns)throw new RangeError("Argument out of range");let i=new mn(t.length,n-r+1);for(let a=0;a<t.length;a++)for(let o=r;o<=n;o++){if(t[a]<0||t[a]>=this.rows)throw new RangeError(`Row index out of range: ${t[a]}`);i.set(a,o-r,this.get(t[a],o))}return i}subMatrixColumn(t,r,n){if(r===void 0&&(r=0),n===void 0&&(n=this.rows-1),r>n||r<0||r>=this.rows||n<0||n>=this.rows)throw new RangeError("Argument out of range");let i=new mn(n-r+1,t.length);for(let a=0;a<t.length;a++)for(let o=r;o<=n;o++){if(t[a]<0||t[a]>=this.columns)throw new RangeError(`Column index out of range: ${t[a]}`);i.set(o-r,a,this.get(o,t[a]))}return i}setSubMatrix(t,r,n){if(t=mn.checkMatrix(t),t.isEmpty())return this;let i=r+t.rows-1,a=n+t.columns-1;cN(this,r,i,n,a);for(let o=0;o<t.rows;o++)for(let s=0;s<t.columns;s++)this.set(r+o,n+s,t.get(o,s));return this}selection(t,r){HDe(this,t),jDe(this,r);let n=new mn(t.length,r.length);for(let i=0;i<t.length;i++){let a=t[i];for(let o=0;o<r.length;o++){let s=r[o];n.set(i,o,this.get(a,s))}}return n}trace(){let t=Math.min(this.rows,this.columns),r=0;for(let n=0;n<t;n++)r+=this.get(n,n);return r}clone(){let t=new mn(this.rows,this.columns);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)t.set(r,n,this.get(r,n));return t}sum(t){switch(t){case"row":return VDe(this);case"column":return YDe(this);case void 0:return GDe(this);default:throw new Error(`invalid option: ${t}`)}}product(t){switch(t){case"row":return WDe(this);case"column":return XDe(this);case void 0:return ZDe(this);default:throw new Error(`invalid option: ${t}`)}}mean(t){let r=this.sum(t);switch(t){case"row":{for(let n=0;n<this.rows;n++)r[n]/=this.columns;return r}case"column":{for(let n=0;n<this.columns;n++)r[n]/=this.rows;return r}case void 0:return r/this.size;default:throw new Error(`invalid option: ${t}`)}}variance(t,r={}){if(typeof t=="object"&&(r=t,t=void 0),typeof r!="object")throw new TypeError("options must be an object");let{unbiased:n=!0,mean:i=this.mean(t)}=r;if(typeof n!="boolean")throw new TypeError("unbiased must be a boolean");switch(t){case"row":{if(!pa(i))throw new TypeError("mean must be an array");return JDe(this,n,i)}case"column":{if(!pa(i))throw new TypeError("mean must be an array");return $De(this,n,i)}case void 0:{if(typeof i!="number")throw new TypeError("mean must be a number");return KDe(this,n,i)}default:throw new Error(`invalid option: ${t}`)}}standardDeviation(t,r){typeof t=="object"&&(r=t,t=void 0);let n=this.variance(t,r);if(t===void 0)return Math.sqrt(n);for(let i=0;i<n.length;i++)n[i]=Math.sqrt(n[i]);return n}center(t,r={}){if(typeof t=="object"&&(r=t,t=void 0),typeof r!="object")throw new TypeError("options must be an object");let{center:n=this.mean(t)}=r;switch(t){case"row":{if(!pa(n))throw new TypeError("center must be an array");return QDe(this,n),this}case"column":{if(!pa(n))throw new TypeError("center must be an array");return e8e(this,n),this}case void 0:{if(typeof n!="number")throw new TypeError("center must be a number");return t8e(this,n),this}default:throw new Error(`invalid option: ${t}`)}}scale(t,r={}){if(typeof t=="object"&&(r=t,t=void 0),typeof r!="object")throw new TypeError("options must be an object");let n=r.scale;switch(t){case"row":{if(n===void 0)n=r8e(this);else if(!pa(n))throw new TypeError("scale must be an array");return n8e(this,n),this}case"column":{if(n===void 0)n=i8e(this);else if(!pa(n))throw new TypeError("scale must be an array");return a8e(this,n),this}case void 0:{if(n===void 0)n=o8e(this);else if(typeof n!="number")throw new TypeError("scale must be a number");return s8e(this,n),this}default:throw new Error(`invalid option: ${t}`)}}toString(t){return fN(this,t)}};ni.prototype.klass="Matrix";typeof Symbol<"u"&&(ni.prototype[Symbol.for("nodejs.util.inspect.custom")]=BDe);function l8e(e,t){return e-t}function b4t(e){return e.every(t=>typeof t=="number")}ni.random=ni.rand;ni.randomInt=ni.randInt;ni.diagonal=ni.diag;ni.prototype.diagonal=ni.prototype.diag;ni.identity=ni.eye;ni.prototype.negate=ni.prototype.neg;ni.prototype.tensorProduct=ni.prototype.kroneckerProduct;var mn=class extends ni{constructor(t,r){if(super(),mn.isMatrix(t))return t.clone();if(Number.isInteger(t)&&t>=0)if(this.data=[],Number.isInteger(r)&&r>=0)for(let n=0;n<t;n++)this.data.push(new Float64Array(r));else throw new TypeError("nColumns must be a positive integer");else if(pa(t)){let n=t;if(t=n.length,r=t?n[0].length:0,typeof r!="number")throw new TypeError("Data must be a 2D array with at least one element");this.data=[];for(let i=0;i<t;i++){if(n[i].length!==r)throw new RangeError("Inconsistent array dimensions");if(!b4t(n[i]))throw new TypeError("Input data contains non-numeric values");this.data.push(Float64Array.from(n[i]))}}else throw new TypeError("First argument must be a positive number or an array");this.rows=t,this.columns=r}set(t,r,n){return this.data[t][r]=n,this}get(t,r){return this.data[t][r]}removeRow(t){return Dc(this,t),this.data.splice(t,1),this.rows-=1,this}addRow(t,r){return r===void 0&&(r=t,t=this.rows),Dc(this,t,!0),r=Float64Array.from(Bm(this,r)),this.data.splice(t,0,r),this.rows+=1,this}removeColumn(t){Rc(this,t);for(let r=0;r<this.rows;r++){let n=new Float64Array(this.columns-1);for(let i=0;i<t;i++)n[i]=this.data[r][i];for(let i=t+1;i<this.columns;i++)n[i-1]=this.data[r][i];this.data[r]=n}return this.columns-=1,this}addColumn(t,r){typeof r>"u"&&(r=t,t=this.columns),Rc(this,t,!0),r=Um(this,r);for(let n=0;n<this.rows;n++){let i=new Float64Array(this.columns+1),a=0;for(;a<t;a++)i[a]=this.data[n][a];for(i[a++]=r[n];a<this.columns+1;a++)i[a]=this.data[n][a-1];this.data[n]=i}return this.columns+=1,this}};UDe(ni,mn);var b3=class extends ni{constructor(t,r,n){super(),this.matrix=t,this.rows=r,this.columns=n}};var jm=class extends b3{constructor(t){super(t,t.columns,t.rows)}set(t,r,n){return this.matrix.set(r,t,n),this}get(t,r){return this.matrix.get(r,t)}};var Pc=class extends ni{constructor(t){super(),this.data=t,this.rows=t.length,this.columns=t[0].length}set(t,r,n){return this.data[t][r]=n,this}get(t,r){return this.data[t][r]}};var w3=class{constructor(t){t=Pc.checkMatrix(t);let r=t.clone(),n=r.rows,i=r.columns,a=new Float64Array(n),o=1,s,l,u,f,c,h,d,v,m;for(s=0;s<n;s++)a[s]=s;for(v=new Float64Array(n),l=0;l<i;l++){for(s=0;s<n;s++)v[s]=r.get(s,l);for(s=0;s<n;s++){for(m=Math.min(s,l),c=0,u=0;u<m;u++)c+=r.get(s,u)*v[u];v[s]-=c,r.set(s,l,v[s])}for(f=l,s=l+1;s<n;s++)Math.abs(v[s])>Math.abs(v[f])&&(f=s);if(f!==l){for(u=0;u<i;u++)h=r.get(f,u),r.set(f,u,r.get(l,u)),r.set(l,u,h);d=a[f],a[f]=a[l],a[l]=d,o=-o}if(l<n&&r.get(l,l)!==0)for(s=l+1;s<n;s++)r.set(s,l,r.get(s,l)/r.get(l,l))}this.LU=r,this.pivotVector=a,this.pivotSign=o}isSingular(){let t=this.LU,r=t.columns;for(let n=0;n<r;n++)if(t.get(n,n)===0)return!0;return!1}solve(t){t=mn.checkMatrix(t);let r=this.LU;if(r.rows!==t.rows)throw new Error("Invalid matrix dimensions");if(this.isSingular())throw new Error("LU matrix is singular");let i=t.columns,a=t.subMatrixRow(this.pivotVector,0,i-1),o=r.columns,s,l,u;for(u=0;u<o;u++)for(s=u+1;s<o;s++)for(l=0;l<i;l++)a.set(s,l,a.get(s,l)-a.get(u,l)*r.get(s,u));for(u=o-1;u>=0;u--){for(l=0;l<i;l++)a.set(u,l,a.get(u,l)/r.get(u,u));for(s=0;s<u;s++)for(l=0;l<i;l++)a.set(s,l,a.get(s,l)-a.get(u,l)*r.get(s,u))}return a}get determinant(){let t=this.LU;if(!t.isSquare())throw new Error("Matrix must be square");let r=this.pivotSign,n=t.columns;for(let i=0;i<n;i++)r*=t.get(i,i);return r}get lowerTriangularMatrix(){let t=this.LU,r=t.rows,n=t.columns,i=new mn(r,n);for(let a=0;a<r;a++)for(let o=0;o<n;o++)a>o?i.set(a,o,t.get(a,o)):a===o?i.set(a,o,1):i.set(a,o,0);return i}get upperTriangularMatrix(){let t=this.LU,r=t.rows,n=t.columns,i=new mn(r,n);for(let a=0;a<r;a++)for(let o=0;o<n;o++)a<=o?i.set(a,o,t.get(a,o)):i.set(a,o,0);return i}get pivotPermutationVector(){return Array.from(this.pivotVector)}};function Rd(e,t){let r=0;return Math.abs(e)>Math.abs(t)?(r=t/e,Math.abs(e)*Math.sqrt(1+r*r)):t!==0?(r=e/t,Math.abs(t)*Math.sqrt(1+r*r)):0}var _3=class{constructor(t){t=Pc.checkMatrix(t);let r=t.clone(),n=t.rows,i=t.columns,a=new Float64Array(i),o,s,l,u;for(l=0;l<i;l++){let f=0;for(o=l;o<n;o++)f=Rd(f,r.get(o,l));if(f!==0){for(r.get(l,l)<0&&(f=-f),o=l;o<n;o++)r.set(o,l,r.get(o,l)/f);for(r.set(l,l,r.get(l,l)+1),s=l+1;s<i;s++){for(u=0,o=l;o<n;o++)u+=r.get(o,l)*r.get(o,s);for(u=-u/r.get(l,l),o=l;o<n;o++)r.set(o,s,r.get(o,s)+u*r.get(o,l))}}a[l]=-f}this.QR=r,this.Rdiag=a}solve(t){t=mn.checkMatrix(t);let r=this.QR,n=r.rows;if(t.rows!==n)throw new Error("Matrix row dimensions must agree");if(!this.isFullRank())throw new Error("Matrix is rank deficient");let i=t.columns,a=t.clone(),o=r.columns,s,l,u,f;for(u=0;u<o;u++)for(l=0;l<i;l++){for(f=0,s=u;s<n;s++)f+=r.get(s,u)*a.get(s,l);for(f=-f/r.get(u,u),s=u;s<n;s++)a.set(s,l,a.get(s,l)+f*r.get(s,u))}for(u=o-1;u>=0;u--){for(l=0;l<i;l++)a.set(u,l,a.get(u,l)/this.Rdiag[u]);for(s=0;s<u;s++)for(l=0;l<i;l++)a.set(s,l,a.get(s,l)-a.get(u,l)*r.get(s,u))}return a.subMatrix(0,o-1,0,i-1)}isFullRank(){let t=this.QR.columns;for(let r=0;r<t;r++)if(this.Rdiag[r]===0)return!1;return!0}get upperTriangularMatrix(){let t=this.QR,r=t.columns,n=new mn(r,r),i,a;for(i=0;i<r;i++)for(a=0;a<r;a++)i<a?n.set(i,a,t.get(i,a)):i===a?n.set(i,a,this.Rdiag[i]):n.set(i,a,0);return n}get orthogonalMatrix(){let t=this.QR,r=t.rows,n=t.columns,i=new mn(r,n),a,o,s,l;for(s=n-1;s>=0;s--){for(a=0;a<r;a++)i.set(a,s,0);for(i.set(s,s,1),o=s;o<n;o++)if(t.get(s,s)!==0){for(l=0,a=s;a<r;a++)l+=t.get(a,s)*i.get(a,o);for(l=-l/t.get(s,s),a=s;a<r;a++)i.set(a,o,i.get(a,o)+l*t.get(a,s))}}return i}};var T3=class{constructor(t,r={}){if(t=Pc.checkMatrix(t),t.isEmpty())throw new Error("Matrix must be non-empty");let n=t.rows,i=t.columns,{computeLeftSingularVectors:a=!0,computeRightSingularVectors:o=!0,autoTranspose:s=!1}=r,l=Boolean(a),u=Boolean(o),f=!1,c;if(n<i)if(!s)c=t.clone(),console.warn("Computing SVD on a matrix with more columns than rows. Consider enabling autoTranspose");else{c=t.transpose(),n=c.rows,i=c.columns,f=!0;let y=l;l=u,u=y}else c=t.clone();let h=Math.min(n,i),d=Math.min(n+1,i),v=new Float64Array(d),m=new mn(n,h),b=new mn(i,i),g=new Float64Array(i),_=new Float64Array(n),T=new Float64Array(d);for(let y=0;y<d;y++)T[y]=y;let w=Math.min(n-1,i),k=Math.max(0,Math.min(i-2,n)),x=Math.max(w,k);for(let y=0;y<x;y++){if(y<w){v[y]=0;for(let E=y;E<n;E++)v[y]=Rd(v[y],c.get(E,y));if(v[y]!==0){c.get(y,y)<0&&(v[y]=-v[y]);for(let E=y;E<n;E++)c.set(E,y,c.get(E,y)/v[y]);c.set(y,y,c.get(y,y)+1)}v[y]=-v[y]}for(let E=y+1;E<i;E++){if(y<w&&v[y]!==0){let C=0;for(let L=y;L<n;L++)C+=c.get(L,y)*c.get(L,E);C=-C/c.get(y,y);for(let L=y;L<n;L++)c.set(L,E,c.get(L,E)+C*c.get(L,y))}g[E]=c.get(y,E)}if(l&&y<w)for(let E=y;E<n;E++)m.set(E,y,c.get(E,y));if(y<k){g[y]=0;for(let E=y+1;E<i;E++)g[y]=Rd(g[y],g[E]);if(g[y]!==0){g[y+1]<0&&(g[y]=0-g[y]);for(let E=y+1;E<i;E++)g[E]/=g[y];g[y+1]+=1}if(g[y]=-g[y],y+1<n&&g[y]!==0){for(let E=y+1;E<n;E++)_[E]=0;for(let E=y+1;E<n;E++)for(let C=y+1;C<i;C++)_[E]+=g[C]*c.get(E,C);for(let E=y+1;E<i;E++){let C=-g[E]/g[y+1];for(let L=y+1;L<n;L++)c.set(L,E,c.get(L,E)+C*_[L])}}if(u)for(let E=y+1;E<i;E++)b.set(E,y,g[E])}}let M=Math.min(i,n+1);if(w<i&&(v[w]=c.get(w,w)),n<M&&(v[M-1]=0),k+1<M&&(g[k]=c.get(k,M-1)),g[M-1]=0,l){for(let y=w;y<h;y++){for(let E=0;E<n;E++)m.set(E,y,0);m.set(y,y,1)}for(let y=w-1;y>=0;y--)if(v[y]!==0){for(let E=y+1;E<h;E++){let C=0;for(let L=y;L<n;L++)C+=m.get(L,y)*m.get(L,E);C=-C/m.get(y,y);for(let L=y;L<n;L++)m.set(L,E,m.get(L,E)+C*m.get(L,y))}for(let E=y;E<n;E++)m.set(E,y,-m.get(E,y));m.set(y,y,1+m.get(y,y));for(let E=0;E<y-1;E++)m.set(E,y,0)}else{for(let E=0;E<n;E++)m.set(E,y,0);m.set(y,y,1)}}if(u)for(let y=i-1;y>=0;y--){if(y<k&&g[y]!==0)for(let E=y+1;E<i;E++){let C=0;for(let L=y+1;L<i;L++)C+=b.get(L,y)*b.get(L,E);C=-C/b.get(y+1,y);for(let L=y+1;L<i;L++)b.set(L,E,b.get(L,E)+C*b.get(L,y))}for(let E=0;E<i;E++)b.set(E,y,0);b.set(y,y,1)}let A=M-1,p=0,S=Number.EPSILON;for(;M>0;){let y,E;for(y=M-2;y>=-1&&y!==-1;y--){let C=Number.MIN_VALUE+S*Math.abs(v[y]+Math.abs(v[y+1]));if(Math.abs(g[y])<=C||Number.isNaN(g[y])){g[y]=0;break}}if(y===M-2)E=4;else{let C;for(C=M-1;C>=y&&C!==y;C--){let L=(C!==M?Math.abs(g[C]):0)+(C!==y+1?Math.abs(g[C-1]):0);if(Math.abs(v[C])<=S*L){v[C]=0;break}}C===y?E=3:C===M-1?E=1:(E=2,y=C)}switch(y++,E){case 1:{let C=g[M-2];g[M-2]=0;for(let L=M-2;L>=y;L--){let R=Rd(v[L],C),I=v[L]/R,P=C/R;if(v[L]=R,L!==y&&(C=-P*g[L-1],g[L-1]=I*g[L-1]),u)for(let D=0;D<i;D++)R=I*b.get(D,L)+P*b.get(D,M-1),b.set(D,M-1,-P*b.get(D,L)+I*b.get(D,M-1)),b.set(D,L,R)}break}case 2:{let C=g[y-1];g[y-1]=0;for(let L=y;L<M;L++){let R=Rd(v[L],C),I=v[L]/R,P=C/R;if(v[L]=R,C=-P*g[L],g[L]=I*g[L],l)for(let D=0;D<n;D++)R=I*m.get(D,L)+P*m.get(D,y-1),m.set(D,y-1,-P*m.get(D,L)+I*m.get(D,y-1)),m.set(D,L,R)}break}case 3:{let C=Math.max(Math.abs(v[M-1]),Math.abs(v[M-2]),Math.abs(g[M-2]),Math.abs(v[y]),Math.abs(g[y])),L=v[M-1]/C,R=v[M-2]/C,I=g[M-2]/C,P=v[y]/C,D=g[y]/C,q=((R+L)*(R-L)+I*I)/2,N=L*I*(L*I),U=0;(q!==0||N!==0)&&(q<0?U=0-Math.sqrt(q*q+N):U=Math.sqrt(q*q+N),U=N/(q+U));let G=(P+L)*(P-L)+U,ee=P*D;for(let Q=y;Q<M-1;Q++){let j=Rd(G,ee);j===0&&(j=Number.MIN_VALUE);let O=G/j,Z=ee/j;if(Q!==y&&(g[Q-1]=j),G=O*v[Q]+Z*g[Q],g[Q]=O*g[Q]-Z*v[Q],ee=Z*v[Q+1],v[Q+1]=O*v[Q+1],u)for(let K=0;K<i;K++)j=O*b.get(K,Q)+Z*b.get(K,Q+1),b.set(K,Q+1,-Z*b.get(K,Q)+O*b.get(K,Q+1)),b.set(K,Q,j);if(j=Rd(G,ee),j===0&&(j=Number.MIN_VALUE),O=G/j,Z=ee/j,v[Q]=j,G=O*g[Q]+Z*v[Q+1],v[Q+1]=-Z*g[Q]+O*v[Q+1],ee=Z*g[Q+1],g[Q+1]=O*g[Q+1],l&&Q<n-1)for(let K=0;K<n;K++)j=O*m.get(K,Q)+Z*m.get(K,Q+1),m.set(K,Q+1,-Z*m.get(K,Q)+O*m.get(K,Q+1)),m.set(K,Q,j)}g[M-2]=G,p=p+1;break}case 4:{if(v[y]<=0&&(v[y]=v[y]<0?-v[y]:0,u))for(let C=0;C<=A;C++)b.set(C,y,-b.get(C,y));for(;y<A&&!(v[y]>=v[y+1]);){let C=v[y];if(v[y]=v[y+1],v[y+1]=C,u&&y<i-1)for(let L=0;L<i;L++)C=b.get(L,y+1),b.set(L,y+1,b.get(L,y)),b.set(L,y,C);if(l&&y<n-1)for(let L=0;L<n;L++)C=m.get(L,y+1),m.set(L,y+1,m.get(L,y)),m.set(L,y,C);y++}p=0,M--;break}}}if(f){let y=b;b=m,m=y}this.m=n,this.n=i,this.s=v,this.U=m,this.V=b}solve(t){let r=t,n=this.threshold,i=this.s.length,a=mn.zeros(i,i);for(let h=0;h<i;h++)Math.abs(this.s[h])<=n?a.set(h,h,0):a.set(h,h,1/this.s[h]);let o=this.U,s=this.rightSingularVectors,l=s.mmul(a),u=s.rows,f=o.rows,c=mn.zeros(u,f);for(let h=0;h<u;h++)for(let d=0;d<f;d++){let v=0;for(let m=0;m<i;m++)v+=l.get(h,m)*o.get(d,m);c.set(h,d,v)}return c.mmul(r)}solveForDiagonal(t){return this.solve(mn.diag(t))}inverse(){let t=this.V,r=this.threshold,n=t.rows,i=t.columns,a=new mn(n,this.s.length);for(let f=0;f<n;f++)for(let c=0;c<i;c++)Math.abs(this.s[c])>r&&a.set(f,c,t.get(f,c)/this.s[c]);let o=this.U,s=o.rows,l=o.columns,u=new mn(n,s);for(let f=0;f<n;f++)for(let c=0;c<s;c++){let h=0;for(let d=0;d<l;d++)h+=a.get(f,d)*o.get(c,d);u.set(f,c,h)}return u}get condition(){return this.s[0]/this.s[Math.min(this.m,this.n)-1]}get norm2(){return this.s[0]}get rank(){let t=Math.max(this.m,this.n)*this.s[0]*Number.EPSILON,r=0,n=this.s;for(let i=0,a=n.length;i<a;i++)n[i]>t&&r++;return r}get diagonal(){return Array.from(this.s)}get threshold(){return Number.EPSILON/2*Math.max(this.m,this.n)*this.s[0]}get leftSingularVectors(){return this.U}get rightSingularVectors(){return this.V}get diagonalMatrix(){return mn.diag(this.s)}};function A3(e,t,r=!1){return e=Pc.checkMatrix(e),t=Pc.checkMatrix(t),r?new T3(e).solve(t):e.isSquare()?new w3(e).solve(t):new _3(e).solve(t)}var Vm=class extends Is{constructor(t,r,n){super(),t===!0?(this.degree=r.degree,this.powers=r.powers,this.coefficients=r.coefficients):(Wl(t,r),w4t(this,t,r,n))}_predict(t){let r=0;for(let n=0;n<this.powers.length;n++)r+=this.coefficients[n]*Math.pow(t,this.powers[n]);return r}toJSON(){return{name:"polynomialRegression",degree:this.degree,powers:this.powers,coefficients:this.coefficients}}toString(t){return this._toFormula(t,!1)}toLaTeX(t){return this._toFormula(t,!0)}_toFormula(t,r){let n="^",i="",a=" * ";r&&(n="^{",i="}",a="");let o="",s="";for(let l=0;l<this.coefficients.length;l++)s="",this.coefficients[l]!==0&&(this.powers[l]===0?s=Zi(this.coefficients[l],t):this.powers[l]===1?s=`${Zi(this.coefficients[l],t)+a}x`:s=`${Zi(this.coefficients[l],t)+a}x${n}${this.powers[l]}${i}`,this.coefficients[l]>0&&l!==this.coefficients.length-1?s=` + ${s}`:l!==this.coefficients.length-1&&(s=` ${s}`)),o=s+o;return o.charAt(0)==="+"&&(o=o.slice(1)),`f(x) = ${o}`}static load(t){if(t.name!=="polynomialRegression")throw new TypeError("not a polynomial regression model");return new Vm(!0,t)}};function w4t(e,t,r,n){let i=t.length,a;if(Array.isArray(n))a=n,n=a.length;else{n++,a=new Array(n);for(let c=0;c<n;c++)a[c]=c}let o=new mn(i,n),s=new mn([r]);for(let c=0;c<n;c++)for(let h=0;h<i;h++)a[c]===0?o.set(h,c,1):o.set(h,c,Math.pow(t[h],a[c]));let l=new jm(o),u=l.mmul(o),f=l.mmul(new jm(s));e.degree=n-1,e.powers=a,e.coefficients=A3(u,f).to1DArray()}var Ym=class extends Is{constructor(t,r){super(),t===!0?(this.A=r.A,this.B=r.B):(Wl(t,r),_4t(this,t,r))}_predict(t){return this.A*Math.pow(t,this.B)}toJSON(){return{name:"powerRegression",A:this.A,B:this.B}}toString(t){return`f(x) = ${Zi(this.A,t)} * x^${Zi(this.B,t)}`}toLaTeX(t){let r="";return this.B>=0?r=`f(x) = ${Zi(this.A,t)}x^{${Zi(this.B,t)}}`:r=`f(x) = \\frac{${Zi(this.A,t)}}{x^{${Zi(-this.B,t)}}}`,r=r.replace(/e([+-]?[0-9]+)/g,"e^{$1}"),r}static load(t){if(t.name!=="powerRegression")throw new TypeError("not a power regression model");return new Ym(!0,t)}};function _4t(e,t,r){let n=t.length,i=new Array(n),a=new Array(n);for(let s=0;s<n;s++)i[s]=Math.log(t[s]),a[s]=Math.log(r[s]);let o=new Lc(i,a);e.A=Math.exp(o.intercept),e.B=o.slope}var Gm=class extends Is{constructor(t,r){super(),t===!0?(this.A=r.A,this.B=r.B):(Wl(t,r),T4t(this,t,r))}_predict(t){return this.B*Math.exp(t*this.A)}toJSON(){return{name:"exponentialRegression",A:this.A,B:this.B}}toString(t){return`f(x) = ${Zi(this.B,t)} * e^(${Zi(this.A,t)} * x)`}toLaTeX(t){return this.A>=0?`f(x) = ${Zi(this.B,t)}e^{${Zi(this.A,t)}x}`:`f(x) = \\frac{${Zi(this.B,t)}}{e^{${Zi(-this.A,t)}x}}`}static load(t){if(t.name!=="exponentialRegression")throw new TypeError("not a exponential regression model");return new Gm(!0,t)}};function T4t(e,t,r){let n=t.length,i=new Array(n);for(let o=0;o<n;o++)i[o]=Math.log(r[o]);let a=new Lc(t,i);e.A=a.slope,e.B=Math.exp(a.intercept)}var f8e=$c(u8e());function hN(e){if(!pa(e))throw new TypeError("input must be an array");if(e.length===0)throw new TypeError("input must not be empty");return(0,f8e.default)(e.slice())}var Wm=class extends Is{constructor(t,r){super(),t===!0?(this.slope=r.slope,this.intercept=r.intercept,this.coefficients=r.coefficients):(Wl(t,r),A4t(this,t,r))}toJSON(){return{name:"TheilSenRegression",slope:this.slope,intercept:this.intercept}}_predict(t){return this.slope*t+this.intercept}computeX(t){return(t-this.intercept)/this.slope}toString(t){var r="f(x) = ";if(this.slope){var n=Zi(this.slope,t);if(r+=`${Math.abs(n-1)<1e-5?"":`${n} * `}x`,this.intercept){var i=Math.abs(this.intercept),a=i===this.intercept?"+":"-";r+=` ${a} ${Zi(i,t)}`}}else r+=Zi(this.intercept,t);return r}toLaTeX(t){return this.toString(t)}static load(t){if(t.name!=="TheilSenRegression")throw new TypeError("not a Theil-Sen model");return new Wm(!0,t)}};function A4t(e,t,r){let n=t.length,i=new Array(n*n),a=0;for(let l=0;l<n;++l)for(let u=l+1;u<n;++u)t[l]!==t[u]&&(i[a++]=(r[u]-r[l])/(t[u]-t[l]));i.length=a;let o=hN(i),s=new Array(n);for(let l=0;l<n;++l)s[l]=r[l]-o*t[l];e.slope=o,e.intercept=hN(s),e.coefficients=[e.intercept,e.slope]}function $C(e,t,r){let n=0;for(let i=0;i<t.length;i++)n+=r[i]*Math.pow(e,t[i]);return n}function c8e(e,t){let r=[],n=[];for(let i=0;i<e.length;i++){n[i]=[e[i].y],r[i]=new Array(t.length);for(let a=0;a<t.length;a++)r[i][a]=Math.pow(e[i].x,t[a])}return A3(r,n).to1DArray()}function h8e(e,t,r){let n=Math.floor(e.length/r),i=new Array(n);for(let a=0;a<e.length;a++){let o=Math.floor(Math.random()*n),s=0;for(;s<e.length;)if(i[o])if(i[o].length<r){i[o].push({x:e[a],y:t[a]});break}else s++,o=(o+1)%n;else{i[o]=[{x:e[a],y:t[a]}];break}if(s===e.length)return i}return i}function v8e(e){e.sort((n,i)=>n.residual-i.residual);let t=e.length,r=Math.floor(t/2);return t%2===0?e[r-1]:e[r]}function d8e(e,t,r,n){let i=Array(n).fill(0).map((s,l)=>l),a=h8e(t,r,n),o;for(let s of a){let l=c8e(s,i),u=[];for(let c=0;c<t.length;c++){let h=r[c]-$C(t[c],i,l);u[c]={residual:h*h,coefficients:l}}let f=v8e(u);(!o||f.residual<o.residual)&&(o=f)}e.degree=n,e.powers=i,e.coefficients=o?o.coefficients:[]}var lb=class extends Is{constructor(t,r,n){if(super(),pa(t))Wl(t,r),d8e(this,t,r,n);else{let i="robustPolynomialRegression",a=t;this.degree=a.degree,this.powers=a.powers,this.coefficients=a.coefficients,this.name=i}}toJSON(){return{name:this.name,degree:this.degree,powers:this.powers,coefficients:this.coefficients}}_predict(t){return $C(t,this.powers,this.coefficients)}toString(t){return this._toFormula(t,!1)}toLaTeX(t){return this._toFormula(t,!0)}_toFormula(t,r){let n="^",i="",a=" * ";r&&(n="^{",i="}",a="");let o="",s="",l=this.coefficients,u=this.powers;for(let f=0;f<l.length;f++)s="",l[f]!==0&&(u[f]===0?s=Zi(l[f],t):u[f]===1?s=`${Zi(l[f],t)+a}x`:s=`${Zi(l[f],t)+a}x${n}${u[f]}${i}`,l[f]>0&&f!==l.length-1?s=` + ${s}`:f!==l.length-1&&(s=` ${s}`)),o=s+o;return o.startsWith("+")&&(o=o.slice(1)),`f(x) = ${o}`}static load(t){if(t.name!=="robustPolynomialRegression")throw new TypeError("not a RobustPolynomialRegression model");return new lb(t,void 0,void 0)}};var DN=$c(kRe()),RN=$c(pN());var C3=class extends Is{constructor(r,n,i){super();X3(this,"x0",0);X3(this,"dt",0);X3(this,"filtered",[]);if(r===!0)throw new Error("not implemented");Wl(r,n),this._regress(r,n,i)}_regress(r,n,i){var a=(0,RN.default)(new Float64Array(n)),o=(0,RN.default)(new Float64Array(Array(n.length).fill(0)));(0,DN.default)(1,a,o),this.x0=r[0],this.dt=(r[r.length-1]-r[0])/r.length;let s=Array.from(a.data).map((l,u)=>[l,u]).sort((l,u)=>u[0]-l[0]);for(let l=i;l<s.length;l++)a.set(s[l][1],0),o.set(s[l][1],0);(0,DN.default)(-1,a,o),this.filtered=a.data}toJSON(){throw new Error("not implemented")}_predict(r){return this.filtered[Math.round((r-this.x0)/this.dt)%this.filtered.length]}computeX(r){return"not implemented"}toString(r){return"not implemented"}toLaTeX(r){return this.toString(r)}static load(r){throw new Error("not implemented")}};var qN=e=>parseFloat(e),E3=typeof window!="undefined"?window.eval:global.eval,db=(e,t)=>e.map((r,n)=>{let i=qN(r);return Number.isNaN(i)?r:t(i,n)}),L3=({xs:e,ys:t,states:r,statistics:n,...i})=>{let a=t.map(s=>qN(s)),o=a.map(s=>!isNaN(s));return{ys:a.filter((s,l)=>o[l]),xs:e.filter((s,l)=>o[l]),states:r.filter((s,l)=>o[l]),statistics:n.filter((s,l)=>o[l]),...i}},zCt={force_numeric:()=>L3,add:e=>({ys:t})=>({ys:db(t,r=>r+e)}),multiply:e=>({ys:t})=>({ys:db(t,r=>r*e)}),calibrate_linear:e=>({ys:t,meta:r})=>{let n=e.map(a=>a.split("->").map(parseFloat)),i=new Lc(n.map(([a,o])=>a),n.map(([a,o])=>o));return{ys:i.predict(t.map(qN)),meta:{...r,regression:i}}},deduplicate_adjacent:()=>({xs:e,ys:t,states:r,statistics:n})=>{let i=t.map((a,o)=>a!==t[o-1]);return{ys:t.filter((a,o)=>i[o]),xs:e.filter((a,o)=>i[o]),states:r.filter((a,o)=>i[o]),statistics:n.filter((a,o)=>i[o])}},delta:()=>({ys:e,meta:t,xs:r,statistics:n,states:i})=>{let a={y:NaN};return{meta:{...t,unit_of_measurement:`\u0394${t.unit_of_measurement}`},ys:db(e,o=>{let s=o-a.y;return a.y=o,s}).slice(1),xs:r.slice(1),statistics:n.slice(1),states:i.slice(1)}},derivate:(e="h")=>({xs:t,ys:r,meta:n})=>{let i={x:+t[0],y:NaN};return PN(e),PN(e),{meta:{...n,unit_of_measurement:`${n.unit_of_measurement}/${e}`},xs:t,ys:db(r,(a,o)=>{let s=+t[o],l=(s-i.x)/sb[e],u=(a-i.y)/l;return i.y=a,i.x=s,u})}},integrate:(e="h")=>{var s,l,u;let t=typeof e=="string"?{unit:e}:e,r=(s=t.unit)!=null?s:"h",n=mu((l=t.reset_every)!=null?l:"0s"),i=mu((u=t.offset)!=null?u:"0s");PN(r);let a=new Date;a.setHours(0),a.setMinutes(0),a.setSeconds(0);let o=+a+i;return({xs:f,ys:c,meta:h})=>{let d=0,v={x:NaN,laps:0,y:0};return{meta:{...h,unit_of_measurement:`${h.unit_of_measurement}${r}`},xs:f,ys:db(c,(m,b)=>{let g=+f[b];if(n>0){let w=Math.floor((g-o)/n);w!==v.laps&&(d=0,v.laps=w)}let _=(g-v.x)/sb[r],T=isNaN(v.x);return v.x=g,T?NaN:(d+=v.y*_,v.y=m,d)})}}},sliding_window_moving_average:({window_size:e=10,extended:t=!1,centered:r=!0}={})=>n=>{let{xs:i,ys:a,...o}=L3(n),s=[],l=[],u={y:0,count:0,x:0};for(let f=0;f<a.length+e;f++)f<a.length&&(u.x+=+i[f],u.y+=a[f],u.count++),f>=e&&(u.x-=+i[f-e],u.y-=a[f-e],u.count--),(f>=e&&f<a.length||t)&&(r?l.push(new Date(u.x/u.count)):l.push(i[f]),s.push(u.y/u.count));return{xs:l,ys:s,...o}},median:({window_size:e=10,extended:t=!1,centered:r=!0}={})=>n=>{let{xs:i,ys:a,...o}=L3(n),s=[],l=[],u={ys:[],x:0};for(let f=0;f<a.length+e;f++)if(f<a.length&&(u.x+=+i[f],u.ys.push(a[f])),f>=e&&(u.x-=+i[f-e],u.ys.shift()),f>=e&&f<a.length||t){r?l.push(new Date(u.x/u.ys.length)):l.push(i[f]);let c=u.ys.slice().sort(),h=Math.floor(c.length/2),d=Math.ceil(c.length/2);s.push((c[h]+c[d])/2)}return{ys:s,xs:l,...o}},exponential_moving_average:({alpha:e=.1}={})=>t=>{let{ys:r,...n}=L3(t),i=r[0];return{ys:r.map(a=>i=i*(1-e)+a*e),...n}},map_y_numbers:e=>{let t=E3(`(i, x, y, state, statistic, xs, ys, states, statistics, meta, vars, hass) => ${e}`);return({xs:r,ys:n,states:i,statistics:a,meta:o,vars:s,hass:l})=>({xs:r,ys:db(n,(u,f)=>t(f,r[f],n[f],i[f],a[f],r,n,i,a,o,s,l))})},map_y:e=>{let t=E3(`(i, x, y, state, statistic, xs, ys, states, statistics, meta, vars, hass) => ${e}`);return({xs:r,ys:n,states:i,statistics:a,meta:o,vars:s,hass:l})=>({xs:r,ys:n.map((u,f)=>t(f,r[f],n[f],i[f],a[f],r,n,i,a,o,s,l))})},map_x:e=>{let t=E3(`(i, x, y, state, statistic, xs, ys, states, statistics, meta, vars, hass) => ${e}`);return({xs:r,ys:n,states:i,statistics:a,meta:o,vars:s,hass:l})=>({ys:n,xs:r.map((u,f)=>t(f,r[f],n[f],i[f],a[f],r,n,i,a,o,s,l))})},resample:(e="5m")=>({xs:t,ys:r,states:n,statistics:i})=>{let a={xs:[],ys:[],states:[],statistics:[]},o=mu(e),s=Math.floor(+t[0]/o)*o,l=+t[t.length-1],u=0;for(let f=s;f<l;f+=o){for(;+t[u+1]<f&&u<t.length-1;)u++;a.xs.push(new Date(f)),a.ys.push(r[u]),n[u]&&a.states.push(n[u]),i[u]&&a.statistics.push(i[u])}return a},load_var:e=>({vars:t})=>t[e],store_var:e=>({vars:t,xs:r,ys:n,states:i,statistics:a,meta:o})=>({vars:{...t,[e]:{xs:r,ys:n,states:i,statistics:a,meta:o}}}),trendline:(e="linear")=>{var i,a,o,s,l;let t={};typeof e=="string"?t={type:e}:t={...e},(i=t.type)!=null||(t.type="linear"),(a=t.forecast)!=null||(t.forecast="0s"),(o=t.show_formula)!=null||(t.show_formula=!1),(s=t.show_r2)!=null||(t.show_r2=!1),(l=t.degree)!=null||(t.degree=2);let r=t,n=mu(r.forecast);return u=>{let{xs:f,ys:c,meta:h,...d}=L3(u),v=+f[0]-.1,m=+f[f.length-1],b=f.map(k=>+k-v),g=IN[r.type];if(!g)throw new Error(`Trendline '${r.type}' doesn't exist. Did you mean <b>${(0,SRe.default)(r.type,Object.keys(IN))}<b>?
|
|
Others: ${Object.keys(IN)}`);let _=new g(b,c,r.degree),T=[];if(r.show_r2&&T.push(`r\xB2=${NCt(_.score(b,c).r2,2)}`),n>0){let k=Math.round(b.length/(b[b.length-1]-b[0])*n);b.push(...Array.from({length:k}).map((x,M)=>m-v+n/k*M))}let w=_.predict(b);return r.show_formula&&T.push(_.toString(2)),{...d,xs:b.map(k=>new Date(k+v)),ys:w,meta:{...h,friendly_name:"Trend"+(T.length?` (${T.join(", ")})`:"")}}}},fn:e=>E3(e),filter:e=>{let t=E3(`(i, x, y, state, statistic, xs, ys, states, statistics, meta, vars, hass) => ${e}`);return({xs:r,ys:n,states:i,statistics:a,meta:o,vars:s,hass:l})=>{let u=n.map((f,c)=>t(c,r[c],n[c],i[c],a[c],r,n,i,a,o,s,l));return{ys:n.filter((f,c)=>u[c]),xs:r.filter((f,c)=>u[c]),states:i.filter((f,c)=>u[c]),statistics:a.filter((f,c)=>u[c])}}}},s6=zCt;function PN(e){if(!sb[e])throw new Error(`Unit '${e}' is not valid, use ${Object.keys(sb)}`)}var IN={linear:Lc,polynomial:Vm,power:Ym,exponential:Gm,theil_sen:Wm,robust_polynomial:lb,fft:C3};function NCt(e,t){return Math.round(e*10**t)/10**t}var zN=$c(ERe()),PRe=$c(VC());function FN(e,t){let r=VCt(e,t);return r?new Error(`at [${e}]: ${r}`):null}function VCt(e,t){if(e.match(/^no_theme$/))return'renamed to <a href="https://github.com/dbuezas/lovelace-plotly-graph-card#home-assistant-theming">ha_theme</a> (inverted logic) in v3.0.0';if(e.match(/^no_default_layout$/))return'replaced with more general <a href="https://github.com/dbuezas/lovelace-plotly-graph-card#raw-plotly-config">raw-plotly-config</a> in v3.0.0. See <a href="https://github.com/dbuezas/lovelace-plotly-graph-card#no_default_layout">layout migration guide</a>.';if(e.match(/^offset$/))return"renamed to time_offset in v3.0.0";if(e.match(/^entities\.\d+\.offset$/))try{return mu(t),'renamed to time_offset in v3.0.0 to avoid conflicts with <a href="https://plotly.com/javascript/reference/bar/#bar-offset">bar-offsets</a>.'}catch(r){}return e.match(/^entities\.\d+\.lambda$/)?'removed in v3.0.0, use <a href="https://github.com/dbuezas/lovelace-plotly-graph-card#filters">filters</a> instead. See <a href="https://github.com/dbuezas/lovelace-plotly-graph-card#lambda">lambda migration guide</a>.':e.match(/^entities\.\d+\.show_value\.right_margin$/)?"removed in v3.0.0, use `true` and set the global `time_offset` or `layout.margins.r` to make space at the right. ":e.match(/^significant_changes_only$/)?"removed in v3.0.0, it is now always set to false":e.match(/^minimal_response$/)?"removed in v3.0.0, if you need attributes use the 'attribute' parameter instead.":null}var l6=class{constructor(){this.yaml={};this.cache=new g3;this.busy=!1;this.observed_range=[Date.now(),Date.now()]}resetObservedRange(){this.observed_range=[Date.now(),Date.now()]}async update(t){if(this.busy)throw new Error("ParseConfig was updated while busy");this.busy=!0;try{return this._update(t)}finally{this.busy=!1}}async _update({yaml:t,hass:r,css_vars:n}){var i;this.yaml={},this.errors=[],this.hass=r,this.yaml_with_defaults=LDe(t,n),PDe(r),this.fnParam={vars:{},path:"",hass:r,css_vars:n,getFromConfig:()=>"",get:()=>""};for(let[a,o]of Object.entries(this.yaml_with_defaults))try{await this.evalNode({parent:this.yaml,path:a,key:a,value:o})}catch(s){console.warn(`Plotly Graph Card: Error parsing [${a}]`,s),(i=this.errors)==null||i.push(s)}return this.yaml=DDe(this.yaml),{errors:this.errors,parsed:this.yaml}}async evalNode({parent:t,path:r,key:n,value:i}){var o,s,l,u,f;if(r.match(/^defaults$/))return;if(this.fnParam.path=r,this.fnParam.getFromConfig=c=>this.getEvaledPath(c,r),this.fnParam.get=this.fnParam.getFromConfig,!this.fnParam.xs&&r.match(/^entities\.\d+\./)&&!r.match(/^entities\.\d+\.(entity|attribute|time_offset|statistic|period)/)&&(LRe(i)||r.match(/^entities\.\d+\.filters\.\d+$/))){let c=r.match(/^(entities\.\d+)\./)[1];await this.fetchDataForEntity(c)}typeof i=="string"&&(i.startsWith("$ex")&&(i="$fn ({ getFromConfig, get, hass, vars, path, css_vars, xs, ys, statistics, states, meta }) => "+i.slice(3)),i.startsWith("$fn")&&(i=YCt(i.slice(3))));let a=FN(r,i);if(a&&((o=this.errors)==null||o.push(a)),typeof i=="function")t[n]=i=i(this.fnParam);else if(GCt(i)){let c=Array.isArray(i)?[]:{};t[n]=c;for(let[h,d]of Object.entries(i)){let v=`${r}.${h}`;try{await this.evalNode({parent:c,path:v,key:h,value:d})}catch(m){console.warn(`Plotly Graph Card: Error parsing [${v}]`,m),(s=this.errors)==null||s.push(new Error(`at [${v}]: ${(m==null?void 0:m.message)||m}`))}}}else t[n]=i;if(i=t[n],r.match(/^entities\.\d+\.filters\.\d+$/)&&this.evalFilter({parent:t,path:r,key:n,value:i}),r.match(/^entities\.\d+$/)){this.fnParam.xs||await this.fetchDataForEntity(r);let c=t[n];this.fnParam.getFromConfig("raw_plotly_config")||(c.x||(c.x=this.fnParam.xs),c.y||(c.y=this.fnParam.ys),c.x.length===0&&c.y.length===0&&(c.x=[new Date],c.y=[null])),delete this.fnParam.xs,delete this.fnParam.ys,delete this.fnParam.statistics,delete this.fnParam.states,delete this.fnParam.meta}if(r.match(/^entities$/)){t[n]=t[n].filter(({internal:d})=>!d);let c=t[n],h=c.length;for(let d=0;d<h;d++){let v=c[d];v.show_value&&((l=v.legendgroup)!=null||(v.legendgroup="group"+d),c.push({texttemplate:`%{y:.2~f} ${this.fnParam.getFromConfig(`entities.${d}.unit_of_measurement`)}`,...v,cliponaxis:!1,mode:"text+markers",showlegend:!1,hoverinfo:"skip",textposition:"middle right",marker:{color:(u=v.line)==null?void 0:u.color},textfont:{color:(f=v.line)==null?void 0:f.color},x:v.x.slice(-1),y:v.y.slice(-1)}))}}}async fetchDataForEntity(t){var h,d,v;let r=this.fnParam.getFromConfig("visible_range");if(!r){let m=mu(this.fnParam.getFromConfig("time_offset")),b=this.fnParam.getFromConfig("hours_to_show");if(IDe(b)){let[g,_]=sN(b);r=[g+m,_+m]}else{let g;if(RDe(b))g=mu(b);else if(typeof b=="number")g=b*60*60*1e3;else throw new Error(`${b} is not a valid duration. Use numbers, durations (e.g 1d) or dynamic time (e.g current_day)`);r=[+new Date-g+m,+new Date+m]}this.yaml.visible_range=r}this.fnParam.getFromConfig("autorange_after_scroll")&&(this.observed_range=r.slice()),this.observed_range[0]=Math.min(this.observed_range[0],r[0]),this.observed_range[1]=Math.max(this.observed_range[1],r[1]);let n=qDe(r,this.fnParam.getFromConfig(t+".statistic"),this.fnParam.getFromConfig(t+".period")),i=this.fnParam.getFromConfig(t+".attribute"),a={entity:this.fnParam.getFromConfig(t+".entity"),...n||(i?{attribute:i}:{})},o=mu(this.fnParam.getFromConfig(t+".time_offset")),s=[r[0]-o,r[1]-o],l=this.fnParam.getFromConfig("fetch_mask"),u=WC(t),f=l[u]===!1?this.cache.getData(a):await this.cache.fetch(s,a,this.hass),c=(h=this.fnParam.getFromConfig(t+".extend_to_present"))!=null?h:!n;if(f.xs=f.xs.map(m=>new Date(+m+o)),WCt(f,this.observed_range),c&&f.xs.length>0){let m=f.xs.length-1,b=Math.min(this.observed_range[1],Date.now());f.xs.push(new Date(Math.min(this.observed_range[1],b+o))),f.ys.push(f.ys[m]),f.states.length&&f.states.push(f.states[m]),f.statistics.length&&f.statistics.push(f.statistics[m])}this.fnParam.xs=f.xs,this.fnParam.ys=f.ys,this.fnParam.statistics=f.statistics,this.fnParam.states=f.states,this.fnParam.meta=((v=(d=this.hass)==null?void 0:d.states[a.entity])==null?void 0:v.attributes)||{}}getEvaledPath(t,r){if(t.startsWith(".")&&(t=r.split(".").slice(0,-1).concat(t.slice(1).split(".")).join(".")),(0,PRe.has)(this.yaml,t))return(0,RRe.default)(this.yaml,t);let n=this.yaml_with_defaults;for(let i of t.split(".")){if(n===void 0)return;if(n=n[i],LRe(n))throw new Error(`Since [${t}] is a $fn, it has to be defined before [${r}]`)}return n}evalFilter(t){let r=t.value,n,i=null;typeof r=="string"?n=r:(n=Object.keys(r)[0],i=Object.values(r)[0]);let a=s6[n];if(!a)throw new Error(`Filter '${n}' doesn't exist. Did you mean <b>${(0,DRe.default)(n,Object.keys(s6))}<b>?
|
|
Others: ${Object.keys(s6)}`);let o=i===null?a():a(i);try{let s=o(this.fnParam);for(let l in s)this.fnParam[l]=s[l]}catch(s){throw console.error(s),new Error(`Error in filter: ${s}`)}}},YCt=typeof window!="undefined"?window.eval:global.eval;function GCt(e){return e!==null&&typeof e=="object"&&!(e instanceof Date)}function LRe(e){return typeof e=="function"||typeof e=="string"&&e.startsWith("$fn")||typeof e=="string"&&e.startsWith("$ex")}function WCt(e,t){let r=zN.default.le(e.xs,new Date(t[0]));r>-1&&(e.xs.splice(0,r),e.xs[0]=new Date(t[0]),e.ys.splice(0,r),e.states.splice(0,r),e.statistics.splice(0,r));let n=zN.default.gt(e.xs,new Date(t[1]));n>-1&&(e.xs.splice(n),e.ys.splice(n),e.states.splice(n),e.statistics.splice(n))}var WC=e=>+e.match(/entities\.(\d+)/)[1];var qRe=$c(VC()),ON=d3?"plotly-graph":"plotly-graph-dev";console.info(`%c ${ON.toUpperCase()} %c ${wV} production`,"color: orange; font-weight: bold; background: black","color: white; font-weight: bold; background: dimgray");var NN=class extends HTMLElement{constructor(){super();this.size={};this.isBrowsing=!1;this.isInternalRelayout=0;this.configParser=new l6;this.pausedRendering=!1;this.handles={};this.enterBrowsingMode=()=>{this.isBrowsing=!0,this.resetButtonEl.classList.remove("hidden")};this.exitBrowsingMode=async()=>{this.isBrowsing=!1,this.resetButtonEl.classList.add("hidden"),this.withoutRelayout(async()=>{this.configParser.resetObservedRange(),await this.plot({should_fetch:!0})})};this.onLegendItemClick=({curveNumber:r,...n})=>this.parsed_config.entities[r].on_legend_click({curveNumber:r,...n});this.onLegendItemDoubleclick=({curveNumber:r,...n})=>this.parsed_config.entities[r].on_legend_dblclick({curveNumber:r,...n});this.onDataClick=({points:r,...n})=>this.parsed_config.entities[r[0].curveNumber].on_click({points:r,...n});this.onDoubleclick=()=>this.parsed_config.on_dblclick();this.onRestyle=async()=>{this.isInternalRelayout||(this.enterBrowsingMode(),await this.plot({should_fetch:!0}))};this.onRelayout=async()=>{this.isInternalRelayout||(this.enterBrowsingMode(),await this.plot({should_fetch:!0}))};this.fetchScheduled=!1;this.plot=async({should_fetch:r},n)=>{r&&(this.fetchScheduled=!0),await this._plot(n)};this._plot=pDe(async()=>{var v,m;if(this.pausedRendering)return;let r=this.fetchScheduled;this.fetchScheduled=!1;let n=0;for(;!(this.config&&this.hass&&this.isConnected);){if(n++>50)throw new Error("Card didn't load");console.log("waiting for loading"),await AC(100)}let i=this.contentEl.data.map(({visible:b})=>r&&b!=="legendonly"),a=this.isBrowsing?((v=this.contentEl.layout)==null?void 0:v.uirevision)||0:Math.random(),o=(0,qRe.merge)({},this.config,{layout:{...this.size,uirevision:a},fetch_mask:i},this.isBrowsing?{visible_range:this.getVisibleRange()}:{},this.config),{errors:s,parsed:l}=await this.configParser.update({yaml:o,hass:this.hass,css_vars:this.getCSSVars()});this.errorMsgEl.style.display=s.length?"block":"none",this.errorMsgEl.innerHTML=s.map(b=>"<span>"+(b||"See devtools console")+"</span>").join(`
|
|
<br />
|
|
`),this.parsed_config=l;let{entities:u,layout:f,config:c,refresh_interval:h,autorange_after_scroll:d}=this.parsed_config;clearTimeout(this.handles.refreshTimeout),h!=="auto"&&h>0&&(this.handles.refreshTimeout=window.setTimeout(()=>this.plot({should_fetch:!0}),h*1e3)),this.titleEl.innerText=this.parsed_config.title||"",f.paper_bgcolor&&(this.titleEl.style.background=f.paper_bgcolor),await this.withoutRelayout(async()=>{await TC.react(this.contentEl,u,f,c),d&&await TC.relayout(this.contentEl,{"yaxis.autorange":!0}),this.contentEl.style.visibility=""}),(m=this.handles.dataClick)==null||m.off("plotly_click",this.onDataClick),this.handles.dataClick=this.contentEl.on("plotly_click",this.onDataClick)});d3||(window.plotlyGraphCard=this);let r=this.attachShadow({mode:"open"});r.innerHTML=`
|
|
<ha-card>
|
|
<style>
|
|
ha-card{
|
|
overflow: hidden;
|
|
background: transparent;
|
|
width: 100%;
|
|
height: calc(100% - 5px);
|
|
direction: ltr;
|
|
}
|
|
ha-card > #plotly{
|
|
width: 100px;
|
|
}
|
|
ha-card > #title{
|
|
text-align: center;
|
|
background: var(--card-background-color);
|
|
color: var(--secondary-text-color);
|
|
margin: 0;
|
|
padding-top: 10px;
|
|
font-size: 1.2em;
|
|
}
|
|
button#reset.hidden{
|
|
display: none;
|
|
}
|
|
button#reset {
|
|
position: absolute;
|
|
display: block;
|
|
top: 13px;
|
|
left: 15px;
|
|
height: 19px;
|
|
color: rgb(114, 114, 114);
|
|
background: rgb(238, 238, 238);
|
|
border: 0px;
|
|
border-radius: 3px;
|
|
}
|
|
#error-msg {
|
|
position: absolute;
|
|
color: #ffffff;
|
|
top: 0;
|
|
padding: 10px;
|
|
width: calc(100% - 20px);
|
|
background: rgba(203,0,0,0.8);
|
|
overflow-wrap: break-word;
|
|
display: none;
|
|
}
|
|
#error-msg a{
|
|
color: mediumturquoise;
|
|
}
|
|
</style>
|
|
<div id="title"> </div>
|
|
<div id="plotly"> </div>
|
|
<span id="error-msg"> </span>
|
|
<button id="reset" class="hidden">\u21BB</button>
|
|
</ha-card>`,this.errorMsgEl=r.querySelector("#error-msg"),this.cardEl=r.querySelector("ha-card"),this.contentEl=r.querySelector("div#plotly"),this.resetButtonEl=r.querySelector("button#reset"),this.titleEl=r.querySelector("ha-card > #title"),_V(r.querySelector("style")),this.contentEl.style.visibility="hidden",this.touchController=new HC({el:this.contentEl,onZoomStart:()=>{this.pausedRendering=!0},onZoomEnd:()=>{this.pausedRendering=!1,this.plot({should_fetch:!0})}}),this.withoutRelayout(()=>TC.newPlot(this.contentEl,[],{}))}connectedCallback(){let r=async()=>{let n=this.cardEl.offsetWidth;this.contentEl.style.position="absolute";let i=this.cardEl.offsetHeight;this.contentEl.style.position="",this.size={width:n},i>100&&(this.size.height=i-this.titleEl.offsetHeight),this.plot({should_fetch:!1})};this.handles.resizeObserver=new ResizeObserver(r),this.handles.resizeObserver.observe(this.cardEl),r(),this.handles.relayoutListener=this.contentEl.on("plotly_relayout",this.onRelayout),this.handles.restyleListener=this.contentEl.on("plotly_restyle",this.onRestyle),this.handles.legendItemClick=this.contentEl.on("plotly_legendclick",this.onLegendItemClick),this.handles.legendItemDoubleclick=this.contentEl.on("plotly_legenddoubleclick",this.onLegendItemDoubleclick),this.handles.doubleclick=this.contentEl.on("plotly_doubleclick",this.onDoubleclick),this.resetButtonEl.addEventListener("click",this.exitBrowsingMode),this.touchController.connect(),this.plot({should_fetch:!0})}disconnectedCallback(){var r,n,i,a,o,s,l;(r=this.handles.resizeObserver)==null||r.disconnect(),(n=this.handles.relayoutListener)==null||n.off("plotly_relayout",this.onRelayout),(i=this.handles.restyleListener)==null||i.off("plotly_restyle",this.onRestyle),(a=this.handles.legendItemClick)==null||a.off("plotly_legendclick",this.onLegendItemClick),(o=this.handles.legendItemDoubleclick)==null||o.off("plotly_legenddoubleclick",this.onLegendItemDoubleclick),(s=this.handles.dataClick)==null||s.off("plotly_click",this.onDataClick),(l=this.handles.doubleclick)==null||l.off("plotly_doubleclick",this.onDoubleclick),clearTimeout(this.handles.refreshTimeout),this.resetButtonEl.removeEventListener("click",this.exitBrowsingMode),this.touchController.disconnect()}get hass(){return this._hass}set hass(r){var n,i;if(r){if(((n=this.parsed_config)==null?void 0:n.refresh_interval)==="auto"){let a=!1,o=!1;for(let s of this.parsed_config.entities){let l=r.states[s.entity],u=(i=this._hass)==null?void 0:i.states[s.entity];if(l&&u!==l){a=!0;let f=new Date((u==null?void 0:u.last_updated)||l.last_updated),c=new Date(l.last_updated),h=[+f,+c],d=!1;Dd(s)||v3(s)?d=!0:yp(s)&&(o=!0),d&&this.configParser.cache.add(s,[{state:l,x:new Date(c),y:null}],h)}}a&&this.plot({should_fetch:o},500)}this._hass=r}}async withoutRelayout(r){this.isInternalRelayout++,await r(),this.isInternalRelayout--}getVisibleRange(){var r,n;return(n=(r=this.contentEl.layout.xaxis)==null?void 0:r.range)==null?void 0:n.map(i=>Number.isFinite(i)?i:i.startsWith("-")?2*+ab("0000-01-01 00:00:00.000")-+ab(i.slice(1)):+ab(i))}async setConfig(r){let n=this.config;this.config=r;let i=this.config;this.touchController.isEnabled=!i.disable_pinch_to_zoom,this.exitBrowsingMode()}getCSSVars(){let r=window.getComputedStyle(this.contentEl);return(0,IRe.default)({"card-background-color":"red","primary-background-color":"red","primary-color":"red","primary-text-color":"red","secondary-text-color":"red"},(i,a)=>r.getPropertyValue("--"+a))}getCardSize(){return 3}static getStubConfig(){return{entities:[{entity:"sun.sun"}],hours_to_show:24,refresh_interval:10}}static async getConfigElement(){let{createCardElement:r}=await window.loadCardHelpers(),n=r({type:"history-graph",...this.getStubConfig()});for(;!n.constructor.getConfigElement;)await AC(100);return n.constructor.getConfigElement()}};window.customCards=window.customCards||[];window.customCards.push({type:ON,name:"Plotly Graph Card",preview:!0,description:"Plotly in HA"});customElements.define(ON,NN);})();
|
|
/*! Bundled license information:
|
|
|
|
native-promise-only/lib/npo.src.js:
|
|
(*! Native Promise Only
|
|
v0.8.1 (c) Kyle Simpson
|
|
MIT License: http://getify.mit-license.org
|
|
*)
|
|
|
|
polybooljs/index.js:
|
|
(*
|
|
* @copyright 2016 Sean Connelly (@voidqk), http://syntheti.cc
|
|
* @license MIT
|
|
* @preserve Project Home: https://github.com/voidqk/polybooljs
|
|
*)
|
|
|
|
plotly.js/stackgl_modules/index.js:
|
|
(*!
|
|
* The buffer module from node.js, for the browser.
|
|
*
|
|
* @author Feross Aboukhadijeh <https://feross.org>
|
|
* @license MIT
|
|
*)
|
|
(*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> *)
|
|
(*!
|
|
* Determine if an object is a Buffer
|
|
*
|
|
* @author Feross Aboukhadijeh <https://feross.org>
|
|
* @license MIT
|
|
*)
|
|
(*!
|
|
* pad-left <https://github.com/jonschlinkert/pad-left>
|
|
*
|
|
* Copyright (c) 2014-2015, Jon Schlinkert.
|
|
* Licensed under the MIT license.
|
|
*)
|
|
(*!
|
|
* repeat-string <https://github.com/jonschlinkert/repeat-string>
|
|
*
|
|
* Copyright (c) 2014-2015, Jon Schlinkert.
|
|
* Licensed under the MIT License.
|
|
*)
|
|
|
|
object-assign/index.js:
|
|
(*
|
|
object-assign
|
|
(c) Sindre Sorhus
|
|
@license MIT
|
|
*)
|
|
|
|
lodash/lodash.js:
|
|
(**
|
|
* @license
|
|
* Lodash <https://lodash.com/>
|
|
* Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
|
|
* Released under MIT license <https://lodash.com/license>
|
|
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
|
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
|
*)
|
|
|
|
is-buffer/index.js:
|
|
(*!
|
|
* Determine if an object is a Buffer
|
|
*
|
|
* @author Feross Aboukhadijeh <https://feross.org>
|
|
* @license MIT
|
|
*)
|
|
|
|
ieee754/index.js:
|
|
(*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> *)
|
|
|
|
buffer/index.js:
|
|
(*!
|
|
* The buffer module from node.js, for the browser.
|
|
*
|
|
* @author Feross Aboukhadijeh <https://feross.org>
|
|
* @license MIT
|
|
*)
|
|
*/
|