From 049658e31d530e09a43c0ea20734a82dd7218c65 Mon Sep 17 00:00:00 2001 From: David Buezas Date: Thu, 3 Mar 2022 15:51:14 +0100 Subject: [PATCH] 1.2.2 --- dist/plotly-graph-card.js | 2 +- package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dist/plotly-graph-card.js b/dist/plotly-graph-card.js index e046545..21255f5 100644 --- a/dist/plotly-graph-card.js +++ b/dist/plotly-graph-card.js @@ -4,7 +4,7 @@ `)};function D(H){return H.map(I).join(f)}function I(H){return y.test(H)?'"'+H.replace(/\"/g,'""')+'"':H}return k},e.csv=e.dsv(",","text/csv"),e.tsv=e.dsv(" ","text/tab-separated-values");var Wr,Vr,$a,go,rx=this[Q(this,"requestAnimationFrame")]||function(f){setTimeout(f,17)};e.timer=function(){pc.apply(this,arguments)};function pc(f,v,y){var T=arguments.length;T<2&&(v=0),T<3&&(y=Date.now());var k=y+v,C={c:f,t:k,n:null};return Vr?Vr.n=C:Wr=C,Vr=C,$a||(go=clearTimeout(go),$a=1,rx(mp)),C}function mp(){var f=ax(),v=nx()-f;v>24?(isFinite(v)&&(clearTimeout(go),go=setTimeout(mp,v)),$a=0):($a=1,rx(mp))}e.timer.flush=function(){ax(),nx()};function ax(){for(var f=Date.now(),v=Wr;v;)f>=v.t&&v.c(f-v.t)&&(v.c=null),v=v.n;return f}function nx(){for(var f,v=Wr,y=1/0;v;)v.c?(v.t=0;--D)J.push(k[H[X[D]][2]]);for(D=+oe;D1&&qt(f[y[T-2]],f[y[T-1]],f[k])<=0;)--T;y[T++]=k}return y.slice(0,T)}function u9(f,v){return f[0]-v[0]||f[1]-v[1]}e.geom.polygon=function(f){return ee(f,mc),f};var mc=e.geom.polygon.prototype=[];mc.area=function(){for(var f=-1,v=this.length,y,T=this[v-1],k=0;++fnt)D=D.L;else if(P=v-h9(D,y),P>nt){if(!D.R){T=D;break}D=D.R}else{C>-nt?(T=D.P,k=D):P>-nt?(T=D,k=D.N):T=k=D;break}var I=ux(f);if(xs.insert(T,I),!(!T&&!k)){if(T===k){ws(T),k=ux(T.site),xs.insert(I,k),I.edge=k.edge=$l(T.site,I.site),_s(T),_s(k);return}if(!k){I.edge=$l(T.site,I.site);return}ws(T),ws(k);var H=T.site,U=H.x,X=H.y,K=f.x-U,oe=f.y-X,me=k.site,J=me.x-U,ae=me.y-X,ne=2*(K*ae-oe*J),ve=K*K+oe*oe,pe=J*J+ae*ae,ie={x:(ae*ve-oe*pe)/ne+U,y:(K*pe-J*ve)/ne+X};gc(k.edge,H,me,ie),I.edge=$l(H,f,null,ie),k.edge=$l(f,me,null,ie),_s(T),_s(k)}}function fx(f,v){var y=f.site,T=y.x,k=y.y,C=k-v;if(!C)return T;var P=f.P;if(!P)return-1/0;y=P.site;var D=y.x,I=y.y,H=I-v;if(!H)return D;var U=D-T,X=1/C-1/H,K=U/H;return X?(-K+Math.sqrt(K*K-2*X*(U*U/(-2*H)-I+H/2+k-C/2)))/X+T:(T+D)/2}function h9(f,v){var y=f.N;if(y)return fx(y,v);var T=f.site;return T.y===v?T.x:1/0}function cx(f){this.site=f,this.edges=[]}cx.prototype.prepare=function(){for(var f=this.edges,v=f.length,y;v--;)y=f[v].edge,(!y.b||!y.a)&&f.splice(v,1);return f.sort(dx),f.length};function v9(f){for(var v=f[0][0],y=f[1][0],T=f[0][1],k=f[1][1],C,P,D,I,H=yo,U=H.length,X,K,oe,me,J,ae;U--;)if(X=H[U],!(!X||!X.prepare()))for(oe=X.edges,me=oe.length,K=0;Knt||_(I-P)>nt)&&(oe.splice(K,0,new yc(b9(X.site,ae,_(D-v)nt?{x:v,y:_(C-v)nt?{x:_(P-k)nt?{x:y,y:_(C-y)nt?{x:_(P-T)=-Rt)){var oe=I*I+H*H,me=U*U+X*X,J=(X*oe-H*me)/K,ae=(I*me-U*oe)/K,X=ae+D,ne=lx.pop()||new p9;ne.arc=f,ne.site=k,ne.x=J+P,ne.y=X+Math.sqrt(J*J+ae*ae),ne.cy=X,f.circle=ne;for(var ve=null,pe=Kl._;pe;)if(ne.y0)){if(J/=oe,oe<0){if(J0){if(J>K)return;J>X&&(X=J)}if(J=y-D,!(!oe&&J<0)){if(J/=oe,oe<0){if(J>K)return;J>X&&(X=J)}else if(oe>0){if(J0)){if(J/=me,me<0){if(J0){if(J>K)return;J>X&&(X=J)}if(J=T-I,!(!me&&J<0)){if(J/=me,me<0){if(J>K)return;J>X&&(X=J)}else if(me>0){if(J0&&(k.a={x:D+X*oe,y:I+X*me}),K<1&&(k.b={x:D+K*oe,y:I+K*me}),k}}}}}}function g9(f){for(var v=bs,y=m9(f[0][0],f[0][1],f[1][0],f[1][1]),T=v.length,k;T--;)k=v[T],(!y9(k,f)||!y(k)||_(k.a.x-k.b.x)=C)return;if(U>K){if(!T)T={x:me,y:P};else if(T.y>=D)return;y={x:me,y:D}}else{if(!T)T={x:me,y:D};else if(T.y1)if(U>K){if(!T)T={x:(P-ne)/ae,y:P};else if(T.y>=D)return;y={x:(D-ne)/ae,y:D}}else{if(!T)T={x:(D-ne)/ae,y:D};else if(T.y=C)return;y={x:C,y:ae*C+ne}}else{if(!T)T={x:C,y:ae*C+ne};else if(T.x=U&&ne.x<=K&&ne.y>=X&&ne.y<=oe?[[U,oe],[K,oe],[K,X],[U,X]]:[];ve.point=I[J]}),H}function D(I){return I.map(function(H,U){return{x:Math.round(T(H,U)/nt)*nt,y:Math.round(k(H,U)/nt)*nt,i:U}})}return P.links=function(I){return wp(D(I)).edges.filter(function(H){return H.l&&H.r}).map(function(H){return{source:I[H.l.i],target:I[H.r.i]}})},P.triangles=function(I){var H=[];return wp(D(I)).cells.forEach(function(U,X){for(var K=U.site,oe=U.edges.sort(dx),me=-1,J=oe.length,ae,ne,ve=oe[J-1].edge,pe=ve.l===K?ve.r:ve.l;++mepe&&(pe=U.x),U.y>ie&&(ie=U.y),oe.push(U.x),me.push(U.y);else for(J=0;Jpe&&(pe=Le),Xe>ie&&(ie=Xe),oe.push(Le),me.push(Xe)}var Je=pe-ne,Ke=ie-ve;Je>Ke?ie=ve+Je:pe=ne+Ke;function rt(ot,mt,Ht,gr,Yt,Ve,xt,At){if(!(isNaN(Ht)||isNaN(gr)))if(ot.leaf){var Bt=ot.x,dr=ot.y;if(Bt!=null)if(_(Bt-Ht)+_(dr-gr)<.01)at(ot,mt,Ht,gr,Yt,Ve,xt,At);else{var Lr=ot.point;ot.x=ot.y=ot.point=null,at(ot,Lr,Bt,dr,Yt,Ve,xt,At),at(ot,mt,Ht,gr,Yt,Ve,xt,At)}else ot.x=Ht,ot.y=gr,ot.point=mt}else at(ot,mt,Ht,gr,Yt,Ve,xt,At)}function at(ot,mt,Ht,gr,Yt,Ve,xt,At){var Bt=(Yt+xt)*.5,dr=(Ve+At)*.5,Lr=Ht>=Bt,Yr=gr>=dr,la=Yr<<1|Lr;ot.leaf=!1,ot=ot.nodes[la]||(ot.nodes[la]=px()),Lr?Yt=Bt:xt=Bt,Yr?Ve=dr:At=dr,rt(ot,mt,Ht,gr,Yt,Ve,xt,At)}var bt=px();if(bt.add=function(ot){rt(bt,ot,+X(ot,++J),+K(ot,J),ne,ve,pe,ie)},bt.visit=function(ot){tu(ot,bt,ne,ve,pe,ie)},bt.find=function(ot){return A9(bt,ot[0],ot[1],ne,ve,pe,ie)},J=-1,v==null){for(;++JC||K>P||oe=Le,Ke=y>=Xe,rt=Ke<<1|Je,at=rt+4;rty&&(C=v.slice(y,C),D[P]?D[P]+=C:D[++P]=C),(T=T[0])===(k=k[0])?D[P]?D[P]+=k:D[++P]=k:(D[++P]=null,I.push({i:P,x:ci(T,k)})),y=kp.lastIndex;return y=0&&!(T=e.interpolators[y](f,v)););return T}e.interpolators=[function(f,v){var y=typeof v;return(y==="string"?ct.has(v.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(v)?Tp:gx:v instanceof Ua?Tp:Array.isArray(v)?_c:y==="object"&&isNaN(v)?mx:ci)(f,v)}],e.interpolateArray=_c;function _c(f,v){var y=[],T=[],k=f.length,C=v.length,P=Math.min(f.length,v.length),D;for(D=0;D=0?f.slice(0,v):f,T=v>=0?f.slice(v+1):"in";return y=k9.get(y)||yx,T=M9.get(T)||V,S9(T(y.apply(null,t.call(arguments,1))))};function S9(f){return function(v){return v<=0?0:v>=1?1:f(v)}}function bx(f){return function(v){return 1-f(1-v)}}function xx(f){return function(v){return .5*(v<.5?f(2*v):2-f(2-2*v))}}function C9(f){return f*f}function q9(f){return f*f*f}function L9(f){if(f<=0)return 0;if(f>=1)return 1;var v=f*f,y=v*f;return 4*(f<.5?y:3*(f-v)+y-.75)}function D9(f){return function(v){return Math.pow(v,f)}}function R9(f){return 1-Math.cos(f*te)}function P9(f){return Math.pow(2,10*(f-1))}function I9(f){return 1-Math.sqrt(1-f*f)}function E9(f,v){var y;return arguments.length<2&&(v=.45),arguments.length?y=v/wt*Math.asin(1/f):(f=1,y=v/4),function(T){return 1+f*Math.pow(2,-10*T)*Math.sin((T-y)*wt/v)}}function z9(f){return f||(f=1.70158),function(v){return v*v*((f+1)*v-f)}}function N9(f){return f<1/2.75?7.5625*f*f:f<2/2.75?7.5625*(f-=1.5/2.75)*f+.75:f<2.5/2.75?7.5625*(f-=2.25/2.75)*f+.9375:7.5625*(f-=2.625/2.75)*f+.984375}e.interpolateHcl=F9;function F9(f,v){f=e.hcl(f),v=e.hcl(v);var y=f.h,T=f.c,k=f.l,C=v.h-y,P=v.c-T,D=v.l-k;return isNaN(P)&&(P=0,T=isNaN(T)?v.c:T),isNaN(C)?(C=0,y=isNaN(y)?v.h:y):C>180?C-=360:C<-180&&(C+=360),function(I){return fi(y+C*I,T+P*I,k+D*I)+""}}e.interpolateHsl=j9;function j9(f,v){f=e.hsl(f),v=e.hsl(v);var y=f.h,T=f.s,k=f.l,C=v.h-y,P=v.s-T,D=v.l-k;return isNaN(P)&&(P=0,T=isNaN(T)?v.s:T),isNaN(C)?(C=0,y=isNaN(y)?v.h:y):C>180?C-=360:C<-180&&(C+=360),function(I){return ba(y+C*I,T+P*I,k+D*I)+""}}e.interpolateLab=O9;function O9(f,v){f=e.lab(f),v=e.lab(v);var y=f.l,T=f.a,k=f.b,C=v.l-y,P=v.a-T,D=v.b-k;return function(I){return uc(y+C*I,T+P*I,k+D*I)+""}}e.interpolateRound=_x;function _x(f,v){return v-=f,function(y){return Math.round(f+v*y)}}e.transform=function(f){var v=a.createElementNS(e.ns.prefix.svg,"g");return(e.transform=function(y){if(y!=null){v.setAttribute("transform",y);var T=v.transform.baseVal.consolidate()}return new wx(T?T.matrix:B9)})(f)};function wx(f){var v=[f.a,f.b],y=[f.c,f.d],T=Ax(v),k=Tx(v,y),C=Ax(H9(y,v,-k))||0;v[0]*y[1]180?v+=360:v-f>180&&(f+=360),T.push({i:y.push(Ts(y)+"rotate(",null,")")-2,x:ci(f,v)})):v&&y.push(Ts(y)+"rotate("+v+")")}function W9(f,v,y,T){f!==v?T.push({i:y.push(Ts(y)+"skewX(",null,")")-2,x:ci(f,v)}):v&&y.push(Ts(y)+"skewX("+v+")")}function V9(f,v,y,T){if(f[0]!==v[0]||f[1]!==v[1]){var k=y.push(Ts(y)+"scale(",null,",",null,")");T.push({i:k-4,x:ci(f[0],v[0])},{i:k-2,x:ci(f[1],v[1])})}else(v[0]!==1||v[1]!==1)&&y.push(Ts(y)+"scale("+v+")")}function kx(f,v){var y=[],T=[];return f=e.transform(f),v=e.transform(v),U9(f.translate,v.translate,y,T),G9(f.rotate,v.rotate,y,T),W9(f.skew,v.skew,y,T),V9(f.scale,v.scale,y,T),f=v=null,function(k){for(var C=-1,P=T.length,D;++C0?C=ie:(y.c=null,y.t=NaN,y=null,v.end({type:"end",alpha:C=0})):ie>0&&(v.start({type:"start",alpha:C=ie}),y=pc(f.tick)),f):C},f.start=function(){var ie,Le=oe.length,Xe=me.length,Je=T[0],Ke=T[1],rt,at;for(ie=0;ie=0;)C.push(U=H[I]),U.parent=D,U.depth=D.depth+1;y&&(D.value=0),D.children=H}else y&&(D.value=+y.call(T,D,D.depth)||0),delete D.children;return Gn(k,function(X){var K,oe;f&&(K=X.children)&&K.sort(f),y&&(oe=X.parent)&&(oe.value+=X.value)}),P}return T.sort=function(k){return arguments.length?(f=k,T):f},T.children=function(k){return arguments.length?(v=k,T):v},T.value=function(k){return arguments.length?(y=k,T):y},T.revalue=function(k){return y&&(au(k,function(C){C.children&&(C.value=0)}),Gn(k,function(C){var P;C.children||(C.value=+y.call(T,C,C.depth)||0),(P=C.parent)&&(P.value+=C.value)})),k},T};function ru(f,v){return e.rebind(f,v,"sort","children","value"),f.nodes=f,f.links=sj,f}function au(f,v){for(var y=[f];(f=y.pop())!=null;)if(v(f),(k=f.children)&&(T=k.length))for(var T,k;--T>=0;)y.push(k[T])}function Gn(f,v){for(var y=[f],T=[];(f=y.pop())!=null;)if(T.push(f),(P=f.children)&&(C=P.length))for(var k=-1,C,P;++kk&&(k=D),T.push(D)}for(P=0;PT&&(y=v,T=k);return y}function vj(f){return f.reduce(pj,0)}function pj(f,v){return f+v[1]}e.layout.histogram=function(){var f=!0,v=Number,y=gj,T=mj;function k(C,P){for(var D=[],I=C.map(v,this),H=y.call(this,I,P),U=T.call(this,H,I,P),X,P=-1,K=I.length,oe=U.length-1,me=f?1:1/K,J;++P0)for(P=-1;++P=H[0]&&J<=H[1]&&(X=D[e.bisect(U,J,1,oe)-1],X.y+=me,X.push(C[P]));return D}return k.value=function(C){return arguments.length?(v=C,k):v},k.range=function(C){return arguments.length?(y=ft(C),k):y},k.bins=function(C){return arguments.length?(T=typeof C=="number"?function(P){return qx(P,C)}:ft(C),k):T},k.frequency=function(C){return arguments.length?(f=!!C,k):f},k};function mj(f,v){return qx(f,Math.ceil(Math.log(v.length)/Math.LN2+1))}function qx(f,v){for(var y=-1,T=+f[0],k=(f[1]-T)/v,C=[];++y<=v;)C[y]=k*y+T;return C}function gj(f){return[e.min(f),e.max(f)]}e.layout.pack=function(){var f=e.layout.hierarchy().sort(yj),v=0,y=[1,1],T;function k(C,P){var D=f.call(this,C,P),I=D[0],H=y[0],U=y[1],X=T==null?Math.sqrt:typeof T=="function"?T:function(){return T};if(I.x=I.y=0,Gn(I,function(oe){oe.r=+X(oe.value)}),Gn(I,Rx),v){var K=v*(T?1:Math.max(2*I.r/H,2*I.r/U))/2;Gn(I,function(oe){oe.r+=K}),Gn(I,Rx),Gn(I,function(oe){oe.r-=K})}return Px(I,H/2,U/2,T?1:1/Math.max(2*I.r/H,2*I.r/U)),D}return k.size=function(C){return arguments.length?(y=C,k):y},k.radius=function(C){return arguments.length?(T=C==null||typeof C=="function"?C:+C,k):T},k.padding=function(C){return arguments.length?(v=+C,k):v},ru(k,f)};function yj(f,v){return f.value-v.value}function Cp(f,v){var y=f._pack_next;f._pack_next=v,v._pack_prev=f,v._pack_next=y,y._pack_prev=v}function Lx(f,v){f._pack_next=v,v._pack_prev=f}function Dx(f,v){var y=v.x-f.x,T=v.y-f.y,k=f.r+v.r;return .999*k*k>y*y+T*T}function Rx(f){if(!(v=f.children)||!(K=v.length))return;var v,y=1/0,T=-1/0,k=1/0,C=-1/0,P,D,I,H,U,X,K;function oe(ie){y=Math.min(ie.x-ie.r,y),T=Math.max(ie.x+ie.r,T),k=Math.min(ie.y-ie.r,k),C=Math.max(ie.y+ie.r,C)}if(v.forEach(bj),P=v[0],P.x=-P.r,P.y=0,oe(P),K>1&&(D=v[1],D.x=D.r,D.y=0,oe(D),K>2))for(I=v[2],Ix(P,D,I),oe(I),Cp(P,I),P._pack_prev=I,Cp(I,D),D=P._pack_next,H=3;Hae.x&&(ae=Le),Le.depth>ne.depth&&(ne=Le)});var ve=v(J,ae)/2-J.x,pe=y[0]/(ae.x+v(ae,J)/2+ve),ie=y[1]/(ne.depth||1);au(oe,function(Le){Le.x=(Le.x+ve)*pe,Le.y=Le.depth*ie})}return K}function C(U){for(var X={A:null,children:[U]},K=[X],oe;(oe=K.pop())!=null;)for(var me=oe.children,J,ae=0,ne=me.length;ae0&&(_j(Tj(J,U,K),U,Le),ne+=Le,ve+=Le),pe+=J.m,ne+=oe.m,ie+=ae.m,ve+=me.m;J&&!Lp(me)&&(me.t=J,me.m+=pe-ve),oe&&!qp(ae)&&(ae.t=oe,ae.m+=ne-ie,K=U)}return K}function H(U){U.x*=y[0],U.y=U.depth*y[1]}return k.separation=function(U){return arguments.length?(v=U,k):v},k.size=function(U){return arguments.length?(T=(y=U)==null?H:null,k):T?null:y},k.nodeSize=function(U){return arguments.length?(T=(y=U)==null?null:H,k):T?y:null},ru(k,f)};function Ex(f,v){return f.parent==v.parent?1:2}function qp(f){var v=f.children;return v.length?v[0]:f.t}function Lp(f){var v=f.children,y;return(y=v.length)?v[y-1]:f.t}function _j(f,v,y){var T=y/(v.i-f.i);v.c-=T,v.s+=y,f.c+=T,v.z+=y,v.m+=y}function wj(f){for(var v=0,y=0,T=f.children,k=T.length,C;--k>=0;)C=T[k],C.z+=v,C.m+=v,v+=C.s+(y+=C.c)}function Tj(f,v,y){return f.a.parent===v.parent?f.a:y}e.layout.cluster=function(){var f=e.layout.hierarchy().sort(null).value(null),v=Ex,y=[1,1],T=!1;function k(C,P){var D=f.call(this,C,P),I=D[0],H,U=0;Gn(I,function(J){var ae=J.children;ae&&ae.length?(J.x=kj(ae),J.y=Aj(ae)):(J.x=H?U+=v(J,H):0,J.y=0,H=J)});var X=zx(I),K=Nx(I),oe=X.x-v(X,K)/2,me=K.x+v(K,X)/2;return Gn(I,T?function(J){J.x=(J.x-I.x)*y[0],J.y=(I.y-J.y)*y[1]}:function(J){J.x=(J.x-oe)/(me-oe)*y[0],J.y=(1-(I.y?J.y/I.y:1))*y[1]}),D}return k.separation=function(C){return arguments.length?(v=C,k):v},k.size=function(C){return arguments.length?(T=(y=C)==null,k):T?null:y},k.nodeSize=function(C){return arguments.length?(T=(y=C)!=null,k):T?y:null},ru(k,f)};function Aj(f){return 1+e.max(f,function(v){return v.y})}function kj(f){return f.reduce(function(v,y){return v+y.x},0)/f.length}function zx(f){var v=f.children;return v&&v.length?zx(v[0]):f}function Nx(f){var v=f.children,y;return v&&(y=v.length)?Nx(v[y-1]):f}e.layout.treemap=function(){var f=e.layout.hierarchy(),v=Math.round,y=[1,1],T=null,k=Dp,C=!1,P,D="squarify",I=.5*(1+Math.sqrt(5));function H(J,ae){for(var ne=-1,ve=J.length,pe,ie;++ne0;)ve.push(ie=pe[Ke-1]),ve.area+=ie.area,D!=="squarify"||(Xe=K(ve,Je))<=Le?(pe.pop(),Le=Xe):(ve.area-=ve.pop().area,oe(ve,Je,ne,!1),Je=Math.min(ne.dx,ne.dy),ve.length=ve.area=0,Le=1/0);ve.length&&(oe(ve,Je,ne,!0),ve.length=ve.area=0),ae.forEach(U)}}function X(J){var ae=J.children;if(ae&&ae.length){var ne=k(J),ve=ae.slice(),pe,ie=[];for(H(ve,ne.dx*ne.dy/J.value),ie.area=0;pe=ve.pop();)ie.push(pe),ie.area+=pe.area,pe.z!=null&&(oe(ie,pe.z?ne.dx:ne.dy,ne,!ve.length),ie.length=ie.area=0);ae.forEach(X)}}function K(J,ae){for(var ne=J.area,ve,pe=0,ie=1/0,Le=-1,Xe=J.length;++Lepe&&(pe=ve));return ne*=ne,ae*=ae,ne?Math.max(ae*pe*I/ne,ne/(ae*ie*I)):1/0}function oe(J,ae,ne,ve){var pe=-1,ie=J.length,Le=ne.x,Xe=ne.y,Je=ae?v(J.area/ae):0,Ke;if(ae==ne.dx){for((ve||Je>ne.dy)&&(Je=ne.dy);++pene.dx)&&(Je=ne.dx);++pe1);return f+v*T*Math.sqrt(-2*Math.log(C)/C)}},logNormal:function(){var f=e.random.normal.apply(e,arguments);return function(){return Math.exp(f())}},bates:function(f){var v=e.random.irwinHall(f);return function(){return v()/f}},irwinHall:function(f){return function(){for(var v=0,y=0;y2?Cj:Mj,H=T?Z9:Y9;return k=I(f,v,H,y),C=I(v,f,H,bo),D}function D(I){return k(I)}return D.invert=function(I){return C(I)},D.domain=function(I){return arguments.length?(f=I.map(Number),P()):f},D.range=function(I){return arguments.length?(v=I,P()):v},D.rangeRound=function(I){return D.range(I).interpolate(_x)},D.clamp=function(I){return arguments.length?(T=I,P()):T},D.interpolate=function(I){return arguments.length?(y=I,P()):y},D.ticks=function(I){return Ip(f,I)},D.tickFormat=function(I,H){return d3_scale_linearTickFormat(f,I,H)},D.nice=function(I){return Bx(f,I),P()},D.copy=function(){return Ox(f,v,y,T)},P()}function Hx(f,v){return e.rebind(f,v,"range","rangeRound","interpolate","clamp")}function Bx(f,v){return Rp(f,jx(Pp(f,v)[2])),Rp(f,jx(Pp(f,v)[2])),f}function Pp(f,v){v==null&&(v=10);var y=wc(f),T=y[1]-y[0],k=Math.pow(10,Math.floor(Math.log(T/v)/Math.LN10)),C=v/T*k;return C<=.15?k*=10:C<=.35?k*=5:C<=.75&&(k*=2),y[0]=Math.ceil(y[0]/k)*k,y[1]=Math.floor(y[1]/k)*k+k*.5,y[2]=k,y}function Ip(f,v){return e.range.apply(e,Pp(f,v))}var qj={s:1,g:1,p:1,r:1,e:1};function Ux(f){return-Math.floor(Math.log(f)/Math.LN10+.01)}function Fhe(f,v){var y=Ux(v[2]);return f in qj?Math.abs(y-Ux(Math.max(_(v[0]),_(v[1]))))+ +(f!=="e"):y-(f==="%")*2}e.scale.log=function(){return Gx(e.scale.linear().domain([0,1]),10,!0,[1,10])};function Gx(f,v,y,T){function k(D){return(y?Math.log(D<0?0:D):-Math.log(D>0?0:-D))/Math.log(v)}function C(D){return y?Math.pow(v,D):-Math.pow(v,-D)}function P(D){return f(k(D))}return P.invert=function(D){return C(f.invert(D))},P.domain=function(D){return arguments.length?(y=D[0]>=0,f.domain((T=D.map(Number)).map(k)),P):T},P.base=function(D){return arguments.length?(v=+D,f.domain(T.map(k)),P):v},P.nice=function(){var D=Rp(T.map(k),y?Math:Lj);return f.domain(D),T=D.map(C),P},P.ticks=function(){var D=wc(T),I=[],H=D[0],U=D[1],X=Math.floor(k(H)),K=Math.ceil(k(U)),oe=v%1?2:v;if(isFinite(K-X)){if(y){for(;X0;me--)I.push(C(X)*me);for(X=0;I[X]U;K--);I=I.slice(X,K)}return I},P.copy=function(){return Gx(f.copy(),v,y,T)},Hx(P,f)}var Lj={floor:function(f){return-Math.ceil(-f)},ceil:function(f){return-Math.floor(-f)}};e.scale.pow=function(){return Wx(e.scale.linear(),1,[0,1])};function Wx(f,v,y){var T=Ac(v),k=Ac(1/v);function C(P){return f(T(P))}return C.invert=function(P){return k(f.invert(P))},C.domain=function(P){return arguments.length?(f.domain((y=P.map(Number)).map(T)),C):y},C.ticks=function(P){return Ip(y,P)},C.tickFormat=function(P,D){return d3_scale_linearTickFormat(y,P,D)},C.nice=function(P){return C.domain(Bx(y,P))},C.exponent=function(P){return arguments.length?(T=Ac(v=P),k=Ac(1/v),f.domain(y.map(T)),C):v},C.copy=function(){return Wx(f.copy(),v,y)},Hx(C,f)}function Ac(f){return function(v){return v<0?-Math.pow(-v,f):Math.pow(v,f)}}e.scale.sqrt=function(){return e.scale.pow().exponent(.5)},e.scale.ordinal=function(){return Vx([],{t:"range",a:[[]]})};function Vx(f,v){var y,T,k;function C(D){return T[((y.get(D)||(v.t==="range"?y.set(D,f.push(D)):NaN))-1)%T.length]}function P(D,I){return e.range(f.length).map(function(H){return D+I*H})}return C.domain=function(D){if(!arguments.length)return f;f=[],y=new w;for(var I=-1,H=D.length,U;++I0?y[C-1]:f[0],CK?0:1;if(U=Ct)return I(U,me)+(H?I(H,1-me):"")+"Z";var J,ae,ne,ve,pe=0,ie=0,Le,Xe,Je,Ke,rt,at,bt,ot,mt=[];if((ve=(+P.apply(this,arguments)||0)/2)&&(ne=T===kc?Math.sqrt(H*H+U*U):+T.apply(this,arguments),me||(ie*=-1),U&&(ie=Or(ne/U*Math.sin(ve))),H&&(pe=Or(ne/H*Math.sin(ve)))),U){Le=U*Math.cos(X+ie),Xe=U*Math.sin(X+ie),Je=U*Math.cos(K-ie),Ke=U*Math.sin(K-ie);var Ht=Math.abs(K-X-2*ie)<=St?0:1;if(ie&&Mc(Le,Xe,Je,Ke)===me^Ht){var gr=(X+K)/2;Le=U*Math.cos(gr),Xe=U*Math.sin(gr),Je=Ke=null}}else Le=Xe=0;if(H){rt=H*Math.cos(K-pe),at=H*Math.sin(K-pe),bt=H*Math.cos(X+pe),ot=H*Math.sin(X+pe);var Yt=Math.abs(X-K+2*pe)<=St?0:1;if(pe&&Mc(rt,at,bt,ot)===1-me^Yt){var Ve=(X+K)/2;rt=H*Math.cos(Ve),at=H*Math.sin(Ve),bt=ot=null}}else rt=at=0;if(oe>nt&&(J=Math.min(Math.abs(U-H)/2,+y.apply(this,arguments)))>.001){ae=H0?0:1}function Sc(f,v,y,T,k){var C=f[0]-v[0],P=f[1]-v[1],D=(k?T:-T)/Math.sqrt(C*C+P*P),I=D*P,H=-D*C,U=f[0]+I,X=f[1]+H,K=v[0]+I,oe=v[1]+H,me=(U+K)/2,J=(X+oe)/2,ae=K-U,ne=oe-X,ve=ae*ae+ne*ne,pe=y-T,ie=U*oe-K*X,Le=(ne<0?-1:1)*Math.sqrt(Math.max(0,pe*pe*ve-ie*ie)),Xe=(ie*ne-ae*Le)/ve,Je=(-ie*ae-ne*Le)/ve,Ke=(ie*ne+ae*Le)/ve,rt=(-ie*ae+ne*Le)/ve,at=Xe-me,bt=Je-J,ot=Ke-me,mt=rt-J;return at*at+bt*bt>ot*ot+mt*mt&&(Xe=Ke,Je=rt),[[Xe-I,Je-H],[Xe*y/pe,Je*y/pe]]}function Jx(){return!0}function e_(f){var v=ys,y=Ql,T=Jx,k=_n,C=k.key,P=.7;function D(I){var H=[],U=[],X=-1,K=I.length,oe,me=ft(v),J=ft(y);function ae(){H.push("M",k(f(U),P))}for(;++X1?f.join("L"):f+"Z"}function t_(f){return f.join("L")+"Z"}function jj(f){for(var v=0,y=f.length,T=f[0],k=[T[0],",",T[1]];++v1&&k.push("H",T[0]),k.join("")}function zp(f){for(var v=0,y=f.length,T=f[0],k=[T[0],",",T[1]];++v1){D=v[1],C=f[I],I++,T+="C"+(k[0]+P[0])+","+(k[1]+P[1])+","+(C[0]-D[0])+","+(C[1]-D[1])+","+C[0]+","+C[1];for(var H=2;H9&&(C=y*3/Math.sqrt(C),P[D]=C*T,P[D+1]=C*k));for(D=-1;++D<=I;)C=(f[Math.min(I,D+1)][0]-f[Math.max(0,D-1)][0])/(6*(1+P[D]*P[D])),v.push([C||0,P[D]*C||0]);return v}function Zj(f){return f.length<3?_n(f):f[0]+Cc(f,Yj(f))}e.svg.line.radial=function(){var f=e_(i_);return f.radius=f.x,delete f.x,f.angle=f.y,delete f.y,f};function i_(f){for(var v,y=-1,T=f.length,k,C;++ySt)+",1 "+X}function H(U,X,K,oe){return"Q 0,0 "+oe}return C.radius=function(U){return arguments.length?(y=ft(U),C):y},C.source=function(U){return arguments.length?(f=ft(U),C):f},C.target=function(U){return arguments.length?(v=ft(U),C):v},C.startAngle=function(U){return arguments.length?(T=ft(U),C):T},C.endAngle=function(U){return arguments.length?(k=ft(U),C):k},C};function Xj(f){return f.radius}e.svg.diagonal=function(){var f=s_,v=l_,y=u_;function T(k,C){var P=f.call(this,k,C),D=v.call(this,k,C),I=(P.y+D.y)/2,H=[P,{x:P.x,y:I},{x:D.x,y:I},D];return H=H.map(y),"M"+H[0]+"C"+H[1]+" "+H[2]+" "+H[3]}return T.source=function(k){return arguments.length?(f=ft(k),T):f},T.target=function(k){return arguments.length?(v=ft(k),T):v},T.projection=function(k){return arguments.length?(y=k,T):y},T};function u_(f){return[f.x,f.y]}e.svg.diagonal.radial=function(){var f=e.svg.diagonal(),v=u_,y=f.projection;return f.projection=function(T){return arguments.length?y(Qj(v=T)):v},f};function Qj(f){return function(){var v=f.apply(this,arguments),y=v[0],T=v[1]-te;return[y*Math.cos(T),y*Math.sin(T)]}}e.svg.symbol=function(){var f=$j,v=Kj;function y(T,k){return(c_.get(f.call(this,T,k))||f_)(v.call(this,T,k))}return y.type=function(T){return arguments.length?(f=ft(T),y):f},y.size=function(T){return arguments.length?(v=ft(T),y):v},y};function Kj(){return 64}function $j(){return"circle"}function f_(f){var v=Math.sqrt(f/St);return"M0,"+v+"A"+v+","+v+" 0 1,1 0,"+-v+"A"+v+","+v+" 0 1,1 0,"+v+"Z"}var c_=e.map({circle:f_,cross:function(f){var v=Math.sqrt(f/5)/2;return"M"+-3*v+","+-v+"H"+-v+"V"+-3*v+"H"+v+"V"+-v+"H"+3*v+"V"+v+"H"+v+"V"+3*v+"H"+-v+"V"+v+"H"+-3*v+"Z"},diamond:function(f){var v=Math.sqrt(f/(2*d_)),y=v*d_;return"M0,"+-v+"L"+y+",0 0,"+v+" "+-y+",0Z"},square:function(f){var v=Math.sqrt(f)/2;return"M"+-v+","+-v+"L"+v+","+-v+" "+v+","+v+" "+-v+","+v+"Z"},"triangle-down":function(f){var v=Math.sqrt(f/qc),y=v*qc/2;return"M0,"+y+"L"+v+","+-y+" "+-v+","+-y+"Z"},"triangle-up":function(f){var v=Math.sqrt(f/qc),y=v*qc/2;return"M0,"+-y+"L"+v+","+y+" "+-v+","+y+"Z"}});e.svg.symbolTypes=c_.keys();var qc=Math.sqrt(3),d_=Math.tan(30*_e);Me.transition=function(f){for(var v=xo||++v_,y=Bp(f),T=[],k,C,P=Dc||{time:Date.now(),ease:L9,delay:0,duration:250},D=-1,I=this.length;++D0;)X[--ve].call(f,ne);if(ae>=1)return P.event&&P.event.end.call(f,f.__data__,v),--C.count?delete C[T]:delete f[y],1}P||(D=k.time,I=pc(K,0,D),P=C[T]={tween:new w,time:D,timer:I,delay:k.delay,duration:k.duration,ease:k.ease,index:v},k=null,++C.count)}e.svg.axis=function(){var f=e.scale.linear(),v=p_,y=6,T=6,k=3,C=[10],P=null,D;function I(H){H.each(function(){var U=e.select(this),X=this.__chart__||f,K=this.__chart__=f.copy(),oe=P??(K.ticks?K.ticks.apply(K,C):K.domain()),me=D??(K.tickFormat?K.tickFormat.apply(K,C):V),J=U.selectAll(".tick").data(oe,K),ae=J.enter().insert("g",".domain").attr("class","tick").style("opacity",nt),ne=e.transition(J.exit()).style("opacity",nt).remove(),ve=e.transition(J.order()).style("opacity",1),pe=Math.max(y,0)+k,ie,Le=Tc(K),Xe=U.selectAll(".domain").data([0]),Je=(Xe.enter().append("path").attr("class","domain"),e.transition(Xe));ae.append("line"),ae.append("text");var Ke=ae.select("line"),rt=ve.select("line"),at=J.select("text").text(me),bt=ae.select("text"),ot=ve.select("text"),mt=v==="top"||v==="left"?-1:1,Ht,gr,Yt,Ve;if(v==="bottom"||v==="top"?(ie=tO,Ht="x",Yt="y",gr="x2",Ve="y2",at.attr("dy",mt<0?"0em":".71em").style("text-anchor","middle"),Je.attr("d","M"+Le[0]+","+mt*T+"V0H"+Le[1]+"V"+mt*T)):(ie=rO,Ht="y",Yt="x",gr="y2",Ve="x2",at.attr("dy",".32em").style("text-anchor",mt<0?"end":"start"),Je.attr("d","M"+mt*T+","+Le[0]+"H0V"+Le[1]+"H"+mt*T)),Ke.attr(Ve,mt*y),bt.attr(Yt,mt*pe),rt.attr(gr,0).attr(Ve,mt*y),ot.attr(Ht,0).attr(Yt,mt*pe),K.rangeBand){var xt=K,At=xt.rangeBand()/2;X=K=function(Bt){return xt(Bt)+At}}else X.rangeBand?X=K:ne.call(ie,K,X);ae.call(ie,X,K),ve.call(ie,K,K)})}return I.scale=function(H){return arguments.length?(f=H,I):f},I.orient=function(H){return arguments.length?(v=H in eO?H+"":p_,I):v},I.ticks=function(){return arguments.length?(C=r(arguments),I):C},I.tickValues=function(H){return arguments.length?(P=H,I):P},I.tickFormat=function(H){return arguments.length?(D=H,I):D},I.tickSize=function(H){var U=arguments.length;return U?(y=+H,T=+arguments[U-1],I):y},I.innerTickSize=function(H){return arguments.length?(y=+H,I):y},I.outerTickSize=function(H){return arguments.length?(T=+H,I):T},I.tickPadding=function(H){return arguments.length?(k=+H,I):k},I.tickSubdivide=function(){return arguments.length&&I},I};var p_="bottom",eO={top:1,right:1,bottom:1,left:1};function tO(f,v,y){f.attr("transform",function(T){var k=v(T);return"translate("+(isFinite(k)?k:y(T))+",0)"})}function rO(f,v,y){f.attr("transform",function(T){var k=v(T);return"translate(0,"+(isFinite(k)?k:y(T))+")"})}e.svg.brush=function(){var f=he(U,"brushstart","brush","brushend"),v=null,y=null,T=[0,0],k=[0,0],C,P,D=!0,I=!0,H=Up[0];function U(J){J.each(function(){var ae=e.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",me).on("touchstart.brush",me),ne=ae.selectAll(".background").data([0]);ne.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),ae.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var ve=ae.selectAll(".resize").data(H,V);ve.exit().remove(),ve.enter().append("g").attr("class",function(Xe){return"resize "+Xe}).style("cursor",function(Xe){return aO[Xe]}).append("rect").attr("x",function(Xe){return/[ew]$/.test(Xe)?-3:null}).attr("y",function(Xe){return/^[ns]/.test(Xe)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),ve.style("display",U.empty()?"none":null);var pe=e.transition(ae),ie=e.transition(ne),Le;v&&(Le=Tc(v),ie.attr("x",Le[0]).attr("width",Le[1]-Le[0]),K(pe)),y&&(Le=Tc(y),ie.attr("y",Le[0]).attr("height",Le[1]-Le[0]),oe(pe)),X(pe)})}U.event=function(J){J.each(function(){var ae=f.of(this,arguments),ne={x:T,y:k,i:C,j:P},ve=this.__chart__||ne;this.__chart__=ne,xo?e.select(this).transition().each("start.brush",function(){C=ve.i,P=ve.j,T=ve.x,k=ve.y,ae({type:"brushstart"})}).tween("brush:brush",function(){var pe=_c(T,ne.x),ie=_c(k,ne.y);return C=P=null,function(Le){T=ne.x=pe(Le),k=ne.y=ie(Le),ae({type:"brush",mode:"resize"})}}).each("end.brush",function(){C=ne.i,P=ne.j,ae({type:"brush",mode:"resize"}),ae({type:"brushend"})}):(ae({type:"brushstart"}),ae({type:"brush",mode:"resize"}),ae({type:"brushend"}))})};function X(J){J.selectAll(".resize").attr("transform",function(ae){return"translate("+T[+/e$/.test(ae)]+","+k[+/^s/.test(ae)]+")"})}function K(J){J.select(".extent").attr("x",T[0]),J.selectAll(".extent,.n>rect,.s>rect").attr("width",T[1]-T[0])}function oe(J){J.select(".extent").attr("y",k[0]),J.selectAll(".extent,.e>rect,.w>rect").attr("height",k[1]-k[0])}function me(){var J=this,ae=e.select(e.event.target),ne=f.of(J,arguments),ve=e.select(J),pe=ae.datum(),ie=!/^(n|s)$/.test(pe)&&v,Le=!/^(e|w)$/.test(pe)&&y,Xe=ae.classed("extent"),Je=gt(J),Ke,rt=e.mouse(J),at,bt=e.select(i(J)).on("keydown.brush",Ht).on("keyup.brush",gr);if(e.event.changedTouches?bt.on("touchmove.brush",Yt).on("touchend.brush",xt):bt.on("mousemove.brush",Yt).on("mouseup.brush",xt),ve.interrupt().selectAll("*").interrupt(),Xe)rt[0]=T[0]-rt[0],rt[1]=k[0]-rt[1];else if(pe){var ot=+/w$/.test(pe),mt=+/^n/.test(pe);at=[T[1-ot]-rt[0],k[1-mt]-rt[1]],rt[0]=T[ot],rt[1]=k[mt]}else e.event.altKey&&(Ke=rt.slice());ve.style("pointer-events","none").selectAll(".resize").style("display",null),e.select("body").style("cursor",ae.style("cursor")),ne({type:"brushstart"}),Yt();function Ht(){e.event.keyCode==32&&(Xe||(Ke=null,rt[0]-=T[1],rt[1]-=k[1],Xe=2),ce())}function gr(){e.event.keyCode==32&&Xe==2&&(rt[0]+=T[1],rt[1]+=k[1],Xe=0,ce())}function Yt(){var At=e.mouse(J),Bt=!1;at&&(At[0]+=at[0],At[1]+=at[1]),Xe||(e.event.altKey?(Ke||(Ke=[(T[0]+T[1])/2,(k[0]+k[1])/2]),rt[0]=T[+(At[0]{(function(e,t){typeof $c=="object"&&typeof eM!="undefined"?t($c):typeof define=="function"&&define.amd?define(["exports"],t):(e=e||self,t(e.d3=e.d3||{}))})($c,function(e){"use strict";var t=new Date,r=new Date;function a(fe,de,ze,He){function Ee(ge){return fe(ge=arguments.length===0?new Date:new Date(+ge)),ge}return Ee.floor=function(ge){return fe(ge=new Date(+ge)),ge},Ee.ceil=function(ge){return fe(ge=new Date(ge-1)),de(ge,1),fe(ge),ge},Ee.round=function(ge){var xe=Ee(ge),Re=Ee.ceil(ge);return ge-xe0))return Pe;do Pe.push(Ie=new Date(+ge)),de(ge,Re),fe(ge);while(Ie=xe)for(;fe(xe),!ge(xe);)xe.setTime(xe-1)},function(xe,Re){if(xe>=xe)if(Re<0)for(;++Re<=0;)for(;de(xe,-1),!ge(xe););else for(;--Re>=0;)for(;de(xe,1),!ge(xe););})},ze&&(Ee.count=function(ge,xe){return t.setTime(+ge),r.setTime(+xe),fe(t),fe(r),Math.floor(ze(t,r))},Ee.every=function(ge){return ge=Math.floor(ge),!isFinite(ge)||!(ge>0)?null:ge>1?Ee.filter(He?function(xe){return He(xe)%ge==0}:function(xe){return Ee.count(0,xe)%ge==0}):Ee}),Ee}var n=a(function(){},function(fe,de){fe.setTime(+fe+de)},function(fe,de){return de-fe});n.every=function(fe){return fe=Math.floor(fe),!isFinite(fe)||!(fe>0)?null:fe>1?a(function(de){de.setTime(Math.floor(de/fe)*fe)},function(de,ze){de.setTime(+de+ze*fe)},function(de,ze){return(ze-de)/fe}):n};var i=n.range,o=1e3,s=6e4,l=36e5,u=864e5,c=6048e5,d=a(function(fe){fe.setTime(fe-fe.getMilliseconds())},function(fe,de){fe.setTime(+fe+de*o)},function(fe,de){return(de-fe)/o},function(fe){return fe.getUTCSeconds()}),h=d.range,p=a(function(fe){fe.setTime(fe-fe.getMilliseconds()-fe.getSeconds()*o)},function(fe,de){fe.setTime(+fe+de*s)},function(fe,de){return(de-fe)/s},function(fe){return fe.getMinutes()}),g=p.range,m=a(function(fe){fe.setTime(fe-fe.getMilliseconds()-fe.getSeconds()*o-fe.getMinutes()*s)},function(fe,de){fe.setTime(+fe+de*l)},function(fe,de){return(de-fe)/l},function(fe){return fe.getHours()}),b=m.range,_=a(function(fe){fe.setHours(0,0,0,0)},function(fe,de){fe.setDate(fe.getDate()+de)},function(fe,de){return(de-fe-(de.getTimezoneOffset()-fe.getTimezoneOffset())*s)/u},function(fe){return fe.getDate()-1}),x=_.range;function A(fe){return a(function(de){de.setDate(de.getDate()-(de.getDay()+7-fe)%7),de.setHours(0,0,0,0)},function(de,ze){de.setDate(de.getDate()+ze*7)},function(de,ze){return(ze-de-(ze.getTimezoneOffset()-de.getTimezoneOffset())*s)/c})}var w=A(0),M=A(1),L=A(2),S=A(3),q=A(4),R=A(5),z=A(6),F=w.range,N=M.range,j=L.range,B=S.range,V=q.range,W=R.range,Q=z.range,Y=a(function(fe){fe.setDate(1),fe.setHours(0,0,0,0)},function(fe,de){fe.setMonth(fe.getMonth()+de)},function(fe,de){return de.getMonth()-fe.getMonth()+(de.getFullYear()-fe.getFullYear())*12},function(fe){return fe.getMonth()}),$=Y.range,re=a(function(fe){fe.setMonth(0,1),fe.setHours(0,0,0,0)},function(fe,de){fe.setFullYear(fe.getFullYear()+de)},function(fe,de){return de.getFullYear()-fe.getFullYear()},function(fe){return fe.getFullYear()});re.every=function(fe){return!isFinite(fe=Math.floor(fe))||!(fe>0)?null:a(function(de){de.setFullYear(Math.floor(de.getFullYear()/fe)*fe),de.setMonth(0,1),de.setHours(0,0,0,0)},function(de,ze){de.setFullYear(de.getFullYear()+ze*fe)})};var ue=re.range,ce=a(function(fe){fe.setUTCSeconds(0,0)},function(fe,de){fe.setTime(+fe+de*s)},function(fe,de){return(de-fe)/s},function(fe){return fe.getUTCMinutes()}),ye=ce.range,he=a(function(fe){fe.setUTCMinutes(0,0,0)},function(fe,de){fe.setTime(+fe+de*l)},function(fe,de){return(de-fe)/l},function(fe){return fe.getUTCHours()}),we=he.range,ee=a(function(fe){fe.setUTCHours(0,0,0,0)},function(fe,de){fe.setUTCDate(fe.getUTCDate()+de)},function(fe,de){return(de-fe)/u},function(fe){return fe.getUTCDate()-1}),Se=ee.range;function Te(fe){return a(function(de){de.setUTCDate(de.getUTCDate()-(de.getUTCDay()+7-fe)%7),de.setUTCHours(0,0,0,0)},function(de,ze){de.setUTCDate(de.getUTCDate()+ze*7)},function(de,ze){return(ze-de)/c})}var qe=Te(0),Ue=Te(1),Me=Te(2),G=Te(3),Z=Te(4),O=Te(5),le=Te(6),be=qe.range,Ae=Ue.range,je=Me.range,Ye=G.range,Ce=Z.range,st=O.range,Ze=le.range,lt=a(function(fe){fe.setUTCDate(1),fe.setUTCHours(0,0,0,0)},function(fe,de){fe.setUTCMonth(fe.getUTCMonth()+de)},function(fe,de){return de.getUTCMonth()-fe.getUTCMonth()+(de.getUTCFullYear()-fe.getUTCFullYear())*12},function(fe){return fe.getUTCMonth()}),tt=lt.range,dt=a(function(fe){fe.setUTCMonth(0,1),fe.setUTCHours(0,0,0,0)},function(fe,de){fe.setUTCFullYear(fe.getUTCFullYear()+de)},function(fe,de){return de.getUTCFullYear()-fe.getUTCFullYear()},function(fe){return fe.getUTCFullYear()});dt.every=function(fe){return!isFinite(fe=Math.floor(fe))||!(fe>0)?null:a(function(de){de.setUTCFullYear(Math.floor(de.getUTCFullYear()/fe)*fe),de.setUTCMonth(0,1),de.setUTCHours(0,0,0,0)},function(de,ze){de.setUTCFullYear(de.getUTCFullYear()+ze*fe)})};var pt=dt.range;e.timeDay=_,e.timeDays=x,e.timeFriday=R,e.timeFridays=W,e.timeHour=m,e.timeHours=b,e.timeInterval=a,e.timeMillisecond=n,e.timeMilliseconds=i,e.timeMinute=p,e.timeMinutes=g,e.timeMonday=M,e.timeMondays=N,e.timeMonth=Y,e.timeMonths=$,e.timeSaturday=z,e.timeSaturdays=Q,e.timeSecond=d,e.timeSeconds=h,e.timeSunday=w,e.timeSundays=F,e.timeThursday=q,e.timeThursdays=V,e.timeTuesday=L,e.timeTuesdays=j,e.timeWednesday=S,e.timeWednesdays=B,e.timeWeek=w,e.timeWeeks=F,e.timeYear=re,e.timeYears=ue,e.utcDay=ee,e.utcDays=Se,e.utcFriday=O,e.utcFridays=st,e.utcHour=he,e.utcHours=we,e.utcMillisecond=n,e.utcMilliseconds=i,e.utcMinute=ce,e.utcMinutes=ye,e.utcMonday=Ue,e.utcMondays=Ae,e.utcMonth=lt,e.utcMonths=tt,e.utcSaturday=le,e.utcSaturdays=Ze,e.utcSecond=d,e.utcSeconds=h,e.utcSunday=qe,e.utcSundays=be,e.utcThursday=Z,e.utcThursdays=Ce,e.utcTuesday=Me,e.utcTuesdays=je,e.utcWednesday=G,e.utcWednesdays=Ye,e.utcWeek=qe,e.utcWeeks=be,e.utcYear=dt,e.utcYears=pt,Object.defineProperty(e,"__esModule",{value:!0})})});var Is=E((Jc,tM)=>{(function(e,t){typeof Jc=="object"&&typeof tM!="undefined"?t(Jc,wm()):typeof define=="function"&&define.amd?define(["exports","d3-time"],t):(e=e||self,t(e.d3=e.d3||{},e.d3))})(Jc,function(e,t){"use strict";function r(te){if(0<=te.y&&te.y<100){var _e=new Date(-1,te.m,te.d,te.H,te.M,te.S,te.L);return _e.setFullYear(te.y),_e}return new Date(te.y,te.m,te.d,te.H,te.M,te.S,te.L)}function a(te){if(0<=te.y&&te.y<100){var _e=new Date(Date.UTC(-1,te.m,te.d,te.H,te.M,te.S,te.L));return _e.setUTCFullYear(te.y),_e}return new Date(Date.UTC(te.y,te.m,te.d,te.H,te.M,te.S,te.L))}function n(te,_e,ke){return{y:te,m:_e,d:ke,H:0,M:0,S:0,L:0}}function i(te){var _e=te.dateTime,ke=te.date,Fe=te.time,qt=te.periods,fr=te.days,Or=te.shortDays,Cr=te.months,or=te.shortMonths,na=h(qt),Un=p(qt),Qr=h(fr),Ba=p(fr),xn=h(Or),ma=p(Or),ui=h(Cr),vo=p(Cr),Ua=h(or),ga=p(or),ya={a:Vl,A:Yl,b:oa,B:cc,c:null,d:Y,e:Y,f:ye,g:O,G:be,H:$,I:re,j:ue,L:ce,m:he,M:we,p:ms,q:gs,Q:gt,s:it,S:ee,u:Se,U:Te,V:Ue,w:Me,W:G,x:null,X:null,y:Z,Y:le,Z:Ae,"%":ut},ba={a:Ii,A:dc,b:hc,B:vc,c:null,d:je,e:je,f:lt,g:Re,G:Ie,H:Ye,I:Ce,j:st,L:Ze,m:tt,M:dt,p:Zl,q:Xl,Q:gt,s:it,S:pt,u:fe,U:de,V:He,w:Ee,W:ge,x:null,X:null,y:xe,Y:Pe,Z:Be,"%":ut},ia={a:Gr,A:po,b:mo,B:Pi,c:uc,d:q,e:q,f:B,g:w,G:A,H:z,I:z,j:R,L:j,m:S,M:F,p:cr,q:L,Q:W,s:Q,S:N,u:m,U:b,V:_,w:g,W:x,x:fc,X:Wl,y:w,Y:A,Z:M,"%":V};ya.x=Ra(ke,ya),ya.X=Ra(Fe,ya),ya.c=Ra(_e,ya),ba.x=Ra(ke,ba),ba.X=Ra(Fe,ba),ba.c=Ra(_e,ba);function Ra(ct,ft){return function(Gt){var Qe=[],sa=-1,$t=0,Wr=ct.length,Vr,$a,go;for(Gt instanceof Date||(Gt=new Date(+Gt));++sa53)return null;"w"in Qe||(Qe.w=1),"Z"in Qe?($t=a(n(Qe.y,0,1)),Wr=$t.getUTCDay(),$t=Wr>4||Wr===0?t.utcMonday.ceil($t):t.utcMonday($t),$t=t.utcDay.offset($t,(Qe.V-1)*7),Qe.y=$t.getUTCFullYear(),Qe.m=$t.getUTCMonth(),Qe.d=$t.getUTCDate()+(Qe.w+6)%7):($t=r(n(Qe.y,0,1)),Wr=$t.getDay(),$t=Wr>4||Wr===0?t.timeMonday.ceil($t):t.timeMonday($t),$t=t.timeDay.offset($t,(Qe.V-1)*7),Qe.y=$t.getFullYear(),Qe.m=$t.getMonth(),Qe.d=$t.getDate()+(Qe.w+6)%7)}else("W"in Qe||"U"in Qe)&&("w"in Qe||(Qe.w="u"in Qe?Qe.u%7:"W"in Qe?1:0),Wr="Z"in Qe?a(n(Qe.y,0,1)).getUTCDay():r(n(Qe.y,0,1)).getDay(),Qe.m=0,Qe.d="W"in Qe?(Qe.w+6)%7+Qe.W*7-(Wr+5)%7:Qe.w+Qe.U*7-(Wr+6)%7);return"Z"in Qe?(Qe.H+=Qe.Z/100|0,Qe.M+=Qe.Z%100,a(Qe)):r(Qe)}}function Hr(ct,ft,Gt,Qe){for(var sa=0,$t=ft.length,Wr=Gt.length,Vr,$a;sa<$t;){if(Qe>=Wr)return-1;if(Vr=ft.charCodeAt(sa++),Vr===37){if(Vr=ft.charAt(sa++),$a=ia[Vr in o?ft.charAt(sa++):Vr],!$a||(Qe=$a(ct,Gt,Qe))<0)return-1}else if(Vr!=Gt.charCodeAt(Qe++))return-1}return Qe}function cr(ct,ft,Gt){var Qe=na.exec(ft.slice(Gt));return Qe?(ct.p=Un[Qe[0].toLowerCase()],Gt+Qe[0].length):-1}function Gr(ct,ft,Gt){var Qe=xn.exec(ft.slice(Gt));return Qe?(ct.w=ma[Qe[0].toLowerCase()],Gt+Qe[0].length):-1}function po(ct,ft,Gt){var Qe=Qr.exec(ft.slice(Gt));return Qe?(ct.w=Ba[Qe[0].toLowerCase()],Gt+Qe[0].length):-1}function mo(ct,ft,Gt){var Qe=Ua.exec(ft.slice(Gt));return Qe?(ct.m=ga[Qe[0].toLowerCase()],Gt+Qe[0].length):-1}function Pi(ct,ft,Gt){var Qe=ui.exec(ft.slice(Gt));return Qe?(ct.m=vo[Qe[0].toLowerCase()],Gt+Qe[0].length):-1}function uc(ct,ft,Gt){return Hr(ct,_e,ft,Gt)}function fc(ct,ft,Gt){return Hr(ct,ke,ft,Gt)}function Wl(ct,ft,Gt){return Hr(ct,Fe,ft,Gt)}function Vl(ct){return Or[ct.getDay()]}function Yl(ct){return fr[ct.getDay()]}function oa(ct){return or[ct.getMonth()]}function cc(ct){return Cr[ct.getMonth()]}function ms(ct){return qt[+(ct.getHours()>=12)]}function gs(ct){return 1+~~(ct.getMonth()/3)}function Ii(ct){return Or[ct.getUTCDay()]}function dc(ct){return fr[ct.getUTCDay()]}function hc(ct){return or[ct.getUTCMonth()]}function vc(ct){return Cr[ct.getUTCMonth()]}function Zl(ct){return qt[+(ct.getUTCHours()>=12)]}function Xl(ct){return 1+~~(ct.getUTCMonth()/3)}return{format:function(ct){var ft=Ra(ct+="",ya);return ft.toString=function(){return ct},ft},parse:function(ct){var ft=fi(ct+="",!1);return ft.toString=function(){return ct},ft},utcFormat:function(ct){var ft=Ra(ct+="",ba);return ft.toString=function(){return ct},ft},utcParse:function(ct){var ft=fi(ct+="",!0);return ft.toString=function(){return ct},ft}}}var o={"-":"",_:" ","0":"0"},s=/^\s*\d+/,l=/^%/,u=/[\\^$*+?|[\]().{}]/g;function c(te,_e,ke){var Fe=te<0?"-":"",qt=(Fe?-te:te)+"",fr=qt.length;return Fe+(fr68?1900:2e3),ke+Fe[0].length):-1}function M(te,_e,ke){var Fe=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(_e.slice(ke,ke+6));return Fe?(te.Z=Fe[1]?0:-(Fe[2]+(Fe[3]||"00")),ke+Fe[0].length):-1}function L(te,_e,ke){var Fe=s.exec(_e.slice(ke,ke+1));return Fe?(te.q=Fe[0]*3-3,ke+Fe[0].length):-1}function S(te,_e,ke){var Fe=s.exec(_e.slice(ke,ke+2));return Fe?(te.m=Fe[0]-1,ke+Fe[0].length):-1}function q(te,_e,ke){var Fe=s.exec(_e.slice(ke,ke+2));return Fe?(te.d=+Fe[0],ke+Fe[0].length):-1}function R(te,_e,ke){var Fe=s.exec(_e.slice(ke,ke+3));return Fe?(te.m=0,te.d=+Fe[0],ke+Fe[0].length):-1}function z(te,_e,ke){var Fe=s.exec(_e.slice(ke,ke+2));return Fe?(te.H=+Fe[0],ke+Fe[0].length):-1}function F(te,_e,ke){var Fe=s.exec(_e.slice(ke,ke+2));return Fe?(te.M=+Fe[0],ke+Fe[0].length):-1}function N(te,_e,ke){var Fe=s.exec(_e.slice(ke,ke+2));return Fe?(te.S=+Fe[0],ke+Fe[0].length):-1}function j(te,_e,ke){var Fe=s.exec(_e.slice(ke,ke+3));return Fe?(te.L=+Fe[0],ke+Fe[0].length):-1}function B(te,_e,ke){var Fe=s.exec(_e.slice(ke,ke+6));return Fe?(te.L=Math.floor(Fe[0]/1e3),ke+Fe[0].length):-1}function V(te,_e,ke){var Fe=l.exec(_e.slice(ke,ke+1));return Fe?ke+Fe[0].length:-1}function W(te,_e,ke){var Fe=s.exec(_e.slice(ke));return Fe?(te.Q=+Fe[0],ke+Fe[0].length):-1}function Q(te,_e,ke){var Fe=s.exec(_e.slice(ke));return Fe?(te.s=+Fe[0],ke+Fe[0].length):-1}function Y(te,_e){return c(te.getDate(),_e,2)}function $(te,_e){return c(te.getHours(),_e,2)}function re(te,_e){return c(te.getHours()%12||12,_e,2)}function ue(te,_e){return c(1+t.timeDay.count(t.timeYear(te),te),_e,3)}function ce(te,_e){return c(te.getMilliseconds(),_e,3)}function ye(te,_e){return ce(te,_e)+"000"}function he(te,_e){return c(te.getMonth()+1,_e,2)}function we(te,_e){return c(te.getMinutes(),_e,2)}function ee(te,_e){return c(te.getSeconds(),_e,2)}function Se(te){var _e=te.getDay();return _e===0?7:_e}function Te(te,_e){return c(t.timeSunday.count(t.timeYear(te)-1,te),_e,2)}function qe(te){var _e=te.getDay();return _e>=4||_e===0?t.timeThursday(te):t.timeThursday.ceil(te)}function Ue(te,_e){return te=qe(te),c(t.timeThursday.count(t.timeYear(te),te)+(t.timeYear(te).getDay()===4),_e,2)}function Me(te){return te.getDay()}function G(te,_e){return c(t.timeMonday.count(t.timeYear(te)-1,te),_e,2)}function Z(te,_e){return c(te.getFullYear()%100,_e,2)}function O(te,_e){return te=qe(te),c(te.getFullYear()%100,_e,2)}function le(te,_e){return c(te.getFullYear()%1e4,_e,4)}function be(te,_e){var ke=te.getDay();return te=ke>=4||ke===0?t.timeThursday(te):t.timeThursday.ceil(te),c(te.getFullYear()%1e4,_e,4)}function Ae(te){var _e=te.getTimezoneOffset();return(_e>0?"-":(_e*=-1,"+"))+c(_e/60|0,"0",2)+c(_e%60,"0",2)}function je(te,_e){return c(te.getUTCDate(),_e,2)}function Ye(te,_e){return c(te.getUTCHours(),_e,2)}function Ce(te,_e){return c(te.getUTCHours()%12||12,_e,2)}function st(te,_e){return c(1+t.utcDay.count(t.utcYear(te),te),_e,3)}function Ze(te,_e){return c(te.getUTCMilliseconds(),_e,3)}function lt(te,_e){return Ze(te,_e)+"000"}function tt(te,_e){return c(te.getUTCMonth()+1,_e,2)}function dt(te,_e){return c(te.getUTCMinutes(),_e,2)}function pt(te,_e){return c(te.getUTCSeconds(),_e,2)}function fe(te){var _e=te.getUTCDay();return _e===0?7:_e}function de(te,_e){return c(t.utcSunday.count(t.utcYear(te)-1,te),_e,2)}function ze(te){var _e=te.getUTCDay();return _e>=4||_e===0?t.utcThursday(te):t.utcThursday.ceil(te)}function He(te,_e){return te=ze(te),c(t.utcThursday.count(t.utcYear(te),te)+(t.utcYear(te).getUTCDay()===4),_e,2)}function Ee(te){return te.getUTCDay()}function ge(te,_e){return c(t.utcMonday.count(t.utcYear(te)-1,te),_e,2)}function xe(te,_e){return c(te.getUTCFullYear()%100,_e,2)}function Re(te,_e){return te=ze(te),c(te.getUTCFullYear()%100,_e,2)}function Pe(te,_e){return c(te.getUTCFullYear()%1e4,_e,4)}function Ie(te,_e){var ke=te.getUTCDay();return te=ke>=4||ke===0?t.utcThursday(te):t.utcThursday.ceil(te),c(te.getUTCFullYear()%1e4,_e,4)}function Be(){return"+0000"}function ut(){return"%"}function gt(te){return+te}function it(te){return Math.floor(+te/1e3)}var Dt;Mt({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 Mt(te){return Dt=i(te),e.timeFormat=Dt.format,e.timeParse=Dt.parse,e.utcFormat=Dt.utcFormat,e.utcParse=Dt.utcParse,Dt}var nt="%Y-%m-%dT%H:%M:%S.%LZ";function Rt(te){return te.toISOString()}var St=Date.prototype.toISOString?Rt:e.utcFormat(nt);function wt(te){var _e=new Date(te);return isNaN(_e)?null:_e}var Ct=+new Date("2000-01-01T00:00:00.000Z")?wt:e.utcParse(nt);e.isoFormat=St,e.isoParse=Ct,e.timeFormatDefaultLocale=Mt,e.timeFormatLocale=i,Object.defineProperty(e,"__esModule",{value:!0})})});var Tm=E((ed,rM)=>{(function(e,t){typeof ed=="object"&&typeof rM!="undefined"?t(ed):typeof define=="function"&&define.amd?define(["exports"],t):(e=typeof globalThis!="undefined"?globalThis:e||self,t(e.d3=e.d3||{}))})(ed,function(e){"use strict";function t(S){return Math.abs(S=Math.round(S))>=1e21?S.toLocaleString("en").replace(/,/g,""):S.toString(10)}function r(S,q){if((R=(S=q?S.toExponential(q-1):S.toExponential()).indexOf("e"))<0)return null;var R,z=S.slice(0,R);return[z.length>1?z[0]+z.slice(2):z,+S.slice(R+1)]}function a(S){return S=r(Math.abs(S)),S?S[1]:NaN}function n(S,q){return function(R,z){for(var F=R.length,N=[],j=0,B=S[0],V=0;F>0&&B>0&&(V+B+1>z&&(B=Math.max(1,z-V)),N.push(R.substring(F-=B,F+B)),!((V+=B+1)>z));)B=S[j=(j+1)%S.length];return N.reverse().join(q)}}function i(S){return function(q){return q.replace(/[0-9]/g,function(R){return S[+R]})}}var o=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function s(S){if(!(q=o.exec(S)))throw new Error("invalid format: "+S);var q;return new l({fill:q[1],align:q[2],sign:q[3],symbol:q[4],zero:q[5],width:q[6],comma:q[7],precision:q[8]&&q[8].slice(1),trim:q[9],type:q[10]})}s.prototype=l.prototype;function l(S){this.fill=S.fill===void 0?" ":S.fill+"",this.align=S.align===void 0?">":S.align+"",this.sign=S.sign===void 0?"-":S.sign+"",this.symbol=S.symbol===void 0?"":S.symbol+"",this.zero=!!S.zero,this.width=S.width===void 0?void 0:+S.width,this.comma=!!S.comma,this.precision=S.precision===void 0?void 0:+S.precision,this.trim=!!S.trim,this.type=S.type===void 0?"":S.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(S){e:for(var q=S.length,R=1,z=-1,F;R0&&(z=0);break}return z>0?S.slice(0,z)+S.slice(F+1):S}var c;function d(S,q){var R=r(S,q);if(!R)return S+"";var z=R[0],F=R[1],N=F-(c=Math.max(-8,Math.min(8,Math.floor(F/3)))*3)+1,j=z.length;return N===j?z:N>j?z+new Array(N-j+1).join("0"):N>0?z.slice(0,N)+"."+z.slice(N):"0."+new Array(1-N).join("0")+r(S,Math.max(0,q+N-1))[0]}function h(S,q){var R=r(S,q);if(!R)return S+"";var z=R[0],F=R[1];return F<0?"0."+new Array(-F).join("0")+z:z.length>F+1?z.slice(0,F+1)+"."+z.slice(F+1):z+new Array(F-z.length+2).join("0")}var p={"%":function(S,q){return(S*100).toFixed(q)},b:function(S){return Math.round(S).toString(2)},c:function(S){return S+""},d:t,e:function(S,q){return S.toExponential(q)},f:function(S,q){return S.toFixed(q)},g:function(S,q){return S.toPrecision(q)},o:function(S){return Math.round(S).toString(8)},p:function(S,q){return h(S*100,q)},r:h,s:d,X:function(S){return Math.round(S).toString(16).toUpperCase()},x:function(S){return Math.round(S).toString(16)}};function g(S){return S}var m=Array.prototype.map,b=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function _(S){var q=S.grouping===void 0||S.thousands===void 0?g:n(m.call(S.grouping,Number),S.thousands+""),R=S.currency===void 0?"":S.currency[0]+"",z=S.currency===void 0?"":S.currency[1]+"",F=S.decimal===void 0?".":S.decimal+"",N=S.numerals===void 0?g:i(m.call(S.numerals,String)),j=S.percent===void 0?"%":S.percent+"",B=S.minus===void 0?"-":S.minus+"",V=S.nan===void 0?"NaN":S.nan+"";function W(Y){Y=s(Y);var $=Y.fill,re=Y.align,ue=Y.sign,ce=Y.symbol,ye=Y.zero,he=Y.width,we=Y.comma,ee=Y.precision,Se=Y.trim,Te=Y.type;Te==="n"?(we=!0,Te="g"):p[Te]||(ee===void 0&&(ee=12),Se=!0,Te="g"),(ye||$==="0"&&re==="=")&&(ye=!0,$="0",re="=");var qe=ce==="$"?R:ce==="#"&&/[boxX]/.test(Te)?"0"+Te.toLowerCase():"",Ue=ce==="$"?z:/[%p]/.test(Te)?j:"",Me=p[Te],G=/[defgprs%]/.test(Te);ee=ee===void 0?6:/[gprs]/.test(Te)?Math.max(1,Math.min(21,ee)):Math.max(0,Math.min(20,ee));function Z(O){var le=qe,be=Ue,Ae,je,Ye;if(Te==="c")be=Me(O)+be,O="";else{O=+O;var Ce=O<0||1/O<0;if(O=isNaN(O)?V:Me(Math.abs(O),ee),Se&&(O=u(O)),Ce&&+O==0&&ue!=="+"&&(Ce=!1),le=(Ce?ue==="("?ue:B:ue==="-"||ue==="("?"":ue)+le,be=(Te==="s"?b[8+c/3]:"")+be+(Ce&&ue==="("?")":""),G){for(Ae=-1,je=O.length;++AeYe||Ye>57){be=(Ye===46?F+O.slice(Ae+1):O.slice(Ae))+be,O=O.slice(0,Ae);break}}}we&&!ye&&(O=q(O,1/0));var st=le.length+O.length+be.length,Ze=st>1)+le+O+be+Ze.slice(st);break;default:O=Ze+le+O+be;break}return N(O)}return Z.toString=function(){return Y+""},Z}function Q(Y,$){var re=W((Y=s(Y),Y.type="f",Y)),ue=Math.max(-8,Math.min(8,Math.floor(a($)/3)))*3,ce=Math.pow(10,-ue),ye=b[8+ue/3];return function(he){return re(ce*he)+ye}}return{format:W,formatPrefix:Q}}var x;A({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"});function A(S){return x=_(S),e.format=x.format,e.formatPrefix=x.formatPrefix,x}function w(S){return Math.max(0,-a(Math.abs(S)))}function M(S,q){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(a(q)/3)))*3-a(Math.abs(S)))}function L(S,q){return S=Math.abs(S),q=Math.abs(q)-S,Math.max(0,a(q)-a(S))+1}e.FormatSpecifier=l,e.formatDefaultLocale=A,e.formatLocale=_,e.formatSpecifier=s,e.precisionFixed=w,e.precisionPrefix=M,e.precisionRound=L,Object.defineProperty(e,"__esModule",{value:!0})})});var nM=E((Cme,aM)=>{"use strict";aM.exports=function(e){for(var t=e.length,r,a=0;a13)&&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 zt=E((qme,iM)=>{"use strict";var _X=nM();iM.exports=function(e){var t=typeof e;if(t==="string"){var r=e;if(e=+e,e===0&&_X(r))return!1}else if(t!=="number")return!1;return e-e<1}});var yr=E((Lme,oM)=>{"use strict";oM.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,EPOCHJD:24405875e-1,ALMOST_EQUAL:1-1e-6,LOG_CLIP:10,MINUS_SIGN:"\u2212"}});var ko=E(ji=>{"use strict";var Am=Array.isArray,wX=ArrayBuffer,TX=DataView;function sM(e){return wX.isView(e)&&!(e instanceof TX)}ji.isTypedArray=sM;function td(e){return Am(e)||sM(e)}ji.isArrayOrTypedArray=td;function AX(e){return!td(e[0])}ji.isArray1D=AX;ji.ensureArray=function(e,t){return Am(e)||(e=[]),e.length=t,e};ji.concat=function(){var e=[],t=!0,r=0,a,n,i,o,s,l,u,c;for(i=0;i{"use strict";var uM=zt(),km=ko().isArrayOrTypedArray;hM.exports=function(t,r){if(uM(r))r=String(r);else if(typeof r!="string"||r.substr(r.length-4)==="[-1]")throw"bad property string";for(var a=0,n=r.split("."),i,o,s;a{"use strict";var Es=rd(),qX=/^\w*$/,LX=0,vM=1,ad=2,pM=3,Mo=4;mM.exports=function(t,r,a,n){a=a||"name",n=n||"value";var i,o,s,l={};r&&r.length?(s=Es(t,r),o=s.get()):o=t,r=r||"";var u={};if(o)for(i=0;i2)return l[p]=l[p]|ad,d.set(h,null);if(c){for(i=p;i{"use strict";var DX=/^(.*)(\.[^\.\[\]]+|\[\d\])$/,RX=/^[^\.\[\]]+$/;yM.exports=function(e,t){for(;t;){var r=e.match(DX);if(r)e=r[1];else if(e.match(RX))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 zs=E((Eme,xM)=>{"use strict";xM.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 nd=E((zme,_M)=>{"use strict";var PX=zt();_M.exports=function(t,r){if(t>0)return Math.log(t)/Math.LN10;var a=Math.log(Math.min(r[0],r[1]))/Math.LN10;return PX(a)||(a=Math.log(Math.max(r[0],r[1]))/Math.LN10-6),a}});var AM=E((Nme,TM)=>{"use strict";var wM=ko().isArrayOrTypedArray,yu=zs();TM.exports=function e(t,r){for(var a in r){var n=r[a],i=t[a];if(i!==n)if(a.charAt(0)==="_"||typeof n=="function"){if(a in t)continue;t[a]=n}else if(wM(n)&&wM(i)&&yu(n[0])){if(a==="customdata"||a==="ids")continue;for(var o=Math.min(n.length,i.length),s=0;s{"use strict";function IX(e,t){var r=e%t;return r<0?r+t:r}function EX(e,t){return Math.abs(e)>t/2?e-Math.round(e/t)*t:e}kM.exports={mod:IX,modHalf:EX}});var An=E((jme,id)=>{(function(e){var t=/^\s+/,r=/\s+$/,a=0,n=e.round,i=e.min,o=e.max,s=e.random;function l(G,Z){if(G=G||"",Z=Z||{},G instanceof l)return G;if(!(this instanceof l))return new l(G,Z);var O=u(G);this._originalInput=G,this._r=O.r,this._g=O.g,this._b=O.b,this._a=O.a,this._roundA=n(100*this._a)/100,this._format=Z.format||O.format,this._gradientType=Z.gradientType,this._r<1&&(this._r=n(this._r)),this._g<1&&(this._g=n(this._g)),this._b<1&&(this._b=n(this._b)),this._ok=O.ok,this._tc_id=a++}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 G=this.toRgb();return(G.r*299+G.g*587+G.b*114)/1e3},getLuminance:function(){var G=this.toRgb(),Z,O,le,be,Ae,je;return Z=G.r/255,O=G.g/255,le=G.b/255,Z<=.03928?be=Z/12.92:be=e.pow((Z+.055)/1.055,2.4),O<=.03928?Ae=O/12.92:Ae=e.pow((O+.055)/1.055,2.4),le<=.03928?je=le/12.92:je=e.pow((le+.055)/1.055,2.4),.2126*be+.7152*Ae+.0722*je},setAlpha:function(G){return this._a=Y(G),this._roundA=n(100*this._a)/100,this},toHsv:function(){var G=p(this._r,this._g,this._b);return{h:G.h*360,s:G.s,v:G.v,a:this._a}},toHsvString:function(){var G=p(this._r,this._g,this._b),Z=n(G.h*360),O=n(G.s*100),le=n(G.v*100);return this._a==1?"hsv("+Z+", "+O+"%, "+le+"%)":"hsva("+Z+", "+O+"%, "+le+"%, "+this._roundA+")"},toHsl:function(){var G=d(this._r,this._g,this._b);return{h:G.h*360,s:G.s,l:G.l,a:this._a}},toHslString:function(){var G=d(this._r,this._g,this._b),Z=n(G.h*360),O=n(G.s*100),le=n(G.l*100);return this._a==1?"hsl("+Z+", "+O+"%, "+le+"%)":"hsla("+Z+", "+O+"%, "+le+"%, "+this._roundA+")"},toHex:function(G){return m(this._r,this._g,this._b,G)},toHexString:function(G){return"#"+this.toHex(G)},toHex8:function(G){return b(this._r,this._g,this._b,this._a,G)},toHex8String:function(G){return"#"+this.toHex8(G)},toRgb:function(){return{r:n(this._r),g:n(this._g),b:n(this._b),a:this._a}},toRgbString:function(){return this._a==1?"rgb("+n(this._r)+", "+n(this._g)+", "+n(this._b)+")":"rgba("+n(this._r)+", "+n(this._g)+", "+n(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:n($(this._r,255)*100)+"%",g:n($(this._g,255)*100)+"%",b:n($(this._b,255)*100)+"%",a:this._a}},toPercentageRgbString:function(){return this._a==1?"rgb("+n($(this._r,255)*100)+"%, "+n($(this._g,255)*100)+"%, "+n($(this._b,255)*100)+"%)":"rgba("+n($(this._r,255)*100)+"%, "+n($(this._g,255)*100)+"%, "+n($(this._b,255)*100)+"%, "+this._roundA+")"},toName:function(){return this._a===0?"transparent":this._a<1?!1:W[m(this._r,this._g,this._b,!0)]||!1},toFilter:function(G){var Z="#"+_(this._r,this._g,this._b,this._a),O=Z,le=this._gradientType?"GradientType = 1, ":"";if(G){var be=l(G);O="#"+_(be._r,be._g,be._b,be._a)}return"progid:DXImageTransform.Microsoft.gradient("+le+"startColorstr="+Z+",endColorstr="+O+")"},toString:function(G){var Z=!!G;G=G||this._format;var O=!1,le=this._a<1&&this._a>=0,be=!Z&&le&&(G==="hex"||G==="hex6"||G==="hex3"||G==="hex4"||G==="hex8"||G==="name");return be?G==="name"&&this._a===0?this.toName():this.toRgbString():(G==="rgb"&&(O=this.toRgbString()),G==="prgb"&&(O=this.toPercentageRgbString()),(G==="hex"||G==="hex6")&&(O=this.toHexString()),G==="hex3"&&(O=this.toHexString(!0)),G==="hex4"&&(O=this.toHex8String(!0)),G==="hex8"&&(O=this.toHex8String()),G==="name"&&(O=this.toName()),G==="hsl"&&(O=this.toHslString()),G==="hsv"&&(O=this.toHsvString()),O||this.toHexString())},clone:function(){return l(this.toString())},_applyModification:function(G,Z){var O=G.apply(null,[this].concat([].slice.call(Z)));return this._r=O._r,this._g=O._g,this._b=O._b,this.setAlpha(O._a),this},lighten:function(){return this._applyModification(M,arguments)},brighten:function(){return this._applyModification(L,arguments)},darken:function(){return this._applyModification(S,arguments)},desaturate:function(){return this._applyModification(x,arguments)},saturate:function(){return this._applyModification(A,arguments)},greyscale:function(){return this._applyModification(w,arguments)},spin:function(){return this._applyModification(q,arguments)},_applyCombination:function(G,Z){return G.apply(null,[this].concat([].slice.call(Z)))},analogous:function(){return this._applyCombination(j,arguments)},complement:function(){return this._applyCombination(R,arguments)},monochromatic:function(){return this._applyCombination(B,arguments)},splitcomplement:function(){return this._applyCombination(N,arguments)},triad:function(){return this._applyCombination(z,arguments)},tetrad:function(){return this._applyCombination(F,arguments)}},l.fromRatio=function(G,Z){if(typeof G=="object"){var O={};for(var le in G)G.hasOwnProperty(le)&&(le==="a"?O[le]=G[le]:O[le]=we(G[le]));G=O}return l(G,Z)};function u(G){var Z={r:0,g:0,b:0},O=1,le=null,be=null,Ae=null,je=!1,Ye=!1;return typeof G=="string"&&(G=Ue(G)),typeof G=="object"&&(qe(G.r)&&qe(G.g)&&qe(G.b)?(Z=c(G.r,G.g,G.b),je=!0,Ye=String(G.r).substr(-1)==="%"?"prgb":"rgb"):qe(G.h)&&qe(G.s)&&qe(G.v)?(le=we(G.s),be=we(G.v),Z=g(G.h,le,be),je=!0,Ye="hsv"):qe(G.h)&&qe(G.s)&&qe(G.l)&&(le=we(G.s),Ae=we(G.l),Z=h(G.h,le,Ae),je=!0,Ye="hsl"),G.hasOwnProperty("a")&&(O=G.a)),O=Y(O),{ok:je,format:G.format||Ye,r:i(255,o(Z.r,0)),g:i(255,o(Z.g,0)),b:i(255,o(Z.b,0)),a:O}}function c(G,Z,O){return{r:$(G,255)*255,g:$(Z,255)*255,b:$(O,255)*255}}function d(G,Z,O){G=$(G,255),Z=$(Z,255),O=$(O,255);var le=o(G,Z,O),be=i(G,Z,O),Ae,je,Ye=(le+be)/2;if(le==be)Ae=je=0;else{var Ce=le-be;switch(je=Ye>.5?Ce/(2-le-be):Ce/(le+be),le){case G:Ae=(Z-O)/Ce+(Z1&&(lt-=1),lt<1/6?st+(Ze-st)*6*lt:lt<1/2?Ze:lt<2/3?st+(Ze-st)*(2/3-lt)*6:st}if(Z===0)le=be=Ae=O;else{var Ye=O<.5?O*(1+Z):O+Z-O*Z,Ce=2*O-Ye;le=je(Ce,Ye,G+1/3),be=je(Ce,Ye,G),Ae=je(Ce,Ye,G-1/3)}return{r:le*255,g:be*255,b:Ae*255}}function p(G,Z,O){G=$(G,255),Z=$(Z,255),O=$(O,255);var le=o(G,Z,O),be=i(G,Z,O),Ae,je,Ye=le,Ce=le-be;if(je=le===0?0:Ce/le,le==be)Ae=0;else{switch(le){case G:Ae=(Z-O)/Ce+(Z>1)+720)%360;--Z;)le.h=(le.h+be)%360,Ae.push(l(le));return Ae}function B(G,Z){Z=Z||6;for(var O=l(G).toHsv(),le=O.h,be=O.s,Ae=O.v,je=[],Ye=1/Z;Z--;)je.push(l({h:le,s:be,v:Ae})),Ae=(Ae+Ye)%1;return je}l.mix=function(G,Z,O){O=O===0?0:O||50;var le=l(G).toRgb(),be=l(Z).toRgb(),Ae=O/100,je={r:(be.r-le.r)*Ae+le.r,g:(be.g-le.g)*Ae+le.g,b:(be.b-le.b)*Ae+le.b,a:(be.a-le.a)*Ae+le.a};return l(je)},l.readability=function(G,Z){var O=l(G),le=l(Z);return(e.max(O.getLuminance(),le.getLuminance())+.05)/(e.min(O.getLuminance(),le.getLuminance())+.05)},l.isReadable=function(G,Z,O){var le=l.readability(G,Z),be,Ae;switch(Ae=!1,be=Me(O),be.level+be.size){case"AAsmall":case"AAAlarge":Ae=le>=4.5;break;case"AAlarge":Ae=le>=3;break;case"AAAsmall":Ae=le>=7;break}return Ae},l.mostReadable=function(G,Z,O){var le=null,be=0,Ae,je,Ye,Ce;O=O||{},je=O.includeFallbackColors,Ye=O.level,Ce=O.size;for(var st=0;stbe&&(be=Ae,le=l(Z[st]));return l.isReadable(G,le,{level:Ye,size:Ce})||!je?le:(O.includeFallbackColors=!1,l.mostReadable(G,["#fff","#000"],O))};var V=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"},W=l.hexNames=Q(V);function Q(G){var Z={};for(var O in G)G.hasOwnProperty(O)&&(Z[G[O]]=O);return Z}function Y(G){return G=parseFloat(G),(isNaN(G)||G<0||G>1)&&(G=1),G}function $(G,Z){ce(G)&&(G="100%");var O=ye(G);return G=i(Z,o(0,parseFloat(G))),O&&(G=parseInt(G*Z,10)/100),e.abs(G-Z)<1e-6?1:G%Z/parseFloat(Z)}function re(G){return i(1,o(0,G))}function ue(G){return parseInt(G,16)}function ce(G){return typeof G=="string"&&G.indexOf(".")!=-1&&parseFloat(G)===1}function ye(G){return typeof G=="string"&&G.indexOf("%")!=-1}function he(G){return G.length==1?"0"+G:""+G}function we(G){return G<=1&&(G=G*100+"%"),G}function ee(G){return e.round(parseFloat(G)*255).toString(16)}function Se(G){return ue(G)/255}var Te=function(){var G="[-\\+]?\\d+%?",Z="[-\\+]?\\d*\\.\\d+%?",O="(?:"+Z+")|(?:"+G+")",le="[\\s|\\(]+("+O+")[,|\\s]+("+O+")[,|\\s]+("+O+")\\s*\\)?",be="[\\s|\\(]+("+O+")[,|\\s]+("+O+")[,|\\s]+("+O+")[,|\\s]+("+O+")\\s*\\)?";return{CSS_UNIT:new RegExp(O),rgb:new RegExp("rgb"+le),rgba:new RegExp("rgba"+be),hsl:new RegExp("hsl"+le),hsla:new RegExp("hsla"+be),hsv:new RegExp("hsv"+le),hsva:new RegExp("hsva"+be),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 qe(G){return!!Te.CSS_UNIT.exec(G)}function Ue(G){G=G.replace(t,"").replace(r,"").toLowerCase();var Z=!1;if(V[G])G=V[G],Z=!0;else if(G=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var O;return(O=Te.rgb.exec(G))?{r:O[1],g:O[2],b:O[3]}:(O=Te.rgba.exec(G))?{r:O[1],g:O[2],b:O[3],a:O[4]}:(O=Te.hsl.exec(G))?{h:O[1],s:O[2],l:O[3]}:(O=Te.hsla.exec(G))?{h:O[1],s:O[2],l:O[3],a:O[4]}:(O=Te.hsv.exec(G))?{h:O[1],s:O[2],v:O[3]}:(O=Te.hsva.exec(G))?{h:O[1],s:O[2],v:O[3],a:O[4]}:(O=Te.hex8.exec(G))?{r:ue(O[1]),g:ue(O[2]),b:ue(O[3]),a:Se(O[4]),format:Z?"name":"hex8"}:(O=Te.hex6.exec(G))?{r:ue(O[1]),g:ue(O[2]),b:ue(O[3]),format:Z?"name":"hex"}:(O=Te.hex4.exec(G))?{r:ue(O[1]+""+O[1]),g:ue(O[2]+""+O[2]),b:ue(O[3]+""+O[3]),a:Se(O[4]+""+O[4]),format:Z?"name":"hex8"}:(O=Te.hex3.exec(G))?{r:ue(O[1]+""+O[1]),g:ue(O[2]+""+O[2]),b:ue(O[3]+""+O[3]),format:Z?"name":"hex"}:!1}function Me(G){var Z,O;return G=G||{level:"AA",size:"small"},Z=(G.level||"AA").toUpperCase(),O=(G.size||"small").toLowerCase(),Z!=="AA"&&Z!=="AAA"&&(Z="AA"),O!=="small"&&O!=="large"&&(O="small"),{level:Z,size:O}}typeof id!="undefined"&&id.exports?id.exports=l:typeof define=="function"&&define.amd?define(function(){return l}):window.tinycolor=l})(Math)});var _a=E((Ome,MM)=>{"use strict";MM.exports=function(e){var t=e.editType,r=e.colorEditType;r===void 0&&(r=t);var a={family:{valType:"string",noBlank:!0,strict:!0,editType:t,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:t},color:{valType:"color",editType:r},editType:t,description:""+(e.description||"")+""};return e.autoSize&&(a.size.dflt="auto"),e.autoColor&&(a.color.dflt="auto"),e.arrayOk&&(a.family.arrayOk=!0,a.size.arrayOk=!0,a.color.arrayOk=!0),a}});var bu=E((Hme,SM)=>{"use strict";SM.exports={YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:"Arial, sans-serif",HOVERMINTIME:50,HOVERID:"-hover"}});var Fs=E((Bme,LM)=>{"use strict";var CM=bu(),qM=_a(),Sm=qM({editType:"none",description:"Sets the default hover label font used by all traces on the graph."});Sm.family.dflt=CM.HOVERFONT;Sm.size.dflt=CM.HOVERFONTSIZE;LM.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(" ")},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:Sm,grouptitlefont:qM({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 fa=E(wu=>{"use strict";var DM=zs(),xu=Array.isArray;function zX(e,t){var r,a;for(r=0;r{"use strict";var NX=_a(),od=Fs().hoverlabel,sd=fa().extendFlat;RM.exports={hoverlabel:{bgcolor:sd({},od.bgcolor,{arrayOk:!0,description:"Sets the background color of the hover labels for this trace"}),bordercolor:sd({},od.bordercolor,{arrayOk:!0,description:"Sets the border color of the hover labels for this trace."}),font:NX({arrayOk:!0,editType:"none",description:"Sets the font used in hover labels."}),align:sd({},od.align,{arrayOk:!0}),namelength:sd({},od.namelength,{arrayOk:!0}),editType:"none"}}});var Oi=E((Wme,PM)=>{"use strict";var FX=_a(),jX=ld();PM.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(" ")},legendgroup:{valType:"string",dflt:"",editType:"style",description:["Sets the legend group for this trace.","Traces 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:FX({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."].join(" ")},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 appear 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:jX.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 So=E((Vme,zM)=>{"use strict";var OX=An(),ud={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)"]]},IM=ud.RdBu;function HX(e,t){if(t||(t=IM),!e)return t;function r(){try{e=ud[e]||JSON.parse(e)}catch(a){e=t}}return typeof e=="string"&&(r(),typeof e=="string"&&r()),EM(e)?e:t}function EM(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{"use strict";Co.defaults=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"];Co.defaultLine="#444";Co.lightLine="#eee";Co.background="#fff";Co.borderLine="#BEC8D9";Co.lightFraction=100*(14-4)/(15-4)});var It=E((Zme,NM)=>{"use strict";var kn=An(),UX=zt(),GX=ko().isTypedArray,Br=NM.exports={},fd=hi();Br.defaults=fd.defaults;var WX=Br.defaultLine=fd.defaultLine;Br.lightLine=fd.lightLine;var Cm=Br.background=fd.background;Br.tinyRGB=function(e){var t=e.toRgb();return"rgb("+Math.round(t.r)+", "+Math.round(t.g)+", "+Math.round(t.b)+")"};Br.rgb=function(e){return Br.tinyRGB(kn(e))};Br.opacity=function(e){return e?kn(e).getAlpha():0};Br.addOpacity=function(e,t){var r=kn(e).toRgb();return"rgba("+Math.round(r.r)+", "+Math.round(r.g)+", "+Math.round(r.b)+", "+t+")"};Br.combine=function(e,t){var r=kn(e).toRgb();if(r.a===1)return kn(e).toRgbString();var a=kn(t||Cm).toRgb(),n=a.a===1?a:{r:255*(1-a.a)+a.r*a.a,g:255*(1-a.a)+a.g*a.a,b:255*(1-a.a)+a.b*a.a},i={r:n.r*(1-r.a)+r.r*r.a,g:n.g*(1-r.a)+r.g*r.a,b:n.b*(1-r.a)+r.b*r.a};return kn(i).toRgbString()};Br.contrast=function(e,t,r){var a=kn(e);a.getAlpha()!==1&&(a=kn(Br.combine(e,Cm)));var n=a.isDark()?t?a.lighten(t):Cm:r?a.darken(r):WX;return n.toString()};Br.stroke=function(e,t){var r=kn(t);e.style({stroke:Br.tinyRGB(r),"stroke-opacity":r.getAlpha()})};Br.fill=function(e,t){var r=kn(t);e.style({fill:Br.tinyRGB(r),"fill-opacity":r.getAlpha()})};Br.clean=function(e){if(!(!e||typeof e!="object")){var t=Object.keys(e),r,a,n,i;for(r=0;r=0)))return e;if(i===3)a[i]>1&&(a[i]=1);else if(a[i]>=1)return e}var o=Math.round(a[0]*255)+", "+Math.round(a[1]*255)+", "+Math.round(a[2]*255);return n?"rgba("+o+", "+a[3]+")":"rgb("+o+")"}});var cd=E((Xme,FM)=>{"use strict";FM.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}});var js=E(jM=>{"use strict";jM.counter=function(e,t,r,a){var n=(t||"")+(r?"":"$"),i=a===!1?"":"^";return e==="xy"?new RegExp(i+"x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?"+n):new RegExp(i+e+"([2-9]|[1-9][0-9]+)?"+n)}});var UM=E(Ea=>{"use strict";var Lm=zt(),OM=An(),VX=Oi(),HM=So(),YX=It(),ZX=cd().DESELECTDIM,Os=rd(),BM=js().counter,XX=Ns().modHalf,dd=ko().isArrayOrTypedArray;Ea.valObjectMeta={data_array:{description:["An {array} of data.","The value MUST be an {array}, or we ignore it.","Note that typed arrays (e.g. Float32Array) are supported."].join(" "),requiredOpts:[],otherOpts:["dflt"],coerceFunction:function(e,t,r){dd(e)?t.set(e):r!==void 0&&t.set(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,a){a.coerceNumber&&(e=+e),a.values.indexOf(e)===-1?t.set(r):t.set(e)},validateFunction:function(e,t){t.coerceNumber&&(e=+e);for(var r=t.values,a=0;aa.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"],coerceFunction:function(e,t,r,a){e%1||!Lm(e)||a.min!==void 0&&ea.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,a){if(typeof e!="string"){var n=typeof e=="number";a.strict===!0||!n?t.set(r):t.set(String(e))}else a.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){OM(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 a(n){return OM(n).isValid()}!Array.isArray(e)||!e.length?t.set(r):e.every(a)?t.set(e):t.set(r)}},colorscale:{description:["A Plotly colorscale either picked by a name:","(any of",Object.keys(HM.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(HM.get(e,r))}},angle:{description:["A number (in degree) between -180 and 180."].join(" "),requiredOpts:[],otherOpts:["dflt"],coerceFunction:function(e,t,r){e==="auto"?t.set("auto"):Lm(e)?t.set(XX(+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,a){var n=a.regex||BM(r);if(typeof e=="string"&&n.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:!!BM(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,a){if(typeof e!="string"){t.set(r);return}if((a.extras||[]).indexOf(e)!==-1){t.set(e);return}for(var n=e.split("+"),i=0;i{"use strict";var GM={staticPlot:{valType:"boolean",dflt:!1,description:["Determines whether the graphs are interactive or not.","If *false*, no interactivity, for export or image generation."].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."}},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:","/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(" ")}},WM={};function VM(e,t){for(var r in e){var a=e[r];a.valType?t[r]=a.dflt:(t[r]||(t[r]={}),VM(a,t[r]))}}VM(GM,WM);YM.exports={configAttributes:GM,dfltConfig:WM}});var Rm=E((Jme,ZM)=>{"use strict";var Dm=Et(),QX=zt(),Tu=[];ZM.exports=function(e,t){if(Tu.indexOf(e)!==-1)return;Tu.push(e);var r=1e3;QX(t)?r=t:t==="long"&&(r=3e3);var a=Dm.select("body").selectAll(".plotly-notifier").data([0]);a.enter().append("div").classed("plotly-notifier",!0);var n=a.selectAll(".notifier-note").data(Tu);function i(o){o.duration(700).style("opacity",0).each("end",function(s){var l=Tu.indexOf(s);l!==-1&&Tu.splice(l,1),Dm.select(this).remove()})}n.enter().append("div").classed("notifier-note",!0).style("opacity",0).each(function(o){var s=Dm.select(this);s.append("button").classed("notifier-close",!0).html("×").on("click",function(){s.transition().call(i)});for(var l=s.append("p"),u=o.split(//g),c=0;c{"use strict";var Hs=qo().dfltConfig,Pm=Rm(),Im=XM.exports={};Im.log=function(){var e;if(Hs.logging>1){var t=["LOG:"];for(e=0;e1){var r=[];for(e=0;e"),"long")}};Im.warn=function(){var e;if(Hs.logging>0){var t=["WARN:"];for(e=0;e0){var r=[];for(e=0;e"),"stick")}};Im.error=function(){var e;if(Hs.logging>0){var t=["ERROR:"];for(e=0;e0){var r=[];for(e=0;e"),"stick")}}});var vd=E((tge,QM)=>{"use strict";QM.exports=function(){}});var Em=E((rge,KM)=>{"use strict";KM.exports=function(t,r){if(r instanceof RegExp){for(var a=r.toString(),n=0;n{$M.exports=KX;function KX(){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 tS=E((nge,eS)=>{eS.exports=$X;function $X(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 aS=E((ige,rS)=>{rS.exports=JX;function JX(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 zm=E((oge,nS)=>{nS.exports=eQ;function eQ(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 oS=E((sge,iS)=>{iS.exports=tQ;function tQ(e,t){if(e===t){var r=t[1],a=t[2],n=t[3],i=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]=a,e[9]=i,e[11]=t[14],e[12]=n,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 lS=E((lge,sS)=>{sS.exports=rQ;function rQ(e,t){var r=t[0],a=t[1],n=t[2],i=t[3],o=t[4],s=t[5],l=t[6],u=t[7],c=t[8],d=t[9],h=t[10],p=t[11],g=t[12],m=t[13],b=t[14],_=t[15],x=r*s-a*o,A=r*l-n*o,w=r*u-i*o,M=a*l-n*s,L=a*u-i*s,S=n*u-i*l,q=c*m-d*g,R=c*b-h*g,z=c*_-p*g,F=d*b-h*m,N=d*_-p*m,j=h*_-p*b,B=x*j-A*N+w*F+M*z-L*R+S*q;return B?(B=1/B,e[0]=(s*j-l*N+u*F)*B,e[1]=(n*N-a*j-i*F)*B,e[2]=(m*S-b*L+_*M)*B,e[3]=(h*L-d*S-p*M)*B,e[4]=(l*z-o*j-u*R)*B,e[5]=(r*j-n*z+i*R)*B,e[6]=(b*w-g*S-_*A)*B,e[7]=(c*S-h*w+p*A)*B,e[8]=(o*N-s*z+u*q)*B,e[9]=(a*z-r*N-i*q)*B,e[10]=(g*L-m*w+_*x)*B,e[11]=(d*w-c*L-p*x)*B,e[12]=(s*R-o*F-l*q)*B,e[13]=(r*F-a*R+n*q)*B,e[14]=(m*A-g*M-b*x)*B,e[15]=(c*M-d*A+h*x)*B,e):null}});var fS=E((uge,uS)=>{uS.exports=aQ;function aQ(e,t){var r=t[0],a=t[1],n=t[2],i=t[3],o=t[4],s=t[5],l=t[6],u=t[7],c=t[8],d=t[9],h=t[10],p=t[11],g=t[12],m=t[13],b=t[14],_=t[15];return e[0]=s*(h*_-p*b)-d*(l*_-u*b)+m*(l*p-u*h),e[1]=-(a*(h*_-p*b)-d*(n*_-i*b)+m*(n*p-i*h)),e[2]=a*(l*_-u*b)-s*(n*_-i*b)+m*(n*u-i*l),e[3]=-(a*(l*p-u*h)-s*(n*p-i*h)+d*(n*u-i*l)),e[4]=-(o*(h*_-p*b)-c*(l*_-u*b)+g*(l*p-u*h)),e[5]=r*(h*_-p*b)-c*(n*_-i*b)+g*(n*p-i*h),e[6]=-(r*(l*_-u*b)-o*(n*_-i*b)+g*(n*u-i*l)),e[7]=r*(l*p-u*h)-o*(n*p-i*h)+c*(n*u-i*l),e[8]=o*(d*_-p*m)-c*(s*_-u*m)+g*(s*p-u*d),e[9]=-(r*(d*_-p*m)-c*(a*_-i*m)+g*(a*p-i*d)),e[10]=r*(s*_-u*m)-o*(a*_-i*m)+g*(a*u-i*s),e[11]=-(r*(s*p-u*d)-o*(a*p-i*d)+c*(a*u-i*s)),e[12]=-(o*(d*b-h*m)-c*(s*b-l*m)+g*(s*h-l*d)),e[13]=r*(d*b-h*m)-c*(a*b-n*m)+g*(a*h-n*d),e[14]=-(r*(s*b-l*m)-o*(a*b-n*m)+g*(a*l-n*s)),e[15]=r*(s*h-l*d)-o*(a*h-n*d)+c*(a*l-n*s),e}});var dS=E((fge,cS)=>{cS.exports=nQ;function nQ(e){var t=e[0],r=e[1],a=e[2],n=e[3],i=e[4],o=e[5],s=e[6],l=e[7],u=e[8],c=e[9],d=e[10],h=e[11],p=e[12],g=e[13],m=e[14],b=e[15],_=t*o-r*i,x=t*s-a*i,A=t*l-n*i,w=r*s-a*o,M=r*l-n*o,L=a*l-n*s,S=u*g-c*p,q=u*m-d*p,R=u*b-h*p,z=c*m-d*g,F=c*b-h*g,N=d*b-h*m;return _*N-x*F+A*z+w*R-M*q+L*S}});var vS=E((cge,hS)=>{hS.exports=iQ;function iQ(e,t,r){var a=t[0],n=t[1],i=t[2],o=t[3],s=t[4],l=t[5],u=t[6],c=t[7],d=t[8],h=t[9],p=t[10],g=t[11],m=t[12],b=t[13],_=t[14],x=t[15],A=r[0],w=r[1],M=r[2],L=r[3];return e[0]=A*a+w*s+M*d+L*m,e[1]=A*n+w*l+M*h+L*b,e[2]=A*i+w*u+M*p+L*_,e[3]=A*o+w*c+M*g+L*x,A=r[4],w=r[5],M=r[6],L=r[7],e[4]=A*a+w*s+M*d+L*m,e[5]=A*n+w*l+M*h+L*b,e[6]=A*i+w*u+M*p+L*_,e[7]=A*o+w*c+M*g+L*x,A=r[8],w=r[9],M=r[10],L=r[11],e[8]=A*a+w*s+M*d+L*m,e[9]=A*n+w*l+M*h+L*b,e[10]=A*i+w*u+M*p+L*_,e[11]=A*o+w*c+M*g+L*x,A=r[12],w=r[13],M=r[14],L=r[15],e[12]=A*a+w*s+M*d+L*m,e[13]=A*n+w*l+M*h+L*b,e[14]=A*i+w*u+M*p+L*_,e[15]=A*o+w*c+M*g+L*x,e}});var mS=E((dge,pS)=>{pS.exports=oQ;function oQ(e,t,r){var a=r[0],n=r[1],i=r[2],o,s,l,u,c,d,h,p,g,m,b,_;return t===e?(e[12]=t[0]*a+t[4]*n+t[8]*i+t[12],e[13]=t[1]*a+t[5]*n+t[9]*i+t[13],e[14]=t[2]*a+t[6]*n+t[10]*i+t[14],e[15]=t[3]*a+t[7]*n+t[11]*i+t[15]):(o=t[0],s=t[1],l=t[2],u=t[3],c=t[4],d=t[5],h=t[6],p=t[7],g=t[8],m=t[9],b=t[10],_=t[11],e[0]=o,e[1]=s,e[2]=l,e[3]=u,e[4]=c,e[5]=d,e[6]=h,e[7]=p,e[8]=g,e[9]=m,e[10]=b,e[11]=_,e[12]=o*a+c*n+g*i+t[12],e[13]=s*a+d*n+m*i+t[13],e[14]=l*a+h*n+b*i+t[14],e[15]=u*a+p*n+_*i+t[15]),e}});var yS=E((hge,gS)=>{gS.exports=sQ;function sQ(e,t,r){var a=r[0],n=r[1],i=r[2];return e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e[3]=t[3]*a,e[4]=t[4]*n,e[5]=t[5]*n,e[6]=t[6]*n,e[7]=t[7]*n,e[8]=t[8]*i,e[9]=t[9]*i,e[10]=t[10]*i,e[11]=t[11]*i,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}});var xS=E((vge,bS)=>{bS.exports=lQ;function lQ(e,t,r,a){var n=a[0],i=a[1],o=a[2],s=Math.sqrt(n*n+i*i+o*o),l,u,c,d,h,p,g,m,b,_,x,A,w,M,L,S,q,R,z,F,N,j,B,V;return Math.abs(s)<1e-6?null:(s=1/s,n*=s,i*=s,o*=s,l=Math.sin(r),u=Math.cos(r),c=1-u,d=t[0],h=t[1],p=t[2],g=t[3],m=t[4],b=t[5],_=t[6],x=t[7],A=t[8],w=t[9],M=t[10],L=t[11],S=n*n*c+u,q=i*n*c+o*l,R=o*n*c-i*l,z=n*i*c-o*l,F=i*i*c+u,N=o*i*c+n*l,j=n*o*c+i*l,B=i*o*c-n*l,V=o*o*c+u,e[0]=d*S+m*q+A*R,e[1]=h*S+b*q+w*R,e[2]=p*S+_*q+M*R,e[3]=g*S+x*q+L*R,e[4]=d*z+m*F+A*N,e[5]=h*z+b*F+w*N,e[6]=p*z+_*F+M*N,e[7]=g*z+x*F+L*N,e[8]=d*j+m*B+A*V,e[9]=h*j+b*B+w*V,e[10]=p*j+_*B+M*V,e[11]=g*j+x*B+L*V,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}});var wS=E((pge,_S)=>{_S.exports=uQ;function uQ(e,t,r){var a=Math.sin(r),n=Math.cos(r),i=t[4],o=t[5],s=t[6],l=t[7],u=t[8],c=t[9],d=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]=i*n+u*a,e[5]=o*n+c*a,e[6]=s*n+d*a,e[7]=l*n+h*a,e[8]=u*n-i*a,e[9]=c*n-o*a,e[10]=d*n-s*a,e[11]=h*n-l*a,e}});var AS=E((mge,TS)=>{TS.exports=fQ;function fQ(e,t,r){var a=Math.sin(r),n=Math.cos(r),i=t[0],o=t[1],s=t[2],l=t[3],u=t[8],c=t[9],d=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]=i*n-u*a,e[1]=o*n-c*a,e[2]=s*n-d*a,e[3]=l*n-h*a,e[8]=i*a+u*n,e[9]=o*a+c*n,e[10]=s*a+d*n,e[11]=l*a+h*n,e}});var MS=E((gge,kS)=>{kS.exports=cQ;function cQ(e,t,r){var a=Math.sin(r),n=Math.cos(r),i=t[0],o=t[1],s=t[2],l=t[3],u=t[4],c=t[5],d=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]=i*n+u*a,e[1]=o*n+c*a,e[2]=s*n+d*a,e[3]=l*n+h*a,e[4]=u*n-i*a,e[5]=c*n-o*a,e[6]=d*n-s*a,e[7]=h*n-l*a,e}});var CS=E((yge,SS)=>{SS.exports=dQ;function dQ(e,t,r){var a,n,i,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,a=Math.sin(t),n=Math.cos(t),i=1-n,e[0]=o*o*i+n,e[1]=s*o*i+l*a,e[2]=l*o*i-s*a,e[3]=0,e[4]=o*s*i-l*a,e[5]=s*s*i+n,e[6]=l*s*i+o*a,e[7]=0,e[8]=o*l*i+s*a,e[9]=s*l*i-o*a,e[10]=l*l*i+n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}});var LS=E((bge,qS)=>{qS.exports=hQ;function hQ(e,t,r){var a=t[0],n=t[1],i=t[2],o=t[3],s=a+a,l=n+n,u=i+i,c=a*s,d=a*l,h=a*u,p=n*l,g=n*u,m=i*u,b=o*s,_=o*l,x=o*u;return e[0]=1-(p+m),e[1]=d+x,e[2]=h-_,e[3]=0,e[4]=d-x,e[5]=1-(c+m),e[6]=g+b,e[7]=0,e[8]=h+_,e[9]=g-b,e[10]=1-(c+p),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}});var RS=E((xge,DS)=>{DS.exports=vQ;function vQ(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 IS=E((_ge,PS)=>{PS.exports=pQ;function pQ(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 zS=E((wge,ES)=>{ES.exports=mQ;function mQ(e,t){var r=Math.sin(t),a=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=a,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var FS=E((Tge,NS)=>{NS.exports=gQ;function gQ(e,t){var r=Math.sin(t),a=Math.cos(t);return e[0]=a,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]=a,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var OS=E((Age,jS)=>{jS.exports=yQ;function yQ(e,t){var r=Math.sin(t),a=Math.cos(t);return e[0]=a,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=a,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 Nm=E((kge,HS)=>{HS.exports=bQ;function bQ(e,t){var r=t[0],a=t[1],n=t[2],i=t[3],o=r+r,s=a+a,l=n+n,u=r*o,c=a*o,d=a*s,h=n*o,p=n*s,g=n*l,m=i*o,b=i*s,_=i*l;return e[0]=1-d-g,e[1]=c+_,e[2]=h-b,e[3]=0,e[4]=c-_,e[5]=1-u-g,e[6]=p+m,e[7]=0,e[8]=h+b,e[9]=p-m,e[10]=1-u-d,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var US=E((Mge,BS)=>{BS.exports=xQ;function xQ(e,t,r,a,n,i,o){var s=1/(r-t),l=1/(n-a),u=1/(i-o);return e[0]=i*2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=i*2*l,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(n+a)*l,e[10]=(o+i)*u,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*i*2*u,e[15]=0,e}});var WS=E((Sge,GS)=>{GS.exports=_Q;function _Q(e,t,r,a,n){var i=1/Math.tan(t/2),o=1/(a-n);return e[0]=i/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=i,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=(n+a)*o,e[11]=-1,e[12]=0,e[13]=0,e[14]=2*n*a*o,e[15]=0,e}});var YS=E((Cge,VS)=>{VS.exports=wQ;function wQ(e,t,r,a){var n=Math.tan(t.upDegrees*Math.PI/180),i=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/(n+i);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]=(n-i)*u*.5,e[10]=a/(r-a),e[11]=-1,e[12]=0,e[13]=0,e[14]=a*r/(r-a),e[15]=0,e}});var XS=E((qge,ZS)=>{ZS.exports=TQ;function TQ(e,t,r,a,n,i,o){var s=1/(t-r),l=1/(a-n),u=1/(i-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]=(n+a)*l,e[14]=(o+i)*u,e[15]=1,e}});var KS=E((Lge,QS)=>{var AQ=zm();QS.exports=kQ;function kQ(e,t,r,a){var n,i,o,s,l,u,c,d,h,p,g=t[0],m=t[1],b=t[2],_=a[0],x=a[1],A=a[2],w=r[0],M=r[1],L=r[2];return Math.abs(g-w)<1e-6&&Math.abs(m-M)<1e-6&&Math.abs(b-L)<1e-6?AQ(e):(c=g-w,d=m-M,h=b-L,p=1/Math.sqrt(c*c+d*d+h*h),c*=p,d*=p,h*=p,n=x*h-A*d,i=A*c-_*h,o=_*d-x*c,p=Math.sqrt(n*n+i*i+o*o),p?(p=1/p,n*=p,i*=p,o*=p):(n=0,i=0,o=0),s=d*o-h*i,l=h*n-c*o,u=c*i-d*n,p=Math.sqrt(s*s+l*l+u*u),p?(p=1/p,s*=p,l*=p,u*=p):(s=0,l=0,u=0),e[0]=n,e[1]=s,e[2]=c,e[3]=0,e[4]=i,e[5]=l,e[6]=d,e[7]=0,e[8]=o,e[9]=u,e[10]=h,e[11]=0,e[12]=-(n*g+i*m+o*b),e[13]=-(s*g+l*m+u*b),e[14]=-(c*g+d*m+h*b),e[15]=1,e)}});var JS=E((Dge,$S)=>{$S.exports=MQ;function MQ(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 Fm=E((Rge,e3)=>{e3.exports={create:JM(),clone:tS(),copy:aS(),identity:zm(),transpose:oS(),invert:lS(),adjoint:fS(),determinant:dS(),multiply:vS(),translate:mS(),scale:yS(),rotate:xS(),rotateX:wS(),rotateY:AS(),rotateZ:MS(),fromRotation:CS(),fromRotationTranslation:LS(),fromScaling:RS(),fromTranslation:IS(),fromXRotation:zS(),fromYRotation:FS(),fromZRotation:OS(),fromQuat:Nm(),frustum:US(),perspective:WS(),perspectiveFromFieldOfView:YS(),ortho:XS(),lookAt:KS(),str:JS()}});var pd=E(br=>{"use strict";var SQ=Fm();br.init2dArray=function(e,t){for(var r=new Array(e),a=0;a{"use strict";var CQ=Et(),qQ=Lo(),LQ=pd(),DQ=Fm();function RQ(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 PQ(e){var t=CQ.select(e);return t.node()instanceof HTMLElement&&t.size()&&t.classed("js-plotly-plot")}function t3(e){var t=e&&e.parentNode;t&&t.removeChild(e)}function IQ(e,t){r3("global",e,t)}function r3(e,t,r){var a="plotly.js-style-"+e,n=document.getElementById(a);n||(n=document.createElement("style"),n.setAttribute("id",a),n.appendChild(document.createTextNode("")),document.head.appendChild(n));var i=n.sheet;i.insertRule?i.insertRule(t+"{"+r+"}",0):i.addRule?i.addRule(t,r,0):qQ.warn("addStyleRule failed")}function EQ(e){var t="plotly.js-style-"+e,r=document.getElementById(t);r&&t3(r)}function zQ(e){var t=n3(e),r=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return t.forEach(function(a){var n=a3(a);if(n){var i=LQ.convertCssMatrix(n);r=DQ.multiply(r,r,i)}}),r}function a3(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(a){return+a})}function n3(e){for(var t=[];NQ(e);)t.push(e),e=e.parentNode;return t}function NQ(e){return e&&(e instanceof Element||e instanceof HTMLElement)}function FQ(e,t){return e&&t&&e.x===t.x&&e.y===t.y&&e.top===t.top&&e.left===t.left&&e.right===t.right&&e.bottom===t.bottom}i3.exports={getGraphDiv:RQ,isPlotDiv:PQ,removeElement:t3,addStyleRule:IQ,addRelatedStyleRule:r3,deleteRelatedStyleRule:EQ,getFullTransformMatrix:zQ,getElementTransformMatrix:a3,getElementAndAncestors:n3,equalDomRects:FQ}});var Au=E((Ege,o3)=>{"use strict";o3.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 Bs=E(jm=>{"use strict";jm.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(" ")};jm.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 l3=E((Nge,s3)=>{"use strict";var jQ=Bs().dash,OQ=fa().extendFlat;s3.exports={newshape:{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:0,dflt:4,editType:"none",description:"Sets the line width (in px)."},dash:OQ({},jQ,{dflt:"solid",editType:"none"}),editType:"none"},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"none",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",editType:"none",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,editType:"none",description:"Sets the opacity of new shapes."},layer:{valType:"enumerated",values:["below","above"],dflt:"above",editType:"none",description:"Specifies whether new shapes are drawn below or above traces."},drawdirection:{valType:"enumerated",values:["ortho","horizontal","vertical","diagonal"],dflt:"diagonal",editType:"none",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(" ")},editType:"none"},activeshape:{fillcolor:{valType:"color",dflt:"rgb(255,0,255)",editType:"none",description:"Sets the color filling the active shape' interior."},opacity:{valType:"number",min:0,max:1,dflt:.5,editType:"none",description:"Sets the opacity of the active shape."},editType:"none"}}});var gd=E((Fge,u3)=>{"use strict";u3.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 Us=E((jge,d3)=>{"use strict";var Om=_a(),HQ=Au(),yd=hi(),f3=l3(),BQ=gd(),c3=fa().extendFlat,bd=Om({editType:"calc",description:["Sets the global font.","Note that fonts used in traces and other","layout components inherit from the global font."].join(" ")});bd.family.dflt='"Open Sans", verdana, arial, sans-serif';bd.size.dflt=12;bd.color.dflt=yd.defaultLine;d3.exports={font:bd,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:Om({editType:"layoutstyle",description:["Sets the title font.","Note that the title's font used to be customized","by the now deprecated `titlefont` attribute."].join(" ")}),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:c3(BQ({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(" ")}),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(" ")},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:yd.background,editType:"plot",description:"Sets the background color of the paper where the graph is drawn."},plot_bgcolor:{valType:"color",dflt:yd.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:yd.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:f3.newshape,activeshape:f3.activeshape,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:c3({},HQ.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:Om({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 ht=E(_t=>{"use strict";var Gs=Lo(),h3=vd(),v3=Em(),UQ=zs(),GQ=md().addStyleRule,p3=fa(),WQ=Oi(),VQ=Us(),YQ=p3.extendFlat,xd=p3.extendDeepAll;_t.modules={};_t.allCategories={};_t.allTypes=[];_t.subplotsRegistry={};_t.transformsRegistry={};_t.componentsRegistry={};_t.layoutArrayContainers=[];_t.layoutArrayRegexes=[];_t.traceLayoutAttributes={};_t.localeRegistry={};_t.apiMethodRegistry={};_t.collectableSubplotTypes=null;_t.register=function(t){if(_t.collectableSubplotTypes=null,t)t&&!Array.isArray(t)&&(t=[t]);else throw new Error("No argument passed to Plotly.register.");for(var r=0;r{"use strict";var JQ=Is().timeFormat,_3=zt(),Hm=Lo(),Hi=Ns().mod,Ws=yr(),rn=Ws.BADNUM,za=Ws.ONEDAY,ku=Ws.ONEHOUR,Bi=Ws.ONEMIN,Vs=Ws.ONESEC,Mu=Ws.EPOCHJD,vi=ht(),w3=Is().utcFormat,eK=/^\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,tK=/^\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,T3=new Date().getFullYear()-70;function pi(e){return e&&vi.componentsRegistry.calendars&&typeof e=="string"&&e!=="gregorian"}xr.dateTick0=function(e,t){var r=rK(e,!!t);if(t<2)return r;var a=xr.dateTime2ms(r,e);return a+=za*(t-1),xr.ms2DateTime(a,0,e)};function rK(e,t){return pi(e)?t?vi.getComponentMethod("calendars","CANONICAL_SUNDAY")[e]:vi.getComponentMethod("calendars","CANONICAL_TICK")[e]:t?"2000-01-02":"2000-01-01"}xr.dfltRange=function(e){return pi(e)?vi.getComponentMethod("calendars","DFLTRANGE")[e]:["2000-01-01","2001-01-01"]};xr.isJSDate=function(e){return typeof e=="object"&&e!==null&&typeof e.getTime=="function"};var _d,wd;xr.dateTime2ms=function(e,t){if(xr.isJSDate(e)){var r=e.getTimezoneOffset()*Bi,a=(e.getUTCMinutes()-e.getMinutes())*Bi+(e.getUTCSeconds()-e.getSeconds())*Vs+(e.getUTCMilliseconds()-e.getMilliseconds());if(a){var n=3*Bi;r=r-n/2+Hi(a-r+n/2,n)}return e=Number(e)-r,e>=_d&&e<=wd?e:rn}if(typeof e!="string"&&typeof e!="number")return rn;e=String(e);var i=pi(t),o=e.charAt(0);i&&(o==="G"||o==="g")&&(e=e.substr(1),t="");var s=i&&t.substr(0,7)==="chinese",l=e.match(s?tK:eK);if(!l)return rn;var u=l[1],c=l[3]||"1",d=Number(l[5]||1),h=Number(l[7]||0),p=Number(l[9]||0),g=Number(l[11]||0);if(i){if(u.length===2)return rn;u=Number(u);var m;try{var b=vi.getComponentMethod("calendars","getCal")(t);if(s){var _=c.charAt(c.length-1)==="i";c=parseInt(c,10),m=b.newDate(u,b.toMonthIndex(u,c,_),d)}else m=b.newDate(u,Number(c),d)}catch(A){return rn}return m?(m.toJD()-Mu)*za+h*ku+p*Bi+g*Vs:rn}u.length===2?u=(Number(u)+2e3-T3)%100+T3:u=Number(u),c-=1;var x=new Date(Date.UTC(2e3,c,d,h,p));return x.setUTCFullYear(u),x.getUTCMonth()!==c||x.getUTCDate()!==d?rn:x.getTime()+g*Vs};_d=xr.MIN_MS=xr.dateTime2ms("-9999");wd=xr.MAX_MS=xr.dateTime2ms("9999-12-31 23:59:59.9999");xr.isDateTime=function(e,t){return xr.dateTime2ms(e,t)!==rn};function Ys(e,t){return String(e+Math.pow(10,t)).substr(1)}var Td=90*za,A3=3*ku,k3=5*Bi;xr.ms2DateTime=function(e,t,r){if(typeof e!="number"||!(e>=_d&&e<=wd))return rn;t||(t=0);var a=Math.floor(Hi(e+.05,1)*10),n=Math.round(e-a/10),i,o,s,l,u,c;if(pi(r)){var d=Math.floor(n/za)+Mu,h=Math.floor(Hi(e,za));try{i=vi.getComponentMethod("calendars","getCal")(r).fromJD(d).formatDate("yyyy-mm-dd")}catch(p){i=w3("G%Y-%m-%d")(new Date(n))}if(i.charAt(0)==="-")for(;i.length<11;)i="-0"+i.substr(1);else for(;i.length<10;)i="0"+i;o=t=_d+za&&e<=wd-za))return rn;var t=Math.floor(Hi(e+.05,1)*10),r=new Date(Math.round(e-t/10)),a=JQ("%Y-%m-%d")(r),n=r.getHours(),i=r.getMinutes(),o=r.getSeconds(),s=r.getUTCMilliseconds()*10+t;return M3(a,n,i,o,s)};function M3(e,t,r,a,n){if((t||r||a||n)&&(e+=" "+Ys(t,2)+":"+Ys(r,2),(a||n)&&(e+=":"+Ys(a,2),n))){for(var i=4;n%10==0;)i-=1,n/=10;e+="."+Ys(n,i)}return e}xr.cleanDate=function(e,t,r){if(e===rn)return t;if(xr.isJSDate(e)||typeof e=="number"&&isFinite(e)){if(pi(r))return Hm.error("JS Dates and milliseconds are incompatible with world calendars",e),t;if(e=xr.ms2DateTimeLocal(+e),!e&&t!==void 0)return t}else if(!xr.isDateTime(e,r))return Hm.error("unrecognized date",e),t;return e};var aK=/%\d?f/g,nK=/%h/g,iK={"1":"1","2":"1","3":"2","4":"2"};function S3(e,t,r,a){e=e.replace(aK,function(i){var o=Math.min(+i.charAt(1)||6,6),s=(t/1e3%1+2).toFixed(o).substr(2).replace(/0+$/,"")||"0";return s});var n=new Date(Math.floor(t+.05));if(e=e.replace(nK,function(){return iK[r("%q")(n)]}),pi(a))try{e=vi.getComponentMethod("calendars","worldCalFmt")(e,t,a)}catch(i){return"Invalid"}return r(e)(n)}var oK=[59,59.9,59.99,59.999,59.9999];function sK(e,t){var r=Hi(e+.05,za),a=Ys(Math.floor(r/ku),2)+":"+Ys(Hi(Math.floor(r/Bi),60),2);if(t!=="M"){_3(t)||(t=0);var n=Math.min(Hi(e/Vs,60),oK[t]),i=(100+n).toFixed(t).substr(1);t>0&&(i=i.replace(/0+$/,"").replace(/[\.]$/,"")),a+=":"+i}return a}xr.formatDate=function(e,t,r,a,n,i){if(n=pi(n)&&n,!t)if(r==="y")t=i.year;else if(r==="m")t=i.month;else if(r==="d")t=i.dayMonth+` `+i.year;else return sK(e,r)+` `+S3(i.dayMonthYear,e,a,n);return S3(t,e,a,n)};var C3=3*za;xr.incrementMonth=function(e,t,r){r=pi(r)&&r;var a=Hi(e,za);if(e=Math.round(e-a),r)try{var n=Math.round(e/za)+Mu,i=vi.getComponentMethod("calendars","getCal")(r),o=i.fromJD(n);return t%12?i.add(o,t,"m"):i.add(o,t/12,"y"),(o.toJD()-Mu)*za+a}catch(l){Hm.error("invalid ms "+e+" in calendar "+r)}var s=new Date(e+C3);return s.setUTCMonth(s.getUTCMonth()+t)+a-C3};xr.findExactDates=function(e,t){for(var r=0,a=0,n=0,i=0,o,s,l=pi(t)&&vi.getComponentMethod("calendars","getCal")(t),u=0;u{"use strict";L3.exports=function(t){return t}});var Gm=E(mi=>{"use strict";var lK=zt(),uK=Lo(),fK=Bm(),cK=yr().BADNUM,Um=1e-9;mi.findBin=function(e,t,r){if(lK(t.start))return r?Math.ceil((e-t.start)/t.size-Um)-1:Math.floor((e-t.start)/t.size+Um);var a=0,n=t.length,i=0,o=n>1?(t[n-1]-t[0])/(n-1):1,s,l;for(o>=0?l=r?dK:hK:l=r?pK:vK,e+=o*Um*(r?-1:1)*(o>=0?1:-1);a90&&uK.log("Long binary search..."),a-1};function dK(e,t){return et}function pK(e,t){return e>=t}mi.sorterAsc=function(e,t){return e-t};mi.sorterDes=function(e,t){return t-e};mi.distinctVals=function(e){var t=e.slice();t.sort(mi.sorterAsc);var r;for(r=t.length-1;r>-1&&t[r]===cK;r--);for(var a=t[r]-t[0]||1,n=a/(r||1)/1e4,i=[],o,s=0;s<=r;s++){var l=t[s],u=l-o;o===void 0?(i.push(l),o=l):u>n&&(a=Math.min(a,u),i.push(l),o=l)}return{vals:i,minDiff:a}};mi.roundUp=function(e,t,r){for(var a=0,n=t.length-1,i,o=0,s=r?0:1,l=r?1:0,u=r?Math.ceil:Math.floor;a0&&(a=1),r&&a)return e.sort(t)}return a?e:e.reverse()};mi.findIndexOfMin=function(e,t){t=t||fK;for(var r=1/0,a,n=0;n{"use strict";D3.exports=function(t){return Object.keys(t).sort()}});var R3=E(Ir=>{"use strict";var Su=zt(),mK=ko().isArrayOrTypedArray;Ir.aggNums=function(e,t,r,a){var n,i;if((!a||a>r.length)&&(a=r.length),Su(t)||(t=!1),mK(r[0])){for(i=new Array(a),n=0;ne.length-1)return e[e.length-1];var r=t%1;return r*e[Math.ceil(t)]+(1-r)*e[Math.floor(t)]}});var N3=E((Vge,z3)=>{"use strict";var P3=Ns(),Vm=P3.mod,gK=P3.modHalf,Cu=Math.PI,Ui=2*Cu;function yK(e){return e/180*Cu}function bK(e){return e/Cu*180}function Ym(e){return Math.abs(e[1]-e[0])>Ui-1e-14}function I3(e,t){return gK(t-e,Ui)}function xK(e,t){return Math.abs(I3(e,t))}function E3(e,t){if(Ym(t))return!0;var r,a;t[0]a&&(a+=Ui);var n=Vm(e,Ui),i=n+Ui;return n>=r&&n<=a||i>=r&&i<=a}function _K(e,t,r,a){if(!E3(t,a))return!1;var n,i;return r[0]=n&&e<=i}function Zm(e,t,r,a,n,i,o){n=n||0,i=i||0;var s=Ym([r,a]),l,u,c,d,h;s?(l=0,u=Cu,c=Ui):r{"use strict";Do.isLeftAnchor=function(t){return t.xanchor==="left"||t.xanchor==="auto"&&t.x<=1/3};Do.isCenterAnchor=function(t){return t.xanchor==="center"||t.xanchor==="auto"&&t.x>1/3&&t.x<2/3};Do.isRightAnchor=function(t){return t.xanchor==="right"||t.xanchor==="auto"&&t.x>=2/3};Do.isTopAnchor=function(t){return t.yanchor==="top"||t.yanchor==="auto"&&t.y>=2/3};Do.isMiddleAnchor=function(t){return t.yanchor==="middle"||t.yanchor==="auto"&&t.y>1/3&&t.y<2/3};Do.isBottomAnchor=function(t){return t.yanchor==="bottom"||t.yanchor==="auto"&&t.y<=1/3}});var H3=E(Ro=>{"use strict";var Xm=Ns().mod;Ro.segmentsIntersect=j3;function j3(e,t,r,a,n,i,o,s){var l=r-e,u=n-e,c=o-n,d=a-t,h=i-t,p=s-i,g=l*p-c*d;if(g===0)return null;var m=(u*p-c*h)/g,b=(u*d-l*h)/g;return b<0||b>1||m<0||m>1?null:{x:e+l*m,y:t+d*m}}Ro.segmentDistance=function(t,r,a,n,i,o,s,l){if(j3(t,r,a,n,i,o,s,l))return 0;var u=a-t,c=n-r,d=s-i,h=l-o,p=u*u+c*c,g=d*d+h*h,m=Math.min(Ad(u,c,p,i-t,o-r),Ad(u,c,p,s-t,l-r),Ad(d,h,g,t-i,r-o),Ad(d,h,g,a-i,n-o));return Math.sqrt(m)};function Ad(e,t,r,a,n){var i=a*e+n*t;if(i<0)return a*a+n*n;if(i>r){var o=a-e,s=n-t;return o*o+s*s}else{var l=a*t-n*e;return l*l/r}}var kd,Qm,O3;Ro.getTextLocation=function(t,r,a,n){if((t!==Qm||n!==O3)&&(kd={},Qm=t,O3=n),kd[a])return kd[a];var i=t.getPointAtLength(Xm(a-n/2,r)),o=t.getPointAtLength(Xm(a+n/2,r)),s=Math.atan((o.y-i.y)/(o.x-i.x)),l=t.getPointAtLength(Xm(a,r)),u=(l.x*4+i.x+o.x)/6,c=(l.y*4+i.y+o.y)/6,d={x:u,y:c,theta:s};return kd[a]=d,d};Ro.clearLocationCache=function(){Qm=null};Ro.getVisibleSegment=function(t,r,a){var n=r.left,i=r.right,o=r.top,s=r.bottom,l=0,u=t.getTotalLength(),c=u,d,h;function p(m){var b=t.getPointAtLength(m);m===0?d=b:m===u&&(h=b);var _=b.xi?b.x-i:0,x=b.ys?b.y-s:0;return Math.sqrt(_*_+x*x)}for(var g=p(l);g;){if(l+=g+a,l>c)return;g=p(l)}for(g=p(c);g;){if(c-=g+a,l>c)return;g=p(c)}return{min:l,max:c,len:c-l,total:u,isClosed:l===0&&c===u&&Math.abs(d.x-h.x)<.1&&Math.abs(d.y-h.y)<.1}};Ro.findPointOnPath=function(t,r,a,n){n=n||{};for(var i=n.pathLength||t.getTotalLength(),o=n.tolerance||.001,s=n.iterationLimit||30,l=t.getPointAtLength(0)[a]>t.getPointAtLength(i)[a]?-1:1,u=0,c=0,d=i,h,p,g;u0?d=h:c=h,u++}return p}});var Md=E(qu=>{"use strict";var gi={};qu.throttle=function(t,r,a){var n=gi[t],i=Date.now();if(!n){for(var o in gi)gi[o].tsn.ts+r){s();return}n.timer=setTimeout(function(){s(),n.timer=null},r)};qu.done=function(e){var t=gi[e];return!t||!t.timer?Promise.resolve():new Promise(function(r){var a=t.onDone;t.onDone=function(){a&&a(),r(),t.onDone=null}})};qu.clear=function(e){if(e)B3(gi[e]),delete gi[e];else for(var t in gi)qu.clear(t)};function B3(e){e&&e.timer!==null&&(clearTimeout(e.timer),e.timer=null)}});var G3=E((Qge,U3)=>{"use strict";U3.exports=function(t){t._responsiveChartHandler&&(window.removeEventListener("resize",t._responsiveChartHandler),delete t._responsiveChartHandler)}});var W3=E((Kge,Sd)=>{"use strict";Sd.exports=Km;Sd.exports.isMobile=Km;Sd.exports.default=Km;var kK=/(android|bb\d+|meego).+mobile|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|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,MK=/(android|bb\d+|meego).+mobile|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|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|android|ipad|playbook|silk/i;function Km(e){e||(e={});var t=e.ua;if(!t&&typeof navigator!="undefined"&&(t=navigator.userAgent),t&&t.headers&&typeof t.headers["user-agent"]=="string"&&(t=t.headers["user-agent"]),typeof t!="string")return!1;var r=e.tablet?MK.test(t):kK.test(t);return!r&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&t.indexOf("Macintosh")!==-1&&t.indexOf("Safari")!==-1&&(r=!0),r}});var Y3=E(($ge,V3)=>{"use strict";var SK=zt(),CK=W3();V3.exports=function(t){var r;if(t&&t.hasOwnProperty("userAgent")?r=t.userAgent:r=qK(),typeof r!="string")return!0;var a=CK({ua:{headers:{"user-agent":r}},tablet:!0,featureDetect:!1});if(!a)for(var n=r.split(" "),i=1;i-1;s--){var l=n[s];if(l.substr(0,8)==="Version/"){var u=l.substr(8).split(".")[0];if(SK(u)&&(u=+u),u>=13)return!0}}}return a};function qK(){var e;return typeof navigator!="undefined"&&(e=navigator.userAgent),e&&e.headers&&typeof e.headers["user-agent"]=="string"&&(e=e.headers["user-agent"]),e}});var X3=E((Jge,Z3)=>{"use strict";var LK=Et();Z3.exports=function(t,r,a){var n=t.selectAll("g."+a.replace(/\s/g,".")).data(r,function(o){return o[0].trace.uid});n.exit().remove(),n.enter().append("g").attr("class",a),n.order();var i=t.classed("rangeplot")?"nodeRangePlot3":"node3";return n.each(function(o){o[0][i]=LK.select(this)}),n}});var K3=E((eye,Q3)=>{"use strict";var DK=ht();Q3.exports=function(t,r){for(var a=t._context.locale,n=0;n<2;n++){for(var i=t._context.locales,o=0;o<2;o++){var s=(i[a]||{}).dictionary;if(s){var l=s[r];if(l)return l}i=DK.localeRegistry}var u=a.split("-")[0];if(u===a)break;a=u}return r}});var J3=E((tye,$3)=>{"use strict";$3.exports=function(t){for(var r={},a=[],n=0,i=0;i{"use strict";eC.exports=function(t){for(var r=IK(t)?PK:RK,a=[],n=0;n{"use strict";rC.exports=function(t,r){if(!r)return t;var a=1/Math.abs(r),n=a>1?(a*t+a*r)/a:t+r,i=String(n).length;if(i>16){var o=String(r).length,s=String(t).length;if(i>=s+o){var l=parseFloat(n).toPrecision(12);l.indexOf("e+")===-1&&(n=+l)}}return n}});var iC=E((nye,nC)=>{"use strict";var EK=zt(),zK=yr().BADNUM,NK=/^['"%,$#\s']+|[, ]|['"%,$#\s']+$/g;nC.exports=function(t){return typeof t=="string"&&(t=t.replace(NK,"")),EK(t)?Number(t):zK}});var De=E((iye,yC)=>{"use strict";var Lu=Et(),FK=Is().utcFormat,jK=Tm().format,oC=zt(),sC=yr(),lC=sC.FP_SAFE,OK=-lC,uC=sC.BADNUM,se=yC.exports={};se.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 fC={};se.warnBadFormat=function(e){var t=String(e);fC[t]||(fC[t]=1,se.warn('encountered bad format: "'+t+'"'))};se.noFormat=function(e){return String(e)};se.numberFormat=function(e){var t;try{t=jK(se.adjustFormat(e))}catch(r){return se.warnBadFormat(e),se.noFormat}return t};se.nestedProperty=rd();se.keyedContainer=gM();se.relativeAttr=bM();se.isPlainObject=zs();se.toLogRange=nd();se.relinkPrivateKeys=AM();var Po=ko();se.isTypedArray=Po.isTypedArray;se.isArrayOrTypedArray=Po.isArrayOrTypedArray;se.isArray1D=Po.isArray1D;se.ensureArray=Po.ensureArray;se.concat=Po.concat;se.maxRowLength=Po.maxRowLength;se.minRowLength=Po.minRowLength;var cC=Ns();se.mod=cC.mod;se.modHalf=cC.modHalf;var Gi=UM();se.valObjectMeta=Gi.valObjectMeta;se.coerce=Gi.coerce;se.coerce2=Gi.coerce2;se.coerceFont=Gi.coerceFont;se.coercePattern=Gi.coercePattern;se.coerceHoverinfo=Gi.coerceHoverinfo;se.coerceSelectionMarkerOpacity=Gi.coerceSelectionMarkerOpacity;se.validate=Gi.validate;var Ga=q3();se.dateTime2ms=Ga.dateTime2ms;se.isDateTime=Ga.isDateTime;se.ms2DateTime=Ga.ms2DateTime;se.ms2DateTimeLocal=Ga.ms2DateTimeLocal;se.cleanDate=Ga.cleanDate;se.isJSDate=Ga.isJSDate;se.formatDate=Ga.formatDate;se.incrementMonth=Ga.incrementMonth;se.dateTick0=Ga.dateTick0;se.dfltRange=Ga.dfltRange;se.findExactDates=Ga.findExactDates;se.MIN_MS=Ga.MIN_MS;se.MAX_MS=Ga.MAX_MS;var Io=Gm();se.findBin=Io.findBin;se.sorterAsc=Io.sorterAsc;se.sorterDes=Io.sorterDes;se.distinctVals=Io.distinctVals;se.roundUp=Io.roundUp;se.sort=Io.sort;se.findIndexOfMin=Io.findIndexOfMin;se.sortObjectKeys=Wm();var Wi=R3();se.aggNums=Wi.aggNums;se.len=Wi.len;se.mean=Wi.mean;se.median=Wi.median;se.midRange=Wi.midRange;se.variance=Wi.variance;se.stdev=Wi.stdev;se.interp=Wi.interp;var Mn=pd();se.init2dArray=Mn.init2dArray;se.transposeRagged=Mn.transposeRagged;se.dot=Mn.dot;se.translationMatrix=Mn.translationMatrix;se.rotationMatrix=Mn.rotationMatrix;se.rotationXYMatrix=Mn.rotationXYMatrix;se.apply3DTransform=Mn.apply3DTransform;se.apply2DTransform=Mn.apply2DTransform;se.apply2DTransform2=Mn.apply2DTransform2;se.convertCssMatrix=Mn.convertCssMatrix;se.inverseTransformMatrix=Mn.inverseTransformMatrix;var Yn=N3();se.deg2rad=Yn.deg2rad;se.rad2deg=Yn.rad2deg;se.angleDelta=Yn.angleDelta;se.angleDist=Yn.angleDist;se.isFullCircle=Yn.isFullCircle;se.isAngleInsideSector=Yn.isAngleInsideSector;se.isPtInsideSector=Yn.isPtInsideSector;se.pathArc=Yn.pathArc;se.pathSector=Yn.pathSector;se.pathAnnulus=Yn.pathAnnulus;var Zs=F3();se.isLeftAnchor=Zs.isLeftAnchor;se.isCenterAnchor=Zs.isCenterAnchor;se.isRightAnchor=Zs.isRightAnchor;se.isTopAnchor=Zs.isTopAnchor;se.isMiddleAnchor=Zs.isMiddleAnchor;se.isBottomAnchor=Zs.isBottomAnchor;var Xs=H3();se.segmentsIntersect=Xs.segmentsIntersect;se.segmentDistance=Xs.segmentDistance;se.getTextLocation=Xs.getTextLocation;se.clearLocationCache=Xs.clearLocationCache;se.getVisibleSegment=Xs.getVisibleSegment;se.findPointOnPath=Xs.findPointOnPath;var Cd=fa();se.extendFlat=Cd.extendFlat;se.extendDeep=Cd.extendDeep;se.extendDeepAll=Cd.extendDeepAll;se.extendDeepNoArrays=Cd.extendDeepNoArrays;var $m=Lo();se.log=$m.log;se.warn=$m.warn;se.error=$m.error;var HK=js();se.counterRegex=HK.counter;var Jm=Md();se.throttle=Jm.throttle;se.throttleDone=Jm.done;se.clearThrottle=Jm.clear;var Zn=md();se.getGraphDiv=Zn.getGraphDiv;se.isPlotDiv=Zn.isPlotDiv;se.removeElement=Zn.removeElement;se.addStyleRule=Zn.addStyleRule;se.addRelatedStyleRule=Zn.addRelatedStyleRule;se.deleteRelatedStyleRule=Zn.deleteRelatedStyleRule;se.getFullTransformMatrix=Zn.getFullTransformMatrix;se.getElementTransformMatrix=Zn.getElementTransformMatrix;se.getElementAndAncestors=Zn.getElementAndAncestors;se.equalDomRects=Zn.equalDomRects;se.clearResponsive=G3();se.preserveDrawingBuffer=Y3();se.makeTraceGroups=X3();se._=K3();se.notifier=Rm();se.filterUnique=J3();se.filterVisible=tC();se.pushUnique=Em();se.increment=aC();se.cleanNumber=iC();se.ensureNumber=function(t){return oC(t)?(t=Number(t),t>lC||t=t?!1:oC(e)&&e>=0&&e%1==0};se.noop=vd();se.identity=Bm();se.repeat=function(e,t){for(var r=new Array(t),a=0;ar?Math.max(r,Math.min(t,e)):Math.max(t,Math.min(r,e))};se.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};se.simpleMap=function(e,t,r,a,n){for(var i=e.length,o=new Array(i),s=0;s=Math.pow(2,r)?n>10?(se.warn("randstr failed uniqueness"),o):e(t,r,a,(n||0)+1):o};se.OptionControl=function(e,t){e||(e={}),t||(t="opt");var r={};return r.optionList=[],r._newoption=function(a){a[t]=e,r[a.name]=a,r.optionList.push(a)},r["_"+t]=e,r};se.smooth=function(e,t){if(t=Math.round(t)||0,t<2)return e;var r=e.length,a=2*r,n=2*t-1,i=new Array(n),o=new Array(r),s,l,u,c;for(s=0;s=a&&(u-=a*Math.floor(u/a)),u<0?u=-1-u:u>=r&&(u=a-1-u),c+=e[u]*i[l];o[s]=c}return o};se.syncOrAsync=function(e,t,r){var a,n;function i(){return se.syncOrAsync(e,t,r)}for(;e.length;)if(n=e.splice(0,1)[0],a=n(t),a&&a.then)return a.then(i);return r&&r(t)};se.stripTrailingSlash=function(e){return e.substr(-1)==="/"?e.substr(0,e.length-1):e};se.noneOrAll=function(e,t,r){if(!!e){var a=!1,n=!0,i,o;for(i=0;i0?n:0})};se.fillArray=function(e,t,r,a){if(a=a||se.identity,se.isArrayOrTypedArray(e))for(var n=0;n1?n+o[1]:"";if(i&&(o.length>1||s.length>4||r))for(;a.test(s);)s=s.replace(a,"$1"+i+"$2");return s+l};se.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var hC=/^\w*$/;se.templateString=function(e,t){var r={};return e.replace(se.TEMPLATE_STRING_REGEX,function(a,n){var i;return hC.test(n)?i=t[n]:(r[n]=r[n]||se.nestedProperty(t,n).get,i=r[n]()),se.isValidTextValue(i)?i:""})};var YK={max:10,count:0,name:"hovertemplate"};se.hovertemplateString=function(){return pC.apply(YK,arguments)};var ZK={max:10,count:0,name:"texttemplate"};se.texttemplateString=function(){return pC.apply(ZK,arguments)};var vC=/^[:|\|]/;function pC(e,t,r){var a=this,n=arguments;t||(t={});var i={};return e.replace(se.TEMPLATE_STRING_REGEX,function(o,s,l){var u=s==="xother"||s==="yother",c=s==="_xother"||s==="_yother",d=s==="_xother_"||s==="_yother_",h=s==="xother_"||s==="yother_",p=u||c||h||d,g=s;(c||d)&&(g=g.substring(1)),(h||d)&&(g=g.substring(0,g.length-1));var m;if(p){if(m=t[g],m===void 0)return""}else{var b,_;for(_=3;_=qd&&o<=mC,u=s>=qd&&s<=mC;if(l&&(a=10*a+o-qd),u&&(n=10*n+s-qd),!l||!u){if(a!==n)return a-n;if(o!==s)return o-s}}return n-a};var Qs=2e9;se.seedPseudoRandom=function(){Qs=2e9};se.pseudoRandom=function(){var e=Qs;return Qs=(69069*Qs+1)%4294967296,Math.abs(Qs-e)<429496729?se.pseudoRandom():Qs/4294967296};se.fillText=function(e,t,r){var a=Array.isArray(r)?function(o){r.push(o)}:function(o){r.text=o},n=se.extractOption(e,t,"htx","hovertext");if(se.isValidTextValue(n))return a(n);var i=se.extractOption(e,t,"tx","text");if(se.isValidTextValue(i))return a(i)};se.isValidTextValue=function(e){return e||e===0};se.formatPercent=function(e,t){t=t||0;for(var r=(Math.round(100*e*Math.pow(10,t))*Math.pow(.1,t)).toFixed(t)+"%",a=0;a1&&(u=1):u=0,se.strTranslate(n-u*(r+o),i-u*(a+s))+se.strScale(u)+(l?"rotate("+l+(t?"":" "+r+" "+a)+")":"")};se.ensureUniformFontSize=function(e,t){var r=se.extendFlat({},t);return r.size=Math.max(t.size,e._fullLayout.uniformtext.minsize||0),r};se.join2=function(e,t,r){var a=e.length;return a>1?e.slice(0,-1).join(t)+r+e[a-1]:e.join(t)};se.bigFont=function(e){return Math.round(1.2*e)};var gC=se.getFirefoxVersion(),XK=gC!==null&&gC<86;se.getPositionFromD3Event=function(){return XK?[Lu.event.layerX,Lu.event.layerY]:[Lu.event.offsetX,Lu.event.offsetY]}});var _C=E(()=>{"use strict";var QK=De(),bC={"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:transparent;border:6px solid transparent;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 transparent;border-left-color:#69738a;margin-top:8px;margin-right:-30px;","X .select-outline":"fill:none;stroke-width:1;shape-rendering:crispEdges;","X .select-outline-1":"stroke:#fff;","X .select-outline-2":"stroke:#000;stroke-dasharray:2px 2px;",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(eg in bC)xC=eg.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier"),QK.addStyleRule(xC,bC[eg]);var xC,eg});var tg=E((lye,wC)=>{wC.exports=!0});var ag=E((uye,TC)=>{"use strict";var KK=tg(),rg;typeof global.matchMedia=="function"?rg=!global.matchMedia("(hover: none)").matches:rg=KK;TC.exports=rg});var Rd=E((fye,ng)=>{"use strict";var Ks=typeof Reflect=="object"?Reflect:null,AC=Ks&&typeof Ks.apply=="function"?Ks.apply:function(t,r,a){return Function.prototype.apply.call(t,r,a)},Ld;Ks&&typeof Ks.ownKeys=="function"?Ld=Ks.ownKeys:Object.getOwnPropertySymbols?Ld=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Ld=function(t){return Object.getOwnPropertyNames(t)};function $K(e){console&&console.warn&&console.warn(e)}var kC=Number.isNaN||function(t){return t!==t};function Jt(){Jt.init.call(this)}ng.exports=Jt;ng.exports.once=r$;Jt.EventEmitter=Jt;Jt.prototype._events=void 0;Jt.prototype._eventsCount=0;Jt.prototype._maxListeners=void 0;var MC=10;function Dd(e){if(typeof e!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}Object.defineProperty(Jt,"defaultMaxListeners",{enumerable:!0,get:function(){return MC},set:function(e){if(typeof e!="number"||e<0||kC(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");MC=e}});Jt.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};Jt.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||kC(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 SC(e){return e._maxListeners===void 0?Jt.defaultMaxListeners:e._maxListeners}Jt.prototype.getMaxListeners=function(){return SC(this)};Jt.prototype.emit=function(t){for(var r=[],a=1;a0&&(o=r[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var l=i[t];if(l===void 0)return!1;if(typeof l=="function")AC(l,this,r);else for(var u=l.length,c=RC(l,u),a=0;a0&&o.length>n&&!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,$K(s)}return e}Jt.prototype.addListener=function(t,r){return CC(this,t,r,!1)};Jt.prototype.on=Jt.prototype.addListener;Jt.prototype.prependListener=function(t,r){return CC(this,t,r,!0)};function JK(){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 qC(e,t,r){var a={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},n=JK.bind(a);return n.listener=r,a.wrapFn=n,n}Jt.prototype.once=function(t,r){return Dd(r),this.on(t,qC(this,t,r)),this};Jt.prototype.prependOnceListener=function(t,r){return Dd(r),this.prependListener(t,qC(this,t,r)),this};Jt.prototype.removeListener=function(t,r){var a,n,i,o,s;if(Dd(r),n=this._events,n===void 0)return this;if(a=n[t],a===void 0)return this;if(a===r||a.listener===r)--this._eventsCount==0?this._events=Object.create(null):(delete n[t],n.removeListener&&this.emit("removeListener",t,a.listener||r));else if(typeof a!="function"){for(i=-1,o=a.length-1;o>=0;o--)if(a[o]===r||a[o].listener===r){s=a[o].listener,i=o;break}if(i<0)return this;i===0?a.shift():e$(a,i),a.length===1&&(n[t]=a[0]),n.removeListener!==void 0&&this.emit("removeListener",t,s||r)}return this};Jt.prototype.off=Jt.prototype.removeListener;Jt.prototype.removeAllListeners=function(t){var r,a,n;if(a=this._events,a===void 0)return this;if(a.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):a[t]!==void 0&&(--this._eventsCount==0?this._events=Object.create(null):delete a[t]),this;if(arguments.length===0){var i=Object.keys(a),o;for(n=0;n=0;n--)this.removeListener(t,r[n]);return this};function LC(e,t,r){var a=e._events;if(a===void 0)return[];var n=a[t];return n===void 0?[]:typeof n=="function"?r?[n.listener||n]:[n]:r?t$(n):RC(n,n.length)}Jt.prototype.listeners=function(t){return LC(this,t,!0)};Jt.prototype.rawListeners=function(t){return LC(this,t,!1)};Jt.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):DC.call(e,t)};Jt.prototype.listenerCount=DC;function DC(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}Jt.prototype.eventNames=function(){return this._eventsCount>0?Ld(this._events):[]};function RC(e,t){for(var r=new Array(t),a=0;a{"use strict";var ig=Rd().EventEmitter,n$={init:function(e){if(e._ev instanceof ig)return e;var t=new ig,r=new ig;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(a,n){typeof jQuery!="undefined"&&jQuery(e).trigger(a,n),t.emit(a,n),r.emit(a,n)},e},triggerHandler:function(e,t,r){var a,n;typeof jQuery!="undefined"&&(a=jQuery(e).triggerHandler(t,r));var i=e._ev;if(!i)return a;var o=i._events[t];if(!o)return a;function s(u){if(u.listener){if(i.removeListener(t,u.listener),!u.fired)return u.fired=!0,u.listener.apply(i,[r])}else return u.apply(i,[r])}o=Array.isArray(o)?o:[o];var l;for(l=0;l{"use strict";var EC=De(),i$=qo().dfltConfig;function o$(e,t){for(var r=[],a,n=0;ni$.queueLength&&(e.undoQueue.queue.shift(),e.undoQueue.index--)};yi.startSequence=function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!0,e.undoQueue.beginSequence=!0};yi.stopSequence=function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!1,e.undoQueue.beginSequence=!1};yi.undo=function(t){var r,a;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,a=0;a=t.undoQueue.queue.length)){for(r=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,a=0;a{"use strict";FC.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 Vi=E((vye,VC)=>{"use strict";var jC=De(),OC=jC.extendFlat,s$=jC.isPlainObject,HC={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(" ")},BC={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(" ")},l$=HC.flags.slice().concat(["fullReplot"]),u$=BC.flags.slice().concat("layoutReplot");VC.exports={traces:HC,layout:BC,traceFlags:function(){return UC(l$)},layoutFlags:function(){return UC(u$)},update:function(e,t){var r=t.editType;if(r&&r!=="none")for(var a=r.split("+"),n=0;n{"use strict";var $r=ht(),Ru=De(),Pu=Oi(),sg=Us(),f$=og(),c$=Au(),d$=qo().configAttributes,YC=Vi(),an=Ru.extendDeepAll,$s=Ru.isPlainObject,h$=Ru.isArrayOrTypedArray,Pd=Ru.nestedProperty,v$=Ru.valObjectMeta,lg="_isSubplotObj",Id="_isLinkedToArray",p$="_arrayAttrRegexps",ZC="_deprecated",ug=[lg,Id,p$,ZC];Tr.IS_SUBPLOT_OBJ=lg;Tr.IS_LINKED_TO_ARRAY=Id;Tr.DEPRECATED=ZC;Tr.UNDERSCORE_ATTRS=ug;Tr.get=function(){var e={};$r.allTypes.forEach(function(r){e[r]=g$(r)});var t={};return Object.keys($r.transformsRegistry).forEach(function(r){t[r]=b$(r)}),{defs:{valObjects:v$,metaKeys:ug.concat(["description","role","editType","impliedEdits"]),editType:{traces:YC.traces,layout:YC.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:y$(),transforms:t,frames:x$(),animation:Eo(c$),config:Eo(d$)}};Tr.crawl=function(e,t,r,a){var n=r||0;a=a||"",Object.keys(e).forEach(function(i){var o=e[i];if(ug.indexOf(i)===-1){var s=(a?a+".":"")+i;t(o,i,e,n,s),!Tr.isValObject(o)&&$s(o)&&i!=="impliedEdits"&&Tr.crawl(o,t,n+1,s)}})};Tr.isValObject=function(e){return e&&e.valType!==void 0};Tr.findArrayAttributes=function(e){var t=[],r=[],a=[],n,i;function o(h,p,g,m){r=r.slice(0,m).concat([p]),a=a.slice(0,m).concat([h&&h._isLinkedToArray]);var b=h&&(h.valType==="data_array"||h.arrayOk===!0)&&!(r[m-1]==="colorbar"&&(p==="ticktext"||p==="tickvals"));!b||s(n,0,"")}function s(h,p,g){var m=h[r[p]],b=g+r[p];if(p===r.length-1)h$(m)&&t.push(i+b);else if(a[p]){if(Array.isArray(m))for(var _=0;_=o.length)return!1;n=($r.transformsRegistry[o[s].type]||{}).attributes,i=n&&n[t[2]],a=3}else{var l=e._module;if(l||(l=($r.modules[e.type||Pu.type.dflt]||{})._module),!l)return!1;if(n=l.attributes,i=n&&n[r],!i){var u=l.basePlotModule;u&&u.attributes&&(i=u.attributes[r])}i||(i=Pu[r])}return XC(i,t,a)};Tr.getLayoutValObject=function(e,t){var r=m$(e,t[0]);return XC(r,t,1)};function m$(e,t){var r,a,n,i,o=e._basePlotModules;if(o){var s;for(r=0;r=i.length)return!1;if(e.dimensions===2){if(r++,t.length===r)return e;var o=t[r];if(!Iu(o))return!1;e=i[n][o]}else e=i[n]}else e=i}}return e}function Iu(e){return e===Math.round(e)&&e>=0}function g$(e){var t,r;t=$r.modules[e]._module,r=t.basePlotModule;var a={};a.type=null;var n=an({},Pu),i=an({},t.attributes);Tr.crawl(i,function(l,u,c,d,h){Pd(n,h).set(void 0),l===void 0&&Pd(i,h).set(void 0)}),an(a,n),$r.traceIs(e,"noOpacity")&&delete a.opacity,$r.traceIs(e,"showLegend")||(delete a.showlegend,delete a.legendgroup),$r.traceIs(e,"noHover")&&(delete a.hoverinfo,delete a.hoverlabel),t.selectPoints||delete a.selectedpoints,an(a,i),r.attributes&&an(a,r.attributes),a.type=e;var o={meta:t.meta||{},categories:t.categories||{},animatable:Boolean(t.animatable),type:e,attributes:Eo(a)};if(t.layoutAttributes){var s={};an(s,t.layoutAttributes),o.layoutAttributes=Eo(s)}return t.animatable||Tr.crawl(o,function(l){Tr.isValObject(l)&&"anim"in l&&delete l.anim}),o}function y$(){var e={},t,r;an(e,sg);for(t in $r.subplotsRegistry)if(r=$r.subplotsRegistry[t],!!r.layoutAttributes)if(Array.isArray(r.attr))for(var a=0;a{"use strict";var Js=De(),A$=Oi(),Zi="templateitemname",fg={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(" ")}};fg[Zi]={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(" ")};zo.templatedArray=function(e,t){return t._isLinkedToArray=e,t.name=fg.name,t[Zi]=fg[Zi],t};zo.traceTemplater=function(e){var t={},r,a;for(r in e)a=e[r],Array.isArray(a)&&a.length&&(t[r]=0);function n(i){r=Js.coerce(i,{},A$,"type");var o={type:r,_template:null};if(r in t){a=e[r];var s=t[r]%a.length;t[r]++,o._template=a[s]}return o}return{newTrace:n}};zo.newContainer=function(e,t,r){var a=e._template,n=a&&(a[t]||r&&a[r]);Js.isPlainObject(n)||(n=null);var i=e[t]={_template:n};return i};zo.arrayTemplater=function(e,t,r){var a=e._template,n=a&&a[JC(t)],i=a&&a[t];(!Array.isArray(i)||!i.length)&&(i=[]);var o={};function s(u){var c={name:u.name,_input:u},d=c[Zi]=u[Zi];if(!$C(d))return c._template=n,c;for(var h=0;h=a&&(r._input||{})._templateitemname;i&&(n=a);var o=t+"["+n+"]",s;function l(){s={},i&&(s[o]={},s[o][Zi]=i)}l();function u(p,g){s[p]=g}function c(p,g){i?Js.nestedProperty(s[o],p).set(g):s[o+"."+p]=g}function d(){var p=s;return l(),p}function h(p,g){p&&c(p,g);var m=d();for(var b in m)Js.nestedProperty(e,b).set(m[b])}return{modifyBase:u,modifyItem:c,getUpdateObj:d,applyUpdate:h}}});var Jr=E((gye,eq)=>{"use strict";var Eu=js().counter;eq.exports={idRegex:{x:Eu("x","( domain)?"),y:Eu("y","( domain)?")},attrRegex:Eu("[xy]axis"),xAxisMatch:Eu("xaxis"),yAxisMatch:Eu("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,MINSELECT:12,MINZOOM:20,DRAGGERSIZE:20,BENDPX:1.5,REDRAWDELAY:50,SELECTDELAY:100,SELECTID:"-select",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"}}});var Er=E(Na=>{"use strict";var k$=ht(),cg=Jr();Na.id2name=function(t){if(!(typeof t!="string"||!t.match(cg.AX_ID_PATTERN))){var r=t.split(" ")[0].substr(1);return r==="1"&&(r=""),t.charAt(0)+"axis"+r}};Na.name2id=function(t){if(!!t.match(cg.AX_NAME_PATTERN)){var r=t.substr(5);return r==="1"&&(r=""),t.charAt(0)+r}};Na.cleanId=function(t,r,a){var n=/( domain)$/.test(t);if(!(typeof t!="string"||!t.match(cg.AX_ID_PATTERN))&&!(r&&t.charAt(0)!==r)&&!(n&&!a)){var i=t.split(" ")[0].substr(1).replace(/^0+/,"");return i==="1"&&(i=""),t.charAt(0)+i+(n&&a?" domain":"")}};Na.list=function(e,t,r){var a=e._fullLayout;if(!a)return[];var n=Na.listIds(e,t),i=new Array(n.length),o;for(o=0;oa?1:-1:+(e.substr(1)||1)-+(t.substr(1)||1)};Na.ref2id=function(e){return/^[xyz]/.test(e)?e.split(" ")[0]:!1};function tq(e,t){if(t&&t.length){for(var r=0;r{"use strict";function M$(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(".outline-controllers").remove()}function S$(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(".select-outline").remove(),e._fullLayout._drawing=!1}rq.exports={clearOutlineControllers:M$,clearSelect:S$}});var dg=E(Ed=>{"use strict";var zu=ht(),C$=Jr().SUBPLOT_PATTERN;Ed.getSubplotCalcData=function(e,t,r){var a=zu.subplotsRegistry[t];if(!a)return[];for(var n=a.attr,i=[],o=0;o{"use strict";var q$=ht(),tl=De();No.manageCommandObserver=function(e,t,r,a){var n={},i=!0;t&&t._commandObserver&&(n=t._commandObserver),n.cache||(n.cache={}),n.lookupTable={};var o=No.hasSimpleAPICommandBindings(e,r,n.lookupTable);if(t&&t._commandObserver){if(o)return n;if(t._commandObserver.remove)return t._commandObserver.remove(),t._commandObserver=null,n}if(o){aq(e,o,n.cache),n.check=function(){if(!!i){var c=aq(e,o,n.cache);return c.changed&&a&&n.lookupTable[c.value]!==void 0&&(n.disable(),Promise.resolve(a({value:c.value,type:o.type,prop:o.prop,traces:o.traces,index:n.lookupTable[c.value]})).then(n.enable,n.enable)),c.changed}};for(var s=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],l=0;l0?".":"")+n;tl.isPlainObject(i)?hg(i,t,o,a+1):t(o,n,i)}})}});var Dr=E((wye,wq)=>{"use strict";var sq=Et(),D$=Is().timeFormatLocale,R$=Tm().formatLocale,zd=zt(),Ut=ht(),lq=Yi(),P$=sr(),et=De(),uq=It(),fq=yr().BADNUM,Wa=Er(),I$=el().clearSelect,vg=Au(),E$=og(),z$=dg().getModuleCalcData,pg=et.relinkPrivateKeys,rl=et._,Ge=wq.exports={};et.extendFlat(Ge,Ut);Ge.attributes=Oi();Ge.attributes.type.values=Ge.allTypes;Ge.fontAttrs=_a();Ge.layoutAttributes=Us();Ge.fontWeight="normal";var Nd=Ge.transformsRegistry,Fd=oq();Ge.executeAPICommand=Fd.executeAPICommand;Ge.computeAPICommandBindings=Fd.computeAPICommandBindings;Ge.manageCommandObserver=Fd.manageCommandObserver;Ge.hasSimpleAPICommandBindings=Fd.hasSimpleAPICommandBindings;Ge.redrawText=function(e){return e=et.getGraphDiv(e),new Promise(function(t){setTimeout(function(){!e._fullLayout||(Ut.getComponentMethod("annotations","draw")(e),Ut.getComponentMethod("legend","draw")(e),Ut.getComponentMethod("colorbar","draw")(e),t(Ge.previousPromises(e)))},300)})};Ge.resize=function(e){e=et.getGraphDiv(e);var t,r=new Promise(function(a,n){(!e||et.isHidden(e))&&n(new Error("Resize must be passed a displayed plot div element.")),e._redrawTimer&&clearTimeout(e._redrawTimer),e._resolveResize&&(t=e._resolveResize),e._resolveResize=a,e._redrawTimer=setTimeout(function(){if(!e.layout||e.layout.width&&e.layout.height||et.isHidden(e)){a(e);return}delete e.layout.width,delete e.layout.height;var i=e.changed;e.autoplay=!0,Ut.call("relayout",e,{autosize:!0}).then(function(){e.changed=i,e._resolveResize===a&&(delete e._resolveResize,a(e))})},100)});return t&&t(r),r};Ge.previousPromises=function(e){if((e._promises||[]).length)return Promise.all(e._promises).then(function(){e._promises=[]})};Ge.addLinks=function(e){if(!(!e._context.showLink&&!e._context.showSources)){var t=e._fullLayout,r=et.ensureSingle(t._paper,"text","js-plot-link-container",function(l){l.style({"font-family":'"Open Sans", Arial, sans-serif',"font-size":"12px",fill:uq.defaultLine,"pointer-events":"all"}).each(function(){var u=sq.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)})}),a=r.node(),n={y:t._paper.attr("height")-9};document.body.contains(a)&&a.getComputedTextLength()>=t.width-20?(n["text-anchor"]="start",n.x=5):(n["text-anchor"]="end",n.x=t._paper.attr("width")-7),r.attr(n);var i=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&&N$(e,i),o.text(i.text()&&s.text()?" - ":"")}};function N$(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(){Ge.sendDataToCloud(e)});else{var a=window.location.pathname.split("/"),n=window.location.search;r.attr({"xlink:xlink:show":"new","xlink:xlink:href":"/"+a[2].split(".")[0]+"/"+a[1]+n})}}Ge.sendDataToCloud=function(e){var t=(window.PLOTLYENV||{}).BASE_URL||e._context.plotlyServerURL;if(!!t){e.emit("plotly_beforeexport");var r=sq.select(e).append("div").attr("id","hiddenform").style("display","none"),a=r.append("form").attr({action:t+"/external",method:"post",target:"_blank"}),n=a.append("input").attr({type:"text",name:"data"});return n.node().value=Ge.graphJson(e,!1,"keepdata"),a.node().submit(),r.remove(),e.emit("plotly_afterexport"),!1}};var F$=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],j$=["year","month","dayMonth","dayMonthYear"];Ge.supplyDefaults=function(e,t){var r=t&&t.skipUpdateCalc,a=e._fullLayout||{};if(a._skipDefaults){delete a._skipDefaults;return}var n=e._fullLayout={},i=e.layout||{},o=e._fullData||[],s=e._fullData=[],l=e.data||[],u=e.calcdata||[],c=e._context||{},d;e._transitionData||Ge.createTransitionData(e),n._dfltTitle={plot:rl(e,"Click to enter Plot title"),x:rl(e,"Click to enter X axis title"),y:rl(e,"Click to enter Y axis title"),colorbar:rl(e,"Click to enter Colorscale title"),annotation:rl(e,"new text")},n._traceWord=rl(e,"trace");var h=cq(e,F$);if(n._mapboxAccessToken=c.mapboxAccessToken,a._initialAutoSizeIsDone){var p=a.width,g=a.height;Ge.supplyLayoutGlobalDefaults(i,n,h),i.width||(n.width=p),i.height||(n.height=g),Ge.sanitizeMargins(n)}else{Ge.supplyLayoutGlobalDefaults(i,n,h);var m=!i.width||!i.height,b=n.autosize,_=c.autosizable,x=m&&(b||_);x?Ge.plotAutoSize(e,i,n):m&&Ge.sanitizeMargins(n),!b&&m&&(i.width=n.width,i.height=n.height)}n._d3locale=B$(h,n.separators),n._extraFormat=cq(e,j$),n._initialAutoSizeIsDone=!0,n._dataLength=l.length,n._modules=[],n._visibleModules=[],n._basePlotModules=[];var A=n._subplots=H$(),w=n._splomAxes={x:{},y:{}},M=n._splomSubplots={};n._splomGridDflt={},n._scatterStackOpts={},n._firstScatter={},n._alignmentOpts={},n._colorAxes={},n._requestRangeslider={},n._traceUids=O$(o,l),n._globalTransforms=(e._context||{}).globalTransforms,Ge.supplyDataDefaults(l,s,i,n);var L=Object.keys(w.x),S=Object.keys(w.y);if(L.length>1&&S.length>1){for(Ut.getComponentMethod("grid","sizeDefaults")(i,n),d=0;d15&&S.length>15&&n.shapes.length===0&&n.images.length===0,Ge.linkSubplots(s,n,o,a),Ge.cleanPlot(s,n,o,a);var N=!!(a._has&&a._has("gl2d")),j=!!(n._has&&n._has("gl2d")),B=!!(a._has&&a._has("cartesian")),V=!!(n._has&&n._has("cartesian")),W=B||N,Q=V||j;W&&!Q?a._bgLayer.remove():Q&&!W&&(n._shouldCreateBgLayer=!0),a._zoomlayer&&!e._dragging&&I$({_fullLayout:a}),U$(s,n),pg(n,a),Ut.getComponentMethod("colorscale","crossTraceDefaults")(s,n),n._preGUI||(n._preGUI={}),n._tracePreGUI||(n._tracePreGUI={});var Y=n._tracePreGUI,$={},re;for(re in Y)$[re]="old";for(d=0;d0){var c=1-2*i;o=Math.round(c*o),s=Math.round(c*s)}}var d=Ge.layoutAttributes.width.min,h=Ge.layoutAttributes.height.min;o1,g=!r.height&&Math.abs(a.height-s)>1;(g||p)&&(p&&(a.width=o),g&&(a.height=s)),t._initialAutoSize||(t._initialAutoSize={width:o,height:s}),Ge.sanitizeMargins(a)};Ge.supplyLayoutModuleDefaults=function(e,t,r,a){var n=Ut.componentsRegistry,i=t._basePlotModules,o,s,l,u=Ut.subplotsRegistry.cartesian;for(o in n)l=n[o],l.includeBasePlot&&l.includeBasePlot(e,t);i.length||i.push(u),t._has("cartesian")&&(Ut.getComponentMethod("grid","contentDefaults")(e,t),u.finalizeSubplots(e,t));for(var c in t._subplots)t._subplots[c].sort(et.subplotSort);for(s=0;s1&&(r.l/=g,r.r/=g)}if(c){var m=(r.t+r.b)/c;m>1&&(r.t/=m,r.b/=m)}var b=r.xl!==void 0?r.xl:r.x,_=r.xr!==void 0?r.xr:r.x,x=r.yt!==void 0?r.yt:r.y,A=r.yb!==void 0?r.yb:r.y;d[t]={l:{val:b,size:r.l+p},r:{val:_,size:r.r+p},b:{val:A,size:r.b+p},t:{val:x,size:r.t+p}},h[t]=1}if(!a._replotting)return Ge.doAutoMargin(e)}};Ge.doAutoMargin=function(e){var t=e._fullLayout,r=t.width,a=t.height;t._size||(t._size={}),hq(t);var n=t._size,i=t.margin,o=et.extendFlat({},n),s=i.l,l=i.r,u=i.t,c=i.b,d=t._pushmargin,h=t._pushmarginIds;if(t.margin.autoexpand!==!1){for(var p in d)h[p]||delete d[p];d.base={l:{val:0,size:s},r:{val:1,size:l},t:{val:1,size:u},b:{val:0,size:c}};for(var g in d){var m=d[g].l||{},b=d[g].b||{},_=m.val,x=m.size,A=b.val,w=b.size;for(var M in d){if(zd(x)&&d[M].r){var L=d[M].r.val,S=d[M].r.size;if(L>_){var q=(x*L+(S-r)*_)/(L-_),R=(S*(1-_)+(x-r)*(1-L))/(L-_);q+R>s+l&&(s=q,l=R)}}if(zd(w)&&d[M].t){var z=d[M].t.val,F=d[M].t.size;if(z>A){var N=(w*z+(F-a)*A)/(z-A),j=(F*(1-A)+(w-a)*(1-z))/(z-A);N+j>c+u&&(c=N,u=j)}}}}}var B=et.constrain(r-i.l-i.r,vq,mq),V=et.constrain(a-i.t-i.b,pq,gq),W=Math.max(0,r-B),Q=Math.max(0,a-V);if(W){var Y=(s+l)/W;Y>1&&(s/=Y,l/=Y)}if(Q){var $=(c+u)/Q;$>1&&(c/=$,u/=$)}if(n.l=Math.round(s),n.r=Math.round(l),n.t=Math.round(u),n.b=Math.round(c),n.p=Math.round(i.pad),n.w=Math.round(r)-n.l-n.r,n.h=Math.round(a)-n.t-n.b,!t._replotting&&Ge.didMarginChange(o,n)){"_redrawFromAutoMarginCount"in t?t._redrawFromAutoMarginCount++:t._redrawFromAutoMarginCount=1;var re=3*(1+Object.keys(h).length);if(t._redrawFromAutoMarginCount1)return!0}return!1};Ge.graphJson=function(e,t,r,a,n,i){(n&&t&&!e._fullData||n&&!t&&!e._fullLayout)&&Ge.supplyDefaults(e);var o=n?e._fullData:e.data,s=n?e._fullLayout:e.layout,l=(e._transitionData||{})._frames;function u(h,p){if(typeof h=="function")return p?"_function_":null;if(et.isPlainObject(h)){var g={},m;return Object.keys(h).sort().forEach(function(b){if(["_","["].indexOf(b.charAt(0))===-1){if(typeof h[b]=="function"){p&&(g[b]="_function");return}if(r==="keepdata"){if(b.substr(b.length-3)==="src")return}else if(r==="keepstream"){if(m=h[b+"src"],typeof m=="string"&&m.indexOf(":")>0&&!et.isPlainObject(h.stream))return}else if(r!=="keepall"&&(m=h[b+"src"],typeof m=="string"&&m.indexOf(":")>0))return;g[b]=u(h[b],p)}}),g}return Array.isArray(h)?h.map(function(b){return u(b,p)}):et.isTypedArray(h)?et.simpleMap(h,et.identity):et.isJSDate(h)?et.ms2DateTimeLocal(+h):h}var c={data:(o||[]).map(function(h){var p=u(h);return t&&delete p.fit,p})};if(!t&&(c.layout=u(s),n)){var d=s._size;c.layout.computed={margin:{b:d.b,l:d.l,r:d.r,t:d.t}}}return l&&(c.frames=u(l)),i&&(c.config=u(e._context,!0)),a==="object"?c:JSON.stringify(c)};Ge.modifyFrames=function(e,t){var r,a,n,i=e._transitionData._frames,o=e._transitionData._frameHash;for(r=0;r0&&(e._transitioningWithDuration=!0),e._transitionData._interruptCallbacks.push(function(){a=!0}),r.redraw&&e._transitionData._interruptCallbacks.push(function(){return Ut.call("redraw",e)}),e._transitionData._interruptCallbacks.push(function(){e.emit("plotly_transitioninterrupted",[])});var h=0,p=0;function g(){return h++,function(){p++,!a&&p===h&&s(d)}}r.runFn(g),setTimeout(g())})}function s(d){if(!!e._transitionData)return i(e._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(r.redraw)return Ut.call("redraw",e)}).then(function(){e._transitioning=!1,e._transitioningWithDuration=!1,e.emit("plotly_transitioned",[])}).then(d)}function l(){if(!!e._transitionData)return e._transitioning=!1,n(e._transitionData._interruptCallbacks)}var u=[Ge.previousPromises,l,r.prepareFn,Ge.rehover,o],c=et.syncOrAsync(u,e);return(!c||!c.then)&&(c=Promise.resolve()),c.then(function(){return e})}Ge.doCalcdata=function(e,t){var r=Wa.list(e),a=e._fullData,n=e._fullLayout,i,o,s,l,u=new Array(a.length),c=(e.calcdata||[]).slice();for(e.calcdata=u,n._numBoxes=0,n._numViolins=0,n._violinScaleGroupStats={},e._hmpixcount=0,e._hmlumcount=0,n._piecolormap={},n._sunburstcolormap={},n._treemapcolormap={},n._iciclecolormap={},n._funnelareacolormap={},s=0;s=0;l--)if(M[l].enabled){i._indexToPoints=M[l]._indexToPoints;break}o&&o.calc&&(w=o.calc(e,i))}(!Array.isArray(w)||!w[0])&&(w=[{x:fq,y:fq}]),w[0].t||(w[0].t={}),w[0].trace=i,u[x]=w}}for(xq(r,a,n),s=0;s{"use strict";Fo.xmlns="http://www.w3.org/2000/xmlns/";Fo.svg="http://www.w3.org/2000/svg";Fo.xlink="http://www.w3.org/1999/xlink";Fo.svgAttrs={xmlns:Fo.svg,"xmlns:xlink":Fo.xlink}});var wa=E((Aye,Tq)=>{"use strict";Tq.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 Fa=E(nn=>{"use strict";var Ar=Et(),Oo=De(),X$=Oo.strTranslate,mg=jo(),Q$=wa().LINE_SPACING,K$=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;nn.convertToTspans=function(e,t,r){var a=e.text(),n=!e.attr("data-notex")&&typeof MathJax!="undefined"&&a.match(K$),i=Ar.select(e.node().parentNode);if(i.empty())return;var o=e.attr("class")?e.attr("class").split(" ")[0]:"text";o+="-math",i.selectAll("svg."+o).remove(),i.selectAll("g."+o+"-group").remove(),e.style("display",null).attr({"data-unformatted":a,"data-math":"N"});function s(){i.empty()||(o=e.attr("class")+"-math",i.select("svg."+o).remove()),e.text("").style("white-space","pre");var l=fJ(e.node(),a);l&&e.style("pointer-events","all"),nn.positionText(e),r&&r.call(e)}return n?(t&&t._promises||[]).push(new Promise(function(l){e.style("display","none");var u=parseInt(e.node().style.fontSize,10),c={fontSize:u};tJ(n[2],c,function(d,h,p){i.selectAll("svg."+o).remove(),i.selectAll("g."+o+"-group").remove();var g=d&&d.select("svg");if(!g||!g.node()){s(),l();return}var m=i.append("g").classed(o+"-group",!0).attr({"pointer-events":"none","data-unformatted":a,"data-math":"Y"});m.node().appendChild(g.node()),h&&h.node()&&g.node().insertBefore(h.node().cloneNode(!0),g.node().firstChild);var b=p.width,_=p.height;g.attr({class:o,height:_,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none"});var x=e.node().style.fill||"black",A=g.select("g");A.attr({fill:x,stroke:x});var w=A.node().getBoundingClientRect(),M=w.width,L=w.height;(M>b||L>_)&&(g.style("overflow","hidden"),w=g.node().getBoundingClientRect(),M=w.width,L=w.height);var S=+e.attr("x"),q=+e.attr("y"),R=u||e.node().getBoundingClientRect().height,z=-R/4;if(o[0]==="y")m.attr({transform:"rotate("+[-90,S,q]+")"+X$(-M/2,z-L/2)});else if(o[0]==="l")q=z-L/2;else if(o[0]==="a"&&o.indexOf("atitle")!==0)S=0,q=z;else{var F=e.attr("text-anchor");S=S-M*(F==="middle"?.5:F==="end"?1:0),q=q+z-L/2}g.attr({x:S,y:q}),r&&r.call(e,m),l(m)})})):s(),e};var $$=/(<|<|<)/g,J$=/(>|>|>)/g;function eJ(e){return e.replace($$,"\\lt ").replace(J$,"\\gt ")}function tJ(e,t,r){var a,n,i,o;MathJax.Hub.Queue(function(){return n=Oo.extendDeepAll({},MathJax.Hub.config),i=MathJax.Hub.processSectionDelay,MathJax.Hub.processSectionDelay!==void 0&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:"none",tex2jax:{inlineMath:[["$","$"],["\\(","\\)"]]},displayAlign:"left"})},function(){if(a=MathJax.Hub.config.menuSettings.renderer,a!=="SVG")return MathJax.Hub.setRenderer("SVG")},function(){var s="math-output-"+Oo.randstr({},64);return o=Ar.select("body").append("div").attr({id:s}).style({visibility:"hidden",position:"absolute"}).style({"font-size":t.fontSize+"px"}).text(eJ(e)),MathJax.Hub.Typeset(o.node())},function(){var s=Ar.select("body").select("#MathJax_SVG_glyphs");if(o.select(".MathJax_SVG").empty()||!o.select("svg").node())Oo.log("There was an error in the tex syntax.",e),r();else{var l=o.select("svg").node().getBoundingClientRect();r(o.select(".MathJax_SVG"),s,l)}if(o.remove(),a!=="SVG")return MathJax.Hub.setRenderer(a)},function(){return i!==void 0&&(MathJax.Hub.processSectionDelay=i),MathJax.Hub.Config(n)})}var Aq={sup:"font-size:70%",sub:"font-size:70%",b:"font-weight:bold",i:"font-style:italic",a:"cursor:pointer",span:"",em:"font-style:italic;font-weight:bold"},rJ={sub:"0.3em",sup:"-0.6em"},aJ={sub:"-0.21em",sup:"0.42em"},kq="\u200B",Mq=["http:","https:","mailto:","",void 0,":"],Sq=nn.NEWLINES=/(\r\n?|\n)/g,gg=/(<[^<>]*>)/,yg=/<(\/?)([^ >]*)(\s+(.*))?>/i,nJ=//i;nn.BR_TAG_ALL=//gi;var Cq=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,qq=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,Lq=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,iJ=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function Ho(e,t){if(!e)return null;var r=e.match(t),a=r&&(r[3]||r[4]);return a&&Od(a)}var oJ=/(^|;)\s*color:/;nn.plainText=function(e,t){t=t||{};for(var r=t.len!==void 0&&t.len!==-1?t.len:1/0,a=t.allowedTags!==void 0?t.allowedTags:["br"],n="...",i=n.length,o=e.split(gg),s=[],l="",u=0,c=0;ci?s.push(d.substr(0,m-i)+n):s.push(d.substr(0,m));break}l=""}}return s.join("")};var sJ={mu:"\u03BC",amp:"&",lt:"<",gt:">",nbsp:"\xA0",times:"\xD7",plusmn:"\xB1",deg:"\xB0"},lJ=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function Od(e){return e.replace(lJ,function(t,r){var a;return r.charAt(0)==="#"?a=uJ(r.charAt(1)==="x"?parseInt(r.substr(2),16):parseInt(r.substr(1),10)):a=sJ[r],a||t})}nn.convertEntities=Od;function uJ(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 fJ(e,t){t=t.replace(Sq," ");var r=!1,a=[],n,i=-1;function o(){i++;var L=document.createElementNS(mg.svg,"tspan");Ar.select(L).attr({class:"line",dy:i*Q$+"em"}),e.appendChild(L),n=L;var S=a;if(a=[{node:L}],S.length>1)for(var q=1;q.",t);return}var S=a.pop();L!==S.type&&Oo.log("Start tag <"+S.type+"> doesnt match end tag <"+L+">. Pretending it did match.",t),n=a[a.length-1].node}var c=nJ.test(t);c?o():(n=e,a=[{node:e}]);for(var d=t.split(gg),h=0;h{"use strict";var cJ=Et(),Hd=An(),Nu=zt(),Bd=De(),Pq=It(),dJ=So().isValid;function hJ(e,t,r){var a=t?Bd.nestedProperty(e,t).get()||{}:e,n=a[r||"color"],i=!1;if(Bd.isArrayOrTypedArray(n)){for(var o=0;o=0;a--,n++){var i=e[a];r[n]=[1-i[0],i[1]]}return r}function Fq(e,t){t=t||{};for(var r=e.domain,a=e.range,n=a.length,i=new Array(n),o=0;o{"use strict";Hq.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 Ud=E((Cye,Gq)=>{"use strict";var Bq=xg(),pJ=Bq.FORMAT_LINK,mJ=Bq.DATE_FORMAT_LINK;function gJ(e,t){return{valType:"string",dflt:"",editType:"none",description:(t?_g:Uq)("hover text",e)+["By default the values are formatted using "+(t?"generic number format":"`"+e+"axis.hoverformat`")+"."].join(" ")}}function _g(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: "+pJ+"."].join(" ")}function Uq(e,t){return _g(e,t)+[" And for dates see: "+mJ+".","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(" ")}Gq.exports={axisHoverFormat:gJ,descriptionOnlyNumbers:_g,descriptionWithDates:Uq}});var Qn=E((qye,Yq)=>{"use strict";var wg=_a(),al=hi(),yJ=Bs().dash,bJ=fa().extendFlat,Wq=sr().templatedArray,Vq=Ud().descriptionWithDates,xJ=yr().ONEDAY,Xn=Jr(),Tg=Xn.HOUR_PATTERN,Ag=Xn.WEEKDAY_PATTERN;Yq.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:al.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:wg({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"],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, then `autorange` is set to *false*."].join(" ")},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."].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(" ")},scaleanchor:{valType:"enumerated",values:[Xn.idRegex.x.toString(),Xn.idRegex.y.toString()],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."].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:[Xn.idRegex.x.toString(),Xn.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:Wq("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:[Ag,Tg,""],editType:"calc",description:["Determines a pattern on the time line that generates breaks.","If *"+Ag+"* - 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 *"+Tg+"* - hour (24-hour clock) as decimal numbers between 0 and 24.","for more info.","Examples:","- { pattern: '"+Ag+"', bounds: [6, 1] }"," or simply { bounds: ['sat', 'mon'] }"," breaks from Saturday to Monday (i.e. skips the weekends).","- { pattern: '"+Tg+"', 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:xJ,description:["Sets the size of each `values` item.","The default is one day in milliseconds."].join(" ")},editType:"calc"}),tickmode:{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(" ")},nticks:{valType:"integer",min:0,dflt: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(" ")},tick0:{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* (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(" ")},dtick:{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*, 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* 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(" ")},tickvals:{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(" ")},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:{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(" ")},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(" ")},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:{valType:"number",min:0,dflt:5,editType:"ticks",description:"Sets the tick length (in px)."},tickwidth:{valType:"number",min:0,dflt:1,editType:"ticks",description:"Sets the tick width (in px)."},tickcolor:{valType:"color",dflt:al.defaultLine,editType:"ticks",description:"Sets the tick color."},showticklabels:{valType:"boolean",dflt:!0,editType:"ticks",description:"Determines whether or not the tick labels are drawn."},automargin:{valType:"boolean",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:bJ({},yJ,{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:wg({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(" ")},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:Vq("tick label")},tickformatstops:Wq("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:Vq("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:al.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:{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(" ")},gridcolor:{valType:"color",dflt:al.lightLine,editType:"ticks",description:"Sets the color of the grid lines."},gridwidth:{valType:"number",min:0,dflt:1,editType:"ticks",description:"Sets the width (in px) of the grid lines."},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:al.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:al.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",Xn.idRegex.x.toString(),Xn.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",Xn.idRegex.x.toString(),Xn.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(" ")},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(" ")},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","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 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:wg({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 Gd=E((Lye,Xq)=>{"use strict";var lr=Qn(),kg=_a(),Zq=fa().extendFlat,_J=Vi().overrideAll;Xq.exports=_J({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",min:-2,max:3,description:["Sets the x position of the color bar (in plot fraction).","Defaults to 1.02 when `orientation` is *v* and","0.5 when `orientation` is *h*."].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",min:-2,max:3,description:["Sets the y position of the color bar (in plot fraction).","Defaults to 0.5 when `orientation` is *v* and","1.02 when `orientation` is *h*."].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:lr.linecolor,outlinewidth:lr.linewidth,bordercolor:lr.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:lr.tickmode,nticks:lr.nticks,tick0:lr.tick0,dtick:lr.dtick,tickvals:lr.tickvals,ticktext:lr.ticktext,ticks:Zq({},lr.ticks,{dflt:""}),ticklabeloverflow:Zq({},lr.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:lr.ticklen,tickwidth:lr.tickwidth,tickcolor:lr.tickcolor,showticklabels:lr.showticklabels,tickfont:kg({description:"Sets the color bar's tick label font"}),tickangle:lr.tickangle,tickformat:lr.tickformat,tickformatstops:lr.tickformatstops,tickprefix:lr.tickprefix,showtickprefix:lr.showtickprefix,ticksuffix:lr.ticksuffix,showticksuffix:lr.showticksuffix,separatethousands:lr.separatethousands,exponentformat:lr.exponentformat,minexponent:lr.minexponent,showexponent:lr.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:kg({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:kg({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 Ou=E((Dye,Kq)=>{"use strict";var wJ=Gd(),TJ=js().counter,AJ=Wm(),Qq=So().scales,kJ=AJ(Qq);function ju(e){return"`"+e+"`"}Kq.exports=function(t,r){t=t||"",r=r||{};var a=r.cLetter||"c",n="onlyIfNumerical"in r?r.onlyIfNumerical:Boolean(t),i="noScale"in r?r.noScale:t==="marker.line",o="showScaleDflt"in r?r.showScaleDflt:a==="z",s=typeof r.colorscaleDflt=="string"?Qq[r.colorscaleDflt]:null,l=r.editTypeOverride||"",u=t?t+".":"",c,d;"colorAttr"in r?(c=r.colorAttr,d=r.colorAttr):(c={z:"z",c:"color"}[a],d="in "+ju(u+c));var h=n?" Has an effect only if "+d+"is set to a numerical array.":"",p=a+"auto",g=a+"min",m=a+"max",b=a+"mid",_=ju(u+p),x=ju(u+g),A=ju(u+m),w=x+" and "+A,M={};M[g]=M[m]=void 0;var L={};L[p]=!1;var S={};return c==="color"&&(S.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&&(S.color.anim=!0)),S[p]={valType:"boolean",dflt:!0,editType:"calc",impliedEdits:M,description:["Determines whether or not the color domain is computed"," with respect to the input data (here "+d+") or the bounds set in"," ",w," ",h," Defaults to `false` when ",w," are set by the user."].join("")},S[g]={valType:"number",dflt:null,editType:l||"plot",impliedEdits:L,description:["Sets the lower bound of the color domain.",h," Value should have the same units as ",d," and if set, ",A," must be set as well."].join("")},S[m]={valType:"number",dflt:null,editType:l||"plot",impliedEdits:L,description:["Sets the upper bound of the color domain.",h," Value should have the same units as ",d," and if set, ",x," must be set as well."].join("")},S[b]={valType:"number",dflt:null,editType:"calc",impliedEdits:M,description:["Sets the mid-point of the color domain by scaling ",x," and/or ",A," to be equidistant to this point.",h," Value should have the same units as ",d,". ","Has no effect when ",_," is `false`."].join("")},S.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: "+kJ+"."].join("")},S.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 ",ju(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("")},S.reversescale={valType:"boolean",dflt:!1,editType:"plot",description:["Reverses the color mapping if true.",h," If true, ",x," will correspond to the last color"," in the array and ",A," will correspond to the first color."].join("")},i||(S.showscale={valType:"boolean",dflt:o,editType:"calc",description:["Determines whether or not a colorbar is displayed for this trace.",h].join("")},S.colorbar=wJ),r.noColorAxis||(S.coloraxis={valType:"subplotid",regex:TJ("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(" ")}),S}});var Cg=E((Rye,$q)=>{"use strict";var MJ=fa().extendFlat,SJ=Ou(),Mg=So().scales,Sg="Note that `autocolorscale` must be true for this attribute to work.";$q.exports={editType:"calc",colorscale:{editType:"calc",sequential:{valType:"colorscale",dflt:Mg.Reds,editType:"calc",description:["Sets the default sequential colorscale for positive values.",Sg].join(" ")},sequentialminus:{valType:"colorscale",dflt:Mg.Blues,editType:"calc",description:["Sets the default sequential colorscale for negative values.",Sg].join(" ")},diverging:{valType:"colorscale",dflt:Mg.RdBu,editType:"calc",description:["Sets the default diverging colorscale.",Sg].join(" ")}},coloraxis:MJ({_isSubplotObj:!0,editType:"calc",description:[""].join(" ")},SJ("",{colorAttr:"corresponding trace color array(s)",noColorAxis:!0,showScaleDflt:!0}))}});var qg=E((Pye,Jq)=>{"use strict";var CJ=De();Jq.exports=function(t){return CJ.isPlainObject(t.colorbar)}});var Rg=E(Dg=>{"use strict";var Lg=zt(),eL=De(),tL=yr(),qJ=tL.ONEDAY,LJ=tL.ONEWEEK;Dg.dtick=function(e,t){var r=t==="log",a=t==="date",n=t==="category",i=a?qJ:1;if(!e)return i;if(Lg(e))return e=Number(e),e<=0?i:n?Math.max(1,Math.round(e)):a?Math.max(.1,e):e;if(typeof e!="string"||!(a||r))return i;var o=e.charAt(0),s=e.substr(1);return s=Lg(s)?Number(s):0,s<=0||!(a&&o==="M"&&s===Math.round(s)||r&&o==="L"||r&&o==="D"&&(s===1||s===2))?i:e};Dg.tick0=function(e,t,r,a){if(t==="date")return eL.cleanDate(e,eL.dateTick0(r,a%LJ==0?1:0));if(!(a==="D1"||a==="D2"))return Lg(e)?Number(e):0}});var Pg=E((Eye,aL)=>{"use strict";var rL=Rg(),DJ=De().isArrayOrTypedArray;aL.exports=function(t,r,a,n){function i(p){var g=t[p];return g!==void 0?g:(r._template||{})[p]}var o=i("tick0"),s=i("dtick"),l=i("tickvals"),u=DJ(l)?"array":s?"linear":"auto",c=a("tickmode",u);if(c==="auto")a("nticks");else if(c==="linear"){var d=r.dtick=rL.dtick(s,n);r.tick0=rL.tick0(o,n,r.calendar,d)}else if(n!=="multicategory"){var h=a("tickvals");h===void 0?r.tickmode="auto":a("ticktext")}}});var zg=E((zye,nL)=>{"use strict";var Ig=De(),Eg=Qn();nL.exports=function(t,r,a,n){var i=Ig.coerce2(t,r,Eg,"ticklen"),o=Ig.coerce2(t,r,Eg,"tickwidth"),s=Ig.coerce2(t,r,Eg,"tickcolor",r.color),l=a("ticks",n.outerTicks||i||o||s?"outside":"");l||(delete r.ticklen,delete r.tickwidth,delete r.tickcolor)}});var Ng=E((Nye,iL)=>{"use strict";iL.exports=function(t){var r=["showexponent","showtickprefix","showticksuffix"],a=r.filter(function(i){return t[i]!==void 0}),n=function(i){return t[i]===t[a[0]]};if(a.every(n)||a.length===1)return t[a[0]]}});var Kn=E((Fye,oL)=>{"use strict";var Wd=De(),RJ=sr();oL.exports=function(t,r,a){var n=a.name,i=a.inclusionAttr||"visible",o=r[n],s=Wd.isArrayOrTypedArray(t[n])?t[n]:[],l=r[n]=[],u=RJ.arrayTemplater(r,n,i),c,d;for(c=0;c{"use strict";var sL=De(),PJ=It().contrast,lL=Qn(),IJ=Ng(),EJ=Kn();uL.exports=function(t,r,a,n,i){i||(i={});var o=IJ(t),s=a("showticklabels");if(s){var l=i.font||{},u=r.color,c=r.ticklabelposition||"",d=c.indexOf("inside")!==-1?PJ(i.bgColor):u&&u!==lL.color.dflt?u:l.color;if(sL.coerceFont(a,"tickfont",{family:l.family,size:l.size,color:d}),i.noAng||a("tickangle"),n!=="category"){var h=a("tickformat");EJ(t,r,{name:"tickformatstops",inclusionAttr:"enabled",handleItemDefaults:zJ}),r.tickformatstops.length||delete r.tickformatstops,!i.noExp&&!h&&n!=="date"&&(a("showexponent",o),a("exponentformat"),a("minexponent"),a("separatethousands"))}}};function zJ(e,t){function r(n,i){return sL.coerce(e,t,lL.tickformatstops,n,i)}var a=r("enabled");a&&(r("dtickrange"),r("value"))}});var jg=E((Oye,fL)=>{"use strict";var NJ=Ng();fL.exports=function(t,r,a,n,i){i||(i={});var o=i.tickSuffixDflt,s=NJ(t),l=a("tickprefix");l&&a("showtickprefix",s);var u=a("ticksuffix",o);u&&a("showticksuffix",s)}});var Og=E((Hye,cL)=>{"use strict";var nl=De(),FJ=sr(),jJ=Pg(),OJ=zg(),HJ=Fg(),BJ=jg(),UJ=Gd();cL.exports=function(t,r,a){var n=FJ.newContainer(r,"colorbar"),i=t.colorbar||{};function o(A,w){return nl.coerce(i,n,UJ,A,w)}var s=a.margin||{t:0,b:0,l:0,r:0},l=a.width-s.l-s.r,u=a.height-s.t-s.b,c=o("orientation"),d=c==="v",h=o("thicknessmode");o("thickness",h==="fraction"?30/(d?l:u):30);var p=o("lenmode");o("len",p==="fraction"?1:d?u:l),o("x",d?1.02:.5),o("xanchor",d?"left":"center"),o("xpad"),o("y",d?.5:1.02),o("yanchor",d?"middle":"bottom"),o("ypad"),nl.noneOrAll(i,n,["x","y"]),o("outlinecolor"),o("outlinewidth"),o("bordercolor"),o("borderwidth"),o("bgcolor");var g=nl.coerce(i,n,{ticklabelposition:{valType:"enumerated",dflt:"outside",values:d?["outside","inside","outside top","inside top","outside bottom","inside bottom"]:["outside","inside","outside left","inside left","outside right","inside right"]}},"ticklabelposition");o("ticklabeloverflow",g.indexOf("inside")!==-1?"hide past domain":"hide past div"),jJ(i,n,o,"linear");var m=a.font,b={outerTicks:!1,font:m};g.indexOf("inside")!==-1&&(b.bgColor="black"),BJ(i,n,o,"linear",b),HJ(i,n,o,"linear",b),OJ(i,n,o,"linear",b),o("title.text",a._dfltTitle.colorbar);var _=n.tickfont,x=nl.extendFlat({},_,{color:m.color,size:nl.bigFont(_.size)});nl.coerceFont(o,"title.font",x),o("title.side",d?"top":"right")}});var il=E((Bye,vL)=>{"use strict";var dL=zt(),Hg=De(),GJ=qg(),WJ=Og(),hL=So().isValid,VJ=ht().traceIs;function Bg(e,t){var r=t.slice(0,t.length-1);return t?Hg.nestedProperty(e,r).get()||{}:e}vL.exports=function e(t,r,a,n,i){var o=i.prefix,s=i.cLetter,l="_module"in r,u=Bg(t,o),c=Bg(r,o),d=Bg(r._template||{},o)||{},h=function(){return delete t.coloraxis,delete r.coloraxis,e(t,r,a,n,i)};if(l){var p=a._colorAxes||{},g=n(o+"coloraxis");if(g){var m=VJ(r,"contour")&&Hg.nestedProperty(r,"contours.coloring").get()||"heatmap",b=p[g];b?(b[2].push(h),b[0]!==m&&(b[0]=!1,Hg.warn(["Ignoring coloraxis:",g,"setting","as it is linked to incompatible colorscales."].join(" ")))):p[g]=[m,r,[h]];return}}var _=u[s+"min"],x=u[s+"max"],A=dL(_)&&dL(x)&&_{"use strict";var pL=De(),YJ=sr(),mL=Cg(),ZJ=il();gL.exports=function(t,r){function a(d,h){return pL.coerce(t,r,mL,d,h)}a("colorscale.sequential"),a("colorscale.sequentialminus"),a("colorscale.diverging");var n=r._colorAxes,i,o;function s(d,h){return pL.coerce(i,o,mL.coloraxis,d,h)}for(var l in n){var u=n[l];if(u[0])i=t[l]||{},o=YJ.newContainer(r,l,"coloraxis"),o._name=l,ZJ(i,o,r,s,{prefix:"",cLetter:"c"});else{for(var c=0;c{"use strict";var XJ=De(),QJ=on().hasColorscale,KJ=on().extractOpts;bL.exports=function(t,r){function a(c,d){var h=c["_"+d];h!==void 0&&(c[d]=h)}function n(c,d){var h=d.container?XJ.nestedProperty(c,d.container).get():c;if(h)if(h.coloraxis)h._colorAx=r[h.coloraxis];else{var p=KJ(h),g=p.auto;(g||p.min===void 0)&&a(h,d.min),(g||p.max===void 0)&&a(h,d.max),p.autocolorscale&&a(h,"colorscale")}}for(var i=0;i{"use strict";var _L=zt(),Ug=De(),$J=on().extractOpts;wL.exports=function(t,r,a){var n=t._fullLayout,i=a.vals,o=a.containerStr,s=o?Ug.nestedProperty(r,o).get():r,l=$J(s),u=l.auto!==!1,c=l.min,d=l.max,h=l.mid,p=function(){return Ug.aggNums(Math.min,null,i)},g=function(){return Ug.aggNums(Math.max,null,i)};if(c===void 0?c=p():u&&(s._colorAx&&_L(c)?c=Math.min(c,p()):c=p()),d===void 0?d=g():u&&(s._colorAx&&_L(d)?d=Math.max(d,g()):d=g()),u&&h!==void 0&&(d-h>h-c?c=h-(d-h):d-h=0?m=n.colorscale.sequential:m=n.colorscale.sequentialminus,l._sync("colorscale",m)}}});var Gg=E((Vye,TL)=>{"use strict";var Yd=So(),ol=on();TL.exports={moduleType:"component",name:"colorscale",attributes:Ou(),layoutAttributes:Cg(),supplyLayoutDefaults:yL(),handleDefaults:il(),crossTraceDefaults:xL(),calc:Vd(),scales:Yd.scales,defaultScale:Yd.defaultScale,getScale:Yd.get,isValidScale:Yd.isValid,hasColorscale:ol.hasColorscale,extractOpts:ol.extractOpts,extractScale:ol.extractScale,flipScale:ol.flipScale,makeColorScaleFunc:ol.makeColorScaleFunc,makeColorScaleFuncFromTrace:ol.makeColorScaleFuncFromTrace}});var Va=E((Yye,kL)=>{"use strict";var AL=De();kL.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){return AL.isPlainObject(e.marker)&&AL.isArrayOrTypedArray(e.marker.size)}}});var SL=E((Zye,ML)=>{"use strict";var JJ=zt();ML.exports=function(t,r){r||(r=2);var a=t.marker,n=a.sizeref||1,i=a.sizemin||0,o=a.sizemode==="area"?function(s){return Math.sqrt(s/n)}:function(s){return s/n};return function(s){var l=o(s/r);return JJ(l)&&l>0?Math.max(l,i):0}}});var bi=E(ea=>{"use strict";var CL=De();ea.getSubplot=function(e){return e.subplot||e.xaxis+e.yaxis||e.geo};ea.isTraceInSubplots=function(e,t){if(e.type==="splom"){for(var r=e.xaxes||[],a=e.yaxes||[],n=0;n=0&&r.index{"use strict";var Oe=Et();DL.exports={circle:{n:0,f:function(e){var t=Oe.round(e,2);return"M"+t+",0A"+t+","+t+" 0 1,1 0,-"+t+"A"+t+","+t+" 0 0,1 "+t+",0Z"}},square:{n:1,f:function(e){var t=Oe.round(e,2);return"M"+t+","+t+"H-"+t+"V-"+t+"H"+t+"Z"}},diamond:{n:2,f:function(e){var t=Oe.round(e*1.3,2);return"M"+t+",0L0,"+t+"L-"+t+",0L0,-"+t+"Z"}},cross:{n:3,f:function(e){var t=Oe.round(e*.4,2),r=Oe.round(e*1.2,2);return"M"+r+","+t+"H"+t+"V"+r+"H-"+t+"V"+t+"H-"+r+"V-"+t+"H-"+t+"V-"+r+"H"+t+"V-"+t+"H"+r+"Z"}},x:{n:4,f:function(e){var t=Oe.round(e*.8/Math.sqrt(2),2),r="l"+t+","+t,a="l"+t+",-"+t,n="l-"+t+",-"+t,i="l-"+t+","+t;return"M0,"+t+r+a+n+a+n+i+n+i+r+i+r+"Z"}},"triangle-up":{n:5,f:function(e){var t=Oe.round(e*2/Math.sqrt(3),2),r=Oe.round(e/2,2),a=Oe.round(e,2);return"M-"+t+","+r+"H"+t+"L0,-"+a+"Z"}},"triangle-down":{n:6,f:function(e){var t=Oe.round(e*2/Math.sqrt(3),2),r=Oe.round(e/2,2),a=Oe.round(e,2);return"M-"+t+",-"+r+"H"+t+"L0,"+a+"Z"}},"triangle-left":{n:7,f:function(e){var t=Oe.round(e*2/Math.sqrt(3),2),r=Oe.round(e/2,2),a=Oe.round(e,2);return"M"+r+",-"+t+"V"+t+"L-"+a+",0Z"}},"triangle-right":{n:8,f:function(e){var t=Oe.round(e*2/Math.sqrt(3),2),r=Oe.round(e/2,2),a=Oe.round(e,2);return"M-"+r+",-"+t+"V"+t+"L"+a+",0Z"}},"triangle-ne":{n:9,f:function(e){var t=Oe.round(e*.6,2),r=Oe.round(e*1.2,2);return"M-"+r+",-"+t+"H"+t+"V"+r+"Z"}},"triangle-se":{n:10,f:function(e){var t=Oe.round(e*.6,2),r=Oe.round(e*1.2,2);return"M"+t+",-"+r+"V"+t+"H-"+r+"Z"}},"triangle-sw":{n:11,f:function(e){var t=Oe.round(e*.6,2),r=Oe.round(e*1.2,2);return"M"+r+","+t+"H-"+t+"V-"+r+"Z"}},"triangle-nw":{n:12,f:function(e){var t=Oe.round(e*.6,2),r=Oe.round(e*1.2,2);return"M-"+t+","+r+"V-"+t+"H"+r+"Z"}},pentagon:{n:13,f:function(e){var t=Oe.round(e*.951,2),r=Oe.round(e*.588,2),a=Oe.round(-e,2),n=Oe.round(e*-.309,2),i=Oe.round(e*.809,2);return"M"+t+","+n+"L"+r+","+i+"H-"+r+"L-"+t+","+n+"L0,"+a+"Z"}},hexagon:{n:14,f:function(e){var t=Oe.round(e,2),r=Oe.round(e/2,2),a=Oe.round(e*Math.sqrt(3)/2,2);return"M"+a+",-"+r+"V"+r+"L0,"+t+"L-"+a+","+r+"V-"+r+"L0,-"+t+"Z"}},hexagon2:{n:15,f:function(e){var t=Oe.round(e,2),r=Oe.round(e/2,2),a=Oe.round(e*Math.sqrt(3)/2,2);return"M-"+r+","+a+"H"+r+"L"+t+",0L"+r+",-"+a+"H-"+r+"L-"+t+",0Z"}},octagon:{n:16,f:function(e){var t=Oe.round(e*.924,2),r=Oe.round(e*.383,2);return"M-"+r+",-"+t+"H"+r+"L"+t+",-"+r+"V"+r+"L"+r+","+t+"H-"+r+"L-"+t+","+r+"V-"+r+"Z"}},star:{n:17,f:function(e){var t=e*1.4,r=Oe.round(t*.225,2),a=Oe.round(t*.951,2),n=Oe.round(t*.363,2),i=Oe.round(t*.588,2),o=Oe.round(-t,2),s=Oe.round(t*-.309,2),l=Oe.round(t*.118,2),u=Oe.round(t*.809,2),c=Oe.round(t*.382,2);return"M"+r+","+s+"H"+a+"L"+n+","+l+"L"+i+","+u+"L0,"+c+"L-"+i+","+u+"L-"+n+","+l+"L-"+a+","+s+"H-"+r+"L0,"+o+"Z"}},hexagram:{n:18,f:function(e){var t=Oe.round(e*.66,2),r=Oe.round(e*.38,2),a=Oe.round(e*.76,2);return"M-"+a+",0l-"+r+",-"+t+"h"+a+"l"+r+",-"+t+"l"+r+","+t+"h"+a+"l-"+r+","+t+"l"+r+","+t+"h-"+a+"l-"+r+","+t+"l-"+r+",-"+t+"h-"+a+"Z"}},"star-triangle-up":{n:19,f:function(e){var t=Oe.round(e*Math.sqrt(3)*.8,2),r=Oe.round(e*.8,2),a=Oe.round(e*1.6,2),n=Oe.round(e*4,2),i="A "+n+","+n+" 0 0 1 ";return"M-"+t+","+r+i+t+","+r+i+"0,-"+a+i+"-"+t+","+r+"Z"}},"star-triangle-down":{n:20,f:function(e){var t=Oe.round(e*Math.sqrt(3)*.8,2),r=Oe.round(e*.8,2),a=Oe.round(e*1.6,2),n=Oe.round(e*4,2),i="A "+n+","+n+" 0 0 1 ";return"M"+t+",-"+r+i+"-"+t+",-"+r+i+"0,"+a+i+t+",-"+r+"Z"}},"star-square":{n:21,f:function(e){var t=Oe.round(e*1.1,2),r=Oe.round(e*2,2),a="A "+r+","+r+" 0 0 1 ";return"M-"+t+",-"+t+a+"-"+t+","+t+a+t+","+t+a+t+",-"+t+a+"-"+t+",-"+t+"Z"}},"star-diamond":{n:22,f:function(e){var t=Oe.round(e*1.4,2),r=Oe.round(e*1.9,2),a="A "+r+","+r+" 0 0 1 ";return"M-"+t+",0"+a+"0,"+t+a+t+",0"+a+"0,-"+t+a+"-"+t+",0Z"}},"diamond-tall":{n:23,f:function(e){var t=Oe.round(e*.7,2),r=Oe.round(e*1.4,2);return"M0,"+r+"L"+t+",0L0,-"+r+"L-"+t+",0Z"}},"diamond-wide":{n:24,f:function(e){var t=Oe.round(e*1.4,2),r=Oe.round(e*.7,2);return"M0,"+r+"L"+t+",0L0,-"+r+"L-"+t+",0Z"}},hourglass:{n:25,f:function(e){var t=Oe.round(e,2);return"M"+t+","+t+"H-"+t+"L"+t+",-"+t+"H-"+t+"Z"},noDot:!0},bowtie:{n:26,f:function(e){var t=Oe.round(e,2);return"M"+t+","+t+"V-"+t+"L-"+t+","+t+"V-"+t+"Z"},noDot:!0},"circle-cross":{n:27,f:function(e){var t=Oe.round(e,2);return"M0,"+t+"V-"+t+"M"+t+",0H-"+t+"M"+t+",0A"+t+","+t+" 0 1,1 0,-"+t+"A"+t+","+t+" 0 0,1 "+t+",0Z"},needLine:!0,noDot:!0},"circle-x":{n:28,f:function(e){var t=Oe.round(e,2),r=Oe.round(e/Math.sqrt(2),2);return"M"+r+","+r+"L-"+r+",-"+r+"M"+r+",-"+r+"L-"+r+","+r+"M"+t+",0A"+t+","+t+" 0 1,1 0,-"+t+"A"+t+","+t+" 0 0,1 "+t+",0Z"},needLine:!0,noDot:!0},"square-cross":{n:29,f:function(e){var t=Oe.round(e,2);return"M0,"+t+"V-"+t+"M"+t+",0H-"+t+"M"+t+","+t+"H-"+t+"V-"+t+"H"+t+"Z"},needLine:!0,noDot:!0},"square-x":{n:30,f:function(e){var t=Oe.round(e,2);return"M"+t+","+t+"L-"+t+",-"+t+"M"+t+",-"+t+"L-"+t+","+t+"M"+t+","+t+"H-"+t+"V-"+t+"H"+t+"Z"},needLine:!0,noDot:!0},"diamond-cross":{n:31,f:function(e){var t=Oe.round(e*1.3,2);return"M"+t+",0L0,"+t+"L-"+t+",0L0,-"+t+"ZM0,-"+t+"V"+t+"M-"+t+",0H"+t},needLine:!0,noDot:!0},"diamond-x":{n:32,f:function(e){var t=Oe.round(e*1.3,2),r=Oe.round(e*.65,2);return"M"+t+",0L0,"+t+"L-"+t+",0L0,-"+t+"ZM-"+r+",-"+r+"L"+r+","+r+"M-"+r+","+r+"L"+r+",-"+r},needLine:!0,noDot:!0},"cross-thin":{n:33,f:function(e){var t=Oe.round(e*1.4,2);return"M0,"+t+"V-"+t+"M"+t+",0H-"+t},needLine:!0,noDot:!0,noFill:!0},"x-thin":{n:34,f:function(e){var t=Oe.round(e,2);return"M"+t+","+t+"L-"+t+",-"+t+"M"+t+",-"+t+"L-"+t+","+t},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(e){var t=Oe.round(e*1.2,2),r=Oe.round(e*.85,2);return"M0,"+t+"V-"+t+"M"+t+",0H-"+t+"M"+r+","+r+"L-"+r+",-"+r+"M"+r+",-"+r+"L-"+r+","+r},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(e){var t=Oe.round(e/2,2),r=Oe.round(e,2);return"M"+t+","+r+"V-"+r+"m-"+r+",0V"+r+"M"+r+","+t+"H-"+r+"m0,-"+r+"H"+r},needLine:!0,noFill:!0},"y-up":{n:37,f:function(e){var t=Oe.round(e*1.2,2),r=Oe.round(e*1.6,2),a=Oe.round(e*.8,2);return"M-"+t+","+a+"L0,0M"+t+","+a+"L0,0M0,-"+r+"L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-down":{n:38,f:function(e){var t=Oe.round(e*1.2,2),r=Oe.round(e*1.6,2),a=Oe.round(e*.8,2);return"M-"+t+",-"+a+"L0,0M"+t+",-"+a+"L0,0M0,"+r+"L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-left":{n:39,f:function(e){var t=Oe.round(e*1.2,2),r=Oe.round(e*1.6,2),a=Oe.round(e*.8,2);return"M"+a+","+t+"L0,0M"+a+",-"+t+"L0,0M-"+r+",0L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-right":{n:40,f:function(e){var t=Oe.round(e*1.2,2),r=Oe.round(e*1.6,2),a=Oe.round(e*.8,2);return"M-"+a+","+t+"L0,0M-"+a+",-"+t+"L0,0M"+r+",0L0,0"},needLine:!0,noDot:!0,noFill:!0},"line-ew":{n:41,f:function(e){var t=Oe.round(e*1.4,2);return"M"+t+",0H-"+t},needLine:!0,noDot:!0,noFill:!0},"line-ns":{n:42,f:function(e){var t=Oe.round(e*1.4,2);return"M0,"+t+"V-"+t},needLine:!0,noDot:!0,noFill:!0},"line-ne":{n:43,f:function(e){var t=Oe.round(e,2);return"M"+t+",-"+t+"L-"+t+","+t},needLine:!0,noDot:!0,noFill:!0},"line-nw":{n:44,f:function(e){var t=Oe.round(e,2);return"M"+t+","+t+"L-"+t+",-"+t},needLine:!0,noDot:!0,noFill:!0},"arrow-up":{n:45,f:function(e){var t=Oe.round(e,2),r=Oe.round(e*2,2);return"M0,0L-"+t+","+r+"H"+t+"Z"},noDot:!0},"arrow-down":{n:46,f:function(e){var t=Oe.round(e,2),r=Oe.round(e*2,2);return"M0,0L-"+t+",-"+r+"H"+t+"Z"},noDot:!0},"arrow-left":{n:47,f:function(e){var t=Oe.round(e*2,2),r=Oe.round(e,2);return"M0,0L"+t+",-"+r+"V"+r+"Z"},noDot:!0},"arrow-right":{n:48,f:function(e){var t=Oe.round(e*2,2),r=Oe.round(e,2);return"M0,0L-"+t+",-"+r+"V"+r+"Z"},noDot:!0},"arrow-bar-up":{n:49,f:function(e){var t=Oe.round(e,2),r=Oe.round(e*2,2);return"M-"+t+",0H"+t+"M0,0L-"+t+","+r+"H"+t+"Z"},needLine:!0,noDot:!0},"arrow-bar-down":{n:50,f:function(e){var t=Oe.round(e,2),r=Oe.round(e*2,2);return"M-"+t+",0H"+t+"M0,0L-"+t+",-"+r+"H"+t+"Z"},needLine:!0,noDot:!0},"arrow-bar-left":{n:51,f:function(e){var t=Oe.round(e*2,2),r=Oe.round(e,2);return"M0,-"+r+"V"+r+"M0,0L"+t+",-"+r+"V"+r+"Z"},needLine:!0,noDot:!0},"arrow-bar-right":{n:52,f:function(e){var t=Oe.round(e*2,2),r=Oe.round(e,2);return"M0,-"+r+"V"+r+"M0,0L-"+t+",-"+r+"V"+r+"Z"},needLine:!0,noDot:!0}}});var Kt=E((Kye,GL)=>{"use strict";var Wt=Et(),er=De(),aee=er.numberFormat,Hu=zt(),nee=An(),Zd=ht(),Ta=It(),iee=Gg(),Bu=er.strTranslate,Wg=Fa(),oee=jo(),see=wa(),lee=see.LINE_SPACING,PL=cd().DESELECTDIM,uee=Va(),fee=SL(),cee=bi().appendArrayPointValue,$e=GL.exports={};$e.font=function(e,t,r,a){er.isPlainObject(t)&&(a=t.color,r=t.size,t=t.family),t&&e.style("font-family",t),r+1&&e.style("font-size",r+"px"),a&&e.call(Ta.fill,a)};$e.setPosition=function(e,t,r){e.attr("x",t).attr("y",r)};$e.setSize=function(e,t,r){e.attr("width",t).attr("height",r)};$e.setRect=function(e,t,r,a,n){e.call($e.setPosition,t,r).call($e.setSize,a,n)};$e.translatePoint=function(e,t,r,a){var n=r.c2p(e.x),i=a.c2p(e.y);if(Hu(n)&&Hu(i)&&t.node())t.node().nodeName==="text"?t.attr("x",n).attr("y",i):t.attr("transform",Bu(n,i));else return!1;return!0};$e.translatePoints=function(e,t,r){e.each(function(a){var n=Wt.select(this);$e.translatePoint(a,n,t,r)})};$e.hideOutsideRangePoint=function(e,t,r,a,n,i){t.attr("display",r.isPtWithinRange(e,n)&&a.isPtWithinRange(e,i)?null:"none")};$e.hideOutsideRangePoints=function(e,t){if(!!t._hasClipOnAxisFalse){var r=t.xaxis,a=t.yaxis;e.each(function(n){var i=n[0].trace,o=i.xcalendar,s=i.ycalendar,l=Zd.traceIs(i,"bar-like")?".bartext":".point,.textpoint";e.selectAll(l).each(function(u){$e.hideOutsideRangePoint(u,Wt.select(this),r,a,o,s)})})}};$e.crispRound=function(e,t,r){return!t||!Hu(t)?r||0:e._context.staticPlot?t:t<1?1:Math.round(t)};$e.singleLineStyle=function(e,t,r,a,n){t.style("fill","none");var i=(((e||[])[0]||{}).trace||{}).line||{},o=r||i.width||0,s=n||i.dash||"";Ta.stroke(t,a||i.color),$e.dashLine(t,s,o)};$e.lineGroupStyle=function(e,t,r,a){e.style("fill","none").each(function(n){var i=(((n||[])[0]||{}).trace||{}).line||{},o=t||i.width||0,s=a||i.dash||"";Wt.select(this).call(Ta.stroke,r||i.color).call($e.dashLine,s,o)})};$e.dashLine=function(e,t,r){r=+r||0,t=$e.dashStyle(t,r),e.style({"stroke-dasharray":t,"stroke-width":r+"px"})};$e.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};$e.singleFillStyle=function(e){var t=Wt.select(e.node()),r=t.data(),a=(((r[0]||[])[0]||{}).trace||{}).fillcolor;a&&e.call(Ta.fill,a)};$e.fillGroupStyle=function(e){e.style("stroke-width",0).each(function(t){var r=Wt.select(this);t[0].trace&&r.call(Ta.fill,t[0].trace.fillcolor)})};var IL=RL();$e.symbolNames=[];$e.symbolFuncs=[];$e.symbolNeedLines={};$e.symbolNoDot={};$e.symbolNoFill={};$e.symbolList=[];Object.keys(IL).forEach(function(e){var t=IL[e],r=t.n;$e.symbolList.push(r,String(r),e,r+100,String(r+100),e+"-open"),$e.symbolNames[r]=e,$e.symbolFuncs[r]=t.f,t.needLine&&($e.symbolNeedLines[r]=!0),t.noDot?$e.symbolNoDot[r]=!0:$e.symbolList.push(r+200,String(r+200),e+"-dot",r+300,String(r+300),e+"-open-dot"),t.noFill&&($e.symbolNoFill[r]=!0)});var dee=$e.symbolNames.length,hee="M0,0.5L0.5,0L0,-0.5L-0.5,0Z";$e.symbolNumber=function(e){if(Hu(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=$e.symbolNames.indexOf(e),e>=0&&(e+=t)}return e%100>=dee||e>=400?0:Math.floor(Math.max(e,0))};function EL(e,t){var r=e%100;return $e.symbolFuncs[r](t)+(e>=200?hee:"")}var zL={x1:1,x2:0,y1:0,y2:0},NL={x1:0,x2:0,y1:1,y2:0},FL=aee("~f"),jL={radial:{node:"radialGradient"},radialreversed:{node:"radialGradient",reversed:!0},horizontal:{node:"linearGradient",attrs:zL},horizontalreversed:{node:"linearGradient",attrs:zL,reversed:!0},vertical:{node:"linearGradient",attrs:NL},verticalreversed:{node:"linearGradient",attrs:NL,reversed:!0}};$e.gradient=function(e,t,r,a,n,i){for(var o=n.length,s=jL[a],l=new Array(o),u=0;u"+p(e);c._gradientUrlQueryParts[g]=1};$e.pattern=function(e,t,r,a,n,i,o,s,l,u,c,d){var h=t==="legend";s&&(l==="overlay"?(u=s,c=Ta.contrast(u)):(u=void 0,c=s));var p=r._fullLayout,g="p"+p._uid+"-"+a,m,b,_=function(F,N,j,B,V){return B+(V-B)*(F-N)/(j-N)},x,A,w,M,L={};switch(n){case"/":m=i*Math.sqrt(2),b=i*Math.sqrt(2),x="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,A=o*i,M="path",L={d:x,opacity:d,stroke:c,"stroke-width":A+"px"};break;case"\\":m=i*Math.sqrt(2),b=i*Math.sqrt(2),x="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,A=o*i,M="path",L={d:x,opacity:d,stroke:c,"stroke-width":A+"px"};break;case"x":m=i*Math.sqrt(2),b=i*Math.sqrt(2),x="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,A=i-i*Math.sqrt(1-o),M="path",L={d:x,opacity:d,stroke:c,"stroke-width":A+"px"};break;case"|":m=i,b=i,M="path",x="M"+m/2+",0L"+m/2+","+b,A=o*i,M="path",L={d:x,opacity:d,stroke:c,"stroke-width":A+"px"};break;case"-":m=i,b=i,M="path",x="M0,"+b/2+"L"+m+","+b/2,A=o*i,M="path",L={d:x,opacity:d,stroke:c,"stroke-width":A+"px"};break;case"+":m=i,b=i,M="path",x="M"+m/2+",0L"+m/2+","+b+"M0,"+b/2+"L"+m+","+b/2,A=i-i*Math.sqrt(1-o),M="path",L={d:x,opacity:d,stroke:c,"stroke-width":A+"px"};break;case".":m=i,b=i,o.pattern_filled";p._patternUrlQueryParts[z]=1};$e.initGradients=function(e){var t=e._fullLayout,r=er.ensureSingle(t._defs,"g","gradients");r.selectAll("linearGradient,radialGradient").remove(),t._gradientUrlQueryParts={}};$e.initPatterns=function(e){var t=e._fullLayout,r=er.ensureSingle(t._defs,"g","patterns");r.selectAll("pattern").remove(),t._patternUrlQueryParts={}};$e.getPatternAttr=function(e,t,r){return e&&er.isArrayOrTypedArray(e)?t=100,t.attr("d",EL(l,s))}var u=!1,c,d,h;if(e.so)h=o.outlierwidth,d=o.outliercolor,c=i.outliercolor;else{var p=(o||{}).width;h=(e.mlw+1||p+1||(e.trace?(e.trace.marker.line||{}).width:0)+1)-1||0,"mlc"in e?d=e.mlcc=a.lineScale(e.mlc):er.isArrayOrTypedArray(o.color)?d=Ta.defaultLine:d=o.color,er.isArrayOrTypedArray(i.color)&&(c=Ta.defaultLine,u=!0),"mc"in e?c=e.mcc=a.markerScale(e.mc):c=i.color||"rgba(0,0,0,0)",a.selectedColorFn&&(c=a.selectedColorFn(e))}if(e.om)t.call(Ta.stroke,c).style({"stroke-width":(h||1)+"px",fill:"none"});else{t.style("stroke-width",(e.isBlank?0:h)+"px");var g=i.gradient,m=e.mgt;m?u=!0:m=g&&g.type,er.isArrayOrTypedArray(m)&&(m=m[0],jL[m]||(m=0));var b=i.pattern,_=b&&$e.getPatternAttr(b.shape,e.i,"");if(m&&m!=="none"){var x=e.mgc;x?u=!0:x=g.color;var A=r.uid;u&&(A+="-"+e.i),$e.gradient(t,n,A,m,[[0,x],[1,c]],"fill")}else if(_){var w=$e.getPatternAttr(b.bgcolor,e.i,null),M=$e.getPatternAttr(b.fgcolor,e.i,null),L=b.fgopacity,S=$e.getPatternAttr(b.size,e.i,8),q=$e.getPatternAttr(b.solidity,e.i,.3),R=e.mcc||er.isArrayOrTypedArray(b.shape)||er.isArrayOrTypedArray(b.bgcolor)||er.isArrayOrTypedArray(b.size)||er.isArrayOrTypedArray(b.solidity),z=r.uid;R&&(z+="-"+e.i),$e.pattern(t,"point",n,z,_,S,q,e.mcc,b.fillmode,w,M,L)}else Ta.fill(t,c);h&&Ta.stroke(t,d)}};$e.makePointStyleFns=function(e){var t={},r=e.marker;return t.markerScale=$e.tryColorscale(r,""),t.lineScale=$e.tryColorscale(r,"line"),Zd.traceIs(e,"symbols")&&(t.ms2mrc=uee.isBubble(e)?fee(e):function(){return(r.size||6)/2}),e.selectedpoints&&er.extendFlat(t,$e.makeSelectedPointStyleFns(e)),t};$e.makeSelectedPointStyleFns=function(e){var t={},r=e.selected||{},a=e.unselected||{},n=e.marker||{},i=r.marker||{},o=a.marker||{},s=n.opacity,l=i.opacity,u=o.opacity,c=l!==void 0,d=u!==void 0;(er.isArrayOrTypedArray(s)||c||d)&&(t.selectedOpacityFn=function(w){var M=w.mo===void 0?n.opacity:w.mo;return w.selected?c?l:M:d?u:PL*M});var h=n.color,p=i.color,g=o.color;(p||g)&&(t.selectedColorFn=function(w){var M=w.mcc||h;return w.selected?p||M:g||M});var m=n.size,b=i.size,_=o.size,x=b!==void 0,A=_!==void 0;return Zd.traceIs(e,"symbols")&&(x||A)&&(t.selectedSizeFn=function(w){var M=w.mrc||m/2;return w.selected?x?b/2:M:A?_/2:M}),t};$e.makeSelectedTextStyleFns=function(e){var t={},r=e.selected||{},a=e.unselected||{},n=e.textfont||{},i=r.textfont||{},o=a.textfont||{},s=n.color,l=i.color,u=o.color;return t.selectedTextColorFn=function(c){var d=c.tc||s;return c.selected?l||d:u||(l?d:Ta.addOpacity(d,PL))},t};$e.selectedPointStyle=function(e,t){if(!(!e.size()||!t.selectedpoints)){var r=$e.makeSelectedPointStyleFns(t),a=t.marker||{},n=[];r.selectedOpacityFn&&n.push(function(i,o){i.style("opacity",r.selectedOpacityFn(o))}),r.selectedColorFn&&n.push(function(i,o){Ta.fill(i,r.selectedColorFn(o))}),r.selectedSizeFn&&n.push(function(i,o){var s=o.mx||a.symbol||0,l=r.selectedSizeFn(o);i.attr("d",EL($e.symbolNumber(s),l)),o.mrc2=l}),n.length&&e.each(function(i){for(var o=Wt.select(this),s=0;s0?r:0}$e.textPointStyle=function(e,t,r){if(!!e.size()){var a;if(t.selectedpoints){var n=$e.makeSelectedTextStyleFns(t);a=n.selectedTextColorFn}var i=t.texttemplate,o=r._fullLayout;e.each(function(s){var l=Wt.select(this),u=i?er.extractOption(s,t,"txt","texttemplate"):er.extractOption(s,t,"tx","text");if(!u&&u!==0){l.remove();return}if(i){var c=t._module.formatLabels,d=c?c(s,t,o):{},h={};cee(h,t,s.i);var p=t._meta||{};u=er.texttemplateString(u,d,o._d3locale,h,s,p)}var g=s.tp||t.textposition,m=HL(s,t),b=a?a(s):s.tc||t.textfont.color;l.call($e.font,s.tf||t.textfont.family,m,b).text(u).call(Wg.convertToTspans,r).call(OL,g,m,s.mrc)})}};$e.selectedTextStyle=function(e,t){if(!(!e.size()||!t.selectedpoints)){var r=$e.makeSelectedTextStyleFns(t);e.each(function(a){var n=Wt.select(this),i=r.selectedTextColorFn(a),o=a.tp||t.textposition,s=HL(a,t);Ta.fill(n,i);var l=Zd.traceIs(t,"bar-like");OL(n,o,s,a.mrc2||a.mrc,l)})}};var BL=.5;$e.smoothopen=function(e,t){if(e.length<3)return"M"+e.join("L");var r="M"+e[0],a=[],n;for(n=1;n=mee&&($e.savedBBoxes={},Yg=0),r&&($e.savedBBoxes[r]=p),Yg++,er.extendFlat({},p)};function UL(e){var t=e.getAttribute("data-unformatted");if(t!==null)return t+e.getAttribute("data-math")+e.getAttribute("text-anchor")+e.getAttribute("style")}$e.setClipUrl=function(e,t,r){e.attr("clip-path",Zg(t,r))};function Zg(e,t){if(!e)return null;var r=t._context,a=r._exportedPlot?"":r._baseUrl||"";return a?"url('"+a+"#"+e+"')":"url(#"+e+")"}$e.getTranslate=function(e){var t=/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,r=e.attr?"attr":"getAttribute",a=e[r]("transform")||"",n=a.replace(t,function(i,o,s){return[o,s].join(" ")}).split(" ");return{x:+n[0]||0,y:+n[1]||0}};$e.setTranslate=function(e,t,r){var a=/(\btranslate\(.*?\);?)/,n=e.attr?"attr":"getAttribute",i=e.attr?"attr":"setAttribute",o=e[n]("transform")||"";return t=t||0,r=r||0,o=o.replace(a,"").trim(),o+=Bu(t,r),o=o.trim(),e[i]("transform",o),o};$e.getScale=function(e){var t=/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,r=e.attr?"attr":"getAttribute",a=e[r]("transform")||"",n=a.replace(t,function(i,o,s){return[o,s].join(" ")}).split(" ");return{x:+n[0]||1,y:+n[1]||1}};$e.setScale=function(e,t,r){var a=/(\bscale\(.*?\);?)/,n=e.attr?"attr":"getAttribute",i=e.attr?"attr":"setAttribute",o=e[n]("transform")||"";return t=t||1,r=r||1,o=o.replace(a,"").trim(),o+="scale("+t+","+r+")",o=o.trim(),e[i]("transform",o),o};var gee=/\s*sc.*/;$e.setPointGroupScale=function(e,t,r){if(t=t||1,r=r||1,!!e){var a=t===1&&r===1?"":"scale("+t+","+r+")";e.each(function(){var n=(this.getAttribute("transform")||"").replace(gee,"");n+=a,n=n.trim(),this.setAttribute("transform",n)})}};var yee=/translate\([^)]*\)\s*$/;$e.setTextPointsScale=function(e,t,r){!e||e.each(function(){var a,n=Wt.select(this),i=n.select("text");if(!!i.node()){var o=parseFloat(i.attr("x")||0),s=parseFloat(i.attr("y")||0),l=(n.attr("transform")||"").match(yee);t===1&&r===1?a=[]:a=[Bu(o,s),"scale("+t+","+r+")",Bu(-o,-s)],l&&a.push(l),n.attr("transform",a.join(""))}})}});var Uu=E(($ye,$L)=>{"use strict";var Qd=Et(),bee=zt(),WL=Dr(),VL=ht(),sl=De(),YL=sl.strTranslate,ZL=Kt(),XL=It(),Xg=Fa(),QL=cd(),xee=wa().OPPOSITE_SIDE,KL=/ [XY][0-9]* /;function _ee(e,t,r){var a=r.propContainer,n=r.propName,i=r.placeholder,o=r.traceIndex,s=r.avoid||{},l=r.attributes,u=r.transform,c=r.containerGroup,d=e._fullLayout,h=1,p=!1,g=a.title,m=(g&&g.text?g.text:"").trim(),b=g&&g.font?g.font:{},_=b.family,x=b.size,A=b.color,w;n==="title.text"?w="titleText":n.indexOf("axis")!==-1?w="axisTitleText":n.indexOf("colorbar"!==-1)&&(w="colorbarTitleText");var M=e._context.edits[w];m===""?h=0:m.replace(KL," % ")===i.replace(KL," % ")&&(h=.2,p=!0,M||(m="")),r._meta?m=sl.templateString(m,r._meta):d._meta&&(m=sl.templateString(m,d._meta));var L=m||M,S;c||(c=sl.ensureSingle(d._infolayer,"g","g-"+t),S=d._hColorbarMoveTitle);var q=c.selectAll("text").data(L?[0]:[]);if(q.enter().append("text"),q.text(m).attr("class",t),q.exit().remove(),!L)return c;function R(j){sl.syncOrAsync([z,F],j)}function z(j){var B;return!u&&S&&(u={}),u?(B="",u.rotate&&(B+="rotate("+[u.rotate,l.x,l.y]+")"),(u.offset||S)&&(B+=YL(0,(u.offset||0)-(S||0)))):B=null,j.attr("transform",B),j.style({"font-family":_,"font-size":Qd.round(x,2)+"px",fill:XL.rgb(A),opacity:h*XL.opacity(A),"font-weight":WL.fontWeight}).attr(l).call(Xg.convertToTspans,e),WL.previousPromises(e)}function F(j){var B=Qd.select(j.node().parentNode);if(s&&s.selection&&s.side&&m){B.attr("transform",null);var V=xee[s.side],W=s.side==="left"||s.side==="top"?-1:1,Q=bee(s.pad)?s.pad:2,Y=ZL.bBox(B.node()),$={left:0,top:0,right:d.width,bottom:d.height},re=s.maxShift||W*($[s.side]-Y[s.side]),ue=0;if(re<0)ue=re;else{var ce=s.offsetLeft||0,ye=s.offsetTop||0;Y.left-=ce,Y.right-=ce,Y.top-=ye,Y.bottom-=ye,s.selection.each(function(){var we=ZL.bBox(this);sl.bBoxIntersect(Y,we,Q)&&(ue=Math.max(ue,W*(we[s.side]-Y[V])+Q))}),ue=Math.min(re,ue)}if(ue>0||re<0){var he={left:[-ue,0],right:[ue,0],top:[0,-ue],bottom:[0,ue]}[s.side];B.attr("transform",YL(he[0],he[1]))}}}q.call(R);function N(){h=0,p=!0,q.text(i).on("mouseover.opacity",function(){Qd.select(this).transition().duration(QL.SHOW_PLACEHOLDER).style("opacity",1)}).on("mouseout.opacity",function(){Qd.select(this).transition().duration(QL.HIDE_PLACEHOLDER).style("opacity",0)})}return M&&(m?q.on(".opacity",null):N(),q.call(Xg.makeEditable,{gd:e}).on("edit",function(j){o!==void 0?VL.call("_guiRestyle",e,n,j,o):VL.call("_guiRelayout",e,n,j)}).on("cancel",function(){this.text(this.attr("data-unformatted")).call(R)}).on("input",function(j){this.text(j||" ").call(Xg.positionText,l.x,l.y)})),q.classed("js-placeholder",p),c}$L.exports={draw:_ee}});var nh=E((Jye,a5)=>{"use strict";var wee=Et(),Tee=Is().utcFormat,tr=De(),Aee=tr.numberFormat,$n=zt(),Xi=tr.cleanNumber,kee=tr.ms2DateTime,JL=tr.dateTime2ms,Jn=tr.ensureNumber,e5=tr.isArrayOrTypedArray,Qi=yr(),Kd=Qi.FP_SAFE,Sn=Qi.BADNUM,Mee=Qi.LOG_CLIP,See=Qi.ONEWEEK,$d=Qi.ONEDAY,Jd=Qi.ONEHOUR,t5=Qi.ONEMIN,r5=Qi.ONESEC,eh=Er(),th=Jr(),rh=th.HOUR_PATTERN,ah=th.WEEKDAY_PATTERN;function Gu(e){return Math.pow(10,e)}function Qg(e){return e!=null}a5.exports=function(t,r){r=r||{};var a=t._id||"x",n=a.charAt(0);function i(w,M){if(w>0)return Math.log(w)/Math.LN10;if(w<=0&&M&&t.range&&t.range.length===2){var L=t.range[0],S=t.range[1];return .5*(L+S-2*Mee*Math.abs(L-S))}else return Sn}function o(w,M,L,S){if((S||{}).msUTC&&$n(w))return+w;var q=JL(w,L||t.calendar);if(q===Sn)if($n(w)){w=+w;var R=Math.floor(tr.mod(w+.05,1)*10),z=Math.round(w-R/10);q=JL(new Date(z))+R/10}else return Sn;return q}function s(w,M,L){return kee(w,M,L||t.calendar)}function l(w){return t._categories[Math.round(w)]}function u(w){if(Qg(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 M=t._categories.length-1;return t._categoriesMap[w]=M,M}return Sn}function c(w,M){for(var L=new Array(M),S=0;St.range[1]&&(L=!L);for(var S=L?-1:1,q=S*w,R=0,z=0;zN)R=z+1;else{R=q<(F+N)/2?z:z+1;break}}var j=t._B[R]||0;return isFinite(j)?g(w,t._m2,j):0},_=function(w){var M=t._rangebreaks.length;if(!M)return m(w,t._m,t._b);for(var L=0,S=0;St._rangebreaks[S].pmax&&(L=S+1);return m(w,t._m2,t._B[L])}}t.c2l=t.type==="log"?i:Jn,t.l2c=t.type==="log"?Gu:Jn,t.l2p=b,t.p2l=_,t.c2p=t.type==="log"?function(w,M){return b(i(w,M))}:b,t.p2c=t.type==="log"?function(w){return Gu(_(w))}:_,["linear","-"].indexOf(t.type)!==-1?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=Xi,t.c2d=t.c2r=t.l2d=t.l2r=Jn,t.d2p=t.r2p=function(w){return t.l2p(Xi(w))},t.p2d=t.p2r=_,t.cleanPos=Jn):t.type==="log"?(t.d2r=t.d2l=function(w,M){return i(Xi(w),M)},t.r2d=t.r2c=function(w){return Gu(Xi(w))},t.d2c=t.r2l=Xi,t.c2d=t.l2r=Jn,t.c2r=i,t.l2d=Gu,t.d2p=function(w,M){return t.l2p(t.d2r(w,M))},t.p2d=function(w){return Gu(_(w))},t.r2p=function(w){return t.l2p(Xi(w))},t.p2r=_,t.cleanPos=Jn):t.type==="date"?(t.d2r=t.r2d=tr.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,M,L){return t.l2p(o(w,0,L))},t.p2d=t.p2r=function(w,M,L){return s(_(w),M,L)},t.cleanPos=function(w){return tr.cleanDate(w,Sn,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 M=p(w);return M!==void 0?M:t.fraction2r(.5)},t.l2r=t.c2r=Jn,t.r2l=p,t.d2p=function(w){return t.l2p(t.r2c(w))},t.p2d=function(w){return l(_(w))},t.r2p=t.d2p,t.p2r=_,t.cleanPos=function(w){return typeof w=="string"&&w!==""?w:Jn(w)}):t.type==="multicategory"&&(t.r2d=t.c2d=t.l2d=l,t.d2r=t.d2l_noadd=h,t.r2c=function(w){var M=h(w);return M!==void 0?M:t.fraction2r(.5)},t.r2c_just_indices=d,t.l2r=t.c2r=Jn,t.r2l=h,t.d2p=function(w){return t.l2p(t.r2c(w))},t.p2d=function(w){return l(_(w))},t.r2p=t.d2p,t.p2r=_,t.cleanPos=function(w){return Array.isArray(w)||typeof w=="string"&&w!==""?w:Jn(w)},t.setupMultiCategory=function(w){var M=t._traceIndices,L,S,q=t._matchGroup;if(q&&t._categories.length===0){for(var R in q)if(R!==a){var z=r[eh.id2name(R)];M=M.concat(z._traceIndices)}}var F=[[0,{}],[0,{}]],N=[];for(L=0;LKd&&(L[S]=Kd),L[0]===L[1]){var z=Math.max(1,Math.abs(L[0]*1e-6));L[0]-=z,L[1]+=z}}},t.setScale=function(w){var M=r._size;if(t.overlaying){var L=eh.getFromId({_fullLayout:r},t.overlaying);t.domain=L.domain}var S=w&&t._r?"_r":"range",q=t.calendar;t.cleanRange(S);var R=t.r2l(t[S][0],q),z=t.r2l(t[S][1],q),F=n==="y";if(F?(t._offset=M.t+(1-t.domain[1])*M.h,t._length=M.h*(t.domain[1]-t.domain[0]),t._m=t._length/(R-z),t._b=-t._m*z):(t._offset=M.l+t.domain[0]*M.w,t._length=M.w*(t.domain[1]-t.domain[0]),t._m=t._length/(z-R),t._b=-t._m*R),t._rangebreaks=[],t._lBreaks=0,t._m2=0,t._B=[],t.rangebreaks){var N,j;if(t._rangebreaks=t.locateBreaks(Math.min(R,z),Math.max(R,z)),t._rangebreaks.length){for(N=0;Nz&&(B=!B),B&&t._rangebreaks.reverse();var V=B?-1:1;for(t._m2=V*t._length/(Math.abs(z-R)-t._lBreaks),t._B.push(-t._m2*(F?z:R)),N=0;Nq&&(q+=7,Rq&&(q+=24,R=S&&R=S&&w=ee.min&&(ceee.max&&(ee.max=ye),he=!1)}he&&z.push({min:ce,max:ye})}};for(L=0;L{"use strict";var n5=zt(),Kg=De(),Cee=yr().BADNUM,ih=Kg.isArrayOrTypedArray,qee=Kg.isDateTime,Lee=Kg.cleanNumber,i5=Math.round;s5.exports=function(t,r,a){var n=t,i=a.noMultiCategory;if(ih(n)&&!n.length)return"-";if(!i&&Eee(n))return"multicategory";if(i&&Array.isArray(n[0])){for(var o=[],s=0;si*2}function o5(e){return Math.max(1,(e-1)/1e3)}function Iee(e,t){for(var r=e.length,a=o5(r),n=0,i=0,o={},s=0;sn*2}function Eee(e){return ih(e[0])&&ih(e[1])}});var Wu=E((t0e,v5)=>{"use strict";var zee=Et(),l5=zt(),Bo=De(),oh=yr().FP_SAFE,Nee=ht(),Fee=Kt(),u5=Er(),jee=u5.getFromId,Oee=u5.isLinked;v5.exports={getAutoRange:Jg,makePadFn:ey,doAutoRange:Bee,findExtremes:Uee,concatExtremes:ty};function Jg(e,t){var r,a,n=[],i=e._fullLayout,o=ey(i,t,0),s=ey(i,t,1),l=ty(e,t),u=l.min,c=l.max;if(u.length===0||c.length===0)return Bo.simpleMap(t.range,t.r2l);var d=u[0].val,h=c[0].val;for(r=1;r0&&(R=x-o(M)-s(L),R>A?z/R>w&&(S=M,q=L,w=z/R):z/x>w&&(S={val:M.val,nopad:1},q={val:L.val,nopad:1},w=z/x));function F(W,Q){return Math.max(W,s(Q))}if(d===h){var N=d-1,j=d+1;if(b)if(d===0)n=[0,1];else{var B=(d>0?c:u).reduce(F,0),V=d/(1-Math.min(.5,B/x));n=d>0?[0,V]:[V,0]}else _?n=[Math.max(0,N),Math.max(1,j)]:n=[N,j]}else b?(S.val>=0&&(S={val:0,nopad:1}),q.val<=0&&(q={val:0,nopad:1})):_&&(S.val-w*o(S)<0&&(S={val:0,nopad:1}),q.val<=0&&(q={val:1,nopad:1})),w=(q.val-S.val-f5(t,M.val,L.val))/(x-o(S)-s(q)),n=[S.val-w*o(S),q.val+w*s(q)];return p&&n.reverse(),Bo.simpleMap(n,t.l2r||Number)}function f5(e,t,r){var a=0;if(e.rangebreaks)for(var n=e.locateBreaks(t,r),i=0;i0?r.ppadplus:r.ppadminus)||r.ppad||0),L=w((e._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),S=w(r.vpadplus||r.vpad),q=w(r.vpadminus||r.vpad);if(!u){if(x=1/0,A=-1/0,l)for(d=0;d0&&(x=h),h>A&&h-oh&&(x=h),h>A&&h=F;d--)z(d);return{min:a,max:n,opts:r}}function ry(e,t,r,a){d5(e,t,r,a,Gee)}function ay(e,t,r,a){d5(e,t,r,a,Wee)}function d5(e,t,r,a,n){for(var i=a.tozero,o=a.extrapad,s=!0,l=0;l=r&&(u.extrapad||!o)){s=!1;break}else n(t,u.val)&&u.pad<=r&&(o||!u.extrapad)&&(e.splice(l,1),l--)}if(s){var c=i&&t===0;e.push({val:t,pad:c?0:r,extrapad:c?!1:o})}}function h5(e){return l5(e)&&Math.abs(e)=t}});var rr=E((r0e,L5)=>{"use strict";var ei=Et(),zr=zt(),ll=Dr(),Vu=ht(),Tt=De(),ul=Tt.strTranslate,Yu=Fa(),Vee=Uu(),Zu=It(),Cn=Kt(),Yee=Qn(),p5=Rg(),ca=yr(),Zee=ca.ONEMAXYEAR,sh=ca.ONEAVGYEAR,ny=ca.ONEMINYEAR,Xee=ca.ONEMAXQUARTER,iy=ca.ONEAVGQUARTER,oy=ca.ONEMINQUARTER,Qee=ca.ONEMAXMONTH,Xu=ca.ONEAVGMONTH,sy=ca.ONEMINMONTH,Uo=ca.ONEWEEK,sn=ca.ONEDAY,Go=sn/2,xi=ca.ONEHOUR,lh=ca.ONEMIN,ly=ca.ONESEC,Wo=ca.MINUS_SIGN,uh=ca.BADNUM,uy={K:"zeroline"},fy={K:"gridline",L:"path"},m5={K:"tick",L:"path"},g5={K:"tick",L:"text"},fh=wa(),ch=fh.MID_SHIFT,Vo=fh.CAP_SHIFT,dh=fh.LINE_SPACING,Kee=fh.OPPOSITE_SIDE,cy=3,Ne=L5.exports={};Ne.setConvert=nh();var $ee=$g(),_i=Er(),Jee=_i.idSort,ete=_i.isLinked;Ne.id2name=_i.id2name;Ne.name2id=_i.name2id;Ne.cleanId=_i.cleanId;Ne.list=_i.list;Ne.listIds=_i.listIds;Ne.getFromId=_i.getFromId;Ne.getFromTrace=_i.getFromTrace;var y5=Wu();Ne.getAutoRange=y5.getAutoRange;Ne.findExtremes=y5.findExtremes;var tte=1e-4;function dy(e){var t=(e[1]-e[0])*tte;return[e[0]-t,e[1]+t]}Ne.coerceRef=function(e,t,r,a,n,i){var o=a.charAt(a.length-1),s=r._fullLayout._subplots[o+"axis"],l=a+"ref",u={};return n||(n=s[0]||(typeof i=="string"?i:i[0])),i||(i=n),s=s.concat(s.map(function(c){return c+" domain"})),u[l]={valType:"enumerated",values:s.concat(i?typeof i=="string"?[i]:i:[]),dflt:n},Tt.coerce(e,t,u,l)};Ne.getRefType=function(e){return e===void 0?e:e==="paper"?"paper":e==="pixel"?"pixel":/( domain)$/.test(e)?"domain":"range"};Ne.coercePosition=function(e,t,r,a,n,i){var o,s,l=Ne.getRefType(a);if(l!=="range")o=Tt.ensureNumber,s=r(n,i);else{var u=Ne.getFromId(t,a);i=u.fraction2r(i),s=r(n,i),o=u.cleanPos}e[n]=o(s)};Ne.cleanPosition=function(e,t,r){var a=r==="paper"||r==="pixel"?Tt.ensureNumber:Ne.getFromId(t,r).cleanPos;return a(e)};Ne.redrawComponents=function(e,t){t=t||Ne.listIds(e);var r=e._fullLayout;function a(n,i,o,s){for(var l=Vu.getComponentMethod(n,i),u={},c=0;c2e-6||((r-e._forceTick0)/e._minDtick%1+1.000001)%1>2e-6)&&(e._minDtick=0))};Ne.saveRangeInitial=function(e,t){for(var r=Ne.list(e,"",!0),a=!1,n=0;nd*.3||u(a)||u(n))){var h=r.dtick/2;e+=e+ho){var s=Number(r.substr(1));i.exactYears>o&&s%12==0?e=Ne.tickIncrement(e,"M6","reverse")+sn*1.5:i.exactMonths>o?e=Ne.tickIncrement(e,"M1","reverse")+sn*15.5:e-=Go;var l=Ne.tickIncrement(e,r);if(l<=a)return l}return e}Ne.prepTicks=function(e,t){var r=Tt.simpleMap(e.range,e.r2l,void 0,void 0,t);if(e._dtickInit=e.dtick,e._tick0Init=e.tick0,e.tickmode==="auto"||!e.dtick){var a=e.nticks,n;a||(e.type==="category"||e.type==="multicategory"?(n=e.tickfont?Tt.bigFont(e.tickfont.size||12):15,a=e._length/n):(n=e._id.charAt(0)==="y"?40:80,a=Tt.constrain(e._length/n,4,9)+1),e._name==="radialaxis"&&(a*=2)),e.tickmode==="array"&&(a*=100),e._roughDTick=Math.abs(r[1]-r[0])/a,Ne.autoTicks(e,e._roughDTick),e._minDtick>0&&e.dtick0?(i=a-1,o=a):(i=a,o=a);var s=e[i].value,l=e[o].value,u=Math.abs(l-s),c=r||u,d=0;c>=ny?u>=ny&&u<=Zee?d=u:d=sh:r===iy&&c>=oy?u>=oy&&u<=Xee?d=u:d=iy:c>=sy?u>=sy&&u<=Qee?d=u:d=Xu:r===Uo&&c>=Uo?d=Uo:c>=sn?d=sn:r===Go&&c>=Go?d=Go:r===xi&&c>=xi&&(d=xi);var h;d>=u&&(d=u,h=!0);var p=n+d;if(t.rangebreaks&&d>0){for(var g=84,m=0,b=0;bUo&&(d=u)}(d>0||a===0)&&(e[a].periodX=n+d/2)}}Ne.calcTicks=function(t,r){Ne.prepTicks(t,r);var a=Tt.simpleMap(t.range,t.r2l,void 0,void 0,r);if(t.tickmode==="array")return ste(t);var n=dy(a),i=n[0],o=n[1],s=a[1]=o:h<=o;h=Ne.tickIncrement(h,t.dtick,s,t.calendar)){if(t.rangebreaks&&!s){if(h=u)break}if(g.length>p||h===m)break;m=h;var b=!1;c&&h!==(h|0)&&(b=!0),g.push({minor:b,value:h})}d&&ote(g,t,t._definedDelta);var _;if(t.rangebreaks){var x=t._id.charAt(0)==="y",A=1;t.tickmode==="auto"&&(A=t.tickfont?t.tickfont.size:12);var w=NaN;for(_=g.length-1;_>-1;_--){if(g[_].drop){g.splice(_,1);continue}g[_].value=xy(g[_].value,t);var M=t.c2p(g[_].value);(x?w>M-A:wu||qu&&(S.periodX=u),qo&&dsh)t/=sh,r=a(10),e.dtick="M"+12*ti(t,r,hh);else if(n>Xu)t/=Xu,e.dtick="M"+ti(t,1,_5);else if(n>sn){e.dtick=ti(t,sn,e._hasDayOfWeekBreaks?[1,2,7,14]:lte);var i=Ne.getTickFormat(e),o=e.ticklabelmode==="period";o&&(e._rawTick0=e.tick0),/%[uVW]/.test(i)?e.tick0=Tt.dateTick0(e.calendar,2):e.tick0=Tt.dateTick0(e.calendar,1),o&&(e._dowTick0=e.tick0)}else n>xi?e.dtick=ti(t,xi,_5):n>lh?e.dtick=ti(t,lh,w5):n>ly?e.dtick=ti(t,ly,w5):(r=a(10),e.dtick=ti(t,r,hh))}else if(e.type==="log"){e.tick0=0;var s=Tt.simpleMap(e.range,e.r2l);if(t>.7)e.dtick=Math.ceil(t);else if(Math.abs(s[1]-s[0])<1){var l=1.5*Math.abs((s[1]-s[0])/t);t=Math.abs(Math.pow(10,s[1])-Math.pow(10,s[0]))/l,r=a(10),e.dtick="L"+ti(t,r,hh)}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))):by(e)?(e.tick0=0,r=1,e.dtick=ti(t,r,ute)):(e.tick0=0,r=a(10),e.dtick=ti(t,r,hh));if(e.dtick===0&&(e.dtick=1),!zr(e.dtick)&&typeof e.dtick!="string"){var u=e.dtick;throw e.dtick=1,"ax.dtick error: "+String(u)}};function k5(e){var t=e.dtick;if(e._tickexponent=0,!zr(t)&&typeof t!="string"&&(t=1),(e.type==="category"||e.type==="multicategory")&&(e._tickround=null),e.type==="date"){var r=e.r2l(e.tick0),a=e.l2r(r).replace(/(^-|i)/g,""),n=a.length;if(String(t).charAt(0)==="M")n>10||a.substr(5)!=="01-01"?e._tickround="d":e._tickround=+t.substr(1)%12==0?"y":"m";else if(t>=sn&&n<=10||t>=sn*15)e._tickround="d";else if(t>=lh&&n<=16||t>=xi)e._tickround="M";else if(t>=ly&&n<=19||t>=lh)e._tickround="S";else{var i=e.l2r(r+t).replace(/^-/,"").length;e._tickround=Math.max(n,i)-20,e._tickround<0&&(e._tickround=4)}}else if(zr(t)||t.charAt(0)==="L"){var o=e.range.map(e.r2d||Number);zr(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&&(vh(e.exponentformat)&&!py(l)?e._tickexponent=3*Math.round((l-1)/3):e._tickexponent=l)}else e._tickround=null}Ne.tickIncrement=function(e,t,r,a){var n=r?-1:1;if(zr(t))return Tt.increment(e,n*t);var i=t.charAt(0),o=n*Number(t.substr(1));if(i==="M")return Tt.incrementMonth(e,o,a);if(i==="L")return Math.log(Math.pow(10,e)+o)/Math.LN10;if(i==="D"){var s=t==="D2"?A5:T5,l=e+n*.01,u=Tt.roundUp(Tt.mod(l,1),s,r);return Math.floor(l)+Math.log(ei.round(Math.pow(10,u),1))/Math.LN10}throw"unrecognized dtick "+String(t)};Ne.tickFirst=function(e,t){var r=e.r2l||Number,a=Tt.simpleMap(e.range,r,void 0,void 0,t),n=a[1]=0&&b<=e._length?m:null};n.xbnd=[g(n.x-.5),g(n.x+e.dtick-.5)]}return n};Ne.hoverLabelText=function(e,t,r){r&&(e=Tt.extendFlat({},e,{hoverformat:r}));var a=Array.isArray(t)?t[0]:t,n=Array.isArray(t)?t[1]:void 0;if(n!==void 0&&n!==a)return Ne.hoverLabelText(e,a,r)+" - "+Ne.hoverLabelText(e,n,r);var i=e.type==="log"&&a<=0,o=Ne.tickText(e,e.c2l(i?-a:a),"hover").text;return i?a===0?"0":Wo+o:o};function vy(e,t,r){var a=e.tickfont||{};return{x:t,dx:0,dy:0,text:r||"",fontSize:a.size,font:a.family,fontColor:a.color}}function fte(e,t,r,a){var n=e._tickround,i=r&&e.hoverformat||Ne.getTickFormat(e);a&&(zr(n)?n=4:n={y:"m",m:"d",d:"M",M:"S",S:4}[n]);var o=Tt.formatDate(t.x,i,n,e._dateFormat,e.calendar,e._extraFormat),s,l=o.indexOf(` -`);if(l!==-1&&(s=o.substr(l+1),o=o.substr(0,l)),a&&(o==="00:00:00"||o==="00:00"?(o=s,s=""):o.length===8&&(o=o.replace(/:00$/,""))),s)if(r)n==="d"?o+=", "+s:o=s+(o?", "+o:"");else if(!e._inCalcTicks||e._prevDateHead!==s)e._prevDateHead=s,o+="
"+s;else{var u=Ku(e),c=e._trueSide||e.side;(!u&&c==="top"||u&&c==="bottom")&&(o+="
")}t.text=o}function cte(e,t,r,a,n){var i=e.dtick,o=t.x,s=e.tickformat,l=typeof i=="string"&&i.charAt(0);if(n==="never"&&(n=""),a&&l!=="L"&&(i="L3",l="L"),s||l==="L")t.text=Qu(Math.pow(10,o),e,n,a);else if(zr(i)||l==="D"&&Tt.mod(o+.01,1)<.1){var u=Math.round(o),c=Math.abs(u),d=e.exponentformat;d==="power"||vh(d)&&py(u)?(u===0?t.text=1:u===1?t.text="10":t.text="10"+(u>1?"":Wo)+c+"",t.fontSize*=1.25):(d==="e"||d==="E")&&c>2?t.text="1"+d+(u>0?"+":Wo)+c:(t.text=Qu(Math.pow(10,o),e,"","fakehover"),i==="D1"&&e._id.charAt(0)==="y"&&(t.dy-=t.fontSize/6))}else if(l==="D")t.text=String(Math.round(Math.pow(10,Tt.mod(o,1)))),t.fontSize*=.75;else throw"unrecognized dtick "+String(i);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 dte(e,t){var r=e._categories[Math.round(t.x)];r===void 0&&(r=""),t.text=String(r)}function hte(e,t,r){var a=Math.round(t.x),n=e._categories[a]||[],i=n[1]===void 0?"":String(n[1]),o=n[0]===void 0?"":String(n[0]);r?t.text=o+" - "+i:(t.text=i,t.text2=o)}function vte(e,t,r,a,n){n==="never"?n="":e.showexponent==="all"&&Math.abs(t.x/e.dtick)<1e-6&&(n="hide"),t.text=Qu(t.x,e,n,a)}function pte(e,t,r,a,n){if(e.thetaunit==="radians"&&!r){var i=t.x/180;if(i===0)t.text="0";else{var o=mte(i);if(o[1]>=100)t.text=Qu(Tt.deg2rad(t.x),e,n,a);else{var s=t.x<0;o[1]===1?o[0]===1?t.text="\u03C0":t.text=o[0]+"\u03C0":t.text=["",o[0],"","\u2044","",o[1],"","\u03C0"].join(""),s&&(t.text=Wo+t.text)}}}else t.text=Qu(t.x,e,n,a)}function mte(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 a(s){for(var l=1;!t(Math.round(s*l)/l,s);)l*=10;return l}var n=a(e),i=e*n,o=Math.abs(r(i,n));return[Math.round(i/o),Math.round(n/o)]}var gte=["f","p","n","\u03BC","m","","k","M","G","T"];function vh(e){return e==="SI"||e==="B"}function py(e){return e>14||e<-15}function Qu(e,t,r,a){var n=e<0,i=t._tickround,o=r||t.exponentformat||"B",s=t._tickexponent,l=Ne.getTickFormat(t),u=t.separatethousands;if(a){var c={exponentformat:o,minexponent:t.minexponent,dtick:t.showexponent==="none"?t.dtick:zr(e)&&Math.abs(e)||1,range:t.showexponent==="none"?t.range.map(t.r2d):[0,e||1]};k5(c),i=(Number(c._tickround)||0)+4,s=c._tickexponent,t.hoverformat&&(l=t.hoverformat)}if(l)return t._numFormat(l)(e).replace(/-/g,Wo);var d=Math.pow(10,-i)/2;if(o==="none"&&(s=0),e=Math.abs(e),e"+g+"":o==="B"&&s===9?e+="B":vh(o)&&(e+=gte[s/3+5])}return n?Wo+e:e}Ne.getTickFormat=function(e){var t;function r(l){return typeof l!="string"?l:Number(l.replace("M",""))*Xu}function a(l,u){var c=["L","D"];if(typeof l==typeof u){if(typeof l=="number")return l-u;var d=c.indexOf(l.charAt(0)),h=c.indexOf(u.charAt(0));return d===h?Number(l.replace(/(L|D)/g,""))-Number(u.replace(/(L|D)/g,"")):d-h}else return typeof l=="number"?1:-1}function n(l,u,c){var d=c||function(g){return g},h=u[0],p=u[1];return(!h&&typeof h!="number"||d(h)<=d(l))&&(!p&&typeof p!="number"||d(p)>=d(l))}function i(l,u){var c=u[0]===null,d=u[1]===null,h=a(l,u[0])>=0,p=a(l,u[1])<=0;return(c||h)&&(d||p)}var o,s;if(e.tickformatstops&&e.tickformatstops.length>0)switch(e.type){case"date":case"linear":{for(t=0;t0?G.bottom-Ue:0,Me)))),t.automargin){Z={x:0,y:0,r:0,l:0,t:0,b:0};var be=[0,1];if(l==="x"){if(Te==="b"?Z[Te]=t._depth:(Z[Te]=t._depth=Math.max(G.width>0?Ue-G.top:0,Me),be.reverse()),G.width>0){var Ae=G.right-(t._offset+t._length);Ae>0&&(Z.xr=1,Z.r=Ae);var je=t._offset-G.left;je>0&&(Z.xl=0,Z.l=je)}}else if(Te==="l"?Z[Te]=t._depth=Math.max(G.height>0?Ue-G.left:0,Me):(Z[Te]=t._depth=Math.max(G.height>0?G.right-Ue:0,Me),be.reverse()),G.height>0){var Ye=G.bottom-(t._offset+t._length);Ye>0&&(Z.yb=0,Z.b=Ye);var Ce=t._offset-G.top;Ce>0&&(Z.yt=1,Z.t=Ce)}Z[u]=t.anchor==="free"?t.position:t._anchorAxis.domain[be[0]],t.title.text!==o._dfltTitle[l]&&(Z[Te]+=M5(t)+(t.title.standoff||0)),t.mirror&&t.anchor!=="free"&&(O={x:0,y:0,r:0,l:0,t:0,b:0},O[qe]=t.linewidth,t.mirror&&t.mirror!==!0&&(O[qe]+=Me),t.mirror===!0||t.mirror==="ticks"?O[u]=t._anchorAxis.domain[be[1]]:(t.mirror==="all"||t.mirror==="allticks")&&(O[u]=[t._counterDomainMin,t._counterDomainMax][be[1]]))}Se&&(le=Vu.getComponentMethod("rangeslider","autoMarginOpts")(e,t)),ll.autoMargin(e,yy(t),Z),ll.autoMargin(e,C5(t),O),ll.autoMargin(e,q5(t),le)}),!r.skipTitle&&!(Se&&t.side==="bottom")&&we.push(function(){return Ate(e,t)}),Tt.syncOrAsync(we)}};function yte(e,t){var r=[],a,n=function(i,o){var s=i.xbnd[o];s!==null&&r.push(Tt.extendFlat({},i,{x:s}))};if(t.length){for(a=0;a60?-.5*B:e.side==="top"!==c?-B:0};else if(S==="y"){if(R=!c&&L==="left"||c&&L==="right",w=R?1:-1,c&&(w*=-1),_=h,x=p*w,A=0,!c&&Math.abs(q)===90&&(q===-90&&L==="left"||q===90&&L==="right"?A=Vo:A=.5),c){var z=zr(q)?+q:0;if(z!==0){var F=Tt.deg2rad(z);M=Math.abs(Math.sin(F))*Vo*w,A=0}}b.xFn=function(N){return N.dx+t-(_+N.fontSize*A)*w+M*N.fontSize},b.yFn=function(N){return N.dy+x+N.fontSize*ch},b.anchorFn=function(N,j){return zr(j)&&Math.abs(j)===90?"middle":R?"end":"start"},b.heightFn=function(N,j,B){return e.side==="right"&&(j*=-1),j<-30?-B:j<30?-.5*B:0}}return b};function ph(e){return[e.text,e.x,e.axInfo,e.font,e.fontSize,e.fontColor].join("_")}Ne.drawTicks=function(e,t,r){r=r||{};var a=t._id+"tick",n=r.vals;t.ticklabelmode==="period"&&(n=n.slice(),n.shift());var i=r.layer.selectAll("path."+a).data(t.ticks?n:[],ph);i.exit().remove(),i.enter().append("path").classed(a,1).classed("ticks",1).classed("crisp",r.crisp!==!1).call(Zu.stroke,t.tickcolor).style("stroke-width",Cn.crispRound(e,t.tickwidth,1)+"px").attr("d",r.path).style("display",null),gh(t,[m5]),i.attr("transform",r.transFn)};Ne.drawGrid=function(e,t,r){r=r||{};var a=t._id+"grid",n=r.vals,i=r.counterAxis;if(t.showgrid===!1)n=[];else if(i&&Ne.shouldShowZeroLine(e,t,i))for(var o=t.tickmode==="array",s=0;sF||ue.leftF||ue.top+(t.tickangle?0:Y.fontSize/4)t["_visibleLabelMin_"+R._id]?Y.style("display","none"):F.K==="tick"&&!z&&Y.style("display",null)})})})})},p(d,c+1?c:u);function g(){return h.length&&Promise.all(h)}var m=null;function b(){if(p(d,u),s.length&&i==="x"&&!zr(u)&&(t.type!=="log"||String(t.dtick).charAt(0)!=="D")){m=0;var w=0,M=[],L;if(d.each(function(ue){w=Math.max(w,ue.fontSize);var ce=t.l2p(ue.x),ye=gy(this),he=Cn.bBox(ye.node());M.push({top:0,bottom:10,height:10,left:ce-he.width/2,right:ce+he.width/2+2,width:he.width+2})}),(t.tickson==="boundaries"||t.showdividers)&&!r.secondary){var S=2;for(t.ticks&&(S+=t.tickwidth/2),L=0;L1&&r1)for(n=1;n=n.min&&e{var Lte={left:0,top:0};D5.exports=Dte;function Dte(e,t,r){t=t||e.currentTarget||e.srcElement,Array.isArray(r)||(r=[0,0]);var a=e.clientX||0,n=e.clientY||0,i=Rte(t);return r[0]=a-i.left,r[1]=n-i.top,r}function Rte(e){return e===window||e===document||e===document.body?Lte:e.getBoundingClientRect()}});var _y=E((n0e,P5)=>{"use strict";var Pte=tg();function Ite(){var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch(r){e=!1}return e}P5.exports=Pte&&Ite()});var E5=E((i0e,I5)=>{"use strict";I5.exports=function(t,r,a,n,i){var o=(t-a)/(n-a),s=o+r/(n-a),l=(o+s)/2;return i==="left"||i==="bottom"?o:i==="center"||i==="middle"?l:i==="right"||i==="top"?s:o<2/3-l?o:s>4/3-l?s:l}});var F5=E((o0e,N5)=>{"use strict";var z5=De(),Ete=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];N5.exports=function(t,r,a,n){return a==="left"?t=0:a==="center"?t=1:a==="right"?t=2:t=z5.constrain(Math.floor(t*3),0,2),n==="bottom"?r=0:n==="middle"?r=1:n==="top"?r=2:r=z5.constrain(Math.floor(r*3),0,2),Ete[r][t]}});var O5=E((s0e,j5)=>{"use strict";var zte=Du(),Nte=Md(),Fte=md().getGraphDiv,jte=bu(),wy=j5.exports={};wy.wrapped=function(e,t,r){e=Fte(e),e._fullLayout&&Nte.clear(e._fullLayout._uid+jte.HOVERID),wy.raw(e,t,r)};wy.raw=function(t,r){var a=t._fullLayout,n=t._hoverdata;r||(r={}),!(r.target&&!t._dragged&&zte.triggerHandler(t,"plotly_beforehover",r)===!1)&&(a._hoverlayer.selectAll("g").remove(),a._hoverlayer.selectAll("line").remove(),a._hoverlayer.selectAll("circle").remove(),t._hoverdata=void 0,r.target&&n&&t.emit("plotly_unhover",{event:r,points:n}))}});var qn=E((l0e,U5)=>{"use strict";var Ote=R5(),Ty=ag(),Hte=_y(),Bte=De().removeElement,Ute=Jr(),Yo=U5.exports={};Yo.align=E5();Yo.getCursor=F5();var H5=O5();Yo.unhover=H5.wrapped;Yo.unhoverRaw=H5.raw;Yo.init=function(t){var r=t.gd,a=1,n=r._context.doubleClickDelay,i=t.element,o,s,l,u,c,d,h,p;r._mouseDownTime||(r._mouseDownTime=0),i.style.pointerEvents="all",i.onmousedown=b,Hte?(i._ontouchstart&&i.removeEventListener("touchstart",i._ontouchstart),i._ontouchstart=b,i.addEventListener("touchstart",b,{passive:!1})):i.ontouchstart=b;function g(A,w,M){return Math.abs(A)n&&(a=Math.max(a-1,1)),r._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(a,d),!p){var w;try{w=new MouseEvent("click",A)}catch(L){var M=Ay(A);w=document.createEvent("MouseEvents"),w.initMouseEvent("click",A.bubbles,A.cancelable,A.view,A.detail,A.screenX,A.screenY,M[0],M[1],A.ctrlKey,A.altKey,A.shiftKey,A.metaKey,A.button,A.relatedTarget)}h.dispatchEvent(w)}r._dragging=!1,r._dragged=!1}};function B5(){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}Yo.coverSlip=B5;function Ay(e){return Ote(e.changedTouches?e.changedTouches[0]:e,document.body)}});var Ki=E((u0e,G5)=>{"use strict";G5.exports=function(t,r){(t.attr("class")||"").split(" ").forEach(function(a){a.indexOf("cursor-")===0&&t.classed(a,!1)}),r&&t.classed("cursor-"+r,!0)}});var Y5=E((f0e,V5)=>{"use strict";var ky=Ki(),$u="data-savedcursor",W5="!!";V5.exports=function(t,r){var a=t.attr($u);if(r){if(!a){for(var n=(t.attr("class")||"").split(" "),i=0;i{"use strict";var My=_a(),Gte=hi();Z5.exports={bgcolor:{valType:"color",editType:"legend",description:["Sets the legend background color.","Defaults to `layout.paper_bgcolor`."].join(" ")},bordercolor:{valType:"color",dflt:Gte.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:My({editType:"legend",description:"Sets the font used to text the legend items."}),grouptitlefont:My({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(" ")},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",min:-2,max:3,editType:"legend",description:["Sets the x position (in normalized coordinates) of the legend.","Defaults to *1.02* for vertical legends and","defaults to *0* for horizontal legends."].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",min:-2,max:3,editType:"legend",description:["Sets the y position (in normalized coordinates) of the legend.","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."].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:My({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"],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","legend area in both x and y sides."].join(" ")},editType:"legend"},editType:"legend"}});var bh=E(yh=>{"use strict";yh.isGrouped=function(t){return(t.traceorder||"").indexOf("grouped")!==-1};yh.isVertical=function(t){return t.orientation!=="h"};yh.isReversed=function(t){return(t.traceorder||"").indexOf("reversed")!==-1}});var Ly=E((h0e,X5)=>{"use strict";var Cy=ht(),Ln=De(),Wte=sr(),Vte=Oi(),Yte=Sy(),Zte=Us(),qy=bh();X5.exports=function(t,r,a){var n=t.legend||{},i=Wte.newContainer(r,"legend");function o(q,R){return Ln.coerce(n,i,Yte,q,R)}for(var s,l=function(q,R){var z=s._input,F=s;return Ln.coerce(z,F,Vte,q,R)},u=r.font||{},c=Ln.coerceFont(o,"grouptitlefont",Ln.extendFlat({},u,{size:Math.round(u.size*1.1)})),d=0,h=!1,p="normal",g=0;g1);if(m===!1&&(r.legend=void 0),!(m===!1&&!n.uirevision)&&(o("uirevision",r.uirevision),m!==!1)){o("bgcolor",r.paper_bgcolor),o("bordercolor"),o("borderwidth");var b=Ln.coerceFont(o,"font",r.font),_=o("orientation"),x=_==="h",A,w,M;x?(A=0,Cy.getComponentMethod("rangeslider","isVisible")(t.xaxis)?(w=1.1,M="bottom"):(w=-.1,M="top")):(A=1.02,w=1,M="auto"),o("traceorder",p),qy.isGrouped(r.legend)&&o("tracegroupgap"),o("itemsizing"),o("itemwidth"),o("itemclick"),o("itemdoubleclick"),o("groupclick"),o("x",A),o("xanchor"),o("y",w),o("yanchor",M),o("valign"),Ln.noneOrAll(n,i,["x","y"]);var L=o("title.text");if(L){o("title.side",x?"left":"top");var S=Ln.extendFlat({},b,{size:Ln.bigFont(b.size)});Ln.coerceFont(o,"title.font",S)}}}});var K5=E((v0e,Q5)=>{"use strict";var Dy=De(),Zo=ht(),Ry=!0;Q5.exports=function(t,r,a){var n=r._fullLayout;if(r._dragged||r._editing)return;var i=n.legend.itemclick,o=n.legend.itemdoubleclick,s=n.legend.groupclick;a===1&&i==="toggle"&&o==="toggleothers"&&Ry&&r.data&&r._context.showTips&&Dy.notifier(Dy._(r,"Double-click on legend to isolate one trace"),"long"),Ry=!1;var l;if(a===1?l=i:a===2&&(l=o),!l)return;var u=s==="togglegroup",c=n.hiddenlabels?n.hiddenlabels.slice():[],d=t.data()[0][0];if(d.groupTitle&&d.noClick)return;var h=r._fullData,p=d.trace,g=p.legendgroup,m,b,_,x,A,w,M={},L=[],S=[],q=[];function R(he,we,ee){var Se=L.indexOf(he),Te=M[we];return Te||(Te=M[we]=[]),L.indexOf(he)===-1&&(L.push(he),Se=L.length-1),Te[Se]=ee,Se}function z(he,we){if(!(d.groupTitle&&!u)){var ee=he._fullInput;if(Zo.hasTransform(ee,"groupby")){var Se=S[ee.index];if(!Se){var Te=Zo.getTransformIndices(ee,"groupby"),qe=Te[Te.length-1];Se=Dy.keyedContainer(ee,"transforms["+qe+"].styles","target","value.visible"),S[ee.index]=Se}var Ue=Se.get(he._group);Ue===void 0&&(Ue=!0),Ue!==!1&&Se.set(he._group,we),q[ee.index]=R(ee.index,"visible",ee.visible!==!1)}else{var Me=ee.visible===!1?!1:we;R(ee.index,"visible",Me)}}}if(Zo.traceIs(p,"pie-like")){var F=d.label,N=c.indexOf(F);l==="toggle"?N===-1?c.push(F):c.splice(N,1):l==="toggleothers"&&(c=[],r.calcdata[0].forEach(function(he){F!==he.label&&c.push(he.label)}),r._fullLayout.hiddenlabels&&r._fullLayout.hiddenlabels.length===c.length&&N===-1&&(c=[])),Zo.call("_guiRelayout",r,"hiddenlabels",c)}else{var j=g&&g.length,B=[],V;if(j)for(m=0;m{"use strict";$5.exports={scrollBarWidth:6,scrollBarMinHeight:20,scrollBarColor:"#808BA4",scrollBarMargin:4,scrollBarEnterAttrs:{rx:20,ry:3,width:0,height:0},titlePad:2,itemGap:5}});var tD=E((m0e,eD)=>{"use strict";var J5=ht(),Iy=bh();eD.exports=function(t,r){var a=r._inHover,n=Iy.isGrouped(r),i=Iy.isReversed(r),o={},s=[],l=!1,u={},c=0,d=0,h,p;function g(V,W){if(V===""||!Iy.isGrouped(r)){var Q="~~i"+c;s.push(Q),o[Q]=[W],c++}else s.indexOf(V)===-1?(s.push(V),l=!0,o[V]=[W]):o[V].push(W)}for(h=0;hq&&(S=q)}M[h][0]._groupMinRank=S,M[h][0]._preGroupSort=h}var R=function(V,W){return V[0]._groupMinRank-W[0]._groupMinRank||V[0]._preGroupSort-W[0]._preGroupSort},z=function(V,W){return V.trace.legendrank-W.trace.legendrank||V._preSort-W._preSort};for(M.forEach(function(V,W){V[0]._preGroupSort=W}),M.sort(R),h=0;h{"use strict";var rD=De();function aD(e){return e.indexOf("e")!==-1?e.replace(/[.]?0+e/,"e"):e.indexOf(".")!==-1?e.replace(/[.]?0+$/,""):e}Xo.formatPiePercent=function(t,r){var a=aD((t*100).toPrecision(3));return rD.numSeparate(a,r)+"%"};Xo.formatPieValue=function(t,r){var a=aD(t.toPrecision(10));return rD.numSeparate(a,r)};Xo.getFirstFilled=function(t,r){if(!!Array.isArray(t))for(var a=0;a{"use strict";var zy=It(),nD=Ey().castOption;iD.exports=function(t,r,a){var n=a.marker.line,i=nD(n.color,r.pts)||zy.defaultLine,o=nD(n.width,r.pts)||0;t.style("stroke-width",o).call(zy.fill,r.color).call(zy.stroke,i)}});var Oy=E((b0e,dD)=>{"use strict";var da=Et(),Ny=ht(),ta=De(),sD=ta.strTranslate,Aa=Kt(),ln=It(),Fy=on().extractOpts,xh=Va(),Xte=oD(),Qte=Ey().castOption,Kte=Py(),lD=12,uD=5,Qo=2,$te=10,fl=5;dD.exports=function(t,r,a){var n=r._fullLayout;a||(a=n.legend);var i=a.itemsizing==="constant",o=a.itemwidth,s=(o+Kte.itemGap*2)/2,l=sD(s,0),u=function(S,q,R,z){var F;if(S+1)F=S;else if(q&&q.width>0)F=q.width;else return 0;return i?z:Math.min(F,R)};t.each(function(S){var q=da.select(this),R=ta.ensureSingle(q,"g","layers");R.style("opacity",S[0].trace.opacity);var z=a.valign,F=S[0].lineHeight,N=S[0].height;if(z==="middle"||!F||!N)R.attr("transform",null);else{var j={top:1,bottom:-1}[z],B=j*(.5*(F-N+3));R.attr("transform",sD(0,B))}var V=R.selectAll("g.legendfill").data([S]);V.enter().append("g").classed("legendfill",!0);var W=R.selectAll("g.legendlines").data([S]);W.enter().append("g").classed("legendlines",!0);var Q=R.selectAll("g.legendsymbols").data([S]);Q.enter().append("g").classed("legendsymbols",!0),Q.selectAll("g.legendpoints").data([S]).enter().append("g").classed("legendpoints",!0)}).each(L).each(h).each(g).each(p).each(b).each(w).each(A).each(c).each(d).each(_).each(x);function c(S){var q=fD(S),R=q.showFill,z=q.showLine,F=q.showGradientLine,N=q.showGradientFill,j=q.anyFill,B=q.anyLine,V=S[0],W=V.trace,Q,Y,$=Fy(W),re=$.colorscale,ue=$.reversescale,ce=function(qe){if(qe.size()){var Ue="legendfill-"+W.uid;Aa.gradient(qe,r,Ue,jy(ue),re,"fill")}},ye=function(qe){if(qe.size()){var Ue="legendline-"+W.uid;Aa.lineGroupStyle(qe),Aa.gradient(qe,r,Ue,jy(ue),re,"stroke")}},he=xh.hasMarkers(W)||!j?"M5,0":B?"M5,-2":"M5,-3",we=da.select(this),ee=we.select(".legendfill").selectAll("path").data(R||N?[S]:[]);if(ee.enter().append("path").classed("js-fill",!0),ee.exit().remove(),ee.attr("d",he+"h"+o+"v6h-"+o+"z").call(R?Aa.fillGroupStyle:ce),z||F){var Se=u(void 0,W.line,$te,uD);Y=ta.minExtend(W,{line:{width:Se}}),Q=[ta.minExtend(V,{trace:Y})]}var Te=we.select(".legendlines").selectAll("path").data(z||F?[Q]:[]);Te.enter().append("path").classed("js-line",!0),Te.exit().remove(),Te.attr("d",he+(F?"l"+o+",0.0001":"h"+o)).call(z?Aa.lineGroupStyle:ye)}function d(S){var q=fD(S),R=q.anyFill,z=q.anyLine,F=q.showLine,N=q.showMarker,j=S[0],B=j.trace,V=!N&&!z&&!R&&xh.hasText(B),W,Q;function Y(ee,Se,Te,qe){var Ue=ta.nestedProperty(B,ee).get(),Me=ta.isArrayOrTypedArray(Ue)&&Se?Se(Ue):Ue;if(i&&Me&&qe!==void 0&&(Me=qe),Te){if(MeTe[1])return Te[1]}return Me}function $(ee){return j._distinct&&j.index&&ee[j.index]?ee[j.index]:ee[0]}if(N||V||F){var re={},ue={};if(N){re.mc=Y("marker.color",$),re.mx=Y("marker.symbol",$),re.mo=Y("marker.opacity",ta.mean,[.2,1]),re.mlc=Y("marker.line.color",$),re.mlw=Y("marker.line.width",ta.mean,[0,5],Qo),ue.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var ce=Y("marker.size",ta.mean,[2,16],lD);re.ms=ce,ue.marker.size=ce}F&&(ue.line={width:Y("line.width",$,[0,10],uD)}),V&&(re.tx="Aa",re.tp=Y("textposition",$),re.ts=10,re.tc=Y("textfont.color",$),re.tf=Y("textfont.family",$)),W=[ta.minExtend(j,re)],Q=ta.minExtend(B,ue),Q.selectedpoints=null,Q.texttemplate=null}var ye=da.select(this).select("g.legendpoints"),he=ye.selectAll("path.scatterpts").data(N?W:[]);he.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform",l),he.exit().remove(),he.call(Aa.pointStyle,Q,r),N&&(W[0].mrc=3);var we=ye.selectAll("g.pointtext").data(V?W:[]);we.enter().append("g").classed("pointtext",!0).append("text").attr("transform",l),we.exit().remove(),we.selectAll("text").call(Aa.textPointStyle,Q,r)}function h(S){var q=S[0].trace,R=q.type==="waterfall";if(S[0]._distinct&&R){var z=S[0].trace[S[0].dir].marker;return S[0].mc=z.color,S[0].mlw=z.line.width,S[0].mlc=z.line.color,m(S,this,"waterfall")}var F=[];q.visible&&R&&(F=S[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 N=da.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(F);N.enter().append("path").classed("legendwaterfall",!0).attr("transform",l).style("stroke-miterlimit",1),N.exit().remove(),N.each(function(j){var B=da.select(this),V=q[j[0]].marker,W=u(void 0,V.line,fl,Qo);B.attr("d",j[1]).style("stroke-width",W+"px").call(ln.fill,V.color),W&&B.call(ln.stroke,V.line.color)})}function p(S){m(S,this)}function g(S){m(S,this,"funnel")}function m(S,q,R){var z=S[0].trace,F=z.marker||{},N=F.line||{},j=R?z.visible&&z.type===R:Ny.traceIs(z,"bar"),B=da.select(q).select("g.legendpoints").selectAll("path.legend"+R).data(j?[S]:[]);B.enter().append("path").classed("legend"+R,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",l),B.exit().remove(),B.each(function(V){var W=da.select(this),Q=V[0],Y=u(Q.mlw,F.line,fl,Qo);W.style("stroke-width",Y+"px");var $=Q.mcc;if(!a._inHover&&"mc"in Q){var re=Fy(F),ue=re.mid;ue===void 0&&(ue=(re.max+re.min)/2),$=Aa.tryColorscale(F,"")(ue)}var ce=$||Q.mc||F.color,ye=F.pattern,he=ye&&Aa.getPatternAttr(ye.shape,0,"");if(he){var we=Aa.getPatternAttr(ye.bgcolor,0,null),ee=Aa.getPatternAttr(ye.fgcolor,0,null),Se=ye.fgopacity,Te=cD(ye.size,8,10),qe=cD(ye.solidity,.5,1),Ue="legend-"+z.uid;W.call(Aa.pattern,"legend",r,Ue,he,Te,qe,$,ye.fillmode,we,ee,Se)}else W.call(ln.fill,ce);Y&&ln.stroke(W,Q.mlc||N.color)})}function b(S){var q=S[0].trace,R=da.select(this).select("g.legendpoints").selectAll("path.legendbox").data(q.visible&&Ny.traceIs(q,"box-violin")?[S]:[]);R.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform",l),R.exit().remove(),R.each(function(){var z=da.select(this);if((q.boxpoints==="all"||q.points==="all")&&ln.opacity(q.fillcolor)===0&&ln.opacity((q.line||{}).color)===0){var F=ta.minExtend(q,{marker:{size:i?lD:ta.constrain(q.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});R.call(Aa.pointStyle,F,r)}else{var N=u(void 0,q.line,fl,Qo);z.style("stroke-width",N+"px").call(ln.fill,q.fillcolor),N&&ln.stroke(z,q.line.color)}})}function _(S){var q=S[0].trace,R=da.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(q.visible&&q.type==="candlestick"?[S,S]:[]);R.enter().append("path").classed("legendcandle",!0).attr("d",function(z,F){return F?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"}).attr("transform",l).style("stroke-miterlimit",1),R.exit().remove(),R.each(function(z,F){var N=da.select(this),j=q[F?"increasing":"decreasing"],B=u(void 0,j.line,fl,Qo);N.style("stroke-width",B+"px").call(ln.fill,j.fillcolor),B&&ln.stroke(N,j.line.color)})}function x(S){var q=S[0].trace,R=da.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(q.visible&&q.type==="ohlc"?[S,S]:[]);R.enter().append("path").classed("legendohlc",!0).attr("d",function(z,F){return F?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"}).attr("transform",l).style("stroke-miterlimit",1),R.exit().remove(),R.each(function(z,F){var N=da.select(this),j=q[F?"increasing":"decreasing"],B=u(void 0,j.line,fl,Qo);N.style("fill","none").call(Aa.dashLine,j.line.dash,B),B&&ln.stroke(N,j.line.color)})}function A(S){M(S,this,"pie")}function w(S){M(S,this,"funnelarea")}function M(S,q,R){var z=S[0],F=z.trace,N=R?F.visible&&F.type===R:Ny.traceIs(F,R),j=da.select(q).select("g.legendpoints").selectAll("path.legend"+R).data(N?[S]:[]);if(j.enter().append("path").classed("legend"+R,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",l),j.exit().remove(),j.size()){var B=(F.marker||{}).line,V=u(Qte(B.width,z.pts),B,fl,Qo),W=ta.minExtend(F,{marker:{line:{width:V}}});W.marker.line.color=B.color;var Q=ta.minExtend(z,{trace:W});Xte(j,Q,W)}}function L(S){var q=S[0].trace,R,z=[];if(q.visible)switch(q.type){case"histogram2d":case"heatmap":z=[["M-15,-2V4H15V-2Z"]],R=!0;break;case"choropleth":case"choroplethmapbox":z=[["M-6,-6V6H6V-6Z"]],R=!0;break;case"densitymapbox":z=[["M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"]],R="radial";break;case"cone":z=[["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"]],R=!1;break;case"streamtube":z=[["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"]],R=!1;break;case"surface":z=[["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"]],R=!0;break;case"mesh3d":z=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],R=!1;break;case"volume":z=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],R=!0;break;case"isosurface":z=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6 A12,24 0 0,0 6,-6 L0,6Z"]],R=!1;break}var F=da.select(this).select("g.legendpoints").selectAll("path.legend3dandfriends").data(z);F.enter().append("path").classed("legend3dandfriends",!0).attr("transform",l).style("stroke-miterlimit",1),F.exit().remove(),F.each(function(N,j){var B=da.select(this),V=Fy(q),W=V.colorscale,Q=V.reversescale,Y=function(ce){if(ce.size()){var ye="legendfill-"+q.uid;Aa.gradient(ce,r,ye,jy(Q,R==="radial"),W,"fill")}},$;if(W){if(!R){var ue=W.length;$=j===0?W[Q?ue-1:0][1]:j===1?W[Q?0:ue-1][1]:W[Math.floor((ue-1)/2)][1]}}else{var re=q.vertexcolor||q.facecolor||q.color;$=ta.isArrayOrTypedArray(re)?re[j]||re[0]:re}B.attr("d",N[0]),$?B.call(ln.fill,$):B.call(Y)})}};function jy(e,t){var r=t?"radial":"horizontal";return r+(e?"":"reversed")}function fD(e){var t=e[0].trace,r=t.contours,a=xh.hasLines(t),n=xh.hasMarkers(t),i=t.visible&&t.fill&&t.fill!=="none",o=!1,s=!1;if(r){var l=r.coloring;l==="lines"?o=!0:a=l==="none"||l==="heatmap"||r.showlines,r.type==="constraint"?i=r._operation!=="=":(l==="fill"||l==="heatmap")&&(s=!0)}return{showMarker:n,showLine:a,showFill:i,showGradientLine:o,showGradientFill:s,anyLine:a||o,anyFill:i||s}}function cD(e,t,r){return e&&ta.isArrayOrTypedArray(e)?t:e>r?r:e}});var Vy=E((x0e,xD)=>{"use strict";var Ya=Et(),_r=De(),Hy=Dr(),Ko=ht(),hD=Du(),By=qn(),Rr=Kt(),_h=It(),cl=Fa(),vD=K5(),Xr=Py(),Uy=wa(),Jte=Uy.LINE_SPACING,wh=Uy.FROM_TL,pD=Uy.FROM_BR,mD=tD(),ere=Oy(),gD=bh(),dl=1;xD.exports=function(t,r){return r||(r=t._fullLayout.legend||{}),tre(t,r)};function tre(e,t){var r=e._fullLayout,a="legend"+r._uid,n,i=t._inHover;if(i?(n=t.layer,a+="-hover"):n=r._infolayer,!!n){e._legendMouseDownTime||(e._legendMouseDownTime=0);var o;if(i){if(!t.entries)return;o=mD(t.entries,t)}else{if(!e.calcdata)return;o=r.showlegend&&mD(e.calcdata,t)}var s=r.hiddenlabels||[];if(!i&&(!r.showlegend||!o.length))return n.selectAll(".legend").remove(),r._topdefs.select("#"+a).remove(),Hy.autoMargin(e,"legend");var l=_r.ensureSingle(n,"g","legend",function(_){i||_.attr("pointer-events","all")}),u=_r.ensureSingleById(r._topdefs,"clipPath",a,function(_){_.append("rect")}),c=_r.ensureSingle(l,"rect","bg",function(_){_.attr("shape-rendering","crispEdges")});c.call(_h.stroke,t.bordercolor).call(_h.fill,t.bgcolor).style("stroke-width",t.borderwidth+"px");var d=_r.ensureSingle(l,"g","scrollbox"),h=t.title;if(t._titleWidth=0,t._titleHeight=0,h.text){var p=_r.ensureSingle(d,"text","legendtitletext");p.attr("text-anchor","start").call(Rr.font,h.font).text(h.text),Th(p,d,e,t,dl)}else d.selectAll(".legendtitletext").remove();var g=_r.ensureSingle(l,"rect","scrollbar",function(_){_.attr(Xr.scrollBarEnterAttrs).call(_h.fill,Xr.scrollBarColor)}),m=d.selectAll("g.groups").data(o);m.enter().append("g").attr("class","groups"),m.exit().remove();var b=m.selectAll("g.traces").data(_r.identity);b.enter().append("g").attr("class","traces"),b.exit().remove(),b.style("opacity",function(_){var x=_[0].trace;return Ko.traceIs(x,"pie-like")?s.indexOf(_[0].label)!==-1?.5:1:x.visible==="legendonly"?.5:1}).each(function(){Ya.select(this).call(rre,e,t)}).call(ere,e,t).each(function(){i||Ya.select(this).call(are,e)}),_r.syncOrAsync([Hy.previousPromises,function(){return ore(e,m,b,t)},function(){var _=r._size,x=t.borderwidth;if(!i){var A=sre(e);if(A)return;var w=_.l+_.w*t.x-wh[Gy(t)]*t._width,M=_.t+_.h*(1-t.y)-wh[Wy(t)]*t._effHeight;if(r.margin.autoexpand){var L=w,S=M;w=_r.constrain(w,0,r.width-t._width),M=_r.constrain(M,0,r.height-t._effHeight),w!==L&&_r.log("Constrain legend.x to make legend fit inside graph"),M!==S&&_r.log("Constrain legend.y to make legend fit inside graph")}Rr.setTranslate(l,w,M)}if(g.on(".drag",null),l.on("wheel",null),i||t._height<=t._maxHeight||e._context.staticPlot){var q=t._effHeight;i&&(q=t._height),c.attr({width:t._width-x,height:q-x,x:x/2,y:x/2}),Rr.setTranslate(d,0,0),u.select("rect").attr({width:t._width-2*x,height:q-2*x,x,y:x}),Rr.setClipUrl(d,a,e),Rr.setRect(g,0,0,0,0),delete t._scrollY}else{var R=Math.max(Xr.scrollBarMinHeight,t._effHeight*t._effHeight/t._height),z=t._effHeight-R-2*Xr.scrollBarMargin,F=t._height-t._effHeight,N=z/F,j=Math.min(t._scrollY||0,F);c.attr({width:t._width-2*x+Xr.scrollBarWidth+Xr.scrollBarMargin,height:t._effHeight-x,x:x/2,y:x/2}),u.select("rect").attr({width:t._width-2*x+Xr.scrollBarWidth+Xr.scrollBarMargin,height:t._effHeight-2*x,x,y:x+j}),Rr.setClipUrl(d,a,e),ue(j,R,N),l.on("wheel",function(){j=_r.constrain(t._scrollY+Ya.event.deltaY/z*F,0,F),ue(j,R,N),j!==0&&j!==F&&Ya.event.preventDefault()});var B,V,W,Q=function(ee,Se,Te){var qe=(Te-Se)/N+ee;return _r.constrain(qe,0,F)},Y=function(ee,Se,Te){var qe=(Se-Te)/N+ee;return _r.constrain(qe,0,F)},$=Ya.behavior.drag().on("dragstart",function(){var ee=Ya.event.sourceEvent;ee.type==="touchstart"?B=ee.changedTouches[0].clientY:B=ee.clientY,W=j}).on("drag",function(){var ee=Ya.event.sourceEvent;ee.buttons===2||ee.ctrlKey||(ee.type==="touchmove"?V=ee.changedTouches[0].clientY:V=ee.clientY,j=Q(W,B,V),ue(j,R,N))});g.call($);var re=Ya.behavior.drag().on("dragstart",function(){var ee=Ya.event.sourceEvent;ee.type==="touchstart"&&(B=ee.changedTouches[0].clientY,W=j)}).on("drag",function(){var ee=Ya.event.sourceEvent;ee.type==="touchmove"&&(V=ee.changedTouches[0].clientY,j=Y(W,B,V),ue(j,R,N))});d.call(re)}function ue(ee,Se,Te){t._scrollY=e._fullLayout.legend._scrollY=ee,Rr.setTranslate(d,0,-ee),Rr.setRect(g,t._width,Xr.scrollBarMargin+ee*Te,Xr.scrollBarWidth,Se),u.select("rect").attr("y",x+ee)}if(e._context.edits.legendPosition){var ce,ye,he,we;l.classed("cursor-move",!0),By.init({element:l.node(),gd:e,prepFn:function(){var ee=Rr.getTranslate(l);he=ee.x,we=ee.y},moveFn:function(ee,Se){var Te=he+ee,qe=we+Se;Rr.setTranslate(l,Te,qe),ce=By.align(Te,0,_.l,_.l+_.w,t.xanchor),ye=By.align(qe,0,_.t+_.h,_.t,t.yanchor)},doneFn:function(){ce!==void 0&&ye!==void 0&&Ko.call("_guiRelayout",e,{"legend.x":ce,"legend.y":ye})},clickFn:function(ee,Se){var Te=n.selectAll("g.traces").filter(function(){var qe=this.getBoundingClientRect();return Se.clientX>=qe.left&&Se.clientX<=qe.right&&Se.clientY>=qe.top&&Se.clientY<=qe.bottom});Te.size()>0&&yD(e,l,Te,ee,Se)}})}}],e)}}function yD(e,t,r,a,n){var i=r.data()[0][0].trace,o={event:n,node:r.node(),curveNumber:i.index,expandedIndex:i._expandedIndex,data:e.data,layout:e.layout,frames:e._transitionData._frames,config:e._context,fullData:e._fullData,fullLayout:e._fullLayout};i._group&&(o.group=i._group),Ko.traceIs(i,"pie-like")&&(o.label=r.datum()[0].label);var s=hD.triggerHandler(e,"plotly_legendclick",o);if(s!==!1){if(a===1)t._clickTimeout=setTimeout(function(){!e._fullLayout||vD(r,e,a)},e._context.doubleClickDelay);else if(a===2){t._clickTimeout&&clearTimeout(t._clickTimeout),e._legendMouseDownTime=0;var l=hD.triggerHandler(e,"plotly_legenddoubleclick",o);l!==!1&&vD(r,e,a)}}}function rre(e,t,r){var a=e.data()[0][0],n=a.trace,i=Ko.traceIs(n,"pie-like"),o=!r._inHover&&t._context.edits.legendText&&!i,s=r._maxNameLength,l,u;a.groupTitle?(l=a.groupTitle.text,u=a.groupTitle.font):(u=r.font,r.entries?l=a.text:(l=i?a.label:n.name,n._meta&&(l=_r.templateString(l,n._meta))));var c=_r.ensureSingle(e,"text","legendtext");c.attr("text-anchor","start").call(Rr.font,u).text(o?bD(l,s):l);var d=r.itemwidth+Xr.itemGap*2;cl.positionText(c,d,0),o?c.call(cl.makeEditable,{gd:t,text:l}).call(Th,e,t,r).on("edit",function(h){this.text(bD(h,s)).call(Th,e,t,r);var p=a.trace._fullInput||{},g={};if(Ko.hasTransform(p,"groupby")){var m=Ko.getTransformIndices(p,"groupby"),b=m[m.length-1],_=_r.keyedContainer(p,"transforms["+b+"].styles","target","value.name");_.set(a.trace._group,h),g=_.constructUpdate()}else g.name=h;return Ko.call("_guiRestyle",t,g,n.index)}):Th(c,e,t,r)}function bD(e,t){var r=Math.max(4,t);if(e&&e.trim().length>=r/2)return e;e=e||"";for(var a=r-e.length;a>0;a--)e+=" ";return e}function are(e,t){var r=t._context.doubleClickDelay,a,n=1,i=_r.ensureSingle(e,"rect","legendtoggle",function(o){t._context.staticPlot||o.style("cursor","pointer").attr("pointer-events","all"),o.call(_h.fill,"rgba(0,0,0,0)")});t._context.staticPlot||(i.on("mousedown",function(){a=new Date().getTime(),a-t._legendMouseDownTimer&&(n=Math.max(n-1,1)),yD(t,o,e,n,Ya.event)}}))}function Th(e,t,r,a,n){a._inHover&&e.attr("data-notex",!0),cl.convertToTspans(e,r,function(){nre(t,r,a,n)})}function nre(e,t,r,a){var n=e.data()[0][0];if(!r._inHover&&n&&!n.trace.showlegend){e.remove();return}var i=e.select("g[class*=math-group]"),o=i.node();r||(r=t._fullLayout.legend);var s=r.borderwidth,l;a===dl?l=r.title.font:n.groupTitle?l=n.groupTitle.font:l=r.font;var u=l.size*Jte,c,d;if(o){var h=Rr.bBox(o);c=h.height,d=h.width,a===dl?Rr.setTranslate(i,s,s+c*.75):Rr.setTranslate(i,0,c*.25)}else{var p=e.select(a===dl?".legendtitletext":".legendtext"),g=cl.lineCount(p),m=p.node();if(c=u*g,d=m?Rr.bBox(m).width:0,a===dl)r.title.side==="left"&&(d+=Xr.itemGap*2),cl.positionText(p,s+Xr.titlePad,s+u);else{var b=Xr.itemGap*2+r.itemwidth;n.groupTitle&&(b=Xr.itemGap,d-=r.itemwidth),cl.positionText(p,b,-u*((g-1)/2-.3))}}a===dl?(r._titleWidth=d,r._titleHeight=c):(n.lineHeight=u,n.height=Math.max(c,16)+3,n.width=d)}function ire(e){var t=0,r=0,a=e.title.side;return a&&(a.indexOf("left")!==-1&&(t=e._titleWidth),a.indexOf("top")!==-1&&(r=e._titleHeight)),[t,r]}function ore(e,t,r,a){var n=e._fullLayout;a||(a=n.legend);var i=n._size,o=gD.isVertical(a),s=gD.isGrouped(a),l=a.borderwidth,u=2*l,c=Xr.itemGap,d=a.itemwidth+c*2,h=2*(l+c),p=Wy(a),g=a.y<0||a.y===0&&p==="top",m=a.y>1||a.y===1&&p==="bottom",b=a.tracegroupgap;a._maxHeight=Math.max(g||m?n.height/2:i.h,30);var _=0;a._width=0,a._height=0;var x=ire(a);if(o)r.each(function(ce){var ye=ce[0].height;Rr.setTranslate(this,l+x[0],l+x[1]+a._height+ye/2+c),a._height+=ye,a._width=Math.max(a._width,ce[0].width)}),_=d+a._width,a._width+=c+d+u,a._height+=h,s&&(t.each(function(ce,ye){Rr.setTranslate(this,0,ye*a.tracegroupgap)}),a._height+=(a._lgroupsLength-1)*a.tracegroupgap);else{var A=Gy(a),w=a.x<0||a.x===0&&A==="right",M=a.x>1||a.x===1&&A==="left",L=m||g,S=n.width/2;a._maxWidth=Math.max(w?L&&A==="left"?i.l+i.w:S:M?L&&A==="right"?i.r+i.w:S:i.w,2*d);var q=0,R=0;r.each(function(ce){var ye=ce[0].width+d;q=Math.max(q,ye),R+=ye}),_=null;var z=0;if(s){var F=0,N=0,j=0;t.each(function(){var ce=0,ye=0;Ya.select(this).selectAll("g.traces").each(function(we){var ee=we[0].width,Se=we[0].height;Rr.setTranslate(this,x[0],x[1]+l+c+Se/2+ye),ye+=Se,ce=Math.max(ce,d+ee)}),F=Math.max(F,ye);var he=ce+c;N>0&&he+l+N>a._maxWidth&&(z=Math.max(z,N),N=0,j+=F+b,F=ye),Rr.setTranslate(this,N,j),N+=he}),a._width=Math.max(z,N)+l,a._height=j+F+h}else{var B=r.size(),V=R+u+(B-1)*c=a._maxWidth&&(z=Math.max(z,$),Q=0,Y+=W,a._height+=W,W=0),Rr.setTranslate(this,x[0]+l+Q,x[1]+l+Y+ye/2+c),$=Q+he+c,Q+=we,W=Math.max(W,ye)}),V?(a._width=Q+u,a._height=W+h):(a._width=Math.max(z,$)+u,a._height+=W+h)}}a._width=Math.ceil(Math.max(a._width+x[0],a._titleWidth+2*(l+Xr.titlePad))),a._height=Math.ceil(Math.max(a._height+x[1],a._titleHeight+2*(l+Xr.itemGap))),a._effHeight=Math.min(a._height,a._maxHeight);var re=e._context.edits,ue=re.legendText||re.legendPosition;r.each(function(ce){var ye=Ya.select(this).select(".legendtoggle"),he=ce[0].height,we=ue?d:_||d+ce[0].width;o||(we+=c/2),Rr.setRect(ye,0,-he/2,we,he)})}function sre(e){var t=e._fullLayout,r=t.legend,a=Gy(r),n=Wy(r);return Hy.autoMargin(e,"legend",{x:r.x,y:r.y,l:r._width*wh[a],r:r._width*pD[a],b:r._effHeight*pD[n],t:r._effHeight*wh[n]})}function Gy(e){return _r.isRightAnchor(e)?"right":_r.isCenterAnchor(e)?"center":"left"}function Wy(e){return _r.isBottomAnchor(e)?"bottom":_r.isMiddleAnchor(e)?"middle":"top"}});var Qy=E(Xy=>{"use strict";var $o=Et(),wi=zt(),_D=An(),wr=De(),Yy=wr.strTranslate,lre=wr.strRotate,ure=Du(),un=Fa(),fre=Y5(),ri=Kt(),Nr=It(),Ah=qn(),$i=rr(),hl=ht(),Dn=bi(),Jo=bu(),cre=Ly(),dre=Vy(),wD=Jo.YANGLE,Zy=Math.PI*wD/180,hre=1/Math.sin(Zy),vre=Math.cos(Zy),pre=Math.sin(Zy),ar=Jo.HOVERARROWSIZE,Nt=Jo.HOVERTEXTPAD,TD={box:!0,ohlc:!0,violin:!0,candlestick:!0},mre={scatter:!0,scattergl:!0,splom:!0};Xy.hover=function(t,r,a,n){t=wr.getGraphDiv(t);var i=r.target;wr.throttle(t._fullLayout._uid+Jo.HOVERID,Jo.HOVERMINTIME,function(){gre(t,r,a,n,i)})};Xy.loneHover=function(t,r){var a=!0;Array.isArray(t)||(a=!1,t=[t]);var n=r.gd,i=RD(n),o=PD(n),s=t.map(function(m){var b=m._x0||m.x0||m.x||0,_=m._x1||m.x1||m.x||0,x=m._y0||m.y0||m.y||0,A=m._y1||m.y1||m.y||0,w=m.eventData;if(w){var M=Math.min(b,_),L=Math.max(b,_),S=Math.min(x,A),q=Math.max(x,A),R=m.trace;if(hl.traceIs(R,"gl3d")){var z=n._fullLayout[R.scene]._scene.container,F=z.offsetLeft,N=z.offsetTop;M+=F,L+=F,S+=N,q+=N}w.bbox={x0:M+o,x1:L+o,y0:S+i,y1:q+i},r.inOut_bbox&&r.inOut_bbox.push(w.bbox)}else w=!1;return{color:m.color||Nr.defaultLine,x0:m.x0||m.x||0,x1:m.x1||m.x||0,y0:m.y0||m.y||0,y1:m.y1||m.y||0,xLabel:m.xLabel,yLabel:m.yLabel,zLabel:m.zLabel,text:m.text,name:m.name,idealAlign:m.idealAlign,borderColor:m.borderColor,fontFamily:m.fontFamily,fontSize:m.fontSize,fontColor:m.fontColor,nameLength:m.nameLength,textAlign:m.textAlign,trace:m.trace||{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:m.hovertemplate||!1,hovertemplateLabels:m.hovertemplateLabels||!1,eventData:w}}),l=!1,u=kD(s,{gd:n,hovermode:"closest",rotateLabels:l,bgColor:r.bgColor||Nr.background,container:$o.select(r.container),outerContainer:r.outerContainer||r.container}),c=5,d=0,h=0;u.sort(function(m,b){return m.y0-b.y0}).each(function(m,b){var _=m.y0-m.by/2;_-ch[0]._length||he<0||he>p[0]._length)return Ah.unhoverRaw(e,t)}if(t.pointerX=ye+h[0]._offset,t.pointerY=he+p[0]._offset,"xval"in t?S=Dn.flat(i,t.xval):S=Dn.p2c(h,ye),"yval"in t?q=Dn.flat(i,t.yval):q=Dn.p2c(p,he),!wi(S[0])||!wi(q[0]))return wr.warn("Fx.hover failed",t,e),Ah.unhoverRaw(e,t)}var Se=1/0;function Te(ke,Fe){for(z=0;z$&&(M.splice(0,$),Se=M[0].distance),u&&w!==0&&M.length===0){Y.distance=w,Y.index=!1;var or=N._module.hoverPoints(Y,W,Q,"closest",{hoverLayer:o._hoverlayer});if(or&&(or=or.filter(function(ma){return ma.spikeDistance<=w})),or&&or.length){var na,Un=or.filter(function(ma){return ma.xa.showspikes&&ma.xa.spikesnap!=="hovered data"});if(Un.length){var Qr=Un[0];wi(Qr.x0)&&wi(Qr.y0)&&(na=Ue(Qr),(!re.vLinePoint||re.vLinePoint.spikeDistance>na.spikeDistance)&&(re.vLinePoint=na))}var Ba=or.filter(function(ma){return ma.ya.showspikes&&ma.ya.spikesnap!=="hovered data"});if(Ba.length){var xn=Ba[0];wi(xn.x0)&&wi(xn.y0)&&(na=Ue(xn),(!re.hLinePoint||re.hLinePoint.spikeDistance>na.spikeDistance)&&(re.hLinePoint=na))}}}}}Te();function qe(ke,Fe,qt){for(var fr=null,Or=1/0,Cr,or=0;or0&&Math.abs(ke.distance)lt-1;He--)ze(M[He]);M=pt,O()}var Ee=e._hoverdata,ge=[],xe=RD(e),Re=PD(e);for(R=0;R1||M.length>1)||x==="closest"&&ue&&M.length>1,Ct=Nr.combine(o.plot_bgcolor||Nr.background,o.paper_bgcolor),te=kD(M,{gd:e,hovermode:x,rotateLabels:wt,bgColor:Ct,container:o._hoverlayer,outerContainer:o._paper.node(),commonLabelOpts:o.hoverlabel,hoverdistance:o.hoverdistance});if(Dn.isUnifiedHover(x)||(bre(te,wt?"xa":"ya",o),SD(te,wt,o._invScaleX,o._invScaleY)),n&&n.tagName){var _e=hl.getComponentMethod("annotations","hasClickToShow")(e,ge);fre($o.select(n),_e?"pointer":"")}!n||a||!_re(e,t,Ee)||(Ee&&e.emit("plotly_unhover",{event:t,points:Ee}),e.emit("plotly_hover",{event:t,points:e._hoverdata,xaxes:h,yaxes:p,xvals:S,yvals:q}))}function AD(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 yre=/([\s\S]*)<\/extra>/;function kD(e,t){var r=t.gd,a=r._fullLayout,n=t.hovermode,i=t.rotateLabels,o=t.bgColor,s=t.container,l=t.outerContainer,u=t.commonLabelOpts||{};if(e.length===0)return[[]];var c=t.fontFamily||Jo.HOVERFONT,d=t.fontSize||Jo.HOVERFONTSIZE,h=e[0],p=h.xa,g=h.ya,m=n.charAt(0),b=h[m+"Label"],_=vl(r,l),x=_.top,A=_.width,w=_.height,M=b!==void 0&&h.distance<=t.hoverdistance&&(n==="x"||n==="y");if(M){var L=!0,S,q;for(S=0;Sa.width-Ee?(de=a.width-Ee,st.attr("d","M"+(Ee-ar)+",0L"+Ee+","+He+ar+"v"+He+(Nt*2+fe.height)+"H-"+Ee+"V"+He+ar+"H"+(Ee-ar*2)+"Z")):st.attr("d","M0,0L"+ar+","+He+ar+"H"+(Nt+fe.width/2)+"v"+He+(Nt*2+fe.height)+"H-"+(Nt+fe.width/2)+"V"+He+ar+"H-"+ar+"Z")}else{var ge,xe,Re;g.side==="right"?(ge="start",xe=1,Re="",de=p._offset+p._length):(ge="end",xe=-1,Re="-",de=p._offset),ze=g._offset+(h.y0+h.y1)/2,Ze.attr("text-anchor",ge),st.attr("d","M0,0L"+Re+ar+","+ar+"V"+(Nt+fe.height/2)+"h"+Re+(Nt*2+fe.width)+"V-"+(Nt+fe.height/2)+"H"+Re+ar+"V-"+ar+"Z");var Pe=fe.height/2,Ie=x-fe.top-Pe,Be="clip"+a._uid+"commonlabel"+g._id,ut;if(de=0?Ae=Z:O+we=0?Ae=O:le+we=0?je=Me:G+ee=0?je=G:be+ee=0,(Ce.idealAlign==="top"||!nt)&&Rt?(Ie-=ut/2,Ce.anchor="end"):nt?(Ie+=ut/2,Ce.anchor="start"):Ce.anchor="middle";else if(Ce.pos=Ie,nt=Pe+Be/2+Mt<=A,Rt=Pe-Be/2-Mt>=0,(Ce.idealAlign==="left"||!nt)&&Rt)Pe-=Be/2,Ce.anchor="end";else if(nt)Pe+=Be/2,Ce.anchor="start";else{Ce.anchor="middle";var St=Mt/2,wt=Pe+St-A,Ct=Pe-St;wt>0&&(Pe-=wt),Ct<0&&(Pe+=-Ct)}He.attr("text-anchor",Ce.anchor),ge&&Ee.attr("text-anchor",Ce.anchor),st.attr("transform",Yy(Pe,Ie)+(i?lre(wD):""))}),Ye}function MD(e,t,r,a,n,i){var o="",s="";e.nameOverride!==void 0&&(e.name=e.nameOverride),e.name&&(e.trace._meta&&(e.name=wr.templateString(e.name,e.trace._meta)),o=LD(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+"
"),e.yLabel!==void 0&&(s+="y: "+e.yLabel+"
"),e.trace.type!=="choropleth"&&e.trace.type!=="choroplethmapbox"&&(s+=(s?"z: ":"")+e.zLabel)):t&&e[l+"Label"]===n?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?"
":"")+e.text),e.extraText!==void 0&&(s+=(s?"
":"")+e.extraText),i&&s===""&&!e.hovertemplate&&(o===""&&i.remove(),s=o);var c=e.hovertemplate||!1;if(c){var d=e.hovertemplateLabels||e;e[l+"Label"]!==n&&(d[l+"other"]=d[l+"Val"],d[l+"otherLabel"]=d[l+"Label"]),s=wr.hovertemplateString(c,d,a._d3locale,e.eventData[0]||{},e.trace._meta),s=s.replace(yre,function(h,p){return o=LD(p,e.nameLength),""})}return[s,o]}function bre(e,t,r){var a=0,n=1,i=e.size(),o=new Array(i),s=0;e.each(function(S){var q=S[t],R=q._id.charAt(0)==="x",z=q.range;s===0&&z&&z[0]>z[1]!==R&&(n=-1),o[s++]=[{datum:S,traceIndex:S.trace.index,dp:0,pos:S.pos,posref:S.posref,size:S.by*(R?hre:1)/2,pmin:0,pmax:R?r.width:r.height}]}),o.sort(function(S,q){return S[0].posref-q[0].posref||n*(q[0].traceIndex-S[0].traceIndex)});var l,u,c,d,h,p,g;function m(S){var q=S[0],R=S[S.length-1];if(u=q.pmin-q.pos-q.dp+q.size,c=R.pos+R.dp+R.size-q.pmax,u>.01){for(h=S.length-1;h>=0;h--)S[h].dp+=u;l=!1}if(!(c<.01)){if(u<-.01){for(h=S.length-1;h>=0;h--)S[h].dp-=c;l=!1}if(!!l){var z=0;for(d=0;dq.pmax&&z++;for(d=S.length-1;d>=0&&!(z<=0);d--)p=S[d],p.pos>q.pmax-1&&(p.del=!0,z--);for(d=0;d=0;h--)S[h].dp-=c;for(d=S.length-1;d>=0&&!(z<=0);d--)p=S[d],p.pos+p.dp+p.size>q.pmax&&(p.del=!0,z--)}}}for(;!l&&a<=i;){for(a++,l=!0,d=0;d.01&&x.pmin===A.pmin&&x.pmax===A.pmax){for(h=_.length-1;h>=0;h--)_[h].dp+=u;for(b.push.apply(b,_),o.splice(d+1,1),g=0,h=b.length-1;h>=0;h--)g+=b[h].dp;for(c=g/b.length,h=b.length-1;h>=0;h--)b[h].dp-=c;l=!1}else d++}o.forEach(m)}for(d=o.length-1;d>=0;d--){var w=o[d];for(h=w.length-1;h>=0;h--){var M=w[h],L=M.datum;L.offset=M.dp,L.del=M.del}}}function SD(e,t,r,a){var n=function(o){return o*r},i=function(o){return o*a};e.each(function(o){var s=$o.select(this);if(o.del)return s.remove();var l=s.select("text.nums"),u=o.anchor,c=u==="end"?-1:1,d={start:1,end:-1,middle:0}[u],h=d*(ar+Nt),p=h+d*(o.txwidth+Nt),g=0,m=o.offset,b=u==="middle";b&&(h-=o.tx2width/2,p+=o.txwidth/2+Nt),t&&(m*=-pre,g=o.offset*vre),s.select("path").attr("d",b?"M-"+n(o.bx/2+o.tx2width/2)+","+i(m-o.by/2)+"h"+n(o.bx)+"v"+i(o.by)+"h-"+n(o.bx)+"Z":"M0,0L"+n(c*ar+g)+","+i(ar+m)+"v"+i(o.by/2-ar)+"h"+n(c*o.bx)+"v-"+i(o.by)+"H"+n(c*ar+g)+"V"+i(m-ar)+"Z");var _=g+h,x=m+o.ty0-o.by/2+Nt,A=o.textAlign||"auto";A!=="auto"&&(A==="left"&&u!=="start"?(l.attr("text-anchor","start"),_=b?-o.bx/2-o.tx2width/2+Nt:-o.bx-Nt):A==="right"&&u!=="end"&&(l.attr("text-anchor","end"),_=b?o.bx/2-o.tx2width/2-Nt:o.bx+Nt)),l.call(un.positionText,n(_),i(x)),o.tx2width&&(s.select("text.name").call(un.positionText,n(p+d*Nt+g),i(m+o.ty0-o.by/2+Nt)),s.select("rect").call(ri.setRect,n(p+(d-1)*o.tx2width/2+g),i(m-o.by/2-1),n(o.tx2width),i(o.by+2)))})}function xre(e,t){var r=e.index,a=e.trace||{},n=e.cd[0],i=e.cd[r]||{};function o(h){return h||wi(h)&&h===0}var s=Array.isArray(r)?function(h,p){var g=wr.castOption(n,r,h);return o(g)?g:wr.extractOption({},a,"",p)}:function(h,p){return wr.extractOption(i,a,h,p)};function l(h,p,g){var m=s(p,g);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("nameLength","hnl","hoverlabel.namelength"),l("textAlign","hta","hoverlabel.align"),e.posref=t==="y"||t==="closest"&&a.orientation==="h"?e.xa._offset+(e.x0+e.x1)/2:e.ya._offset+(e.y0+e.y1)/2,e.x0=wr.constrain(e.x0,0,e.xa._length),e.x1=wr.constrain(e.x1,0,e.xa._length),e.y0=wr.constrain(e.y0,0,e.ya._length),e.y1=wr.constrain(e.y1,0,e.ya._length),e.xLabelVal!==void 0&&(e.xLabel="xLabel"in e?e.xLabel:$i.hoverLabelText(e.xa,e.xLabelVal,a.xhoverformat),e.xVal=e.xa.c2d(e.xLabelVal)),e.yLabelVal!==void 0&&(e.yLabel="yLabel"in e?e.yLabel:$i.hoverLabelText(e.ya,e.yLabelVal,a.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=$i.tickText(e.xa,e.xa.c2l(e.xerr),"hover").text;e.xerrneg!==void 0?e.xLabel+=" +"+u+" / -"+$i.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 c=$i.tickText(e.ya,e.ya.c2l(e.yerr),"hover").text;e.yerrneg!==void 0?e.yLabel+=" +"+c+" / -"+$i.tickText(e.ya,e.ya.c2l(e.yerrneg),"hover").text:e.yLabel+=" \xB1 "+c,t==="y"&&(e.distance+=1)}var d=e.hoverinfo||e.trace.hoverinfo;return d&&d!=="all"&&(d=Array.isArray(d)?d:d.split("+"),d.indexOf("x")===-1&&(e.xLabel=void 0),d.indexOf("y")===-1&&(e.yLabel=void 0),d.indexOf("z")===-1&&(e.zLabel=void 0),d.indexOf("text")===-1&&(e.text=void 0),d.indexOf("name")===-1&&(e.name=void 0)),e}function CD(e,t,r){var a=r.container,n=r.fullLayout,i=n._size,o=r.event,s=!!t.hLinePoint,l=!!t.vLinePoint,u,c;if(a.selectAll(".spikeline").remove(),!!(l||s)){var d=Nr.combine(n.plot_bgcolor,n.paper_bgcolor);if(s){var h=t.hLinePoint,p,g;u=h&&h.xa,c=h&&h.ya;var m=c.spikesnap;m==="cursor"?(p=o.pointerX,g=o.pointerY):(p=u._offset+h.x,g=c._offset+h.y);var b=_D.readability(h.color,d)<1.5?Nr.contrast(d):h.color,_=c.spikemode,x=c.spikethickness,A=c.spikecolor||b,w=$i.getPxPosition(e,c),M,L;if(_.indexOf("toaxis")!==-1||_.indexOf("across")!==-1){if(_.indexOf("toaxis")!==-1&&(M=w,L=p),_.indexOf("across")!==-1){var S=c._counterDomainMin,q=c._counterDomainMax;c.anchor==="free"&&(S=Math.min(S,c.position),q=Math.max(q,c.position)),M=i.l+S*i.w,L=i.l+q*i.w}a.insert("line",":first-child").attr({x1:M,x2:L,y1:g,y2:g,"stroke-width":x,stroke:A,"stroke-dasharray":ri.dashStyle(c.spikedash,x)}).classed("spikeline",!0).classed("crisp",!0),a.insert("line",":first-child").attr({x1:M,x2:L,y1:g,y2:g,"stroke-width":x+2,stroke:d}).classed("spikeline",!0).classed("crisp",!0)}_.indexOf("marker")!==-1&&a.insert("circle",":first-child").attr({cx:w+(c.side!=="right"?x:-x),cy:g,r:x,fill:A}).classed("spikeline",!0)}if(l){var R=t.vLinePoint,z,F;u=R&&R.xa,c=R&&R.ya;var N=u.spikesnap;N==="cursor"?(z=o.pointerX,F=o.pointerY):(z=u._offset+R.x,F=c._offset+R.y);var j=_D.readability(R.color,d)<1.5?Nr.contrast(d):R.color,B=u.spikemode,V=u.spikethickness,W=u.spikecolor||j,Q=$i.getPxPosition(e,u),Y,$;if(B.indexOf("toaxis")!==-1||B.indexOf("across")!==-1){if(B.indexOf("toaxis")!==-1&&(Y=Q,$=F),B.indexOf("across")!==-1){var re=u._counterDomainMin,ue=u._counterDomainMax;u.anchor==="free"&&(re=Math.min(re,u.position),ue=Math.max(ue,u.position)),Y=i.t+(1-ue)*i.h,$=i.t+(1-re)*i.h}a.insert("line",":first-child").attr({x1:z,x2:z,y1:Y,y2:$,"stroke-width":V,stroke:W,"stroke-dasharray":ri.dashStyle(u.spikedash,V)}).classed("spikeline",!0).classed("crisp",!0),a.insert("line",":first-child").attr({x1:z,x2:z,y1:Y,y2:$,"stroke-width":V+2,stroke:d}).classed("spikeline",!0).classed("crisp",!0)}B.indexOf("marker")!==-1&&a.insert("circle",":first-child").attr({cx:z,cy:Q-(u.side!=="top"?V:-V),r:V,fill:W}).classed("spikeline",!0)}}}function _re(e,t,r){if(!r||r.length!==e._hoverdata.length)return!0;for(var a=r.length-1;a>=0;a--){var n=r[a],i=e._hoverdata[a];if(n.curveNumber!==i.curveNumber||String(n.pointNumber)!==String(i.pointNumber)||String(n.pointNumbers)!==String(i.pointNumbers))return!0}return!1}function qD(e,t){return!t||t.vLinePoint!==e._spikepoints.vLinePoint||t.hLinePoint!==e._spikepoints.hLinePoint}function LD(e,t){return un.plainText(e||"",{len:t,allowedTags:["br","sub","sup","b","i","em"]})}function wre(e,t){for(var r=t.charAt(0),a=[],n=[],i=[],o=0;o{"use strict";var Tre=De(),Are=It(),kre=bi().isUnifiedHover;ID.exports=function(t,r,a,n){n=n||{};var i=r.legend;function o(s){n.font[s]||(n.font[s]=i?r.legend.font[s]:r.font[s])}r&&kre(r.hovermode)&&(n.font||(n.font={}),o("size"),o("family"),o("color"),i?(n.bgcolor||(n.bgcolor=Are.combine(r.legend.bgcolor,r.paper_bgcolor)),n.bordercolor||(n.bordercolor=r.legend.bordercolor)):n.bgcolor||(n.bgcolor=r.paper_bgcolor)),a("hoverlabel.bgcolor",n.bgcolor),a("hoverlabel.bordercolor",n.bordercolor),a("hoverlabel.namelength",n.namelength),Tre.coerceFont(a,"hoverlabel.font",n.font),a("hoverlabel.align",n.align)}});var zD=E((T0e,ED)=>{"use strict";var Mre=De(),Sre=kh(),Cre=Fs();ED.exports=function(t,r){function a(n,i){return Mre.coerce(t,r,Cre,n,i)}Sre(t,r,a)}});var jD=E((A0e,FD)=>{"use strict";var ND=De(),qre=ld(),Lre=kh();FD.exports=function(t,r,a,n){function i(s,l){return ND.coerce(t,r,qre,s,l)}var o=ND.extendFlat({},n.hoverlabel);r.hovertemplate&&(o.namelength=-1),Lre(t,r,i,o)}});var Ky=E((k0e,OD)=>{"use strict";var Dre=De(),Rre=Fs();OD.exports=function(t,r){function a(n,i){return r[n]!==void 0?r[n]:Dre.coerce(t,r,Rre,n,i)}return a("clickmode"),a("hovermode")}});var UD=E((M0e,BD)=>{"use strict";var HD=De(),Pre=Fs(),Ire=Ky(),Ere=kh();BD.exports=function(t,r){function a(u,c){return HD.coerce(t,r,Pre,u,c)}var n=Ire(t,r);n&&(a("hoverdistance"),a("spikedistance"));var i=a("dragmode");i==="select"&&a("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"),Ere(t,r,a),HD.coerceFont(a,"hoverlabel.grouptitlefont",r.hoverlabel.font)}});var VD=E((S0e,WD)=>{"use strict";var $y=De(),GD=ht();WD.exports=function(t){var r=t.calcdata,a=t._fullLayout;function n(u){return function(c){return $y.coerceHoverinfo({hoverinfo:c},{_module:u._module},a)}}for(var i=0;i{"use strict";var Nre=ht(),Fre=Qy().hover;YD.exports=function(t,r,a){var n=Nre.getComponentMethod("annotations","onClick")(t,t._hoverdata);a!==void 0&&Fre(t,r,a,!0);function i(){t.emit("plotly_click",{points:t._hoverdata,event:r})}t._hoverdata&&r&&r.target&&(n&&n.then?n.then(i):i(),r.stopImmediatePropagation&&r.stopImmediatePropagation())}});var Ti=E((q0e,KD)=>{"use strict";var jre=Et(),Mh=De(),Ore=qn(),Ju=bi(),XD=Fs(),QD=Qy();KD.exports={moduleType:"component",name:"fx",constants:bu(),schema:{layout:XD},attributes:ld(),layoutAttributes:XD,supplyLayoutGlobalDefaults:zD(),supplyDefaults:jD(),supplyLayoutDefaults:UD(),calc:VD(),getDistanceFunction:Ju.getDistanceFunction,getClosest:Ju.getClosest,inbox:Ju.inbox,quadrature:Ju.quadrature,appendArrayPointValue:Ju.appendArrayPointValue,castHoverOption:Bre,castHoverinfo:Ure,hover:QD.hover,unhover:Ore.unhover,loneHover:QD.loneHover,loneUnhover:Hre,click:ZD()};function Hre(e){var t=Mh.isD3Selection(e)?e:jre.select(e);t.selectAll("g.hovertext").remove(),t.selectAll(".spikeline").remove()}function Bre(e,t,r){return Mh.castOption(e,t,"hoverlabel."+r)}function Ure(e,t,r){function a(n){return Mh.coerceHoverinfo({hoverinfo:n},{_module:e._module},t)}return Mh.castOption(e,r,"hoverinfo",a)}});var ef=E(Ai=>{"use strict";Ai.selectMode=function(e){return e==="lasso"||e==="select"};Ai.drawMode=function(e){return e==="drawclosedpath"||e==="drawopenpath"||e==="drawline"||e==="drawrect"||e==="drawcircle"};Ai.openMode=function(e){return e==="drawline"||e==="drawopenpath"};Ai.rectMode=function(e){return e==="select"||e==="drawline"||e==="drawrect"||e==="drawcircle"};Ai.freeMode=function(e){return e==="lasso"||e==="drawclosedpath"||e==="drawopenpath"};Ai.selectingOrDrawing=function(e){return Ai.freeMode(e)||Ai.rectMode(e)}});var Sh=E((D0e,$D)=>{"use strict";$D.exports=function(t){var r=t._fullLayout;r._glcanvas&&r._glcanvas.size()&&r._glcanvas.each(function(a){a.regl&&a.regl.clear({color:!0,depth:!0})})}});var Ch=E((R0e,JD)=>{"use strict";JD.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:"plotly-logomark"}}});var tR=E((P0e,eR)=>{eR.exports=Wre;var Jy={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},Gre=/([astvzqmhlc])([^astvzqmhlc]*)/ig;function Wre(e){var t=[];return e.replace(Gre,function(r,a,n){var i=a.toLowerCase();for(n=Yre(n),i=="m"&&n.length>2&&(t.push([a].concat(n.splice(0,2))),i="l",a=a=="m"?"l":"L");;){if(n.length==Jy[i])return n.unshift(a),t.push(n);if(n.length{"use strict";var qh=32;rR.exports={CIRCLE_SIDES:qh,i000:0,i090:qh/4,i180:qh/2,i270:qh/4*3,cos45:Math.cos(Math.PI/4),sin45:Math.sin(Math.PI/4),SQRT2:Math.sqrt(2)}});var Dh=E((E0e,nR)=>{"use strict";var Zre=De().strTranslate;function aR(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 Xre(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 Qre(e){var t=e._id.charAt(0)==="y"?1:0;return function(r){return aR(e,r[t])}}function Kre(e){return Zre(e.xaxis._offset,e.yaxis._offset)}nR.exports={p2r:aR,r2p:Xre,axValue:Qre,getTransform:Kre}});var rf=E(Ji=>{"use strict";var $re=tR(),iR=Lh(),pl=iR.CIRCLE_SIDES,e0=iR.SQRT2,oR=Dh(),sR=oR.p2r,lR=oR.r2p,Jre=[0,3,4,5,6,1,2],eae=[0,3,4,1,2];Ji.writePaths=function(e){var t=e.length;if(!t)return"M0,0Z";for(var r="",a=0;a0&&l{"use strict";var uR=ef(),tae=uR.drawMode,rae=uR.openMode,ml=Lh(),fR=ml.i000,cR=ml.i090,dR=ml.i180,hR=ml.i270,aae=ml.cos45,nae=ml.sin45,vR=Dh(),Ph=vR.p2r,eo=vR.r2p,iae=el(),oae=iae.clearSelect,t0=rf(),sae=t0.readPaths,lae=t0.writePaths,uae=t0.ellipseOver;pR.exports=function(t,r){if(!!t.length){var a=t[0][0];if(!!a){var n=a.getAttribute("d"),i=r.gd,o=i._fullLayout.newshape,s=r.plotinfo,l=s.xaxis,u=s.yaxis,c=!!s.domain||!s.xaxis,d=!!s.domain||!s.yaxis,h=r.isActiveShape,p=r.dragmode,g=(i.layout||{}).shapes||[];if(!tae(p)&&h!==void 0){var m=i._fullLayout._activeShapeIndex;if(m{"use strict";var mR=qn(),cae=ef(),dae=cae.drawMode,hae=ht(),Ih=Lh(),vae=Ih.i000,pae=Ih.i090,mae=Ih.i180,gae=Ih.i270,yae=el(),bae=yae.clearOutlineControllers,a0=rf(),Eh=a0.pointsShapeRectangle,n0=a0.pointsShapeEllipse,xae=a0.writePaths,_ae=r0();gR.exports=function e(t,r,a,n){n||(n=0);var i=a.gd;function o(){e(t,r,a,n++),n0(t[0])&&s({redrawing:!0})}function s(B){a.isActiveShape=!1;var V=_ae(r,a);Object.keys(V).length&&hae.call((B||{}).redrawing?"relayout":"_guiRelayout",i,V)}var l=a.isActiveShape,u=i._fullLayout,c=u._zoomlayer,d=a.dragmode,h=dae(d);h?i._fullLayout._drawing=!0:i._fullLayout._activeShapeIndex>=0&&bae(i),r.attr("d",xae(t));var p,g,m,b,_;if(l&&!n){_=wae([],t);var x=c.append("g").attr("class","outline-controllers");q(x),j()}function A(B){m=+B.srcElement.getAttribute("data-i"),b=+B.srcElement.getAttribute("data-j"),p[m][b].moveFn=w}function w(B,V){if(!!t.length){var W=_[m][b][1],Q=_[m][b][2],Y=t[m],$=Y.length;if(Eh(Y)){for(var re=0;re<$;re++)if(re!==b){var ue=Y[re];ue[1]===Y[b][1]&&(ue[1]=W+B),ue[2]===Y[b][2]&&(ue[2]=Q+V)}if(Y[b][1]=W+B,Y[b][2]=Q+V,!Eh(Y))for(var ce=0;ce<$;ce++)for(var ye=0;ye1&&!(B.length===2&&B[1][0]==="Z")&&(b===0&&(B[0][0]="M"),t[m]=B,o(),s())}}function S(B,V){if(B===2){m=+V.srcElement.getAttribute("data-i"),b=+V.srcElement.getAttribute("data-j");var W=t[m];!Eh(W)&&!n0(W)&&L()}}function q(B){p=[];for(var V=0;V{"use strict";yR.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 Nh=E(Za=>{"use strict";var bR=zh(),Tae=De();Za.rangeToShapePosition=function(e){return e.type==="log"?e.r2d:function(t){return t}};Za.shapePositionToRange=function(e){return e.type==="log"?e.d2r:function(t){return t}};Za.decodeDate=function(e){return function(t){return t.replace&&(t=t.replace("_"," ")),e(t)}};Za.encodeDate=function(e){return function(t){return e(t).replace(" ","_")}};Za.extractPathCoords=function(e,t){var r=[],a=e.match(bR.segmentRE);return a.forEach(function(n){var i=t[n.charAt(0)].drawn;if(i!==void 0){var o=n.substr(1).match(bR.paramRE);!o||o.length{"use strict";var xR=ht(),o0=De(),ai=rr(),Aae=rf().readPaths,kae=i0(),_R=el().clearOutlineControllers,s0=It(),l0=Kt(),Mae=sr().arrayEditor,wR=qn(),TR=Ki(),fn=zh(),ra=Nh();CR.exports={draw:u0,drawOne:AR,eraseActiveShape:Lae};function u0(e){var t=e._fullLayout;t._shapeUpperLayer.selectAll("path").remove(),t._shapeLowerLayer.selectAll("path").remove();for(var r in t._plots){var a=t._plots[r].shapelayer;a&&a.selectAll("path").remove()}for(var n=0;no&&Ae>s&&!O.shiftKey?wR.getCursor(je/be,1-Ye/Ae):"move";TR(t,Ce),ce=Ce.split("-")[0]}}function ee(O){Fh(e)||(l&&(_=W(r.xanchor)),u&&(x=Q(r.yanchor)),r.type==="path"?F=r.path:(p=l?r.x0:W(r.x0),g=u?r.y0:Q(r.y0),m=l?r.x1:W(r.x1),b=u?r.y1:Q(r.y1)),pb?(A=g,S="y0",w=b,q="y1"):(A=b,S="y1",w=g,q="y0"),we(O),Me(n,r),Z(t,r,e),ue.moveFn=ce==="move"?qe:Ue,ue.altKey=O.altKey)}function Se(){Fh(e)||(TR(t),G(n),kR(t,e,r),xR.call("_guiRelayout",e,i.getUpdateObj()))}function Te(){Fh(e)||G(n)}function qe(O,le){if(r.type==="path"){var be=function(Ye){return Ye},Ae=be,je=be;l?h("xanchor",r.xanchor=Y(_+O)):(Ae=function(Ce){return Y(W(Ce)+O)},N&&N.type==="date"&&(Ae=ra.encodeDate(Ae))),u?h("yanchor",r.yanchor=$(x+le)):(je=function(Ce){return $(Q(Ce)+le)},B&&B.type==="date"&&(je=ra.encodeDate(je))),h("path",r.path=MR(F,Ae,je))}else l?h("xanchor",r.xanchor=Y(_+O)):(h("x0",r.x0=Y(p+O)),h("x1",r.x1=Y(m+O))),u?h("yanchor",r.yanchor=$(x+le)):(h("y0",r.y0=$(g+le)),h("y1",r.y1=$(b+le)));t.attr("d",f0(e,r)),Me(n,r)}function Ue(O,le){if(d){var be=function(ge){return ge},Ae=be,je=be;l?h("xanchor",r.xanchor=Y(_+O)):(Ae=function(xe){return Y(W(xe)+O)},N&&N.type==="date"&&(Ae=ra.encodeDate(Ae))),u?h("yanchor",r.yanchor=$(x+le)):(je=function(xe){return $(Q(xe)+le)},B&&B.type==="date"&&(je=ra.encodeDate(je))),h("path",r.path=MR(F,Ae,je))}else if(c){if(ce==="resize-over-start-point"){var Ye=p+O,Ce=u?g-le:g+le;h("x0",r.x0=l?Ye:Y(Ye)),h("y0",r.y0=u?Ce:$(Ce))}else if(ce==="resize-over-end-point"){var st=m+O,Ze=u?b-le:b+le;h("x1",r.x1=l?st:Y(st)),h("y1",r.y1=u?Ze:$(Ze))}}else{var lt=function(ge){return ce.indexOf(ge)!==-1},tt=lt("n"),dt=lt("s"),pt=lt("w"),fe=lt("e"),de=tt?A+le:A,ze=dt?w+le:w,He=pt?M+O:M,Ee=fe?L+O:L;u&&(tt&&(de=A-le),dt&&(ze=w-le)),(!u&&ze-de>s||u&&de-ze>s)&&(h(S,r[S]=u?de:$(de)),h(q,r[q]=u?ze:$(ze))),Ee-He>o&&(h(R,r[R]=l?He:Y(He)),h(z,r[z]=l?Ee:Y(Ee)))}t.attr("d",f0(e,r)),Me(n,r)}function Me(O,le){(l||u)&&be();function be(){var Ae=le.type!=="path",je=O.selectAll(".visual-cue").data([0]),Ye=1;je.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":Ye}).classed("visual-cue",!0);var Ce=W(l?le.xanchor:o0.midRange(Ae?[le.x0,le.x1]:ra.extractPathCoords(le.path,fn.paramIsX))),st=Q(u?le.yanchor:o0.midRange(Ae?[le.y0,le.y1]:ra.extractPathCoords(le.path,fn.paramIsY)));if(Ce=ra.roundPositionForSharpStrokeRendering(Ce,Ye),st=ra.roundPositionForSharpStrokeRendering(st,Ye),l&&u){var Ze="M"+(Ce-1-Ye)+","+(st-1-Ye)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";je.attr("d",Ze)}else if(l){var lt="M"+(Ce-1-Ye)+","+(st-9-Ye)+"v18 h2 v-18 Z";je.attr("d",lt)}else{var tt="M"+(Ce-9-Ye)+","+(st-1-Ye)+"h18 v2 h-18 Z";je.attr("d",tt)}}}function G(O){O.selectAll(".visual-cue").remove()}function Z(O,le,be){var Ae=le.xref,je=le.yref,Ye=ai.getFromId(be,Ae),Ce=ai.getFromId(be,je),st="";Ae!=="paper"&&!Ye.autorange&&(st+=Ae),je!=="paper"&&!Ce.autorange&&(st+=je),l0.setClipUrl(O,st?"clip"+be._fullLayout._uid+st:null,be)}}function f0(e,t){var r=t.type,a=ai.getRefType(t.xref),n=ai.getRefType(t.yref),i=ai.getFromId(e,t.xref),o=ai.getFromId(e,t.yref),s=e._fullLayout._size,l,u,c,d,h,p,g,m;if(i?a==="domain"?u=function(R){return i._offset+i._length*R}:(l=ra.shapePositionToRange(i),u=function(R){return i._offset+i.r2p(l(R,!0))}):u=function(R){return s.l+s.w*R},o?n==="domain"?d=function(R){return o._offset+o._length*(1-R)}:(c=ra.shapePositionToRange(o),d=function(R){return o._offset+o.r2p(c(R,!0))}):d=function(R){return s.t+s.h*(1-R)},r==="path")return i&&i.type==="date"&&(u=ra.decodeDate(u)),o&&o.type==="date"&&(d=ra.decodeDate(d)),Cae(t,u,d);if(t.xsizemode==="pixel"){var b=u(t.xanchor);h=b+t.x0,p=b+t.x1}else h=u(t.x0),p=u(t.x1);if(t.ysizemode==="pixel"){var _=d(t.yanchor);g=_-t.y0,m=_-t.y1}else g=d(t.y0),m=d(t.y1);if(r==="line")return"M"+h+","+g+"L"+p+","+m;if(r==="rect")return"M"+h+","+g+"H"+p+"V"+m+"H"+h+"Z";var x=(h+p)/2,A=(g+m)/2,w=Math.abs(x-h),M=Math.abs(A-g),L="A"+w+","+M,S=x+w+","+A,q=x+","+(A-M);return"M"+S+L+" 0 1,1 "+q+L+" 0 0,1 "+S+"Z"}function Cae(e,t,r){var a=e.path,n=e.xsizemode,i=e.ysizemode,o=e.xanchor,s=e.yanchor;return a.replace(fn.segmentRE,function(l){var u=0,c=l.charAt(0),d=fn.paramIsX[c],h=fn.paramIsY[c],p=fn.numParams[c],g=l.substr(1).replace(fn.paramRE,function(m){return d[u]?n==="pixel"?m=t(o)+Number(m):m=t(m):h[u]&&(i==="pixel"?m=r(s)-Number(m):m=r(m)),u++,u>p&&(m="X"),m});return u>p&&(g=g.replace(/[\s,]*X.*/,""),o0.log("Ignoring extra params in segment "+l)),c+g})}function MR(e,t,r){return e.replace(fn.segmentRE,function(a){var n=0,i=a.charAt(0),o=fn.paramIsX[i],s=fn.paramIsY[i],l=fn.numParams[i],u=a.substr(1).replace(fn.paramRE,function(c){return n>=l||(o[n]?c=t(c):s[n]&&(c=r(c)),n++),c});return i+u})}function qae(e,t){if(!!jh(e)){var r=t.node(),a=+r.getAttribute("data-index");if(a>=0){if(a===e._fullLayout._activeShapeIndex){SR(e);return}e._fullLayout._activeShapeIndex=a,e._fullLayout._deactivateShape=SR,u0(e)}}}function SR(e){if(!!jh(e)){var t=e._fullLayout._activeShapeIndex;t>=0&&(_R(e),delete e._fullLayout._activeShapeIndex,u0(e))}}function Lae(e){if(!!jh(e)){_R(e);var t=e._fullLayout._activeShapeIndex,r=(e.layout||{}).shapes||[];if(t{"use strict";var cn=ht(),qR=Dr(),LR=Er(),jt=Ch(),Dae=c0().eraseActiveShape,gl=De(),Pt=gl._,Ot=IR.exports={};Ot.toImage={name:"toImage",title:function(e){var t=e._context.toImageButtonOptions||{},r=t.format||"png";return r==="png"?Pt(e,"Download plot as a png"):Pt(e,"Download plot")},icon:jt.camera,click:function(e){var t=e._context.toImageButtonOptions,r={format:t.format||"png"};gl.notifier(Pt(e,"Taking snapshot - this may take a few seconds"),"long"),r.format!=="svg"&&gl.isIE()&&(gl.notifier(Pt(e,"IE only supports svg. Changing format to svg."),"long"),r.format="svg"),["filename","width","height","scale"].forEach(function(a){a in t&&(r[a]=t[a])}),cn.call("downloadImage",e,r).then(function(a){gl.notifier(Pt(e,"Snapshot succeeded")+" - "+a,"long")}).catch(function(){gl.notifier(Pt(e,"Sorry, there was a problem downloading your snapshot!"),"long")})}};Ot.sendDataToCloud={name:"sendDataToCloud",title:function(e){return Pt(e,"Edit in Chart Studio")},icon:jt.disk,click:function(e){qR.sendDataToCloud(e)}};Ot.editInChartStudio={name:"editInChartStudio",title:function(e){return Pt(e,"Edit in Chart Studio")},icon:jt.pencil,click:function(e){qR.sendDataToCloud(e)}};Ot.zoom2d={name:"zoom2d",_cat:"zoom",title:function(e){return Pt(e,"Zoom")},attr:"dragmode",val:"zoom",icon:jt.zoombox,click:ha};Ot.pan2d={name:"pan2d",_cat:"pan",title:function(e){return Pt(e,"Pan")},attr:"dragmode",val:"pan",icon:jt.pan,click:ha};Ot.select2d={name:"select2d",_cat:"select",title:function(e){return Pt(e,"Box Select")},attr:"dragmode",val:"select",icon:jt.selectbox,click:ha};Ot.lasso2d={name:"lasso2d",_cat:"lasso",title:function(e){return Pt(e,"Lasso Select")},attr:"dragmode",val:"lasso",icon:jt.lasso,click:ha};Ot.drawclosedpath={name:"drawclosedpath",title:function(e){return Pt(e,"Draw closed freeform")},attr:"dragmode",val:"drawclosedpath",icon:jt.drawclosedpath,click:ha};Ot.drawopenpath={name:"drawopenpath",title:function(e){return Pt(e,"Draw open freeform")},attr:"dragmode",val:"drawopenpath",icon:jt.drawopenpath,click:ha};Ot.drawline={name:"drawline",title:function(e){return Pt(e,"Draw line")},attr:"dragmode",val:"drawline",icon:jt.drawline,click:ha};Ot.drawrect={name:"drawrect",title:function(e){return Pt(e,"Draw rectangle")},attr:"dragmode",val:"drawrect",icon:jt.drawrect,click:ha};Ot.drawcircle={name:"drawcircle",title:function(e){return Pt(e,"Draw circle")},attr:"dragmode",val:"drawcircle",icon:jt.drawcircle,click:ha};Ot.eraseshape={name:"eraseshape",title:function(e){return Pt(e,"Erase active shape")},icon:jt.eraseshape,click:Dae};Ot.zoomIn2d={name:"zoomIn2d",_cat:"zoomin",title:function(e){return Pt(e,"Zoom in")},attr:"zoom",val:"in",icon:jt.zoom_plus,click:ha};Ot.zoomOut2d={name:"zoomOut2d",_cat:"zoomout",title:function(e){return Pt(e,"Zoom out")},attr:"zoom",val:"out",icon:jt.zoom_minus,click:ha};Ot.autoScale2d={name:"autoScale2d",_cat:"autoscale",title:function(e){return Pt(e,"Autoscale")},attr:"zoom",val:"auto",icon:jt.autoscale,click:ha};Ot.resetScale2d={name:"resetScale2d",_cat:"resetscale",title:function(e){return Pt(e,"Reset axes")},attr:"zoom",val:"reset",icon:jt.home,click:ha};Ot.hoverClosestCartesian={name:"hoverClosestCartesian",_cat:"hoverclosest",title:function(e){return Pt(e,"Show closest data on hover")},attr:"hovermode",val:"closest",icon:jt.tooltip_basic,gravity:"ne",click:ha};Ot.hoverCompareCartesian={name:"hoverCompareCartesian",_cat:"hoverCompare",title:function(e){return Pt(e,"Compare data on hover")},attr:"hovermode",val:function(e){return e._fullLayout._isHoriz?"y":"x"},icon:jt.tooltip_compare,gravity:"ne",click:ha};function ha(e,t){var r=t.currentTarget,a=r.getAttribute("data-attr"),n=r.getAttribute("data-val")||!0,i=e._fullLayout,o={},s=LR.list(e,null,!0),l=i._cartesianSpikesEnabled,u,c;if(a==="zoom"){var d=n==="in"?.5:2,h=(1+d)/2,p=(1-d)/2,g;for(c=0;c{"use strict";var ER=p0(),Iae=Object.keys(ER),zR=["drawline","drawopenpath","drawclosedpath","drawcircle","drawrect","eraseshape"],NR=["v1hovermode","hoverclosest","hovercompare","togglehover","togglespikelines"].concat(zR),yl=[],Eae=function(e){if(NR.indexOf(e._cat||e.name)===-1){var t=e.name,r=(e._cat||e.name).toLowerCase();yl.indexOf(t)===-1&&yl.push(t),yl.indexOf(r)===-1&&yl.push(r)}};Iae.forEach(function(e){Eae(ER[e])});yl.sort();FR.exports={DRAW_MODES:zR,backButtons:NR,foreButtons:yl}});var g0=E((G0e,OR)=>{"use strict";var jR=m0();OR.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 *"+jR.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 *"+jR.foreButtons.join("*, *")+"*."].join(" ")}}});var BR=E((W0e,HR)=>{"use strict";var zae=De(),af=It(),Nae=sr(),Fae=g0();HR.exports=function(t,r){var a=t.modebar||{},n=Nae.newContainer(r,"modebar");function i(s,l){return zae.coerce(a,n,Fae,s,l)}i("orientation"),i("bgcolor",af.addOpacity(r.paper_bgcolor,.5));var o=af.contrast(af.rgb(r.modebar.bgcolor));i("color",af.addOpacity(o,.3)),i("activecolor",af.addOpacity(o,.7)),i("uirevision",r.uirevision),i("add"),i("remove")}});var VR=E((V0e,WR)=>{"use strict";var y0=Et(),jae=zt(),ki=De(),UR=Ch(),Oae=new DOMParser;function GR(e){this.container=e.container,this.element=document.createElement("div"),this.update(e.graphInfo,e.buttons),this.container.appendChild(this.element)}var ni=GR.prototype;ni.update=function(e,t){this.graphInfo=e;var r=this.graphInfo._context,a=this.graphInfo._fullLayout,n="modebar-"+a._uid;this.element.setAttribute("id",n),this._uid=n,this.element.className="modebar",r.displayModeBar==="hover"&&(this.element.className+=" modebar--hover ease-bg"),a.modebar.orientation==="v"&&(this.element.className+=" vertical",t=t.reverse());var i=a.modebar,o=r.displayModeBar==="hover"?".js-plotly-plot .plotly:hover ":"";ki.deleteRelatedStyleRule(n),ki.addRelatedStyleRule(n,o+"#"+n+" .modebar-group","background-color: "+i.bgcolor),ki.addRelatedStyleRule(n,"#"+n+" .modebar-btn .icon path","fill: "+i.color),ki.addRelatedStyleRule(n,"#"+n+" .modebar-btn:hover .icon path","fill: "+i.activecolor),ki.addRelatedStyleRule(n,"#"+n+" .modebar-btn.active .icon path","fill: "+i.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 c=this.getLogo();r.watermark&&(c.className=c.className+" watermark"),a.modebar.orientation==="v"?this.element.insertBefore(c,this.element.childNodes[0]):this.element.appendChild(c),this.hasLogo=!0}this.updateActiveButton()};ni.updateButtons=function(e){var t=this;this.buttons=e,this.buttonElements=[],this.buttonsNames=[],this.buttons.forEach(function(r){var a=t.createGroup();r.forEach(function(n){var i=n.name;if(!i)throw new Error("must provide button 'name' in button config");if(t.buttonsNames.indexOf(i)!==-1)throw new Error("button name '"+i+"' is taken");t.buttonsNames.push(i);var o=t.createButton(n);t.buttonElements.push(o),a.appendChild(o)}),t.element.appendChild(a)})};ni.createGroup=function(){var e=document.createElement("div");return e.className="modebar-group",e};ni.createButton=function(e){var t=this,r=document.createElement("a");r.setAttribute("rel","tooltip"),r.className="modebar-btn";var a=e.title;a===void 0?a=e.name:typeof a=="function"&&(a=a(this.graphInfo)),(a||a===0)&&r.setAttribute("data-title",a),e.attr!==void 0&&r.setAttribute("data-attr",e.attr);var n=e.val;n!==void 0&&(typeof n=="function"&&(n=n(this.graphInfo)),r.setAttribute("data-val",n));var i=e.click;if(typeof i!="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&&y0.select(r).classed("active",!0);var o=e.icon;return typeof o=="function"?r.appendChild(o()):r.appendChild(this.createIcon(o||UR.question)),r.setAttribute("data-gravity",e.gravity||"n"),r};ni.createIcon=function(e){var t=jae(e.height)?Number(e.height):e.ascent-e.descent,r="http://www.w3.org/2000/svg",a;if(e.path){a=document.createElementNS(r,"svg"),a.setAttribute("viewBox",[0,0,e.width,t].join(" ")),a.setAttribute("class","icon");var n=document.createElementNS(r,"path");n.setAttribute("d",e.path),e.transform?n.setAttribute("transform",e.transform):e.ascent!==void 0&&n.setAttribute("transform","matrix(1 0 0 -1 0 "+e.ascent+")"),a.appendChild(n)}if(e.svg){var i=Oae.parseFromString(e.svg,"application/xml");a=i.childNodes[0]}return a.setAttribute("height","1em"),a.setAttribute("width","1em"),a};ni.updateActiveButton=function(e){var t=this.graphInfo._fullLayout,r=e!==void 0?e.getAttribute("data-attr"):null;this.buttonElements.forEach(function(a){var n=a.getAttribute("data-val")||!0,i=a.getAttribute("data-attr"),o=a.getAttribute("data-toggle")==="true",s=y0.select(a);if(o)i===r&&s.classed("active",!s.classed("active"));else{var l=i===null?i:ki.nestedProperty(t,i).get();s.classed("active",l===n)}})};ni.hasButtons=function(e){var t=this.buttons;if(!t||e.length!==t.length)return!1;for(var r=0;r{"use strict";var Bae=Er(),YR=Va(),b0=ht(),Uae=bi().isUnifiedHover,Gae=VR(),Bh=p0(),Wae=m0().DRAW_MODES;ZR.exports=function(t){var r=t._fullLayout,a=t._context,n=r._modeBar;if(!a.displayModeBar&&!a.watermark){n&&(n.destroy(),delete r._modeBar);return}if(!Array.isArray(a.modeBarButtonsToRemove))throw new Error(["*modeBarButtonsToRemove* configuration options","must be an array."].join(" "));if(!Array.isArray(a.modeBarButtonsToAdd))throw new Error(["*modeBarButtonsToAdd* configuration options","must be an array."].join(" "));var i=a.modeBarButtons,o;Array.isArray(i)&&i.length?o=Kae(i):!a.displayModeBar&&a.watermark?o=[]:o=Vae(t),n?n.update(t,o):r._modeBar=Gae(t,o)};function Vae(e){var t=e._fullLayout,r=e._fullData,a=e._context;function n(Y,$){if(typeof $=="string"){if($.toLowerCase()===Y.toLowerCase())return!0}else{var re=$.name,ue=$._cat||$.name;if(re===Y||ue===Y.toLowerCase())return!0}return!1}var i=t.modebar.add;typeof i=="string"&&(i=[i]);var o=t.modebar.remove;typeof o=="string"&&(o=[o]);var s=a.modeBarButtonsToAdd.concat(i.filter(function(Y){for(var $=0;$1?(z=["toggleHover"],F=["resetViews"]):d?(R=["zoomInGeo","zoomOutGeo"],z=["hoverClosestGeo"],F=["resetGeo"]):c?(z=["hoverClosest3d"],F=["resetCameraDefault3d","resetCameraLastSave3d"]):b?(R=["zoomInMapbox","zoomOutMapbox"],z=["toggleHover"],F=["resetViewMapbox"]):g?z=["hoverClosestGl2d"]:h?z=["hoverClosestPie"]:A?(z=["hoverClosestCartesian","hoverCompareCartesian"],F=["resetViewSankey"]):z=["toggleHover"],u&&(z=["toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"]),(Xae(r)||M)&&(z=[]),(u||g)&&!w&&(R=["zoomIn2d","zoomOut2d","autoScale2d"],F[0]!=="resetViews"&&(F=["resetScale2d"])),c?N=["zoom3d","pan3d","orbitRotation","tableRotation"]:(u||g)&&!w||m?N=["zoom2d","pan2d"]:b||d?N=["pan2d"]:_&&(N=["zoom2d"]),Zae(r)&&N.push("select2d","lasso2d");var j=[],B=function(Y){j.indexOf(Y)===-1&&z.indexOf(Y)!==-1&&j.push(Y)};if(Array.isArray(s)){for(var V=[],W=0;W{"use strict";QR.exports={moduleType:"component",name:"modebar",layoutAttributes:g0(),supplyLayoutDefaults:BR(),manage:XR()}});var _0=E((X0e,KR)=>{"use strict";var $ae=wa().FROM_BL;KR.exports=function(t,r,a){a===void 0&&(a=$ae[t.constraintoward||"center"]);var n=[t.r2l(t.range[0]),t.r2l(t.range[1])],i=n[0]+(n[1]-n[0])*a;t.range=t._input.range=[t.l2r(i+(n[0]-i)*r),t.l2r(i+(n[1]-i)*r)],t.setScale()}});var of=E(nf=>{"use strict";var es=De(),w0=Wu(),Rn=Er().id2name,Jae=Qn(),$R=_0(),ene=nh(),tne=yr().ALMOST_EQUAL,rne=wa().FROM_BL;nf.handleDefaults=function(e,t,r){var a=r.axIds,n=r.axHasImage,i=t._axisConstraintGroups=[],o=t._axisMatchGroups=[],s,l,u,c,d,h,p,g;for(s=0;si?r.substr(i):a.substr(n))+o}function nne(e,t){for(var r=t._size,a=r.h/r.w,n={},i=Object.keys(e),o=0;otne*g&&!x)){for(i=0;iN&&rez&&(z=re);var ce=(z-R)/(2*F);d/=ce,R=l.l2r(R),z=l.l2r(z),l.range=l._input.range=L{"use strict";var ine=Et(),ka=ht(),Pn=Dr(),Mi=De(),k0=Sh(),sf=It(),lf=Kt(),one=Uu(),r6=x0(),uf=rr(),ff=wa(),a6=of(),sne=a6.enforce,lne=a6.clean,n6=Wu().doAutoRange,i6="start",une="middle",o6="end";Fr.layoutStyles=function(e){return Mi.syncOrAsync([Pn.doAutoMargin,cne],e)};function fne(e,t,r){for(var a=0;a=e[1]||n[1]<=e[0])&&i[0]t[0])return!0}return!1}function cne(e){var t=e._fullLayout,r=t._size,a=r.p,n=uf.list(e,"",!0),i,o,s,l,u,c;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(lf.setSize,t.width,t.height),e._context.setBackground(e,t.paper_bgcolor),Fr.drawMainTitle(e),r6.manage(e),!t._has("cartesian"))return Pn.previousPromises(e);function d(Me,G,Z){var O=Me._lw/2;if(Me._id.charAt(0)==="x"){if(G){if(Z==="top")return G._offset-a-O}else return r.t+r.h*(1-(Me.position||0))+O%1;return G._offset+G._length+a+O}if(G){if(Z==="right")return G._offset+G._length+a+O}else return r.l+r.w*(Me.position||0)+O%1;return G._offset-a-O}for(i=0;i{function mne(){var e,t=0,r=!1;function a(n,i){return e.list.push({type:n,data:i?JSON.parse(JSON.stringify(i)):void 0}),e}return e={list:[],segmentId:function(){return t++},checkIntersection:function(n,i){return a("check",{seg1:n,seg2:i})},segmentChop:function(n,i){return a("div_seg",{seg:n,pt:i}),a("chop",{seg:n,pt:i})},statusRemove:function(n){return a("pop_seg",{seg:n})},segmentUpdate:function(n){return a("seg_update",{seg:n})},segmentNew:function(n,i){return a("new_seg",{seg:n,primary:i})},segmentRemove:function(n){return a("rem_seg",{seg:n})},tempStatus:function(n,i,o){return a("temp_status",{seg:n,above:i,below:o})},rewind:function(n){return a("rewind",{seg:n})},status:function(n,i,o){return a("status",{seg:n,above:i,below:o})},vert:function(n){return n===r?e:(r=n,a("vert",{x:n}))},log:function(n){return typeof n!="string"&&(n=JSON.stringify(n,!1," ")),a("log",{txt:n})},reset:function(){return a("reset")},selected:function(n){return a("selected",{segs:n})},chainStart:function(n){return a("chain_start",{seg:n})},chainRemoveHead:function(n,i){return a("chain_rem_head",{index:n,pt:i})},chainRemoveTail:function(n,i){return a("chain_rem_tail",{index:n,pt:i})},chainNew:function(n,i){return a("chain_new",{pt1:n,pt2:i})},chainMatch:function(n){return a("chain_match",{index:n})},chainClose:function(n){return a("chain_close",{index:n})},chainAddHead:function(n,i){return a("chain_add_head",{index:n,pt:i})},chainAddTail:function(n,i){return a("chain_add_tail",{index:n,pt:i})},chainConnect:function(n,i){return a("chain_con",{index1:n,index2:i})},chainReverse:function(n){return a("chain_rev",{index:n})},chainJoin:function(n,i){return a("chain_join",{index1:n,index2:i})},done:function(){return a("done")}},e}u6.exports=mne});var d6=E((J0e,c6)=>{function gne(e){typeof e!="number"&&(e=1e-10);var t={epsilon:function(r){return typeof r=="number"&&(e=r),e},pointAboveOrOnLine:function(r,a,n){var i=a[0],o=a[1],s=n[0],l=n[1],u=r[0],c=r[1];return(s-i)*(c-o)-(l-o)*(u-i)>=-e},pointBetween:function(r,a,n){var i=r[1]-a[1],o=n[0]-a[0],s=r[0]-a[0],l=n[1]-a[1],u=s*o+i*l;if(u-e)},pointsSameX:function(r,a){return Math.abs(r[0]-a[0])e!=s-i>e&&(o-c)*(i-d)/(s-d)+c-n>e&&(l=!l),o=c,s=d}return l}};return t}c6.exports=gne});var v6=E((ebe,h6)=>{var yne={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 a=e.root,n=e.root.next;n!==null;){if(r(n)){t.prev=n.prev,t.next=n,n.prev.next=t,n.prev=t;return}a=n,n=n.next}a.next=t,t.prev=a,t.next=null},findTransition:function(t){for(var r=e.root,a=e.root.next;a!==null&&!t(a);)r=a,a=a.next;return{before:r===e.root?null:r,after:a,insert:function(n){return n.prev=r,n.next=a,r.next=n,a!==null&&(a.prev=n),n}}}};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}};h6.exports=yne});var m6=E((tbe,p6)=>{var cf=v6();function bne(e,t,r){function a(g,m){return{id:r?r.segmentId():-1,start:g,end:m,myFill:{above:null,below:null},otherFill:null}}function n(g,m,b){return{id:r?r.segmentId():-1,start:g,end:m,myFill:{above:b.myFill.above,below:b.myFill.below},otherFill:null}}var i=cf.create();function o(g,m,b,_,x,A){var w=t.pointsCompare(m,x);return w!==0?w:t.pointsSame(b,A)?0:g!==_?g?1:-1:t.pointAboveOrOnLine(b,_?x:A,_?A:x)?1:-1}function s(g,m){i.insertBefore(g,function(b){var _=o(g.isStart,g.pt,m,b.isStart,b.pt,b.other.pt);return _<0})}function l(g,m){var b=cf.node({isStart:!0,pt:g.start,seg:g,primary:m,other:null,status:null});return s(b,g.end),b}function u(g,m,b){var _=cf.node({isStart:!1,pt:m.end,seg:m,primary:b,other:g,status:null});g.other=_,s(_,g.pt)}function c(g,m){var b=l(g,m);return u(b,g,m),b}function d(g,m){r&&r.segmentChop(g.seg,m),g.other.remove(),g.seg.end=m,g.other.pt=m,s(g.other,g.pt)}function h(g,m){var b=n(m,g.seg.end,g.seg);return d(g,m),c(b,g.primary)}function p(g,m){var b=cf.create();function _(V,W){var Q=V.seg.start,Y=V.seg.end,$=W.seg.start,re=W.seg.end;return t.pointsCollinear(Q,$,re)?t.pointsCollinear(Y,$,re)||t.pointAboveOrOnLine(Y,$,re)?1:-1:t.pointAboveOrOnLine(Q,$,re)?1:-1}function x(V){return b.findTransition(function(W){var Q=_(V,W.ev);return Q>0})}function A(V,W){var Q=V.seg,Y=W.seg,$=Q.start,re=Q.end,ue=Y.start,ce=Y.end;r&&r.checkIntersection(Q,Y);var ye=t.linesIntersect($,re,ue,ce);if(ye===!1){if(!t.pointsCollinear($,re,ue)||t.pointsSame($,ce)||t.pointsSame(re,ue))return!1;var he=t.pointsSame($,ue),we=t.pointsSame(re,ce);if(he&&we)return W;var ee=!he&&t.pointBetween($,ue,ce),Se=!we&&t.pointBetween(re,ue,ce);if(he)return Se?h(W,re):h(V,ce),W;ee&&(we||(Se?h(W,re):h(V,ce)),h(W,$))}else ye.alongA===0&&(ye.alongB===-1?h(V,ue):ye.alongB===0?h(V,ye.pt):ye.alongB===1&&h(V,ce)),ye.alongB===0&&(ye.alongA===-1?h(W,$):ye.alongA===0?h(W,ye.pt):ye.alongA===1&&h(W,re));return!1}for(var w=[];!i.isEmpty();){var M=i.getHead();if(r&&r.vert(M.pt[0]),M.isStart){let V=function(){if(S){var W=A(M,S);if(W)return W}return q?A(M,q):!1};var B=V;r&&r.segmentNew(M.seg,M.primary);var L=x(M),S=L.before?L.before.ev:null,q=L.after?L.after.ev:null;r&&r.tempStatus(M.seg,S?S.seg:!1,q?q.seg:!1);var R=V();if(R){if(e){var z;M.seg.myFill.below===null?z=!0:z=M.seg.myFill.above!==M.seg.myFill.below,z&&(R.seg.myFill.above=!R.seg.myFill.above)}else R.seg.otherFill=M.seg.myFill;r&&r.segmentUpdate(R.seg),M.other.remove(),M.remove()}if(i.getHead()!==M){r&&r.rewind(M.seg);continue}if(e){var z;M.seg.myFill.below===null?z=!0:z=M.seg.myFill.above!==M.seg.myFill.below,q?M.seg.myFill.below=q.seg.myFill.above:M.seg.myFill.below=g,z?M.seg.myFill.above=!M.seg.myFill.below:M.seg.myFill.above=M.seg.myFill.below}else if(M.seg.otherFill===null){var F;q?M.primary===q.primary?F=q.seg.otherFill.above:F=q.seg.myFill.above:F=M.primary?m:g,M.seg.otherFill={above:F,below:F}}r&&r.status(M.seg,S?S.seg:!1,q?q.seg:!1),M.other.status=L.insert(cf.node({ev:M}))}else{var N=M.status;if(N===null)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(b.exists(N.prev)&&b.exists(N.next)&&A(N.prev.ev,N.next.ev),r&&r.statusRemove(N.ev.seg),N.remove(),!M.primary){var j=M.seg.myFill;M.seg.myFill=M.seg.otherFill,M.seg.otherFill=j}w.push(M.seg)}i.getHead().remove()}return r&&r.done(),w}return e?{addRegion:function(g){for(var m,b=g[g.length-1],_=0;_{function xne(e,t,r){var a=[],n=[];return e.forEach(function(i){var o=i.start,s=i.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(i);var l={index:0,matches_head:!1,matches_pt1:!1},u={index:0,matches_head:!1,matches_pt1:!1},c=l;function d(B,V,W){return c.index=B,c.matches_head=V,c.matches_pt1=W,c===l?(c=u,!1):(c=null,!0)}for(var h=0;h{function df(e,t,r){var a=[];return e.forEach(function(n){var i=(n.myFill.above?8:0)+(n.myFill.below?4:0)+(n.otherFill&&n.otherFill.above?2:0)+(n.otherFill&&n.otherFill.below?1:0);t[i]!==0&&a.push({id:r?r.segmentId():-1,start:n.start,end:n.end,myFill:{above:t[i]===1,below:t[i]===2},otherFill:null})}),r&&r.selected(a),a}var _ne={union:function(e,t){return df(e,[0,2,1,0,2,2,0,0,1,0,1,0,0,0,0,0],t)},intersect:function(e,t){return df(e,[0,0,0,0,0,2,0,2,0,0,1,1,0,2,1,0],t)},difference:function(e,t){return df(e,[0,0,0,0,2,0,2,0,1,1,0,0,0,1,2,0],t)},differenceRev:function(e,t){return df(e,[0,2,1,0,0,0,1,1,0,2,0,2,0,0,0,0],t)},xor:function(e,t){return df(e,[0,2,1,0,2,0,0,1,1,0,0,2,0,1,2,0],t)}};b6.exports=_ne});var w6=E((nbe,_6)=>{var wne={toPolygon:function(e,t){function r(i){if(i.length<=0)return e.segments({inverted:!1,regions:[]});function o(u){var c=u.slice(0,u.length-1);return e.segments({inverted:!1,regions:[c]})}for(var s=o(i[0]),l=1;l{var Tne=f6(),Ane=d6(),T6=m6(),kne=y6(),hf=x6(),A6=w6(),dn=!1,vf=Ane(),ja;ja={buildLog:function(e){return e===!0?dn=Tne():e===!1&&(dn=!1),dn===!1?!1:dn.list},epsilon:function(e){return vf.epsilon(e)},segments:function(e){var t=T6(!0,vf,dn);return e.regions.forEach(t.addRegion),{segments:t.calculate(e.inverted),inverted:e.inverted}},combine:function(e,t){var r=T6(!1,vf,dn);return{combined:r.calculate(e.segments,e.inverted,t.segments,t.inverted),inverted1:e.inverted,inverted2:t.inverted}},selectUnion:function(e){return{segments:hf.union(e.combined,dn),inverted:e.inverted1||e.inverted2}},selectIntersect:function(e){return{segments:hf.intersect(e.combined,dn),inverted:e.inverted1&&e.inverted2}},selectDifference:function(e){return{segments:hf.difference(e.combined,dn),inverted:e.inverted1&&!e.inverted2}},selectDifferenceRev:function(e){return{segments:hf.differenceRev(e.combined,dn),inverted:!e.inverted1&&e.inverted2}},selectXor:function(e){return{segments:hf.xor(e.combined,dn),inverted:e.inverted1!==e.inverted2}},polygon:function(e){return{regions:kne(e.segments,vf,dn),inverted:e.inverted}},polygonFromGeoJSON:function(e){return A6.toPolygon(ja,e)},polygonToGeoJSON:function(e){return A6.fromPolygon(ja,vf,e)},union:function(e,t){return pf(e,t,ja.selectUnion)},intersect:function(e,t){return pf(e,t,ja.selectIntersect)},difference:function(e,t){return pf(e,t,ja.selectDifference)},differenceRev:function(e,t){return pf(e,t,ja.selectDifferenceRev)},xor:function(e,t){return pf(e,t,ja.selectXor)}};function pf(e,t,r){var a=ja.segments(e),n=ja.segments(t),i=ja.combine(a,n),o=r(i);return ja.polygon(o)}typeof window=="object"&&(window.PolyBool=ja);k6.exports=ja});var S0=E((obe,S6)=>{"use strict";var M0=pd().dot,Wh=yr().BADNUM,Vh=S6.exports={};Vh.tester=function(t){var r=t.slice(),a=r[0][0],n=a,i=r[0][1],o=i,s;for(r.push(r[0]),s=1;sn||_===Wh||_o||m&&u(g))}function d(g,m){var b=g[0],_=g[1];if(b===Wh||bn||_===Wh||_o)return!1;var x=r.length,A=r[0][0],w=r[0][1],M=0,L,S,q,R,z;for(L=1;LMath.max(S,A)||_>Math.max(q,w)))if(_s||Math.abs(M0(d,u))>n)return!0;return!1};Vh.filter=function(t,r){var a=[t[0]],n=0,i=0;function o(l){t.push(l);var u=a.length,c=n;a.splice(i+1);for(var d=c+1;d1){var s=t.pop();o(s)}return{addPt:o,raw:t,filtered:a}}});var bf=E((sbe,B6)=>{"use strict";var C6=M6(),q6=ht(),Mne=Kt().dashStyle,L6=It(),Sne=Ti(),Cne=bi().makeEventData,mf=ef(),qne=mf.freeMode,Lne=mf.rectMode,Yh=mf.drawMode,C0=mf.openMode,Dne=mf.selectMode,D6=i0(),q0=rf().handleEllipse,Rne=r0(),L0=De(),D0=S0(),gf=Md(),R6=Er().getFromId,Pne=Sh(),Ine=Gh().redrawReglTraces,Zh=Jr(),ii=Zh.MINSELECT,Ene=D0.filter,zne=D0.tester,P6=el().clearSelect,R0=Dh(),I6=R0.p2r,Nne=R0.axValue,Fne=R0.getTransform;function jne(e,t,r,a,n){var i=qne(n),o=Lne(n),s=C0(n),l=Yh(n),u=Dne(n),c=n==="drawline",d=n==="drawcircle",h=c||d,p=a.gd,g=p._fullLayout,m=g._zoomlayer,b=a.element.getBoundingClientRect(),_=a.plotinfo,x=Fne(_),A=t-b.left,w=r-b.top;g._calcInverseTransform(p);var M=L0.apply3DTransform(g._invTransform)(A,w);A=M[0],w=M[1];var L=g._invScaleX,S=g._invScaleY,q=A,R=w,z="M"+A+","+w,F=a.xaxes[0]._length,N=a.yaxes[0]._length,j=a.xaxes.concat(a.yaxes),B=e.altKey&&!(Yh(n)&&s),V,W,Q,Y,$,re,ue;N6(e,p,a),i&&(V=Ene([[A,w]],Zh.BENDPX));var ce=m.selectAll("path.select-outline-"+_.id).data(l?[0]:[1,2]),ye=g.newshape;ce.enter().append("path").attr("class",function(Ue){return"select-outline select-outline-"+Ue+" select-outline-"+_.id}).style(l?{opacity:ye.opacity/2,fill:s?void 0:ye.fillcolor,stroke:ye.line.color,"stroke-dasharray":Mne(ye.line.dash,ye.line.width),"stroke-width":ye.line.width+"px"}:{}).attr("fill-rule",ye.fillrule).classed("cursor-move",!!l).attr("transform",x).attr("d",z+"Z");var he=m.append("path").attr("class","zoombox-corners").style({fill:L6.background,stroke:L6.defaultLine,"stroke-width":1}).attr("transform",x).attr("d","M0,0Z"),we=g._uid+Zh.SELECTID,ee=[],Se=F6(p,a.xaxes,a.yaxes,a.subplot);function Te(Ue,Me){return Ue-Me}var qe;_.fillRangeItems?qe=_.fillRangeItems:o?qe=function(Ue,Me){var G=Ue.range={};for($=0;$=0){p._fullLayout._deactivateShape(p);return}if(!l){var G=g.clickmode;gf.done(we).then(function(){if(gf.clear(we),Ue===2){for(ce.remove(),$=0;$-1&&E6(Me,p,a.xaxes,a.yaxes,a.subplot,a,ce),G==="event"&&p.emit("plotly_selected",void 0);Sne.click(p,Me)}).catch(L0.error)}},a.doneFn=function(){he.remove(),gf.done(we).then(function(){gf.clear(we),a.gd.emit("plotly_selected",ue),Y&&a.selectionDefs&&(Y.subtract=B,a.selectionDefs.push(Y),a.mergedPolygons.length=0,[].push.apply(a.mergedPolygons,Q)),a.doneFnCompleted&&a.doneFnCompleted(ee)}).catch(L0.error),l&&yf(a)}}function E6(e,t,r,a,n,i,o){var s=t._hoverdata,l=t._fullLayout,u=l.clickmode,c=u.indexOf("event")>-1,d=[],h,p,g,m,b,_,x,A,w,M;if(Bne(s)){N6(e,t,i),h=F6(t,r,a,n);var L=Une(s,h),S=L.pointNumbers.length>0;if(S?Gne(h,L):Wne(h)&&(x=j6(L))){for(o&&o.remove(),M=0;M=0&&a._fullLayout._deactivateShape(a),Yh(t)){var n=a._fullLayout,i=n._zoomlayer,o=i.selectAll(".select-outline-"+r.id);if(o&&a._fullLayout._drawing){var s=Rne(o,e);s&&q6.call("_guiRelayout",a,{shapes:s}),a._fullLayout._drawing=!1}}r.selection={},r.selection.selectionDefs=e.selectionDefs=[],r.selection.mergedPolygons=e.mergedPolygons=[]}function F6(e,t,r,a){var n=[],i=t.map(function(p){return p._id}),o=r.map(function(p){return p._id}),s,l,u;for(u=0;u0,i=n?a[0]:r;return t.selectedpoints?t.selectedpoints.indexOf(i)>-1:!1}function Gne(e,t){var r=[],a,n,i,o;for(o=0;o0&&r.push(a);if(r.length===1&&(i=r[0]===t.searchInfo,i&&(n=t.searchInfo.cd[0].trace,n.selectedpoints.length===t.pointNumbers.length))){for(o=0;o1||(t+=a.selectedpoints.length,t>1)))return!1;return t===1}function Xh(e,t,r){var a,n,i,o;for(a=0;a{"use strict";var I0=Et(),hn=De(),U6=hn.numberFormat,Yne=An(),Zne=_y(),Qh=ht(),G6=hn.strTranslate,Xne=Fa(),W6=It(),to=Kt(),Qne=Ti(),V6=rr(),Kne=Ki(),$ne=qn(),Y6=ef(),Kh=Y6.selectingOrDrawing,Jne=Y6.freeMode,eie=wa().FROM_TL,tie=Sh(),rie=Gh().redrawReglTraces,aie=Dr(),E0=Er().getFromId,nie=bf().prepSelect,iie=bf().clearSelect,oie=bf().selectOnClick,z0=_0(),N0=Jr(),Z6=N0.MINDRAG,Ma=N0.MINZOOM,X6=!0;function sie(e,t,r,a,n,i,o,s){var l=e._fullLayout._zoomlayer,u=o+s==="nsew",c=(o+s).length===1,d,h,p,g,m,b,_,x,A,w,M,L,S,q,R,z,F,N,j,B,V,W,Q;function Y(){if(d=t.xaxis,h=t.yaxis,A=d._length,w=h._length,_=d._offset,x=h._offset,p={},p[d._id]=d,g={},g[h._id]=h,o&&s)for(var ge=t.overlays,xe=0;xe=0){Re._fullLayout._deactivateShape(Re);return}var Pe=Re._fullLayout.clickmode;if(j0(Re),ge===2&&!c&&pt(),u)Pe.indexOf("select")>-1&&oie(xe,Re,m,b,t.id,ue),Pe.indexOf("event")>-1&&Qne.click(Re,xe,t.id);else if(ge===1&&c){var Ie=o?h:d,Be=o==="s"||s==="w"?0:1,ut=Ie._name+".range["+Be+"]",gt=lie(Ie,Be),it="left",Dt="middle";if(Ie.fixedrange)return;o?(Dt=o==="n"?"top":"bottom",Ie.side==="right"&&(it="right")):s==="e"&&(it="right"),Re._context.showAxisRangeEntryBoxes&&I0.select(re).call(Xne.makeEditable,{gd:Re,immediate:!0,background:Re._fullLayout.paper_bgcolor,text:String(gt),fill:Ie.tickfont?Ie.tickfont.color:"#444",horizontalAlign:it,verticalAlign:Dt}).on("edit",function(Mt){var nt=Ie.d2r(Mt);nt!==void 0&&Qh.call("_guiRelayout",Re,ut,nt)})}}$ne.init(ue);var he,we,ee,Se,Te,qe,Ue,Me,G,Z;function O(ge,xe,Re){var Pe=re.getBoundingClientRect();he=xe-Pe.left,we=Re-Pe.top,e._fullLayout._calcInverseTransform(e);var Ie=hn.apply3DTransform(e._fullLayout._invTransform)(he,we);he=Ie[0],we=Ie[1],ee={l:he,r:he,w:0,t:we,b:we,h:0},Se=e._hmpixcount?e._hmlumcount/e._hmpixcount:Yne(e._fullLayout.plot_bgcolor).getLuminance(),Te="M0,0H"+A+"V"+w+"H0V0",qe=!1,Ue="xy",Z=!1,Me=eP(l,Se,_,x,Te),G=tP(l,_,x)}function le(ge,xe){if(e._transitioningWithDuration)return!1;var Re=Math.max(0,Math.min(A,W*ge+he)),Pe=Math.max(0,Math.min(w,Q*xe+we)),Ie=Math.abs(Re-he),Be=Math.abs(Pe-we);ee.l=Math.min(he,Re),ee.r=Math.max(he,Re),ee.t=Math.min(we,Pe),ee.b=Math.max(we,Pe);function ut(){Ue="",ee.r=ee.l,ee.t=ee.b,G.attr("d","M0,0Z")}if(M.isSubplotConstrained)Ie>Ma||Be>Ma?(Ue="xy",Ie/A>Be/w?(Be=Ie*w/A,we>Pe?ee.t=we-Be:ee.b=we+Be):(Ie=Be*A/w,he>Re?ee.l=he-Ie:ee.r=he+Ie),G.attr("d",$h(ee))):ut();else if(L.isSubplotConstrained)if(Ie>Ma||Be>Ma){Ue="xy";var gt=Math.min(ee.l/A,(w-ee.b)/w),it=Math.max(ee.r/A,(w-ee.t)/w);ee.l=gt*A,ee.r=it*A,ee.b=(1-gt)*w,ee.t=(1-it)*w,G.attr("d",$h(ee))}else ut();else!q||Be0){var Mt;if(L.isSubplotConstrained||!S&&q.length===1){for(Mt=0;Mt=0?Math.min(e,.9):1/(1/Math.max(e,-.3)+3.222))}function fie(e,t,r){return e?e==="nsew"?r?"":t==="pan"?"move":"crosshair":e.toLowerCase()+"-resize":"pointer"}function eP(e,t,r,a,n){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",G6(r,a)).attr("d",n+"Z")}function tP(e,t,r){return e.append("path").attr("class","zoombox-corners").style({fill:W6.background,stroke:W6.defaultLine,"stroke-width":1,opacity:0}).attr("transform",G6(t,r)).attr("d","M0,0Z")}function rP(e,t,r,a,n,i){e.attr("d",a+"M"+r.l+","+r.t+"v"+r.h+"h"+r.w+"v-"+r.h+"h-"+r.w+"Z"),aP(e,t,n,i)}function aP(e,t,r,a){r||(e.transition().style("fill",a>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),t.transition().style("opacity",1).duration(200))}function j0(e){I0.select(e).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function nP(e){X6&&e.data&&e._context.showTips&&(hn.notifier(hn._(e,"Double-click to zoom back out"),"long"),X6=!1)}function cie(e,t){return"M"+(e.l-.5)+","+(t-Ma-.5)+"h-3v"+(2*Ma+1)+"h3ZM"+(e.r+.5)+","+(t-Ma-.5)+"h3v"+(2*Ma+1)+"h-3Z"}function die(e,t){return"M"+(t-Ma-.5)+","+(e.t-.5)+"v-3h"+(2*Ma+1)+"v3ZM"+(t-Ma-.5)+","+(e.b+.5)+"v3h"+(2*Ma+1)+"v-3Z"}function $h(e){var t=Math.floor(Math.min(e.b-e.t,e.r-e.l,Ma)/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 iP(e,t,r,a,n){for(var i=!1,o={},s={},l,u,c,d,h=(n||{}).xaHash,p=(n||{}).yaHash,g=0;g{"use strict";var hie=Et(),Jh=Ti(),vie=qn(),pie=Ki(),In=uP().makeDragBox,jr=Jr().DRAGGERSIZE;ev.initInteractions=function(t){var r=t._fullLayout;if(t._context.staticPlot){hie.select(t).selectAll(".drag").remove();return}if(!(!r._has("cartesian")&&!r._has("splom"))){var a=Object.keys(r._plots||{}).sort(function(i,o){if((r._plots[i].mainplot&&!0)===(r._plots[o].mainplot&&!0)){var s=i.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[i].mainplot?1:-1});a.forEach(function(i){var o=r._plots[i],s=o.xaxis,l=o.yaxis;if(!o.mainplot){var u=In(t,o,s._offset,l._offset,s._length,l._length,"ns","ew");u.onmousemove=function(h){t._fullLayout._rehover=function(){t._fullLayout._hoversubplot===i&&t._fullLayout._plots[i]&&Jh.hover(t,h,i)},Jh.hover(t,h,i),t._fullLayout._lasthover=u,t._fullLayout._hoversubplot=i},u.onmouseout=function(h){t._dragging||(t._fullLayout._hoversubplot=null,vie.unhover(t,h))},t._context.showAxisDragHandles&&(In(t,o,s._offset-jr,l._offset-jr,jr,jr,"n","w"),In(t,o,s._offset+s._length,l._offset-jr,jr,jr,"n","e"),In(t,o,s._offset-jr,l._offset+l._length,jr,jr,"s","w"),In(t,o,s._offset+s._length,l._offset+l._length,jr,jr,"s","e"))}if(t._context.showAxisDragHandles){if(i===s._mainSubplot){var c=s._mainLinePosition;s.side==="top"&&(c-=jr),In(t,o,s._offset+s._length*.1,c,s._length*.8,jr,"","ew"),In(t,o,s._offset,c,s._length*.1,jr,"","w"),In(t,o,s._offset+s._length*.9,c,s._length*.1,jr,"","e")}if(i===l._mainSubplot){var d=l._mainLinePosition;l.side!=="right"&&(d-=jr),In(t,o,d,l._offset+l._length*.1,jr,l._length*.8,"ns",""),In(t,o,d,l._offset+l._length*.9,jr,l._length*.1,"s",""),In(t,o,d,l._offset,jr,l._length*.1,"n","")}}});var n=r._hoverlayer.node();n.onmousemove=function(i){i.target=t._fullLayout._lasthover,Jh.hover(t,i,r._hoversubplot)},n.onclick=function(i){i.target=t._fullLayout._lasthover,Jh.click(t,i)},n.onmousedown=function(i){t._fullLayout._lasthover.onmousedown(i)},ev.updateFx(t)}};ev.updateFx=function(e){var t=e._fullLayout,r=t.dragmode==="pan"?"move":"crosshair";pie(t._draggers,r)}});var dP=E((fbe,cP)=>{"use strict";var fP=ht();cP.exports=function(t){for(var r=fP.layoutArrayContainers,a=fP.layoutArrayRegexes,n=t.split("[")[0],i,o,s=0;s{"use strict";var mie=zs(),H0=vd(),xf=Lo(),gie=Gm().sorterAsc,B0=ht();_f.containerArrayMatch=dP();var yie=_f.isAddVal=function(t){return t==="add"||mie(t)},hP=_f.isRemoveVal=function(t){return t===null||t==="remove"};_f.applyContainerArrayChanges=function(t,r,a,n,i){var o=r.astr,s=B0.getComponentMethod(o,"supplyLayoutDefaults"),l=B0.getComponentMethod(o,"draw"),u=B0.getComponentMethod(o,"drawOne"),c=n.replot||n.recalc||s===H0||l===H0,d=t.layout,h=t._fullLayout;if(a[""]){Object.keys(a).length>1&&xf.warn("Full array edits are incompatible with other edits",o);var p=a[""][""];if(hP(p))r.set(null);else if(Array.isArray(p))r.set(p);else return xf.warn("Unrecognized full array edit value",o,p),!0;return c?!1:(s(d,h),l(t),!0)}var g=Object.keys(a).map(Number).sort(gie),m=r.get(),b=m||[],_=i(h,o).get(),x=[],A=-1,w=b.length,M,L,S,q,R,z,F,N;for(M=0;Mb.length-(F?0:1)){xf.warn("index out of range",o,S);continue}if(z!==void 0)R.length>1&&xf.warn("Insertion & removal are incompatible with edits to the same index.",o,S),hP(z)?x.push(S):F?(z==="add"&&(z={}),b.splice(S,0,z),_&&_.splice(S,0,{})):xf.warn("Unrecognized full object edit value",o,S,z),A===-1&&(A=S);else for(L=0;L=0;M--)b.splice(x[M],1),_&&_.splice(x[M],1);if(b.length?m||r.set(b):r.set(null),c)return!1;if(s(d,h),u!==H0){var j;if(A===-1)j=g;else{for(w=Math.max(b.length,w),j=[],M=0;M=A));M++)j.push(S);for(M=A;M{"use strict";var pP=zt(),bie=Nm(),mP=ht(),Sa=De(),wf=Dr(),gP=Er(),ts=It(),Tf=gP.cleanId,xie=gP.getFromTrace,Af=mP.traceIs;vn.clearPromiseQueue=function(e){Array.isArray(e._promises)&&e._promises.length>0&&Sa.log("Clearing previous rejected promises from queue."),e._promises=[]};vn.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 a=(wf.subplotsRegistry.cartesian||{}).attrRegex,n=(wf.subplotsRegistry.polar||{}).attrRegex,i=(wf.subplotsRegistry.ternary||{}).attrRegex,o=(wf.subplotsRegistry.gl3d||{}).attrRegex,s=Object.keys(e);for(t=0;t3?(R.x=1.02,R.xanchor="left"):R.x<-2&&(R.x=-.02,R.xanchor="right"),R.y>3?(R.y=1.02,R.yanchor="bottom"):R.y<-2&&(R.y=-.02,R.yanchor="top")),Ca(e),e.dragmode==="rotate"&&(e.dragmode="orbit"),ts.clean(e),e.template&&e.template.layout&&vn.cleanLayout(e.template.layout),e};function bl(e,t){var r=e[t],a=t.charAt(0);r&&r!=="paper"&&(e[t]=Tf(r,a,!0))}function Ca(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,a){var n=e[r],i=e.title&&e.title[a];n&&!i&&(e.title||(e.title={}),e.title[a]=e[r],delete e[r])}}vn.cleanData=function(e){for(var t=0;t0)return e.substr(0,t)}vn.hasParent=function(e,t){for(var r=xP(t);r;){if(r in e)return!0;r=xP(r)}return!1};var Tie=["x","y","z"];vn.clearAxisTypes=function(e,t,r){for(var a=0;a{"use strict";var rv=Et(),Aie=zt(),kie=ag(),We=De(),Xt=We.nestedProperty,U0=Du(),qa=NC(),pn=ht(),av=Yi(),yt=Dr(),va=rr(),G0=Kt(),Mie=It(),Sie=O0().initInteractions,Cie=jo(),qie=bf().clearSelect,wP=qo().dfltConfig,nv=vP(),kr=_P(),Vt=Gh(),ro=Vi(),Lie=Jr().AX_NAME_PATTERN,W0=0,TP=5;function Die(e,t,r,a){var n;if(e=We.getGraphDiv(e),U0.init(e),We.isPlainObject(t)){var i=t;t=i.data,r=i.layout,a=i.config,n=i.frames}var o=U0.triggerHandler(e,"plotly_beforeplot",[t,r,a]);if(o===!1)return Promise.reject();!t&&!r&&!We.isPlotDiv(e)&&We.warn("Calling _doPlot as if redrawing but this container doesn't yet have a plot.",e);function s(){if(n)return Ft.addFrames(e,n)}kP(e,a),r||(r={}),rv.select(e).classed("js-plotly-plot",!0),G0.makeTester(),Array.isArray(e._promises)||(e._promises=[]);var l=(e.data||[]).length===0&&Array.isArray(t);Array.isArray(t)&&(kr.cleanData(t),l?e.data=t:e.data.push.apply(e.data,t),e.empty=!1),(!e.layout||l)&&(e.layout=kr.cleanLayout(r)),yt.supplyDefaults(e);var u=e._fullLayout,c=u._has("cartesian");u._replotting=!0,(l||u._shouldCreateBgLayer)&&(Jie(e),u._shouldCreateBgLayer&&delete u._shouldCreateBgLayer),G0.initGradients(e),G0.initPatterns(e),l&&va.saveShowSpikeInitial(e);var d=!e.calcdata||e.calcdata.length!==(e._fullData||[]).length;d&&yt.doCalcdata(e);for(var h=0;h=e.data.length||n<-e.data.length)throw new Error(r+" must be valid indices for gd.data.");if(t.indexOf(n,a+1)>-1||n>=0&&t.indexOf(-e.data.length+n)>-1||n<0&&t.indexOf(e.data.length+n)>-1)throw new Error("each index in "+r+" must be unique.")}}function MP(e,t,r){if(!Array.isArray(e.data))throw new Error("gd.data must be an array.");if(typeof t=="undefined")throw new Error("currentIndices is a required argument.");if(Array.isArray(t)||(t=[t]),ov(e,t,"currentIndices"),typeof r!="undefined"&&!Array.isArray(r)&&(r=[r]),typeof r!="undefined"&&ov(e,r,"newIndices"),typeof r!="undefined"&&t.length!==r.length)throw new Error("current and new indices must be of equal length.")}function zie(e,t,r){var a,n;if(!Array.isArray(e.data))throw new Error("gd.data must be an array.");if(typeof t=="undefined")throw new Error("traces must be defined.");for(Array.isArray(t)||(t=[t]),a=0;a=0&&c=0&&c-1&&i.indexOf("grouptitlefont")===-1?s(i,i.replace("titlefont","title.font")):i.indexOf("titleposition")>-1?s(i,i.replace("titleposition","title.position")):i.indexOf("titleside")>-1?s(i,i.replace("titleside","title.side")):i.indexOf("titleoffset")>-1&&s(i,i.replace("titleoffset","title.offset"));function s(l,u){e[u]=e[l],delete e[l]}}function Mf(e,t,r){e=We.getGraphDiv(e),kr.clearPromiseQueue(e);var a={};if(typeof t=="string")a[t]=r;else if(We.isPlainObject(t))a=We.extendFlat({},t);else return We.warn("Relayout fail.",t,r),Promise.reject();Object.keys(a).length&&(e.changed=!0);var n=jP(e,a),i=n.flags;i.calc&&(e.calcdata=void 0);var o=[yt.previousPromises];i.layoutReplot?o.push(Vt.layoutReplot):Object.keys(a).length&&(EP(e,i,n)||yt.supplyDefaults(e),i.legend&&o.push(Vt.doLegend),i.layoutstyle&&o.push(Vt.layoutStyles),i.axrange&&fv(o,n.rangesAltered),i.ticks&&o.push(Vt.doTicksRelayout),i.modebar&&o.push(Vt.doModeBar),i.camera&&o.push(Vt.doCamera),i.colorbars&&o.push(Vt.doColorBars),o.push(kf)),o.push(yt.rehover,yt.redrag),qa.add(e,Mf,[e,n.undoit],Mf,[e,n.redoit]);var s=We.syncOrAsync(o,e);return(!s||!s.then)&&(s=Promise.resolve(e)),s.then(function(){return e.emit("plotly_relayout",n.eventData),e})}function EP(e,t,r){var a=e._fullLayout;if(!t.axrange)return!1;for(var n in t)if(n!=="axrange"&&t[n])return!1;for(var i in r.rangesAltered){var o=va.id2name(i),s=e.layout[o],l=a[o];if(l.autorange=s.autorange,s.range&&(l.range=s.range.slice()),l.cleanRange(),l._matchGroup){for(var u in l._matchGroup)if(u!==i){var c=a[va.id2name(u)];c.autorange=l.autorange,c.range=l.range.slice(),c._input.range=l.range.slice()}}}return!0}function fv(e,t){var r=t?function(a){var n=[],i=!0;for(var o in t){var s=va.getFromId(a,o);if(n.push(o),(s.ticklabelposition||"").indexOf("inside")!==-1&&s._anchorAxis&&n.push(s._anchorAxis._id),s._matchGroup)for(var l in s._matchGroup)t[l]||n.push(l);s.automargin&&(i=!1)}return va.draw(a,n,{skipTitle:i})}:function(a){return va.draw(a,"redraw")};e.push(qie,Vt.doAutoRangeAndConstraints,r,Vt.drawData,Vt.finalDraw)}var zP=/^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/,NP=/^[xyz]axis[0-9]*\.autorange$/,FP=/^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/;function jP(e,t){var r=e.layout,a=e._fullLayout,n=a._guiEditing,i=lv(a._preGUI,n),o=Object.keys(t),s=va.list(e),l=We.extendDeepAll({},t),u={},c,d,h;for(IP(t),o=Object.keys(t),d=0;d0&&typeof q.parts[F]!="string";)F--;var N=q.parts[F],j=q.parts[F-1]+"."+N,B=q.parts.slice(0,F).join("."),V=Xt(e.layout,B).get(),W=Xt(a,B).get(),Q=q.get();if(R!==void 0){_[S]=R,x[S]=N==="reverse"?R:Si(Q);var Y=av.getLayoutValObject(a,q.parts);if(Y&&Y.impliedEdits&&R!==null)for(var $ in Y.impliedEdits)A(We.relativeAttr(S,$),Y.impliedEdits[$]);if(["width","height"].indexOf(S)!==-1)if(R){A("autosize",null);var re=S==="height"?"width":"height";A(re,a[re])}else a[S]=e._initialAutoSize[S];else if(S==="autosize")A("width",R?null:a.width),A("height",R?null:a.height);else if(j.match(zP))L(j),Xt(a,B+"._inputRange").set(null);else if(j.match(NP)){L(j),Xt(a,B+"._inputRange").set(null);var ue=Xt(a,B).get();ue._inputDomain&&(ue._input.domain=ue._inputDomain.slice())}else j.match(FP)&&Xt(a,B+"._inputDomain").set(null);if(N==="type"){M=V;var ce=W.type==="linear"&&R==="log",ye=W.type==="log"&&R==="linear";if(ce||ye){if(!M||!M.range)A(B+".autorange",!0);else if(W.autorange)ce&&(M.range=M.range[1]>M.range[0]?[1,2]:[2,1]);else{var he=M.range[0],we=M.range[1];ce?(he<=0&&we<=0&&A(B+".autorange",!0),he<=0?he=we/1e6:we<=0&&(we=he/1e6),A(B+".range[0]",Math.log(he)/Math.LN10),A(B+".range[1]",Math.log(we)/Math.LN10)):(A(B+".range[0]",Math.pow(10,he)),A(B+".range[1]",Math.pow(10,we)))}Array.isArray(a._subplots.polar)&&a._subplots.polar.length&&a[q.parts[0]]&&q.parts[1]==="radialaxis"&&delete a[q.parts[0]]._subplot.viewInitial["radialaxis.range"],pn.getComponentMethod("annotations","convertCoords")(e,W,R,A),pn.getComponentMethod("images","convertCoords")(e,W,R,A)}else A(B+".autorange",!0),A(B+".range",null);Xt(a,B+"._inputRange").set(null)}else if(N.match(Lie)){var ee=Xt(a,S).get(),Se=(R||{}).type;(!Se||Se==="-")&&(Se="linear"),pn.getComponentMethod("annotations","convertCoords")(e,ee,Se,A),pn.getComponentMethod("images","convertCoords")(e,ee,Se,A)}var Te=nv.containerArrayMatch(S);if(Te){c=Te.array,d=Te.index;var qe=Te.property,Ue=Y||{editType:"calc"};d!==""&&qe===""&&(nv.isAddVal(R)?x[S]=null:nv.isRemoveVal(R)?x[S]=(Xt(r,c).get()||[])[d]:We.warn("unrecognized full object value",t)),ro.update(b,Ue),u[c]||(u[c]={});var Me=u[c][d];Me||(Me=u[c][d]={}),Me[qe]=R,delete t[S]}else N==="reverse"?(V.range?V.range.reverse():(A(B+".autorange",!0),V.range=[1,0]),W.autorange?b.calc=!0:b.plot=!0):(a._has("scatter-like")&&a._has("regl")&&S==="dragmode"&&(R==="lasso"||R==="select")&&!(Q==="lasso"||Q==="select")||a._has("gl2d")?b.plot=!0:Y?ro.update(b,Y):b.calc=!0,q.set(R))}}for(c in u){var G=nv.applyContainerArrayChanges(e,i(r,c),u[c],b,i);G||(b.plot=!0)}for(var Z in w){M=va.getFromId(e,Z);var O=M&&M._constraintGroup;if(O){b.calc=!0;for(var le in O)w[le]||(va.getFromId(e,le)._constraintShrinkable=!0)}}return(OP(e)||t.height||t.width)&&(b.plot=!0),(b.plot||b.calc)&&(b.layoutReplot=!0),{flags:b,rangesAltered:w,undoit:x,redoit:_,eventData:l}}function OP(e){var t=e._fullLayout,r=t.width,a=t.height;return e.layout.autosize&&yt.plotAutoSize(e,e.layout,t),t.width!==r||t.height!==a}function cv(e,t,r,a){e=We.getGraphDiv(e),kr.clearPromiseQueue(e),We.isPlainObject(t)||(t={}),We.isPlainObject(r)||(r={}),Object.keys(t).length&&(e.changed=!0),Object.keys(r).length&&(e.changed=!0);var n=kr.coerceTraceIndices(e,a),i=PP(e,We.extendFlat({},t),n),o=i.flags,s=jP(e,We.extendFlat({},r)),l=s.flags;(o.calc||l.calc)&&(e.calcdata=void 0),o.clearAxisTypes&&kr.clearAxisTypes(e,n,r);var u=[];l.layoutReplot?u.push(Vt.layoutReplot):o.fullReplot?u.push(Ft._doPlot):(u.push(yt.previousPromises),EP(e,l,s)||yt.supplyDefaults(e),o.style&&u.push(Vt.doTraceStyle),(o.colorbars||l.colorbars)&&u.push(Vt.doColorBars),l.legend&&u.push(Vt.doLegend),l.layoutstyle&&u.push(Vt.layoutStyles),l.axrange&&fv(u,s.rangesAltered),l.ticks&&u.push(Vt.doTicksRelayout),l.modebar&&u.push(Vt.doModeBar),l.camera&&u.push(Vt.doCamera),u.push(kf)),u.push(yt.rehover,yt.redrag),qa.add(e,cv,[e,i.undoit,s.undoit,i.traces],cv,[e,i.redoit,s.redoit,i.traces]);var c=We.syncOrAsync(u,e);return(!c||!c.then)&&(c=Promise.resolve(e)),c.then(function(){return e.emit("plotly_update",{data:i.eventData,layout:s.eventData}),e})}function Y0(e){return function(r){r._fullLayout._guiEditing=!0;var a=e.apply(null,arguments);return r._fullLayout._guiEditing=!1,a}}var Oie=[{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"}],Hie=[{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 HP(e,t){for(var r=0;r1;)if(a.pop(),r=Xt(t,a.join(".")+".uirevision").get(),r!==void 0)return r;return t.uirevision}function Bie(e,t){for(var r=0;r=n.length?n[0]:n[u]:n}function s(u){return Array.isArray(i)?u>=i.length?i[0]:i[u]:i}function l(u,c){var d=0;return function(){if(u&&++d===c)return u()}}return new Promise(function(u,c){function d(){if(a._frameQueue.length!==0){for(;a._frameQueue.length;){var N=a._frameQueue.pop();N.onInterrupt&&N.onInterrupt()}e.emit("plotly_animationinterrupted",[])}}function h(N){if(N.length!==0){for(var j=0;ja._timeToNext&&g()};N()}var b=0;function _(N){return Array.isArray(n)?b>=n.length?N.transitionOpts=n[b]:N.transitionOpts=n[0]:N.transitionOpts=n,b++,N}var x,A,w=[],M=t==null,L=Array.isArray(t),S=!M&&!L&&We.isPlainObject(t);if(S)w.push({type:"object",data:_(We.extendFlat({},t))});else if(M||["string","number"].indexOf(typeof t)!==-1)for(x=0;x0&&zz)&&F.push(A);w=F}}w.length>0?h(w):(e.emit("plotly_animated"),u())})}function Xie(e,t,r){if(e=We.getGraphDiv(e),t==null)return Promise.resolve();if(!We.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 a,n,i,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,c=[],d={};for(a=t.length-1;a>=0;a--)if(!!We.isPlainObject(t[a])){var h=t[a].name,p=(l[h]||d[h]||{}).name,g=t[a].name,m=l[p]||d[p];p&&g&&typeof g=="number"&&m&&W0q.index?-1:S.index=0;a--){if(n=c[a].frame,typeof n.name=="number"&&We.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!n.name)for(;l[n.name="frame "+e._transitionData._counter++];);if(l[n.name]){for(i=0;i=0;r--)a=t[r],i.push({type:"delete",index:a}),o.unshift({type:"insert",index:a,value:n[a]});var s=yt.modifyFrames,l=yt.modifyFrames,u=[e,o],c=[e,i];return qa&&qa.add(e,s,u,l,c),yt.modifyFrames(e,i)}function Kie(e){e=We.getGraphDiv(e);var t=e._fullLayout||{},r=e._fullData||[];return yt.cleanPlot([],{},r,t),yt.purge(e),U0.purge(e),t._container&&t._container.remove(),delete e._context,e}function $ie(e){var t=e._fullLayout,r=e.getBoundingClientRect();if(!We.equalDomRects(r,t._lastBBox)){var a=t._invTransform=We.inverseTransformMatrix(We.getFullTransformMatrix(e));t._invScaleX=Math.sqrt(a[0][0]*a[0][0]+a[0][1]*a[0][1]+a[0][2]*a[0][2]),t._invScaleY=Math.sqrt(a[1][0]*a[1][0]+a[1][1]*a[1][1]+a[1][2]*a[1][2]),t._lastBBox=r}}function Jie(e){var t=rv.select(e),r=e._fullLayout;if(r._calcInverseTransform=$ie,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 a={};rv.selectAll("defs").each(function(){this.id&&(a[this.id.split("-")[1]]=1)}),r._uid=We.randstr(a)}r._paperdiv.selectAll(".main-svg").attr(Cie.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 n=r._paper.append("g").classed("layer-below",!0);r._imageLowerLayer=n.append("g").classed("imagelayer",!0),r._shapeLowerLayer=n.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 i=r._toppaper.append("g").classed("layer-above",!0);r._imageUpperLayer=i.append("g").classed("imagelayer",!0),r._shapeUpperLayer=i.append("g").classed("shapelayer",!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")}Ft.animate=Zie;Ft.addFrames=Xie;Ft.deleteFrames=Qie;Ft.addTraces=DP;Ft.deleteTraces=RP;Ft.extendTraces=qP;Ft.moveTraces=V0;Ft.prependTraces=LP;Ft.newPlot=Eie;Ft._doPlot=Die;Ft.purge=Kie;Ft.react=Wie;Ft.redraw=Iie;Ft.relayout=Mf;Ft.restyle=sv;Ft.setPlotConfig=Rie;Ft.update=cv;Ft._guiRelayout=Y0(Mf);Ft._guiRestyle=Y0(sv);Ft._guiUpdate=Y0(cv);Ft._storeDirectGUIEdit=jie});var rs=E(En=>{"use strict";var eoe=ht();En.getDelay=function(e){return e._has&&(e._has("gl3d")||e._has("gl2d")||e._has("mapbox"))?500:0};En.getRedrawFunc=function(e){return function(){eoe.getComponentMethod("colorbar","draw")(e)}};En.encodeSVG=function(e){return"data:image/svg+xml,"+encodeURIComponent(e)};En.encodeJSON=function(e){return"data:application/json,"+encodeURIComponent(e)};var GP=window.URL||window.webkitURL;En.createObjectURL=function(e){return GP.createObjectURL(e)};En.revokeObjectURL=function(e){return GP.revokeObjectURL(e)};En.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=toe(window.atob(e));return new window.Blob([r],{type:"image/"+t})};En.octetStream=function(e){document.location.href="data:application/octet-stream"+e};function toe(e){for(var t=e.length,r=new ArrayBuffer(t),a=new Uint8Array(r),n=0;n{"use strict";var Q0=Et(),roe=De(),aoe=Kt(),noe=It(),hv=jo(),K0=/"/g,Sf="TOBESTRIPPED",ioe=new RegExp('("'+Sf+")|("+Sf+'")',"g");function ooe(e){var t=Q0.select("body").append("div").style({display:"none"}).html(""),r=e.replace(/(&[^;]*;)/gi,function(a){return a==="<"?"<":a==="&rt;"?">":a.indexOf("<")!==-1||a.indexOf(">")!==-1?"":t.html(a).text()});return t.remove(),r}function soe(e){return e.replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")}WP.exports=function(t,r,a){var n=t._fullLayout,i=n._paper,o=n._toppaper,s=n.width,l=n.height,u,c;i.insert("rect",":first-child").call(aoe.setRect,0,0,s,l).call(noe.fill,n.paper_bgcolor);var d=n._basePlotModules||[];for(u=0;u{"use strict";var VP=De(),loe=Rd().EventEmitter,xl=rs();function uoe(e){var t=e.emitter||new loe,r=new Promise(function(a,n){var i=window.Image,o=e.svg,s=e.format||"png";if(VP.isIE()&&s!=="svg"){var l=new Error(xl.MSG_IE_BAD_FORMAT);return n(l),e.promise?r:t.emit("error",l)}var u=e.canvas,c=e.scale||1,d=e.width||300,h=e.height||150,p=c*d,g=c*h,m=u.getContext("2d"),b=new i,_,x;s==="svg"||VP.isSafari()?x=xl.encodeSVG(o):(_=xl.createBlob(o,"svg"),x=xl.createObjectURL(_)),u.width=p,u.height=g,b.onload=function(){var A;switch(_=null,xl.revokeObjectURL(x),s!=="svg"&&m.drawImage(b,0,0,p,g),s){case"jpeg":A=u.toDataURL("image/jpeg");break;case"png":A=u.toDataURL("image/png");break;case"webp":A=u.toDataURL("image/webp");break;case"svg":A=x;break;default:var w="Image format is not jpeg, png, svg or webp.";if(n(new Error(w)),!e.promise)return t.emit("error",w)}a(A),e.promise||t.emit("success",A)},b.onerror=function(A){if(_=null,xl.revokeObjectURL(x),n(A),!e.promise)return t.emit("error",A)},b.src=x});return e.promise?r:t}YP.exports=uoe});var J0=E((gbe,QP)=>{"use strict";var ZP=zt(),XP=X0(),foe=Dr(),oi=De(),Cf=rs(),coe=vv(),doe=pv(),hoe=_m().version,$0={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 voe(e,t){t=t||{};var r,a,n,i;oi.isPlainObject(e)?(r=e.data||[],a=e.layout||{},n=e.config||{},i={}):(e=oi.getGraphDiv(e),r=oi.extendDeep([],e.data),a=oi.extendDeep({},e.layout),n=e._context,i=e._fullLayout||{});function o(L){return!(L in t)||oi.validate(t[L],$0[L])}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 "+oi.join2($0.format.values,", "," or ")+".");var s={};function l(L,S){return oi.coerce(t,s,$0,L,S)}var u=l("format"),c=l("width"),d=l("height"),h=l("scale"),p=l("setBackground"),g=l("imageDataOnly"),m=document.createElement("div");m.style.position="absolute",m.style.left="-5000px",document.body.appendChild(m);var b=oi.extendFlat({},a);c?b.width=c:t.width===null&&ZP(i.width)&&(b.width=i.width),d?b.height=d:t.height===null&&ZP(i.height)&&(b.height=i.height);var _=oi.extendFlat({},n,{_exportedPlot:!0,staticPlot:!0,setBackground:p}),x=Cf.getRedrawFunc(m);function A(){return new Promise(function(L){setTimeout(L,Cf.getDelay(m._fullLayout))})}function w(){return new Promise(function(L,S){var q=coe(m,u,h),R=m._fullLayout.width,z=m._fullLayout.height;function F(){XP.purge(m),document.body.removeChild(m)}if(u==="full-json"){var N=foe.graphJson(m,!1,"keepdata","object",!0,!0);return N.version=hoe,N=JSON.stringify(N),F(),L(g?N:Cf.encodeJSON(N))}if(F(),u==="svg")return L(g?q:Cf.encodeSVG(q));var j=document.createElement("canvas");j.id=oi.randstr(),doe({format:u,width:R,height:z,scale:h,canvas:j,svg:q,promise:!0}).then(L).catch(S)})}function M(L){return g?L.replace(Cf.IMAGE_URL_PREFIX,""):L}return new Promise(function(L,S){XP.newPlot(m,r,b,_).then(x).then(A).then(w).then(function(q){L(M(q))}).catch(function(q){S(q)})})}QP.exports=voe});var e4=E((ybe,JP)=>{"use strict";var mn=De(),poe=Dr(),moe=Yi(),goe=qo().dfltConfig,gn=mn.isPlainObject,ao=Array.isArray,KP=mn.isArrayOrTypedArray;JP.exports=function(t,r){t===void 0&&(t=[]),r===void 0&&(r={});var a=moe.get(),n=[],i={_context:mn.extendFlat({},goe)},o,s;ao(t)?(i.data=mn.extendDeep([],t),o=t):(i.data=[],o=[],n.push(Mr("array","data"))),gn(r)?(i.layout=mn.extendDeep({},r),s=r):(i.layout={},s={},arguments.length>1&&n.push(Mr("object","layout"))),poe.supplyDefaults(i);for(var l=i._fullData,u=o.length,c=0;cd.length&&a.push(Mr("unused",n,u.concat(d.length)));var _=d.length,x=Array.isArray(b);x&&(_=Math.min(_,b.length));var A,w,M,L,S;if(h.dimensions===2)for(w=0;w<_;w++)if(ao(c[w])){c[w].length>d[w].length&&a.push(Mr("unused",n,u.concat(w,d[w].length)));var q=d[w].length;for(A=0;A<(x?Math.min(q,b[w].length):q);A++)M=x?b[w][A]:b,L=c[w][A],S=d[w][A],mn.validate(L,M)?S!==L&&S!==+L&&a.push(Mr("dynamic",n,u.concat(w,A),L,S)):a.push(Mr("value",n,u.concat(w,A),L))}else a.push(Mr("array",n,u.concat(w),c[w]));else for(w=0;w<_;w++)M=x?b[w]:b,L=c[w],S=d[w],mn.validate(L,M)?S!==L&&S!==+L&&a.push(Mr("dynamic",n,u.concat(w),L,S)):a.push(Mr("value",n,u.concat(w),L))}else if(h.items&&!g&&ao(c)){var R=b[Object.keys(b)[0]],z=[],F,N;for(F=0;F{"use strict";var t4=De(),Lf=rs();function Aoe(e,t,r){var a=document.createElement("a"),n="download"in a,i=new Promise(function(o,s){var l,u;if(t4.isIE())return l=Lf.createBlob(e,"svg"),window.navigator.msSaveBlob(l,t),l=null,o(t);if(n)return l=Lf.createBlob(e,r),u=Lf.createObjectURL(l),a.href=u,a.download=t,document.body.appendChild(a),a.click(),document.body.removeChild(a),Lf.revokeObjectURL(u),l=null,o(t);if(t4.isSafari()){var c=r==="svg"?",":";base64,";return Lf.octetStream(c+encodeURIComponent(e)),o(t)}s(new Error("download error"))});return i}r4.exports=Aoe});var tb=E((xbe,n4)=>{"use strict";var eb=De(),koe=J0(),Moe=a4(),Soe=rs();function Coe(e,t){var r;return eb.isPlainObject(e)||(r=eb.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(a,n){r&&r._snapshotInProgress&&n(new Error("Snapshotting already in progress.")),eb.isIE()&&t.format!=="svg"&&n(new Error(Soe.MSG_IE_BAD_FORMAT)),r&&(r._snapshotInProgress=!0);var i=koe(e,t),o=t.filename||e.fn||"newplot";o+="."+t.format.replace("-","."),i.then(function(s){return r&&(r._snapshotInProgress=!1),Moe(s,o,t.format)}).then(function(s){a(s)}).catch(function(s){r&&(r._snapshotInProgress=!1),n(s)})})}n4.exports=Coe});var u4=E(rb=>{"use strict";var Oa=De(),Ha=Oa.isPlainObject,i4=Yi(),o4=Dr(),qoe=Oi(),s4=sr(),l4=qo().dfltConfig;rb.makeTemplate=function(e){e=Oa.isPlainObject(e)?e:Oa.getGraphDiv(e),e=Oa.extendDeep({_context:l4},{data:e.data,layout:e.layout}),o4.supplyDefaults(e);var t=e.data||[],r=e.layout||{};r._basePlotModules=e._fullLayout._basePlotModules,r._modules=e._fullLayout._modules;var a={data:{},layout:{}};t.forEach(function(p){var g={};Df(p,g,Doe.bind(null,p));var m=Oa.coerce(p,{},qoe,"type"),b=a.data[m];b||(b=a.data[m]=[]),b.push(g)}),Df(r,a.layout,Loe.bind(null,r)),delete a.layout.template;var n=r.template;if(Ha(n)){var i=n.layout,o,s,l,u,c,d;Ha(i)&&mv(i,a.layout);var h=n.data;if(Ha(h)){for(s in a.data)if(l=h[s],Array.isArray(l)){for(c=a.data[s],d=c.length,u=l.length,o=0;o_?o.push({code:"unused",traceType:p,templateCount:b,dataCount:_}):_>b&&o.push({code:"reused",traceType:p,templateCount:b,dataCount:_})}}function x(A,w){for(var M in A)if(M.charAt(0)!=="_"){var L=A[M],S=yn(A,M,w);Ha(L)?(Array.isArray(A)&&L._template===!1&&L.templateitemname&&o.push({code:"missing",path:S,templateitemname:L.templateitemname}),x(L,S)):Array.isArray(L)&&Roe(L)&&x(L,S)}}if(x({data:l,layout:s},""),o.length)return o.map(Poe)};function Roe(e){for(var t=0;t{"use strict";var Pr=X0();nr._doPlot=Pr._doPlot;nr.newPlot=Pr.newPlot;nr.restyle=Pr.restyle;nr.relayout=Pr.relayout;nr.redraw=Pr.redraw;nr.update=Pr.update;nr._guiRestyle=Pr._guiRestyle;nr._guiRelayout=Pr._guiRelayout;nr._guiUpdate=Pr._guiUpdate;nr._storeDirectGUIEdit=Pr._storeDirectGUIEdit;nr.react=Pr.react;nr.extendTraces=Pr.extendTraces;nr.prependTraces=Pr.prependTraces;nr.addTraces=Pr.addTraces;nr.deleteTraces=Pr.deleteTraces;nr.moveTraces=Pr.moveTraces;nr.purge=Pr.purge;nr.addFrames=Pr.addFrames;nr.deleteFrames=Pr.deleteFrames;nr.animate=Pr.animate;nr.setPlotConfig=Pr.setPlotConfig;nr.toImage=J0();nr.validate=e4();nr.downloadImage=tb();var f4=u4();nr.makeTemplate=f4.makeTemplate;nr.validateTemplate=f4.validateTemplate});var Rf=E(ab=>{"use strict";var d4=xg(),Ioe=d4.FORMAT_LINK,Eoe=d4.DATE_FORMAT_LINK;function h4(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}".`,Ioe,"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}".`,Eoe,"for details on the date formatting syntax."].join(" ")}function v4(e){var t=e.description?" "+e.description:"",r=e.keys||[];if(r.length>0){for(var a=[],n=0;n` is displayed in the secondary box, for example "{fullData.name}".',"To hide the secondary box completely, use an empty tag ``."].join(" ")};return e.arrayOk!==!1&&(a.arrayOk=!0),a};ab.texttemplateAttrs=function(e,t){e=e||{},t=t||{};var r=v4(t),a={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`.",h4(),"Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.",r].join(" ")};return e.arrayOk!==!1&&(a.arrayOk=!0),a}});var yv=E((Abe,p4)=>{"use strict";p4.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20,eventDataKeys:[]}});var Pf=E((kbe,w4)=>{"use strict";var m4=Ud().axisHoverFormat,zoe=Rf().texttemplateAttrs,Noe=Rf().hovertemplateAttrs,g4=Ou(),Foe=_a(),joe=Bs().dash,Ooe=Kt(),y4=yv(),nb=fa().extendFlat;function b4(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* on the "+e+" axis.","Special values in the form of *M* could be used to declare","the number of months. In this case `n` must be a positive integer."].join(" ")}}function x4(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 _4(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(" ")}}w4.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:b4("x"),yperiod:b4("y"),xperiod0:x4("x0"),yperiod0:x4("y0"),xperiodalignment:_4("x"),yperiodalignment:_4("y"),xhoverformat:m4("x"),yhoverformat:m4("y"),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 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:zoe({},{}),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 "+y4.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:Noe({},{keys:y4.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:nb({},joe,{editType:"style"}),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:{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."].join(" ")},marker:nb({symbol:{valType:"enumerated",values:Ooe.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."},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:nb({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"},g4("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"},g4("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:Foe({editType:"calc",colorEditType:"style",arrayOk:!0,description:"Sets the text font."})}});var ob=E((Mbe,T4)=>{"use strict";var ib=De(),Hoe=ht();T4.exports=function(t,r,a,n){var i=n("x"),o=n("y"),s,l=Hoe.getComponentMethod("calendars","handleTraceDefaults");if(l(t,r,["x","y"],a),i){var u=ib.minRowLength(i);o?s=Math.min(u,ib.minRowLength(o)):(s=u,n("y0"),n("dy"))}else{if(!o)return 0;s=ib.minRowLength(o),n("x0"),n("dx")}return r._length=s,s}});var sb=E((Sbe,M4)=>{"use strict";var A4=De().dateTick0,Boe=yr(),Uoe=Boe.ONEWEEK;function k4(e,t){return e%Uoe==0?A4(t,1):A4(t,0)}M4.exports=function(t,r,a,n,i){if(i||(i={x:!0,y:!0}),i.x){var o=n("xperiod");o&&(n("xperiod0",k4(o,r.xcalendar)),n("xperiodalignment"))}if(i.y){var s=n("yperiod");s&&(n("yperiod0",k4(s,r.ycalendar)),n("yperiodalignment"))}}});var q4=E((Cbe,C4)=>{"use strict";var S4=["orientation","groupnorm","stackgaps"];C4.exports=function(t,r,a,n){var i=a._scatterStackOpts,o=n("stackgroup");if(o){var s=r.xaxis+r.yaxis,l=i[s];l||(l=i[s]={});var u=l[o],c=!1;u?u.traces.push(r):(u=l[o]={traceIndices:[],traces:[r]},c=!0);for(var d={orientation:r.x&&!r.y?"h":"v"},h=0;h{"use strict";var L4=It(),D4=on().hasColorscale,R4=il(),Goe=Va();P4.exports=function(t,r,a,n,i,o){var s=Goe.isBubble(t),l=(t.line||{}).color,u;if(o=o||{},l&&(a=l),i("marker.symbol"),i("marker.opacity",s?.7:1),i("marker.size"),i("marker.color",a),D4(t,"marker")&&R4(t,r,n,i,{prefix:"marker.",cLetter:"c"}),o.noSelect||(i("selected.marker.color"),i("unselected.marker.color"),i("selected.marker.size"),i("unselected.marker.size")),o.noLine||(l&&!Array.isArray(l)&&r.marker.color!==l?u=l:s?u=L4.background:u=L4.defaultLine,i("marker.line.color",u),D4(t,"marker.line")&&R4(t,r,n,i,{prefix:"marker.line.",cLetter:"c"}),i("marker.line.width",s?1:0)),s&&(i("marker.sizeref"),i("marker.sizemin"),i("marker.sizemode")),o.gradient){var c=i("marker.gradient.type");c!=="none"&&i("marker.gradient.color")}}});var z4=E((Lbe,E4)=>{"use strict";var Woe=De().isArrayOrTypedArray,Voe=on().hasColorscale,Yoe=il();E4.exports=function(t,r,a,n,i,o){var s=(t.marker||{}).color;if(i("line.color",a),Voe(t,"line"))Yoe(t,r,n,i,{prefix:"line.",cLetter:"c"});else{var l=(Woe(s)?!1:s)||a;i("line.color",l)}i("line.width"),(o||{}).noDash||i("line.dash")}});var F4=E((Dbe,N4)=>{"use strict";N4.exports=function(t,r,a){var n=a("line.shape");n==="spline"&&a("line.smoothing")}});var O4=E((Rbe,j4)=>{"use strict";var Zoe=De();j4.exports=function(e,t,r,a,n){n=n||{},a("textposition"),Zoe.coerceFont(a,"textfont",r.font),n.noSelect||(a("selected.textfont.color"),a("unselected.textfont.color"))}});var U4=E((Pbe,B4)=>{"use strict";var Xoe=It(),H4=De().isArrayOrTypedArray;B4.exports=function(t,r,a,n){var i=!1;if(r.marker){var o=r.marker.color,s=(r.marker.line||{}).color;o&&!H4(o)?i=o:s&&!H4(s)&&(i=s)}n("fillcolor",Xoe.addOpacity((r.line||{}).color||i||a,.5))}});var Y4=E((Ibe,V4)=>{"use strict";var G4=De(),Qoe=ht(),Koe=Pf(),$oe=yv(),_l=Va(),Joe=ob(),ese=sb(),tse=q4(),rse=I4(),ase=z4(),W4=F4(),nse=O4(),ise=U4();V4.exports=function(t,r,a,n){function i(p,g){return G4.coerce(t,r,Koe,p,g)}var o=Joe(t,r,n,i);if(o||(r.visible=!1),!!r.visible){ese(t,r,n,i),i("xhoverformat"),i("yhoverformat");var s=tse(t,r,n,i),l=!s&&o<$oe.PTS_LINESONLY?"lines+markers":"lines";i("text"),i("hovertext"),i("mode",l),_l.hasLines(r)&&(ase(t,r,a,n,i),W4(t,r,i),i("connectgaps"),i("line.simplify")),_l.hasMarkers(r)&&rse(t,r,a,n,i,{gradient:!0}),_l.hasText(r)&&(i("texttemplate"),nse(t,r,n,i));var u=[];(_l.hasMarkers(r)||_l.hasText(r))&&(i("cliponaxis"),i("marker.maxdisplayed"),u.push("points")),i("fill",s?s.fillDflt:"none"),r.fill!=="none"&&(ise(t,r,a,i),_l.hasLines(r)||W4(t,r,i));var c=(r.line||{}).color,d=(r.marker||{}).color;(r.fill==="tonext"||r.fill==="toself")&&u.push("fills"),i("hoveron",u.join("+")||"points"),r.hoveron!=="fills"&&i("hovertemplate");var h=Qoe.getComponentMethod("errorbars","supplyDefaults");h(t,r,c||d||a,{axis:"y"}),h(t,r,c||d||a,{axis:"x",inherit:"y"}),G4.coerceSelectionMarkerOpacity(r,i)}}});var X4=E((Ebe,Z4)=>{"use strict";Z4.exports=function(t){for(var r=0;r=0;i--){var o=t[i];if(o.type==="scatter"&&o.xaxis===a.xaxis&&o.yaxis===a.yaxis){o.opacity=void 0;break}}}}}});var lb=E((zbe,K4)=>{"use strict";var ose=zt(),Q4=De(),sse=Q4.dateTime2ms,bv=Q4.incrementMonth,lse=yr(),use=lse.ONEAVGMONTH;K4.exports=function(t,r,a,n){if(r.type!=="date")return{vals:n};var i=t[a+"periodalignment"];if(!i)return{vals:n};var o=t[a+"period"],s;if(ose(o)){if(o=+o,o<=0)return{vals:n}}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:n}}for(var u=r.calendar,c=i==="start",d=i==="end",h=t[a+"period0"],p=sse(h,u)||0,g=[],m=[],b=[],_=n.length,x=0;x<_;x++){var A=n[x],w,M,L;if(s){for(w=Math.round((A-p)/(s*use)),L=bv(p,s*w,u);L>A;)L=bv(L,-s,u);for(;L<=A;)L=bv(L,s,u);M=bv(L,-s,u)}else{for(w=Math.round((A-p)/o),L=p+w*o;L>A;)L-=o;for(;L<=A;)L+=o;M=L-o}g[x]=c?M:d?L:(M+L)/2,m[x]=M,b[x]=L}return{vals:g,starts:m,ends:b}}});var eI=E((Nbe,J4)=>{"use strict";var ub=on().hasColorscale,fb=Vd(),$4=Va();J4.exports=function(t,r){$4.hasLines(r)&&ub(r,"line")&&fb(t,r,{vals:r.line.color,containerStr:"line",cLetter:"c"}),$4.hasMarkers(r)&&(ub(r,"marker")&&fb(t,r,{vals:r.marker.color,containerStr:"marker",cLetter:"c"}),ub(r,"marker.line")&&fb(t,r,{vals:r.marker.line.color,containerStr:"marker.line",cLetter:"c"}))}});var cb=E((Fbe,tI)=>{"use strict";var pa=De();tI.exports=function(t,r){for(var a=0;a{"use strict";var rI=De();aI.exports=function(t,r){rI.isArrayOrTypedArray(r.selectedpoints)&&rI.tagSelected(t,r)}});var gb=E((Obe,fI)=>{"use strict";var nI=zt(),hb=De(),If=rr(),iI=lb(),vb=yr().BADNUM,pb=Va(),fse=eI(),cse=cb(),dse=db();function hse(e,t){var r=e._fullLayout,a=If.getFromId(e,t.xaxis||"x"),n=If.getFromId(e,t.yaxis||"y"),i=a.makeCalcdata(t,"x"),o=n.makeCalcdata(t,"y"),s=iI(t,a,"x",i),l=iI(t,n,"y",o),u=s.vals,c=l.vals,d=t._length,h=new Array(d),p=t.ids,g=mb(t,r,a,n),m=!1,b,_,x,A,w,M;lI(r,t);var L="x",S="y",q;if(g)hb.pushUnique(g.traceIndices,t._expandedIndex),b=g.orientation==="v",b?(S="s",q="x"):(L="s",q="y"),w=g.stackgaps==="interpolate";else{var R=sI(t,d);oI(e,t,a,n,u,c,R)}var z=!!t.xperiodalignment,F=!!t.yperiodalignment;for(_=0;__&&h[A].gap;)A--;for(M=h[A].s,x=h.length-1;x>A;x--)h[x].s=M;for(;_{"use strict";var cI=gb();dI.exports=function(t,r){var a=r.xaxis,n=r.yaxis,i=a._id+n._id,o=t._fullLayout._scatterStackOpts[i];if(!!o){var s=t.calcdata,l,u,c,d,h,p,g,m,b,_,x,A,w,M,L;for(var S in o){_=o[S];var q=_.traceIndices;if(!!q.length){for(x=_.stackgaps==="interpolate",A=_.groupnorm,_.orientation==="v"?(w="x",M="y"):(w="y",M="x"),L=new Array(q.length),l=0;lR[c]&&c{"use strict";var vI=yr(),Ef=vI.BADNUM,pI=vI.LOG_CLIP,mI=pI+.5,gI=pI-.5,bb=De(),pse=bb.segmentsIntersect,yI=bb.constrain,xb=yv();bI.exports=function(t,r){var a=r.xaxis,n=r.yaxis,i=a.type==="log",o=n.type==="log",s=a._length,l=n._length,u=r.connectGaps,c=r.baseTolerance,d=r.shape,h=d==="linear",p=r.fill&&r.fill!=="none",g=[],m=xb.minTolerance,b=t.length,_=new Array(b),x=0,A,w,M,L,S,q,R,z,F,N,j,B,V,W,Q,Y;function $(de){var ze=t[de];if(!ze)return!1;var He=r.linearized?a.l2p(ze.x):a.c2p(ze.x),Ee=r.linearized?n.l2p(ze.y):n.c2p(ze.y);if(He===Ef){if(i&&(He=a.c2p(ze.x,!0)),He===Ef)return!1;o&&Ee===Ef&&(He*=Math.abs(a._m*l*(a._m>0?mI:gI)/(n._m*s*(n._m>0?mI:gI)))),He*=1e3}if(Ee===Ef){if(o&&(Ee=n.c2p(ze.y,!0)),Ee===Ef)return!1;Ee*=1e3}return[He,Ee]}function re(de,ze,He,Ee){var ge=He-de,xe=Ee-ze,Re=.5-de,Pe=.5-ze,Ie=ge*ge+xe*xe,Be=ge*Re+xe*Pe;if(Be>0&&Be1||Math.abs(Re.y-He[0][1])>1)&&(Re=[Re.x,Re.y],Ee&&he(Re,de)Se||de[1]qe)return[yI(de[0],ee,Se),yI(de[1],Te,qe)]}function Ye(de,ze){if(de[0]===ze[0]&&(de[0]===ee||de[0]===Se)||de[1]===ze[1]&&(de[1]===Te||de[1]===qe))return!0}function Ce(de,ze){var He=[],Ee=je(de),ge=je(ze);return Ee&&ge&&Ye(Ee,ge)||(Ee&&He.push(Ee),ge&&He.push(ge)),He}function st(de,ze,He){return function(Ee,ge){var xe=je(Ee),Re=je(ge),Pe=[];if(xe&&Re&&Ye(xe,Re))return Pe;xe&&Pe.push(xe),Re&&Pe.push(Re);var Ie=2*bb.constrain((Ee[de]+ge[de])/2,ze,He)-((xe||Ee)[de]+(Re||ge)[de]);if(Ie){var Be;xe&&Re?Be=Ie>0==xe[de]>Re[de]?xe:Re:Be=xe||Re,Be[de]+=Ie}return Pe}}var Ze;d==="linear"||d==="spline"?Ze=Ae:d==="hv"||d==="vh"?Ze=Ce:d==="hvh"?Ze=st(0,ee,Se):d==="vhv"&&(Ze=st(1,Te,qe));function lt(de,ze){var He=ze[0]-de[0],Ee=(ze[1]-de[1])/He,ge=(de[1]*ze[0]-ze[1]*de[0])/He;return ge>0?[Ee>0?ee:Se,qe]:[Ee>0?Se:ee,Te]}function tt(de){var ze=de[0],He=de[1],Ee=ze===_[x-1][0],ge=He===_[x-1][1];if(!(Ee&&ge))if(x>1){var xe=ze===_[x-2][0],Re=He===_[x-2][1];Ee&&(ze===ee||ze===Se)&&xe?Re?x--:_[x-1]=de:ge&&(He===Te||He===qe)&&Re?xe?x--:_[x-1]=de:_[x++]=de}else _[x++]=de}function dt(de){_[x-1][0]!==de[0]&&_[x-1][1]!==de[1]&&tt([Z,O]),tt(de),le=null,Z=O=0}function pt(de){if(ue=de[0]/s,ce=de[1]/l,Me=de[0]Se?Se:0,G=de[1]qe?qe:0,Me||G){if(!x)_[x++]=[Me||de[0],G||de[1]];else if(le){var ze=Ze(le,de);ze.length>1&&(dt(ze[0]),_[x++]=ze[1])}else be=Ze(_[x-1],de)[0],_[x++]=be;var He=_[x-1];Me&&G&&(He[0]!==Me||He[1]!==G)?(le&&(Z!==Me&&O!==G?tt(Z&&O?lt(le,de):[Z||Me,O||G]):Z&&O&&tt([Z,O])),tt([Me,G])):Z-Me&&O-G&&tt([Me||Z,G||O]),le=de,Z=Me,O=G}else le&&dt(Ze(le,de)[0]),_[x++]=de}for(A=0;Aye(q,fe))break;M=q,V=F[0]*z[0]+F[1]*z[1],V>j?(j=V,L=q,R=!1):V=t.length||!q)break;pt(q),w=q}}le&&tt([Z||le[0],O||le[1]]),g.push(_.slice(0,x))}return g}});var TI=E((Ube,wI)=>{"use strict";var _I={tonextx:1,tonexty:1,tonext:1};wI.exports=function(t,r,a){var n,i,o,s,l,u={},c=!1,d=-1,h=0,p=-1;for(i=0;i=0?l=p:(l=p=h,h++),l{"use strict";var zn=Et(),mse=ht(),zf=De(),wl=zf.ensureSingle,AI=zf.identity,vr=Kt(),Tl=Va(),gse=xI(),yse=TI(),bse=S0().tester;MI.exports=function(t,r,a,n,i,o){var s,l,u=!i,c=!!i&&i.duration>0,d=yse(t,r,a);if(s=n.selectAll("g.trace").data(d,function(p){return p[0].trace.uid}),s.enter().append("g").attr("class",function(p){return"trace scatter trace"+p[0].trace.uid}).style("stroke-miterlimit",2),s.order(),xse(t,s,r),c){o&&(l=o());var h=zn.transition().duration(i.duration).ease(i.easing).each("end",function(){l&&l()}).each("interrupt",function(){l&&l()});h.each(function(){n.selectAll("g.trace").each(function(p,g){kI(t,g,r,p,d,this,i)})})}else s.each(function(p,g){kI(t,g,r,p,d,this,i)});u&&s.exit().remove(),n.selectAll("path:not([d])").remove()};function xse(e,t,r){t.each(function(a){var n=wl(zn.select(this),"g","fills");vr.setClipUrl(n,r.layerClipId,e);var i=a[0].trace,o=[];i._ownfill&&o.push("_ownFill"),i._nexttrace&&o.push("_nextFill");var s=n.selectAll("g").data(o,AI);s.enter().append("g"),s.exit().each(function(l){i[l]=null}).remove(),s.order().each(function(l){i[l]=wl(zn.select(this),"path","js-fill")})})}function kI(e,t,r,a,n,i,o){var s;_se(e,t,r,a,n);var l=!!o&&o.duration>0;function u(Z){return l?Z.transition():Z}var c=r.xaxis,d=r.yaxis,h=a[0].trace,p=h.line,g=zn.select(i),m=wl(g,"g","errorbars"),b=wl(g,"g","lines"),_=wl(g,"g","points"),x=wl(g,"g","text");if(mse.getComponentMethod("errorbars","plot")(e,m,r,o),h.visible!==!0)return;u(g).style("opacity",h.opacity);var A,w,M=h.fill.charAt(h.fill.length-1);M!=="x"&&M!=="y"&&(M=""),a[0][r.isRangePlot?"nodeRangePlot3":"node3"]=g;var L="",S=[],q=h._prevtrace;q&&(L=q._prevRevpath||"",w=q._nextFill,S=q._polygons);var R,z,F="",N="",j,B,V,W,Q,Y,$,re=[],ue=zf.noop;if(A=h._ownFill,Tl.hasLines(h)||h.fill!=="none"){for(w&&w.datum(a),["hv","vh","hvh","vhv"].indexOf(p.shape)!==-1?(j=vr.steps(p.shape),B=vr.steps(p.shape.split("").reverse().join(""))):p.shape==="spline"?j=B=function(Z){var O=Z[Z.length-1];return Z.length>1&&Z[0][0]===O[0]&&Z[0][1]===O[1]?vr.smoothclosed(Z.slice(1),p.smoothing):vr.smoothopen(Z,p.smoothing)}:j=B=function(Z){return"M"+Z.join("L")},V=function(Z){return B(Z.reverse())},re=gse(a,{xaxis:c,yaxis:d,connectGaps:h.connectgaps,baseTolerance:Math.max(p.width||1,3)/4,shape:p.shape,simplify:p.simplify,fill:h.fill}),$=h._polygons=new Array(re.length),s=0;s1){var le=zn.select(this);if(le.datum(a),Z)u(le.style("opacity",0).attr("d",R).call(vr.lineGroupStyle)).style("opacity",1);else{var be=u(le);be.attr("d",R),vr.singleLineStyle(a,be)}}}}}var ce=b.selectAll(".js-line").data(re);u(ce.exit()).style("opacity",0).remove(),ce.each(ue(!1)),ce.enter().append("path").classed("js-line",!0).style("vector-effect","non-scaling-stroke").call(vr.lineGroupStyle).each(ue(!0)),vr.setClipUrl(ce,r.layerClipId,e);function ye(Z){u(Z).attr("d","M0,0Z")}re.length?(A?(A.datum(a),W&&Y&&(M?(M==="y"?W[1]=Y[1]=d.c2p(0,!0):M==="x"&&(W[0]=Y[0]=c.c2p(0,!0)),u(A).attr("d","M"+Y+"L"+W+"L"+F.substr(1)).call(vr.singleFillStyle)):u(A).attr("d",F+"Z").call(vr.singleFillStyle))):w&&(h.fill.substr(0,6)==="tonext"&&F&&L?(h.fill==="tonext"?u(w).attr("d",F+"Z"+L+"Z").call(vr.singleFillStyle):u(w).attr("d",F+"L"+L.substr(1)+"Z").call(vr.singleFillStyle),h._polygons=h._polygons.concat(S)):(ye(w),h._polygons=null)),h._prevRevpath=N,h._prevPolygons=$):(A?ye(A):w&&ye(w),h._polygons=h._prevRevpath=h._prevPolygons=null);function he(Z){return Z.filter(function(O){return!O.gap&&O.vis})}function we(Z){return Z.filter(function(O){return O.vis})}function ee(Z){return Z.filter(function(O){return!O.gap})}function Se(Z){return Z.id}function Te(Z){if(Z.ids)return Se}function qe(){return!1}function Ue(Z,O,le){var be,Ae,je,Ye=le[0].trace,Ce=Tl.hasMarkers(Ye),st=Tl.hasText(Ye),Ze=Te(Ye),lt=qe,tt=qe;if(Ce||st){var dt=AI,pt=Ye.stackgroup,fe=pt&&e._fullLayout._scatterStackOpts[c._id+d._id][pt].stackgaps==="infer zero";Ye.marker.maxdisplayed||Ye._needsCull?dt=fe?we:he:pt&&!fe&&(dt=ee),Ce&&(lt=dt),st&&(tt=dt)}Ae=Z.selectAll("path.point"),be=Ae.data(lt,Ze);var de=be.enter().append("path").classed("point",!0);l&&de.call(vr.pointStyle,Ye,e).call(vr.translatePoints,c,d).style("opacity",0).transition().style("opacity",1),be.order();var ze;Ce&&(ze=vr.makePointStyleFns(Ye)),be.each(function(He){var Ee=zn.select(this),ge=u(Ee);je=vr.translatePoint(He,ge,c,d),je?(vr.singlePointStyle(He,ge,Ye,ze,e),r.layerClipId&&vr.hideOutsideRangePoint(He,ge,c,d,Ye.xcalendar,Ye.ycalendar),Ye.customdata&&Ee.classed("plotly-customdata",He.data!==null&&He.data!==void 0)):ge.remove()}),l?be.exit().transition().style("opacity",0).remove():be.exit().remove(),Ae=O.selectAll("g"),be=Ae.data(tt,Ze),be.enter().append("g").classed("textpoint",!0).append("text"),be.order(),be.each(function(He){var Ee=zn.select(this),ge=u(Ee.select("text"));je=vr.translatePoint(He,ge,c,d),je?r.layerClipId&&vr.hideOutsideRangePoint(He,Ee,c,d,Ye.xcalendar,Ye.ycalendar):Ee.remove()}),be.selectAll("text").call(vr.textPointStyle,Ye,e).each(function(He){var Ee=c.c2p(He.x),ge=d.c2p(He.y);zn.select(this).selectAll("tspan.line").each(function(){u(zn.select(this)).attr({x:Ee,y:ge})})}),be.exit().remove()}_.datum(a),x.datum(a),Ue(_,x,a);var Me=h.cliponaxis===!1,G=Me?null:r.layerClipId;vr.setClipUrl(_,G,e),vr.setClipUrl(x,G,e)}function _se(e,t,r,a,n){var i=r.xaxis,o=r.yaxis,s=zn.extent(zf.simpleMap(i.range,i.r2c)),l=zn.extent(zf.simpleMap(o.range,o.r2c)),u=a[0].trace;if(!!Tl.hasMarkers(u)){var c=u.marker.maxdisplayed;if(c!==0){var d=a.filter(function(m){return m.x>=s[0]&&m.x<=s[1]&&m.y>=l[0]&&m.y<=l[1]}),h=Math.ceil(d.length/c),p=0;n.forEach(function(m,b){var _=m[0].trace;Tl.hasMarkers(_)&&_.marker.maxdisplayed>0&&b{"use strict";CI.exports={container:"marker",min:"cmin",max:"cmax"}});var LI=E((Vbe,qI)=>{"use strict";var xv=rr();qI.exports=function(t,r,a){var n={},i={_fullLayout:a},o=xv.getFromTrace(i,r,"x"),s=xv.getFromTrace(i,r,"y");return n.xLabel=xv.tickText(o,o.c2l(t.x),!0).text,n.yLabel=xv.tickText(s,s.c2l(t.y),!0).text,n}});var kb=E((Ybe,DI)=>{"use strict";var wb=Et(),Al=Kt(),wse=ht();function Tse(e){var t=wb.select(e).selectAll("g.trace.scatter");t.style("opacity",function(r){return r[0].trace.opacity}),t.selectAll("g.points").each(function(r){var a=wb.select(this),n=r.trace||r[0].trace;Tb(a,n,e)}),t.selectAll("g.text").each(function(r){var a=wb.select(this),n=r.trace||r[0].trace;Ab(a,n,e)}),t.selectAll("g.trace path.js-line").call(Al.lineGroupStyle),t.selectAll("g.trace path.js-fill").call(Al.fillGroupStyle),wse.getComponentMethod("errorbars","style")(t)}function Tb(e,t,r){Al.pointStyle(e.selectAll("path.point"),t,r)}function Ab(e,t,r){Al.textPointStyle(e.selectAll("text"),t,r)}function Ase(e,t,r){var a=t[0].trace;a.selectedpoints?(Al.selectedPointStyle(r.selectAll("path.point"),a),Al.selectedTextStyle(r.selectAll("text"),a)):(Tb(r,a,e),Ab(r,a,e))}DI.exports={style:Tse,stylePoints:Tb,styleText:Ab,styleOnSelect:Ase}});var PI=E((Zbe,RI)=>{"use strict";var kl=It(),kse=Va();RI.exports=function(t,r){var a,n;if(t.mode==="lines")return a=t.line.color,a&&kl.opacity(a)?a:t.fillcolor;if(t.mode==="none")return t.fill?t.fillcolor:"";var i=r.mcc||(t.marker||{}).color,o=r.mlcc||((t.marker||{}).line||{}).color;return n=i&&kl.opacity(i)?i:o&&kl.opacity(o)&&(r.mlw||((t.marker||{}).line||{}).width)?o:"",n?kl.opacity(n)<.3?kl.addOpacity(n,.3):n:(a=(t.line||{}).color,a&&kl.opacity(a)&&kse.hasLines(t)&&t.line.width?a:t.fillcolor)}});var zI=E((Xbe,EI)=>{"use strict";var Mb=De(),II=Ti(),Mse=ht(),Sse=PI(),Sb=It(),Cse=Mb.fillText;EI.exports=function(t,r,a,n){var i=t.cd,o=i[0].trace,s=t.xa,l=t.ya,u=s.c2p(r),c=l.c2p(a),d=[u,c],h=o.hoveron||"",p=o.mode.indexOf("markers")!==-1?3:.5,g=!!o.xperiodalignment,m=!!o.yperiodalignment;if(h.indexOf("points")!==-1){var b=function(Ue){if(g){var Me=s.c2p(Ue.xStart),G=s.c2p(Ue.xEnd);return u>=Math.min(Me,G)&&u<=Math.max(Me,G)?0:1/0}var Z=Math.max(3,Ue.mrc||0),O=1-1/Z,le=Math.abs(s.c2p(Ue.x)-u);return le=Math.min(Me,G)&&c<=Math.max(Me,G)?0:1/0}var Z=Math.max(3,Ue.mrc||0),O=1-1/Z,le=Math.abs(l.c2p(Ue.y)-c);return leTe!=Se>=Te&&(he=ce[re-1][0],we=ce[re][0],Se-ee&&(ye=he+(we-he)*(Te-ee)/(Se-ee),V=Math.min(V,ye),W=Math.max(W,ye)));V=Math.max(V,0),W=Math.min(W,s._length);var qe=Sb.defaultLine;return Sb.opacity(o.fillcolor)?qe=o.fillcolor:Sb.opacity((o.line||{}).color)&&(qe=o.line.color),Mb.extendFlat(t,{distance:t.maxHoverDistance,x0:V,x1:W,y0:Te,y1:Te,color:qe,hovertemplate:!1}),delete t.index,o.text&&!Array.isArray(o.text)?t.text=String(o.text):t.text=o.name,[t]}}}});var jI=E((Qbe,FI)=>{"use strict";var NI=Va();FI.exports=function(t,r){var a=t.cd,n=t.xaxis,i=t.yaxis,o=[],s=a[0].trace,l,u,c,d,h=!NI.hasMarkers(s)&&!NI.hasText(s);if(h)return[];if(r===!1)for(l=0;l{"use strict";OI.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 WI=E(($be,GI)=>{"use strict";var Nf=ht().traceIs,Cb=$g();GI.exports=function(t,r,a,n){a("autotypenumbers",n.autotypenumbersDflt);var i=a("type",(n.splomStash||{}).type);i==="-"&&(qse(r,n.data),r.type==="-"?r.type="linear":t.type=r.type)};function qse(e,t){if(e.type==="-"){var r=e._id,a=r.charAt(0),n;r.indexOf("scene")!==-1&&(r=a);var i=Lse(t,r,a);if(!!i){if(i.type==="histogram"&&a==={v:"y",h:"x"}[i.orientation||"v"]){e.type="linear";return}var o=a+"calendar",s=i[o],l={noMultiCategory:!Nf(i,"cartesian")||Nf(i,"noMultiCategory")};if(i.type==="box"&&i._hasPreCompStats&&a==={h:"x",v:"y"}[i.orientation||"v"]&&(l.noMultiCategory=!0),l.autotypenumbers=e.autotypenumbers,UI(i,a)){var u=BI(i),c=[];for(n=0;n0&&(n["_"+r+"axes"]||{})[t])return n;if((n[r+"axis"]||r)===t){if(UI(n,r))return n;if((n[r]||[]).length||n[r+"0"])return n}}}function BI(e){return{v:"x",h:"y"}[e.orientation||"v"]}function UI(e,t){var r=BI(e),a=Nf(e,"box-violin"),n=Nf(e._fullInput||{},"candlestick");return a&&!n&&t===r&&e[r]===void 0&&e[r+"0"]===void 0}});var YI=E((Jbe,VI)=>{"use strict";function Dse(e,t){var r=t.dataAttr||e._id.charAt(0),a={},n,i,o;if(t.axData)n=t.axData;else for(n=[],i=0;i0,s;o&&(s="array");var l=a("categoryorder",s),u;l==="array"&&(u=a("categoryarray")),!o&&l==="array"&&(l=r.categoryorder="trace"),l==="trace"?r._initialCategories=[]:l==="array"?r._initialCategories=u.slice():(u=Dse(r,n).sort(),l==="category ascending"?r._initialCategories=u:l==="category descending"&&(r._initialCategories=u.reverse()))}}});var XI=E((e1e,ZI)=>{"use strict";var Rse=An().mix,Pse=hi().lightFraction,Ise=De();ZI.exports=function(t,r,a,n){n=n||{};var i=n.dfltColor;function o(_,x){return Ise.coerce2(t,r,n.attributes,_,x)}var s=o("linecolor",i),l=o("linewidth"),u=a("showline",n.showLine||!!s||!!l);u||(delete r.linecolor,delete r.linewidth);var c=Rse(i,n.bgColor,n.blend||Pse).toRgbString(),d=o("gridcolor",c),h=o("gridwidth"),p=a("showgrid",n.showGrid||!!d||!!h);if(p||(delete r.gridcolor,delete r.gridwidth),!n.noZeroLine){var g=o("zerolinecolor",i),m=o("zerolinewidth"),b=a("zeroline",n.showGrid||!!g||!!m);b||(delete r.zerolinecolor,delete r.zerolinewidth)}}});var Lb=E((t1e,JI)=>{"use strict";var QI=zt(),Ese=ht(),Ff=De(),zse=Kn(),qb=Qn(),Nse=Pg(),Fse=zg(),jse=Fg(),Ose=jg(),Hse=YI(),Bse=XI(),KI=nh(),_v=Jr().WEEKDAY_PATTERN,Use=Jr().HOUR_PATTERN;JI.exports=function(t,r,a,n,i){var o=n.letter,s=n.font||{},l=n.splomStash||{},u=a("visible",!n.visibleDflt),c=r._template||{},d=r.type||c.type||"-",h;if(d==="date"){var p=Ese.getComponentMethod("calendars","handleDefaults");p(t,r,"calendar",n.calendar),n.noTicklabelmode||(h=a("ticklabelmode"))}var g="";(!n.noTicklabelposition||d==="multicategory")&&(g=Ff.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")),n.noTicklabeloverflow||a("ticklabeloverflow",g.indexOf("inside")!==-1?"hide past domain":d==="category"||d==="multicategory"?"allow":"hide past div"),KI(r,i);var m=!r.isValidRange(t.range);m&&n.reverseDflt&&(m="reversed");var b=a("autorange",m);b&&(d==="linear"||d==="-")&&a("rangemode"),a("range"),r.cleanRange(),Hse(t,r,a,n),d!=="category"&&!n.noHover&&a("hoverformat");var _=a("color"),x=_!==qb.color.dflt?_:s.color,A=l.label||i._dfltTitle[o];if(Ose(t,r,a,d,n),!u)return r;a("title.text",A),Ff.coerceFont(a,"title.font",{family:s.family,size:Ff.bigFont(s.size),color:x}),Nse(t,r,a,d),jse(t,r,a,d,n),Fse(t,r,a,n),Bse(t,r,a,{dfltColor:_,bgColor:n.bgColor,showGrid:n.showGrid,attributes:qb}),(r.showline||r.ticks)&&a("mirror"),n.automargin&&a("automargin");var w=d==="multicategory";if(!n.noTickson&&(d==="category"||w)&&(r.ticks||r.showgrid)){var M;w&&(M="boundaries");var L=a("tickson",M);L==="boundaries"&&delete r.ticklabelposition}if(w){var S=a("showdividers");S&&(a("dividercolor"),a("dividerwidth"))}if(d==="date")if(zse(t,r,{name:"rangebreaks",inclusionAttr:"enabled",handleItemDefaults:Gse}),!r.rangebreaks.length)delete r.rangebreaks;else{for(var q=0;q=2){var o="",s,l;if(i.length===2){for(s=0;s<2;s++)if(l=$I(i[s]),l){o=_v;break}}var u=a("pattern",o);if(u===_v)for(s=0;s<2;s++)l=$I(i[s]),l&&(t.bounds[s]=i[s]=l-1);if(u)for(s=0;s<2;s++)switch(l=i[s],u){case _v:if(!QI(l)){t.enabled=!1;return}if(l=+l,l!==Math.floor(l)||l<0||l>=7){t.enabled=!1;return}t.bounds[s]=i[s]=l;break;case Use:if(!QI(l)){t.enabled=!1;return}if(l=+l,l<0||l>24){t.enabled=!1;return}t.bounds[s]=i[s]=l;break}if(r.autorange===!1){var c=r.range;if(c[0]c[1]){t.enabled=!1;return}}else if(i[0]>c[0]&&i[1]{"use strict";var Vse=zt(),wv=De();eE.exports=function(t,r,a,n){var i=n.counterAxes||[],o=n.overlayableAxes||[],s=n.letter,l=n.grid,u,c,d,h;l&&(c=l._domains[s][l._axisMap[r._id]],u=l._anchors[r._id],c&&(d=l[s+"side"].split(" ")[0],h=l.domain[s][d==="right"||d==="top"?1:0])),c=c||[0,1],u=u||(Vse(t.position)?"free":i[0]||"free"),d=d||(s==="x"?"bottom":"left"),h=h||0;var p=wv.coerce(t,r,{anchor:{valType:"enumerated",values:["free"].concat(i),dflt:u}},"anchor");p==="free"&&a("position",h),wv.coerce(t,r,{side:{valType:"enumerated",values:s==="x"?["bottom","top"]:["left","right"],dflt:d}},"side");var g=!1;if(o.length&&(g=wv.coerce(t,r,{overlaying:{valType:"enumerated",values:[!1].concat(o),dflt:!1}},"overlaying")),!g){var m=a("domain",c);m[0]>m[1]-1/4096&&(r.domain=c),wv.noneOrAll(t.domain,r.domain,c)}return a("layer"),r}});var uE=E((a1e,lE)=>{"use strict";var ns=De(),tE=It(),Yse=bi().isUnifiedHover,Zse=Ky(),rE=sr(),Xse=Us(),aE=Qn(),Qse=WI(),nE=Lb(),Kse=of(),iE=Db(),Rb=Er(),no=Rb.id2name,oE=Rb.name2id,$se=Jr().AX_ID_PATTERN,sE=ht(),jf=sE.traceIs,Pb=sE.getComponentMethod;function Tv(e,t,r){Array.isArray(e[t])?e[t].push(r):e[t]=[r]}lE.exports=function(t,r,a){var n=r.autotypenumbers,i={},o={},s={},l={},u={},c={},d={},h={},p={},g={},m,b;for(m=0;m{"use strict";var Jse=Et(),fE=ht(),Av=De(),Xa=Kt(),kv=rr();cE.exports=function(t,r,a,n){var i=t._fullLayout;if(r.length===0){kv.redrawComponents(t);return}function o(b){var _=b.xaxis,x=b.yaxis;i._defs.select("#"+b.clipId+"> rect").call(Xa.setTranslate,0,0).call(Xa.setScale,1,1),b.plot.call(Xa.setTranslate,_._offset,x._offset).call(Xa.setScale,1,1);var A=b.plot.selectAll(".scatterlayer .trace");A.selectAll(".point").call(Xa.setPointGroupScale,1,1),A.selectAll(".textpoint").call(Xa.setTextPointsScale,1,1),A.call(Xa.hideOutsideRangePoints,b)}function s(b,_){var x=b.plotinfo,A=x.xaxis,w=x.yaxis,M=A._length,L=w._length,S=!!b.xr1,q=!!b.yr1,R=[];if(S){var z=Av.simpleMap(b.xr0,A.r2l),F=Av.simpleMap(b.xr1,A.r2l),N=z[1]-z[0],j=F[1]-F[0];R[0]=(z[0]*(1-_)+_*F[0]-z[0])/(z[1]-z[0])*M,R[2]=M*(1-_+_*j/N),A.range[0]=A.l2r(z[0]*(1-_)+_*F[0]),A.range[1]=A.l2r(z[1]*(1-_)+_*F[1])}else R[0]=0,R[2]=M;if(q){var B=Av.simpleMap(b.yr0,w.r2l),V=Av.simpleMap(b.yr1,w.r2l),W=B[1]-B[0],Q=V[1]-V[0];R[1]=(B[1]*(1-_)+_*V[1]-B[1])/(B[0]-B[1])*L,R[3]=L*(1-_+_*Q/W),w.range[0]=A.l2r(B[0]*(1-_)+_*V[0]),w.range[1]=w.l2r(B[1]*(1-_)+_*V[1])}else R[1]=0,R[3]=L;kv.drawOne(t,A,{skipTitle:!0}),kv.drawOne(t,w,{skipTitle:!0}),kv.redrawComponents(t,[A._id,w._id]);var Y=S?M/R[2]:1,$=q?L/R[3]:1,re=S?R[0]:0,ue=q?R[1]:0,ce=S?R[0]/R[2]*M:0,ye=q?R[1]/R[3]*L:0,he=A._offset-ce,we=w._offset-ye;x.clipRect.call(Xa.setTranslate,re,ue).call(Xa.setScale,1/Y,1/$),x.plot.call(Xa.setTranslate,he,we).call(Xa.setScale,Y,$),Xa.setPointGroupScale(x.zoomScalePts,1/Y,1/$),Xa.setTextPointsScale(x.zoomScaleTxt,1/Y,1/$)}var l;n&&(l=n());function u(){for(var b={},_=0;_a.duration?(u(),p=window.cancelAnimationFrame(m)):p=window.requestAnimationFrame(m)}return d=Date.now(),p=window.requestAnimationFrame(m),Promise.resolve()}});var Cv=E(aa=>{"use strict";var Mv=Et(),hE=ht(),Sv=De(),ele=Dr(),tle=Kt(),vE=dg().getModuleCalcData,is=Er(),si=Jr(),rle=jo(),Zt=Sv.ensureSingle;function pE(e,t,r){return Sv.ensureSingle(e,t,r,function(a){a.datum(r)})}aa.name="cartesian";aa.attr=["xaxis","yaxis"];aa.idRoot=["x","y"];aa.idRegex=si.idRegex;aa.attrRegex=si.attrRegex;aa.attributes=HI();aa.layoutAttributes=Qn();aa.supplyLayoutDefaults=uE();aa.transitionAxes=dE();aa.finalizeSubplots=function(e,t){var r=t._subplots,a=r.xaxis,n=r.yaxis,i=r.cartesian,o=i.concat(r.gl2d||[]),s={},l={},u,c,d;for(u=0;u{"use strict";var qv=Va();xE.exports={hasLines:qv.hasLines,hasMarkers:qv.hasMarkers,hasText:qv.hasText,isBubble:qv.isBubble,attributes:Pf(),supplyDefaults:Y4(),crossTraceDefaults:X4(),calc:gb().calc,crossTraceCalc:hI(),arraysToCalcdata:cb(),plot:SI(),colorbar:_b(),formatLabels:LI(),style:kb().style,styleOnSelect:kb().styleOnSelect,hoverPoints:zI(),selectPoints:jI(),animatable:!0,moduleType:"trace",name:"scatter",basePlotModule:Cv(),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 TE=E((s1e,wE)=>{"use strict";wE.exports={moduleType:"component",name:"legend",layoutAttributes:Sy(),supplyLayoutDefaults:Ly(),draw:Vy(),style:Oy()}});var Ib=E((l1e,AE)=>{"use strict";AE.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 SE=E((u1e,ME)=>{"use strict";var nle=Et(),ile=It(),kE=Ib(),Eb=De(),ole=Eb.strScale,sle=Eb.strRotate,lle=Eb.strTranslate;ME.exports=function(t,r,a){var n=t.node(),i=kE[a.arrowhead||0],o=kE[a.startarrowhead||0],s=(a.arrowwidth||1)*(a.arrowsize||1),l=(a.arrowwidth||1)*(a.startarrowsize||1),u=r.indexOf("start")>=0,c=r.indexOf("end")>=0,d=i.backoff*s+a.standoff,h=o.backoff*l+a.startstandoff,p,g,m,b;if(n.nodeName==="line"){p={x:+t.attr("x1"),y:+t.attr("y1")},g={x:+t.attr("x2"),y:+t.attr("y2")};var _=p.x-g.x,x=p.y-g.y;if(m=Math.atan2(x,_),b=m+Math.PI,d&&h&&d+h>Math.sqrt(_*_+x*x)){B();return}if(d){if(d*d>_*_+x*x){B();return}var A=d*Math.cos(m),w=d*Math.sin(m);g.x+=A,g.y+=w,t.attr({x2:g.x,y2:g.y})}if(h){if(h*h>_*_+x*x){B();return}var M=h*Math.cos(m),L=h*Math.sin(m);p.x-=M,p.y-=L,t.attr({x1:p.x,y1:p.y})}}else if(n.nodeName==="path"){var S=n.getTotalLength(),q="";if(S{"use strict";var CE=Et(),zb=ht(),ule=Dr(),io=De(),Nb=io.strTranslate,Of=rr(),os=It(),Ci=Kt(),qE=Ti(),Fb=Fa(),jb=Ki(),Hf=qn(),fle=sr().arrayEditor,cle=SE();RE.exports={draw:dle,drawOne:LE,drawRaw:DE};function dle(e){var t=e._fullLayout;t._infolayer.selectAll(".annotation").remove();for(var r=0;r2/3?St="right":St="center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[St]}for(var Me=!1,G=["x","y"],Z=0;Z1)&&(be===le?(Ee=Ae.r2fraction(t["a"+O]),(Ee<0||Ee>1)&&(Me=!0)):Me=!0),dt=Ae._offset+Ae.r2p(t[O]),de=.5}else{var ge=He==="domain";O==="x"?(fe=t[O],dt=ge?Ae._offset+Ae._length*fe:dt=s.l+s.w*fe):(fe=1-t[O],dt=ge?Ae._offset+Ae._length*fe:dt=s.t+s.h*fe),de=t.showarrow?.5:fe}if(t.showarrow){tt.head=dt;var xe=t["a"+O];if(ze=Ye*Ue(.5,t.xanchor)-Ce*Ue(.5,t.yanchor),be===le){var Re=Of.getRefType(be);Re==="domain"?(O==="y"&&(xe=1-xe),tt.tail=Ae._offset+Ae._length*xe):Re==="paper"?O==="y"?(xe=1-xe,tt.tail=s.t+s.h*xe):tt.tail=s.l+s.w*xe:tt.tail=Ae._offset+Ae.r2p(xe),pt=ze}else tt.tail=dt+xe,pt=ze+xe;tt.text=tt.tail+ze;var Pe=o[O==="x"?"width":"height"];if(le==="paper"&&(tt.head=io.constrain(tt.head,1,Pe-1)),be==="pixel"){var Ie=-Math.max(tt.tail-3,tt.text),Be=Math.min(tt.tail+3,tt.text)-Pe;Ie>0?(tt.tail+=Ie,tt.text+=Ie):Be>0&&(tt.tail-=Be,tt.text-=Be)}tt.tail+=lt,tt.head+=lt}else ze=st*Ue(de,Ze),pt=ze,tt.text=dt+ze;tt.text+=lt,ze+=lt,pt+=lt,t["_"+O+"padplus"]=st/2+pt,t["_"+O+"padminus"]=st/2-pt,t["_"+O+"size"]=st,t["_"+O+"shift"]=ze}if(Me){S.remove();return}var ut=0,gt=0;if(t.align!=="left"&&(ut=(ee-he)*(t.align==="center"?.5:1)),t.valign!=="top"&&(gt=(Se-we)*(t.valign==="middle"?.5:1)),ce)ue.select("svg").attr({x:z+ut-1,y:z+gt}).call(Ci.setClipUrl,N?m:null,e);else{var it=z+gt-ye.top,Dt=z+ut-ye.left;W.call(Fb.positionText,Dt,it).call(Ci.setClipUrl,N?m:null,e)}j.select("rect").call(Ci.setRect,z,z,ee,Se),F.call(Ci.setRect,q/2,q/2,Te-q,qe-q),S.call(Ci.setTranslate,Math.round(b.x.text-Te/2),Math.round(b.y.text-qe/2)),A.attr({transform:"rotate("+_+","+b.x.text+","+b.y.text+")"});var Mt=function(Rt,St){x.selectAll(".annotation-arrow-g").remove();var wt=b.x.head,Ct=b.y.head,te=b.x.tail+Rt,_e=b.y.tail+St,ke=b.x.text+Rt,Fe=b.y.text+St,qt=io.rotationXYMatrix(_,ke,Fe),fr=io.apply2DTransform(qt),Or=io.apply2DTransform2(qt),Cr=+F.attr("width"),or=+F.attr("height"),na=ke-.5*Cr,Un=na+Cr,Qr=Fe-.5*or,Ba=Qr+or,xn=[[na,Qr,na,Ba],[na,Ba,Un,Ba],[Un,Ba,Un,Qr],[Un,Qr,na,Qr]].map(Or);if(!xn.reduce(function(cr,Gr){return cr^!!io.segmentsIntersect(wt,Ct,wt+1e6,Ct+1e6,Gr[0],Gr[1],Gr[2],Gr[3])},!1)){xn.forEach(function(cr){var Gr=io.segmentsIntersect(te,_e,wt,Ct,cr[0],cr[1],cr[2],cr[3]);Gr&&(te=Gr.x,_e=Gr.y)});var ma=t.arrowwidth,ui=t.arrowcolor,vo=t.arrowside,Ua=x.append("g").style({opacity:os.opacity(ui)}).classed("annotation-arrow-g",!0),ga=Ua.append("path").attr("d","M"+te+","+_e+"L"+wt+","+Ct).style("stroke-width",ma+"px").call(os.stroke,os.rgb(ui));if(cle(ga,vo,t),l.annotationPosition&&ga.node().parentNode&&!a){var ya=wt,ba=Ct;if(t.standoff){var ia=Math.sqrt(Math.pow(wt-te,2)+Math.pow(Ct-_e,2));ya+=t.standoff*(te-wt)/ia,ba+=t.standoff*(_e-Ct)/ia}var Ra=Ua.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(te-ya)+","+(_e-ba),transform:Nb(ya,ba)}).style("stroke-width",ma+6+"px").call(os.stroke,"rgba(0,0,0,0)").call(os.fill,"rgba(0,0,0,0)"),fi,Hr;Hf.init({element:Ra.node(),gd:e,prepFn:function(){var cr=Ci.getTranslate(S);fi=cr.x,Hr=cr.y,n&&n.autorange&&h(n._name+".autorange",!0),i&&i.autorange&&h(i._name+".autorange",!0)},moveFn:function(cr,Gr){var po=fr(fi,Hr),mo=po[0]+cr,Pi=po[1]+Gr;S.call(Ci.setTranslate,mo,Pi),p("x",oo(n,cr,"x",s,t)),p("y",oo(i,Gr,"y",s,t)),t.axref===t.xref&&p("ax",oo(n,cr,"ax",s,t)),t.ayref===t.yref&&p("ay",oo(i,Gr,"ay",s,t)),Ua.attr("transform",Nb(cr,Gr)),A.attr({transform:"rotate("+_+","+mo+","+Pi+")"})},doneFn:function(){zb.call("_guiRelayout",e,g());var cr=document.querySelector(".js-notes-box-panel");cr&&cr.redraw(cr.selectedObj)}})}}};if(t.showarrow&&Mt(0,0),w){var nt;Hf.init({element:S.node(),gd:e,prepFn:function(){nt=A.attr("transform")},moveFn:function(Rt,St){var wt="pointer";if(t.showarrow)t.axref===t.xref?p("ax",oo(n,Rt,"ax",s,t)):p("ax",t.ax+Rt),t.ayref===t.yref?p("ay",oo(i,St,"ay",s.w,t)):p("ay",t.ay+St),Mt(Rt,St);else{if(a)return;var Ct,te;if(n)Ct=oo(n,Rt,"x",s,t);else{var _e=t._xsize/s.w,ke=t.x+(t._xshift-t.xshift)/s.w-_e/2;Ct=Hf.align(ke+Rt/s.w,_e,0,1,t.xanchor)}if(i)te=oo(i,St,"y",s,t);else{var Fe=t._ysize/s.h,qt=t.y-(t._yshift+t.yshift)/s.h-Fe/2;te=Hf.align(qt-St/s.h,Fe,0,1,t.yanchor)}p("x",Ct),p("y",te),(!n||!i)&&(wt=Hf.getCursor(n?.5:Ct,i?.5:te,t.xanchor,t.yanchor))}A.attr({transform:Nb(Rt,St)+nt}),jb(S,wt)},clickFn:function(Rt,St){t.captureevents&&e.emit("plotly_clickannotation",L(St))},doneFn:function(){jb(S),zb.call("_guiRelayout",e,g());var Rt=document.querySelector(".js-notes-box-panel");Rt&&Rt.redraw(Rt.selectedObj)}})}}l.annotationText?W.call(Fb.makeEditable,{delegate:S,gd:e}).call(Q).on("edit",function($){t.text=$,this.call(Q),p("text",$),n&&n.autorange&&h(n._name+".autorange",!0),i&&i.autorange&&h(i._name+".autorange",!0),zb.call("_guiRelayout",e,g())}):W.call(Q)}});var FE=E((c1e,NE)=>{"use strict";var PE=De(),hle=ht(),IE=sr().arrayEditor;NE.exports={hasClickToShow:vle,onClick:ple};function vle(e,t){var r=EE(e,t);return r.on.length>0||r.explicitOff.length>0}function ple(e,t){var r=EE(e,t),a=r.on,n=r.off.concat(r.explicitOff),i={},o=e._fullLayout.annotations,s,l;if(!!(a.length||n.length)){for(s=0;s{"use strict";jE.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 Bf=E((h1e,GE)=>{"use strict";var OE=Ib(),HE=_a(),Rv=Jr(),mle=sr().templatedArray,Pv=Dv();function BE(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 UE(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(" ")}GE.exports=mle("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 (
), bold (), italics (),","hyperlinks (). Tags , , "," 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:HE({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
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
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:OE.length,dflt:1,editType:"arraydraw",description:"Sets the end annotation arrow head style."},startarrowhead:{valType:"integer",min:0,max:OE.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:[UE("x","left","right")].join(" ")},ay:{valType:"any",editType:"calc+arraydraw",description:[UE("y","top","bottom")].join(" ")},axref:{valType:"enumerated",dflt:"pixel",values:["pixel",Rv.idRegex.x.toString()],editType:"calc",description:["Indicates in what coordinates the tail of the","annotation (ax,ay) is specified.",Pv.axisRefDescription("ax","left","right"),BE("x")].join(" ")},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",Rv.idRegex.y.toString()],editType:"calc",description:["Indicates in what coordinates the tail of the","annotation (ax,ay) is specified.",Pv.axisRefDescription("ay","bottom","top"),BE("y")].join(" ")},xref:{valType:"enumerated",values:["paper",Rv.idRegex.x.toString()],editType:"calc",description:["Sets the annotation's x coordinate axis.",Pv.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",Rv.idRegex.y.toString()],editType:"calc",description:["Sets the annotation's y coordinate axis.",Pv.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:HE({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 Ob=E((v1e,VE)=>{"use strict";var WE=De(),Ml=It();VE.exports=function(t,r,a,n){n("opacity");var i=n("bgcolor"),o=n("bordercolor"),s=Ml.opacity(o);n("borderpad");var l=n("borderwidth"),u=n("showarrow");n("text",u?" ":a._dfltTitle.annotation),n("textangle"),WE.coerceFont(n,"font",a.font),n("width"),n("align");var c=n("height");if(c&&n("valign"),u){var d=n("arrowside"),h,p;d.indexOf("end")!==-1&&(h=n("arrowhead"),p=n("arrowsize")),d.indexOf("start")!==-1&&(n("startarrowhead",h),n("startarrowsize",p)),n("arrowcolor",s?r.bordercolor:Ml.defaultLine),n("arrowwidth",(s&&l||1)*2),n("standoff"),n("startstandoff")}var g=n("hovertext"),m=a.hoverlabel||{};if(g){var b=n("hoverlabel.bgcolor",m.bgcolor||(Ml.opacity(i)?Ml.rgb(i):Ml.defaultLine)),_=n("hoverlabel.bordercolor",m.bordercolor||Ml.contrast(b));WE.coerceFont(n,"hoverlabel.font",{family:m.font.family,size:m.font.size,color:m.font.color||_})}n("captureevents",!!g)}});var ZE=E((p1e,YE)=>{"use strict";var Hb=De(),ss=rr(),gle=Kn(),yle=Ob(),ble=Bf();YE.exports=function(t,r){gle(t,r,{name:"annotations",handleItemDefaults:xle})};function xle(e,t,r){function a(A,w){return Hb.coerce(e,t,ble,A,w)}var n=a("visible"),i=a("clicktoshow");if(!!(n||i)){yle(e,t,r,a);for(var o=t.showarrow,s=["x","y"],l=[-10,-30],u={_fullLayout:r},c=0;c<2;c++){var d=s[c],h=ss.coerceRef(e,t,u,d,"","paper");if(h!=="paper"){var p=ss.getFromId(u,h);p._annIndices.push(t._index)}if(ss.coercePosition(t,u,a,h,d,.5),o){var g="a"+d,m=ss.coerceRef(e,t,u,g,"pixel",["pixel","paper"]);m!=="pixel"&&m!==h&&(m=t[g]="pixel");var b=m==="pixel"?l[c]:.4;ss.coercePosition(t,u,a,m,g,b)}a(d+"anchor"),a(d+"shift")}if(Hb.noneOrAll(e,t,["x","y"]),o&&Hb.noneOrAll(e,t,["ax","ay"]),i){var _=a("xclick"),x=a("yclick");t._xclick=_===void 0?t.x:ss.cleanPosition(_,u,t.xref),t._yclick=x===void 0?t.y:ss.cleanPosition(x,u,t.yref)}}}});var Iv=E((m1e,KE)=>{"use strict";var _le=ht(),XE=De(),QE=Er();KE.exports=function(t){return function(a,n){var i=a[t];if(!!Array.isArray(i))for(var o=_le.subplotsRegistry.cartesian,s=o.idRegex,l=n._subplots,u=l.xaxis,c=l.yaxis,d=l.cartesian,h=n._has("cartesian")||n._has("gl2d"),p=0;p{"use strict";var Bb=De(),ls=rr(),wle=Lv().draw;JE.exports=function(t){var r=t._fullLayout,a=Bb.filterVisible(r.annotations);if(a.length&&t._fullData.length)return Bb.syncOrAsync([wle,Tle],t)};function Tle(e){var t=e._fullLayout;Bb.filterVisible(t.annotations).forEach(function(r){var a=ls.getFromId(e,r.xref),n=ls.getFromId(e,r.yref),i=ls.getRefType(r.xref),o=ls.getRefType(r.yref);r._extremes={},i==="range"&&$E(r,a),o==="range"&&$E(r,n)})}function $E(e,t){var r=t._id,a=r.charAt(0),n=e[a],i=e["a"+a],o=e[a+"ref"],s=e["a"+a+"ref"],l=e["_"+a+"padplus"],u=e["_"+a+"padminus"],c={x:1,y:-1}[a]*e[a+"shift"],d=3*e.arrowsize*e.arrowwidth||0,h=d+c,p=d-c,g=3*e.startarrowsize*e.arrowwidth||0,m=g+c,b=g-c,_;if(s===o){var x=ls.findExtremes(t,[t.r2c(n)],{ppadplus:h,ppadminus:p}),A=ls.findExtremes(t,[t.r2c(i)],{ppadplus:Math.max(l,m),ppadminus:Math.max(u,b)});_={min:[x.min[0],A.min[0]],max:[x.max[0],A.max[0]]}}else m=i?m+i:m,b=i?b-i:b,_=ls.findExtremes(t,[t.r2c(n)],{ppadplus:Math.max(l,h,m),ppadminus:Math.max(u,p,b)});e._extremes[r]=_}});var rz=E((y1e,tz)=>{"use strict";var Ale=zt(),kle=nd();tz.exports=function(t,r,a,n){r=r||{};var i=a==="log"&&r.type==="linear",o=a==="linear"&&r.type==="log";if(!(i||o))return;var s=t._fullLayout.annotations,l=r._id.charAt(0),u,c;function d(p){var g=u[p],m=null;i?m=kle(g,r.range):m=Math.pow(10,g),Ale(m)||(m=null),n(c+p,m)}for(var h=0;h{"use strict";var Ub=Lv(),az=FE();nz.exports={moduleType:"component",name:"annotations",layoutAttributes:Bf(),supplyLayoutDefaults:ZE(),includeBasePlot:Iv()("annotations"),calcAutorange:ez(),draw:Ub.draw,drawOne:Ub.drawOne,drawRaw:Ub.drawRaw,hasClickToShow:az.hasClickToShow,onClick:az.onClick,convertCoords:rz()}});var Ev=E((x1e,oz)=>{"use strict";var Qt=Bf(),Mle=Vi().overrideAll,Sle=sr().templatedArray;oz.exports=Mle(Sle("annotation",{visible:Qt.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:Qt.xanchor,xshift:Qt.xshift,yanchor:Qt.yanchor,yshift:Qt.yshift,text:Qt.text,textangle:Qt.textangle,font:Qt.font,width:Qt.width,height:Qt.height,opacity:Qt.opacity,align:Qt.align,valign:Qt.valign,bgcolor:Qt.bgcolor,bordercolor:Qt.bordercolor,borderpad:Qt.borderpad,borderwidth:Qt.borderwidth,showarrow:Qt.showarrow,arrowcolor:Qt.arrowcolor,arrowhead:Qt.arrowhead,startarrowhead:Qt.startarrowhead,arrowside:Qt.arrowside,arrowsize:Qt.arrowsize,startarrowsize:Qt.startarrowsize,arrowwidth:Qt.arrowwidth,standoff:Qt.standoff,startstandoff:Qt.startstandoff,hovertext:Qt.hovertext,hoverlabel:Qt.hoverlabel,captureevents:Qt.captureevents}),"calc","from-root")});var lz=E((_1e,sz)=>{"use strict";var Gb=De(),Cle=rr(),qle=Kn(),Lle=Ob(),Dle=Ev();sz.exports=function(t,r,a){qle(t,r,{name:"annotations",handleItemDefaults:Rle,fullLayout:a.fullLayout})};function Rle(e,t,r,a){function n(s,l){return Gb.coerce(e,t,Dle,s,l)}function i(s){var l=s+"axis",u={_fullLayout:{}};return u._fullLayout[l]=r[l],Cle.coercePosition(t,u,n,s,s,.5)}var o=n("visible");!o||(Lle(e,t,a.fullLayout,n),i("x"),i("y"),i("z"),Gb.noneOrAll(e,t,["x","y","z"]),t.xref="x",t.yref="y",t.zref="z",n("xanchor"),n("yanchor"),n("xshift"),n("yshift"),t.showarrow&&(t.axref="pixel",t.ayref="pixel",n("ax",-10),n("ay",-30),Gb.noneOrAll(e,t,["ax","ay"])))}});var dz=E((w1e,cz)=>{"use strict";var uz=De(),fz=rr();cz.exports=function(t){for(var r=t.fullSceneLayout,a=r.annotations,n=0;n{"use strict";function Wb(e,t){var r=[0,0,0,0],a,n;for(a=0;a<4;++a)for(n=0;n<4;++n)r[n]+=e[4*a+n]*t[a];return r}function Ile(e,t){var r=Wb(e.projection,Wb(e.view,Wb(e.model,[t[0],t[1],t[2],1])));return r}hz.exports=Ile});var mz=E((A1e,pz)=>{"use strict";var Ele=Lv().drawRaw,zle=vz(),Nle=["x","y","z"];pz.exports=function(t){for(var r=t.fullSceneLayout,a=t.dataScale,n=r.annotations,i=0;i1){s=!0;break}}s?t.fullLayout._infolayer.select(".annotation-"+t.id+'[data-index="'+i+'"]').remove():(o._pdata=zle(t.glplot.cameraParams,[r.xaxis.r2l(o.x)*a[0],r.yaxis.r2l(o.y)*a[1],r.zaxis.r2l(o.z)*a[2]]),Ele(t.graphDiv,o,i,t.id,o._xa,o._ya))}}});var bz=E((k1e,yz)=>{"use strict";var Fle=ht(),gz=De();yz.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:Ev()}}},layoutAttributes:Ev(),handleDefaults:lz(),includeBasePlot:jle,convert:dz(),draw:mz()};function jle(e,t){var r=Fle.subplotsRegistry.gl3d;if(!!r)for(var a=r.attrRegex,n=Object.keys(e),i=0;i{"use strict";var xz=Bf(),_z=Pf().line,Ole=Bs().dash,Uf=fa().extendFlat,Hle=sr().templatedArray,wz=Dv();Tz.exports=Hle("shape",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw",description:["Determines whether or not this shape is visible."].join(" ")},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"],dflt:"above",editType:"arraydraw",description:"Specifies whether shapes are drawn below or above traces."},xref:Uf({},xz.xref,{description:["Sets the shape's x coordinate axis.",wz.axisRefDescription("x","left","right"),"If the axis `type` is *log*, then you must take the","log of your desired range.","If the axis `type` is *date*, then you must convert","the date to unix time in milliseconds."].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(" ")},yref:Uf({},xz.yref,{description:["Sets the annotation's y coordinate axis.",wz.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(" ")},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:Uf({},_z.color,{editType:"arraydraw"}),width:Uf({},_z.width,{editType:"calc+arraydraw"}),dash:Uf({},Ole,{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(" ")},editType:"arraydraw"})});var Mz=E((S1e,kz)=>{"use strict";var Yb=De(),Sl=rr(),Ble=Kn(),Ule=Vb(),Az=Nh();kz.exports=function(t,r){Ble(t,r,{name:"shapes",handleItemDefaults:Gle})};function Gle(e,t,r){function a(j,B){return Yb.coerce(e,t,Ule,j,B)}var n=a("visible");if(!!n){var i=a("path"),o=i?"path":"rect",s=a("type",o);t.type!=="path"&&delete t.path,a("editable"),a("layer"),a("opacity"),a("fillcolor"),a("fillrule");var l=a("line.width");l&&(a("line.color"),a("line.dash"));for(var u=a("xsizemode"),c=a("ysizemode"),d=["x","y"],h=0;h<2;h++){var p=d[h],g=p+"anchor",m=p==="x"?u:c,b={_fullLayout:r},_,x,A,w=Sl.coerceRef(e,t,b,p,void 0,"paper"),M=Sl.getRefType(w);if(M==="range"?(_=Sl.getFromId(b,w),_._shapeIndices.push(t._index),A=Az.rangeToShapePosition(_),x=Az.shapePositionToRange(_)):x=A=Yb.identity,s!=="path"){var L=.25,S=.75,q=p+"0",R=p+"1",z=e[q],F=e[R];e[q]=x(e[q],!0),e[R]=x(e[R],!0),m==="pixel"?(a(q,0),a(R,10)):(Sl.coercePosition(t,b,a,w,q,L),Sl.coercePosition(t,b,a,w,R,S)),t[q]=A(t[q]),t[R]=A(t[R]),e[q]=z,e[R]=F}if(m==="pixel"){var N=e[g];e[g]=x(e[g],!0),Sl.coercePosition(t,b,a,w,g,.25),t[g]=A(t[g]),e[g]=N}}s==="path"?a("path"):Yb.noneOrAll(e,t,["x0","x1","y0","y1"])}}});var Cz=E((C1e,Sz)=>{"use strict";var Wle=It();Sz.exports=function(t,r,a){a("newshape.drawdirection"),a("newshape.layer"),a("newshape.fillcolor"),a("newshape.fillrule"),a("newshape.opacity");var n=a("newshape.line.width");if(n){var i=(t||{}).plot_bgcolor||"#FFF";a("newshape.line.color",Wle.contrast(i)),a("newshape.line.dash")}a("activeshape.fillcolor"),a("activeshape.opacity")}});var Pz=E((q1e,Rz)=>{"use strict";var Zb=De(),Cl=rr(),ql=zh(),qz=Nh();Rz.exports=function(t){var r=t._fullLayout,a=Zb.filterVisible(r.shapes);if(!(!a.length||!t._fullData.length))for(var n=0;n0?u+o:o;return{ppad:o,ppadplus:s?d:h,ppadminus:s?h:d}}else return{ppad:o}}function Dz(e,t,r,a,n){var i=e.type==="category"||e.type==="multicategory"?e.r2c:e.d2c;if(t!==void 0)return[i(t),i(r)];if(!!a){var o=1/0,s=-1/0,l=a.match(ql.segmentRE),u,c,d,h,p;for(e.type==="date"&&(i=qz.decodeDate(i)),u=0;us&&(s=p)));if(s>=o)return[o,s]}}});var zz=E((L1e,Ez)=>{"use strict";var Iz=c0();Ez.exports={moduleType:"component",name:"shapes",layoutAttributes:Vb(),supplyLayoutDefaults:Mz(),supplyDrawNewShapeDefaults:Cz(),includeBasePlot:Iv()("shapes"),calcAutorange:Pz(),draw:Iz.draw,drawOne:Iz.drawOne}});var Xb=E((D1e,jz)=>{"use strict";var Nz=Jr(),Zle=sr().templatedArray,Fz=Dv();jz.exports=Zle("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",Nz.idRegex.x.toString()],dflt:"paper",editType:"arraydraw",description:["Sets the images's x coordinate axis.",Fz.axisRefDescription("x","left","right")].join(" ")},yref:{valType:"enumerated",values:["paper",Nz.idRegex.y.toString()],dflt:"paper",editType:"arraydraw",description:["Sets the images's y coordinate axis.",Fz.axisRefDescription("y","bottom","top")].join(" ")},editType:"arraydraw"})});var Hz=E((R1e,Oz)=>{"use strict";var Xle=De(),Qb=rr(),Qle=Kn(),Kle=Xb(),$le="images";Oz.exports=function(t,r){var a={name:$le,handleItemDefaults:Jle};Qle(t,r,a)};function Jle(e,t,r){function a(h,p){return Xle.coerce(e,t,Kle,h,p)}var n=a("source"),i=a("visible",!!n);if(!i)return t;a("layer"),a("xanchor"),a("yanchor"),a("sizex"),a("sizey"),a("sizing"),a("opacity");for(var o={_fullLayout:r},s=["x","y"],l=0;l<2;l++){var u=s[l],c=Qb.coerceRef(e,t,o,u,"paper",void 0);if(c!=="paper"){var d=Qb.getFromId(o,c);d._imgIndices.push(t._index)}Qb.coercePosition(t,o,a,c,u,0)}return t}});var Wz=E((P1e,Gz)=>{"use strict";var Bz=Et(),eue=Kt(),Ll=rr(),Uz=Er(),tue=jo();Gz.exports=function(t){var r=t._fullLayout,a=[],n={},i=[],o,s;for(s=0;s{"use strict";var Vz=zt(),rue=nd();Yz.exports=function(t,r,a,n){r=r||{};var i=a==="log"&&r.type==="linear",o=a==="linear"&&r.type==="log";if(!!(i||o)){for(var s=t._fullLayout.images,l=r._id.charAt(0),u,c,d=0;d{"use strict";Xz.exports={moduleType:"component",name:"images",layoutAttributes:Xb(),supplyLayoutDefaults:Hz(),includeBasePlot:Iv()("images"),draw:Wz(),convertCoords:Zz()}});var zv=E((z1e,Kz)=>{"use strict";Kz.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 Kb=E((N1e,Jz)=>{"use strict";var aue=_a(),nue=hi(),iue=fa().extendFlat,oue=Vi().overrideAll,sue=gd(),$z=sr().templatedArray,lue=$z("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(" ")}});Jz.exports=oue($z("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:lue,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:iue(sue({editType:"arraydraw"}),{description:"Sets the padding around the buttons or dropdown menu."}),font:aue({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:nue.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 a8=E((F1e,r8)=>{"use strict";var Nv=De(),e8=Kn(),t8=Kb(),uue=zv(),fue=uue.name,cue=t8.buttons;r8.exports=function(t,r){var a={name:fue,handleItemDefaults:due};e8(t,r,a)};function due(e,t,r){function a(o,s){return Nv.coerce(e,t,t8,o,s)}var n=e8(e,t,{name:"buttons",handleItemDefaults:hue}),i=a("visible",n.length>0);!i||(a("active"),a("direction"),a("type"),a("showactive"),a("x"),a("y"),Nv.noneOrAll(e,t,["x","y"]),a("xanchor"),a("yanchor"),a("pad.t"),a("pad.r"),a("pad.b"),a("pad.l"),Nv.coerceFont(a,"font",r.font),a("bgcolor",r.paper_bgcolor),a("bordercolor"),a("borderwidth"))}function hue(e,t){function r(n,i){return Nv.coerce(e,t,cue,n,i)}var a=r("visible",e.method==="skip"||Array.isArray(e.args));a&&(r("method"),r("args"),r("args2"),r("label"),r("execute"))}});var o8=E((j1e,i8)=>{"use strict";i8.exports=ur;var Nn=Et(),n8=It(),Dl=Kt(),Fv=De();function ur(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})}ur.barWidth=2;ur.barLength=20;ur.barRadius=2;ur.barPad=1;ur.barColor="#808BA4";ur.prototype.enable=function(t,r,a){var n=this.gd._fullLayout,i=n.width,o=n.height;this.position=t;var s=this.position.l,l=this.position.w,u=this.position.t,c=this.position.h,d=this.position.direction,h=d==="down",p=d==="left",g=d==="right",m=d==="up",b=l,_=c,x,A,w,M;!h&&!p&&!g&&!m&&(this.position.direction="down",h=!0);var L=h||m;L?(x=s,A=x+b,h?(w=u,M=Math.min(w+_,o),_=M-w):(M=u+_,w=Math.max(M-_,0),_=M-w)):(w=u,M=w+_,p?(A=s+b,x=Math.max(A-b,0),b=A-x):(x=s,A=Math.min(x+b,i),b=A-x)),this._box={l:x,t:w,w:b,h:_};var S=l>b,q=ur.barLength+2*ur.barPad,R=ur.barWidth+2*ur.barPad,z=s,F=u+c;F+R>o&&(F=o-R);var N=this.container.selectAll("rect.scrollbar-horizontal").data(S?[0]:[]);N.exit().on(".drag",null).remove(),N.enter().append("rect").classed("scrollbar-horizontal",!0).call(n8.fill,ur.barColor),S?(this.hbar=N.attr({rx:ur.barRadius,ry:ur.barRadius,x:z,y:F,width:q,height:R}),this._hbarXMin=z+q/2,this._hbarTranslateMax=b-q):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var j=c>_,B=ur.barWidth+2*ur.barPad,V=ur.barLength+2*ur.barPad,W=s+l,Q=u;W+B>i&&(W=i-B);var Y=this.container.selectAll("rect.scrollbar-vertical").data(j?[0]:[]);Y.exit().on(".drag",null).remove(),Y.enter().append("rect").classed("scrollbar-vertical",!0).call(n8.fill,ur.barColor),j?(this.vbar=Y.attr({rx:ur.barRadius,ry:ur.barRadius,x:W,y:Q,width:B,height:V}),this._vbarYMin=Q+V/2,this._vbarTranslateMax=_-V):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var $=this.id,re=x-.5,ue=j?A+B+.5:A+.5,ce=w-.5,ye=S?M+R+.5:M+.5,he=n._topdefs.selectAll("#"+$).data(S||j?[0]:[]);if(he.exit().remove(),he.enter().append("clipPath").attr("id",$).append("rect"),S||j?(this._clipRect=he.select("rect").attr({x:Math.floor(re),y:Math.floor(ce),width:Math.ceil(ue)-Math.floor(re),height:Math.ceil(ye)-Math.floor(ce)}),this.container.call(Dl.setClipUrl,$,this.gd),this.bg.attr({x:s,y:u,width:l,height:c})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(Dl.setClipUrl,null),delete this._clipRect),S||j){var we=Nn.behavior.drag().on("dragstart",function(){Nn.event.sourceEvent.preventDefault()}).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(we);var ee=Nn.behavior.drag().on("dragstart",function(){Nn.event.sourceEvent.preventDefault(),Nn.event.sourceEvent.stopPropagation()}).on("drag",this._onBarDrag.bind(this));S&&this.hbar.on(".drag",null).call(ee),j&&this.vbar.on(".drag",null).call(ee)}this.setTranslate(r,a)};ur.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(Dl.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)};ur.prototype._onBoxDrag=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t-=Nn.event.dx),this.vbar&&(r-=Nn.event.dy),this.setTranslate(t,r)};ur.prototype._onBoxWheel=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t+=Nn.event.deltaY),this.vbar&&(r+=Nn.event.deltaY),this.setTranslate(t,r)};ur.prototype._onBarDrag=function(){var t=this.translateX,r=this.translateY;if(this.hbar){var a=t+this._hbarXMin,n=a+this._hbarTranslateMax,i=Fv.constrain(Nn.event.x,a,n),o=(i-a)/(n-a),s=this.position.w-this._box.w;t=o*s}if(this.vbar){var l=r+this._vbarYMin,u=l+this._vbarTranslateMax,c=Fv.constrain(Nn.event.y,l,u),d=(c-l)/(u-l),h=this.position.h-this._box.h;r=d*h}this.setTranslate(t,r)};ur.prototype.setTranslate=function(t,r){var a=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=Fv.constrain(t||0,0,a),r=Fv.constrain(r||0,0,n),this.translateX=t,this.translateY=r,this.container.call(Dl.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 i=t/a;this.hbar.call(Dl.setTranslate,t+i*this._hbarTranslateMax,r)}if(this.vbar){var o=r/n;this.vbar.call(Dl.setTranslate,t,r+o*this._vbarTranslateMax)}}});var m8=E((O1e,p8)=>{"use strict";var Rl=Et(),Gf=Dr(),Wf=It(),Pl=Kt(),Qa=De(),jv=Fa(),vue=sr().arrayEditor,s8=wa().LINE_SPACING,vt=zv(),pue=o8();p8.exports=function(t){var r=t._fullLayout,a=Qa.filterVisible(r[vt.name]);function n(h){Gf.autoMargin(t,h8(h))}var i=r._menulayer.selectAll("g."+vt.containerClassName).data(a.length>0?[0]:[]);if(i.enter().append("g").classed(vt.containerClassName,!0).style("cursor","pointer"),i.exit().each(function(){Rl.select(this).selectAll("g."+vt.headerGroupClassName).each(n)}).remove(),a.length!==0){var o=i.selectAll("g."+vt.headerGroupClassName).data(a,mue);o.enter().append("g").classed(vt.headerGroupClassName,!0);for(var s=Qa.ensureSingle(i,"g",vt.dropdownButtonGroupClassName,function(h){h.style("pointer-events","all")}),l=0;l{"use strict";var Tue=zv();g8.exports={moduleType:"component",name:Tue.name,layoutAttributes:Kb(),supplyLayoutDefaults:a8(),draw:m8()}});var Yf=E((B1e,b8)=>{"use strict";b8.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 t1=E((U1e,w8)=>{"use strict";var x8=_a(),Aue=gd(),kue=fa().extendDeepAll,Mue=Vi().overrideAll,Sue=Au(),_8=sr().templatedArray,us=Yf(),Cue=_8("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(" ")}});w8.exports=Mue(_8("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:Cue,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:kue(Aue({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:Sue.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:x8({description:"Sets the font of the current value label text."})},font:x8({description:"Sets the font of the slider step labels."}),activebgcolor:{valType:"color",dflt:us.gripBgActiveColor,description:["Sets the background color of the slider grip","while dragging."].join(" ")},bgcolor:{valType:"color",dflt:us.railBgColor,description:"Sets the background color of the slider."},bordercolor:{valType:"color",dflt:us.railBorderColor,description:"Sets the color of the border enclosing the slider."},borderwidth:{valType:"number",min:0,dflt:us.railBorderWidth,description:"Sets the width (in px) of the border enclosing the slider."},ticklen:{valType:"number",min:0,dflt:us.tickLength,description:"Sets the length in pixels of step tick marks"},tickcolor:{valType:"color",dflt:us.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:us.minorTickLength,description:"Sets the length in pixels of minor step tick marks"}}),"arraydraw","from-root")});var M8=E((G1e,k8)=>{"use strict";var Il=De(),T8=Kn(),A8=t1(),que=Yf(),Lue=que.name,Due=A8.steps;k8.exports=function(t,r){T8(t,r,{name:Lue,handleItemDefaults:Rue})};function Rue(e,t,r){function a(d,h){return Il.coerce(e,t,A8,d,h)}for(var n=T8(e,t,{name:"steps",handleItemDefaults:Pue}),i=0,o=0;o{"use strict";var Fn=Et(),Ov=Dr(),so=It(),jn=Kt(),Ka=De(),Iue=Ka.strTranslate,Zf=Fa(),Eue=sr().arrayEditor,kt=Yf(),r1=wa(),S8=r1.LINE_SPACING,a1=r1.FROM_TL,n1=r1.FROM_BR;E8.exports=function(t){var r=t._fullLayout,a=zue(r,t),n=r._infolayer.selectAll("g."+kt.containerClassName).data(a.length>0?[0]:[]);n.enter().append("g").classed(kt.containerClassName,!0).style("cursor","ew-resize");function i(u){u._commandObserver&&(u._commandObserver.remove(),delete u._commandObserver),Ov.autoMargin(t,C8(u))}if(n.exit().each(function(){Fn.select(this).selectAll("g."+kt.groupClassName).each(i)}).remove(),a.length!==0){var o=n.selectAll("g."+kt.groupClassName).data(a,Nue);o.enter().append("g").classed(kt.groupClassName,!0),o.exit().each(i).remove();for(var s=0;s0&&(s=s.transition().duration(t.transition.duration).ease(t.transition.easing)),s.attr("transform",Iue(o-kt.gripWidth*.5,t._dims.currentValueTotalHeight))}}function i1(e,t){var r=e._dims;return r.inputAreaStart+kt.stepInset+(r.inputAreaLength-2*kt.stepInset)*Math.min(1,Math.max(0,t))}function I8(e,t){var r=e._dims;return Math.min(1,Math.max(0,(t-kt.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*kt.stepInset-2*r.inputAreaStart)))}function Gue(e,t,r){var a=r._dims,n=Ka.ensureSingle(e,"rect",kt.railTouchRectClass,function(i){i.call(R8,t,e,r).style("pointer-events","all")});n.attr({width:a.inputAreaLength,height:Math.max(a.inputAreaWidth,kt.tickOffset+r.ticklen+a.labelHeight)}).call(so.fill,r.bgcolor).attr("opacity",0),jn.setTranslate(n,0,a.currentValueTotalHeight)}function Wue(e,t){var r=t._dims,a=r.inputAreaLength-kt.railInset*2,n=Ka.ensureSingle(e,"rect",kt.railRectClass);n.attr({width:a,height:kt.railWidth,rx:kt.railRadius,ry:kt.railRadius,"shape-rendering":"crispEdges"}).call(so.stroke,t.bordercolor).call(so.fill,t.bgcolor).style("stroke-width",t.borderwidth+"px"),jn.setTranslate(n,kt.railInset,(r.inputAreaWidth-kt.railWidth)*.5+r.currentValueTotalHeight)}});var F8=E((V1e,N8)=>{"use strict";var Vue=Yf();N8.exports={moduleType:"component",name:Vue.name,layoutAttributes:t1(),supplyLayoutDefaults:M8(),draw:z8()}});var Bv=E((Y1e,O8)=>{"use strict";var j8=hi();O8.exports={bgcolor:{valType:"color",dflt:j8.background,editType:"plot",description:"Sets the background color of the range slider."},bordercolor:{valType:"color",dflt:j8.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 o1=E((Z1e,H8)=>{"use strict";H8.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 Uv=E((X1e,B8)=>{"use strict";B8.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 W8=E(Wv=>{"use strict";var Yue=Er(),Zue=Fa(),U8=Uv(),Xue=wa().LINE_SPACING,Gv=U8.name;function G8(e){var t=e&&e[Gv];return t&&t.visible}Wv.isVisible=G8;Wv.makeData=function(e){var t=Yue.list({_fullLayout:e},"x",!0),r=e.margin,a=[];if(!e._has("gl2d"))for(var n=0;n{"use strict";var Vv=De(),V8=sr(),Y8=Er(),Que=Bv(),Kue=o1();Z8.exports=function(t,r,a){var n=t[a],i=r[a];if(!(n.rangeslider||r._requestRangeslider[i._id]))return;Vv.isPlainObject(n.rangeslider)||(n.rangeslider={});var o=n.rangeslider,s=V8.newContainer(i,"rangeslider");function l(M,L){return Vv.coerce(o,s,Que,M,L)}var u,c;function d(M,L){return Vv.coerce(u,c,Kue,M,L)}var h=l("visible");if(!!h){l("bgcolor",r.plot_bgcolor),l("bordercolor"),l("borderwidth"),l("thickness"),l("autorange",!i.isValidRange(o.range)),l("range");var p=r._subplots;if(p)for(var g=p.cartesian.filter(function(M){return M.substr(0,M.indexOf("y"))===Y8.name2id(a)}).map(function(M){return M.substr(M.indexOf("y"),M.length)}),m=Vv.simpleMap(g,Y8.id2name),b=0;b{"use strict";var $ue=Er().list,Jue=Wu().getAutoRange,efe=Uv();Q8.exports=function(t){for(var r=$ue(t,"x",!0),a=0;a{"use strict";var Yv=Et(),tfe=ht(),rfe=Dr(),pr=De(),Zv=pr.strTranslate,$8=Kt(),El=It(),afe=Uu(),nfe=Cv(),s1=Er(),ife=qn(),ofe=Ki(),Lt=Uv();J8.exports=function(e){for(var t=e._fullLayout,r=t._rangeSliderData,a=0;a=Y.max)W=F[Q+1];else if(V=Y.pmax)W=F[Q+1];else if(V{"use strict";var gfe=De(),yfe=Bv(),bfe=o1(),l1=W8();tN.exports={moduleType:"component",name:"rangeslider",schema:{subplots:{xaxis:{rangeslider:gfe.extendFlat({},yfe,{yaxis:bfe})}}},layoutAttributes:Bv(),handleDefaults:X8(),calcAutorange:K8(),draw:eN(),isVisible:l1.isVisible,makeData:l1.makeData,autoMarginOpts:l1.autoMarginOpts}});var Xv=E((txe,nN)=>{"use strict";var xfe=_a(),aN=hi(),_fe=sr().templatedArray,wfe=_fe("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(" ")});nN.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:wfe,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:xfe({editType:"plot",description:"Sets the font of the range selector button text."}),bgcolor:{valType:"color",dflt:aN.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:aN.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 u1=E((rxe,iN)=>{"use strict";iN.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}});var lN=E((axe,sN)=>{"use strict";var Qv=De(),Tfe=It(),Afe=sr(),kfe=Kn(),oN=Xv(),f1=u1();sN.exports=function(t,r,a,n,i){var o=t.rangeselector||{},s=Afe.newContainer(r,"rangeselector");function l(p,g){return Qv.coerce(o,s,oN,p,g)}var u=kfe(o,s,{name:"buttons",handleItemDefaults:Mfe,calendar:i}),c=l("visible",u.length>0);if(c){var d=Sfe(r,a,n);l("x",d[0]),l("y",d[1]),Qv.noneOrAll(t,r,["x","y"]),l("xanchor"),l("yanchor"),Qv.coerceFont(l,"font",a.font);var h=l("bgcolor");l("activecolor",Tfe.contrast(h,f1.lightAmount,f1.darkAmount)),l("bordercolor"),l("borderwidth")}};function Mfe(e,t,r,a){var n=a.calendar;function i(l,u){return Qv.coerce(e,t,oN.buttons,l,u)}var o=i("visible");if(o){var s=i("step");s!=="all"&&(n&&n!=="gregorian"&&(s==="month"||s==="year")?t.stepmode="backward":i("stepmode"),i("count")),i("label")}}function Sfe(e,t,r){for(var a=r.filter(function(s){return t[s].anchor===e._id}),n=0,i=0;i{"use strict";var Cfe=wm(),qfe=De().titleCase;uN.exports=function(t,r){var a=t._name,n={};if(r.step==="all")n[a+".autorange"]=!0;else{var i=Lfe(t,r);n[a+".range[0]"]=i[0],n[a+".range[1]"]=i[1]}return n};function Lfe(e,t){var r=e.range,a=new Date(e.r2l(r[1])),n=t.step,i=Cfe["utc"+qfe(n)],o=t.count,s;switch(t.stepmode){case"backward":s=e.l2r(+i.offset(a,-o));break;case"todate":var l=i.offset(a,-o);s=e.l2r(+i.ceil(l));break}var u=r[1];return[s,u]}});var yN=E((ixe,gN)=>{"use strict";var Kv=Et(),Dfe=ht(),Rfe=Dr(),cN=It(),dN=Kt(),qi=De(),hN=qi.strTranslate,$v=Fa(),Pfe=Er(),c1=wa(),vN=c1.LINE_SPACING,pN=c1.FROM_TL,mN=c1.FROM_BR,d1=u1(),Ife=fN();gN.exports=function(t){var r=t._fullLayout,a=r._infolayer.selectAll(".rangeselector").data(Efe(t),zfe);a.enter().append("g").classed("rangeselector",!0),a.exit().remove(),a.style({cursor:"pointer","pointer-events":"all"}),a.each(function(n){var i=Kv.select(this),o=n,s=o.rangeselector,l=i.selectAll("g.button").data(qi.filterVisible(s.buttons));l.enter().append("g").classed("button",!0),l.exit().remove(),l.each(function(u){var c=Kv.select(this),d=Ife(o,u);u._isActive=Nfe(o,u,d),c.call(h1,s,u),c.call(jfe,s,u,t),c.on("click",function(){t._dragged||Dfe.call("_guiRelayout",t,d)}),c.on("mouseover",function(){u._isHovered=!0,c.call(h1,s,u)}),c.on("mouseout",function(){u._isHovered=!1,c.call(h1,s,u)})}),Hfe(t,l,s,o._name,i)})};function Efe(e){for(var t=Pfe.list(e,"x",!0),r=[],a=0;a{"use strict";bN.exports={moduleType:"component",name:"rangeselector",schema:{subplots:{xaxis:{rangeselector:Xv()}}},layoutAttributes:Xv(),handleDefaults:lN(),draw:yN()}});var wN=E(v1=>{"use strict";var _N=fa().extendFlat;v1.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]},a=e.name?e.name+" ":"",n=e.trace?"trace ":"subplot ",i=t.description?" "+t.description:"",o={x:_N({},r,{description:["Sets the horizontal domain of this ",a,n,"(in plot fraction).",i].join("")}),y:_N({},r,{description:["Sets the vertical domain of this ",a,n,"(in plot fraction).",i].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 ",a,n,".",i].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 ",a,n,".",i].join("")}),o};v1.defaults=function(e,t,r,a){var n=a&&a.x||[0,1],i=a&&a.y||[0,1],o=t.grid;if(o){var s=r("domain.column");s!==void 0&&(s{"use strict";var Bfe=De(),Ufe=js().counter,Gfe=wN().attributes,TN=Jr().idRegex,Wfe=sr(),p1={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:[Ufe("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:[TN.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:[TN.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:Gfe({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 Jv(e,t,r){var a=t[r+"axes"],n=Object.keys((e._splomAxes||{})[r]||{});if(Array.isArray(a))return a;if(n.length)return n}function Vfe(e,t){var r=e.grid||{},a=Jv(t,r,"x"),n=Jv(t,r,"y");if(!e.grid&&!a&&!n)return;var i=Array.isArray(r.subplots)&&Array.isArray(r.subplots[0]),o=Array.isArray(a),s=Array.isArray(n),l=o&&a!==r.xaxes&&s&&n!==r.yaxes,u,c;i?(u=r.subplots.length,c=r.subplots[0].length):(s&&(u=n.length),o&&(c=a.length));var d=Wfe.newContainer(t,"grid");function h(L,S){return Bfe.coerce(r,d,p1,L,S)}var p=h("rows",u),g=h("columns",c);if(!(p*g>1)){delete t.grid;return}if(!i&&!o&&!s){var m=h("pattern")==="independent";m&&(i=!0)}d._hasSubplotGrid=i;var b=h("roworder"),_=b==="top to bottom",x=i?.2:.1,A=i?.3:.1,w,M;l&&t._splomGridDflt&&(w=t._splomGridDflt.xside,M=t._splomGridDflt.yside),d._domains={x:AN("x",h,x,w,g),y:AN("y",h,A,M,p,_)}}function AN(e,t,r,a,n,i){var o=t(e+"gap",r),s=t("domain."+e);t(e+"side",a);for(var l=new Array(n),u=s[0],c=(s[1]-u)/(n-o),d=c*(1-o),h=0;h{"use strict";CN.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 DN=E((fxe,LN)=>{"use strict";var qN=zt(),Zfe=ht(),Xfe=De(),Qfe=sr(),Kfe=m1();LN.exports=function(e,t,r,a){var n="error_"+a.axis,i=Qfe.newContainer(t,n),o=e[n]||{};function s(g,m){return Xfe.coerce(o,i,Kfe,g,m)}var l=o.array!==void 0||o.value!==void 0||o.type==="sqrt",u=s("visible",l);if(u!==!1){var c=s("type","array"in o?"data":"percent"),d=!0;c!=="sqrt"&&(d=s("symmetric",!((c==="data"?"arrayminus":"valueminus")in o))),c==="data"?(s("array"),s("traceref"),d||(s("arrayminus"),s("tracerefminus"))):(c==="percent"||c==="constant")&&(s("value"),d||s("valueminus"));var h="copy_"+a.inherit+"style";if(a.inherit){var p=t["error_"+a.inherit];(p||{}).visible&&s(h,!(o.color||qN(o.thickness)||qN(o.width)))}(!a.inherit||!i[h])&&(s("color",r),s("thickness"),s("width",Zfe.traceIs(t,"gl3d")?0:4))}}});var g1=E((cxe,PN)=>{"use strict";PN.exports=function(t){var r=t.type,a=t.symmetric;if(r==="data"){var n=t.array||[];if(a)return function(u,c){var d=+n[c];return[d,d]};var i=t.arrayminus||[];return function(u,c){var d=+n[c],h=+i[c];return!isNaN(d)||!isNaN(h)?[h||0,d||0]:[NaN,NaN]}}else{var o=RN(r,t.value),s=RN(r,t.valueminus);return a||t.valueminus===void 0?function(u){var c=o(u);return[c,c]}:function(u){return[s(u),o(u)]}}};function RN(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 zN=E((dxe,EN)=>{"use strict";var y1=zt(),$fe=ht(),b1=rr(),Jfe=De(),ece=g1();EN.exports=function(t){for(var r=t.calcdata,a=0;a{"use strict";var NN=Et(),lo=zt(),tce=Kt(),rce=Va();FN.exports=function(t,r,a,n){var i,o=a.xaxis,s=a.yaxis,l=n&&n.duration>0;r.each(function(u){var c=u[0].trace,d=c.error_x||{},h=c.error_y||{},p;c.ids&&(p=function(_){return _.id});var g=rce.hasMarkers(c)&&c.marker.maxdisplayed>0;!h.visible&&!d.visible&&(u=[]);var m=NN.select(this).selectAll("g.errorbar").data(u,p);if(m.exit().remove(),!!u.length){d.visible||m.selectAll("path.xerror").remove(),h.visible||m.selectAll("path.yerror").remove(),m.style("opacity",1);var b=m.enter().append("g").classed("errorbar",!0);l&&b.style("opacity",0).transition().duration(n.duration).style("opacity",1),tce.setClipUrl(m,a.layerClipId,t),m.each(function(_){var x=NN.select(this),A=ace(_,o,s);if(!(g&&!_.vis)){var w,M=x.select("path.yerror");if(h.visible&&lo(A.x)&&lo(A.yh)&&lo(A.ys)){var L=h.width;w="M"+(A.x-L)+","+A.yh+"h"+2*L+"m-"+L+",0V"+A.ys,A.noYS||(w+="m-"+L+",0h"+2*L),i=!M.size(),i?M=x.append("path").style("vector-effect","non-scaling-stroke").classed("yerror",!0):l&&(M=M.transition().duration(n.duration).ease(n.easing)),M.attr("d",w)}else M.remove();var S=x.select("path.xerror");if(d.visible&&lo(A.y)&&lo(A.xh)&&lo(A.xs)){var q=(d.copy_ystyle?h:d).width;w="M"+A.xh+","+(A.y-q)+"v"+2*q+"m0,-"+q+"H"+A.xs,A.noXS||(w+="m0,-"+q+"v"+2*q),i=!S.size(),i?S=x.append("path").style("vector-effect","non-scaling-stroke").classed("xerror",!0):l&&(S=S.transition().duration(n.duration).ease(n.easing)),S.attr("d",w)}else S.remove()}})}})};function ace(e,t,r){var a={x:t.c2p(e.x),y:r.c2p(e.y)};return e.yh!==void 0&&(a.yh=r.c2p(e.yh),a.ys=r.c2p(e.ys),lo(a.ys)||(a.noYS=!0,a.ys=r.c2p(e.ys,!0))),e.xh!==void 0&&(a.xh=t.c2p(e.xh),a.xs=t.c2p(e.xs),lo(a.xs)||(a.noXS=!0,a.xs=t.c2p(e.xs,!0))),a}});var BN=E((vxe,HN)=>{"use strict";var nce=Et(),ON=It();HN.exports=function(t){t.each(function(r){var a=r[0].trace,n=a.error_y||{},i=a.error_x||{},o=nce.select(this);o.selectAll("path.yerror").style("stroke-width",n.thickness+"px").call(ON.stroke,n.color),i.copy_ystyle&&(i=n),o.selectAll("path.xerror").style("stroke-width",i.thickness+"px").call(ON.stroke,i.color)})}});var WN=E((pxe,GN)=>{"use strict";var Xf=De(),UN=Vi().overrideAll,Qf=m1(),fs={error_x:Xf.extendFlat({},Qf),error_y:Xf.extendFlat({},Qf)};delete fs.error_x.copy_zstyle;delete fs.error_y.copy_zstyle;delete fs.error_y.copy_ystyle;var Kf={error_x:Xf.extendFlat({},Qf),error_y:Xf.extendFlat({},Qf),error_z:Xf.extendFlat({},Qf)};delete Kf.error_x.copy_ystyle;delete Kf.error_y.copy_ystyle;delete Kf.error_z.copy_ystyle;delete Kf.error_z.copy_zstyle;GN.exports={moduleType:"component",name:"errorbars",schema:{traces:{scatter:fs,bar:fs,histogram:fs,scatter3d:UN(Kf,"calc","nested"),scattergl:UN(fs,"calc","nested")}},supplyDefaults:DN(),calc:zN(),makeComputeError:g1(),plot:jN(),style:BN(),hoverInfo:ice};function ice(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 YN=E((mxe,VN)=>{"use strict";VN.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 e7=E((gxe,JN)=>{"use strict";var uo=Et(),x1=An(),ep=Dr(),ZN=ht(),Li=rr(),tp=qn(),bn=De(),On=bn.strTranslate,XN=fa().extendFlat,_1=Ki(),Hn=Kt(),w1=It(),oce=Uu(),sce=Fa(),lce=on().flipScale,uce=Lb(),fce=Db(),cce=Qn(),T1=wa(),QN=T1.LINE_SPACING,KN=T1.FROM_TL,$N=T1.FROM_BR,ir=YN().cn;function dce(e){var t=e._fullLayout,r=t._infolayer.selectAll("g."+ir.colorbar).data(hce(e),function(a){return a._id});r.enter().append("g").attr("class",function(a){return a._id}).classed(ir.colorbar,!0),r.each(function(a){var n=uo.select(this);bn.ensureSingle(n,"rect",ir.cbbg),bn.ensureSingle(n,"g",ir.cbfills),bn.ensureSingle(n,"g",ir.cblines),bn.ensureSingle(n,"g",ir.cbaxis,function(o){o.classed(ir.crisp,!0)}),bn.ensureSingle(n,"g",ir.cbtitleunshift,function(o){o.append("g").classed(ir.cbtitle,!0)}),bn.ensureSingle(n,"rect",ir.cboutline);var i=vce(n,a,e);i&&i.then&&(e._promises||[]).push(i),e._context.edits.colorbarPosition&&pce(n,a,e)}),r.exit().each(function(a){ep.autoMargin(e,a._id)}).remove(),r.order()}function hce(e){var t=e._fullLayout,r=e.calcdata,a=[],n,i,o,s;function l(A){return XN(A,{_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,n):(n._fillgradient=i.reversescale?lce(i.colorscale):i.colorscale,n._zrange=[i[s.min],i[s.max]])}for(var c=0;c1){var qe=Math.pow(10,Math.floor(Math.log(Te)/Math.LN10));ee*=qe*bn.roundUp(Te/qe,[2,5,10]),(Math.abs(z.start)/z.size+1e-6)%1<2e-6&&(he.tick0=0)}he.dtick=ee}he.domain=a?[ce+g/x.h,ce+Q-g/x.h]:[ce+p/x.w,ce+Q-p/x.w],he.setScale(),e.attr("transform",On(Math.round(x.l),Math.round(x.t)));var Ue=e.select("."+ir.cbtitleunshift).attr("transform",On(-Math.round(x.l),-Math.round(x.t))),Me=he.ticklabelposition,G=he.title.font.size,Z=e.select("."+ir.cbaxis),O,le=0,be=0;function Ae(Ze,lt){var tt={propContainer:he,propName:t._propPrefix+"title",traceIndex:t._traceIndex,_meta:t._meta,placeholder:_._dfltTitle.colorbar,containerGroup:e.select("."+ir.cbtitle)},dt=Ze.charAt(0)==="h"?Ze.substr(1):"h"+Ze;e.selectAll("."+dt+",."+dt+"-math-group").remove(),oce.draw(r,Ze,XN(tt,lt||{}))}function je(){if(a&&we||!a&&!we){var Ze,lt;L==="top"&&(Ze=p+x.l+x.w*m,lt=g+x.t+x.h*(1-ce-Q)+3+G*.75),L==="bottom"&&(Ze=p+x.l+x.w*m,lt=g+x.t+x.h*(1-ce)-3-G*.25),L==="right"&&(lt=g+x.t+x.h*b+3+G*.75,Ze=p+x.l+x.w*ce),Ae(he._id+"title",{attributes:{x:Ze,y:lt,"text-anchor":a?"start":"middle"}})}}function Ye(){if(a&&!we||!a&&we){var Ze=he.position||0,lt=he._offset+he._length/2,tt,dt;if(L==="right")dt=lt,tt=x.l+x.w*Ze+10+G*(he.showticklabels?1:.5);else if(tt=lt,L==="bottom"&&(dt=x.t+x.h*Ze+10+(Me.indexOf("inside")===-1?he.tickfont.size:0)+(he.ticks!=="intside"&&t.ticklen||0)),L==="top"){var pt=M.text.split("
").length;dt=x.t+x.h*Ze+10-B-QN*G*pt}Ae((a?"h":"v")+he._id+"title",{avoid:{selection:uo.select(r).selectAll("g."+he._id+"tick"),side:L,offsetTop:a?0:x.t,offsetLeft:a?x.l:0,maxShift:a?_.width:_.height},attributes:{x:tt,y:dt,"text-anchor":"middle"},transform:{rotate:a?-90:0,offset:0}})}}function Ce(){if(!a&&!we||a&&we){var Ze=e.select("."+ir.cbtitle),lt=Ze.select("text"),tt=[-l/2,l/2],dt=Ze.select(".h"+he._id+"title-math-group").node(),pt=15.6;lt.node()&&(pt=parseInt(lt.node().style.fontSize,10)*QN);var fe;if(dt?(fe=Hn.bBox(dt),be=fe.width,le=fe.height,le>pt&&(tt[1]-=(le-pt)/2)):lt.node()&&!lt.classed(ir.jsPlaceholder)&&(fe=Hn.bBox(lt.node()),be=fe.width,le=fe.height),a){if(le){if(le+=5,L==="top")he.domain[1]-=le/x.h,tt[1]*=-1;else{he.domain[0]+=le/x.h;var de=sce.lineCount(lt);tt[1]+=(1-de)*pt}Ze.attr("transform",On(tt[0],tt[1])),he.setScale()}}else be&&(L==="right"&&(he.domain[0]+=(be+G/2)/x.w),Ze.attr("transform",On(tt[0],tt[1])),he.setScale())}e.selectAll("."+ir.cbfills+",."+ir.cblines).attr("transform",a?On(0,Math.round(x.h*(1-he.domain[1]))):On(Math.round(x.w*he.domain[0]),0)),Z.attr("transform",a?On(0,Math.round(-x.t)):On(Math.round(-x.l),0));var ze=e.select("."+ir.cbfills).selectAll("rect."+ir.cbfill).attr("style","").data(N);ze.enter().append("rect").classed(ir.cbfill,!0).style("stroke","none"),ze.exit().remove();var He=S.map(he.c2p).map(Math.round).sort(function(Pe,Ie){return Pe-Ie});ze.each(function(Pe,Ie){var Be=[Ie===0?S[0]:(N[Ie]+N[Ie-1])/2,Ie===N.length-1?S[1]:(N[Ie]+N[Ie+1])/2].map(he.c2p).map(Math.round);a&&(Be[1]=bn.constrain(Be[1]+(Be[1]>Be[0])?1:-1,He[0],He[1]));var ut=uo.select(this).attr(a?"x":"y",Y).attr(a?"y":"x",uo.min(Be)).attr(a?"width":"height",Math.max(B,2)).attr(a?"height":"width",Math.max(uo.max(Be)-uo.min(Be),2));if(t._fillgradient)Hn.gradient(ut,r,t._id,a?"vertical":"horizontalreversed",t._fillgradient,"fill");else{var gt=R(Pe).replace("e-","");ut.attr("fill",x1(gt).toHexString())}});var Ee=e.select("."+ir.cblines).selectAll("path."+ir.cbline).data(w.color&&w.width?j:[]);Ee.enter().append("path").classed(ir.cbline,!0),Ee.exit().remove(),Ee.each(function(Pe){var Ie=Y,Be=Math.round(he.c2p(Pe))+w.width/2%1;uo.select(this).attr("d","M"+(a?Ie+","+Be:Be+","+Ie)+(a?"h":"v")+B).call(Hn.lineGroupStyle,w.width,q(Pe),w.dash)}),Z.selectAll("g."+he._id+"tick,path").remove();var ge=Y+B+(l||0)/2-(t.ticks==="outside"?1:0),xe=Li.calcTicks(he),Re=Li.getTickSigns(he)[2];return Li.drawTicks(r,he,{vals:he.ticks==="inside"?Li.clipEnds(he,xe):xe,layer:Z,path:Li.makeTickPath(he,ge,Re),transFn:Li.makeTransTickFn(he)}),Li.drawLabels(r,he,{vals:xe,layer:Z,transFn:Li.makeTransTickLabelFn(he),labelFns:Li.makeLabelFns(he,ge)})}function st(){var Ze,lt=B+l/2;Me.indexOf("inside")===-1&&(Ze=Hn.bBox(Z.node()),lt+=a?Ze.width:Ze.height),O=Ue.select("text");var tt=0,dt=a&&L==="top",pt=!a&&L==="right",fe=0;if(O.node()&&!O.classed(ir.jsPlaceholder)){var de,ze=Ue.select(".h"+he._id+"title-math-group").node();ze&&(a&&we||!a&&!we)?(Ze=Hn.bBox(ze),tt=Ze.width,de=Ze.height):(Ze=Hn.bBox(Ue.node()),tt=Ze.right-x.l-(a?Y:ye),de=Ze.bottom-x.t-(a?ye:Y),!a&&L==="top"&&(lt+=Ze.height,fe=Ze.height)),pt&&(O.attr("transform",On(tt/2+G/2,0)),tt*=2),lt=Math.max(lt,a?tt:de)}var He=(a?p:g)*2+lt+u+l/2,Ee=0;!a&&M.text&&h==="bottom"&&b<=0&&(Ee=He/2,He+=Ee,fe+=Ee),_._hColorbarMoveTitle=Ee,_._hColorbarMoveCBTitle=fe;var ge=u+l;e.select("."+ir.cbbg).attr("x",(a?Y:ye)-ge/2-(a?p:0)).attr("y",(a?ye:Y)-(a?W:g+fe-Ee)).attr(a?"width":"height",Math.max(He-Ee,2)).attr(a?"height":"width",Math.max(W+ge,2)).call(w1.fill,c).call(w1.stroke,t.bordercolor).style("stroke-width",u);var xe=pt?Math.max(tt-10,0):0;if(e.selectAll("."+ir.cboutline).attr("x",(a?Y:ye+p)+xe).attr("y",(a?ye+g-W:Y)+(dt?le:0)).attr(a?"width":"height",Math.max(B,2)).attr(a?"height":"width",Math.max(W-(a?2*g+le:2*p+xe),2)).call(w1.stroke,t.outlinecolor).style({fill:"none","stroke-width":l}),e.attr("transform",On(x.l-(a?$*He:0),x.t-(a?0:(1-re)*He-fe))),!a&&(u||x1(c).getAlpha()&&!x1.equals(_.paper_bgcolor,c))){var Re=Z.selectAll("text"),Pe=Re[0].length,Ie=e.select("."+ir.cbbg).node(),Be=Hn.bBox(Ie),ut=Hn.getTranslate(e),gt=2;Re.each(function(wt,Ct){var te=0,_e=Pe-1;if(Ct===te||Ct===_e){var ke=Hn.bBox(this),Fe=Hn.getTranslate(this),qt;if(Ct===_e){var fr=ke.right+Fe.x,Or=Be.right+ut.x+ye-u-gt+m;qt=Or-fr,qt>0&&(qt=0)}else if(Ct===te){var Cr=ke.left+Fe.x,or=Be.left+ut.x+ye+u+gt;qt=or-Cr,qt<0&&(qt=0)}qt&&(Pe<3?this.setAttribute("transform","translate("+qt+",0) "+this.getAttribute("transform")):this.setAttribute("visibility","hidden"))}})}var it={},Dt=KN[d],Mt=$N[d],nt=KN[h],Rt=$N[h],St=He-B;a?(i==="pixels"?(it.y=b,it.t=W*nt,it.b=W*Rt):(it.t=it.b=0,it.yt=b+n*nt,it.yb=b-n*Rt),s==="pixels"?(it.x=m,it.l=He*Dt,it.r=He*Mt):(it.l=St*Dt,it.r=St*Mt,it.xl=m-o*Dt,it.xr=m+o*Mt)):(i==="pixels"?(it.x=m,it.l=W*Dt,it.r=W*Mt):(it.l=it.r=0,it.xl=m+n*Dt,it.xr=m-n*Mt),s==="pixels"?(it.y=1-b,it.t=He*nt,it.b=He*Rt):(it.t=St*nt,it.b=St*Rt,it.yt=b-o*nt,it.yb=b+o*Rt)),ep.autoMargin(r,t._id,it)}return bn.syncOrAsync([ep.previousPromises,je,Ce,Ye,ep.previousPromises,st],r)}function pce(e,t,r){var a=t.orientation==="v",n=r._fullLayout,i=n._size,o,s,l;tp.init({element:e.node(),gd:r,prepFn:function(){o=e.attr("transform"),_1(e)},moveFn:function(u,c){e.attr("transform",o+On(u,c)),s=tp.align((a?t._uFrac:t._vFrac)+u/i.w,a?t._thickFrac:t._lenFrac,0,1,t.xanchor),l=tp.align((a?t._vFrac:1-t._uFrac)-c/i.h,a?t._lenFrac:t._thickFrac,0,1,t.yanchor);var d=tp.getCursor(s,l,t.xanchor,t.yanchor);_1(e,d)},doneFn:function(){if(_1(e),s!==void 0&&l!==void 0){var u={};u[t._propPrefix+"x"]=s,u[t._propPrefix+"y"]=l,t._traceIndex!==void 0?ZN.call("_guiRestyle",r,u,t._traceIndex):ZN.call("_guiRelayout",r,u)}}})}function mce(e,t,r){var a=t._levels,n=[],i=[],o,s,l=a.end+a.size/100,u=a.size,c=1.001*r[0]-.001*r[1],d=1.001*r[1]-.001*r[0];for(s=0;s<1e5&&(o=a.start+s*u,!(u>0?o>=l:o<=l));s++)o>c&&o0?o>=l:o<=l));s++)o>r[0]&&o{"use strict";t7.exports={moduleType:"component",name:"colorbar",attributes:Gd(),supplyDefaults:Og(),draw:e7().draw,hasColorbar:qg()}});var n7=E((bxe,a7)=>{"use strict";a7.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 o7=E((xxe,i7)=>{"use strict";i7.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}});var k1=E((_xe,f7)=>{"use strict";var yce=ht(),s7=De(),A1=s7.extendFlat,l7=s7.extendDeep;function u7(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 bce(e){var t=["xaxis","yaxis","zaxis"];return t.indexOf(e.slice(0,5))>-1}f7.exports=function(t,r){var a,n=t.data,i=t.layout,o=l7([],n),s=l7({},i,u7(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(a=0;a{"use strict";var xce=Rd().EventEmitter,_ce=ht(),wce=De(),c7=rs(),Tce=k1(),Ace=vv(),kce=pv();function Mce(e,t){var r=new xce,a=Tce(e,{format:"png"}),n=a.gd;n.style.position="absolute",n.style.left="-5000px",document.body.appendChild(n);function i(){var s=c7.getDelay(n._fullLayout);setTimeout(function(){var l=Ace(n),u=document.createElement("canvas");u.id=wce.randstr(),r=kce({format:t.format,width:n._fullLayout.width,height:n._fullLayout.height,canvas:u,emitter:r,svg:l}),r.clean=function(){n&&document.body.removeChild(n)}},s)}var o=c7.getRedrawFunc(n);return _ce.call("_doPlot",n,a.data,a.layout,a.config).then(o).then(i).catch(function(s){r.emit("error",s)}),r}d7.exports=Mce});var m7=E((Txe,p7)=>{"use strict";var v7=rs(),Sce={getDelay:v7.getDelay,getRedrawFunc:v7.getRedrawFunc,clone:k1(),toSVG:vv(),svgToImg:pv(),toImage:h7(),downloadImage:tb()};p7.exports=Sce});var y7=E(Di=>{"use strict";Di.version=_m().version;Jk();_C();var Cce=ht(),$f=Di.register=Cce.register,M1=c4(),g7=Object.keys(M1);for(rp=0;rp{"use strict";b7.exports=y7()});var C1=E((Mxe,_7)=>{"use strict";_7.exports={TEXTPAD:3,eventDataKeys:["value","label"]}});var Jf=E((Sxe,k7)=>{"use strict";var Sr=Pf(),w7=Ud().axisHoverFormat,qce=Rf().hovertemplateAttrs,Lce=Rf().texttemplateAttrs,T7=Ou(),Dce=_a(),A7=C1(),Rce=Bs().pattern,cs=fa().extendFlat,q1=Dce({editType:"calc",arrayOk:!0,colorEditType:"style",description:""}),Pce=Sr.marker,Ice=Pce.line,Ece=cs({},Ice.width,{dflt:0}),zce=cs({width:Ece,editType:"calc"},T7("marker.line")),Nce=cs({line:zce,editType:"calc"},T7("marker"),{opacity:{valType:"number",arrayOk:!0,dflt:1,min:0,max:1,editType:"style",description:"Sets the opacity of the bars."},pattern:Rce});k7.exports={x:Sr.x,x0:Sr.x0,dx:Sr.dx,y:Sr.y,y0:Sr.y0,dy:Sr.dy,xperiod:Sr.xperiod,yperiod:Sr.yperiod,xperiod0:Sr.xperiod0,yperiod0:Sr.yperiod0,xperiodalignment:Sr.xperiodalignment,yperiodalignment:Sr.yperiodalignment,xhoverformat:w7("x"),yhoverformat:w7("y"),text:Sr.text,texttemplate:Lce({editType:"plot"},{keys:A7.eventDataKeys}),hovertext:Sr.hovertext,hovertemplate:qce({},{keys:A7.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:cs({},q1,{description:"Sets the font used for `text`."}),insidetextfont:cs({},q1,{description:"Sets the font used for `text` lying inside the bar."}),outsidetextfont:cs({},q1,{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:cs({},Sr.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:Nce,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(" ")},selected:{marker:{opacity:Sr.selected.marker.opacity,color:Sr.selected.marker.color,editType:"style"},textfont:Sr.selected.textfont,editType:"style"},unselected:{marker:{opacity:Sr.unselected.marker.opacity,color:Sr.unselected.marker.color,editType:"style"},textfont:Sr.unselected.textfont,editType:"style"},_deprecated:{bardir:{valType:"enumerated",editType:"calc",values:["v","h"],description:"Renamed to `orientation`."}}}});var L1=E((Cxe,M7)=>{"use strict";M7.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 an *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(" ")}}});var L7=E((qxe,q7)=>{"use strict";var Fce=It(),S7=on().hasColorscale,C7=il(),jce=De().coercePattern;q7.exports=function(t,r,a,n,i){var o=a("marker.color",n),s=S7(t,"marker");s&&C7(t,r,i,a,{prefix:"marker.",cLetter:"c"}),a("marker.line.color",Fce.defaultLine),S7(t,"marker.line")&&C7(t,r,i,a,{prefix:"marker.line.",cLetter:"c"}),a("marker.line.width"),a("marker.opacity"),jce(a,"marker.pattern",o,s),a("selected.marker.color"),a("unselected.marker.color")}});var D1=E((Lxe,E7)=>{"use strict";var Nl=De(),D7=It(),Oce=ht(),Hce=ob(),Bce=sb(),Uce=L7(),Gce=of().getAxisGroup,R7=Jf(),np=Nl.coerceFont;function Wce(e,t,r,a){function n(u,c){return Nl.coerce(e,t,R7,u,c)}var i=Hce(e,t,a,n);if(!i){t.visible=!1;return}Bce(e,t,a,n),n("xhoverformat"),n("yhoverformat"),n("orientation",t.x&&!t.y?"h":"v"),n("base"),n("offset"),n("width"),n("text"),n("hovertext"),n("hovertemplate");var o=n("textposition");I7(e,t,a,n,o,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),Uce(e,t,n,r,a);var s=(t.marker.line||{}).color,l=Oce.getComponentMethod("errorbars","supplyDefaults");l(e,t,s||D7.defaultLine,{axis:"y"}),l(e,t,s||D7.defaultLine,{axis:"x",inherit:"y"}),Nl.coerceSelectionMarkerOpacity(t,n)}function P7(e,t,r,a){var n=t.orientation,i=t[{v:"x",h:"y"}[n]+"axis"],o=Gce(r,i)+n,s=r._alignmentOpts||{},l=a("alignmentgroup"),u=s[o];u||(u=s[o]={});var c=u[l];c?c.traces.push(t):c=u[l]={traces:[t],alignmentIndex:Object.keys(u).length,offsetGroups:{}};var d=a("offsetgroup"),h=c.offsetGroups,p=h[d];d&&(p||(p=h[d]={offsetIndex:Object.keys(h).length}),t._offsetIndex=p.offsetIndex)}function Vce(e,t){var r,a;function n(o){return Nl.coerce(a._input,a,R7,o)}if(t.barmode==="group")for(var i=0;i{"use strict";var Yce=ht(),Zce=rr(),Xce=De(),Qce=L1();z7.exports=function(e,t,r){function a(p,g){return Xce.coerce(e,t,Qce,p,g)}for(var n=!1,i=!1,o=!1,s={},l=a("barmode"),u=0;u{"use strict";var Fl=De();F7.exports=function(t,r){for(var a=0;a{"use strict";var j7=rr(),O7=lb(),H7=on().hasColorscale,B7=Vd(),Kce=R1(),$ce=db();U7.exports=function(t,r){var a=j7.getFromId(t,r.xaxis||"x"),n=j7.getFromId(t,r.yaxis||"y"),i,o,s,l,u,c,d={msUTC:!!(r.base||r.base===0)};r.orientation==="h"?(i=a.makeCalcdata(r,"x",d),s=n.makeCalcdata(r,"y"),l=O7(r,n,"y",s),u=!!r.yperiodalignment,c="y"):(i=n.makeCalcdata(r,"y",d),s=a.makeCalcdata(r,"x"),l=O7(r,a,"x",s),u=!!r.xperiodalignment,c="x"),o=l.vals;for(var h=Math.min(o.length,i.length),p=new Array(h),g=0;g{"use strict";W7.exports=ip;var Jce=De().distinctVals,ede=yr().BADNUM;function ip(e,t){this.traces=e,this.sepNegVal=t.sepNegVal,this.overlapNoMerge=t.overlapNoMerge;for(var r=1/0,a=[],n=0;n{"use strict";var fo=zt(),P1=De().isArrayOrTypedArray,jl=yr().BADNUM,tde=ht(),ec=rr(),rde=of().getAxisGroup,op=V7();function ade(e,t){for(var r=t.xaxis,a=t.yaxis,n=e._fullLayout,i=e._fullData,o=e.calcdata,s=[],l=[],u=0;ul+o||!fo(s))}for(var c=0;c{"use strict";var cde=Et(),dde=De();function hde(e,t,r){var a=e._fullLayout,n=a["_"+r+"Text_minsize"];if(n){var i=a.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=i&&l.hide?0:n/l.fontSize;var u=cde.select(this).select("text");u.attr("transform",dde.getTextTransform(l))}})}}function vde(e,t,r){if(r.uniformtext.mode){var a=tF(e),n=r.uniformtext.minsize,i=t.scale*t.fontSize;t.hide=i{"use strict";var mde=zt(),gde=An(),yde=De().isArrayOrTypedArray;ds.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};ds.coerceNumber=function(e,t,r){if(mde(t)){t=+t;var a=e.min,n=e.max,i=a!==void 0&&tn;if(!i)return t}return r!==void 0?r:e.dflt};ds.coerceColor=function(e,t,r){return gde(t).isValid()?t:r!==void 0?r:e.dflt};ds.coerceEnumerated=function(e,t,r){return e.coerceNumber&&(t=+t),e.values.indexOf(t)!==-1?t:r!==void 0?r:e.dflt};ds.getValue=function(e,t){var r;return Array.isArray(e)?t{"use strict";var rc=Et(),bde=It(),ac=Kt(),aF=De(),nF=ht(),iF=N1().resizeText,F1=Jf(),xde=F1.textfont,_de=F1.insidetextfont,wde=F1.outsidetextfont,Ol=sp();function Tde(e){var t=rc.select(e).selectAll("g.barlayer").selectAll("g.trace");iF(e,t,"bar");var r=t.size(),a=e._fullLayout;t.style("opacity",function(n){return n[0].trace.opacity}).each(function(n){(a.barmode==="stack"&&r>1||a.bargap===0&&a.bargroupgap===0&&!n[0].trace.marker.line.width)&&rc.select(this).attr("shape-rendering","crispEdges")}),t.selectAll("g.points").each(function(n){var i=rc.select(this),o=n[0].trace;oF(i,o,e)}),nF.getComponentMethod("errorbars","style")(t)}function oF(e,t,r){ac.pointStyle(e.selectAll("path"),t,r),sF(e,t,r)}function sF(e,t,r){e.selectAll("text").each(function(a){var n=rc.select(this),i=aF.ensureUniformFontSize(r,lF(n,a,t,r));ac.font(n,i)})}function Ade(e,t,r){var a=t[0].trace;a.selectedpoints?kde(r,a,e):(oF(r,a,e),nF.getComponentMethod("errorbars","style")(r))}function kde(e,t,r){ac.selectedPointStyle(e.selectAll("path"),t),Mde(e.selectAll("text"),t,r)}function Mde(e,t,r){e.each(function(a){var n=rc.select(this),i;if(a.selected){i=aF.ensureUniformFontSize(r,lF(n,a,t,r));var o=t.selected.textfont&&t.selected.textfont.color;o&&(i.color=o),ac.font(n,i)}else ac.selectedTextStyle(n,t)})}function lF(e,t,r,a){var n=a._fullLayout.font,i=r.textfont;if(e.classed("bartext-inside")){var o=dF(t,r);i=fF(r,t.i,n,o)}else e.classed("bartext-outside")&&(i=cF(r,t.i,n));return i}function uF(e,t,r){return j1(xde,e.textfont,t,r)}function fF(e,t,r,a){var n=uF(e,t,r),i=e._input.textfont===void 0||e._input.textfont.color===void 0||Array.isArray(e.textfont.color)&&e.textfont.color[t]===void 0;return i&&(n={color:bde.contrast(a),family:n.family,size:n.size}),j1(_de,e.insidetextfont,t,n)}function cF(e,t,r){var a=uF(e,t,r);return j1(wde,e.outsidetextfont,t,a)}function j1(e,t,r,a){t=t||{};var n=Ol.getValue(t.family,r),i=Ol.getValue(t.size,r),o=Ol.getValue(t.color,r);return{family:Ol.coerceString(e.family,n,a.family),size:Ol.coerceNumber(e.size,i,a.size),color:Ol.coerceColor(e.color,o,a.color)}}function dF(e,t){return t.type==="waterfall"?t[e.dir].marker.color:e.mcc||e.mc||t.marker.color}hF.exports={style:Tde,styleTextPoints:sF,styleOnSelect:Ade,getInsideTextFont:fF,getOutsideTextFont:cF,getBarColor:dF,resizeText:iF}});var wF=E((jxe,_F)=>{"use strict";var up=Et(),fp=zt(),Ur=De(),Sde=Fa(),Cde=It(),co=Kt(),qde=ht(),cp=rr().tickText,vF=N1(),Lde=vF.recordMinTextSize,Dde=vF.clearMinTextSize,O1=lp(),Hl=sp(),Rde=C1(),pF=Jf(),Pde=pF.text,Ide=pF.textposition,Ede=bi().appendArrayPointValue,Bn=Rde.TEXTPAD;function zde(e){return e.id}function Nde(e){if(e.ids)return zde}function ho(e,t){return e0}function jde(e,t,r,a,n,i){var o=t.xaxis,s=t.yaxis,l=e._fullLayout;n||(n={mode:l.barmode,norm:l.barmode,gap:l.bargap,groupgap:l.bargroupgap},Dde("bar",l));var u=Ur.makeTraceGroups(a,r,"trace bars").each(function(c){var d=up.select(this),h=c[0].trace,p=h.type==="waterfall",g=h.type==="funnel",m=h.type==="bar",b=m||g,_=0;p&&h.connector.visible&&h.connector.mode==="between"&&(_=h.connector.line.width/2);var x=h.orientation==="h",A=gF(n),w=Ur.ensureSingle(d,"g","points"),M=Nde(h),L=w.selectAll("g.point").data(Ur.identity,M);L.enter().append("g").classed("point",!0),L.exit().remove(),L.each(function(q,R){var z=up.select(this),F=Fde(q,o,s,x),N=F[0][0],j=F[0][1],B=F[1][0],V=F[1][1],W=(x?j-N:V-B)==0;W&&b&&Hl.getLineWidth(h,q)&&(W=!1),W||(W=!fp(N)||!fp(j)||!fp(B)||!fp(V)),q.isBlank=W,W&&(x?j=N:V=B),_&&!W&&(x?(N-=ho(N,j)*_,j+=ho(N,j)*_):(B-=ho(B,V)*_,V+=ho(B,V)*_));var Q,Y;if(h.type==="waterfall"){if(!W){var $=h[q.dir].marker;Q=$.line.width,Y=$.color}}else Q=Hl.getLineWidth(h,q),Y=q.mc||h.marker.color;function re(ee){var Se=up.round(Q/2%1,2);return n.gap===0&&n.groupgap===0?up.round(Math.round(ee)-Se,2):ee}function ue(ee,Se,Te){return Te&&ee===Se?ee:Math.abs(ee-Se)>=2?re(ee):ee>Se?Math.ceil(ee):Math.floor(ee)}if(!e._context.staticPlot){var ce=Cde.opacity(Y),ye=ce<1||Q>.01?re:ue;N=ye(N,j,x),j=ye(j,N,x),B=ye(B,V,!x),V=ye(V,B,!x)}var he=mF(Ur.ensureSingle(z,"path"),l,n,i);if(he.style("vector-effect","non-scaling-stroke").attr("d",isNaN((j-N)*(V-B))||W&&e._context.staticPlot?"M0,0Z":"M"+N+","+B+"V"+V+"H"+j+"V"+B+"Z").call(co.setClipUrl,t.layerClipId,e),!l.uniformtext.mode&&A){var we=co.makePointStyleFns(h);co.singlePointStyle(q,he,h,we,e)}Ode(e,t,z,c,R,N,j,B,V,n,i),t.layerClipId&&co.hideOutsideRangePoint(q,z.select("text"),o,s,h.xcalendar,h.ycalendar)});var S=h.cliponaxis===!1;co.setClipUrl(d,S?null:t.layerClipId,e)});qde.getComponentMethod("errorbars","plot")(e,u,t,n)}function Ode(e,t,r,a,n,i,o,s,l,u,c){var d=t.xaxis,h=t.yaxis,p=e._fullLayout,g;function m(ee,Se,Te){var qe=Ur.ensureSingle(ee,"text").text(Se).attr({class:"bartext bartext-"+g,"text-anchor":"middle","data-notex":1}).call(co.font,Te).call(Sde.convertToTspans,e);return qe}var b=a[0].trace,_=b.orientation==="h",x=Bde(p,a,n,d,h);g=Ude(b,n);var A=u.mode==="stack"||u.mode==="relative",w=a[n],M=!A||w._outmost;if(!x||g==="none"||(w.isBlank||i===o||s===l)&&(g==="auto"||g==="inside")){r.select("text").remove();return}var L=p.font,S=O1.getBarColor(a[n],b),q=O1.getInsideTextFont(b,n,L,S),R=O1.getOutsideTextFont(b,n,L),z=r.datum();_?d.type==="log"&&z.s0<=0&&(d.range[0]0&&W>0,$=V<=F&&W<=N,re=V<=N&&W<=F,ue=_?F>=V*(N/W):N>=W*(F/V);Y&&($||re||ue)?g="inside":(g="outside",j.remove(),j=null)}else g="inside";if(!j){Q=Ur.ensureUniformFontSize(e,g==="outside"?R:q),j=m(r,x,Q);var ce=j.attr("transform");if(j.attr("transform",""),B=co.bBox(j.node()),V=B.width,W=B.height,j.attr("transform",ce),V<=0||W<=0){j.remove();return}}var ye=b.textangle,he,we;g==="outside"?(we=b.constraintext==="both"||b.constraintext==="outside",he=Hde(i,o,s,l,B,{isHorizontal:_,constrained:we,angle:ye})):(we=b.constraintext==="both"||b.constraintext==="inside",he=xF(i,o,s,l,B,{isHorizontal:_,constrained:we,angle:ye,anchor:b.insidetextanchor})),he.fontSize=Q.size,Lde(b.type==="histogram"?"bar":b.type,he,p),w.transform=he,mF(j,p,u,c).attr("transform",Ur.getTextTransform(he))}function yF(e){return e==="auto"?0:e}function bF(e,t){var r=Math.PI/180*t,a=Math.abs(Math.sin(r)),n=Math.abs(Math.cos(r));return{x:e.width*n+e.height*a,y:e.width*a+e.height*n}}function xF(e,t,r,a,n,i){var o=!!i.isHorizontal,s=!!i.constrained,l=i.angle||0,u=i.anchor||"end",c=u==="end",d=u==="start",h=i.leftToRight||0,p=(h+1)/2,g=1-p,m=n.width,b=n.height,_=Math.abs(t-e),x=Math.abs(a-r),A=_>2*Bn&&x>2*Bn?Bn:0;_-=2*A,x-=2*A;var w=yF(l);l==="auto"&&!(m<=_&&b<=x)&&(m>_||b>x)&&(!(m>x||b>_)||m2*Bn?Bn:0:p=d>2*Bn?Bn:0;var g=1;s&&(g=o?Math.min(1,h/c):Math.min(1,d/u));var m=yF(l),b=bF(n,m),_=(o?b.x:b.y)/2,x=(n.left+n.right)/2,A=(n.top+n.bottom)/2,w=(e+t)/2,M=(r+a)/2,L=0,S=0,q=o?ho(t,e):ho(r,a);return o?(w=t-q*p,L=q*_):(M=a+q*p,S=-q*_),{textX:x,textY:A,targetX:w,targetY:M,anchorX:L,anchorY:S,scale:g,rotate:m}}function Bde(e,t,r,a,n){var i=t[0].trace,o=i.texttemplate,s;return o?s=Gde(e,t,r,a,n):i.textinfo?s=Wde(t,r,a,n):s=Hl.getValue(i.text,r),Hl.coerceString(Pde,s)}function Ude(e,t){var r=Hl.getValue(e.textposition,t);return Hl.coerceEnumerated(Ide,r)}function Gde(e,t,r,a,n){var i=t[0].trace,o=Ur.castOption(i,r,"texttemplate");if(!o)return"";var s=i.type==="histogram",l=i.type==="waterfall",u=i.type==="funnel",c=i.orientation==="h",d,h,p,g;c?(d="y",h=n,p="x",g=a):(d="x",h=a,p="y",g=n);function m(L){return cp(h,h.c2l(L),!0).text}function b(L){return cp(g,g.c2l(L),!0).text}var _=t[r],x={};x.label=_.p,x.labelLabel=x[d+"Label"]=m(_.p);var A=Ur.castOption(i,_.i,"text");(A===0||A)&&(x.text=A),x.value=_.s,x.valueLabel=x[p+"Label"]=b(_.s);var w={};Ede(w,i,_.i),(s||w.x===void 0)&&(w.x=c?x.value:x.label),(s||w.y===void 0)&&(w.y=c?x.label:x.value),(s||w.xLabel===void 0)&&(w.xLabel=c?x.valueLabel:x.labelLabel),(s||w.yLabel===void 0)&&(w.yLabel=c?x.labelLabel:x.valueLabel),l&&(x.delta=+_.rawS||_.s,x.deltaLabel=b(x.delta),x.final=_.v,x.finalLabel=b(x.final),x.initial=x.final-x.delta,x.initialLabel=b(x.initial)),u&&(x.value=_.s,x.valueLabel=b(x.value),x.percentInitial=_.begR,x.percentInitialLabel=Ur.formatPercent(_.begR),x.percentPrevious=_.difR,x.percentPreviousLabel=Ur.formatPercent(_.difR),x.percentTotal=_.sumR,x.percenTotalLabel=Ur.formatPercent(_.sumR));var M=Ur.castOption(i,_.i,"customdata");return M&&(x.customdata=M),Ur.texttemplateString(o,x,e._d3locale,w,x,i._meta||{})}function Wde(e,t,r,a){var n=e[0].trace,i=n.orientation==="h",o=n.type==="waterfall",s=n.type==="funnel";function l(M){var L=i?a:r;return cp(L,M,!0).text}function u(M){var L=i?r:a;return cp(L,+M,!0).text}var c=n.textinfo,d=e[t],h=c.split("+"),p=[],g,m=function(M){return h.indexOf(M)!==-1};if(m("label")&&p.push(l(e[t].p)),m("text")&&(g=Ur.castOption(n,d.i,"text"),(g===0||g)&&p.push(g)),o){var b=+d.rawS||d.s,_=d.v,x=_-b;m("initial")&&p.push(u(x)),m("delta")&&p.push(u(b)),m("final")&&p.push(u(_))}if(s){m("value")&&p.push(u(d.s));var A=0;m("percent initial")&&A++,m("percent previous")&&A++,m("percent total")&&A++;var w=A>1;m("percent initial")&&(g=Ur.formatPercent(d.begR),w&&(g+=" of initial"),p.push(g)),m("percent previous")&&(g=Ur.formatPercent(d.difR),w&&(g+=" of previous"),p.push(g)),m("percent total")&&(g=Ur.formatPercent(d.sumR),w&&(g+=" of total"),p.push(g))}return p.join("
")}_F.exports={plot:jde,toMoveInsideBar:xF}});var SF=E((Oxe,MF)=>{"use strict";var nc=Ti(),Vde=ht(),TF=It(),Yde=De().fillText,Zde=sp().getLineWidth,H1=rr().hoverLabelText,Xde=yr().BADNUM;function Qde(e,t,r,a,n){var i=AF(e,t,r,a,n);if(i){var o=i.cd,s=o[0].trace,l=o[i.index];return i.color=kF(s,l),Vde.getComponentMethod("errorbars","hoverInfo")(l,s,i),[i]}}function AF(e,t,r,a,n){var i=e.cd,o=i[0].trace,s=i[0].t,l=a==="closest",u=o.type==="waterfall",c=e.maxHoverDistance,d=e.maxSpikeDistance,h,p,g,m,b,_,x;o.orientation==="h"?(h=r,p=t,g="y",m="x",b=V,_=N):(h=t,p=r,g="x",m="y",_=V,b=N);var A=o[g+"period"],w=l||A;function M(ee){return S(ee,-1)}function L(ee){return S(ee,1)}function S(ee,Se){var Te=ee.w;return ee[g]+Se*Te/2}function q(ee){return ee[g+"End"]-ee[g+"Start"]}var R=l?M:A?function(ee){return ee.p-q(ee)/2}:function(ee){return Math.min(M(ee),ee.p-s.bardelta/2)},z=l?L:A?function(ee){return ee.p+q(ee)/2}:function(ee){return Math.max(L(ee),ee.p+s.bardelta/2)};function F(ee,Se,Te){return n.finiteRange&&(Te=0),nc.inbox(ee-h,Se-h,Te+Math.min(1,Math.abs(Se-ee)/x)-1)}function N(ee){return F(R(ee),z(ee),c)}function j(ee){return F(M(ee),L(ee),d)}function B(ee){var Se=ee[m];if(u){var Te=Math.abs(ee.rawS)||0;p>0?Se+=Te:p<0&&(Se-=Te)}return Se}function V(ee){var Se=p,Te=ee.b,qe=B(ee);return nc.inbox(Te-Se,qe-Se,c+(qe-Se)/(qe-Te)-1)}function W(ee){var Se=p,Te=ee.b,qe=B(ee);return nc.inbox(Te-Se,qe-Se,d+(qe-Se)/(qe-Te)-1)}var Q=e[g+"a"],Y=e[m+"a"];x=Math.abs(Q.r2c(Q.range[1])-Q.r2c(Q.range[0]));function $(ee){return(b(ee)+_(ee))/2}var re=nc.getDistanceFunction(a,b,_,$);if(nc.getClosest(i,re,e),e.index!==!1&&i[e.index].p!==Xde){w||(R=function(ee){return Math.min(M(ee),ee.p-s.bargroupwidth/2)},z=function(ee){return Math.max(L(ee),ee.p+s.bargroupwidth/2)});var ue=e.index,ce=i[ue],ye=o.base?ce.b+ce.s:ce.s;e[m+"0"]=e[m+"1"]=Y.c2p(ce[m],!0),e[m+"LabelVal"]=ye;var he=s.extents[s.extents.round(ce.p)];e[g+"0"]=Q.c2p(l?R(ce):he[0],!0),e[g+"1"]=Q.c2p(l?z(ce):he[1],!0);var we=ce.orig_p!==void 0;return e[g+"LabelVal"]=we?ce.orig_p:ce.p,e.labelLabel=H1(Q,e[g+"LabelVal"],o[g+"hoverformat"]),e.valueLabel=H1(Y,e[m+"LabelVal"],o[m+"hoverformat"]),e.baseLabel=H1(Y,ce.b,o[m+"hoverformat"]),e.spikeDistance=(W(ce)+j(ce))/2,e[g+"Spike"]=Q.c2p(ce.p,!0),Yde(ce,o,e),e.hovertemplate=o.hovertemplate,e}}function kF(e,t){var r=t.mcc||e.marker.color,a=t.mlcc||e.marker.line.color,n=Zde(e,t);if(TF.opacity(r))return r;if(TF.opacity(a)&&n)return a}MF.exports={hoverPoints:Qde,hoverOnBars:AF,getTraceColor:kF}});var qF=E((Hxe,CF)=>{"use strict";CF.exports=function(t,r,a){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),a.orientation==="h"?(t.label=t.y,t.value=t.x):(t.label=t.x,t.value=t.y),t}});var DF=E((Bxe,LF)=>{"use strict";LF.exports=function(t,r){var a=t.cd,n=t.xaxis,i=t.yaxis,o=a[0].trace,s=o.type==="funnel",l=o.orientation==="h",u=[],c;if(r===!1)for(c=0;c{"use strict";RF.exports={attributes:Jf(),layoutAttributes:L1(),supplyDefaults:D1().supplyDefaults,crossTraceDefaults:D1().crossTraceDefaults,supplyLayoutDefaults:N7(),calc:G7(),crossTraceCalc:eF().crossTraceCalc,colorbar:_b(),arraysToCalcdata:R1(),plot:wF().plot,style:lp().style,styleOnSelect:lp().styleOnSelect,hoverPoints:SF().hoverPoints,eventData:qF(),selectPoints:DF(),moduleType:"trace",name:"bar",basePlotModule:Cv(),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 th *v* (the default)","and the labels are set in `x`.","By setting `orientation` to *h*, the roles are interchanged."].join(" ")}}});var EF=E((Gxe,IF)=>{"use strict";IF.exports=PF()});var ic=E(zF=>{"use strict";zF.pointsAccessorFunction=function(e,t){for(var r,a,n=0;n{"use strict";var $de=rr(),Bl=De(),Jde=Yi(),ehe=ic().pointsAccessorFunction,mr=yr().BADNUM;Ul.moduleType="transform";Ul.name="aggregate";var NF=Ul.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"},FF=NF.aggregations;Ul.supplyDefaults=function(e,t){var r={},a;function n(b,_){return Bl.coerce(e,r,NF,b,_)}var i=n("enabled");if(!i)return r;var o=Jde.findArrayAttributes(t),s={};for(a=0;al&&(l=h,u=d)}}return l?n(u):mr};case"rms":return function(i,o){for(var s=0,l=0,u=0;u{"use strict";HF.exports=OF()});var GF=E((Zxe,UF)=>{"use strict";UF.exports={COMPARISON_OPS:["=","!=","<",">=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}});var WF=E(vs=>{"use strict";var hs=De(),ihe=ht(),ohe=rr(),she=ic().pointsAccessorFunction,B1=GF(),U1=B1.COMPARISON_OPS,G1=B1.INTERVAL_OPS,W1=B1.SET_OPS;vs.moduleType="transform";vs.name="filter";vs.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(U1).concat(G1).concat(W1),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 ("+U1+")","`value` is expected to be a number or a string.","When `operation` is set to one of the interval values","("+G1+")","`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","("+W1+")","`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"};vs.supplyDefaults=function(e){var t={};function r(o,s){return hs.coerce(e,t,vs.attributes,o,s)}var a=r("enabled");if(a){var n=r("target");if(hs.isArrayOrTypedArray(n)&&n.length===0)return t.enabled=!1,t;r("preservegaps"),r("operation"),r("value");var i=ihe.getComponentMethod("calendars","handleDefaults");i(e,t,"valuecalendar",null),i(e,t,"targetcalendar",null)}return t};vs.calcTransform=function(e,t,r){if(!r.enabled)return;var a=hs.getTargetArray(t,r);if(!a)return;var n=r.target,i=a.length;t._length&&(i=Math.min(i,t._length));var o=r.targetcalendar,s=t._arrayAttrs,l=r.preservegaps;if(typeof n=="string"){var u=hs.nestedProperty(t,n+"calendar").get();u&&(o=u)}var c=ohe.getDataToCoordFunc(e,t,n,a),d=lhe(r,c,o),h={},p={},g=0;function m(M,L){for(var S=0;S":return function(c){return l(c)>u};case">=":return function(c){return l(c)>=u};case"[]":return function(c){var d=l(c);return d>=u[0]&&d<=u[1]};case"()":return function(c){var d=l(c);return d>u[0]&&d=u[0]&&du[0]&&d<=u[1]};case"][":return function(c){var d=l(c);return d<=u[0]||d>=u[1]};case")(":return function(c){var d=l(c);return du[1]};case"](":return function(c){var d=l(c);return d<=u[0]||d>u[1]};case")[":return function(c){var d=l(c);return d=u[1]};case"{}":return function(c){return u.indexOf(l(c))!==-1};case"}{":return function(c){return u.indexOf(l(c))===-1}}}});var YF=E((Qxe,VF)=>{"use strict";VF.exports=WF()});var ZF=E(Ri=>{"use strict";var La=De(),uhe=Yi(),fhe=Dr(),che=ic().pointsAccessorFunction;Ri.moduleType="transform";Ri.name="groupby";Ri.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"};Ri.supplyDefaults=function(e,t,r){var a,n={};function i(d,h){return La.coerce(e,n,Ri.attributes,d,h)}var o=i("enabled");if(!o)return n;i("groups"),i("nameformat",r._dataLength>1?"%{group} (%{trace})":"%{group}");var s=e.styles,l=n.styles=[];if(s)for(a=0;a{"use strict";XF.exports=ZF()});var KF=E(ps=>{"use strict";var V1=De(),hhe=rr(),vhe=ic().pointsAccessorFunction,dp=yr().BADNUM;ps.moduleType="transform";ps.name="sort";ps.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"};ps.supplyDefaults=function(e){var t={};function r(n,i){return V1.coerce(e,t,ps.attributes,n,i)}var a=r("enabled");return a&&(r("target"),r("order")),t};ps.calcTransform=function(e,t,r){if(!!r.enabled){var a=V1.getTargetArray(t,r);if(!!a){var n=r.target,i=a.length;t._length&&(i=Math.min(i,t._length));var o=t._arrayAttrs,s=hhe.getDataToCoordFunc(e,t,n,a),l=phe(r,a,s,i),u=vhe(t.transforms,r),c={},d,h;for(d=0;d{"use strict";$F.exports=KF()});var Da=Wp(im()),s9=Wp(Zk());var Xk="1.2.1";function xm(e){return Boolean(e)}var xX=e=>{let t=Array.from(document.querySelectorAll('style[id^="plotly.js"]')).map(r=>r.sheet).filter(xm).flatMap(r=>Array.from(r.cssRules)).map(r=>r.cssText).join(` +`);if(l!==-1&&(s=o.substr(l+1),o=o.substr(0,l)),a&&(o==="00:00:00"||o==="00:00"?(o=s,s=""):o.length===8&&(o=o.replace(/:00$/,""))),s)if(r)n==="d"?o+=", "+s:o=s+(o?", "+o:"");else if(!e._inCalcTicks||e._prevDateHead!==s)e._prevDateHead=s,o+="
"+s;else{var u=Ku(e),c=e._trueSide||e.side;(!u&&c==="top"||u&&c==="bottom")&&(o+="
")}t.text=o}function cte(e,t,r,a,n){var i=e.dtick,o=t.x,s=e.tickformat,l=typeof i=="string"&&i.charAt(0);if(n==="never"&&(n=""),a&&l!=="L"&&(i="L3",l="L"),s||l==="L")t.text=Qu(Math.pow(10,o),e,n,a);else if(zr(i)||l==="D"&&Tt.mod(o+.01,1)<.1){var u=Math.round(o),c=Math.abs(u),d=e.exponentformat;d==="power"||vh(d)&&py(u)?(u===0?t.text=1:u===1?t.text="10":t.text="10"+(u>1?"":Wo)+c+"",t.fontSize*=1.25):(d==="e"||d==="E")&&c>2?t.text="1"+d+(u>0?"+":Wo)+c:(t.text=Qu(Math.pow(10,o),e,"","fakehover"),i==="D1"&&e._id.charAt(0)==="y"&&(t.dy-=t.fontSize/6))}else if(l==="D")t.text=String(Math.round(Math.pow(10,Tt.mod(o,1)))),t.fontSize*=.75;else throw"unrecognized dtick "+String(i);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 dte(e,t){var r=e._categories[Math.round(t.x)];r===void 0&&(r=""),t.text=String(r)}function hte(e,t,r){var a=Math.round(t.x),n=e._categories[a]||[],i=n[1]===void 0?"":String(n[1]),o=n[0]===void 0?"":String(n[0]);r?t.text=o+" - "+i:(t.text=i,t.text2=o)}function vte(e,t,r,a,n){n==="never"?n="":e.showexponent==="all"&&Math.abs(t.x/e.dtick)<1e-6&&(n="hide"),t.text=Qu(t.x,e,n,a)}function pte(e,t,r,a,n){if(e.thetaunit==="radians"&&!r){var i=t.x/180;if(i===0)t.text="0";else{var o=mte(i);if(o[1]>=100)t.text=Qu(Tt.deg2rad(t.x),e,n,a);else{var s=t.x<0;o[1]===1?o[0]===1?t.text="\u03C0":t.text=o[0]+"\u03C0":t.text=["",o[0],"","\u2044","",o[1],"","\u03C0"].join(""),s&&(t.text=Wo+t.text)}}}else t.text=Qu(t.x,e,n,a)}function mte(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 a(s){for(var l=1;!t(Math.round(s*l)/l,s);)l*=10;return l}var n=a(e),i=e*n,o=Math.abs(r(i,n));return[Math.round(i/o),Math.round(n/o)]}var gte=["f","p","n","\u03BC","m","","k","M","G","T"];function vh(e){return e==="SI"||e==="B"}function py(e){return e>14||e<-15}function Qu(e,t,r,a){var n=e<0,i=t._tickround,o=r||t.exponentformat||"B",s=t._tickexponent,l=Ne.getTickFormat(t),u=t.separatethousands;if(a){var c={exponentformat:o,minexponent:t.minexponent,dtick:t.showexponent==="none"?t.dtick:zr(e)&&Math.abs(e)||1,range:t.showexponent==="none"?t.range.map(t.r2d):[0,e||1]};k5(c),i=(Number(c._tickround)||0)+4,s=c._tickexponent,t.hoverformat&&(l=t.hoverformat)}if(l)return t._numFormat(l)(e).replace(/-/g,Wo);var d=Math.pow(10,-i)/2;if(o==="none"&&(s=0),e=Math.abs(e),e"+g+"
":o==="B"&&s===9?e+="B":vh(o)&&(e+=gte[s/3+5])}return n?Wo+e:e}Ne.getTickFormat=function(e){var t;function r(l){return typeof l!="string"?l:Number(l.replace("M",""))*Xu}function a(l,u){var c=["L","D"];if(typeof l==typeof u){if(typeof l=="number")return l-u;var d=c.indexOf(l.charAt(0)),h=c.indexOf(u.charAt(0));return d===h?Number(l.replace(/(L|D)/g,""))-Number(u.replace(/(L|D)/g,"")):d-h}else return typeof l=="number"?1:-1}function n(l,u,c){var d=c||function(g){return g},h=u[0],p=u[1];return(!h&&typeof h!="number"||d(h)<=d(l))&&(!p&&typeof p!="number"||d(p)>=d(l))}function i(l,u){var c=u[0]===null,d=u[1]===null,h=a(l,u[0])>=0,p=a(l,u[1])<=0;return(c||h)&&(d||p)}var o,s;if(e.tickformatstops&&e.tickformatstops.length>0)switch(e.type){case"date":case"linear":{for(t=0;t0?G.bottom-Ue:0,Me)))),t.automargin){Z={x:0,y:0,r:0,l:0,t:0,b:0};var be=[0,1];if(l==="x"){if(Te==="b"?Z[Te]=t._depth:(Z[Te]=t._depth=Math.max(G.width>0?Ue-G.top:0,Me),be.reverse()),G.width>0){var Ae=G.right-(t._offset+t._length);Ae>0&&(Z.xr=1,Z.r=Ae);var je=t._offset-G.left;je>0&&(Z.xl=0,Z.l=je)}}else if(Te==="l"?Z[Te]=t._depth=Math.max(G.height>0?Ue-G.left:0,Me):(Z[Te]=t._depth=Math.max(G.height>0?G.right-Ue:0,Me),be.reverse()),G.height>0){var Ye=G.bottom-(t._offset+t._length);Ye>0&&(Z.yb=0,Z.b=Ye);var Ce=t._offset-G.top;Ce>0&&(Z.yt=1,Z.t=Ce)}Z[u]=t.anchor==="free"?t.position:t._anchorAxis.domain[be[0]],t.title.text!==o._dfltTitle[l]&&(Z[Te]+=M5(t)+(t.title.standoff||0)),t.mirror&&t.anchor!=="free"&&(O={x:0,y:0,r:0,l:0,t:0,b:0},O[qe]=t.linewidth,t.mirror&&t.mirror!==!0&&(O[qe]+=Me),t.mirror===!0||t.mirror==="ticks"?O[u]=t._anchorAxis.domain[be[1]]:(t.mirror==="all"||t.mirror==="allticks")&&(O[u]=[t._counterDomainMin,t._counterDomainMax][be[1]]))}Se&&(le=Vu.getComponentMethod("rangeslider","autoMarginOpts")(e,t)),ll.autoMargin(e,yy(t),Z),ll.autoMargin(e,C5(t),O),ll.autoMargin(e,q5(t),le)}),!r.skipTitle&&!(Se&&t.side==="bottom")&&we.push(function(){return Ate(e,t)}),Tt.syncOrAsync(we)}};function yte(e,t){var r=[],a,n=function(i,o){var s=i.xbnd[o];s!==null&&r.push(Tt.extendFlat({},i,{x:s}))};if(t.length){for(a=0;a60?-.5*B:e.side==="top"!==c?-B:0};else if(S==="y"){if(R=!c&&L==="left"||c&&L==="right",w=R?1:-1,c&&(w*=-1),_=h,x=p*w,A=0,!c&&Math.abs(q)===90&&(q===-90&&L==="left"||q===90&&L==="right"?A=Vo:A=.5),c){var z=zr(q)?+q:0;if(z!==0){var F=Tt.deg2rad(z);M=Math.abs(Math.sin(F))*Vo*w,A=0}}b.xFn=function(N){return N.dx+t-(_+N.fontSize*A)*w+M*N.fontSize},b.yFn=function(N){return N.dy+x+N.fontSize*ch},b.anchorFn=function(N,j){return zr(j)&&Math.abs(j)===90?"middle":R?"end":"start"},b.heightFn=function(N,j,B){return e.side==="right"&&(j*=-1),j<-30?-B:j<30?-.5*B:0}}return b};function ph(e){return[e.text,e.x,e.axInfo,e.font,e.fontSize,e.fontColor].join("_")}Ne.drawTicks=function(e,t,r){r=r||{};var a=t._id+"tick",n=r.vals;t.ticklabelmode==="period"&&(n=n.slice(),n.shift());var i=r.layer.selectAll("path."+a).data(t.ticks?n:[],ph);i.exit().remove(),i.enter().append("path").classed(a,1).classed("ticks",1).classed("crisp",r.crisp!==!1).call(Zu.stroke,t.tickcolor).style("stroke-width",Cn.crispRound(e,t.tickwidth,1)+"px").attr("d",r.path).style("display",null),gh(t,[m5]),i.attr("transform",r.transFn)};Ne.drawGrid=function(e,t,r){r=r||{};var a=t._id+"grid",n=r.vals,i=r.counterAxis;if(t.showgrid===!1)n=[];else if(i&&Ne.shouldShowZeroLine(e,t,i))for(var o=t.tickmode==="array",s=0;sF||ue.leftF||ue.top+(t.tickangle?0:Y.fontSize/4)t["_visibleLabelMin_"+R._id]?Y.style("display","none"):F.K==="tick"&&!z&&Y.style("display",null)})})})})},p(d,c+1?c:u);function g(){return h.length&&Promise.all(h)}var m=null;function b(){if(p(d,u),s.length&&i==="x"&&!zr(u)&&(t.type!=="log"||String(t.dtick).charAt(0)!=="D")){m=0;var w=0,M=[],L;if(d.each(function(ue){w=Math.max(w,ue.fontSize);var ce=t.l2p(ue.x),ye=gy(this),he=Cn.bBox(ye.node());M.push({top:0,bottom:10,height:10,left:ce-he.width/2,right:ce+he.width/2+2,width:he.width+2})}),(t.tickson==="boundaries"||t.showdividers)&&!r.secondary){var S=2;for(t.ticks&&(S+=t.tickwidth/2),L=0;L1&&r1)for(n=1;n=n.min&&e{var Lte={left:0,top:0};D5.exports=Dte;function Dte(e,t,r){t=t||e.currentTarget||e.srcElement,Array.isArray(r)||(r=[0,0]);var a=e.clientX||0,n=e.clientY||0,i=Rte(t);return r[0]=a-i.left,r[1]=n-i.top,r}function Rte(e){return e===window||e===document||e===document.body?Lte:e.getBoundingClientRect()}});var _y=E((n0e,P5)=>{"use strict";var Pte=tg();function Ite(){var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch(r){e=!1}return e}P5.exports=Pte&&Ite()});var E5=E((i0e,I5)=>{"use strict";I5.exports=function(t,r,a,n,i){var o=(t-a)/(n-a),s=o+r/(n-a),l=(o+s)/2;return i==="left"||i==="bottom"?o:i==="center"||i==="middle"?l:i==="right"||i==="top"?s:o<2/3-l?o:s>4/3-l?s:l}});var F5=E((o0e,N5)=>{"use strict";var z5=De(),Ete=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];N5.exports=function(t,r,a,n){return a==="left"?t=0:a==="center"?t=1:a==="right"?t=2:t=z5.constrain(Math.floor(t*3),0,2),n==="bottom"?r=0:n==="middle"?r=1:n==="top"?r=2:r=z5.constrain(Math.floor(r*3),0,2),Ete[r][t]}});var O5=E((s0e,j5)=>{"use strict";var zte=Du(),Nte=Md(),Fte=md().getGraphDiv,jte=bu(),wy=j5.exports={};wy.wrapped=function(e,t,r){e=Fte(e),e._fullLayout&&Nte.clear(e._fullLayout._uid+jte.HOVERID),wy.raw(e,t,r)};wy.raw=function(t,r){var a=t._fullLayout,n=t._hoverdata;r||(r={}),!(r.target&&!t._dragged&&zte.triggerHandler(t,"plotly_beforehover",r)===!1)&&(a._hoverlayer.selectAll("g").remove(),a._hoverlayer.selectAll("line").remove(),a._hoverlayer.selectAll("circle").remove(),t._hoverdata=void 0,r.target&&n&&t.emit("plotly_unhover",{event:r,points:n}))}});var qn=E((l0e,U5)=>{"use strict";var Ote=R5(),Ty=ag(),Hte=_y(),Bte=De().removeElement,Ute=Jr(),Yo=U5.exports={};Yo.align=E5();Yo.getCursor=F5();var H5=O5();Yo.unhover=H5.wrapped;Yo.unhoverRaw=H5.raw;Yo.init=function(t){var r=t.gd,a=1,n=r._context.doubleClickDelay,i=t.element,o,s,l,u,c,d,h,p;r._mouseDownTime||(r._mouseDownTime=0),i.style.pointerEvents="all",i.onmousedown=b,Hte?(i._ontouchstart&&i.removeEventListener("touchstart",i._ontouchstart),i._ontouchstart=b,i.addEventListener("touchstart",b,{passive:!1})):i.ontouchstart=b;function g(A,w,M){return Math.abs(A)n&&(a=Math.max(a-1,1)),r._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(a,d),!p){var w;try{w=new MouseEvent("click",A)}catch(L){var M=Ay(A);w=document.createEvent("MouseEvents"),w.initMouseEvent("click",A.bubbles,A.cancelable,A.view,A.detail,A.screenX,A.screenY,M[0],M[1],A.ctrlKey,A.altKey,A.shiftKey,A.metaKey,A.button,A.relatedTarget)}h.dispatchEvent(w)}r._dragging=!1,r._dragged=!1}};function B5(){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}Yo.coverSlip=B5;function Ay(e){return Ote(e.changedTouches?e.changedTouches[0]:e,document.body)}});var Ki=E((u0e,G5)=>{"use strict";G5.exports=function(t,r){(t.attr("class")||"").split(" ").forEach(function(a){a.indexOf("cursor-")===0&&t.classed(a,!1)}),r&&t.classed("cursor-"+r,!0)}});var Y5=E((f0e,V5)=>{"use strict";var ky=Ki(),$u="data-savedcursor",W5="!!";V5.exports=function(t,r){var a=t.attr($u);if(r){if(!a){for(var n=(t.attr("class")||"").split(" "),i=0;i{"use strict";var My=_a(),Gte=hi();Z5.exports={bgcolor:{valType:"color",editType:"legend",description:["Sets the legend background color.","Defaults to `layout.paper_bgcolor`."].join(" ")},bordercolor:{valType:"color",dflt:Gte.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:My({editType:"legend",description:"Sets the font used to text the legend items."}),grouptitlefont:My({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(" ")},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",min:-2,max:3,editType:"legend",description:["Sets the x position (in normalized coordinates) of the legend.","Defaults to *1.02* for vertical legends and","defaults to *0* for horizontal legends."].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",min:-2,max:3,editType:"legend",description:["Sets the y position (in normalized coordinates) of the legend.","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."].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:My({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"],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","legend area in both x and y sides."].join(" ")},editType:"legend"},editType:"legend"}});var bh=E(yh=>{"use strict";yh.isGrouped=function(t){return(t.traceorder||"").indexOf("grouped")!==-1};yh.isVertical=function(t){return t.orientation!=="h"};yh.isReversed=function(t){return(t.traceorder||"").indexOf("reversed")!==-1}});var Ly=E((h0e,X5)=>{"use strict";var Cy=ht(),Ln=De(),Wte=sr(),Vte=Oi(),Yte=Sy(),Zte=Us(),qy=bh();X5.exports=function(t,r,a){var n=t.legend||{},i=Wte.newContainer(r,"legend");function o(q,R){return Ln.coerce(n,i,Yte,q,R)}for(var s,l=function(q,R){var z=s._input,F=s;return Ln.coerce(z,F,Vte,q,R)},u=r.font||{},c=Ln.coerceFont(o,"grouptitlefont",Ln.extendFlat({},u,{size:Math.round(u.size*1.1)})),d=0,h=!1,p="normal",g=0;g1);if(m===!1&&(r.legend=void 0),!(m===!1&&!n.uirevision)&&(o("uirevision",r.uirevision),m!==!1)){o("bgcolor",r.paper_bgcolor),o("bordercolor"),o("borderwidth");var b=Ln.coerceFont(o,"font",r.font),_=o("orientation"),x=_==="h",A,w,M;x?(A=0,Cy.getComponentMethod("rangeslider","isVisible")(t.xaxis)?(w=1.1,M="bottom"):(w=-.1,M="top")):(A=1.02,w=1,M="auto"),o("traceorder",p),qy.isGrouped(r.legend)&&o("tracegroupgap"),o("itemsizing"),o("itemwidth"),o("itemclick"),o("itemdoubleclick"),o("groupclick"),o("x",A),o("xanchor"),o("y",w),o("yanchor",M),o("valign"),Ln.noneOrAll(n,i,["x","y"]);var L=o("title.text");if(L){o("title.side",x?"left":"top");var S=Ln.extendFlat({},b,{size:Ln.bigFont(b.size)});Ln.coerceFont(o,"title.font",S)}}}});var K5=E((v0e,Q5)=>{"use strict";var Dy=De(),Zo=ht(),Ry=!0;Q5.exports=function(t,r,a){var n=r._fullLayout;if(r._dragged||r._editing)return;var i=n.legend.itemclick,o=n.legend.itemdoubleclick,s=n.legend.groupclick;a===1&&i==="toggle"&&o==="toggleothers"&&Ry&&r.data&&r._context.showTips&&Dy.notifier(Dy._(r,"Double-click on legend to isolate one trace"),"long"),Ry=!1;var l;if(a===1?l=i:a===2&&(l=o),!l)return;var u=s==="togglegroup",c=n.hiddenlabels?n.hiddenlabels.slice():[],d=t.data()[0][0];if(d.groupTitle&&d.noClick)return;var h=r._fullData,p=d.trace,g=p.legendgroup,m,b,_,x,A,w,M={},L=[],S=[],q=[];function R(he,we,ee){var Se=L.indexOf(he),Te=M[we];return Te||(Te=M[we]=[]),L.indexOf(he)===-1&&(L.push(he),Se=L.length-1),Te[Se]=ee,Se}function z(he,we){if(!(d.groupTitle&&!u)){var ee=he._fullInput;if(Zo.hasTransform(ee,"groupby")){var Se=S[ee.index];if(!Se){var Te=Zo.getTransformIndices(ee,"groupby"),qe=Te[Te.length-1];Se=Dy.keyedContainer(ee,"transforms["+qe+"].styles","target","value.visible"),S[ee.index]=Se}var Ue=Se.get(he._group);Ue===void 0&&(Ue=!0),Ue!==!1&&Se.set(he._group,we),q[ee.index]=R(ee.index,"visible",ee.visible!==!1)}else{var Me=ee.visible===!1?!1:we;R(ee.index,"visible",Me)}}}if(Zo.traceIs(p,"pie-like")){var F=d.label,N=c.indexOf(F);l==="toggle"?N===-1?c.push(F):c.splice(N,1):l==="toggleothers"&&(c=[],r.calcdata[0].forEach(function(he){F!==he.label&&c.push(he.label)}),r._fullLayout.hiddenlabels&&r._fullLayout.hiddenlabels.length===c.length&&N===-1&&(c=[])),Zo.call("_guiRelayout",r,"hiddenlabels",c)}else{var j=g&&g.length,B=[],V;if(j)for(m=0;m{"use strict";$5.exports={scrollBarWidth:6,scrollBarMinHeight:20,scrollBarColor:"#808BA4",scrollBarMargin:4,scrollBarEnterAttrs:{rx:20,ry:3,width:0,height:0},titlePad:2,itemGap:5}});var tD=E((m0e,eD)=>{"use strict";var J5=ht(),Iy=bh();eD.exports=function(t,r){var a=r._inHover,n=Iy.isGrouped(r),i=Iy.isReversed(r),o={},s=[],l=!1,u={},c=0,d=0,h,p;function g(V,W){if(V===""||!Iy.isGrouped(r)){var Q="~~i"+c;s.push(Q),o[Q]=[W],c++}else s.indexOf(V)===-1?(s.push(V),l=!0,o[V]=[W]):o[V].push(W)}for(h=0;hq&&(S=q)}M[h][0]._groupMinRank=S,M[h][0]._preGroupSort=h}var R=function(V,W){return V[0]._groupMinRank-W[0]._groupMinRank||V[0]._preGroupSort-W[0]._preGroupSort},z=function(V,W){return V.trace.legendrank-W.trace.legendrank||V._preSort-W._preSort};for(M.forEach(function(V,W){V[0]._preGroupSort=W}),M.sort(R),h=0;h{"use strict";var rD=De();function aD(e){return e.indexOf("e")!==-1?e.replace(/[.]?0+e/,"e"):e.indexOf(".")!==-1?e.replace(/[.]?0+$/,""):e}Xo.formatPiePercent=function(t,r){var a=aD((t*100).toPrecision(3));return rD.numSeparate(a,r)+"%"};Xo.formatPieValue=function(t,r){var a=aD(t.toPrecision(10));return rD.numSeparate(a,r)};Xo.getFirstFilled=function(t,r){if(!!Array.isArray(t))for(var a=0;a{"use strict";var zy=It(),nD=Ey().castOption;iD.exports=function(t,r,a){var n=a.marker.line,i=nD(n.color,r.pts)||zy.defaultLine,o=nD(n.width,r.pts)||0;t.style("stroke-width",o).call(zy.fill,r.color).call(zy.stroke,i)}});var Oy=E((b0e,dD)=>{"use strict";var da=Et(),Ny=ht(),ta=De(),sD=ta.strTranslate,Aa=Kt(),ln=It(),Fy=on().extractOpts,xh=Va(),Xte=oD(),Qte=Ey().castOption,Kte=Py(),lD=12,uD=5,Qo=2,$te=10,fl=5;dD.exports=function(t,r,a){var n=r._fullLayout;a||(a=n.legend);var i=a.itemsizing==="constant",o=a.itemwidth,s=(o+Kte.itemGap*2)/2,l=sD(s,0),u=function(S,q,R,z){var F;if(S+1)F=S;else if(q&&q.width>0)F=q.width;else return 0;return i?z:Math.min(F,R)};t.each(function(S){var q=da.select(this),R=ta.ensureSingle(q,"g","layers");R.style("opacity",S[0].trace.opacity);var z=a.valign,F=S[0].lineHeight,N=S[0].height;if(z==="middle"||!F||!N)R.attr("transform",null);else{var j={top:1,bottom:-1}[z],B=j*(.5*(F-N+3));R.attr("transform",sD(0,B))}var V=R.selectAll("g.legendfill").data([S]);V.enter().append("g").classed("legendfill",!0);var W=R.selectAll("g.legendlines").data([S]);W.enter().append("g").classed("legendlines",!0);var Q=R.selectAll("g.legendsymbols").data([S]);Q.enter().append("g").classed("legendsymbols",!0),Q.selectAll("g.legendpoints").data([S]).enter().append("g").classed("legendpoints",!0)}).each(L).each(h).each(g).each(p).each(b).each(w).each(A).each(c).each(d).each(_).each(x);function c(S){var q=fD(S),R=q.showFill,z=q.showLine,F=q.showGradientLine,N=q.showGradientFill,j=q.anyFill,B=q.anyLine,V=S[0],W=V.trace,Q,Y,$=Fy(W),re=$.colorscale,ue=$.reversescale,ce=function(qe){if(qe.size()){var Ue="legendfill-"+W.uid;Aa.gradient(qe,r,Ue,jy(ue),re,"fill")}},ye=function(qe){if(qe.size()){var Ue="legendline-"+W.uid;Aa.lineGroupStyle(qe),Aa.gradient(qe,r,Ue,jy(ue),re,"stroke")}},he=xh.hasMarkers(W)||!j?"M5,0":B?"M5,-2":"M5,-3",we=da.select(this),ee=we.select(".legendfill").selectAll("path").data(R||N?[S]:[]);if(ee.enter().append("path").classed("js-fill",!0),ee.exit().remove(),ee.attr("d",he+"h"+o+"v6h-"+o+"z").call(R?Aa.fillGroupStyle:ce),z||F){var Se=u(void 0,W.line,$te,uD);Y=ta.minExtend(W,{line:{width:Se}}),Q=[ta.minExtend(V,{trace:Y})]}var Te=we.select(".legendlines").selectAll("path").data(z||F?[Q]:[]);Te.enter().append("path").classed("js-line",!0),Te.exit().remove(),Te.attr("d",he+(F?"l"+o+",0.0001":"h"+o)).call(z?Aa.lineGroupStyle:ye)}function d(S){var q=fD(S),R=q.anyFill,z=q.anyLine,F=q.showLine,N=q.showMarker,j=S[0],B=j.trace,V=!N&&!z&&!R&&xh.hasText(B),W,Q;function Y(ee,Se,Te,qe){var Ue=ta.nestedProperty(B,ee).get(),Me=ta.isArrayOrTypedArray(Ue)&&Se?Se(Ue):Ue;if(i&&Me&&qe!==void 0&&(Me=qe),Te){if(MeTe[1])return Te[1]}return Me}function $(ee){return j._distinct&&j.index&&ee[j.index]?ee[j.index]:ee[0]}if(N||V||F){var re={},ue={};if(N){re.mc=Y("marker.color",$),re.mx=Y("marker.symbol",$),re.mo=Y("marker.opacity",ta.mean,[.2,1]),re.mlc=Y("marker.line.color",$),re.mlw=Y("marker.line.width",ta.mean,[0,5],Qo),ue.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var ce=Y("marker.size",ta.mean,[2,16],lD);re.ms=ce,ue.marker.size=ce}F&&(ue.line={width:Y("line.width",$,[0,10],uD)}),V&&(re.tx="Aa",re.tp=Y("textposition",$),re.ts=10,re.tc=Y("textfont.color",$),re.tf=Y("textfont.family",$)),W=[ta.minExtend(j,re)],Q=ta.minExtend(B,ue),Q.selectedpoints=null,Q.texttemplate=null}var ye=da.select(this).select("g.legendpoints"),he=ye.selectAll("path.scatterpts").data(N?W:[]);he.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform",l),he.exit().remove(),he.call(Aa.pointStyle,Q,r),N&&(W[0].mrc=3);var we=ye.selectAll("g.pointtext").data(V?W:[]);we.enter().append("g").classed("pointtext",!0).append("text").attr("transform",l),we.exit().remove(),we.selectAll("text").call(Aa.textPointStyle,Q,r)}function h(S){var q=S[0].trace,R=q.type==="waterfall";if(S[0]._distinct&&R){var z=S[0].trace[S[0].dir].marker;return S[0].mc=z.color,S[0].mlw=z.line.width,S[0].mlc=z.line.color,m(S,this,"waterfall")}var F=[];q.visible&&R&&(F=S[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 N=da.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(F);N.enter().append("path").classed("legendwaterfall",!0).attr("transform",l).style("stroke-miterlimit",1),N.exit().remove(),N.each(function(j){var B=da.select(this),V=q[j[0]].marker,W=u(void 0,V.line,fl,Qo);B.attr("d",j[1]).style("stroke-width",W+"px").call(ln.fill,V.color),W&&B.call(ln.stroke,V.line.color)})}function p(S){m(S,this)}function g(S){m(S,this,"funnel")}function m(S,q,R){var z=S[0].trace,F=z.marker||{},N=F.line||{},j=R?z.visible&&z.type===R:Ny.traceIs(z,"bar"),B=da.select(q).select("g.legendpoints").selectAll("path.legend"+R).data(j?[S]:[]);B.enter().append("path").classed("legend"+R,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",l),B.exit().remove(),B.each(function(V){var W=da.select(this),Q=V[0],Y=u(Q.mlw,F.line,fl,Qo);W.style("stroke-width",Y+"px");var $=Q.mcc;if(!a._inHover&&"mc"in Q){var re=Fy(F),ue=re.mid;ue===void 0&&(ue=(re.max+re.min)/2),$=Aa.tryColorscale(F,"")(ue)}var ce=$||Q.mc||F.color,ye=F.pattern,he=ye&&Aa.getPatternAttr(ye.shape,0,"");if(he){var we=Aa.getPatternAttr(ye.bgcolor,0,null),ee=Aa.getPatternAttr(ye.fgcolor,0,null),Se=ye.fgopacity,Te=cD(ye.size,8,10),qe=cD(ye.solidity,.5,1),Ue="legend-"+z.uid;W.call(Aa.pattern,"legend",r,Ue,he,Te,qe,$,ye.fillmode,we,ee,Se)}else W.call(ln.fill,ce);Y&&ln.stroke(W,Q.mlc||N.color)})}function b(S){var q=S[0].trace,R=da.select(this).select("g.legendpoints").selectAll("path.legendbox").data(q.visible&&Ny.traceIs(q,"box-violin")?[S]:[]);R.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform",l),R.exit().remove(),R.each(function(){var z=da.select(this);if((q.boxpoints==="all"||q.points==="all")&&ln.opacity(q.fillcolor)===0&&ln.opacity((q.line||{}).color)===0){var F=ta.minExtend(q,{marker:{size:i?lD:ta.constrain(q.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});R.call(Aa.pointStyle,F,r)}else{var N=u(void 0,q.line,fl,Qo);z.style("stroke-width",N+"px").call(ln.fill,q.fillcolor),N&&ln.stroke(z,q.line.color)}})}function _(S){var q=S[0].trace,R=da.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(q.visible&&q.type==="candlestick"?[S,S]:[]);R.enter().append("path").classed("legendcandle",!0).attr("d",function(z,F){return F?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"}).attr("transform",l).style("stroke-miterlimit",1),R.exit().remove(),R.each(function(z,F){var N=da.select(this),j=q[F?"increasing":"decreasing"],B=u(void 0,j.line,fl,Qo);N.style("stroke-width",B+"px").call(ln.fill,j.fillcolor),B&&ln.stroke(N,j.line.color)})}function x(S){var q=S[0].trace,R=da.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(q.visible&&q.type==="ohlc"?[S,S]:[]);R.enter().append("path").classed("legendohlc",!0).attr("d",function(z,F){return F?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"}).attr("transform",l).style("stroke-miterlimit",1),R.exit().remove(),R.each(function(z,F){var N=da.select(this),j=q[F?"increasing":"decreasing"],B=u(void 0,j.line,fl,Qo);N.style("fill","none").call(Aa.dashLine,j.line.dash,B),B&&ln.stroke(N,j.line.color)})}function A(S){M(S,this,"pie")}function w(S){M(S,this,"funnelarea")}function M(S,q,R){var z=S[0],F=z.trace,N=R?F.visible&&F.type===R:Ny.traceIs(F,R),j=da.select(q).select("g.legendpoints").selectAll("path.legend"+R).data(N?[S]:[]);if(j.enter().append("path").classed("legend"+R,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",l),j.exit().remove(),j.size()){var B=(F.marker||{}).line,V=u(Qte(B.width,z.pts),B,fl,Qo),W=ta.minExtend(F,{marker:{line:{width:V}}});W.marker.line.color=B.color;var Q=ta.minExtend(z,{trace:W});Xte(j,Q,W)}}function L(S){var q=S[0].trace,R,z=[];if(q.visible)switch(q.type){case"histogram2d":case"heatmap":z=[["M-15,-2V4H15V-2Z"]],R=!0;break;case"choropleth":case"choroplethmapbox":z=[["M-6,-6V6H6V-6Z"]],R=!0;break;case"densitymapbox":z=[["M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"]],R="radial";break;case"cone":z=[["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"]],R=!1;break;case"streamtube":z=[["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"]],R=!1;break;case"surface":z=[["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"]],R=!0;break;case"mesh3d":z=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],R=!1;break;case"volume":z=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],R=!0;break;case"isosurface":z=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6 A12,24 0 0,0 6,-6 L0,6Z"]],R=!1;break}var F=da.select(this).select("g.legendpoints").selectAll("path.legend3dandfriends").data(z);F.enter().append("path").classed("legend3dandfriends",!0).attr("transform",l).style("stroke-miterlimit",1),F.exit().remove(),F.each(function(N,j){var B=da.select(this),V=Fy(q),W=V.colorscale,Q=V.reversescale,Y=function(ce){if(ce.size()){var ye="legendfill-"+q.uid;Aa.gradient(ce,r,ye,jy(Q,R==="radial"),W,"fill")}},$;if(W){if(!R){var ue=W.length;$=j===0?W[Q?ue-1:0][1]:j===1?W[Q?0:ue-1][1]:W[Math.floor((ue-1)/2)][1]}}else{var re=q.vertexcolor||q.facecolor||q.color;$=ta.isArrayOrTypedArray(re)?re[j]||re[0]:re}B.attr("d",N[0]),$?B.call(ln.fill,$):B.call(Y)})}};function jy(e,t){var r=t?"radial":"horizontal";return r+(e?"":"reversed")}function fD(e){var t=e[0].trace,r=t.contours,a=xh.hasLines(t),n=xh.hasMarkers(t),i=t.visible&&t.fill&&t.fill!=="none",o=!1,s=!1;if(r){var l=r.coloring;l==="lines"?o=!0:a=l==="none"||l==="heatmap"||r.showlines,r.type==="constraint"?i=r._operation!=="=":(l==="fill"||l==="heatmap")&&(s=!0)}return{showMarker:n,showLine:a,showFill:i,showGradientLine:o,showGradientFill:s,anyLine:a||o,anyFill:i||s}}function cD(e,t,r){return e&&ta.isArrayOrTypedArray(e)?t:e>r?r:e}});var Vy=E((x0e,xD)=>{"use strict";var Ya=Et(),_r=De(),Hy=Dr(),Ko=ht(),hD=Du(),By=qn(),Rr=Kt(),_h=It(),cl=Fa(),vD=K5(),Xr=Py(),Uy=wa(),Jte=Uy.LINE_SPACING,wh=Uy.FROM_TL,pD=Uy.FROM_BR,mD=tD(),ere=Oy(),gD=bh(),dl=1;xD.exports=function(t,r){return r||(r=t._fullLayout.legend||{}),tre(t,r)};function tre(e,t){var r=e._fullLayout,a="legend"+r._uid,n,i=t._inHover;if(i?(n=t.layer,a+="-hover"):n=r._infolayer,!!n){e._legendMouseDownTime||(e._legendMouseDownTime=0);var o;if(i){if(!t.entries)return;o=mD(t.entries,t)}else{if(!e.calcdata)return;o=r.showlegend&&mD(e.calcdata,t)}var s=r.hiddenlabels||[];if(!i&&(!r.showlegend||!o.length))return n.selectAll(".legend").remove(),r._topdefs.select("#"+a).remove(),Hy.autoMargin(e,"legend");var l=_r.ensureSingle(n,"g","legend",function(_){i||_.attr("pointer-events","all")}),u=_r.ensureSingleById(r._topdefs,"clipPath",a,function(_){_.append("rect")}),c=_r.ensureSingle(l,"rect","bg",function(_){_.attr("shape-rendering","crispEdges")});c.call(_h.stroke,t.bordercolor).call(_h.fill,t.bgcolor).style("stroke-width",t.borderwidth+"px");var d=_r.ensureSingle(l,"g","scrollbox"),h=t.title;if(t._titleWidth=0,t._titleHeight=0,h.text){var p=_r.ensureSingle(d,"text","legendtitletext");p.attr("text-anchor","start").call(Rr.font,h.font).text(h.text),Th(p,d,e,t,dl)}else d.selectAll(".legendtitletext").remove();var g=_r.ensureSingle(l,"rect","scrollbar",function(_){_.attr(Xr.scrollBarEnterAttrs).call(_h.fill,Xr.scrollBarColor)}),m=d.selectAll("g.groups").data(o);m.enter().append("g").attr("class","groups"),m.exit().remove();var b=m.selectAll("g.traces").data(_r.identity);b.enter().append("g").attr("class","traces"),b.exit().remove(),b.style("opacity",function(_){var x=_[0].trace;return Ko.traceIs(x,"pie-like")?s.indexOf(_[0].label)!==-1?.5:1:x.visible==="legendonly"?.5:1}).each(function(){Ya.select(this).call(rre,e,t)}).call(ere,e,t).each(function(){i||Ya.select(this).call(are,e)}),_r.syncOrAsync([Hy.previousPromises,function(){return ore(e,m,b,t)},function(){var _=r._size,x=t.borderwidth;if(!i){var A=sre(e);if(A)return;var w=_.l+_.w*t.x-wh[Gy(t)]*t._width,M=_.t+_.h*(1-t.y)-wh[Wy(t)]*t._effHeight;if(r.margin.autoexpand){var L=w,S=M;w=_r.constrain(w,0,r.width-t._width),M=_r.constrain(M,0,r.height-t._effHeight),w!==L&&_r.log("Constrain legend.x to make legend fit inside graph"),M!==S&&_r.log("Constrain legend.y to make legend fit inside graph")}Rr.setTranslate(l,w,M)}if(g.on(".drag",null),l.on("wheel",null),i||t._height<=t._maxHeight||e._context.staticPlot){var q=t._effHeight;i&&(q=t._height),c.attr({width:t._width-x,height:q-x,x:x/2,y:x/2}),Rr.setTranslate(d,0,0),u.select("rect").attr({width:t._width-2*x,height:q-2*x,x,y:x}),Rr.setClipUrl(d,a,e),Rr.setRect(g,0,0,0,0),delete t._scrollY}else{var R=Math.max(Xr.scrollBarMinHeight,t._effHeight*t._effHeight/t._height),z=t._effHeight-R-2*Xr.scrollBarMargin,F=t._height-t._effHeight,N=z/F,j=Math.min(t._scrollY||0,F);c.attr({width:t._width-2*x+Xr.scrollBarWidth+Xr.scrollBarMargin,height:t._effHeight-x,x:x/2,y:x/2}),u.select("rect").attr({width:t._width-2*x+Xr.scrollBarWidth+Xr.scrollBarMargin,height:t._effHeight-2*x,x,y:x+j}),Rr.setClipUrl(d,a,e),ue(j,R,N),l.on("wheel",function(){j=_r.constrain(t._scrollY+Ya.event.deltaY/z*F,0,F),ue(j,R,N),j!==0&&j!==F&&Ya.event.preventDefault()});var B,V,W,Q=function(ee,Se,Te){var qe=(Te-Se)/N+ee;return _r.constrain(qe,0,F)},Y=function(ee,Se,Te){var qe=(Se-Te)/N+ee;return _r.constrain(qe,0,F)},$=Ya.behavior.drag().on("dragstart",function(){var ee=Ya.event.sourceEvent;ee.type==="touchstart"?B=ee.changedTouches[0].clientY:B=ee.clientY,W=j}).on("drag",function(){var ee=Ya.event.sourceEvent;ee.buttons===2||ee.ctrlKey||(ee.type==="touchmove"?V=ee.changedTouches[0].clientY:V=ee.clientY,j=Q(W,B,V),ue(j,R,N))});g.call($);var re=Ya.behavior.drag().on("dragstart",function(){var ee=Ya.event.sourceEvent;ee.type==="touchstart"&&(B=ee.changedTouches[0].clientY,W=j)}).on("drag",function(){var ee=Ya.event.sourceEvent;ee.type==="touchmove"&&(V=ee.changedTouches[0].clientY,j=Y(W,B,V),ue(j,R,N))});d.call(re)}function ue(ee,Se,Te){t._scrollY=e._fullLayout.legend._scrollY=ee,Rr.setTranslate(d,0,-ee),Rr.setRect(g,t._width,Xr.scrollBarMargin+ee*Te,Xr.scrollBarWidth,Se),u.select("rect").attr("y",x+ee)}if(e._context.edits.legendPosition){var ce,ye,he,we;l.classed("cursor-move",!0),By.init({element:l.node(),gd:e,prepFn:function(){var ee=Rr.getTranslate(l);he=ee.x,we=ee.y},moveFn:function(ee,Se){var Te=he+ee,qe=we+Se;Rr.setTranslate(l,Te,qe),ce=By.align(Te,0,_.l,_.l+_.w,t.xanchor),ye=By.align(qe,0,_.t+_.h,_.t,t.yanchor)},doneFn:function(){ce!==void 0&&ye!==void 0&&Ko.call("_guiRelayout",e,{"legend.x":ce,"legend.y":ye})},clickFn:function(ee,Se){var Te=n.selectAll("g.traces").filter(function(){var qe=this.getBoundingClientRect();return Se.clientX>=qe.left&&Se.clientX<=qe.right&&Se.clientY>=qe.top&&Se.clientY<=qe.bottom});Te.size()>0&&yD(e,l,Te,ee,Se)}})}}],e)}}function yD(e,t,r,a,n){var i=r.data()[0][0].trace,o={event:n,node:r.node(),curveNumber:i.index,expandedIndex:i._expandedIndex,data:e.data,layout:e.layout,frames:e._transitionData._frames,config:e._context,fullData:e._fullData,fullLayout:e._fullLayout};i._group&&(o.group=i._group),Ko.traceIs(i,"pie-like")&&(o.label=r.datum()[0].label);var s=hD.triggerHandler(e,"plotly_legendclick",o);if(s!==!1){if(a===1)t._clickTimeout=setTimeout(function(){!e._fullLayout||vD(r,e,a)},e._context.doubleClickDelay);else if(a===2){t._clickTimeout&&clearTimeout(t._clickTimeout),e._legendMouseDownTime=0;var l=hD.triggerHandler(e,"plotly_legenddoubleclick",o);l!==!1&&vD(r,e,a)}}}function rre(e,t,r){var a=e.data()[0][0],n=a.trace,i=Ko.traceIs(n,"pie-like"),o=!r._inHover&&t._context.edits.legendText&&!i,s=r._maxNameLength,l,u;a.groupTitle?(l=a.groupTitle.text,u=a.groupTitle.font):(u=r.font,r.entries?l=a.text:(l=i?a.label:n.name,n._meta&&(l=_r.templateString(l,n._meta))));var c=_r.ensureSingle(e,"text","legendtext");c.attr("text-anchor","start").call(Rr.font,u).text(o?bD(l,s):l);var d=r.itemwidth+Xr.itemGap*2;cl.positionText(c,d,0),o?c.call(cl.makeEditable,{gd:t,text:l}).call(Th,e,t,r).on("edit",function(h){this.text(bD(h,s)).call(Th,e,t,r);var p=a.trace._fullInput||{},g={};if(Ko.hasTransform(p,"groupby")){var m=Ko.getTransformIndices(p,"groupby"),b=m[m.length-1],_=_r.keyedContainer(p,"transforms["+b+"].styles","target","value.name");_.set(a.trace._group,h),g=_.constructUpdate()}else g.name=h;return Ko.call("_guiRestyle",t,g,n.index)}):Th(c,e,t,r)}function bD(e,t){var r=Math.max(4,t);if(e&&e.trim().length>=r/2)return e;e=e||"";for(var a=r-e.length;a>0;a--)e+=" ";return e}function are(e,t){var r=t._context.doubleClickDelay,a,n=1,i=_r.ensureSingle(e,"rect","legendtoggle",function(o){t._context.staticPlot||o.style("cursor","pointer").attr("pointer-events","all"),o.call(_h.fill,"rgba(0,0,0,0)")});t._context.staticPlot||(i.on("mousedown",function(){a=new Date().getTime(),a-t._legendMouseDownTimer&&(n=Math.max(n-1,1)),yD(t,o,e,n,Ya.event)}}))}function Th(e,t,r,a,n){a._inHover&&e.attr("data-notex",!0),cl.convertToTspans(e,r,function(){nre(t,r,a,n)})}function nre(e,t,r,a){var n=e.data()[0][0];if(!r._inHover&&n&&!n.trace.showlegend){e.remove();return}var i=e.select("g[class*=math-group]"),o=i.node();r||(r=t._fullLayout.legend);var s=r.borderwidth,l;a===dl?l=r.title.font:n.groupTitle?l=n.groupTitle.font:l=r.font;var u=l.size*Jte,c,d;if(o){var h=Rr.bBox(o);c=h.height,d=h.width,a===dl?Rr.setTranslate(i,s,s+c*.75):Rr.setTranslate(i,0,c*.25)}else{var p=e.select(a===dl?".legendtitletext":".legendtext"),g=cl.lineCount(p),m=p.node();if(c=u*g,d=m?Rr.bBox(m).width:0,a===dl)r.title.side==="left"&&(d+=Xr.itemGap*2),cl.positionText(p,s+Xr.titlePad,s+u);else{var b=Xr.itemGap*2+r.itemwidth;n.groupTitle&&(b=Xr.itemGap,d-=r.itemwidth),cl.positionText(p,b,-u*((g-1)/2-.3))}}a===dl?(r._titleWidth=d,r._titleHeight=c):(n.lineHeight=u,n.height=Math.max(c,16)+3,n.width=d)}function ire(e){var t=0,r=0,a=e.title.side;return a&&(a.indexOf("left")!==-1&&(t=e._titleWidth),a.indexOf("top")!==-1&&(r=e._titleHeight)),[t,r]}function ore(e,t,r,a){var n=e._fullLayout;a||(a=n.legend);var i=n._size,o=gD.isVertical(a),s=gD.isGrouped(a),l=a.borderwidth,u=2*l,c=Xr.itemGap,d=a.itemwidth+c*2,h=2*(l+c),p=Wy(a),g=a.y<0||a.y===0&&p==="top",m=a.y>1||a.y===1&&p==="bottom",b=a.tracegroupgap;a._maxHeight=Math.max(g||m?n.height/2:i.h,30);var _=0;a._width=0,a._height=0;var x=ire(a);if(o)r.each(function(ce){var ye=ce[0].height;Rr.setTranslate(this,l+x[0],l+x[1]+a._height+ye/2+c),a._height+=ye,a._width=Math.max(a._width,ce[0].width)}),_=d+a._width,a._width+=c+d+u,a._height+=h,s&&(t.each(function(ce,ye){Rr.setTranslate(this,0,ye*a.tracegroupgap)}),a._height+=(a._lgroupsLength-1)*a.tracegroupgap);else{var A=Gy(a),w=a.x<0||a.x===0&&A==="right",M=a.x>1||a.x===1&&A==="left",L=m||g,S=n.width/2;a._maxWidth=Math.max(w?L&&A==="left"?i.l+i.w:S:M?L&&A==="right"?i.r+i.w:S:i.w,2*d);var q=0,R=0;r.each(function(ce){var ye=ce[0].width+d;q=Math.max(q,ye),R+=ye}),_=null;var z=0;if(s){var F=0,N=0,j=0;t.each(function(){var ce=0,ye=0;Ya.select(this).selectAll("g.traces").each(function(we){var ee=we[0].width,Se=we[0].height;Rr.setTranslate(this,x[0],x[1]+l+c+Se/2+ye),ye+=Se,ce=Math.max(ce,d+ee)}),F=Math.max(F,ye);var he=ce+c;N>0&&he+l+N>a._maxWidth&&(z=Math.max(z,N),N=0,j+=F+b,F=ye),Rr.setTranslate(this,N,j),N+=he}),a._width=Math.max(z,N)+l,a._height=j+F+h}else{var B=r.size(),V=R+u+(B-1)*c=a._maxWidth&&(z=Math.max(z,$),Q=0,Y+=W,a._height+=W,W=0),Rr.setTranslate(this,x[0]+l+Q,x[1]+l+Y+ye/2+c),$=Q+he+c,Q+=we,W=Math.max(W,ye)}),V?(a._width=Q+u,a._height=W+h):(a._width=Math.max(z,$)+u,a._height+=W+h)}}a._width=Math.ceil(Math.max(a._width+x[0],a._titleWidth+2*(l+Xr.titlePad))),a._height=Math.ceil(Math.max(a._height+x[1],a._titleHeight+2*(l+Xr.itemGap))),a._effHeight=Math.min(a._height,a._maxHeight);var re=e._context.edits,ue=re.legendText||re.legendPosition;r.each(function(ce){var ye=Ya.select(this).select(".legendtoggle"),he=ce[0].height,we=ue?d:_||d+ce[0].width;o||(we+=c/2),Rr.setRect(ye,0,-he/2,we,he)})}function sre(e){var t=e._fullLayout,r=t.legend,a=Gy(r),n=Wy(r);return Hy.autoMargin(e,"legend",{x:r.x,y:r.y,l:r._width*wh[a],r:r._width*pD[a],b:r._effHeight*pD[n],t:r._effHeight*wh[n]})}function Gy(e){return _r.isRightAnchor(e)?"right":_r.isCenterAnchor(e)?"center":"left"}function Wy(e){return _r.isBottomAnchor(e)?"bottom":_r.isMiddleAnchor(e)?"middle":"top"}});var Qy=E(Xy=>{"use strict";var $o=Et(),wi=zt(),_D=An(),wr=De(),Yy=wr.strTranslate,lre=wr.strRotate,ure=Du(),un=Fa(),fre=Y5(),ri=Kt(),Nr=It(),Ah=qn(),$i=rr(),hl=ht(),Dn=bi(),Jo=bu(),cre=Ly(),dre=Vy(),wD=Jo.YANGLE,Zy=Math.PI*wD/180,hre=1/Math.sin(Zy),vre=Math.cos(Zy),pre=Math.sin(Zy),ar=Jo.HOVERARROWSIZE,Nt=Jo.HOVERTEXTPAD,TD={box:!0,ohlc:!0,violin:!0,candlestick:!0},mre={scatter:!0,scattergl:!0,splom:!0};Xy.hover=function(t,r,a,n){t=wr.getGraphDiv(t);var i=r.target;wr.throttle(t._fullLayout._uid+Jo.HOVERID,Jo.HOVERMINTIME,function(){gre(t,r,a,n,i)})};Xy.loneHover=function(t,r){var a=!0;Array.isArray(t)||(a=!1,t=[t]);var n=r.gd,i=RD(n),o=PD(n),s=t.map(function(m){var b=m._x0||m.x0||m.x||0,_=m._x1||m.x1||m.x||0,x=m._y0||m.y0||m.y||0,A=m._y1||m.y1||m.y||0,w=m.eventData;if(w){var M=Math.min(b,_),L=Math.max(b,_),S=Math.min(x,A),q=Math.max(x,A),R=m.trace;if(hl.traceIs(R,"gl3d")){var z=n._fullLayout[R.scene]._scene.container,F=z.offsetLeft,N=z.offsetTop;M+=F,L+=F,S+=N,q+=N}w.bbox={x0:M+o,x1:L+o,y0:S+i,y1:q+i},r.inOut_bbox&&r.inOut_bbox.push(w.bbox)}else w=!1;return{color:m.color||Nr.defaultLine,x0:m.x0||m.x||0,x1:m.x1||m.x||0,y0:m.y0||m.y||0,y1:m.y1||m.y||0,xLabel:m.xLabel,yLabel:m.yLabel,zLabel:m.zLabel,text:m.text,name:m.name,idealAlign:m.idealAlign,borderColor:m.borderColor,fontFamily:m.fontFamily,fontSize:m.fontSize,fontColor:m.fontColor,nameLength:m.nameLength,textAlign:m.textAlign,trace:m.trace||{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:m.hovertemplate||!1,hovertemplateLabels:m.hovertemplateLabels||!1,eventData:w}}),l=!1,u=kD(s,{gd:n,hovermode:"closest",rotateLabels:l,bgColor:r.bgColor||Nr.background,container:$o.select(r.container),outerContainer:r.outerContainer||r.container}),c=5,d=0,h=0;u.sort(function(m,b){return m.y0-b.y0}).each(function(m,b){var _=m.y0-m.by/2;_-ch[0]._length||he<0||he>p[0]._length)return Ah.unhoverRaw(e,t)}if(t.pointerX=ye+h[0]._offset,t.pointerY=he+p[0]._offset,"xval"in t?S=Dn.flat(i,t.xval):S=Dn.p2c(h,ye),"yval"in t?q=Dn.flat(i,t.yval):q=Dn.p2c(p,he),!wi(S[0])||!wi(q[0]))return wr.warn("Fx.hover failed",t,e),Ah.unhoverRaw(e,t)}var Se=1/0;function Te(ke,Fe){for(z=0;z$&&(M.splice(0,$),Se=M[0].distance),u&&w!==0&&M.length===0){Y.distance=w,Y.index=!1;var or=N._module.hoverPoints(Y,W,Q,"closest",{hoverLayer:o._hoverlayer});if(or&&(or=or.filter(function(ma){return ma.spikeDistance<=w})),or&&or.length){var na,Un=or.filter(function(ma){return ma.xa.showspikes&&ma.xa.spikesnap!=="hovered data"});if(Un.length){var Qr=Un[0];wi(Qr.x0)&&wi(Qr.y0)&&(na=Ue(Qr),(!re.vLinePoint||re.vLinePoint.spikeDistance>na.spikeDistance)&&(re.vLinePoint=na))}var Ba=or.filter(function(ma){return ma.ya.showspikes&&ma.ya.spikesnap!=="hovered data"});if(Ba.length){var xn=Ba[0];wi(xn.x0)&&wi(xn.y0)&&(na=Ue(xn),(!re.hLinePoint||re.hLinePoint.spikeDistance>na.spikeDistance)&&(re.hLinePoint=na))}}}}}Te();function qe(ke,Fe,qt){for(var fr=null,Or=1/0,Cr,or=0;or0&&Math.abs(ke.distance)lt-1;He--)ze(M[He]);M=pt,O()}var Ee=e._hoverdata,ge=[],xe=RD(e),Re=PD(e);for(R=0;R1||M.length>1)||x==="closest"&&ue&&M.length>1,Ct=Nr.combine(o.plot_bgcolor||Nr.background,o.paper_bgcolor),te=kD(M,{gd:e,hovermode:x,rotateLabels:wt,bgColor:Ct,container:o._hoverlayer,outerContainer:o._paper.node(),commonLabelOpts:o.hoverlabel,hoverdistance:o.hoverdistance});if(Dn.isUnifiedHover(x)||(bre(te,wt?"xa":"ya",o),SD(te,wt,o._invScaleX,o._invScaleY)),n&&n.tagName){var _e=hl.getComponentMethod("annotations","hasClickToShow")(e,ge);fre($o.select(n),_e?"pointer":"")}!n||a||!_re(e,t,Ee)||(Ee&&e.emit("plotly_unhover",{event:t,points:Ee}),e.emit("plotly_hover",{event:t,points:e._hoverdata,xaxes:h,yaxes:p,xvals:S,yvals:q}))}function AD(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 yre=/([\s\S]*)<\/extra>/;function kD(e,t){var r=t.gd,a=r._fullLayout,n=t.hovermode,i=t.rotateLabels,o=t.bgColor,s=t.container,l=t.outerContainer,u=t.commonLabelOpts||{};if(e.length===0)return[[]];var c=t.fontFamily||Jo.HOVERFONT,d=t.fontSize||Jo.HOVERFONTSIZE,h=e[0],p=h.xa,g=h.ya,m=n.charAt(0),b=h[m+"Label"],_=vl(r,l),x=_.top,A=_.width,w=_.height,M=b!==void 0&&h.distance<=t.hoverdistance&&(n==="x"||n==="y");if(M){var L=!0,S,q;for(S=0;Sa.width-Ee?(de=a.width-Ee,st.attr("d","M"+(Ee-ar)+",0L"+Ee+","+He+ar+"v"+He+(Nt*2+fe.height)+"H-"+Ee+"V"+He+ar+"H"+(Ee-ar*2)+"Z")):st.attr("d","M0,0L"+ar+","+He+ar+"H"+(Nt+fe.width/2)+"v"+He+(Nt*2+fe.height)+"H-"+(Nt+fe.width/2)+"V"+He+ar+"H-"+ar+"Z")}else{var ge,xe,Re;g.side==="right"?(ge="start",xe=1,Re="",de=p._offset+p._length):(ge="end",xe=-1,Re="-",de=p._offset),ze=g._offset+(h.y0+h.y1)/2,Ze.attr("text-anchor",ge),st.attr("d","M0,0L"+Re+ar+","+ar+"V"+(Nt+fe.height/2)+"h"+Re+(Nt*2+fe.width)+"V-"+(Nt+fe.height/2)+"H"+Re+ar+"V-"+ar+"Z");var Pe=fe.height/2,Ie=x-fe.top-Pe,Be="clip"+a._uid+"commonlabel"+g._id,ut;if(de=0?Ae=Z:O+we=0?Ae=O:le+we=0?je=Me:G+ee=0?je=G:be+ee=0,(Ce.idealAlign==="top"||!nt)&&Rt?(Ie-=ut/2,Ce.anchor="end"):nt?(Ie+=ut/2,Ce.anchor="start"):Ce.anchor="middle";else if(Ce.pos=Ie,nt=Pe+Be/2+Mt<=A,Rt=Pe-Be/2-Mt>=0,(Ce.idealAlign==="left"||!nt)&&Rt)Pe-=Be/2,Ce.anchor="end";else if(nt)Pe+=Be/2,Ce.anchor="start";else{Ce.anchor="middle";var St=Mt/2,wt=Pe+St-A,Ct=Pe-St;wt>0&&(Pe-=wt),Ct<0&&(Pe+=-Ct)}He.attr("text-anchor",Ce.anchor),ge&&Ee.attr("text-anchor",Ce.anchor),st.attr("transform",Yy(Pe,Ie)+(i?lre(wD):""))}),Ye}function MD(e,t,r,a,n,i){var o="",s="";e.nameOverride!==void 0&&(e.name=e.nameOverride),e.name&&(e.trace._meta&&(e.name=wr.templateString(e.name,e.trace._meta)),o=LD(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+"
"),e.yLabel!==void 0&&(s+="y: "+e.yLabel+"
"),e.trace.type!=="choropleth"&&e.trace.type!=="choroplethmapbox"&&(s+=(s?"z: ":"")+e.zLabel)):t&&e[l+"Label"]===n?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?"
":"")+e.text),e.extraText!==void 0&&(s+=(s?"
":"")+e.extraText),i&&s===""&&!e.hovertemplate&&(o===""&&i.remove(),s=o);var c=e.hovertemplate||!1;if(c){var d=e.hovertemplateLabels||e;e[l+"Label"]!==n&&(d[l+"other"]=d[l+"Val"],d[l+"otherLabel"]=d[l+"Label"]),s=wr.hovertemplateString(c,d,a._d3locale,e.eventData[0]||{},e.trace._meta),s=s.replace(yre,function(h,p){return o=LD(p,e.nameLength),""})}return[s,o]}function bre(e,t,r){var a=0,n=1,i=e.size(),o=new Array(i),s=0;e.each(function(S){var q=S[t],R=q._id.charAt(0)==="x",z=q.range;s===0&&z&&z[0]>z[1]!==R&&(n=-1),o[s++]=[{datum:S,traceIndex:S.trace.index,dp:0,pos:S.pos,posref:S.posref,size:S.by*(R?hre:1)/2,pmin:0,pmax:R?r.width:r.height}]}),o.sort(function(S,q){return S[0].posref-q[0].posref||n*(q[0].traceIndex-S[0].traceIndex)});var l,u,c,d,h,p,g;function m(S){var q=S[0],R=S[S.length-1];if(u=q.pmin-q.pos-q.dp+q.size,c=R.pos+R.dp+R.size-q.pmax,u>.01){for(h=S.length-1;h>=0;h--)S[h].dp+=u;l=!1}if(!(c<.01)){if(u<-.01){for(h=S.length-1;h>=0;h--)S[h].dp-=c;l=!1}if(!!l){var z=0;for(d=0;dq.pmax&&z++;for(d=S.length-1;d>=0&&!(z<=0);d--)p=S[d],p.pos>q.pmax-1&&(p.del=!0,z--);for(d=0;d=0;h--)S[h].dp-=c;for(d=S.length-1;d>=0&&!(z<=0);d--)p=S[d],p.pos+p.dp+p.size>q.pmax&&(p.del=!0,z--)}}}for(;!l&&a<=i;){for(a++,l=!0,d=0;d.01&&x.pmin===A.pmin&&x.pmax===A.pmax){for(h=_.length-1;h>=0;h--)_[h].dp+=u;for(b.push.apply(b,_),o.splice(d+1,1),g=0,h=b.length-1;h>=0;h--)g+=b[h].dp;for(c=g/b.length,h=b.length-1;h>=0;h--)b[h].dp-=c;l=!1}else d++}o.forEach(m)}for(d=o.length-1;d>=0;d--){var w=o[d];for(h=w.length-1;h>=0;h--){var M=w[h],L=M.datum;L.offset=M.dp,L.del=M.del}}}function SD(e,t,r,a){var n=function(o){return o*r},i=function(o){return o*a};e.each(function(o){var s=$o.select(this);if(o.del)return s.remove();var l=s.select("text.nums"),u=o.anchor,c=u==="end"?-1:1,d={start:1,end:-1,middle:0}[u],h=d*(ar+Nt),p=h+d*(o.txwidth+Nt),g=0,m=o.offset,b=u==="middle";b&&(h-=o.tx2width/2,p+=o.txwidth/2+Nt),t&&(m*=-pre,g=o.offset*vre),s.select("path").attr("d",b?"M-"+n(o.bx/2+o.tx2width/2)+","+i(m-o.by/2)+"h"+n(o.bx)+"v"+i(o.by)+"h-"+n(o.bx)+"Z":"M0,0L"+n(c*ar+g)+","+i(ar+m)+"v"+i(o.by/2-ar)+"h"+n(c*o.bx)+"v-"+i(o.by)+"H"+n(c*ar+g)+"V"+i(m-ar)+"Z");var _=g+h,x=m+o.ty0-o.by/2+Nt,A=o.textAlign||"auto";A!=="auto"&&(A==="left"&&u!=="start"?(l.attr("text-anchor","start"),_=b?-o.bx/2-o.tx2width/2+Nt:-o.bx-Nt):A==="right"&&u!=="end"&&(l.attr("text-anchor","end"),_=b?o.bx/2-o.tx2width/2-Nt:o.bx+Nt)),l.call(un.positionText,n(_),i(x)),o.tx2width&&(s.select("text.name").call(un.positionText,n(p+d*Nt+g),i(m+o.ty0-o.by/2+Nt)),s.select("rect").call(ri.setRect,n(p+(d-1)*o.tx2width/2+g),i(m-o.by/2-1),n(o.tx2width),i(o.by+2)))})}function xre(e,t){var r=e.index,a=e.trace||{},n=e.cd[0],i=e.cd[r]||{};function o(h){return h||wi(h)&&h===0}var s=Array.isArray(r)?function(h,p){var g=wr.castOption(n,r,h);return o(g)?g:wr.extractOption({},a,"",p)}:function(h,p){return wr.extractOption(i,a,h,p)};function l(h,p,g){var m=s(p,g);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("nameLength","hnl","hoverlabel.namelength"),l("textAlign","hta","hoverlabel.align"),e.posref=t==="y"||t==="closest"&&a.orientation==="h"?e.xa._offset+(e.x0+e.x1)/2:e.ya._offset+(e.y0+e.y1)/2,e.x0=wr.constrain(e.x0,0,e.xa._length),e.x1=wr.constrain(e.x1,0,e.xa._length),e.y0=wr.constrain(e.y0,0,e.ya._length),e.y1=wr.constrain(e.y1,0,e.ya._length),e.xLabelVal!==void 0&&(e.xLabel="xLabel"in e?e.xLabel:$i.hoverLabelText(e.xa,e.xLabelVal,a.xhoverformat),e.xVal=e.xa.c2d(e.xLabelVal)),e.yLabelVal!==void 0&&(e.yLabel="yLabel"in e?e.yLabel:$i.hoverLabelText(e.ya,e.yLabelVal,a.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=$i.tickText(e.xa,e.xa.c2l(e.xerr),"hover").text;e.xerrneg!==void 0?e.xLabel+=" +"+u+" / -"+$i.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 c=$i.tickText(e.ya,e.ya.c2l(e.yerr),"hover").text;e.yerrneg!==void 0?e.yLabel+=" +"+c+" / -"+$i.tickText(e.ya,e.ya.c2l(e.yerrneg),"hover").text:e.yLabel+=" \xB1 "+c,t==="y"&&(e.distance+=1)}var d=e.hoverinfo||e.trace.hoverinfo;return d&&d!=="all"&&(d=Array.isArray(d)?d:d.split("+"),d.indexOf("x")===-1&&(e.xLabel=void 0),d.indexOf("y")===-1&&(e.yLabel=void 0),d.indexOf("z")===-1&&(e.zLabel=void 0),d.indexOf("text")===-1&&(e.text=void 0),d.indexOf("name")===-1&&(e.name=void 0)),e}function CD(e,t,r){var a=r.container,n=r.fullLayout,i=n._size,o=r.event,s=!!t.hLinePoint,l=!!t.vLinePoint,u,c;if(a.selectAll(".spikeline").remove(),!!(l||s)){var d=Nr.combine(n.plot_bgcolor,n.paper_bgcolor);if(s){var h=t.hLinePoint,p,g;u=h&&h.xa,c=h&&h.ya;var m=c.spikesnap;m==="cursor"?(p=o.pointerX,g=o.pointerY):(p=u._offset+h.x,g=c._offset+h.y);var b=_D.readability(h.color,d)<1.5?Nr.contrast(d):h.color,_=c.spikemode,x=c.spikethickness,A=c.spikecolor||b,w=$i.getPxPosition(e,c),M,L;if(_.indexOf("toaxis")!==-1||_.indexOf("across")!==-1){if(_.indexOf("toaxis")!==-1&&(M=w,L=p),_.indexOf("across")!==-1){var S=c._counterDomainMin,q=c._counterDomainMax;c.anchor==="free"&&(S=Math.min(S,c.position),q=Math.max(q,c.position)),M=i.l+S*i.w,L=i.l+q*i.w}a.insert("line",":first-child").attr({x1:M,x2:L,y1:g,y2:g,"stroke-width":x,stroke:A,"stroke-dasharray":ri.dashStyle(c.spikedash,x)}).classed("spikeline",!0).classed("crisp",!0),a.insert("line",":first-child").attr({x1:M,x2:L,y1:g,y2:g,"stroke-width":x+2,stroke:d}).classed("spikeline",!0).classed("crisp",!0)}_.indexOf("marker")!==-1&&a.insert("circle",":first-child").attr({cx:w+(c.side!=="right"?x:-x),cy:g,r:x,fill:A}).classed("spikeline",!0)}if(l){var R=t.vLinePoint,z,F;u=R&&R.xa,c=R&&R.ya;var N=u.spikesnap;N==="cursor"?(z=o.pointerX,F=o.pointerY):(z=u._offset+R.x,F=c._offset+R.y);var j=_D.readability(R.color,d)<1.5?Nr.contrast(d):R.color,B=u.spikemode,V=u.spikethickness,W=u.spikecolor||j,Q=$i.getPxPosition(e,u),Y,$;if(B.indexOf("toaxis")!==-1||B.indexOf("across")!==-1){if(B.indexOf("toaxis")!==-1&&(Y=Q,$=F),B.indexOf("across")!==-1){var re=u._counterDomainMin,ue=u._counterDomainMax;u.anchor==="free"&&(re=Math.min(re,u.position),ue=Math.max(ue,u.position)),Y=i.t+(1-ue)*i.h,$=i.t+(1-re)*i.h}a.insert("line",":first-child").attr({x1:z,x2:z,y1:Y,y2:$,"stroke-width":V,stroke:W,"stroke-dasharray":ri.dashStyle(u.spikedash,V)}).classed("spikeline",!0).classed("crisp",!0),a.insert("line",":first-child").attr({x1:z,x2:z,y1:Y,y2:$,"stroke-width":V+2,stroke:d}).classed("spikeline",!0).classed("crisp",!0)}B.indexOf("marker")!==-1&&a.insert("circle",":first-child").attr({cx:z,cy:Q-(u.side!=="top"?V:-V),r:V,fill:W}).classed("spikeline",!0)}}}function _re(e,t,r){if(!r||r.length!==e._hoverdata.length)return!0;for(var a=r.length-1;a>=0;a--){var n=r[a],i=e._hoverdata[a];if(n.curveNumber!==i.curveNumber||String(n.pointNumber)!==String(i.pointNumber)||String(n.pointNumbers)!==String(i.pointNumbers))return!0}return!1}function qD(e,t){return!t||t.vLinePoint!==e._spikepoints.vLinePoint||t.hLinePoint!==e._spikepoints.hLinePoint}function LD(e,t){return un.plainText(e||"",{len:t,allowedTags:["br","sub","sup","b","i","em"]})}function wre(e,t){for(var r=t.charAt(0),a=[],n=[],i=[],o=0;o{"use strict";var Tre=De(),Are=It(),kre=bi().isUnifiedHover;ID.exports=function(t,r,a,n){n=n||{};var i=r.legend;function o(s){n.font[s]||(n.font[s]=i?r.legend.font[s]:r.font[s])}r&&kre(r.hovermode)&&(n.font||(n.font={}),o("size"),o("family"),o("color"),i?(n.bgcolor||(n.bgcolor=Are.combine(r.legend.bgcolor,r.paper_bgcolor)),n.bordercolor||(n.bordercolor=r.legend.bordercolor)):n.bgcolor||(n.bgcolor=r.paper_bgcolor)),a("hoverlabel.bgcolor",n.bgcolor),a("hoverlabel.bordercolor",n.bordercolor),a("hoverlabel.namelength",n.namelength),Tre.coerceFont(a,"hoverlabel.font",n.font),a("hoverlabel.align",n.align)}});var zD=E((T0e,ED)=>{"use strict";var Mre=De(),Sre=kh(),Cre=Fs();ED.exports=function(t,r){function a(n,i){return Mre.coerce(t,r,Cre,n,i)}Sre(t,r,a)}});var jD=E((A0e,FD)=>{"use strict";var ND=De(),qre=ld(),Lre=kh();FD.exports=function(t,r,a,n){function i(s,l){return ND.coerce(t,r,qre,s,l)}var o=ND.extendFlat({},n.hoverlabel);r.hovertemplate&&(o.namelength=-1),Lre(t,r,i,o)}});var Ky=E((k0e,OD)=>{"use strict";var Dre=De(),Rre=Fs();OD.exports=function(t,r){function a(n,i){return r[n]!==void 0?r[n]:Dre.coerce(t,r,Rre,n,i)}return a("clickmode"),a("hovermode")}});var UD=E((M0e,BD)=>{"use strict";var HD=De(),Pre=Fs(),Ire=Ky(),Ere=kh();BD.exports=function(t,r){function a(u,c){return HD.coerce(t,r,Pre,u,c)}var n=Ire(t,r);n&&(a("hoverdistance"),a("spikedistance"));var i=a("dragmode");i==="select"&&a("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"),Ere(t,r,a),HD.coerceFont(a,"hoverlabel.grouptitlefont",r.hoverlabel.font)}});var VD=E((S0e,WD)=>{"use strict";var $y=De(),GD=ht();WD.exports=function(t){var r=t.calcdata,a=t._fullLayout;function n(u){return function(c){return $y.coerceHoverinfo({hoverinfo:c},{_module:u._module},a)}}for(var i=0;i{"use strict";var Nre=ht(),Fre=Qy().hover;YD.exports=function(t,r,a){var n=Nre.getComponentMethod("annotations","onClick")(t,t._hoverdata);a!==void 0&&Fre(t,r,a,!0);function i(){t.emit("plotly_click",{points:t._hoverdata,event:r})}t._hoverdata&&r&&r.target&&(n&&n.then?n.then(i):i(),r.stopImmediatePropagation&&r.stopImmediatePropagation())}});var Ti=E((q0e,KD)=>{"use strict";var jre=Et(),Mh=De(),Ore=qn(),Ju=bi(),XD=Fs(),QD=Qy();KD.exports={moduleType:"component",name:"fx",constants:bu(),schema:{layout:XD},attributes:ld(),layoutAttributes:XD,supplyLayoutGlobalDefaults:zD(),supplyDefaults:jD(),supplyLayoutDefaults:UD(),calc:VD(),getDistanceFunction:Ju.getDistanceFunction,getClosest:Ju.getClosest,inbox:Ju.inbox,quadrature:Ju.quadrature,appendArrayPointValue:Ju.appendArrayPointValue,castHoverOption:Bre,castHoverinfo:Ure,hover:QD.hover,unhover:Ore.unhover,loneHover:QD.loneHover,loneUnhover:Hre,click:ZD()};function Hre(e){var t=Mh.isD3Selection(e)?e:jre.select(e);t.selectAll("g.hovertext").remove(),t.selectAll(".spikeline").remove()}function Bre(e,t,r){return Mh.castOption(e,t,"hoverlabel."+r)}function Ure(e,t,r){function a(n){return Mh.coerceHoverinfo({hoverinfo:n},{_module:e._module},t)}return Mh.castOption(e,r,"hoverinfo",a)}});var ef=E(Ai=>{"use strict";Ai.selectMode=function(e){return e==="lasso"||e==="select"};Ai.drawMode=function(e){return e==="drawclosedpath"||e==="drawopenpath"||e==="drawline"||e==="drawrect"||e==="drawcircle"};Ai.openMode=function(e){return e==="drawline"||e==="drawopenpath"};Ai.rectMode=function(e){return e==="select"||e==="drawline"||e==="drawrect"||e==="drawcircle"};Ai.freeMode=function(e){return e==="lasso"||e==="drawclosedpath"||e==="drawopenpath"};Ai.selectingOrDrawing=function(e){return Ai.freeMode(e)||Ai.rectMode(e)}});var Sh=E((D0e,$D)=>{"use strict";$D.exports=function(t){var r=t._fullLayout;r._glcanvas&&r._glcanvas.size()&&r._glcanvas.each(function(a){a.regl&&a.regl.clear({color:!0,depth:!0})})}});var Ch=E((R0e,JD)=>{"use strict";JD.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:"plotly-logomark"}}});var tR=E((P0e,eR)=>{eR.exports=Wre;var Jy={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},Gre=/([astvzqmhlc])([^astvzqmhlc]*)/ig;function Wre(e){var t=[];return e.replace(Gre,function(r,a,n){var i=a.toLowerCase();for(n=Yre(n),i=="m"&&n.length>2&&(t.push([a].concat(n.splice(0,2))),i="l",a=a=="m"?"l":"L");;){if(n.length==Jy[i])return n.unshift(a),t.push(n);if(n.length{"use strict";var qh=32;rR.exports={CIRCLE_SIDES:qh,i000:0,i090:qh/4,i180:qh/2,i270:qh/4*3,cos45:Math.cos(Math.PI/4),sin45:Math.sin(Math.PI/4),SQRT2:Math.sqrt(2)}});var Dh=E((E0e,nR)=>{"use strict";var Zre=De().strTranslate;function aR(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 Xre(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 Qre(e){var t=e._id.charAt(0)==="y"?1:0;return function(r){return aR(e,r[t])}}function Kre(e){return Zre(e.xaxis._offset,e.yaxis._offset)}nR.exports={p2r:aR,r2p:Xre,axValue:Qre,getTransform:Kre}});var rf=E(Ji=>{"use strict";var $re=tR(),iR=Lh(),pl=iR.CIRCLE_SIDES,e0=iR.SQRT2,oR=Dh(),sR=oR.p2r,lR=oR.r2p,Jre=[0,3,4,5,6,1,2],eae=[0,3,4,1,2];Ji.writePaths=function(e){var t=e.length;if(!t)return"M0,0Z";for(var r="",a=0;a0&&l{"use strict";var uR=ef(),tae=uR.drawMode,rae=uR.openMode,ml=Lh(),fR=ml.i000,cR=ml.i090,dR=ml.i180,hR=ml.i270,aae=ml.cos45,nae=ml.sin45,vR=Dh(),Ph=vR.p2r,eo=vR.r2p,iae=el(),oae=iae.clearSelect,t0=rf(),sae=t0.readPaths,lae=t0.writePaths,uae=t0.ellipseOver;pR.exports=function(t,r){if(!!t.length){var a=t[0][0];if(!!a){var n=a.getAttribute("d"),i=r.gd,o=i._fullLayout.newshape,s=r.plotinfo,l=s.xaxis,u=s.yaxis,c=!!s.domain||!s.xaxis,d=!!s.domain||!s.yaxis,h=r.isActiveShape,p=r.dragmode,g=(i.layout||{}).shapes||[];if(!tae(p)&&h!==void 0){var m=i._fullLayout._activeShapeIndex;if(m{"use strict";var mR=qn(),cae=ef(),dae=cae.drawMode,hae=ht(),Ih=Lh(),vae=Ih.i000,pae=Ih.i090,mae=Ih.i180,gae=Ih.i270,yae=el(),bae=yae.clearOutlineControllers,a0=rf(),Eh=a0.pointsShapeRectangle,n0=a0.pointsShapeEllipse,xae=a0.writePaths,_ae=r0();gR.exports=function e(t,r,a,n){n||(n=0);var i=a.gd;function o(){e(t,r,a,n++),n0(t[0])&&s({redrawing:!0})}function s(B){a.isActiveShape=!1;var V=_ae(r,a);Object.keys(V).length&&hae.call((B||{}).redrawing?"relayout":"_guiRelayout",i,V)}var l=a.isActiveShape,u=i._fullLayout,c=u._zoomlayer,d=a.dragmode,h=dae(d);h?i._fullLayout._drawing=!0:i._fullLayout._activeShapeIndex>=0&&bae(i),r.attr("d",xae(t));var p,g,m,b,_;if(l&&!n){_=wae([],t);var x=c.append("g").attr("class","outline-controllers");q(x),j()}function A(B){m=+B.srcElement.getAttribute("data-i"),b=+B.srcElement.getAttribute("data-j"),p[m][b].moveFn=w}function w(B,V){if(!!t.length){var W=_[m][b][1],Q=_[m][b][2],Y=t[m],$=Y.length;if(Eh(Y)){for(var re=0;re<$;re++)if(re!==b){var ue=Y[re];ue[1]===Y[b][1]&&(ue[1]=W+B),ue[2]===Y[b][2]&&(ue[2]=Q+V)}if(Y[b][1]=W+B,Y[b][2]=Q+V,!Eh(Y))for(var ce=0;ce<$;ce++)for(var ye=0;ye1&&!(B.length===2&&B[1][0]==="Z")&&(b===0&&(B[0][0]="M"),t[m]=B,o(),s())}}function S(B,V){if(B===2){m=+V.srcElement.getAttribute("data-i"),b=+V.srcElement.getAttribute("data-j");var W=t[m];!Eh(W)&&!n0(W)&&L()}}function q(B){p=[];for(var V=0;V{"use strict";yR.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 Nh=E(Za=>{"use strict";var bR=zh(),Tae=De();Za.rangeToShapePosition=function(e){return e.type==="log"?e.r2d:function(t){return t}};Za.shapePositionToRange=function(e){return e.type==="log"?e.d2r:function(t){return t}};Za.decodeDate=function(e){return function(t){return t.replace&&(t=t.replace("_"," ")),e(t)}};Za.encodeDate=function(e){return function(t){return e(t).replace(" ","_")}};Za.extractPathCoords=function(e,t){var r=[],a=e.match(bR.segmentRE);return a.forEach(function(n){var i=t[n.charAt(0)].drawn;if(i!==void 0){var o=n.substr(1).match(bR.paramRE);!o||o.length{"use strict";var xR=ht(),o0=De(),ai=rr(),Aae=rf().readPaths,kae=i0(),_R=el().clearOutlineControllers,s0=It(),l0=Kt(),Mae=sr().arrayEditor,wR=qn(),TR=Ki(),fn=zh(),ra=Nh();CR.exports={draw:u0,drawOne:AR,eraseActiveShape:Lae};function u0(e){var t=e._fullLayout;t._shapeUpperLayer.selectAll("path").remove(),t._shapeLowerLayer.selectAll("path").remove();for(var r in t._plots){var a=t._plots[r].shapelayer;a&&a.selectAll("path").remove()}for(var n=0;no&&Ae>s&&!O.shiftKey?wR.getCursor(je/be,1-Ye/Ae):"move";TR(t,Ce),ce=Ce.split("-")[0]}}function ee(O){Fh(e)||(l&&(_=W(r.xanchor)),u&&(x=Q(r.yanchor)),r.type==="path"?F=r.path:(p=l?r.x0:W(r.x0),g=u?r.y0:Q(r.y0),m=l?r.x1:W(r.x1),b=u?r.y1:Q(r.y1)),pb?(A=g,S="y0",w=b,q="y1"):(A=b,S="y1",w=g,q="y0"),we(O),Me(n,r),Z(t,r,e),ue.moveFn=ce==="move"?qe:Ue,ue.altKey=O.altKey)}function Se(){Fh(e)||(TR(t),G(n),kR(t,e,r),xR.call("_guiRelayout",e,i.getUpdateObj()))}function Te(){Fh(e)||G(n)}function qe(O,le){if(r.type==="path"){var be=function(Ye){return Ye},Ae=be,je=be;l?h("xanchor",r.xanchor=Y(_+O)):(Ae=function(Ce){return Y(W(Ce)+O)},N&&N.type==="date"&&(Ae=ra.encodeDate(Ae))),u?h("yanchor",r.yanchor=$(x+le)):(je=function(Ce){return $(Q(Ce)+le)},B&&B.type==="date"&&(je=ra.encodeDate(je))),h("path",r.path=MR(F,Ae,je))}else l?h("xanchor",r.xanchor=Y(_+O)):(h("x0",r.x0=Y(p+O)),h("x1",r.x1=Y(m+O))),u?h("yanchor",r.yanchor=$(x+le)):(h("y0",r.y0=$(g+le)),h("y1",r.y1=$(b+le)));t.attr("d",f0(e,r)),Me(n,r)}function Ue(O,le){if(d){var be=function(ge){return ge},Ae=be,je=be;l?h("xanchor",r.xanchor=Y(_+O)):(Ae=function(xe){return Y(W(xe)+O)},N&&N.type==="date"&&(Ae=ra.encodeDate(Ae))),u?h("yanchor",r.yanchor=$(x+le)):(je=function(xe){return $(Q(xe)+le)},B&&B.type==="date"&&(je=ra.encodeDate(je))),h("path",r.path=MR(F,Ae,je))}else if(c){if(ce==="resize-over-start-point"){var Ye=p+O,Ce=u?g-le:g+le;h("x0",r.x0=l?Ye:Y(Ye)),h("y0",r.y0=u?Ce:$(Ce))}else if(ce==="resize-over-end-point"){var st=m+O,Ze=u?b-le:b+le;h("x1",r.x1=l?st:Y(st)),h("y1",r.y1=u?Ze:$(Ze))}}else{var lt=function(ge){return ce.indexOf(ge)!==-1},tt=lt("n"),dt=lt("s"),pt=lt("w"),fe=lt("e"),de=tt?A+le:A,ze=dt?w+le:w,He=pt?M+O:M,Ee=fe?L+O:L;u&&(tt&&(de=A-le),dt&&(ze=w-le)),(!u&&ze-de>s||u&&de-ze>s)&&(h(S,r[S]=u?de:$(de)),h(q,r[q]=u?ze:$(ze))),Ee-He>o&&(h(R,r[R]=l?He:Y(He)),h(z,r[z]=l?Ee:Y(Ee)))}t.attr("d",f0(e,r)),Me(n,r)}function Me(O,le){(l||u)&&be();function be(){var Ae=le.type!=="path",je=O.selectAll(".visual-cue").data([0]),Ye=1;je.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":Ye}).classed("visual-cue",!0);var Ce=W(l?le.xanchor:o0.midRange(Ae?[le.x0,le.x1]:ra.extractPathCoords(le.path,fn.paramIsX))),st=Q(u?le.yanchor:o0.midRange(Ae?[le.y0,le.y1]:ra.extractPathCoords(le.path,fn.paramIsY)));if(Ce=ra.roundPositionForSharpStrokeRendering(Ce,Ye),st=ra.roundPositionForSharpStrokeRendering(st,Ye),l&&u){var Ze="M"+(Ce-1-Ye)+","+(st-1-Ye)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";je.attr("d",Ze)}else if(l){var lt="M"+(Ce-1-Ye)+","+(st-9-Ye)+"v18 h2 v-18 Z";je.attr("d",lt)}else{var tt="M"+(Ce-9-Ye)+","+(st-1-Ye)+"h18 v2 h-18 Z";je.attr("d",tt)}}}function G(O){O.selectAll(".visual-cue").remove()}function Z(O,le,be){var Ae=le.xref,je=le.yref,Ye=ai.getFromId(be,Ae),Ce=ai.getFromId(be,je),st="";Ae!=="paper"&&!Ye.autorange&&(st+=Ae),je!=="paper"&&!Ce.autorange&&(st+=je),l0.setClipUrl(O,st?"clip"+be._fullLayout._uid+st:null,be)}}function f0(e,t){var r=t.type,a=ai.getRefType(t.xref),n=ai.getRefType(t.yref),i=ai.getFromId(e,t.xref),o=ai.getFromId(e,t.yref),s=e._fullLayout._size,l,u,c,d,h,p,g,m;if(i?a==="domain"?u=function(R){return i._offset+i._length*R}:(l=ra.shapePositionToRange(i),u=function(R){return i._offset+i.r2p(l(R,!0))}):u=function(R){return s.l+s.w*R},o?n==="domain"?d=function(R){return o._offset+o._length*(1-R)}:(c=ra.shapePositionToRange(o),d=function(R){return o._offset+o.r2p(c(R,!0))}):d=function(R){return s.t+s.h*(1-R)},r==="path")return i&&i.type==="date"&&(u=ra.decodeDate(u)),o&&o.type==="date"&&(d=ra.decodeDate(d)),Cae(t,u,d);if(t.xsizemode==="pixel"){var b=u(t.xanchor);h=b+t.x0,p=b+t.x1}else h=u(t.x0),p=u(t.x1);if(t.ysizemode==="pixel"){var _=d(t.yanchor);g=_-t.y0,m=_-t.y1}else g=d(t.y0),m=d(t.y1);if(r==="line")return"M"+h+","+g+"L"+p+","+m;if(r==="rect")return"M"+h+","+g+"H"+p+"V"+m+"H"+h+"Z";var x=(h+p)/2,A=(g+m)/2,w=Math.abs(x-h),M=Math.abs(A-g),L="A"+w+","+M,S=x+w+","+A,q=x+","+(A-M);return"M"+S+L+" 0 1,1 "+q+L+" 0 0,1 "+S+"Z"}function Cae(e,t,r){var a=e.path,n=e.xsizemode,i=e.ysizemode,o=e.xanchor,s=e.yanchor;return a.replace(fn.segmentRE,function(l){var u=0,c=l.charAt(0),d=fn.paramIsX[c],h=fn.paramIsY[c],p=fn.numParams[c],g=l.substr(1).replace(fn.paramRE,function(m){return d[u]?n==="pixel"?m=t(o)+Number(m):m=t(m):h[u]&&(i==="pixel"?m=r(s)-Number(m):m=r(m)),u++,u>p&&(m="X"),m});return u>p&&(g=g.replace(/[\s,]*X.*/,""),o0.log("Ignoring extra params in segment "+l)),c+g})}function MR(e,t,r){return e.replace(fn.segmentRE,function(a){var n=0,i=a.charAt(0),o=fn.paramIsX[i],s=fn.paramIsY[i],l=fn.numParams[i],u=a.substr(1).replace(fn.paramRE,function(c){return n>=l||(o[n]?c=t(c):s[n]&&(c=r(c)),n++),c});return i+u})}function qae(e,t){if(!!jh(e)){var r=t.node(),a=+r.getAttribute("data-index");if(a>=0){if(a===e._fullLayout._activeShapeIndex){SR(e);return}e._fullLayout._activeShapeIndex=a,e._fullLayout._deactivateShape=SR,u0(e)}}}function SR(e){if(!!jh(e)){var t=e._fullLayout._activeShapeIndex;t>=0&&(_R(e),delete e._fullLayout._activeShapeIndex,u0(e))}}function Lae(e){if(!!jh(e)){_R(e);var t=e._fullLayout._activeShapeIndex,r=(e.layout||{}).shapes||[];if(t{"use strict";var cn=ht(),qR=Dr(),LR=Er(),jt=Ch(),Dae=c0().eraseActiveShape,gl=De(),Pt=gl._,Ot=IR.exports={};Ot.toImage={name:"toImage",title:function(e){var t=e._context.toImageButtonOptions||{},r=t.format||"png";return r==="png"?Pt(e,"Download plot as a png"):Pt(e,"Download plot")},icon:jt.camera,click:function(e){var t=e._context.toImageButtonOptions,r={format:t.format||"png"};gl.notifier(Pt(e,"Taking snapshot - this may take a few seconds"),"long"),r.format!=="svg"&&gl.isIE()&&(gl.notifier(Pt(e,"IE only supports svg. Changing format to svg."),"long"),r.format="svg"),["filename","width","height","scale"].forEach(function(a){a in t&&(r[a]=t[a])}),cn.call("downloadImage",e,r).then(function(a){gl.notifier(Pt(e,"Snapshot succeeded")+" - "+a,"long")}).catch(function(){gl.notifier(Pt(e,"Sorry, there was a problem downloading your snapshot!"),"long")})}};Ot.sendDataToCloud={name:"sendDataToCloud",title:function(e){return Pt(e,"Edit in Chart Studio")},icon:jt.disk,click:function(e){qR.sendDataToCloud(e)}};Ot.editInChartStudio={name:"editInChartStudio",title:function(e){return Pt(e,"Edit in Chart Studio")},icon:jt.pencil,click:function(e){qR.sendDataToCloud(e)}};Ot.zoom2d={name:"zoom2d",_cat:"zoom",title:function(e){return Pt(e,"Zoom")},attr:"dragmode",val:"zoom",icon:jt.zoombox,click:ha};Ot.pan2d={name:"pan2d",_cat:"pan",title:function(e){return Pt(e,"Pan")},attr:"dragmode",val:"pan",icon:jt.pan,click:ha};Ot.select2d={name:"select2d",_cat:"select",title:function(e){return Pt(e,"Box Select")},attr:"dragmode",val:"select",icon:jt.selectbox,click:ha};Ot.lasso2d={name:"lasso2d",_cat:"lasso",title:function(e){return Pt(e,"Lasso Select")},attr:"dragmode",val:"lasso",icon:jt.lasso,click:ha};Ot.drawclosedpath={name:"drawclosedpath",title:function(e){return Pt(e,"Draw closed freeform")},attr:"dragmode",val:"drawclosedpath",icon:jt.drawclosedpath,click:ha};Ot.drawopenpath={name:"drawopenpath",title:function(e){return Pt(e,"Draw open freeform")},attr:"dragmode",val:"drawopenpath",icon:jt.drawopenpath,click:ha};Ot.drawline={name:"drawline",title:function(e){return Pt(e,"Draw line")},attr:"dragmode",val:"drawline",icon:jt.drawline,click:ha};Ot.drawrect={name:"drawrect",title:function(e){return Pt(e,"Draw rectangle")},attr:"dragmode",val:"drawrect",icon:jt.drawrect,click:ha};Ot.drawcircle={name:"drawcircle",title:function(e){return Pt(e,"Draw circle")},attr:"dragmode",val:"drawcircle",icon:jt.drawcircle,click:ha};Ot.eraseshape={name:"eraseshape",title:function(e){return Pt(e,"Erase active shape")},icon:jt.eraseshape,click:Dae};Ot.zoomIn2d={name:"zoomIn2d",_cat:"zoomin",title:function(e){return Pt(e,"Zoom in")},attr:"zoom",val:"in",icon:jt.zoom_plus,click:ha};Ot.zoomOut2d={name:"zoomOut2d",_cat:"zoomout",title:function(e){return Pt(e,"Zoom out")},attr:"zoom",val:"out",icon:jt.zoom_minus,click:ha};Ot.autoScale2d={name:"autoScale2d",_cat:"autoscale",title:function(e){return Pt(e,"Autoscale")},attr:"zoom",val:"auto",icon:jt.autoscale,click:ha};Ot.resetScale2d={name:"resetScale2d",_cat:"resetscale",title:function(e){return Pt(e,"Reset axes")},attr:"zoom",val:"reset",icon:jt.home,click:ha};Ot.hoverClosestCartesian={name:"hoverClosestCartesian",_cat:"hoverclosest",title:function(e){return Pt(e,"Show closest data on hover")},attr:"hovermode",val:"closest",icon:jt.tooltip_basic,gravity:"ne",click:ha};Ot.hoverCompareCartesian={name:"hoverCompareCartesian",_cat:"hoverCompare",title:function(e){return Pt(e,"Compare data on hover")},attr:"hovermode",val:function(e){return e._fullLayout._isHoriz?"y":"x"},icon:jt.tooltip_compare,gravity:"ne",click:ha};function ha(e,t){var r=t.currentTarget,a=r.getAttribute("data-attr"),n=r.getAttribute("data-val")||!0,i=e._fullLayout,o={},s=LR.list(e,null,!0),l=i._cartesianSpikesEnabled,u,c;if(a==="zoom"){var d=n==="in"?.5:2,h=(1+d)/2,p=(1-d)/2,g;for(c=0;c{"use strict";var ER=p0(),Iae=Object.keys(ER),zR=["drawline","drawopenpath","drawclosedpath","drawcircle","drawrect","eraseshape"],NR=["v1hovermode","hoverclosest","hovercompare","togglehover","togglespikelines"].concat(zR),yl=[],Eae=function(e){if(NR.indexOf(e._cat||e.name)===-1){var t=e.name,r=(e._cat||e.name).toLowerCase();yl.indexOf(t)===-1&&yl.push(t),yl.indexOf(r)===-1&&yl.push(r)}};Iae.forEach(function(e){Eae(ER[e])});yl.sort();FR.exports={DRAW_MODES:zR,backButtons:NR,foreButtons:yl}});var g0=E((G0e,OR)=>{"use strict";var jR=m0();OR.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 *"+jR.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 *"+jR.foreButtons.join("*, *")+"*."].join(" ")}}});var BR=E((W0e,HR)=>{"use strict";var zae=De(),af=It(),Nae=sr(),Fae=g0();HR.exports=function(t,r){var a=t.modebar||{},n=Nae.newContainer(r,"modebar");function i(s,l){return zae.coerce(a,n,Fae,s,l)}i("orientation"),i("bgcolor",af.addOpacity(r.paper_bgcolor,.5));var o=af.contrast(af.rgb(r.modebar.bgcolor));i("color",af.addOpacity(o,.3)),i("activecolor",af.addOpacity(o,.7)),i("uirevision",r.uirevision),i("add"),i("remove")}});var VR=E((V0e,WR)=>{"use strict";var y0=Et(),jae=zt(),ki=De(),UR=Ch(),Oae=new DOMParser;function GR(e){this.container=e.container,this.element=document.createElement("div"),this.update(e.graphInfo,e.buttons),this.container.appendChild(this.element)}var ni=GR.prototype;ni.update=function(e,t){this.graphInfo=e;var r=this.graphInfo._context,a=this.graphInfo._fullLayout,n="modebar-"+a._uid;this.element.setAttribute("id",n),this._uid=n,this.element.className="modebar",r.displayModeBar==="hover"&&(this.element.className+=" modebar--hover ease-bg"),a.modebar.orientation==="v"&&(this.element.className+=" vertical",t=t.reverse());var i=a.modebar,o=r.displayModeBar==="hover"?".js-plotly-plot .plotly:hover ":"";ki.deleteRelatedStyleRule(n),ki.addRelatedStyleRule(n,o+"#"+n+" .modebar-group","background-color: "+i.bgcolor),ki.addRelatedStyleRule(n,"#"+n+" .modebar-btn .icon path","fill: "+i.color),ki.addRelatedStyleRule(n,"#"+n+" .modebar-btn:hover .icon path","fill: "+i.activecolor),ki.addRelatedStyleRule(n,"#"+n+" .modebar-btn.active .icon path","fill: "+i.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 c=this.getLogo();r.watermark&&(c.className=c.className+" watermark"),a.modebar.orientation==="v"?this.element.insertBefore(c,this.element.childNodes[0]):this.element.appendChild(c),this.hasLogo=!0}this.updateActiveButton()};ni.updateButtons=function(e){var t=this;this.buttons=e,this.buttonElements=[],this.buttonsNames=[],this.buttons.forEach(function(r){var a=t.createGroup();r.forEach(function(n){var i=n.name;if(!i)throw new Error("must provide button 'name' in button config");if(t.buttonsNames.indexOf(i)!==-1)throw new Error("button name '"+i+"' is taken");t.buttonsNames.push(i);var o=t.createButton(n);t.buttonElements.push(o),a.appendChild(o)}),t.element.appendChild(a)})};ni.createGroup=function(){var e=document.createElement("div");return e.className="modebar-group",e};ni.createButton=function(e){var t=this,r=document.createElement("a");r.setAttribute("rel","tooltip"),r.className="modebar-btn";var a=e.title;a===void 0?a=e.name:typeof a=="function"&&(a=a(this.graphInfo)),(a||a===0)&&r.setAttribute("data-title",a),e.attr!==void 0&&r.setAttribute("data-attr",e.attr);var n=e.val;n!==void 0&&(typeof n=="function"&&(n=n(this.graphInfo)),r.setAttribute("data-val",n));var i=e.click;if(typeof i!="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&&y0.select(r).classed("active",!0);var o=e.icon;return typeof o=="function"?r.appendChild(o()):r.appendChild(this.createIcon(o||UR.question)),r.setAttribute("data-gravity",e.gravity||"n"),r};ni.createIcon=function(e){var t=jae(e.height)?Number(e.height):e.ascent-e.descent,r="http://www.w3.org/2000/svg",a;if(e.path){a=document.createElementNS(r,"svg"),a.setAttribute("viewBox",[0,0,e.width,t].join(" ")),a.setAttribute("class","icon");var n=document.createElementNS(r,"path");n.setAttribute("d",e.path),e.transform?n.setAttribute("transform",e.transform):e.ascent!==void 0&&n.setAttribute("transform","matrix(1 0 0 -1 0 "+e.ascent+")"),a.appendChild(n)}if(e.svg){var i=Oae.parseFromString(e.svg,"application/xml");a=i.childNodes[0]}return a.setAttribute("height","1em"),a.setAttribute("width","1em"),a};ni.updateActiveButton=function(e){var t=this.graphInfo._fullLayout,r=e!==void 0?e.getAttribute("data-attr"):null;this.buttonElements.forEach(function(a){var n=a.getAttribute("data-val")||!0,i=a.getAttribute("data-attr"),o=a.getAttribute("data-toggle")==="true",s=y0.select(a);if(o)i===r&&s.classed("active",!s.classed("active"));else{var l=i===null?i:ki.nestedProperty(t,i).get();s.classed("active",l===n)}})};ni.hasButtons=function(e){var t=this.buttons;if(!t||e.length!==t.length)return!1;for(var r=0;r{"use strict";var Bae=Er(),YR=Va(),b0=ht(),Uae=bi().isUnifiedHover,Gae=VR(),Bh=p0(),Wae=m0().DRAW_MODES;ZR.exports=function(t){var r=t._fullLayout,a=t._context,n=r._modeBar;if(!a.displayModeBar&&!a.watermark){n&&(n.destroy(),delete r._modeBar);return}if(!Array.isArray(a.modeBarButtonsToRemove))throw new Error(["*modeBarButtonsToRemove* configuration options","must be an array."].join(" "));if(!Array.isArray(a.modeBarButtonsToAdd))throw new Error(["*modeBarButtonsToAdd* configuration options","must be an array."].join(" "));var i=a.modeBarButtons,o;Array.isArray(i)&&i.length?o=Kae(i):!a.displayModeBar&&a.watermark?o=[]:o=Vae(t),n?n.update(t,o):r._modeBar=Gae(t,o)};function Vae(e){var t=e._fullLayout,r=e._fullData,a=e._context;function n(Y,$){if(typeof $=="string"){if($.toLowerCase()===Y.toLowerCase())return!0}else{var re=$.name,ue=$._cat||$.name;if(re===Y||ue===Y.toLowerCase())return!0}return!1}var i=t.modebar.add;typeof i=="string"&&(i=[i]);var o=t.modebar.remove;typeof o=="string"&&(o=[o]);var s=a.modeBarButtonsToAdd.concat(i.filter(function(Y){for(var $=0;$1?(z=["toggleHover"],F=["resetViews"]):d?(R=["zoomInGeo","zoomOutGeo"],z=["hoverClosestGeo"],F=["resetGeo"]):c?(z=["hoverClosest3d"],F=["resetCameraDefault3d","resetCameraLastSave3d"]):b?(R=["zoomInMapbox","zoomOutMapbox"],z=["toggleHover"],F=["resetViewMapbox"]):g?z=["hoverClosestGl2d"]:h?z=["hoverClosestPie"]:A?(z=["hoverClosestCartesian","hoverCompareCartesian"],F=["resetViewSankey"]):z=["toggleHover"],u&&(z=["toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"]),(Xae(r)||M)&&(z=[]),(u||g)&&!w&&(R=["zoomIn2d","zoomOut2d","autoScale2d"],F[0]!=="resetViews"&&(F=["resetScale2d"])),c?N=["zoom3d","pan3d","orbitRotation","tableRotation"]:(u||g)&&!w||m?N=["zoom2d","pan2d"]:b||d?N=["pan2d"]:_&&(N=["zoom2d"]),Zae(r)&&N.push("select2d","lasso2d");var j=[],B=function(Y){j.indexOf(Y)===-1&&z.indexOf(Y)!==-1&&j.push(Y)};if(Array.isArray(s)){for(var V=[],W=0;W{"use strict";QR.exports={moduleType:"component",name:"modebar",layoutAttributes:g0(),supplyLayoutDefaults:BR(),manage:XR()}});var _0=E((X0e,KR)=>{"use strict";var $ae=wa().FROM_BL;KR.exports=function(t,r,a){a===void 0&&(a=$ae[t.constraintoward||"center"]);var n=[t.r2l(t.range[0]),t.r2l(t.range[1])],i=n[0]+(n[1]-n[0])*a;t.range=t._input.range=[t.l2r(i+(n[0]-i)*r),t.l2r(i+(n[1]-i)*r)],t.setScale()}});var of=E(nf=>{"use strict";var es=De(),w0=Wu(),Rn=Er().id2name,Jae=Qn(),$R=_0(),ene=nh(),tne=yr().ALMOST_EQUAL,rne=wa().FROM_BL;nf.handleDefaults=function(e,t,r){var a=r.axIds,n=r.axHasImage,i=t._axisConstraintGroups=[],o=t._axisMatchGroups=[],s,l,u,c,d,h,p,g;for(s=0;si?r.substr(i):a.substr(n))+o}function nne(e,t){for(var r=t._size,a=r.h/r.w,n={},i=Object.keys(e),o=0;otne*g&&!x)){for(i=0;iN&&rez&&(z=re);var ce=(z-R)/(2*F);d/=ce,R=l.l2r(R),z=l.l2r(z),l.range=l._input.range=L{"use strict";var ine=Et(),ka=ht(),Pn=Dr(),Mi=De(),k0=Sh(),sf=It(),lf=Kt(),one=Uu(),r6=x0(),uf=rr(),ff=wa(),a6=of(),sne=a6.enforce,lne=a6.clean,n6=Wu().doAutoRange,i6="start",une="middle",o6="end";Fr.layoutStyles=function(e){return Mi.syncOrAsync([Pn.doAutoMargin,cne],e)};function fne(e,t,r){for(var a=0;a=e[1]||n[1]<=e[0])&&i[0]t[0])return!0}return!1}function cne(e){var t=e._fullLayout,r=t._size,a=r.p,n=uf.list(e,"",!0),i,o,s,l,u,c;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(lf.setSize,t.width,t.height),e._context.setBackground(e,t.paper_bgcolor),Fr.drawMainTitle(e),r6.manage(e),!t._has("cartesian"))return Pn.previousPromises(e);function d(Me,G,Z){var O=Me._lw/2;if(Me._id.charAt(0)==="x"){if(G){if(Z==="top")return G._offset-a-O}else return r.t+r.h*(1-(Me.position||0))+O%1;return G._offset+G._length+a+O}if(G){if(Z==="right")return G._offset+G._length+a+O}else return r.l+r.w*(Me.position||0)+O%1;return G._offset-a-O}for(i=0;i{function mne(){var e,t=0,r=!1;function a(n,i){return e.list.push({type:n,data:i?JSON.parse(JSON.stringify(i)):void 0}),e}return e={list:[],segmentId:function(){return t++},checkIntersection:function(n,i){return a("check",{seg1:n,seg2:i})},segmentChop:function(n,i){return a("div_seg",{seg:n,pt:i}),a("chop",{seg:n,pt:i})},statusRemove:function(n){return a("pop_seg",{seg:n})},segmentUpdate:function(n){return a("seg_update",{seg:n})},segmentNew:function(n,i){return a("new_seg",{seg:n,primary:i})},segmentRemove:function(n){return a("rem_seg",{seg:n})},tempStatus:function(n,i,o){return a("temp_status",{seg:n,above:i,below:o})},rewind:function(n){return a("rewind",{seg:n})},status:function(n,i,o){return a("status",{seg:n,above:i,below:o})},vert:function(n){return n===r?e:(r=n,a("vert",{x:n}))},log:function(n){return typeof n!="string"&&(n=JSON.stringify(n,!1," ")),a("log",{txt:n})},reset:function(){return a("reset")},selected:function(n){return a("selected",{segs:n})},chainStart:function(n){return a("chain_start",{seg:n})},chainRemoveHead:function(n,i){return a("chain_rem_head",{index:n,pt:i})},chainRemoveTail:function(n,i){return a("chain_rem_tail",{index:n,pt:i})},chainNew:function(n,i){return a("chain_new",{pt1:n,pt2:i})},chainMatch:function(n){return a("chain_match",{index:n})},chainClose:function(n){return a("chain_close",{index:n})},chainAddHead:function(n,i){return a("chain_add_head",{index:n,pt:i})},chainAddTail:function(n,i){return a("chain_add_tail",{index:n,pt:i})},chainConnect:function(n,i){return a("chain_con",{index1:n,index2:i})},chainReverse:function(n){return a("chain_rev",{index:n})},chainJoin:function(n,i){return a("chain_join",{index1:n,index2:i})},done:function(){return a("done")}},e}u6.exports=mne});var d6=E((J0e,c6)=>{function gne(e){typeof e!="number"&&(e=1e-10);var t={epsilon:function(r){return typeof r=="number"&&(e=r),e},pointAboveOrOnLine:function(r,a,n){var i=a[0],o=a[1],s=n[0],l=n[1],u=r[0],c=r[1];return(s-i)*(c-o)-(l-o)*(u-i)>=-e},pointBetween:function(r,a,n){var i=r[1]-a[1],o=n[0]-a[0],s=r[0]-a[0],l=n[1]-a[1],u=s*o+i*l;if(u-e)},pointsSameX:function(r,a){return Math.abs(r[0]-a[0])e!=s-i>e&&(o-c)*(i-d)/(s-d)+c-n>e&&(l=!l),o=c,s=d}return l}};return t}c6.exports=gne});var v6=E((ebe,h6)=>{var yne={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 a=e.root,n=e.root.next;n!==null;){if(r(n)){t.prev=n.prev,t.next=n,n.prev.next=t,n.prev=t;return}a=n,n=n.next}a.next=t,t.prev=a,t.next=null},findTransition:function(t){for(var r=e.root,a=e.root.next;a!==null&&!t(a);)r=a,a=a.next;return{before:r===e.root?null:r,after:a,insert:function(n){return n.prev=r,n.next=a,r.next=n,a!==null&&(a.prev=n),n}}}};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}};h6.exports=yne});var m6=E((tbe,p6)=>{var cf=v6();function bne(e,t,r){function a(g,m){return{id:r?r.segmentId():-1,start:g,end:m,myFill:{above:null,below:null},otherFill:null}}function n(g,m,b){return{id:r?r.segmentId():-1,start:g,end:m,myFill:{above:b.myFill.above,below:b.myFill.below},otherFill:null}}var i=cf.create();function o(g,m,b,_,x,A){var w=t.pointsCompare(m,x);return w!==0?w:t.pointsSame(b,A)?0:g!==_?g?1:-1:t.pointAboveOrOnLine(b,_?x:A,_?A:x)?1:-1}function s(g,m){i.insertBefore(g,function(b){var _=o(g.isStart,g.pt,m,b.isStart,b.pt,b.other.pt);return _<0})}function l(g,m){var b=cf.node({isStart:!0,pt:g.start,seg:g,primary:m,other:null,status:null});return s(b,g.end),b}function u(g,m,b){var _=cf.node({isStart:!1,pt:m.end,seg:m,primary:b,other:g,status:null});g.other=_,s(_,g.pt)}function c(g,m){var b=l(g,m);return u(b,g,m),b}function d(g,m){r&&r.segmentChop(g.seg,m),g.other.remove(),g.seg.end=m,g.other.pt=m,s(g.other,g.pt)}function h(g,m){var b=n(m,g.seg.end,g.seg);return d(g,m),c(b,g.primary)}function p(g,m){var b=cf.create();function _(V,W){var Q=V.seg.start,Y=V.seg.end,$=W.seg.start,re=W.seg.end;return t.pointsCollinear(Q,$,re)?t.pointsCollinear(Y,$,re)||t.pointAboveOrOnLine(Y,$,re)?1:-1:t.pointAboveOrOnLine(Q,$,re)?1:-1}function x(V){return b.findTransition(function(W){var Q=_(V,W.ev);return Q>0})}function A(V,W){var Q=V.seg,Y=W.seg,$=Q.start,re=Q.end,ue=Y.start,ce=Y.end;r&&r.checkIntersection(Q,Y);var ye=t.linesIntersect($,re,ue,ce);if(ye===!1){if(!t.pointsCollinear($,re,ue)||t.pointsSame($,ce)||t.pointsSame(re,ue))return!1;var he=t.pointsSame($,ue),we=t.pointsSame(re,ce);if(he&&we)return W;var ee=!he&&t.pointBetween($,ue,ce),Se=!we&&t.pointBetween(re,ue,ce);if(he)return Se?h(W,re):h(V,ce),W;ee&&(we||(Se?h(W,re):h(V,ce)),h(W,$))}else ye.alongA===0&&(ye.alongB===-1?h(V,ue):ye.alongB===0?h(V,ye.pt):ye.alongB===1&&h(V,ce)),ye.alongB===0&&(ye.alongA===-1?h(W,$):ye.alongA===0?h(W,ye.pt):ye.alongA===1&&h(W,re));return!1}for(var w=[];!i.isEmpty();){var M=i.getHead();if(r&&r.vert(M.pt[0]),M.isStart){let V=function(){if(S){var W=A(M,S);if(W)return W}return q?A(M,q):!1};var B=V;r&&r.segmentNew(M.seg,M.primary);var L=x(M),S=L.before?L.before.ev:null,q=L.after?L.after.ev:null;r&&r.tempStatus(M.seg,S?S.seg:!1,q?q.seg:!1);var R=V();if(R){if(e){var z;M.seg.myFill.below===null?z=!0:z=M.seg.myFill.above!==M.seg.myFill.below,z&&(R.seg.myFill.above=!R.seg.myFill.above)}else R.seg.otherFill=M.seg.myFill;r&&r.segmentUpdate(R.seg),M.other.remove(),M.remove()}if(i.getHead()!==M){r&&r.rewind(M.seg);continue}if(e){var z;M.seg.myFill.below===null?z=!0:z=M.seg.myFill.above!==M.seg.myFill.below,q?M.seg.myFill.below=q.seg.myFill.above:M.seg.myFill.below=g,z?M.seg.myFill.above=!M.seg.myFill.below:M.seg.myFill.above=M.seg.myFill.below}else if(M.seg.otherFill===null){var F;q?M.primary===q.primary?F=q.seg.otherFill.above:F=q.seg.myFill.above:F=M.primary?m:g,M.seg.otherFill={above:F,below:F}}r&&r.status(M.seg,S?S.seg:!1,q?q.seg:!1),M.other.status=L.insert(cf.node({ev:M}))}else{var N=M.status;if(N===null)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(b.exists(N.prev)&&b.exists(N.next)&&A(N.prev.ev,N.next.ev),r&&r.statusRemove(N.ev.seg),N.remove(),!M.primary){var j=M.seg.myFill;M.seg.myFill=M.seg.otherFill,M.seg.otherFill=j}w.push(M.seg)}i.getHead().remove()}return r&&r.done(),w}return e?{addRegion:function(g){for(var m,b=g[g.length-1],_=0;_{function xne(e,t,r){var a=[],n=[];return e.forEach(function(i){var o=i.start,s=i.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(i);var l={index:0,matches_head:!1,matches_pt1:!1},u={index:0,matches_head:!1,matches_pt1:!1},c=l;function d(B,V,W){return c.index=B,c.matches_head=V,c.matches_pt1=W,c===l?(c=u,!1):(c=null,!0)}for(var h=0;h{function df(e,t,r){var a=[];return e.forEach(function(n){var i=(n.myFill.above?8:0)+(n.myFill.below?4:0)+(n.otherFill&&n.otherFill.above?2:0)+(n.otherFill&&n.otherFill.below?1:0);t[i]!==0&&a.push({id:r?r.segmentId():-1,start:n.start,end:n.end,myFill:{above:t[i]===1,below:t[i]===2},otherFill:null})}),r&&r.selected(a),a}var _ne={union:function(e,t){return df(e,[0,2,1,0,2,2,0,0,1,0,1,0,0,0,0,0],t)},intersect:function(e,t){return df(e,[0,0,0,0,0,2,0,2,0,0,1,1,0,2,1,0],t)},difference:function(e,t){return df(e,[0,0,0,0,2,0,2,0,1,1,0,0,0,1,2,0],t)},differenceRev:function(e,t){return df(e,[0,2,1,0,0,0,1,1,0,2,0,2,0,0,0,0],t)},xor:function(e,t){return df(e,[0,2,1,0,2,0,0,1,1,0,0,2,0,1,2,0],t)}};b6.exports=_ne});var w6=E((nbe,_6)=>{var wne={toPolygon:function(e,t){function r(i){if(i.length<=0)return e.segments({inverted:!1,regions:[]});function o(u){var c=u.slice(0,u.length-1);return e.segments({inverted:!1,regions:[c]})}for(var s=o(i[0]),l=1;l{var Tne=f6(),Ane=d6(),T6=m6(),kne=y6(),hf=x6(),A6=w6(),dn=!1,vf=Ane(),ja;ja={buildLog:function(e){return e===!0?dn=Tne():e===!1&&(dn=!1),dn===!1?!1:dn.list},epsilon:function(e){return vf.epsilon(e)},segments:function(e){var t=T6(!0,vf,dn);return e.regions.forEach(t.addRegion),{segments:t.calculate(e.inverted),inverted:e.inverted}},combine:function(e,t){var r=T6(!1,vf,dn);return{combined:r.calculate(e.segments,e.inverted,t.segments,t.inverted),inverted1:e.inverted,inverted2:t.inverted}},selectUnion:function(e){return{segments:hf.union(e.combined,dn),inverted:e.inverted1||e.inverted2}},selectIntersect:function(e){return{segments:hf.intersect(e.combined,dn),inverted:e.inverted1&&e.inverted2}},selectDifference:function(e){return{segments:hf.difference(e.combined,dn),inverted:e.inverted1&&!e.inverted2}},selectDifferenceRev:function(e){return{segments:hf.differenceRev(e.combined,dn),inverted:!e.inverted1&&e.inverted2}},selectXor:function(e){return{segments:hf.xor(e.combined,dn),inverted:e.inverted1!==e.inverted2}},polygon:function(e){return{regions:kne(e.segments,vf,dn),inverted:e.inverted}},polygonFromGeoJSON:function(e){return A6.toPolygon(ja,e)},polygonToGeoJSON:function(e){return A6.fromPolygon(ja,vf,e)},union:function(e,t){return pf(e,t,ja.selectUnion)},intersect:function(e,t){return pf(e,t,ja.selectIntersect)},difference:function(e,t){return pf(e,t,ja.selectDifference)},differenceRev:function(e,t){return pf(e,t,ja.selectDifferenceRev)},xor:function(e,t){return pf(e,t,ja.selectXor)}};function pf(e,t,r){var a=ja.segments(e),n=ja.segments(t),i=ja.combine(a,n),o=r(i);return ja.polygon(o)}typeof window=="object"&&(window.PolyBool=ja);k6.exports=ja});var S0=E((obe,S6)=>{"use strict";var M0=pd().dot,Wh=yr().BADNUM,Vh=S6.exports={};Vh.tester=function(t){var r=t.slice(),a=r[0][0],n=a,i=r[0][1],o=i,s;for(r.push(r[0]),s=1;sn||_===Wh||_o||m&&u(g))}function d(g,m){var b=g[0],_=g[1];if(b===Wh||bn||_===Wh||_o)return!1;var x=r.length,A=r[0][0],w=r[0][1],M=0,L,S,q,R,z;for(L=1;LMath.max(S,A)||_>Math.max(q,w)))if(_s||Math.abs(M0(d,u))>n)return!0;return!1};Vh.filter=function(t,r){var a=[t[0]],n=0,i=0;function o(l){t.push(l);var u=a.length,c=n;a.splice(i+1);for(var d=c+1;d1){var s=t.pop();o(s)}return{addPt:o,raw:t,filtered:a}}});var bf=E((sbe,B6)=>{"use strict";var C6=M6(),q6=ht(),Mne=Kt().dashStyle,L6=It(),Sne=Ti(),Cne=bi().makeEventData,mf=ef(),qne=mf.freeMode,Lne=mf.rectMode,Yh=mf.drawMode,C0=mf.openMode,Dne=mf.selectMode,D6=i0(),q0=rf().handleEllipse,Rne=r0(),L0=De(),D0=S0(),gf=Md(),R6=Er().getFromId,Pne=Sh(),Ine=Gh().redrawReglTraces,Zh=Jr(),ii=Zh.MINSELECT,Ene=D0.filter,zne=D0.tester,P6=el().clearSelect,R0=Dh(),I6=R0.p2r,Nne=R0.axValue,Fne=R0.getTransform;function jne(e,t,r,a,n){var i=qne(n),o=Lne(n),s=C0(n),l=Yh(n),u=Dne(n),c=n==="drawline",d=n==="drawcircle",h=c||d,p=a.gd,g=p._fullLayout,m=g._zoomlayer,b=a.element.getBoundingClientRect(),_=a.plotinfo,x=Fne(_),A=t-b.left,w=r-b.top;g._calcInverseTransform(p);var M=L0.apply3DTransform(g._invTransform)(A,w);A=M[0],w=M[1];var L=g._invScaleX,S=g._invScaleY,q=A,R=w,z="M"+A+","+w,F=a.xaxes[0]._length,N=a.yaxes[0]._length,j=a.xaxes.concat(a.yaxes),B=e.altKey&&!(Yh(n)&&s),V,W,Q,Y,$,re,ue;N6(e,p,a),i&&(V=Ene([[A,w]],Zh.BENDPX));var ce=m.selectAll("path.select-outline-"+_.id).data(l?[0]:[1,2]),ye=g.newshape;ce.enter().append("path").attr("class",function(Ue){return"select-outline select-outline-"+Ue+" select-outline-"+_.id}).style(l?{opacity:ye.opacity/2,fill:s?void 0:ye.fillcolor,stroke:ye.line.color,"stroke-dasharray":Mne(ye.line.dash,ye.line.width),"stroke-width":ye.line.width+"px"}:{}).attr("fill-rule",ye.fillrule).classed("cursor-move",!!l).attr("transform",x).attr("d",z+"Z");var he=m.append("path").attr("class","zoombox-corners").style({fill:L6.background,stroke:L6.defaultLine,"stroke-width":1}).attr("transform",x).attr("d","M0,0Z"),we=g._uid+Zh.SELECTID,ee=[],Se=F6(p,a.xaxes,a.yaxes,a.subplot);function Te(Ue,Me){return Ue-Me}var qe;_.fillRangeItems?qe=_.fillRangeItems:o?qe=function(Ue,Me){var G=Ue.range={};for($=0;$=0){p._fullLayout._deactivateShape(p);return}if(!l){var G=g.clickmode;gf.done(we).then(function(){if(gf.clear(we),Ue===2){for(ce.remove(),$=0;$-1&&E6(Me,p,a.xaxes,a.yaxes,a.subplot,a,ce),G==="event"&&p.emit("plotly_selected",void 0);Sne.click(p,Me)}).catch(L0.error)}},a.doneFn=function(){he.remove(),gf.done(we).then(function(){gf.clear(we),a.gd.emit("plotly_selected",ue),Y&&a.selectionDefs&&(Y.subtract=B,a.selectionDefs.push(Y),a.mergedPolygons.length=0,[].push.apply(a.mergedPolygons,Q)),a.doneFnCompleted&&a.doneFnCompleted(ee)}).catch(L0.error),l&&yf(a)}}function E6(e,t,r,a,n,i,o){var s=t._hoverdata,l=t._fullLayout,u=l.clickmode,c=u.indexOf("event")>-1,d=[],h,p,g,m,b,_,x,A,w,M;if(Bne(s)){N6(e,t,i),h=F6(t,r,a,n);var L=Une(s,h),S=L.pointNumbers.length>0;if(S?Gne(h,L):Wne(h)&&(x=j6(L))){for(o&&o.remove(),M=0;M=0&&a._fullLayout._deactivateShape(a),Yh(t)){var n=a._fullLayout,i=n._zoomlayer,o=i.selectAll(".select-outline-"+r.id);if(o&&a._fullLayout._drawing){var s=Rne(o,e);s&&q6.call("_guiRelayout",a,{shapes:s}),a._fullLayout._drawing=!1}}r.selection={},r.selection.selectionDefs=e.selectionDefs=[],r.selection.mergedPolygons=e.mergedPolygons=[]}function F6(e,t,r,a){var n=[],i=t.map(function(p){return p._id}),o=r.map(function(p){return p._id}),s,l,u;for(u=0;u0,i=n?a[0]:r;return t.selectedpoints?t.selectedpoints.indexOf(i)>-1:!1}function Gne(e,t){var r=[],a,n,i,o;for(o=0;o0&&r.push(a);if(r.length===1&&(i=r[0]===t.searchInfo,i&&(n=t.searchInfo.cd[0].trace,n.selectedpoints.length===t.pointNumbers.length))){for(o=0;o1||(t+=a.selectedpoints.length,t>1)))return!1;return t===1}function Xh(e,t,r){var a,n,i,o;for(a=0;a{"use strict";var I0=Et(),hn=De(),U6=hn.numberFormat,Yne=An(),Zne=_y(),Qh=ht(),G6=hn.strTranslate,Xne=Fa(),W6=It(),to=Kt(),Qne=Ti(),V6=rr(),Kne=Ki(),$ne=qn(),Y6=ef(),Kh=Y6.selectingOrDrawing,Jne=Y6.freeMode,eie=wa().FROM_TL,tie=Sh(),rie=Gh().redrawReglTraces,aie=Dr(),E0=Er().getFromId,nie=bf().prepSelect,iie=bf().clearSelect,oie=bf().selectOnClick,z0=_0(),N0=Jr(),Z6=N0.MINDRAG,Ma=N0.MINZOOM,X6=!0;function sie(e,t,r,a,n,i,o,s){var l=e._fullLayout._zoomlayer,u=o+s==="nsew",c=(o+s).length===1,d,h,p,g,m,b,_,x,A,w,M,L,S,q,R,z,F,N,j,B,V,W,Q;function Y(){if(d=t.xaxis,h=t.yaxis,A=d._length,w=h._length,_=d._offset,x=h._offset,p={},p[d._id]=d,g={},g[h._id]=h,o&&s)for(var ge=t.overlays,xe=0;xe=0){Re._fullLayout._deactivateShape(Re);return}var Pe=Re._fullLayout.clickmode;if(j0(Re),ge===2&&!c&&pt(),u)Pe.indexOf("select")>-1&&oie(xe,Re,m,b,t.id,ue),Pe.indexOf("event")>-1&&Qne.click(Re,xe,t.id);else if(ge===1&&c){var Ie=o?h:d,Be=o==="s"||s==="w"?0:1,ut=Ie._name+".range["+Be+"]",gt=lie(Ie,Be),it="left",Dt="middle";if(Ie.fixedrange)return;o?(Dt=o==="n"?"top":"bottom",Ie.side==="right"&&(it="right")):s==="e"&&(it="right"),Re._context.showAxisRangeEntryBoxes&&I0.select(re).call(Xne.makeEditable,{gd:Re,immediate:!0,background:Re._fullLayout.paper_bgcolor,text:String(gt),fill:Ie.tickfont?Ie.tickfont.color:"#444",horizontalAlign:it,verticalAlign:Dt}).on("edit",function(Mt){var nt=Ie.d2r(Mt);nt!==void 0&&Qh.call("_guiRelayout",Re,ut,nt)})}}$ne.init(ue);var he,we,ee,Se,Te,qe,Ue,Me,G,Z;function O(ge,xe,Re){var Pe=re.getBoundingClientRect();he=xe-Pe.left,we=Re-Pe.top,e._fullLayout._calcInverseTransform(e);var Ie=hn.apply3DTransform(e._fullLayout._invTransform)(he,we);he=Ie[0],we=Ie[1],ee={l:he,r:he,w:0,t:we,b:we,h:0},Se=e._hmpixcount?e._hmlumcount/e._hmpixcount:Yne(e._fullLayout.plot_bgcolor).getLuminance(),Te="M0,0H"+A+"V"+w+"H0V0",qe=!1,Ue="xy",Z=!1,Me=eP(l,Se,_,x,Te),G=tP(l,_,x)}function le(ge,xe){if(e._transitioningWithDuration)return!1;var Re=Math.max(0,Math.min(A,W*ge+he)),Pe=Math.max(0,Math.min(w,Q*xe+we)),Ie=Math.abs(Re-he),Be=Math.abs(Pe-we);ee.l=Math.min(he,Re),ee.r=Math.max(he,Re),ee.t=Math.min(we,Pe),ee.b=Math.max(we,Pe);function ut(){Ue="",ee.r=ee.l,ee.t=ee.b,G.attr("d","M0,0Z")}if(M.isSubplotConstrained)Ie>Ma||Be>Ma?(Ue="xy",Ie/A>Be/w?(Be=Ie*w/A,we>Pe?ee.t=we-Be:ee.b=we+Be):(Ie=Be*A/w,he>Re?ee.l=he-Ie:ee.r=he+Ie),G.attr("d",$h(ee))):ut();else if(L.isSubplotConstrained)if(Ie>Ma||Be>Ma){Ue="xy";var gt=Math.min(ee.l/A,(w-ee.b)/w),it=Math.max(ee.r/A,(w-ee.t)/w);ee.l=gt*A,ee.r=it*A,ee.b=(1-gt)*w,ee.t=(1-it)*w,G.attr("d",$h(ee))}else ut();else!q||Be0){var Mt;if(L.isSubplotConstrained||!S&&q.length===1){for(Mt=0;Mt=0?Math.min(e,.9):1/(1/Math.max(e,-.3)+3.222))}function fie(e,t,r){return e?e==="nsew"?r?"":t==="pan"?"move":"crosshair":e.toLowerCase()+"-resize":"pointer"}function eP(e,t,r,a,n){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",G6(r,a)).attr("d",n+"Z")}function tP(e,t,r){return e.append("path").attr("class","zoombox-corners").style({fill:W6.background,stroke:W6.defaultLine,"stroke-width":1,opacity:0}).attr("transform",G6(t,r)).attr("d","M0,0Z")}function rP(e,t,r,a,n,i){e.attr("d",a+"M"+r.l+","+r.t+"v"+r.h+"h"+r.w+"v-"+r.h+"h-"+r.w+"Z"),aP(e,t,n,i)}function aP(e,t,r,a){r||(e.transition().style("fill",a>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),t.transition().style("opacity",1).duration(200))}function j0(e){I0.select(e).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function nP(e){X6&&e.data&&e._context.showTips&&(hn.notifier(hn._(e,"Double-click to zoom back out"),"long"),X6=!1)}function cie(e,t){return"M"+(e.l-.5)+","+(t-Ma-.5)+"h-3v"+(2*Ma+1)+"h3ZM"+(e.r+.5)+","+(t-Ma-.5)+"h3v"+(2*Ma+1)+"h-3Z"}function die(e,t){return"M"+(t-Ma-.5)+","+(e.t-.5)+"v-3h"+(2*Ma+1)+"v3ZM"+(t-Ma-.5)+","+(e.b+.5)+"v3h"+(2*Ma+1)+"v-3Z"}function $h(e){var t=Math.floor(Math.min(e.b-e.t,e.r-e.l,Ma)/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 iP(e,t,r,a,n){for(var i=!1,o={},s={},l,u,c,d,h=(n||{}).xaHash,p=(n||{}).yaHash,g=0;g{"use strict";var hie=Et(),Jh=Ti(),vie=qn(),pie=Ki(),In=uP().makeDragBox,jr=Jr().DRAGGERSIZE;ev.initInteractions=function(t){var r=t._fullLayout;if(t._context.staticPlot){hie.select(t).selectAll(".drag").remove();return}if(!(!r._has("cartesian")&&!r._has("splom"))){var a=Object.keys(r._plots||{}).sort(function(i,o){if((r._plots[i].mainplot&&!0)===(r._plots[o].mainplot&&!0)){var s=i.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[i].mainplot?1:-1});a.forEach(function(i){var o=r._plots[i],s=o.xaxis,l=o.yaxis;if(!o.mainplot){var u=In(t,o,s._offset,l._offset,s._length,l._length,"ns","ew");u.onmousemove=function(h){t._fullLayout._rehover=function(){t._fullLayout._hoversubplot===i&&t._fullLayout._plots[i]&&Jh.hover(t,h,i)},Jh.hover(t,h,i),t._fullLayout._lasthover=u,t._fullLayout._hoversubplot=i},u.onmouseout=function(h){t._dragging||(t._fullLayout._hoversubplot=null,vie.unhover(t,h))},t._context.showAxisDragHandles&&(In(t,o,s._offset-jr,l._offset-jr,jr,jr,"n","w"),In(t,o,s._offset+s._length,l._offset-jr,jr,jr,"n","e"),In(t,o,s._offset-jr,l._offset+l._length,jr,jr,"s","w"),In(t,o,s._offset+s._length,l._offset+l._length,jr,jr,"s","e"))}if(t._context.showAxisDragHandles){if(i===s._mainSubplot){var c=s._mainLinePosition;s.side==="top"&&(c-=jr),In(t,o,s._offset+s._length*.1,c,s._length*.8,jr,"","ew"),In(t,o,s._offset,c,s._length*.1,jr,"","w"),In(t,o,s._offset+s._length*.9,c,s._length*.1,jr,"","e")}if(i===l._mainSubplot){var d=l._mainLinePosition;l.side!=="right"&&(d-=jr),In(t,o,d,l._offset+l._length*.1,jr,l._length*.8,"ns",""),In(t,o,d,l._offset+l._length*.9,jr,l._length*.1,"s",""),In(t,o,d,l._offset,jr,l._length*.1,"n","")}}});var n=r._hoverlayer.node();n.onmousemove=function(i){i.target=t._fullLayout._lasthover,Jh.hover(t,i,r._hoversubplot)},n.onclick=function(i){i.target=t._fullLayout._lasthover,Jh.click(t,i)},n.onmousedown=function(i){t._fullLayout._lasthover.onmousedown(i)},ev.updateFx(t)}};ev.updateFx=function(e){var t=e._fullLayout,r=t.dragmode==="pan"?"move":"crosshair";pie(t._draggers,r)}});var dP=E((fbe,cP)=>{"use strict";var fP=ht();cP.exports=function(t){for(var r=fP.layoutArrayContainers,a=fP.layoutArrayRegexes,n=t.split("[")[0],i,o,s=0;s{"use strict";var mie=zs(),H0=vd(),xf=Lo(),gie=Gm().sorterAsc,B0=ht();_f.containerArrayMatch=dP();var yie=_f.isAddVal=function(t){return t==="add"||mie(t)},hP=_f.isRemoveVal=function(t){return t===null||t==="remove"};_f.applyContainerArrayChanges=function(t,r,a,n,i){var o=r.astr,s=B0.getComponentMethod(o,"supplyLayoutDefaults"),l=B0.getComponentMethod(o,"draw"),u=B0.getComponentMethod(o,"drawOne"),c=n.replot||n.recalc||s===H0||l===H0,d=t.layout,h=t._fullLayout;if(a[""]){Object.keys(a).length>1&&xf.warn("Full array edits are incompatible with other edits",o);var p=a[""][""];if(hP(p))r.set(null);else if(Array.isArray(p))r.set(p);else return xf.warn("Unrecognized full array edit value",o,p),!0;return c?!1:(s(d,h),l(t),!0)}var g=Object.keys(a).map(Number).sort(gie),m=r.get(),b=m||[],_=i(h,o).get(),x=[],A=-1,w=b.length,M,L,S,q,R,z,F,N;for(M=0;Mb.length-(F?0:1)){xf.warn("index out of range",o,S);continue}if(z!==void 0)R.length>1&&xf.warn("Insertion & removal are incompatible with edits to the same index.",o,S),hP(z)?x.push(S):F?(z==="add"&&(z={}),b.splice(S,0,z),_&&_.splice(S,0,{})):xf.warn("Unrecognized full object edit value",o,S,z),A===-1&&(A=S);else for(L=0;L=0;M--)b.splice(x[M],1),_&&_.splice(x[M],1);if(b.length?m||r.set(b):r.set(null),c)return!1;if(s(d,h),u!==H0){var j;if(A===-1)j=g;else{for(w=Math.max(b.length,w),j=[],M=0;M=A));M++)j.push(S);for(M=A;M{"use strict";var pP=zt(),bie=Nm(),mP=ht(),Sa=De(),wf=Dr(),gP=Er(),ts=It(),Tf=gP.cleanId,xie=gP.getFromTrace,Af=mP.traceIs;vn.clearPromiseQueue=function(e){Array.isArray(e._promises)&&e._promises.length>0&&Sa.log("Clearing previous rejected promises from queue."),e._promises=[]};vn.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 a=(wf.subplotsRegistry.cartesian||{}).attrRegex,n=(wf.subplotsRegistry.polar||{}).attrRegex,i=(wf.subplotsRegistry.ternary||{}).attrRegex,o=(wf.subplotsRegistry.gl3d||{}).attrRegex,s=Object.keys(e);for(t=0;t3?(R.x=1.02,R.xanchor="left"):R.x<-2&&(R.x=-.02,R.xanchor="right"),R.y>3?(R.y=1.02,R.yanchor="bottom"):R.y<-2&&(R.y=-.02,R.yanchor="top")),Ca(e),e.dragmode==="rotate"&&(e.dragmode="orbit"),ts.clean(e),e.template&&e.template.layout&&vn.cleanLayout(e.template.layout),e};function bl(e,t){var r=e[t],a=t.charAt(0);r&&r!=="paper"&&(e[t]=Tf(r,a,!0))}function Ca(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,a){var n=e[r],i=e.title&&e.title[a];n&&!i&&(e.title||(e.title={}),e.title[a]=e[r],delete e[r])}}vn.cleanData=function(e){for(var t=0;t0)return e.substr(0,t)}vn.hasParent=function(e,t){for(var r=xP(t);r;){if(r in e)return!0;r=xP(r)}return!1};var Tie=["x","y","z"];vn.clearAxisTypes=function(e,t,r){for(var a=0;a{"use strict";var rv=Et(),Aie=zt(),kie=ag(),We=De(),Xt=We.nestedProperty,U0=Du(),qa=NC(),pn=ht(),av=Yi(),yt=Dr(),va=rr(),G0=Kt(),Mie=It(),Sie=O0().initInteractions,Cie=jo(),qie=bf().clearSelect,wP=qo().dfltConfig,nv=vP(),kr=_P(),Vt=Gh(),ro=Vi(),Lie=Jr().AX_NAME_PATTERN,W0=0,TP=5;function Die(e,t,r,a){var n;if(e=We.getGraphDiv(e),U0.init(e),We.isPlainObject(t)){var i=t;t=i.data,r=i.layout,a=i.config,n=i.frames}var o=U0.triggerHandler(e,"plotly_beforeplot",[t,r,a]);if(o===!1)return Promise.reject();!t&&!r&&!We.isPlotDiv(e)&&We.warn("Calling _doPlot as if redrawing but this container doesn't yet have a plot.",e);function s(){if(n)return Ft.addFrames(e,n)}kP(e,a),r||(r={}),rv.select(e).classed("js-plotly-plot",!0),G0.makeTester(),Array.isArray(e._promises)||(e._promises=[]);var l=(e.data||[]).length===0&&Array.isArray(t);Array.isArray(t)&&(kr.cleanData(t),l?e.data=t:e.data.push.apply(e.data,t),e.empty=!1),(!e.layout||l)&&(e.layout=kr.cleanLayout(r)),yt.supplyDefaults(e);var u=e._fullLayout,c=u._has("cartesian");u._replotting=!0,(l||u._shouldCreateBgLayer)&&(Jie(e),u._shouldCreateBgLayer&&delete u._shouldCreateBgLayer),G0.initGradients(e),G0.initPatterns(e),l&&va.saveShowSpikeInitial(e);var d=!e.calcdata||e.calcdata.length!==(e._fullData||[]).length;d&&yt.doCalcdata(e);for(var h=0;h=e.data.length||n<-e.data.length)throw new Error(r+" must be valid indices for gd.data.");if(t.indexOf(n,a+1)>-1||n>=0&&t.indexOf(-e.data.length+n)>-1||n<0&&t.indexOf(e.data.length+n)>-1)throw new Error("each index in "+r+" must be unique.")}}function MP(e,t,r){if(!Array.isArray(e.data))throw new Error("gd.data must be an array.");if(typeof t=="undefined")throw new Error("currentIndices is a required argument.");if(Array.isArray(t)||(t=[t]),ov(e,t,"currentIndices"),typeof r!="undefined"&&!Array.isArray(r)&&(r=[r]),typeof r!="undefined"&&ov(e,r,"newIndices"),typeof r!="undefined"&&t.length!==r.length)throw new Error("current and new indices must be of equal length.")}function zie(e,t,r){var a,n;if(!Array.isArray(e.data))throw new Error("gd.data must be an array.");if(typeof t=="undefined")throw new Error("traces must be defined.");for(Array.isArray(t)||(t=[t]),a=0;a=0&&c=0&&c-1&&i.indexOf("grouptitlefont")===-1?s(i,i.replace("titlefont","title.font")):i.indexOf("titleposition")>-1?s(i,i.replace("titleposition","title.position")):i.indexOf("titleside")>-1?s(i,i.replace("titleside","title.side")):i.indexOf("titleoffset")>-1&&s(i,i.replace("titleoffset","title.offset"));function s(l,u){e[u]=e[l],delete e[l]}}function Mf(e,t,r){e=We.getGraphDiv(e),kr.clearPromiseQueue(e);var a={};if(typeof t=="string")a[t]=r;else if(We.isPlainObject(t))a=We.extendFlat({},t);else return We.warn("Relayout fail.",t,r),Promise.reject();Object.keys(a).length&&(e.changed=!0);var n=jP(e,a),i=n.flags;i.calc&&(e.calcdata=void 0);var o=[yt.previousPromises];i.layoutReplot?o.push(Vt.layoutReplot):Object.keys(a).length&&(EP(e,i,n)||yt.supplyDefaults(e),i.legend&&o.push(Vt.doLegend),i.layoutstyle&&o.push(Vt.layoutStyles),i.axrange&&fv(o,n.rangesAltered),i.ticks&&o.push(Vt.doTicksRelayout),i.modebar&&o.push(Vt.doModeBar),i.camera&&o.push(Vt.doCamera),i.colorbars&&o.push(Vt.doColorBars),o.push(kf)),o.push(yt.rehover,yt.redrag),qa.add(e,Mf,[e,n.undoit],Mf,[e,n.redoit]);var s=We.syncOrAsync(o,e);return(!s||!s.then)&&(s=Promise.resolve(e)),s.then(function(){return e.emit("plotly_relayout",n.eventData),e})}function EP(e,t,r){var a=e._fullLayout;if(!t.axrange)return!1;for(var n in t)if(n!=="axrange"&&t[n])return!1;for(var i in r.rangesAltered){var o=va.id2name(i),s=e.layout[o],l=a[o];if(l.autorange=s.autorange,s.range&&(l.range=s.range.slice()),l.cleanRange(),l._matchGroup){for(var u in l._matchGroup)if(u!==i){var c=a[va.id2name(u)];c.autorange=l.autorange,c.range=l.range.slice(),c._input.range=l.range.slice()}}}return!0}function fv(e,t){var r=t?function(a){var n=[],i=!0;for(var o in t){var s=va.getFromId(a,o);if(n.push(o),(s.ticklabelposition||"").indexOf("inside")!==-1&&s._anchorAxis&&n.push(s._anchorAxis._id),s._matchGroup)for(var l in s._matchGroup)t[l]||n.push(l);s.automargin&&(i=!1)}return va.draw(a,n,{skipTitle:i})}:function(a){return va.draw(a,"redraw")};e.push(qie,Vt.doAutoRangeAndConstraints,r,Vt.drawData,Vt.finalDraw)}var zP=/^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/,NP=/^[xyz]axis[0-9]*\.autorange$/,FP=/^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/;function jP(e,t){var r=e.layout,a=e._fullLayout,n=a._guiEditing,i=lv(a._preGUI,n),o=Object.keys(t),s=va.list(e),l=We.extendDeepAll({},t),u={},c,d,h;for(IP(t),o=Object.keys(t),d=0;d0&&typeof q.parts[F]!="string";)F--;var N=q.parts[F],j=q.parts[F-1]+"."+N,B=q.parts.slice(0,F).join("."),V=Xt(e.layout,B).get(),W=Xt(a,B).get(),Q=q.get();if(R!==void 0){_[S]=R,x[S]=N==="reverse"?R:Si(Q);var Y=av.getLayoutValObject(a,q.parts);if(Y&&Y.impliedEdits&&R!==null)for(var $ in Y.impliedEdits)A(We.relativeAttr(S,$),Y.impliedEdits[$]);if(["width","height"].indexOf(S)!==-1)if(R){A("autosize",null);var re=S==="height"?"width":"height";A(re,a[re])}else a[S]=e._initialAutoSize[S];else if(S==="autosize")A("width",R?null:a.width),A("height",R?null:a.height);else if(j.match(zP))L(j),Xt(a,B+"._inputRange").set(null);else if(j.match(NP)){L(j),Xt(a,B+"._inputRange").set(null);var ue=Xt(a,B).get();ue._inputDomain&&(ue._input.domain=ue._inputDomain.slice())}else j.match(FP)&&Xt(a,B+"._inputDomain").set(null);if(N==="type"){M=V;var ce=W.type==="linear"&&R==="log",ye=W.type==="log"&&R==="linear";if(ce||ye){if(!M||!M.range)A(B+".autorange",!0);else if(W.autorange)ce&&(M.range=M.range[1]>M.range[0]?[1,2]:[2,1]);else{var he=M.range[0],we=M.range[1];ce?(he<=0&&we<=0&&A(B+".autorange",!0),he<=0?he=we/1e6:we<=0&&(we=he/1e6),A(B+".range[0]",Math.log(he)/Math.LN10),A(B+".range[1]",Math.log(we)/Math.LN10)):(A(B+".range[0]",Math.pow(10,he)),A(B+".range[1]",Math.pow(10,we)))}Array.isArray(a._subplots.polar)&&a._subplots.polar.length&&a[q.parts[0]]&&q.parts[1]==="radialaxis"&&delete a[q.parts[0]]._subplot.viewInitial["radialaxis.range"],pn.getComponentMethod("annotations","convertCoords")(e,W,R,A),pn.getComponentMethod("images","convertCoords")(e,W,R,A)}else A(B+".autorange",!0),A(B+".range",null);Xt(a,B+"._inputRange").set(null)}else if(N.match(Lie)){var ee=Xt(a,S).get(),Se=(R||{}).type;(!Se||Se==="-")&&(Se="linear"),pn.getComponentMethod("annotations","convertCoords")(e,ee,Se,A),pn.getComponentMethod("images","convertCoords")(e,ee,Se,A)}var Te=nv.containerArrayMatch(S);if(Te){c=Te.array,d=Te.index;var qe=Te.property,Ue=Y||{editType:"calc"};d!==""&&qe===""&&(nv.isAddVal(R)?x[S]=null:nv.isRemoveVal(R)?x[S]=(Xt(r,c).get()||[])[d]:We.warn("unrecognized full object value",t)),ro.update(b,Ue),u[c]||(u[c]={});var Me=u[c][d];Me||(Me=u[c][d]={}),Me[qe]=R,delete t[S]}else N==="reverse"?(V.range?V.range.reverse():(A(B+".autorange",!0),V.range=[1,0]),W.autorange?b.calc=!0:b.plot=!0):(a._has("scatter-like")&&a._has("regl")&&S==="dragmode"&&(R==="lasso"||R==="select")&&!(Q==="lasso"||Q==="select")||a._has("gl2d")?b.plot=!0:Y?ro.update(b,Y):b.calc=!0,q.set(R))}}for(c in u){var G=nv.applyContainerArrayChanges(e,i(r,c),u[c],b,i);G||(b.plot=!0)}for(var Z in w){M=va.getFromId(e,Z);var O=M&&M._constraintGroup;if(O){b.calc=!0;for(var le in O)w[le]||(va.getFromId(e,le)._constraintShrinkable=!0)}}return(OP(e)||t.height||t.width)&&(b.plot=!0),(b.plot||b.calc)&&(b.layoutReplot=!0),{flags:b,rangesAltered:w,undoit:x,redoit:_,eventData:l}}function OP(e){var t=e._fullLayout,r=t.width,a=t.height;return e.layout.autosize&&yt.plotAutoSize(e,e.layout,t),t.width!==r||t.height!==a}function cv(e,t,r,a){e=We.getGraphDiv(e),kr.clearPromiseQueue(e),We.isPlainObject(t)||(t={}),We.isPlainObject(r)||(r={}),Object.keys(t).length&&(e.changed=!0),Object.keys(r).length&&(e.changed=!0);var n=kr.coerceTraceIndices(e,a),i=PP(e,We.extendFlat({},t),n),o=i.flags,s=jP(e,We.extendFlat({},r)),l=s.flags;(o.calc||l.calc)&&(e.calcdata=void 0),o.clearAxisTypes&&kr.clearAxisTypes(e,n,r);var u=[];l.layoutReplot?u.push(Vt.layoutReplot):o.fullReplot?u.push(Ft._doPlot):(u.push(yt.previousPromises),EP(e,l,s)||yt.supplyDefaults(e),o.style&&u.push(Vt.doTraceStyle),(o.colorbars||l.colorbars)&&u.push(Vt.doColorBars),l.legend&&u.push(Vt.doLegend),l.layoutstyle&&u.push(Vt.layoutStyles),l.axrange&&fv(u,s.rangesAltered),l.ticks&&u.push(Vt.doTicksRelayout),l.modebar&&u.push(Vt.doModeBar),l.camera&&u.push(Vt.doCamera),u.push(kf)),u.push(yt.rehover,yt.redrag),qa.add(e,cv,[e,i.undoit,s.undoit,i.traces],cv,[e,i.redoit,s.redoit,i.traces]);var c=We.syncOrAsync(u,e);return(!c||!c.then)&&(c=Promise.resolve(e)),c.then(function(){return e.emit("plotly_update",{data:i.eventData,layout:s.eventData}),e})}function Y0(e){return function(r){r._fullLayout._guiEditing=!0;var a=e.apply(null,arguments);return r._fullLayout._guiEditing=!1,a}}var Oie=[{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"}],Hie=[{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 HP(e,t){for(var r=0;r1;)if(a.pop(),r=Xt(t,a.join(".")+".uirevision").get(),r!==void 0)return r;return t.uirevision}function Bie(e,t){for(var r=0;r=n.length?n[0]:n[u]:n}function s(u){return Array.isArray(i)?u>=i.length?i[0]:i[u]:i}function l(u,c){var d=0;return function(){if(u&&++d===c)return u()}}return new Promise(function(u,c){function d(){if(a._frameQueue.length!==0){for(;a._frameQueue.length;){var N=a._frameQueue.pop();N.onInterrupt&&N.onInterrupt()}e.emit("plotly_animationinterrupted",[])}}function h(N){if(N.length!==0){for(var j=0;ja._timeToNext&&g()};N()}var b=0;function _(N){return Array.isArray(n)?b>=n.length?N.transitionOpts=n[b]:N.transitionOpts=n[0]:N.transitionOpts=n,b++,N}var x,A,w=[],M=t==null,L=Array.isArray(t),S=!M&&!L&&We.isPlainObject(t);if(S)w.push({type:"object",data:_(We.extendFlat({},t))});else if(M||["string","number"].indexOf(typeof t)!==-1)for(x=0;x0&&zz)&&F.push(A);w=F}}w.length>0?h(w):(e.emit("plotly_animated"),u())})}function Xie(e,t,r){if(e=We.getGraphDiv(e),t==null)return Promise.resolve();if(!We.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 a,n,i,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,c=[],d={};for(a=t.length-1;a>=0;a--)if(!!We.isPlainObject(t[a])){var h=t[a].name,p=(l[h]||d[h]||{}).name,g=t[a].name,m=l[p]||d[p];p&&g&&typeof g=="number"&&m&&W0q.index?-1:S.index=0;a--){if(n=c[a].frame,typeof n.name=="number"&&We.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!n.name)for(;l[n.name="frame "+e._transitionData._counter++];);if(l[n.name]){for(i=0;i=0;r--)a=t[r],i.push({type:"delete",index:a}),o.unshift({type:"insert",index:a,value:n[a]});var s=yt.modifyFrames,l=yt.modifyFrames,u=[e,o],c=[e,i];return qa&&qa.add(e,s,u,l,c),yt.modifyFrames(e,i)}function Kie(e){e=We.getGraphDiv(e);var t=e._fullLayout||{},r=e._fullData||[];return yt.cleanPlot([],{},r,t),yt.purge(e),U0.purge(e),t._container&&t._container.remove(),delete e._context,e}function $ie(e){var t=e._fullLayout,r=e.getBoundingClientRect();if(!We.equalDomRects(r,t._lastBBox)){var a=t._invTransform=We.inverseTransformMatrix(We.getFullTransformMatrix(e));t._invScaleX=Math.sqrt(a[0][0]*a[0][0]+a[0][1]*a[0][1]+a[0][2]*a[0][2]),t._invScaleY=Math.sqrt(a[1][0]*a[1][0]+a[1][1]*a[1][1]+a[1][2]*a[1][2]),t._lastBBox=r}}function Jie(e){var t=rv.select(e),r=e._fullLayout;if(r._calcInverseTransform=$ie,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 a={};rv.selectAll("defs").each(function(){this.id&&(a[this.id.split("-")[1]]=1)}),r._uid=We.randstr(a)}r._paperdiv.selectAll(".main-svg").attr(Cie.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 n=r._paper.append("g").classed("layer-below",!0);r._imageLowerLayer=n.append("g").classed("imagelayer",!0),r._shapeLowerLayer=n.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 i=r._toppaper.append("g").classed("layer-above",!0);r._imageUpperLayer=i.append("g").classed("imagelayer",!0),r._shapeUpperLayer=i.append("g").classed("shapelayer",!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")}Ft.animate=Zie;Ft.addFrames=Xie;Ft.deleteFrames=Qie;Ft.addTraces=DP;Ft.deleteTraces=RP;Ft.extendTraces=qP;Ft.moveTraces=V0;Ft.prependTraces=LP;Ft.newPlot=Eie;Ft._doPlot=Die;Ft.purge=Kie;Ft.react=Wie;Ft.redraw=Iie;Ft.relayout=Mf;Ft.restyle=sv;Ft.setPlotConfig=Rie;Ft.update=cv;Ft._guiRelayout=Y0(Mf);Ft._guiRestyle=Y0(sv);Ft._guiUpdate=Y0(cv);Ft._storeDirectGUIEdit=jie});var rs=E(En=>{"use strict";var eoe=ht();En.getDelay=function(e){return e._has&&(e._has("gl3d")||e._has("gl2d")||e._has("mapbox"))?500:0};En.getRedrawFunc=function(e){return function(){eoe.getComponentMethod("colorbar","draw")(e)}};En.encodeSVG=function(e){return"data:image/svg+xml,"+encodeURIComponent(e)};En.encodeJSON=function(e){return"data:application/json,"+encodeURIComponent(e)};var GP=window.URL||window.webkitURL;En.createObjectURL=function(e){return GP.createObjectURL(e)};En.revokeObjectURL=function(e){return GP.revokeObjectURL(e)};En.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=toe(window.atob(e));return new window.Blob([r],{type:"image/"+t})};En.octetStream=function(e){document.location.href="data:application/octet-stream"+e};function toe(e){for(var t=e.length,r=new ArrayBuffer(t),a=new Uint8Array(r),n=0;n{"use strict";var Q0=Et(),roe=De(),aoe=Kt(),noe=It(),hv=jo(),K0=/"/g,Sf="TOBESTRIPPED",ioe=new RegExp('("'+Sf+")|("+Sf+'")',"g");function ooe(e){var t=Q0.select("body").append("div").style({display:"none"}).html(""),r=e.replace(/(&[^;]*;)/gi,function(a){return a==="<"?"<":a==="&rt;"?">":a.indexOf("<")!==-1||a.indexOf(">")!==-1?"":t.html(a).text()});return t.remove(),r}function soe(e){return e.replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")}WP.exports=function(t,r,a){var n=t._fullLayout,i=n._paper,o=n._toppaper,s=n.width,l=n.height,u,c;i.insert("rect",":first-child").call(aoe.setRect,0,0,s,l).call(noe.fill,n.paper_bgcolor);var d=n._basePlotModules||[];for(u=0;u{"use strict";var VP=De(),loe=Rd().EventEmitter,xl=rs();function uoe(e){var t=e.emitter||new loe,r=new Promise(function(a,n){var i=window.Image,o=e.svg,s=e.format||"png";if(VP.isIE()&&s!=="svg"){var l=new Error(xl.MSG_IE_BAD_FORMAT);return n(l),e.promise?r:t.emit("error",l)}var u=e.canvas,c=e.scale||1,d=e.width||300,h=e.height||150,p=c*d,g=c*h,m=u.getContext("2d"),b=new i,_,x;s==="svg"||VP.isSafari()?x=xl.encodeSVG(o):(_=xl.createBlob(o,"svg"),x=xl.createObjectURL(_)),u.width=p,u.height=g,b.onload=function(){var A;switch(_=null,xl.revokeObjectURL(x),s!=="svg"&&m.drawImage(b,0,0,p,g),s){case"jpeg":A=u.toDataURL("image/jpeg");break;case"png":A=u.toDataURL("image/png");break;case"webp":A=u.toDataURL("image/webp");break;case"svg":A=x;break;default:var w="Image format is not jpeg, png, svg or webp.";if(n(new Error(w)),!e.promise)return t.emit("error",w)}a(A),e.promise||t.emit("success",A)},b.onerror=function(A){if(_=null,xl.revokeObjectURL(x),n(A),!e.promise)return t.emit("error",A)},b.src=x});return e.promise?r:t}YP.exports=uoe});var J0=E((gbe,QP)=>{"use strict";var ZP=zt(),XP=X0(),foe=Dr(),oi=De(),Cf=rs(),coe=vv(),doe=pv(),hoe=_m().version,$0={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 voe(e,t){t=t||{};var r,a,n,i;oi.isPlainObject(e)?(r=e.data||[],a=e.layout||{},n=e.config||{},i={}):(e=oi.getGraphDiv(e),r=oi.extendDeep([],e.data),a=oi.extendDeep({},e.layout),n=e._context,i=e._fullLayout||{});function o(L){return!(L in t)||oi.validate(t[L],$0[L])}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 "+oi.join2($0.format.values,", "," or ")+".");var s={};function l(L,S){return oi.coerce(t,s,$0,L,S)}var u=l("format"),c=l("width"),d=l("height"),h=l("scale"),p=l("setBackground"),g=l("imageDataOnly"),m=document.createElement("div");m.style.position="absolute",m.style.left="-5000px",document.body.appendChild(m);var b=oi.extendFlat({},a);c?b.width=c:t.width===null&&ZP(i.width)&&(b.width=i.width),d?b.height=d:t.height===null&&ZP(i.height)&&(b.height=i.height);var _=oi.extendFlat({},n,{_exportedPlot:!0,staticPlot:!0,setBackground:p}),x=Cf.getRedrawFunc(m);function A(){return new Promise(function(L){setTimeout(L,Cf.getDelay(m._fullLayout))})}function w(){return new Promise(function(L,S){var q=coe(m,u,h),R=m._fullLayout.width,z=m._fullLayout.height;function F(){XP.purge(m),document.body.removeChild(m)}if(u==="full-json"){var N=foe.graphJson(m,!1,"keepdata","object",!0,!0);return N.version=hoe,N=JSON.stringify(N),F(),L(g?N:Cf.encodeJSON(N))}if(F(),u==="svg")return L(g?q:Cf.encodeSVG(q));var j=document.createElement("canvas");j.id=oi.randstr(),doe({format:u,width:R,height:z,scale:h,canvas:j,svg:q,promise:!0}).then(L).catch(S)})}function M(L){return g?L.replace(Cf.IMAGE_URL_PREFIX,""):L}return new Promise(function(L,S){XP.newPlot(m,r,b,_).then(x).then(A).then(w).then(function(q){L(M(q))}).catch(function(q){S(q)})})}QP.exports=voe});var e4=E((ybe,JP)=>{"use strict";var mn=De(),poe=Dr(),moe=Yi(),goe=qo().dfltConfig,gn=mn.isPlainObject,ao=Array.isArray,KP=mn.isArrayOrTypedArray;JP.exports=function(t,r){t===void 0&&(t=[]),r===void 0&&(r={});var a=moe.get(),n=[],i={_context:mn.extendFlat({},goe)},o,s;ao(t)?(i.data=mn.extendDeep([],t),o=t):(i.data=[],o=[],n.push(Mr("array","data"))),gn(r)?(i.layout=mn.extendDeep({},r),s=r):(i.layout={},s={},arguments.length>1&&n.push(Mr("object","layout"))),poe.supplyDefaults(i);for(var l=i._fullData,u=o.length,c=0;cd.length&&a.push(Mr("unused",n,u.concat(d.length)));var _=d.length,x=Array.isArray(b);x&&(_=Math.min(_,b.length));var A,w,M,L,S;if(h.dimensions===2)for(w=0;w<_;w++)if(ao(c[w])){c[w].length>d[w].length&&a.push(Mr("unused",n,u.concat(w,d[w].length)));var q=d[w].length;for(A=0;A<(x?Math.min(q,b[w].length):q);A++)M=x?b[w][A]:b,L=c[w][A],S=d[w][A],mn.validate(L,M)?S!==L&&S!==+L&&a.push(Mr("dynamic",n,u.concat(w,A),L,S)):a.push(Mr("value",n,u.concat(w,A),L))}else a.push(Mr("array",n,u.concat(w),c[w]));else for(w=0;w<_;w++)M=x?b[w]:b,L=c[w],S=d[w],mn.validate(L,M)?S!==L&&S!==+L&&a.push(Mr("dynamic",n,u.concat(w),L,S)):a.push(Mr("value",n,u.concat(w),L))}else if(h.items&&!g&&ao(c)){var R=b[Object.keys(b)[0]],z=[],F,N;for(F=0;F{"use strict";var t4=De(),Lf=rs();function Aoe(e,t,r){var a=document.createElement("a"),n="download"in a,i=new Promise(function(o,s){var l,u;if(t4.isIE())return l=Lf.createBlob(e,"svg"),window.navigator.msSaveBlob(l,t),l=null,o(t);if(n)return l=Lf.createBlob(e,r),u=Lf.createObjectURL(l),a.href=u,a.download=t,document.body.appendChild(a),a.click(),document.body.removeChild(a),Lf.revokeObjectURL(u),l=null,o(t);if(t4.isSafari()){var c=r==="svg"?",":";base64,";return Lf.octetStream(c+encodeURIComponent(e)),o(t)}s(new Error("download error"))});return i}r4.exports=Aoe});var tb=E((xbe,n4)=>{"use strict";var eb=De(),koe=J0(),Moe=a4(),Soe=rs();function Coe(e,t){var r;return eb.isPlainObject(e)||(r=eb.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(a,n){r&&r._snapshotInProgress&&n(new Error("Snapshotting already in progress.")),eb.isIE()&&t.format!=="svg"&&n(new Error(Soe.MSG_IE_BAD_FORMAT)),r&&(r._snapshotInProgress=!0);var i=koe(e,t),o=t.filename||e.fn||"newplot";o+="."+t.format.replace("-","."),i.then(function(s){return r&&(r._snapshotInProgress=!1),Moe(s,o,t.format)}).then(function(s){a(s)}).catch(function(s){r&&(r._snapshotInProgress=!1),n(s)})})}n4.exports=Coe});var u4=E(rb=>{"use strict";var Oa=De(),Ha=Oa.isPlainObject,i4=Yi(),o4=Dr(),qoe=Oi(),s4=sr(),l4=qo().dfltConfig;rb.makeTemplate=function(e){e=Oa.isPlainObject(e)?e:Oa.getGraphDiv(e),e=Oa.extendDeep({_context:l4},{data:e.data,layout:e.layout}),o4.supplyDefaults(e);var t=e.data||[],r=e.layout||{};r._basePlotModules=e._fullLayout._basePlotModules,r._modules=e._fullLayout._modules;var a={data:{},layout:{}};t.forEach(function(p){var g={};Df(p,g,Doe.bind(null,p));var m=Oa.coerce(p,{},qoe,"type"),b=a.data[m];b||(b=a.data[m]=[]),b.push(g)}),Df(r,a.layout,Loe.bind(null,r)),delete a.layout.template;var n=r.template;if(Ha(n)){var i=n.layout,o,s,l,u,c,d;Ha(i)&&mv(i,a.layout);var h=n.data;if(Ha(h)){for(s in a.data)if(l=h[s],Array.isArray(l)){for(c=a.data[s],d=c.length,u=l.length,o=0;o_?o.push({code:"unused",traceType:p,templateCount:b,dataCount:_}):_>b&&o.push({code:"reused",traceType:p,templateCount:b,dataCount:_})}}function x(A,w){for(var M in A)if(M.charAt(0)!=="_"){var L=A[M],S=yn(A,M,w);Ha(L)?(Array.isArray(A)&&L._template===!1&&L.templateitemname&&o.push({code:"missing",path:S,templateitemname:L.templateitemname}),x(L,S)):Array.isArray(L)&&Roe(L)&&x(L,S)}}if(x({data:l,layout:s},""),o.length)return o.map(Poe)};function Roe(e){for(var t=0;t{"use strict";var Pr=X0();nr._doPlot=Pr._doPlot;nr.newPlot=Pr.newPlot;nr.restyle=Pr.restyle;nr.relayout=Pr.relayout;nr.redraw=Pr.redraw;nr.update=Pr.update;nr._guiRestyle=Pr._guiRestyle;nr._guiRelayout=Pr._guiRelayout;nr._guiUpdate=Pr._guiUpdate;nr._storeDirectGUIEdit=Pr._storeDirectGUIEdit;nr.react=Pr.react;nr.extendTraces=Pr.extendTraces;nr.prependTraces=Pr.prependTraces;nr.addTraces=Pr.addTraces;nr.deleteTraces=Pr.deleteTraces;nr.moveTraces=Pr.moveTraces;nr.purge=Pr.purge;nr.addFrames=Pr.addFrames;nr.deleteFrames=Pr.deleteFrames;nr.animate=Pr.animate;nr.setPlotConfig=Pr.setPlotConfig;nr.toImage=J0();nr.validate=e4();nr.downloadImage=tb();var f4=u4();nr.makeTemplate=f4.makeTemplate;nr.validateTemplate=f4.validateTemplate});var Rf=E(ab=>{"use strict";var d4=xg(),Ioe=d4.FORMAT_LINK,Eoe=d4.DATE_FORMAT_LINK;function h4(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}".`,Ioe,"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}".`,Eoe,"for details on the date formatting syntax."].join(" ")}function v4(e){var t=e.description?" "+e.description:"",r=e.keys||[];if(r.length>0){for(var a=[],n=0;n` is displayed in the secondary box, for example "{fullData.name}".',"To hide the secondary box completely, use an empty tag ``."].join(" ")};return e.arrayOk!==!1&&(a.arrayOk=!0),a};ab.texttemplateAttrs=function(e,t){e=e||{},t=t||{};var r=v4(t),a={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`.",h4(),"Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.",r].join(" ")};return e.arrayOk!==!1&&(a.arrayOk=!0),a}});var yv=E((Abe,p4)=>{"use strict";p4.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20,eventDataKeys:[]}});var Pf=E((kbe,w4)=>{"use strict";var m4=Ud().axisHoverFormat,zoe=Rf().texttemplateAttrs,Noe=Rf().hovertemplateAttrs,g4=Ou(),Foe=_a(),joe=Bs().dash,Ooe=Kt(),y4=yv(),nb=fa().extendFlat;function b4(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* on the "+e+" axis.","Special values in the form of *M* could be used to declare","the number of months. In this case `n` must be a positive integer."].join(" ")}}function x4(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 _4(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(" ")}}w4.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:b4("x"),yperiod:b4("y"),xperiod0:x4("x0"),yperiod0:x4("y0"),xperiodalignment:_4("x"),yperiodalignment:_4("y"),xhoverformat:m4("x"),yhoverformat:m4("y"),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 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:zoe({},{}),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 "+y4.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:Noe({},{keys:y4.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:nb({},joe,{editType:"style"}),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:{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."].join(" ")},marker:nb({symbol:{valType:"enumerated",values:Ooe.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."},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:nb({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"},g4("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"},g4("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:Foe({editType:"calc",colorEditType:"style",arrayOk:!0,description:"Sets the text font."})}});var ob=E((Mbe,T4)=>{"use strict";var ib=De(),Hoe=ht();T4.exports=function(t,r,a,n){var i=n("x"),o=n("y"),s,l=Hoe.getComponentMethod("calendars","handleTraceDefaults");if(l(t,r,["x","y"],a),i){var u=ib.minRowLength(i);o?s=Math.min(u,ib.minRowLength(o)):(s=u,n("y0"),n("dy"))}else{if(!o)return 0;s=ib.minRowLength(o),n("x0"),n("dx")}return r._length=s,s}});var sb=E((Sbe,M4)=>{"use strict";var A4=De().dateTick0,Boe=yr(),Uoe=Boe.ONEWEEK;function k4(e,t){return e%Uoe==0?A4(t,1):A4(t,0)}M4.exports=function(t,r,a,n,i){if(i||(i={x:!0,y:!0}),i.x){var o=n("xperiod");o&&(n("xperiod0",k4(o,r.xcalendar)),n("xperiodalignment"))}if(i.y){var s=n("yperiod");s&&(n("yperiod0",k4(s,r.ycalendar)),n("yperiodalignment"))}}});var q4=E((Cbe,C4)=>{"use strict";var S4=["orientation","groupnorm","stackgaps"];C4.exports=function(t,r,a,n){var i=a._scatterStackOpts,o=n("stackgroup");if(o){var s=r.xaxis+r.yaxis,l=i[s];l||(l=i[s]={});var u=l[o],c=!1;u?u.traces.push(r):(u=l[o]={traceIndices:[],traces:[r]},c=!0);for(var d={orientation:r.x&&!r.y?"h":"v"},h=0;h{"use strict";var L4=It(),D4=on().hasColorscale,R4=il(),Goe=Va();P4.exports=function(t,r,a,n,i,o){var s=Goe.isBubble(t),l=(t.line||{}).color,u;if(o=o||{},l&&(a=l),i("marker.symbol"),i("marker.opacity",s?.7:1),i("marker.size"),i("marker.color",a),D4(t,"marker")&&R4(t,r,n,i,{prefix:"marker.",cLetter:"c"}),o.noSelect||(i("selected.marker.color"),i("unselected.marker.color"),i("selected.marker.size"),i("unselected.marker.size")),o.noLine||(l&&!Array.isArray(l)&&r.marker.color!==l?u=l:s?u=L4.background:u=L4.defaultLine,i("marker.line.color",u),D4(t,"marker.line")&&R4(t,r,n,i,{prefix:"marker.line.",cLetter:"c"}),i("marker.line.width",s?1:0)),s&&(i("marker.sizeref"),i("marker.sizemin"),i("marker.sizemode")),o.gradient){var c=i("marker.gradient.type");c!=="none"&&i("marker.gradient.color")}}});var z4=E((Lbe,E4)=>{"use strict";var Woe=De().isArrayOrTypedArray,Voe=on().hasColorscale,Yoe=il();E4.exports=function(t,r,a,n,i,o){var s=(t.marker||{}).color;if(i("line.color",a),Voe(t,"line"))Yoe(t,r,n,i,{prefix:"line.",cLetter:"c"});else{var l=(Woe(s)?!1:s)||a;i("line.color",l)}i("line.width"),(o||{}).noDash||i("line.dash")}});var F4=E((Dbe,N4)=>{"use strict";N4.exports=function(t,r,a){var n=a("line.shape");n==="spline"&&a("line.smoothing")}});var O4=E((Rbe,j4)=>{"use strict";var Zoe=De();j4.exports=function(e,t,r,a,n){n=n||{},a("textposition"),Zoe.coerceFont(a,"textfont",r.font),n.noSelect||(a("selected.textfont.color"),a("unselected.textfont.color"))}});var U4=E((Pbe,B4)=>{"use strict";var Xoe=It(),H4=De().isArrayOrTypedArray;B4.exports=function(t,r,a,n){var i=!1;if(r.marker){var o=r.marker.color,s=(r.marker.line||{}).color;o&&!H4(o)?i=o:s&&!H4(s)&&(i=s)}n("fillcolor",Xoe.addOpacity((r.line||{}).color||i||a,.5))}});var Y4=E((Ibe,V4)=>{"use strict";var G4=De(),Qoe=ht(),Koe=Pf(),$oe=yv(),_l=Va(),Joe=ob(),ese=sb(),tse=q4(),rse=I4(),ase=z4(),W4=F4(),nse=O4(),ise=U4();V4.exports=function(t,r,a,n){function i(p,g){return G4.coerce(t,r,Koe,p,g)}var o=Joe(t,r,n,i);if(o||(r.visible=!1),!!r.visible){ese(t,r,n,i),i("xhoverformat"),i("yhoverformat");var s=tse(t,r,n,i),l=!s&&o<$oe.PTS_LINESONLY?"lines+markers":"lines";i("text"),i("hovertext"),i("mode",l),_l.hasLines(r)&&(ase(t,r,a,n,i),W4(t,r,i),i("connectgaps"),i("line.simplify")),_l.hasMarkers(r)&&rse(t,r,a,n,i,{gradient:!0}),_l.hasText(r)&&(i("texttemplate"),nse(t,r,n,i));var u=[];(_l.hasMarkers(r)||_l.hasText(r))&&(i("cliponaxis"),i("marker.maxdisplayed"),u.push("points")),i("fill",s?s.fillDflt:"none"),r.fill!=="none"&&(ise(t,r,a,i),_l.hasLines(r)||W4(t,r,i));var c=(r.line||{}).color,d=(r.marker||{}).color;(r.fill==="tonext"||r.fill==="toself")&&u.push("fills"),i("hoveron",u.join("+")||"points"),r.hoveron!=="fills"&&i("hovertemplate");var h=Qoe.getComponentMethod("errorbars","supplyDefaults");h(t,r,c||d||a,{axis:"y"}),h(t,r,c||d||a,{axis:"x",inherit:"y"}),G4.coerceSelectionMarkerOpacity(r,i)}}});var X4=E((Ebe,Z4)=>{"use strict";Z4.exports=function(t){for(var r=0;r=0;i--){var o=t[i];if(o.type==="scatter"&&o.xaxis===a.xaxis&&o.yaxis===a.yaxis){o.opacity=void 0;break}}}}}});var lb=E((zbe,K4)=>{"use strict";var ose=zt(),Q4=De(),sse=Q4.dateTime2ms,bv=Q4.incrementMonth,lse=yr(),use=lse.ONEAVGMONTH;K4.exports=function(t,r,a,n){if(r.type!=="date")return{vals:n};var i=t[a+"periodalignment"];if(!i)return{vals:n};var o=t[a+"period"],s;if(ose(o)){if(o=+o,o<=0)return{vals:n}}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:n}}for(var u=r.calendar,c=i==="start",d=i==="end",h=t[a+"period0"],p=sse(h,u)||0,g=[],m=[],b=[],_=n.length,x=0;x<_;x++){var A=n[x],w,M,L;if(s){for(w=Math.round((A-p)/(s*use)),L=bv(p,s*w,u);L>A;)L=bv(L,-s,u);for(;L<=A;)L=bv(L,s,u);M=bv(L,-s,u)}else{for(w=Math.round((A-p)/o),L=p+w*o;L>A;)L-=o;for(;L<=A;)L+=o;M=L-o}g[x]=c?M:d?L:(M+L)/2,m[x]=M,b[x]=L}return{vals:g,starts:m,ends:b}}});var eI=E((Nbe,J4)=>{"use strict";var ub=on().hasColorscale,fb=Vd(),$4=Va();J4.exports=function(t,r){$4.hasLines(r)&&ub(r,"line")&&fb(t,r,{vals:r.line.color,containerStr:"line",cLetter:"c"}),$4.hasMarkers(r)&&(ub(r,"marker")&&fb(t,r,{vals:r.marker.color,containerStr:"marker",cLetter:"c"}),ub(r,"marker.line")&&fb(t,r,{vals:r.marker.line.color,containerStr:"marker.line",cLetter:"c"}))}});var cb=E((Fbe,tI)=>{"use strict";var pa=De();tI.exports=function(t,r){for(var a=0;a{"use strict";var rI=De();aI.exports=function(t,r){rI.isArrayOrTypedArray(r.selectedpoints)&&rI.tagSelected(t,r)}});var gb=E((Obe,fI)=>{"use strict";var nI=zt(),hb=De(),If=rr(),iI=lb(),vb=yr().BADNUM,pb=Va(),fse=eI(),cse=cb(),dse=db();function hse(e,t){var r=e._fullLayout,a=If.getFromId(e,t.xaxis||"x"),n=If.getFromId(e,t.yaxis||"y"),i=a.makeCalcdata(t,"x"),o=n.makeCalcdata(t,"y"),s=iI(t,a,"x",i),l=iI(t,n,"y",o),u=s.vals,c=l.vals,d=t._length,h=new Array(d),p=t.ids,g=mb(t,r,a,n),m=!1,b,_,x,A,w,M;lI(r,t);var L="x",S="y",q;if(g)hb.pushUnique(g.traceIndices,t._expandedIndex),b=g.orientation==="v",b?(S="s",q="x"):(L="s",q="y"),w=g.stackgaps==="interpolate";else{var R=sI(t,d);oI(e,t,a,n,u,c,R)}var z=!!t.xperiodalignment,F=!!t.yperiodalignment;for(_=0;__&&h[A].gap;)A--;for(M=h[A].s,x=h.length-1;x>A;x--)h[x].s=M;for(;_{"use strict";var cI=gb();dI.exports=function(t,r){var a=r.xaxis,n=r.yaxis,i=a._id+n._id,o=t._fullLayout._scatterStackOpts[i];if(!!o){var s=t.calcdata,l,u,c,d,h,p,g,m,b,_,x,A,w,M,L;for(var S in o){_=o[S];var q=_.traceIndices;if(!!q.length){for(x=_.stackgaps==="interpolate",A=_.groupnorm,_.orientation==="v"?(w="x",M="y"):(w="y",M="x"),L=new Array(q.length),l=0;lR[c]&&c{"use strict";var vI=yr(),Ef=vI.BADNUM,pI=vI.LOG_CLIP,mI=pI+.5,gI=pI-.5,bb=De(),pse=bb.segmentsIntersect,yI=bb.constrain,xb=yv();bI.exports=function(t,r){var a=r.xaxis,n=r.yaxis,i=a.type==="log",o=n.type==="log",s=a._length,l=n._length,u=r.connectGaps,c=r.baseTolerance,d=r.shape,h=d==="linear",p=r.fill&&r.fill!=="none",g=[],m=xb.minTolerance,b=t.length,_=new Array(b),x=0,A,w,M,L,S,q,R,z,F,N,j,B,V,W,Q,Y;function $(de){var ze=t[de];if(!ze)return!1;var He=r.linearized?a.l2p(ze.x):a.c2p(ze.x),Ee=r.linearized?n.l2p(ze.y):n.c2p(ze.y);if(He===Ef){if(i&&(He=a.c2p(ze.x,!0)),He===Ef)return!1;o&&Ee===Ef&&(He*=Math.abs(a._m*l*(a._m>0?mI:gI)/(n._m*s*(n._m>0?mI:gI)))),He*=1e3}if(Ee===Ef){if(o&&(Ee=n.c2p(ze.y,!0)),Ee===Ef)return!1;Ee*=1e3}return[He,Ee]}function re(de,ze,He,Ee){var ge=He-de,xe=Ee-ze,Re=.5-de,Pe=.5-ze,Ie=ge*ge+xe*xe,Be=ge*Re+xe*Pe;if(Be>0&&Be1||Math.abs(Re.y-He[0][1])>1)&&(Re=[Re.x,Re.y],Ee&&he(Re,de)Se||de[1]qe)return[yI(de[0],ee,Se),yI(de[1],Te,qe)]}function Ye(de,ze){if(de[0]===ze[0]&&(de[0]===ee||de[0]===Se)||de[1]===ze[1]&&(de[1]===Te||de[1]===qe))return!0}function Ce(de,ze){var He=[],Ee=je(de),ge=je(ze);return Ee&&ge&&Ye(Ee,ge)||(Ee&&He.push(Ee),ge&&He.push(ge)),He}function st(de,ze,He){return function(Ee,ge){var xe=je(Ee),Re=je(ge),Pe=[];if(xe&&Re&&Ye(xe,Re))return Pe;xe&&Pe.push(xe),Re&&Pe.push(Re);var Ie=2*bb.constrain((Ee[de]+ge[de])/2,ze,He)-((xe||Ee)[de]+(Re||ge)[de]);if(Ie){var Be;xe&&Re?Be=Ie>0==xe[de]>Re[de]?xe:Re:Be=xe||Re,Be[de]+=Ie}return Pe}}var Ze;d==="linear"||d==="spline"?Ze=Ae:d==="hv"||d==="vh"?Ze=Ce:d==="hvh"?Ze=st(0,ee,Se):d==="vhv"&&(Ze=st(1,Te,qe));function lt(de,ze){var He=ze[0]-de[0],Ee=(ze[1]-de[1])/He,ge=(de[1]*ze[0]-ze[1]*de[0])/He;return ge>0?[Ee>0?ee:Se,qe]:[Ee>0?Se:ee,Te]}function tt(de){var ze=de[0],He=de[1],Ee=ze===_[x-1][0],ge=He===_[x-1][1];if(!(Ee&&ge))if(x>1){var xe=ze===_[x-2][0],Re=He===_[x-2][1];Ee&&(ze===ee||ze===Se)&&xe?Re?x--:_[x-1]=de:ge&&(He===Te||He===qe)&&Re?xe?x--:_[x-1]=de:_[x++]=de}else _[x++]=de}function dt(de){_[x-1][0]!==de[0]&&_[x-1][1]!==de[1]&&tt([Z,O]),tt(de),le=null,Z=O=0}function pt(de){if(ue=de[0]/s,ce=de[1]/l,Me=de[0]Se?Se:0,G=de[1]qe?qe:0,Me||G){if(!x)_[x++]=[Me||de[0],G||de[1]];else if(le){var ze=Ze(le,de);ze.length>1&&(dt(ze[0]),_[x++]=ze[1])}else be=Ze(_[x-1],de)[0],_[x++]=be;var He=_[x-1];Me&&G&&(He[0]!==Me||He[1]!==G)?(le&&(Z!==Me&&O!==G?tt(Z&&O?lt(le,de):[Z||Me,O||G]):Z&&O&&tt([Z,O])),tt([Me,G])):Z-Me&&O-G&&tt([Me||Z,G||O]),le=de,Z=Me,O=G}else le&&dt(Ze(le,de)[0]),_[x++]=de}for(A=0;Aye(q,fe))break;M=q,V=F[0]*z[0]+F[1]*z[1],V>j?(j=V,L=q,R=!1):V=t.length||!q)break;pt(q),w=q}}le&&tt([Z||le[0],O||le[1]]),g.push(_.slice(0,x))}return g}});var TI=E((Ube,wI)=>{"use strict";var _I={tonextx:1,tonexty:1,tonext:1};wI.exports=function(t,r,a){var n,i,o,s,l,u={},c=!1,d=-1,h=0,p=-1;for(i=0;i=0?l=p:(l=p=h,h++),l{"use strict";var zn=Et(),mse=ht(),zf=De(),wl=zf.ensureSingle,AI=zf.identity,vr=Kt(),Tl=Va(),gse=xI(),yse=TI(),bse=S0().tester;MI.exports=function(t,r,a,n,i,o){var s,l,u=!i,c=!!i&&i.duration>0,d=yse(t,r,a);if(s=n.selectAll("g.trace").data(d,function(p){return p[0].trace.uid}),s.enter().append("g").attr("class",function(p){return"trace scatter trace"+p[0].trace.uid}).style("stroke-miterlimit",2),s.order(),xse(t,s,r),c){o&&(l=o());var h=zn.transition().duration(i.duration).ease(i.easing).each("end",function(){l&&l()}).each("interrupt",function(){l&&l()});h.each(function(){n.selectAll("g.trace").each(function(p,g){kI(t,g,r,p,d,this,i)})})}else s.each(function(p,g){kI(t,g,r,p,d,this,i)});u&&s.exit().remove(),n.selectAll("path:not([d])").remove()};function xse(e,t,r){t.each(function(a){var n=wl(zn.select(this),"g","fills");vr.setClipUrl(n,r.layerClipId,e);var i=a[0].trace,o=[];i._ownfill&&o.push("_ownFill"),i._nexttrace&&o.push("_nextFill");var s=n.selectAll("g").data(o,AI);s.enter().append("g"),s.exit().each(function(l){i[l]=null}).remove(),s.order().each(function(l){i[l]=wl(zn.select(this),"path","js-fill")})})}function kI(e,t,r,a,n,i,o){var s;_se(e,t,r,a,n);var l=!!o&&o.duration>0;function u(Z){return l?Z.transition():Z}var c=r.xaxis,d=r.yaxis,h=a[0].trace,p=h.line,g=zn.select(i),m=wl(g,"g","errorbars"),b=wl(g,"g","lines"),_=wl(g,"g","points"),x=wl(g,"g","text");if(mse.getComponentMethod("errorbars","plot")(e,m,r,o),h.visible!==!0)return;u(g).style("opacity",h.opacity);var A,w,M=h.fill.charAt(h.fill.length-1);M!=="x"&&M!=="y"&&(M=""),a[0][r.isRangePlot?"nodeRangePlot3":"node3"]=g;var L="",S=[],q=h._prevtrace;q&&(L=q._prevRevpath||"",w=q._nextFill,S=q._polygons);var R,z,F="",N="",j,B,V,W,Q,Y,$,re=[],ue=zf.noop;if(A=h._ownFill,Tl.hasLines(h)||h.fill!=="none"){for(w&&w.datum(a),["hv","vh","hvh","vhv"].indexOf(p.shape)!==-1?(j=vr.steps(p.shape),B=vr.steps(p.shape.split("").reverse().join(""))):p.shape==="spline"?j=B=function(Z){var O=Z[Z.length-1];return Z.length>1&&Z[0][0]===O[0]&&Z[0][1]===O[1]?vr.smoothclosed(Z.slice(1),p.smoothing):vr.smoothopen(Z,p.smoothing)}:j=B=function(Z){return"M"+Z.join("L")},V=function(Z){return B(Z.reverse())},re=gse(a,{xaxis:c,yaxis:d,connectGaps:h.connectgaps,baseTolerance:Math.max(p.width||1,3)/4,shape:p.shape,simplify:p.simplify,fill:h.fill}),$=h._polygons=new Array(re.length),s=0;s1){var le=zn.select(this);if(le.datum(a),Z)u(le.style("opacity",0).attr("d",R).call(vr.lineGroupStyle)).style("opacity",1);else{var be=u(le);be.attr("d",R),vr.singleLineStyle(a,be)}}}}}var ce=b.selectAll(".js-line").data(re);u(ce.exit()).style("opacity",0).remove(),ce.each(ue(!1)),ce.enter().append("path").classed("js-line",!0).style("vector-effect","non-scaling-stroke").call(vr.lineGroupStyle).each(ue(!0)),vr.setClipUrl(ce,r.layerClipId,e);function ye(Z){u(Z).attr("d","M0,0Z")}re.length?(A?(A.datum(a),W&&Y&&(M?(M==="y"?W[1]=Y[1]=d.c2p(0,!0):M==="x"&&(W[0]=Y[0]=c.c2p(0,!0)),u(A).attr("d","M"+Y+"L"+W+"L"+F.substr(1)).call(vr.singleFillStyle)):u(A).attr("d",F+"Z").call(vr.singleFillStyle))):w&&(h.fill.substr(0,6)==="tonext"&&F&&L?(h.fill==="tonext"?u(w).attr("d",F+"Z"+L+"Z").call(vr.singleFillStyle):u(w).attr("d",F+"L"+L.substr(1)+"Z").call(vr.singleFillStyle),h._polygons=h._polygons.concat(S)):(ye(w),h._polygons=null)),h._prevRevpath=N,h._prevPolygons=$):(A?ye(A):w&&ye(w),h._polygons=h._prevRevpath=h._prevPolygons=null);function he(Z){return Z.filter(function(O){return!O.gap&&O.vis})}function we(Z){return Z.filter(function(O){return O.vis})}function ee(Z){return Z.filter(function(O){return!O.gap})}function Se(Z){return Z.id}function Te(Z){if(Z.ids)return Se}function qe(){return!1}function Ue(Z,O,le){var be,Ae,je,Ye=le[0].trace,Ce=Tl.hasMarkers(Ye),st=Tl.hasText(Ye),Ze=Te(Ye),lt=qe,tt=qe;if(Ce||st){var dt=AI,pt=Ye.stackgroup,fe=pt&&e._fullLayout._scatterStackOpts[c._id+d._id][pt].stackgaps==="infer zero";Ye.marker.maxdisplayed||Ye._needsCull?dt=fe?we:he:pt&&!fe&&(dt=ee),Ce&&(lt=dt),st&&(tt=dt)}Ae=Z.selectAll("path.point"),be=Ae.data(lt,Ze);var de=be.enter().append("path").classed("point",!0);l&&de.call(vr.pointStyle,Ye,e).call(vr.translatePoints,c,d).style("opacity",0).transition().style("opacity",1),be.order();var ze;Ce&&(ze=vr.makePointStyleFns(Ye)),be.each(function(He){var Ee=zn.select(this),ge=u(Ee);je=vr.translatePoint(He,ge,c,d),je?(vr.singlePointStyle(He,ge,Ye,ze,e),r.layerClipId&&vr.hideOutsideRangePoint(He,ge,c,d,Ye.xcalendar,Ye.ycalendar),Ye.customdata&&Ee.classed("plotly-customdata",He.data!==null&&He.data!==void 0)):ge.remove()}),l?be.exit().transition().style("opacity",0).remove():be.exit().remove(),Ae=O.selectAll("g"),be=Ae.data(tt,Ze),be.enter().append("g").classed("textpoint",!0).append("text"),be.order(),be.each(function(He){var Ee=zn.select(this),ge=u(Ee.select("text"));je=vr.translatePoint(He,ge,c,d),je?r.layerClipId&&vr.hideOutsideRangePoint(He,Ee,c,d,Ye.xcalendar,Ye.ycalendar):Ee.remove()}),be.selectAll("text").call(vr.textPointStyle,Ye,e).each(function(He){var Ee=c.c2p(He.x),ge=d.c2p(He.y);zn.select(this).selectAll("tspan.line").each(function(){u(zn.select(this)).attr({x:Ee,y:ge})})}),be.exit().remove()}_.datum(a),x.datum(a),Ue(_,x,a);var Me=h.cliponaxis===!1,G=Me?null:r.layerClipId;vr.setClipUrl(_,G,e),vr.setClipUrl(x,G,e)}function _se(e,t,r,a,n){var i=r.xaxis,o=r.yaxis,s=zn.extent(zf.simpleMap(i.range,i.r2c)),l=zn.extent(zf.simpleMap(o.range,o.r2c)),u=a[0].trace;if(!!Tl.hasMarkers(u)){var c=u.marker.maxdisplayed;if(c!==0){var d=a.filter(function(m){return m.x>=s[0]&&m.x<=s[1]&&m.y>=l[0]&&m.y<=l[1]}),h=Math.ceil(d.length/c),p=0;n.forEach(function(m,b){var _=m[0].trace;Tl.hasMarkers(_)&&_.marker.maxdisplayed>0&&b{"use strict";CI.exports={container:"marker",min:"cmin",max:"cmax"}});var LI=E((Vbe,qI)=>{"use strict";var xv=rr();qI.exports=function(t,r,a){var n={},i={_fullLayout:a},o=xv.getFromTrace(i,r,"x"),s=xv.getFromTrace(i,r,"y");return n.xLabel=xv.tickText(o,o.c2l(t.x),!0).text,n.yLabel=xv.tickText(s,s.c2l(t.y),!0).text,n}});var kb=E((Ybe,DI)=>{"use strict";var wb=Et(),Al=Kt(),wse=ht();function Tse(e){var t=wb.select(e).selectAll("g.trace.scatter");t.style("opacity",function(r){return r[0].trace.opacity}),t.selectAll("g.points").each(function(r){var a=wb.select(this),n=r.trace||r[0].trace;Tb(a,n,e)}),t.selectAll("g.text").each(function(r){var a=wb.select(this),n=r.trace||r[0].trace;Ab(a,n,e)}),t.selectAll("g.trace path.js-line").call(Al.lineGroupStyle),t.selectAll("g.trace path.js-fill").call(Al.fillGroupStyle),wse.getComponentMethod("errorbars","style")(t)}function Tb(e,t,r){Al.pointStyle(e.selectAll("path.point"),t,r)}function Ab(e,t,r){Al.textPointStyle(e.selectAll("text"),t,r)}function Ase(e,t,r){var a=t[0].trace;a.selectedpoints?(Al.selectedPointStyle(r.selectAll("path.point"),a),Al.selectedTextStyle(r.selectAll("text"),a)):(Tb(r,a,e),Ab(r,a,e))}DI.exports={style:Tse,stylePoints:Tb,styleText:Ab,styleOnSelect:Ase}});var PI=E((Zbe,RI)=>{"use strict";var kl=It(),kse=Va();RI.exports=function(t,r){var a,n;if(t.mode==="lines")return a=t.line.color,a&&kl.opacity(a)?a:t.fillcolor;if(t.mode==="none")return t.fill?t.fillcolor:"";var i=r.mcc||(t.marker||{}).color,o=r.mlcc||((t.marker||{}).line||{}).color;return n=i&&kl.opacity(i)?i:o&&kl.opacity(o)&&(r.mlw||((t.marker||{}).line||{}).width)?o:"",n?kl.opacity(n)<.3?kl.addOpacity(n,.3):n:(a=(t.line||{}).color,a&&kl.opacity(a)&&kse.hasLines(t)&&t.line.width?a:t.fillcolor)}});var zI=E((Xbe,EI)=>{"use strict";var Mb=De(),II=Ti(),Mse=ht(),Sse=PI(),Sb=It(),Cse=Mb.fillText;EI.exports=function(t,r,a,n){var i=t.cd,o=i[0].trace,s=t.xa,l=t.ya,u=s.c2p(r),c=l.c2p(a),d=[u,c],h=o.hoveron||"",p=o.mode.indexOf("markers")!==-1?3:.5,g=!!o.xperiodalignment,m=!!o.yperiodalignment;if(h.indexOf("points")!==-1){var b=function(Ue){if(g){var Me=s.c2p(Ue.xStart),G=s.c2p(Ue.xEnd);return u>=Math.min(Me,G)&&u<=Math.max(Me,G)?0:1/0}var Z=Math.max(3,Ue.mrc||0),O=1-1/Z,le=Math.abs(s.c2p(Ue.x)-u);return le=Math.min(Me,G)&&c<=Math.max(Me,G)?0:1/0}var Z=Math.max(3,Ue.mrc||0),O=1-1/Z,le=Math.abs(l.c2p(Ue.y)-c);return leTe!=Se>=Te&&(he=ce[re-1][0],we=ce[re][0],Se-ee&&(ye=he+(we-he)*(Te-ee)/(Se-ee),V=Math.min(V,ye),W=Math.max(W,ye)));V=Math.max(V,0),W=Math.min(W,s._length);var qe=Sb.defaultLine;return Sb.opacity(o.fillcolor)?qe=o.fillcolor:Sb.opacity((o.line||{}).color)&&(qe=o.line.color),Mb.extendFlat(t,{distance:t.maxHoverDistance,x0:V,x1:W,y0:Te,y1:Te,color:qe,hovertemplate:!1}),delete t.index,o.text&&!Array.isArray(o.text)?t.text=String(o.text):t.text=o.name,[t]}}}});var jI=E((Qbe,FI)=>{"use strict";var NI=Va();FI.exports=function(t,r){var a=t.cd,n=t.xaxis,i=t.yaxis,o=[],s=a[0].trace,l,u,c,d,h=!NI.hasMarkers(s)&&!NI.hasText(s);if(h)return[];if(r===!1)for(l=0;l{"use strict";OI.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 WI=E(($be,GI)=>{"use strict";var Nf=ht().traceIs,Cb=$g();GI.exports=function(t,r,a,n){a("autotypenumbers",n.autotypenumbersDflt);var i=a("type",(n.splomStash||{}).type);i==="-"&&(qse(r,n.data),r.type==="-"?r.type="linear":t.type=r.type)};function qse(e,t){if(e.type==="-"){var r=e._id,a=r.charAt(0),n;r.indexOf("scene")!==-1&&(r=a);var i=Lse(t,r,a);if(!!i){if(i.type==="histogram"&&a==={v:"y",h:"x"}[i.orientation||"v"]){e.type="linear";return}var o=a+"calendar",s=i[o],l={noMultiCategory:!Nf(i,"cartesian")||Nf(i,"noMultiCategory")};if(i.type==="box"&&i._hasPreCompStats&&a==={h:"x",v:"y"}[i.orientation||"v"]&&(l.noMultiCategory=!0),l.autotypenumbers=e.autotypenumbers,UI(i,a)){var u=BI(i),c=[];for(n=0;n0&&(n["_"+r+"axes"]||{})[t])return n;if((n[r+"axis"]||r)===t){if(UI(n,r))return n;if((n[r]||[]).length||n[r+"0"])return n}}}function BI(e){return{v:"x",h:"y"}[e.orientation||"v"]}function UI(e,t){var r=BI(e),a=Nf(e,"box-violin"),n=Nf(e._fullInput||{},"candlestick");return a&&!n&&t===r&&e[r]===void 0&&e[r+"0"]===void 0}});var YI=E((Jbe,VI)=>{"use strict";function Dse(e,t){var r=t.dataAttr||e._id.charAt(0),a={},n,i,o;if(t.axData)n=t.axData;else for(n=[],i=0;i0,s;o&&(s="array");var l=a("categoryorder",s),u;l==="array"&&(u=a("categoryarray")),!o&&l==="array"&&(l=r.categoryorder="trace"),l==="trace"?r._initialCategories=[]:l==="array"?r._initialCategories=u.slice():(u=Dse(r,n).sort(),l==="category ascending"?r._initialCategories=u:l==="category descending"&&(r._initialCategories=u.reverse()))}}});var XI=E((e1e,ZI)=>{"use strict";var Rse=An().mix,Pse=hi().lightFraction,Ise=De();ZI.exports=function(t,r,a,n){n=n||{};var i=n.dfltColor;function o(_,x){return Ise.coerce2(t,r,n.attributes,_,x)}var s=o("linecolor",i),l=o("linewidth"),u=a("showline",n.showLine||!!s||!!l);u||(delete r.linecolor,delete r.linewidth);var c=Rse(i,n.bgColor,n.blend||Pse).toRgbString(),d=o("gridcolor",c),h=o("gridwidth"),p=a("showgrid",n.showGrid||!!d||!!h);if(p||(delete r.gridcolor,delete r.gridwidth),!n.noZeroLine){var g=o("zerolinecolor",i),m=o("zerolinewidth"),b=a("zeroline",n.showGrid||!!g||!!m);b||(delete r.zerolinecolor,delete r.zerolinewidth)}}});var Lb=E((t1e,JI)=>{"use strict";var QI=zt(),Ese=ht(),Ff=De(),zse=Kn(),qb=Qn(),Nse=Pg(),Fse=zg(),jse=Fg(),Ose=jg(),Hse=YI(),Bse=XI(),KI=nh(),_v=Jr().WEEKDAY_PATTERN,Use=Jr().HOUR_PATTERN;JI.exports=function(t,r,a,n,i){var o=n.letter,s=n.font||{},l=n.splomStash||{},u=a("visible",!n.visibleDflt),c=r._template||{},d=r.type||c.type||"-",h;if(d==="date"){var p=Ese.getComponentMethod("calendars","handleDefaults");p(t,r,"calendar",n.calendar),n.noTicklabelmode||(h=a("ticklabelmode"))}var g="";(!n.noTicklabelposition||d==="multicategory")&&(g=Ff.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")),n.noTicklabeloverflow||a("ticklabeloverflow",g.indexOf("inside")!==-1?"hide past domain":d==="category"||d==="multicategory"?"allow":"hide past div"),KI(r,i);var m=!r.isValidRange(t.range);m&&n.reverseDflt&&(m="reversed");var b=a("autorange",m);b&&(d==="linear"||d==="-")&&a("rangemode"),a("range"),r.cleanRange(),Hse(t,r,a,n),d!=="category"&&!n.noHover&&a("hoverformat");var _=a("color"),x=_!==qb.color.dflt?_:s.color,A=l.label||i._dfltTitle[o];if(Ose(t,r,a,d,n),!u)return r;a("title.text",A),Ff.coerceFont(a,"title.font",{family:s.family,size:Ff.bigFont(s.size),color:x}),Nse(t,r,a,d),jse(t,r,a,d,n),Fse(t,r,a,n),Bse(t,r,a,{dfltColor:_,bgColor:n.bgColor,showGrid:n.showGrid,attributes:qb}),(r.showline||r.ticks)&&a("mirror"),n.automargin&&a("automargin");var w=d==="multicategory";if(!n.noTickson&&(d==="category"||w)&&(r.ticks||r.showgrid)){var M;w&&(M="boundaries");var L=a("tickson",M);L==="boundaries"&&delete r.ticklabelposition}if(w){var S=a("showdividers");S&&(a("dividercolor"),a("dividerwidth"))}if(d==="date")if(zse(t,r,{name:"rangebreaks",inclusionAttr:"enabled",handleItemDefaults:Gse}),!r.rangebreaks.length)delete r.rangebreaks;else{for(var q=0;q=2){var o="",s,l;if(i.length===2){for(s=0;s<2;s++)if(l=$I(i[s]),l){o=_v;break}}var u=a("pattern",o);if(u===_v)for(s=0;s<2;s++)l=$I(i[s]),l&&(t.bounds[s]=i[s]=l-1);if(u)for(s=0;s<2;s++)switch(l=i[s],u){case _v:if(!QI(l)){t.enabled=!1;return}if(l=+l,l!==Math.floor(l)||l<0||l>=7){t.enabled=!1;return}t.bounds[s]=i[s]=l;break;case Use:if(!QI(l)){t.enabled=!1;return}if(l=+l,l<0||l>24){t.enabled=!1;return}t.bounds[s]=i[s]=l;break}if(r.autorange===!1){var c=r.range;if(c[0]c[1]){t.enabled=!1;return}}else if(i[0]>c[0]&&i[1]{"use strict";var Vse=zt(),wv=De();eE.exports=function(t,r,a,n){var i=n.counterAxes||[],o=n.overlayableAxes||[],s=n.letter,l=n.grid,u,c,d,h;l&&(c=l._domains[s][l._axisMap[r._id]],u=l._anchors[r._id],c&&(d=l[s+"side"].split(" ")[0],h=l.domain[s][d==="right"||d==="top"?1:0])),c=c||[0,1],u=u||(Vse(t.position)?"free":i[0]||"free"),d=d||(s==="x"?"bottom":"left"),h=h||0;var p=wv.coerce(t,r,{anchor:{valType:"enumerated",values:["free"].concat(i),dflt:u}},"anchor");p==="free"&&a("position",h),wv.coerce(t,r,{side:{valType:"enumerated",values:s==="x"?["bottom","top"]:["left","right"],dflt:d}},"side");var g=!1;if(o.length&&(g=wv.coerce(t,r,{overlaying:{valType:"enumerated",values:[!1].concat(o),dflt:!1}},"overlaying")),!g){var m=a("domain",c);m[0]>m[1]-1/4096&&(r.domain=c),wv.noneOrAll(t.domain,r.domain,c)}return a("layer"),r}});var uE=E((a1e,lE)=>{"use strict";var ns=De(),tE=It(),Yse=bi().isUnifiedHover,Zse=Ky(),rE=sr(),Xse=Us(),aE=Qn(),Qse=WI(),nE=Lb(),Kse=of(),iE=Db(),Rb=Er(),no=Rb.id2name,oE=Rb.name2id,$se=Jr().AX_ID_PATTERN,sE=ht(),jf=sE.traceIs,Pb=sE.getComponentMethod;function Tv(e,t,r){Array.isArray(e[t])?e[t].push(r):e[t]=[r]}lE.exports=function(t,r,a){var n=r.autotypenumbers,i={},o={},s={},l={},u={},c={},d={},h={},p={},g={},m,b;for(m=0;m{"use strict";var Jse=Et(),fE=ht(),Av=De(),Xa=Kt(),kv=rr();cE.exports=function(t,r,a,n){var i=t._fullLayout;if(r.length===0){kv.redrawComponents(t);return}function o(b){var _=b.xaxis,x=b.yaxis;i._defs.select("#"+b.clipId+"> rect").call(Xa.setTranslate,0,0).call(Xa.setScale,1,1),b.plot.call(Xa.setTranslate,_._offset,x._offset).call(Xa.setScale,1,1);var A=b.plot.selectAll(".scatterlayer .trace");A.selectAll(".point").call(Xa.setPointGroupScale,1,1),A.selectAll(".textpoint").call(Xa.setTextPointsScale,1,1),A.call(Xa.hideOutsideRangePoints,b)}function s(b,_){var x=b.plotinfo,A=x.xaxis,w=x.yaxis,M=A._length,L=w._length,S=!!b.xr1,q=!!b.yr1,R=[];if(S){var z=Av.simpleMap(b.xr0,A.r2l),F=Av.simpleMap(b.xr1,A.r2l),N=z[1]-z[0],j=F[1]-F[0];R[0]=(z[0]*(1-_)+_*F[0]-z[0])/(z[1]-z[0])*M,R[2]=M*(1-_+_*j/N),A.range[0]=A.l2r(z[0]*(1-_)+_*F[0]),A.range[1]=A.l2r(z[1]*(1-_)+_*F[1])}else R[0]=0,R[2]=M;if(q){var B=Av.simpleMap(b.yr0,w.r2l),V=Av.simpleMap(b.yr1,w.r2l),W=B[1]-B[0],Q=V[1]-V[0];R[1]=(B[1]*(1-_)+_*V[1]-B[1])/(B[0]-B[1])*L,R[3]=L*(1-_+_*Q/W),w.range[0]=A.l2r(B[0]*(1-_)+_*V[0]),w.range[1]=w.l2r(B[1]*(1-_)+_*V[1])}else R[1]=0,R[3]=L;kv.drawOne(t,A,{skipTitle:!0}),kv.drawOne(t,w,{skipTitle:!0}),kv.redrawComponents(t,[A._id,w._id]);var Y=S?M/R[2]:1,$=q?L/R[3]:1,re=S?R[0]:0,ue=q?R[1]:0,ce=S?R[0]/R[2]*M:0,ye=q?R[1]/R[3]*L:0,he=A._offset-ce,we=w._offset-ye;x.clipRect.call(Xa.setTranslate,re,ue).call(Xa.setScale,1/Y,1/$),x.plot.call(Xa.setTranslate,he,we).call(Xa.setScale,Y,$),Xa.setPointGroupScale(x.zoomScalePts,1/Y,1/$),Xa.setTextPointsScale(x.zoomScaleTxt,1/Y,1/$)}var l;n&&(l=n());function u(){for(var b={},_=0;_a.duration?(u(),p=window.cancelAnimationFrame(m)):p=window.requestAnimationFrame(m)}return d=Date.now(),p=window.requestAnimationFrame(m),Promise.resolve()}});var Cv=E(aa=>{"use strict";var Mv=Et(),hE=ht(),Sv=De(),ele=Dr(),tle=Kt(),vE=dg().getModuleCalcData,is=Er(),si=Jr(),rle=jo(),Zt=Sv.ensureSingle;function pE(e,t,r){return Sv.ensureSingle(e,t,r,function(a){a.datum(r)})}aa.name="cartesian";aa.attr=["xaxis","yaxis"];aa.idRoot=["x","y"];aa.idRegex=si.idRegex;aa.attrRegex=si.attrRegex;aa.attributes=HI();aa.layoutAttributes=Qn();aa.supplyLayoutDefaults=uE();aa.transitionAxes=dE();aa.finalizeSubplots=function(e,t){var r=t._subplots,a=r.xaxis,n=r.yaxis,i=r.cartesian,o=i.concat(r.gl2d||[]),s={},l={},u,c,d;for(u=0;u{"use strict";var qv=Va();xE.exports={hasLines:qv.hasLines,hasMarkers:qv.hasMarkers,hasText:qv.hasText,isBubble:qv.isBubble,attributes:Pf(),supplyDefaults:Y4(),crossTraceDefaults:X4(),calc:gb().calc,crossTraceCalc:hI(),arraysToCalcdata:cb(),plot:SI(),colorbar:_b(),formatLabels:LI(),style:kb().style,styleOnSelect:kb().styleOnSelect,hoverPoints:zI(),selectPoints:jI(),animatable:!0,moduleType:"trace",name:"scatter",basePlotModule:Cv(),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 TE=E((s1e,wE)=>{"use strict";wE.exports={moduleType:"component",name:"legend",layoutAttributes:Sy(),supplyLayoutDefaults:Ly(),draw:Vy(),style:Oy()}});var Ib=E((l1e,AE)=>{"use strict";AE.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 SE=E((u1e,ME)=>{"use strict";var nle=Et(),ile=It(),kE=Ib(),Eb=De(),ole=Eb.strScale,sle=Eb.strRotate,lle=Eb.strTranslate;ME.exports=function(t,r,a){var n=t.node(),i=kE[a.arrowhead||0],o=kE[a.startarrowhead||0],s=(a.arrowwidth||1)*(a.arrowsize||1),l=(a.arrowwidth||1)*(a.startarrowsize||1),u=r.indexOf("start")>=0,c=r.indexOf("end")>=0,d=i.backoff*s+a.standoff,h=o.backoff*l+a.startstandoff,p,g,m,b;if(n.nodeName==="line"){p={x:+t.attr("x1"),y:+t.attr("y1")},g={x:+t.attr("x2"),y:+t.attr("y2")};var _=p.x-g.x,x=p.y-g.y;if(m=Math.atan2(x,_),b=m+Math.PI,d&&h&&d+h>Math.sqrt(_*_+x*x)){B();return}if(d){if(d*d>_*_+x*x){B();return}var A=d*Math.cos(m),w=d*Math.sin(m);g.x+=A,g.y+=w,t.attr({x2:g.x,y2:g.y})}if(h){if(h*h>_*_+x*x){B();return}var M=h*Math.cos(m),L=h*Math.sin(m);p.x-=M,p.y-=L,t.attr({x1:p.x,y1:p.y})}}else if(n.nodeName==="path"){var S=n.getTotalLength(),q="";if(S{"use strict";var CE=Et(),zb=ht(),ule=Dr(),io=De(),Nb=io.strTranslate,Of=rr(),os=It(),Ci=Kt(),qE=Ti(),Fb=Fa(),jb=Ki(),Hf=qn(),fle=sr().arrayEditor,cle=SE();RE.exports={draw:dle,drawOne:LE,drawRaw:DE};function dle(e){var t=e._fullLayout;t._infolayer.selectAll(".annotation").remove();for(var r=0;r2/3?St="right":St="center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[St]}for(var Me=!1,G=["x","y"],Z=0;Z1)&&(be===le?(Ee=Ae.r2fraction(t["a"+O]),(Ee<0||Ee>1)&&(Me=!0)):Me=!0),dt=Ae._offset+Ae.r2p(t[O]),de=.5}else{var ge=He==="domain";O==="x"?(fe=t[O],dt=ge?Ae._offset+Ae._length*fe:dt=s.l+s.w*fe):(fe=1-t[O],dt=ge?Ae._offset+Ae._length*fe:dt=s.t+s.h*fe),de=t.showarrow?.5:fe}if(t.showarrow){tt.head=dt;var xe=t["a"+O];if(ze=Ye*Ue(.5,t.xanchor)-Ce*Ue(.5,t.yanchor),be===le){var Re=Of.getRefType(be);Re==="domain"?(O==="y"&&(xe=1-xe),tt.tail=Ae._offset+Ae._length*xe):Re==="paper"?O==="y"?(xe=1-xe,tt.tail=s.t+s.h*xe):tt.tail=s.l+s.w*xe:tt.tail=Ae._offset+Ae.r2p(xe),pt=ze}else tt.tail=dt+xe,pt=ze+xe;tt.text=tt.tail+ze;var Pe=o[O==="x"?"width":"height"];if(le==="paper"&&(tt.head=io.constrain(tt.head,1,Pe-1)),be==="pixel"){var Ie=-Math.max(tt.tail-3,tt.text),Be=Math.min(tt.tail+3,tt.text)-Pe;Ie>0?(tt.tail+=Ie,tt.text+=Ie):Be>0&&(tt.tail-=Be,tt.text-=Be)}tt.tail+=lt,tt.head+=lt}else ze=st*Ue(de,Ze),pt=ze,tt.text=dt+ze;tt.text+=lt,ze+=lt,pt+=lt,t["_"+O+"padplus"]=st/2+pt,t["_"+O+"padminus"]=st/2-pt,t["_"+O+"size"]=st,t["_"+O+"shift"]=ze}if(Me){S.remove();return}var ut=0,gt=0;if(t.align!=="left"&&(ut=(ee-he)*(t.align==="center"?.5:1)),t.valign!=="top"&&(gt=(Se-we)*(t.valign==="middle"?.5:1)),ce)ue.select("svg").attr({x:z+ut-1,y:z+gt}).call(Ci.setClipUrl,N?m:null,e);else{var it=z+gt-ye.top,Dt=z+ut-ye.left;W.call(Fb.positionText,Dt,it).call(Ci.setClipUrl,N?m:null,e)}j.select("rect").call(Ci.setRect,z,z,ee,Se),F.call(Ci.setRect,q/2,q/2,Te-q,qe-q),S.call(Ci.setTranslate,Math.round(b.x.text-Te/2),Math.round(b.y.text-qe/2)),A.attr({transform:"rotate("+_+","+b.x.text+","+b.y.text+")"});var Mt=function(Rt,St){x.selectAll(".annotation-arrow-g").remove();var wt=b.x.head,Ct=b.y.head,te=b.x.tail+Rt,_e=b.y.tail+St,ke=b.x.text+Rt,Fe=b.y.text+St,qt=io.rotationXYMatrix(_,ke,Fe),fr=io.apply2DTransform(qt),Or=io.apply2DTransform2(qt),Cr=+F.attr("width"),or=+F.attr("height"),na=ke-.5*Cr,Un=na+Cr,Qr=Fe-.5*or,Ba=Qr+or,xn=[[na,Qr,na,Ba],[na,Ba,Un,Ba],[Un,Ba,Un,Qr],[Un,Qr,na,Qr]].map(Or);if(!xn.reduce(function(cr,Gr){return cr^!!io.segmentsIntersect(wt,Ct,wt+1e6,Ct+1e6,Gr[0],Gr[1],Gr[2],Gr[3])},!1)){xn.forEach(function(cr){var Gr=io.segmentsIntersect(te,_e,wt,Ct,cr[0],cr[1],cr[2],cr[3]);Gr&&(te=Gr.x,_e=Gr.y)});var ma=t.arrowwidth,ui=t.arrowcolor,vo=t.arrowside,Ua=x.append("g").style({opacity:os.opacity(ui)}).classed("annotation-arrow-g",!0),ga=Ua.append("path").attr("d","M"+te+","+_e+"L"+wt+","+Ct).style("stroke-width",ma+"px").call(os.stroke,os.rgb(ui));if(cle(ga,vo,t),l.annotationPosition&&ga.node().parentNode&&!a){var ya=wt,ba=Ct;if(t.standoff){var ia=Math.sqrt(Math.pow(wt-te,2)+Math.pow(Ct-_e,2));ya+=t.standoff*(te-wt)/ia,ba+=t.standoff*(_e-Ct)/ia}var Ra=Ua.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(te-ya)+","+(_e-ba),transform:Nb(ya,ba)}).style("stroke-width",ma+6+"px").call(os.stroke,"rgba(0,0,0,0)").call(os.fill,"rgba(0,0,0,0)"),fi,Hr;Hf.init({element:Ra.node(),gd:e,prepFn:function(){var cr=Ci.getTranslate(S);fi=cr.x,Hr=cr.y,n&&n.autorange&&h(n._name+".autorange",!0),i&&i.autorange&&h(i._name+".autorange",!0)},moveFn:function(cr,Gr){var po=fr(fi,Hr),mo=po[0]+cr,Pi=po[1]+Gr;S.call(Ci.setTranslate,mo,Pi),p("x",oo(n,cr,"x",s,t)),p("y",oo(i,Gr,"y",s,t)),t.axref===t.xref&&p("ax",oo(n,cr,"ax",s,t)),t.ayref===t.yref&&p("ay",oo(i,Gr,"ay",s,t)),Ua.attr("transform",Nb(cr,Gr)),A.attr({transform:"rotate("+_+","+mo+","+Pi+")"})},doneFn:function(){zb.call("_guiRelayout",e,g());var cr=document.querySelector(".js-notes-box-panel");cr&&cr.redraw(cr.selectedObj)}})}}};if(t.showarrow&&Mt(0,0),w){var nt;Hf.init({element:S.node(),gd:e,prepFn:function(){nt=A.attr("transform")},moveFn:function(Rt,St){var wt="pointer";if(t.showarrow)t.axref===t.xref?p("ax",oo(n,Rt,"ax",s,t)):p("ax",t.ax+Rt),t.ayref===t.yref?p("ay",oo(i,St,"ay",s.w,t)):p("ay",t.ay+St),Mt(Rt,St);else{if(a)return;var Ct,te;if(n)Ct=oo(n,Rt,"x",s,t);else{var _e=t._xsize/s.w,ke=t.x+(t._xshift-t.xshift)/s.w-_e/2;Ct=Hf.align(ke+Rt/s.w,_e,0,1,t.xanchor)}if(i)te=oo(i,St,"y",s,t);else{var Fe=t._ysize/s.h,qt=t.y-(t._yshift+t.yshift)/s.h-Fe/2;te=Hf.align(qt-St/s.h,Fe,0,1,t.yanchor)}p("x",Ct),p("y",te),(!n||!i)&&(wt=Hf.getCursor(n?.5:Ct,i?.5:te,t.xanchor,t.yanchor))}A.attr({transform:Nb(Rt,St)+nt}),jb(S,wt)},clickFn:function(Rt,St){t.captureevents&&e.emit("plotly_clickannotation",L(St))},doneFn:function(){jb(S),zb.call("_guiRelayout",e,g());var Rt=document.querySelector(".js-notes-box-panel");Rt&&Rt.redraw(Rt.selectedObj)}})}}l.annotationText?W.call(Fb.makeEditable,{delegate:S,gd:e}).call(Q).on("edit",function($){t.text=$,this.call(Q),p("text",$),n&&n.autorange&&h(n._name+".autorange",!0),i&&i.autorange&&h(i._name+".autorange",!0),zb.call("_guiRelayout",e,g())}):W.call(Q)}});var FE=E((c1e,NE)=>{"use strict";var PE=De(),hle=ht(),IE=sr().arrayEditor;NE.exports={hasClickToShow:vle,onClick:ple};function vle(e,t){var r=EE(e,t);return r.on.length>0||r.explicitOff.length>0}function ple(e,t){var r=EE(e,t),a=r.on,n=r.off.concat(r.explicitOff),i={},o=e._fullLayout.annotations,s,l;if(!!(a.length||n.length)){for(s=0;s{"use strict";jE.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 Bf=E((h1e,GE)=>{"use strict";var OE=Ib(),HE=_a(),Rv=Jr(),mle=sr().templatedArray,Pv=Dv();function BE(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 UE(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(" ")}GE.exports=mle("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 (
), bold (), italics (),","hyperlinks (). Tags , , "," 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:HE({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
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
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:OE.length,dflt:1,editType:"arraydraw",description:"Sets the end annotation arrow head style."},startarrowhead:{valType:"integer",min:0,max:OE.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:[UE("x","left","right")].join(" ")},ay:{valType:"any",editType:"calc+arraydraw",description:[UE("y","top","bottom")].join(" ")},axref:{valType:"enumerated",dflt:"pixel",values:["pixel",Rv.idRegex.x.toString()],editType:"calc",description:["Indicates in what coordinates the tail of the","annotation (ax,ay) is specified.",Pv.axisRefDescription("ax","left","right"),BE("x")].join(" ")},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",Rv.idRegex.y.toString()],editType:"calc",description:["Indicates in what coordinates the tail of the","annotation (ax,ay) is specified.",Pv.axisRefDescription("ay","bottom","top"),BE("y")].join(" ")},xref:{valType:"enumerated",values:["paper",Rv.idRegex.x.toString()],editType:"calc",description:["Sets the annotation's x coordinate axis.",Pv.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",Rv.idRegex.y.toString()],editType:"calc",description:["Sets the annotation's y coordinate axis.",Pv.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:HE({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 Ob=E((v1e,VE)=>{"use strict";var WE=De(),Ml=It();VE.exports=function(t,r,a,n){n("opacity");var i=n("bgcolor"),o=n("bordercolor"),s=Ml.opacity(o);n("borderpad");var l=n("borderwidth"),u=n("showarrow");n("text",u?" ":a._dfltTitle.annotation),n("textangle"),WE.coerceFont(n,"font",a.font),n("width"),n("align");var c=n("height");if(c&&n("valign"),u){var d=n("arrowside"),h,p;d.indexOf("end")!==-1&&(h=n("arrowhead"),p=n("arrowsize")),d.indexOf("start")!==-1&&(n("startarrowhead",h),n("startarrowsize",p)),n("arrowcolor",s?r.bordercolor:Ml.defaultLine),n("arrowwidth",(s&&l||1)*2),n("standoff"),n("startstandoff")}var g=n("hovertext"),m=a.hoverlabel||{};if(g){var b=n("hoverlabel.bgcolor",m.bgcolor||(Ml.opacity(i)?Ml.rgb(i):Ml.defaultLine)),_=n("hoverlabel.bordercolor",m.bordercolor||Ml.contrast(b));WE.coerceFont(n,"hoverlabel.font",{family:m.font.family,size:m.font.size,color:m.font.color||_})}n("captureevents",!!g)}});var ZE=E((p1e,YE)=>{"use strict";var Hb=De(),ss=rr(),gle=Kn(),yle=Ob(),ble=Bf();YE.exports=function(t,r){gle(t,r,{name:"annotations",handleItemDefaults:xle})};function xle(e,t,r){function a(A,w){return Hb.coerce(e,t,ble,A,w)}var n=a("visible"),i=a("clicktoshow");if(!!(n||i)){yle(e,t,r,a);for(var o=t.showarrow,s=["x","y"],l=[-10,-30],u={_fullLayout:r},c=0;c<2;c++){var d=s[c],h=ss.coerceRef(e,t,u,d,"","paper");if(h!=="paper"){var p=ss.getFromId(u,h);p._annIndices.push(t._index)}if(ss.coercePosition(t,u,a,h,d,.5),o){var g="a"+d,m=ss.coerceRef(e,t,u,g,"pixel",["pixel","paper"]);m!=="pixel"&&m!==h&&(m=t[g]="pixel");var b=m==="pixel"?l[c]:.4;ss.coercePosition(t,u,a,m,g,b)}a(d+"anchor"),a(d+"shift")}if(Hb.noneOrAll(e,t,["x","y"]),o&&Hb.noneOrAll(e,t,["ax","ay"]),i){var _=a("xclick"),x=a("yclick");t._xclick=_===void 0?t.x:ss.cleanPosition(_,u,t.xref),t._yclick=x===void 0?t.y:ss.cleanPosition(x,u,t.yref)}}}});var Iv=E((m1e,KE)=>{"use strict";var _le=ht(),XE=De(),QE=Er();KE.exports=function(t){return function(a,n){var i=a[t];if(!!Array.isArray(i))for(var o=_le.subplotsRegistry.cartesian,s=o.idRegex,l=n._subplots,u=l.xaxis,c=l.yaxis,d=l.cartesian,h=n._has("cartesian")||n._has("gl2d"),p=0;p{"use strict";var Bb=De(),ls=rr(),wle=Lv().draw;JE.exports=function(t){var r=t._fullLayout,a=Bb.filterVisible(r.annotations);if(a.length&&t._fullData.length)return Bb.syncOrAsync([wle,Tle],t)};function Tle(e){var t=e._fullLayout;Bb.filterVisible(t.annotations).forEach(function(r){var a=ls.getFromId(e,r.xref),n=ls.getFromId(e,r.yref),i=ls.getRefType(r.xref),o=ls.getRefType(r.yref);r._extremes={},i==="range"&&$E(r,a),o==="range"&&$E(r,n)})}function $E(e,t){var r=t._id,a=r.charAt(0),n=e[a],i=e["a"+a],o=e[a+"ref"],s=e["a"+a+"ref"],l=e["_"+a+"padplus"],u=e["_"+a+"padminus"],c={x:1,y:-1}[a]*e[a+"shift"],d=3*e.arrowsize*e.arrowwidth||0,h=d+c,p=d-c,g=3*e.startarrowsize*e.arrowwidth||0,m=g+c,b=g-c,_;if(s===o){var x=ls.findExtremes(t,[t.r2c(n)],{ppadplus:h,ppadminus:p}),A=ls.findExtremes(t,[t.r2c(i)],{ppadplus:Math.max(l,m),ppadminus:Math.max(u,b)});_={min:[x.min[0],A.min[0]],max:[x.max[0],A.max[0]]}}else m=i?m+i:m,b=i?b-i:b,_=ls.findExtremes(t,[t.r2c(n)],{ppadplus:Math.max(l,h,m),ppadminus:Math.max(u,p,b)});e._extremes[r]=_}});var rz=E((y1e,tz)=>{"use strict";var Ale=zt(),kle=nd();tz.exports=function(t,r,a,n){r=r||{};var i=a==="log"&&r.type==="linear",o=a==="linear"&&r.type==="log";if(!(i||o))return;var s=t._fullLayout.annotations,l=r._id.charAt(0),u,c;function d(p){var g=u[p],m=null;i?m=kle(g,r.range):m=Math.pow(10,g),Ale(m)||(m=null),n(c+p,m)}for(var h=0;h{"use strict";var Ub=Lv(),az=FE();nz.exports={moduleType:"component",name:"annotations",layoutAttributes:Bf(),supplyLayoutDefaults:ZE(),includeBasePlot:Iv()("annotations"),calcAutorange:ez(),draw:Ub.draw,drawOne:Ub.drawOne,drawRaw:Ub.drawRaw,hasClickToShow:az.hasClickToShow,onClick:az.onClick,convertCoords:rz()}});var Ev=E((x1e,oz)=>{"use strict";var Qt=Bf(),Mle=Vi().overrideAll,Sle=sr().templatedArray;oz.exports=Mle(Sle("annotation",{visible:Qt.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:Qt.xanchor,xshift:Qt.xshift,yanchor:Qt.yanchor,yshift:Qt.yshift,text:Qt.text,textangle:Qt.textangle,font:Qt.font,width:Qt.width,height:Qt.height,opacity:Qt.opacity,align:Qt.align,valign:Qt.valign,bgcolor:Qt.bgcolor,bordercolor:Qt.bordercolor,borderpad:Qt.borderpad,borderwidth:Qt.borderwidth,showarrow:Qt.showarrow,arrowcolor:Qt.arrowcolor,arrowhead:Qt.arrowhead,startarrowhead:Qt.startarrowhead,arrowside:Qt.arrowside,arrowsize:Qt.arrowsize,startarrowsize:Qt.startarrowsize,arrowwidth:Qt.arrowwidth,standoff:Qt.standoff,startstandoff:Qt.startstandoff,hovertext:Qt.hovertext,hoverlabel:Qt.hoverlabel,captureevents:Qt.captureevents}),"calc","from-root")});var lz=E((_1e,sz)=>{"use strict";var Gb=De(),Cle=rr(),qle=Kn(),Lle=Ob(),Dle=Ev();sz.exports=function(t,r,a){qle(t,r,{name:"annotations",handleItemDefaults:Rle,fullLayout:a.fullLayout})};function Rle(e,t,r,a){function n(s,l){return Gb.coerce(e,t,Dle,s,l)}function i(s){var l=s+"axis",u={_fullLayout:{}};return u._fullLayout[l]=r[l],Cle.coercePosition(t,u,n,s,s,.5)}var o=n("visible");!o||(Lle(e,t,a.fullLayout,n),i("x"),i("y"),i("z"),Gb.noneOrAll(e,t,["x","y","z"]),t.xref="x",t.yref="y",t.zref="z",n("xanchor"),n("yanchor"),n("xshift"),n("yshift"),t.showarrow&&(t.axref="pixel",t.ayref="pixel",n("ax",-10),n("ay",-30),Gb.noneOrAll(e,t,["ax","ay"])))}});var dz=E((w1e,cz)=>{"use strict";var uz=De(),fz=rr();cz.exports=function(t){for(var r=t.fullSceneLayout,a=r.annotations,n=0;n{"use strict";function Wb(e,t){var r=[0,0,0,0],a,n;for(a=0;a<4;++a)for(n=0;n<4;++n)r[n]+=e[4*a+n]*t[a];return r}function Ile(e,t){var r=Wb(e.projection,Wb(e.view,Wb(e.model,[t[0],t[1],t[2],1])));return r}hz.exports=Ile});var mz=E((A1e,pz)=>{"use strict";var Ele=Lv().drawRaw,zle=vz(),Nle=["x","y","z"];pz.exports=function(t){for(var r=t.fullSceneLayout,a=t.dataScale,n=r.annotations,i=0;i1){s=!0;break}}s?t.fullLayout._infolayer.select(".annotation-"+t.id+'[data-index="'+i+'"]').remove():(o._pdata=zle(t.glplot.cameraParams,[r.xaxis.r2l(o.x)*a[0],r.yaxis.r2l(o.y)*a[1],r.zaxis.r2l(o.z)*a[2]]),Ele(t.graphDiv,o,i,t.id,o._xa,o._ya))}}});var bz=E((k1e,yz)=>{"use strict";var Fle=ht(),gz=De();yz.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:Ev()}}},layoutAttributes:Ev(),handleDefaults:lz(),includeBasePlot:jle,convert:dz(),draw:mz()};function jle(e,t){var r=Fle.subplotsRegistry.gl3d;if(!!r)for(var a=r.attrRegex,n=Object.keys(e),i=0;i{"use strict";var xz=Bf(),_z=Pf().line,Ole=Bs().dash,Uf=fa().extendFlat,Hle=sr().templatedArray,wz=Dv();Tz.exports=Hle("shape",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw",description:["Determines whether or not this shape is visible."].join(" ")},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"],dflt:"above",editType:"arraydraw",description:"Specifies whether shapes are drawn below or above traces."},xref:Uf({},xz.xref,{description:["Sets the shape's x coordinate axis.",wz.axisRefDescription("x","left","right"),"If the axis `type` is *log*, then you must take the","log of your desired range.","If the axis `type` is *date*, then you must convert","the date to unix time in milliseconds."].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(" ")},yref:Uf({},xz.yref,{description:["Sets the annotation's y coordinate axis.",wz.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(" ")},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:Uf({},_z.color,{editType:"arraydraw"}),width:Uf({},_z.width,{editType:"calc+arraydraw"}),dash:Uf({},Ole,{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(" ")},editType:"arraydraw"})});var Mz=E((S1e,kz)=>{"use strict";var Yb=De(),Sl=rr(),Ble=Kn(),Ule=Vb(),Az=Nh();kz.exports=function(t,r){Ble(t,r,{name:"shapes",handleItemDefaults:Gle})};function Gle(e,t,r){function a(j,B){return Yb.coerce(e,t,Ule,j,B)}var n=a("visible");if(!!n){var i=a("path"),o=i?"path":"rect",s=a("type",o);t.type!=="path"&&delete t.path,a("editable"),a("layer"),a("opacity"),a("fillcolor"),a("fillrule");var l=a("line.width");l&&(a("line.color"),a("line.dash"));for(var u=a("xsizemode"),c=a("ysizemode"),d=["x","y"],h=0;h<2;h++){var p=d[h],g=p+"anchor",m=p==="x"?u:c,b={_fullLayout:r},_,x,A,w=Sl.coerceRef(e,t,b,p,void 0,"paper"),M=Sl.getRefType(w);if(M==="range"?(_=Sl.getFromId(b,w),_._shapeIndices.push(t._index),A=Az.rangeToShapePosition(_),x=Az.shapePositionToRange(_)):x=A=Yb.identity,s!=="path"){var L=.25,S=.75,q=p+"0",R=p+"1",z=e[q],F=e[R];e[q]=x(e[q],!0),e[R]=x(e[R],!0),m==="pixel"?(a(q,0),a(R,10)):(Sl.coercePosition(t,b,a,w,q,L),Sl.coercePosition(t,b,a,w,R,S)),t[q]=A(t[q]),t[R]=A(t[R]),e[q]=z,e[R]=F}if(m==="pixel"){var N=e[g];e[g]=x(e[g],!0),Sl.coercePosition(t,b,a,w,g,.25),t[g]=A(t[g]),e[g]=N}}s==="path"?a("path"):Yb.noneOrAll(e,t,["x0","x1","y0","y1"])}}});var Cz=E((C1e,Sz)=>{"use strict";var Wle=It();Sz.exports=function(t,r,a){a("newshape.drawdirection"),a("newshape.layer"),a("newshape.fillcolor"),a("newshape.fillrule"),a("newshape.opacity");var n=a("newshape.line.width");if(n){var i=(t||{}).plot_bgcolor||"#FFF";a("newshape.line.color",Wle.contrast(i)),a("newshape.line.dash")}a("activeshape.fillcolor"),a("activeshape.opacity")}});var Pz=E((q1e,Rz)=>{"use strict";var Zb=De(),Cl=rr(),ql=zh(),qz=Nh();Rz.exports=function(t){var r=t._fullLayout,a=Zb.filterVisible(r.shapes);if(!(!a.length||!t._fullData.length))for(var n=0;n0?u+o:o;return{ppad:o,ppadplus:s?d:h,ppadminus:s?h:d}}else return{ppad:o}}function Dz(e,t,r,a,n){var i=e.type==="category"||e.type==="multicategory"?e.r2c:e.d2c;if(t!==void 0)return[i(t),i(r)];if(!!a){var o=1/0,s=-1/0,l=a.match(ql.segmentRE),u,c,d,h,p;for(e.type==="date"&&(i=qz.decodeDate(i)),u=0;us&&(s=p)));if(s>=o)return[o,s]}}});var zz=E((L1e,Ez)=>{"use strict";var Iz=c0();Ez.exports={moduleType:"component",name:"shapes",layoutAttributes:Vb(),supplyLayoutDefaults:Mz(),supplyDrawNewShapeDefaults:Cz(),includeBasePlot:Iv()("shapes"),calcAutorange:Pz(),draw:Iz.draw,drawOne:Iz.drawOne}});var Xb=E((D1e,jz)=>{"use strict";var Nz=Jr(),Zle=sr().templatedArray,Fz=Dv();jz.exports=Zle("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",Nz.idRegex.x.toString()],dflt:"paper",editType:"arraydraw",description:["Sets the images's x coordinate axis.",Fz.axisRefDescription("x","left","right")].join(" ")},yref:{valType:"enumerated",values:["paper",Nz.idRegex.y.toString()],dflt:"paper",editType:"arraydraw",description:["Sets the images's y coordinate axis.",Fz.axisRefDescription("y","bottom","top")].join(" ")},editType:"arraydraw"})});var Hz=E((R1e,Oz)=>{"use strict";var Xle=De(),Qb=rr(),Qle=Kn(),Kle=Xb(),$le="images";Oz.exports=function(t,r){var a={name:$le,handleItemDefaults:Jle};Qle(t,r,a)};function Jle(e,t,r){function a(h,p){return Xle.coerce(e,t,Kle,h,p)}var n=a("source"),i=a("visible",!!n);if(!i)return t;a("layer"),a("xanchor"),a("yanchor"),a("sizex"),a("sizey"),a("sizing"),a("opacity");for(var o={_fullLayout:r},s=["x","y"],l=0;l<2;l++){var u=s[l],c=Qb.coerceRef(e,t,o,u,"paper",void 0);if(c!=="paper"){var d=Qb.getFromId(o,c);d._imgIndices.push(t._index)}Qb.coercePosition(t,o,a,c,u,0)}return t}});var Wz=E((P1e,Gz)=>{"use strict";var Bz=Et(),eue=Kt(),Ll=rr(),Uz=Er(),tue=jo();Gz.exports=function(t){var r=t._fullLayout,a=[],n={},i=[],o,s;for(s=0;s{"use strict";var Vz=zt(),rue=nd();Yz.exports=function(t,r,a,n){r=r||{};var i=a==="log"&&r.type==="linear",o=a==="linear"&&r.type==="log";if(!!(i||o)){for(var s=t._fullLayout.images,l=r._id.charAt(0),u,c,d=0;d{"use strict";Xz.exports={moduleType:"component",name:"images",layoutAttributes:Xb(),supplyLayoutDefaults:Hz(),includeBasePlot:Iv()("images"),draw:Wz(),convertCoords:Zz()}});var zv=E((z1e,Kz)=>{"use strict";Kz.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 Kb=E((N1e,Jz)=>{"use strict";var aue=_a(),nue=hi(),iue=fa().extendFlat,oue=Vi().overrideAll,sue=gd(),$z=sr().templatedArray,lue=$z("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(" ")}});Jz.exports=oue($z("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:lue,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:iue(sue({editType:"arraydraw"}),{description:"Sets the padding around the buttons or dropdown menu."}),font:aue({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:nue.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 a8=E((F1e,r8)=>{"use strict";var Nv=De(),e8=Kn(),t8=Kb(),uue=zv(),fue=uue.name,cue=t8.buttons;r8.exports=function(t,r){var a={name:fue,handleItemDefaults:due};e8(t,r,a)};function due(e,t,r){function a(o,s){return Nv.coerce(e,t,t8,o,s)}var n=e8(e,t,{name:"buttons",handleItemDefaults:hue}),i=a("visible",n.length>0);!i||(a("active"),a("direction"),a("type"),a("showactive"),a("x"),a("y"),Nv.noneOrAll(e,t,["x","y"]),a("xanchor"),a("yanchor"),a("pad.t"),a("pad.r"),a("pad.b"),a("pad.l"),Nv.coerceFont(a,"font",r.font),a("bgcolor",r.paper_bgcolor),a("bordercolor"),a("borderwidth"))}function hue(e,t){function r(n,i){return Nv.coerce(e,t,cue,n,i)}var a=r("visible",e.method==="skip"||Array.isArray(e.args));a&&(r("method"),r("args"),r("args2"),r("label"),r("execute"))}});var o8=E((j1e,i8)=>{"use strict";i8.exports=ur;var Nn=Et(),n8=It(),Dl=Kt(),Fv=De();function ur(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})}ur.barWidth=2;ur.barLength=20;ur.barRadius=2;ur.barPad=1;ur.barColor="#808BA4";ur.prototype.enable=function(t,r,a){var n=this.gd._fullLayout,i=n.width,o=n.height;this.position=t;var s=this.position.l,l=this.position.w,u=this.position.t,c=this.position.h,d=this.position.direction,h=d==="down",p=d==="left",g=d==="right",m=d==="up",b=l,_=c,x,A,w,M;!h&&!p&&!g&&!m&&(this.position.direction="down",h=!0);var L=h||m;L?(x=s,A=x+b,h?(w=u,M=Math.min(w+_,o),_=M-w):(M=u+_,w=Math.max(M-_,0),_=M-w)):(w=u,M=w+_,p?(A=s+b,x=Math.max(A-b,0),b=A-x):(x=s,A=Math.min(x+b,i),b=A-x)),this._box={l:x,t:w,w:b,h:_};var S=l>b,q=ur.barLength+2*ur.barPad,R=ur.barWidth+2*ur.barPad,z=s,F=u+c;F+R>o&&(F=o-R);var N=this.container.selectAll("rect.scrollbar-horizontal").data(S?[0]:[]);N.exit().on(".drag",null).remove(),N.enter().append("rect").classed("scrollbar-horizontal",!0).call(n8.fill,ur.barColor),S?(this.hbar=N.attr({rx:ur.barRadius,ry:ur.barRadius,x:z,y:F,width:q,height:R}),this._hbarXMin=z+q/2,this._hbarTranslateMax=b-q):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var j=c>_,B=ur.barWidth+2*ur.barPad,V=ur.barLength+2*ur.barPad,W=s+l,Q=u;W+B>i&&(W=i-B);var Y=this.container.selectAll("rect.scrollbar-vertical").data(j?[0]:[]);Y.exit().on(".drag",null).remove(),Y.enter().append("rect").classed("scrollbar-vertical",!0).call(n8.fill,ur.barColor),j?(this.vbar=Y.attr({rx:ur.barRadius,ry:ur.barRadius,x:W,y:Q,width:B,height:V}),this._vbarYMin=Q+V/2,this._vbarTranslateMax=_-V):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var $=this.id,re=x-.5,ue=j?A+B+.5:A+.5,ce=w-.5,ye=S?M+R+.5:M+.5,he=n._topdefs.selectAll("#"+$).data(S||j?[0]:[]);if(he.exit().remove(),he.enter().append("clipPath").attr("id",$).append("rect"),S||j?(this._clipRect=he.select("rect").attr({x:Math.floor(re),y:Math.floor(ce),width:Math.ceil(ue)-Math.floor(re),height:Math.ceil(ye)-Math.floor(ce)}),this.container.call(Dl.setClipUrl,$,this.gd),this.bg.attr({x:s,y:u,width:l,height:c})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(Dl.setClipUrl,null),delete this._clipRect),S||j){var we=Nn.behavior.drag().on("dragstart",function(){Nn.event.sourceEvent.preventDefault()}).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(we);var ee=Nn.behavior.drag().on("dragstart",function(){Nn.event.sourceEvent.preventDefault(),Nn.event.sourceEvent.stopPropagation()}).on("drag",this._onBarDrag.bind(this));S&&this.hbar.on(".drag",null).call(ee),j&&this.vbar.on(".drag",null).call(ee)}this.setTranslate(r,a)};ur.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(Dl.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)};ur.prototype._onBoxDrag=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t-=Nn.event.dx),this.vbar&&(r-=Nn.event.dy),this.setTranslate(t,r)};ur.prototype._onBoxWheel=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t+=Nn.event.deltaY),this.vbar&&(r+=Nn.event.deltaY),this.setTranslate(t,r)};ur.prototype._onBarDrag=function(){var t=this.translateX,r=this.translateY;if(this.hbar){var a=t+this._hbarXMin,n=a+this._hbarTranslateMax,i=Fv.constrain(Nn.event.x,a,n),o=(i-a)/(n-a),s=this.position.w-this._box.w;t=o*s}if(this.vbar){var l=r+this._vbarYMin,u=l+this._vbarTranslateMax,c=Fv.constrain(Nn.event.y,l,u),d=(c-l)/(u-l),h=this.position.h-this._box.h;r=d*h}this.setTranslate(t,r)};ur.prototype.setTranslate=function(t,r){var a=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=Fv.constrain(t||0,0,a),r=Fv.constrain(r||0,0,n),this.translateX=t,this.translateY=r,this.container.call(Dl.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 i=t/a;this.hbar.call(Dl.setTranslate,t+i*this._hbarTranslateMax,r)}if(this.vbar){var o=r/n;this.vbar.call(Dl.setTranslate,t,r+o*this._vbarTranslateMax)}}});var m8=E((O1e,p8)=>{"use strict";var Rl=Et(),Gf=Dr(),Wf=It(),Pl=Kt(),Qa=De(),jv=Fa(),vue=sr().arrayEditor,s8=wa().LINE_SPACING,vt=zv(),pue=o8();p8.exports=function(t){var r=t._fullLayout,a=Qa.filterVisible(r[vt.name]);function n(h){Gf.autoMargin(t,h8(h))}var i=r._menulayer.selectAll("g."+vt.containerClassName).data(a.length>0?[0]:[]);if(i.enter().append("g").classed(vt.containerClassName,!0).style("cursor","pointer"),i.exit().each(function(){Rl.select(this).selectAll("g."+vt.headerGroupClassName).each(n)}).remove(),a.length!==0){var o=i.selectAll("g."+vt.headerGroupClassName).data(a,mue);o.enter().append("g").classed(vt.headerGroupClassName,!0);for(var s=Qa.ensureSingle(i,"g",vt.dropdownButtonGroupClassName,function(h){h.style("pointer-events","all")}),l=0;l{"use strict";var Tue=zv();g8.exports={moduleType:"component",name:Tue.name,layoutAttributes:Kb(),supplyLayoutDefaults:a8(),draw:m8()}});var Yf=E((B1e,b8)=>{"use strict";b8.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 t1=E((U1e,w8)=>{"use strict";var x8=_a(),Aue=gd(),kue=fa().extendDeepAll,Mue=Vi().overrideAll,Sue=Au(),_8=sr().templatedArray,us=Yf(),Cue=_8("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(" ")}});w8.exports=Mue(_8("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:Cue,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:kue(Aue({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:Sue.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:x8({description:"Sets the font of the current value label text."})},font:x8({description:"Sets the font of the slider step labels."}),activebgcolor:{valType:"color",dflt:us.gripBgActiveColor,description:["Sets the background color of the slider grip","while dragging."].join(" ")},bgcolor:{valType:"color",dflt:us.railBgColor,description:"Sets the background color of the slider."},bordercolor:{valType:"color",dflt:us.railBorderColor,description:"Sets the color of the border enclosing the slider."},borderwidth:{valType:"number",min:0,dflt:us.railBorderWidth,description:"Sets the width (in px) of the border enclosing the slider."},ticklen:{valType:"number",min:0,dflt:us.tickLength,description:"Sets the length in pixels of step tick marks"},tickcolor:{valType:"color",dflt:us.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:us.minorTickLength,description:"Sets the length in pixels of minor step tick marks"}}),"arraydraw","from-root")});var M8=E((G1e,k8)=>{"use strict";var Il=De(),T8=Kn(),A8=t1(),que=Yf(),Lue=que.name,Due=A8.steps;k8.exports=function(t,r){T8(t,r,{name:Lue,handleItemDefaults:Rue})};function Rue(e,t,r){function a(d,h){return Il.coerce(e,t,A8,d,h)}for(var n=T8(e,t,{name:"steps",handleItemDefaults:Pue}),i=0,o=0;o{"use strict";var Fn=Et(),Ov=Dr(),so=It(),jn=Kt(),Ka=De(),Iue=Ka.strTranslate,Zf=Fa(),Eue=sr().arrayEditor,kt=Yf(),r1=wa(),S8=r1.LINE_SPACING,a1=r1.FROM_TL,n1=r1.FROM_BR;E8.exports=function(t){var r=t._fullLayout,a=zue(r,t),n=r._infolayer.selectAll("g."+kt.containerClassName).data(a.length>0?[0]:[]);n.enter().append("g").classed(kt.containerClassName,!0).style("cursor","ew-resize");function i(u){u._commandObserver&&(u._commandObserver.remove(),delete u._commandObserver),Ov.autoMargin(t,C8(u))}if(n.exit().each(function(){Fn.select(this).selectAll("g."+kt.groupClassName).each(i)}).remove(),a.length!==0){var o=n.selectAll("g."+kt.groupClassName).data(a,Nue);o.enter().append("g").classed(kt.groupClassName,!0),o.exit().each(i).remove();for(var s=0;s0&&(s=s.transition().duration(t.transition.duration).ease(t.transition.easing)),s.attr("transform",Iue(o-kt.gripWidth*.5,t._dims.currentValueTotalHeight))}}function i1(e,t){var r=e._dims;return r.inputAreaStart+kt.stepInset+(r.inputAreaLength-2*kt.stepInset)*Math.min(1,Math.max(0,t))}function I8(e,t){var r=e._dims;return Math.min(1,Math.max(0,(t-kt.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*kt.stepInset-2*r.inputAreaStart)))}function Gue(e,t,r){var a=r._dims,n=Ka.ensureSingle(e,"rect",kt.railTouchRectClass,function(i){i.call(R8,t,e,r).style("pointer-events","all")});n.attr({width:a.inputAreaLength,height:Math.max(a.inputAreaWidth,kt.tickOffset+r.ticklen+a.labelHeight)}).call(so.fill,r.bgcolor).attr("opacity",0),jn.setTranslate(n,0,a.currentValueTotalHeight)}function Wue(e,t){var r=t._dims,a=r.inputAreaLength-kt.railInset*2,n=Ka.ensureSingle(e,"rect",kt.railRectClass);n.attr({width:a,height:kt.railWidth,rx:kt.railRadius,ry:kt.railRadius,"shape-rendering":"crispEdges"}).call(so.stroke,t.bordercolor).call(so.fill,t.bgcolor).style("stroke-width",t.borderwidth+"px"),jn.setTranslate(n,kt.railInset,(r.inputAreaWidth-kt.railWidth)*.5+r.currentValueTotalHeight)}});var F8=E((V1e,N8)=>{"use strict";var Vue=Yf();N8.exports={moduleType:"component",name:Vue.name,layoutAttributes:t1(),supplyLayoutDefaults:M8(),draw:z8()}});var Bv=E((Y1e,O8)=>{"use strict";var j8=hi();O8.exports={bgcolor:{valType:"color",dflt:j8.background,editType:"plot",description:"Sets the background color of the range slider."},bordercolor:{valType:"color",dflt:j8.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 o1=E((Z1e,H8)=>{"use strict";H8.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 Uv=E((X1e,B8)=>{"use strict";B8.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 W8=E(Wv=>{"use strict";var Yue=Er(),Zue=Fa(),U8=Uv(),Xue=wa().LINE_SPACING,Gv=U8.name;function G8(e){var t=e&&e[Gv];return t&&t.visible}Wv.isVisible=G8;Wv.makeData=function(e){var t=Yue.list({_fullLayout:e},"x",!0),r=e.margin,a=[];if(!e._has("gl2d"))for(var n=0;n{"use strict";var Vv=De(),V8=sr(),Y8=Er(),Que=Bv(),Kue=o1();Z8.exports=function(t,r,a){var n=t[a],i=r[a];if(!(n.rangeslider||r._requestRangeslider[i._id]))return;Vv.isPlainObject(n.rangeslider)||(n.rangeslider={});var o=n.rangeslider,s=V8.newContainer(i,"rangeslider");function l(M,L){return Vv.coerce(o,s,Que,M,L)}var u,c;function d(M,L){return Vv.coerce(u,c,Kue,M,L)}var h=l("visible");if(!!h){l("bgcolor",r.plot_bgcolor),l("bordercolor"),l("borderwidth"),l("thickness"),l("autorange",!i.isValidRange(o.range)),l("range");var p=r._subplots;if(p)for(var g=p.cartesian.filter(function(M){return M.substr(0,M.indexOf("y"))===Y8.name2id(a)}).map(function(M){return M.substr(M.indexOf("y"),M.length)}),m=Vv.simpleMap(g,Y8.id2name),b=0;b{"use strict";var $ue=Er().list,Jue=Wu().getAutoRange,efe=Uv();Q8.exports=function(t){for(var r=$ue(t,"x",!0),a=0;a{"use strict";var Yv=Et(),tfe=ht(),rfe=Dr(),pr=De(),Zv=pr.strTranslate,$8=Kt(),El=It(),afe=Uu(),nfe=Cv(),s1=Er(),ife=qn(),ofe=Ki(),Lt=Uv();J8.exports=function(e){for(var t=e._fullLayout,r=t._rangeSliderData,a=0;a=Y.max)W=F[Q+1];else if(V=Y.pmax)W=F[Q+1];else if(V{"use strict";var gfe=De(),yfe=Bv(),bfe=o1(),l1=W8();tN.exports={moduleType:"component",name:"rangeslider",schema:{subplots:{xaxis:{rangeslider:gfe.extendFlat({},yfe,{yaxis:bfe})}}},layoutAttributes:Bv(),handleDefaults:X8(),calcAutorange:K8(),draw:eN(),isVisible:l1.isVisible,makeData:l1.makeData,autoMarginOpts:l1.autoMarginOpts}});var Xv=E((txe,nN)=>{"use strict";var xfe=_a(),aN=hi(),_fe=sr().templatedArray,wfe=_fe("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(" ")});nN.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:wfe,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:xfe({editType:"plot",description:"Sets the font of the range selector button text."}),bgcolor:{valType:"color",dflt:aN.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:aN.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 u1=E((rxe,iN)=>{"use strict";iN.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}});var lN=E((axe,sN)=>{"use strict";var Qv=De(),Tfe=It(),Afe=sr(),kfe=Kn(),oN=Xv(),f1=u1();sN.exports=function(t,r,a,n,i){var o=t.rangeselector||{},s=Afe.newContainer(r,"rangeselector");function l(p,g){return Qv.coerce(o,s,oN,p,g)}var u=kfe(o,s,{name:"buttons",handleItemDefaults:Mfe,calendar:i}),c=l("visible",u.length>0);if(c){var d=Sfe(r,a,n);l("x",d[0]),l("y",d[1]),Qv.noneOrAll(t,r,["x","y"]),l("xanchor"),l("yanchor"),Qv.coerceFont(l,"font",a.font);var h=l("bgcolor");l("activecolor",Tfe.contrast(h,f1.lightAmount,f1.darkAmount)),l("bordercolor"),l("borderwidth")}};function Mfe(e,t,r,a){var n=a.calendar;function i(l,u){return Qv.coerce(e,t,oN.buttons,l,u)}var o=i("visible");if(o){var s=i("step");s!=="all"&&(n&&n!=="gregorian"&&(s==="month"||s==="year")?t.stepmode="backward":i("stepmode"),i("count")),i("label")}}function Sfe(e,t,r){for(var a=r.filter(function(s){return t[s].anchor===e._id}),n=0,i=0;i{"use strict";var Cfe=wm(),qfe=De().titleCase;uN.exports=function(t,r){var a=t._name,n={};if(r.step==="all")n[a+".autorange"]=!0;else{var i=Lfe(t,r);n[a+".range[0]"]=i[0],n[a+".range[1]"]=i[1]}return n};function Lfe(e,t){var r=e.range,a=new Date(e.r2l(r[1])),n=t.step,i=Cfe["utc"+qfe(n)],o=t.count,s;switch(t.stepmode){case"backward":s=e.l2r(+i.offset(a,-o));break;case"todate":var l=i.offset(a,-o);s=e.l2r(+i.ceil(l));break}var u=r[1];return[s,u]}});var yN=E((ixe,gN)=>{"use strict";var Kv=Et(),Dfe=ht(),Rfe=Dr(),cN=It(),dN=Kt(),qi=De(),hN=qi.strTranslate,$v=Fa(),Pfe=Er(),c1=wa(),vN=c1.LINE_SPACING,pN=c1.FROM_TL,mN=c1.FROM_BR,d1=u1(),Ife=fN();gN.exports=function(t){var r=t._fullLayout,a=r._infolayer.selectAll(".rangeselector").data(Efe(t),zfe);a.enter().append("g").classed("rangeselector",!0),a.exit().remove(),a.style({cursor:"pointer","pointer-events":"all"}),a.each(function(n){var i=Kv.select(this),o=n,s=o.rangeselector,l=i.selectAll("g.button").data(qi.filterVisible(s.buttons));l.enter().append("g").classed("button",!0),l.exit().remove(),l.each(function(u){var c=Kv.select(this),d=Ife(o,u);u._isActive=Nfe(o,u,d),c.call(h1,s,u),c.call(jfe,s,u,t),c.on("click",function(){t._dragged||Dfe.call("_guiRelayout",t,d)}),c.on("mouseover",function(){u._isHovered=!0,c.call(h1,s,u)}),c.on("mouseout",function(){u._isHovered=!1,c.call(h1,s,u)})}),Hfe(t,l,s,o._name,i)})};function Efe(e){for(var t=Pfe.list(e,"x",!0),r=[],a=0;a{"use strict";bN.exports={moduleType:"component",name:"rangeselector",schema:{subplots:{xaxis:{rangeselector:Xv()}}},layoutAttributes:Xv(),handleDefaults:lN(),draw:yN()}});var wN=E(v1=>{"use strict";var _N=fa().extendFlat;v1.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]},a=e.name?e.name+" ":"",n=e.trace?"trace ":"subplot ",i=t.description?" "+t.description:"",o={x:_N({},r,{description:["Sets the horizontal domain of this ",a,n,"(in plot fraction).",i].join("")}),y:_N({},r,{description:["Sets the vertical domain of this ",a,n,"(in plot fraction).",i].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 ",a,n,".",i].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 ",a,n,".",i].join("")}),o};v1.defaults=function(e,t,r,a){var n=a&&a.x||[0,1],i=a&&a.y||[0,1],o=t.grid;if(o){var s=r("domain.column");s!==void 0&&(s{"use strict";var Bfe=De(),Ufe=js().counter,Gfe=wN().attributes,TN=Jr().idRegex,Wfe=sr(),p1={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:[Ufe("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:[TN.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:[TN.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:Gfe({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 Jv(e,t,r){var a=t[r+"axes"],n=Object.keys((e._splomAxes||{})[r]||{});if(Array.isArray(a))return a;if(n.length)return n}function Vfe(e,t){var r=e.grid||{},a=Jv(t,r,"x"),n=Jv(t,r,"y");if(!e.grid&&!a&&!n)return;var i=Array.isArray(r.subplots)&&Array.isArray(r.subplots[0]),o=Array.isArray(a),s=Array.isArray(n),l=o&&a!==r.xaxes&&s&&n!==r.yaxes,u,c;i?(u=r.subplots.length,c=r.subplots[0].length):(s&&(u=n.length),o&&(c=a.length));var d=Wfe.newContainer(t,"grid");function h(L,S){return Bfe.coerce(r,d,p1,L,S)}var p=h("rows",u),g=h("columns",c);if(!(p*g>1)){delete t.grid;return}if(!i&&!o&&!s){var m=h("pattern")==="independent";m&&(i=!0)}d._hasSubplotGrid=i;var b=h("roworder"),_=b==="top to bottom",x=i?.2:.1,A=i?.3:.1,w,M;l&&t._splomGridDflt&&(w=t._splomGridDflt.xside,M=t._splomGridDflt.yside),d._domains={x:AN("x",h,x,w,g),y:AN("y",h,A,M,p,_)}}function AN(e,t,r,a,n,i){var o=t(e+"gap",r),s=t("domain."+e);t(e+"side",a);for(var l=new Array(n),u=s[0],c=(s[1]-u)/(n-o),d=c*(1-o),h=0;h{"use strict";CN.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 DN=E((fxe,LN)=>{"use strict";var qN=zt(),Zfe=ht(),Xfe=De(),Qfe=sr(),Kfe=m1();LN.exports=function(e,t,r,a){var n="error_"+a.axis,i=Qfe.newContainer(t,n),o=e[n]||{};function s(g,m){return Xfe.coerce(o,i,Kfe,g,m)}var l=o.array!==void 0||o.value!==void 0||o.type==="sqrt",u=s("visible",l);if(u!==!1){var c=s("type","array"in o?"data":"percent"),d=!0;c!=="sqrt"&&(d=s("symmetric",!((c==="data"?"arrayminus":"valueminus")in o))),c==="data"?(s("array"),s("traceref"),d||(s("arrayminus"),s("tracerefminus"))):(c==="percent"||c==="constant")&&(s("value"),d||s("valueminus"));var h="copy_"+a.inherit+"style";if(a.inherit){var p=t["error_"+a.inherit];(p||{}).visible&&s(h,!(o.color||qN(o.thickness)||qN(o.width)))}(!a.inherit||!i[h])&&(s("color",r),s("thickness"),s("width",Zfe.traceIs(t,"gl3d")?0:4))}}});var g1=E((cxe,PN)=>{"use strict";PN.exports=function(t){var r=t.type,a=t.symmetric;if(r==="data"){var n=t.array||[];if(a)return function(u,c){var d=+n[c];return[d,d]};var i=t.arrayminus||[];return function(u,c){var d=+n[c],h=+i[c];return!isNaN(d)||!isNaN(h)?[h||0,d||0]:[NaN,NaN]}}else{var o=RN(r,t.value),s=RN(r,t.valueminus);return a||t.valueminus===void 0?function(u){var c=o(u);return[c,c]}:function(u){return[s(u),o(u)]}}};function RN(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 zN=E((dxe,EN)=>{"use strict";var y1=zt(),$fe=ht(),b1=rr(),Jfe=De(),ece=g1();EN.exports=function(t){for(var r=t.calcdata,a=0;a{"use strict";var NN=Et(),lo=zt(),tce=Kt(),rce=Va();FN.exports=function(t,r,a,n){var i,o=a.xaxis,s=a.yaxis,l=n&&n.duration>0;r.each(function(u){var c=u[0].trace,d=c.error_x||{},h=c.error_y||{},p;c.ids&&(p=function(_){return _.id});var g=rce.hasMarkers(c)&&c.marker.maxdisplayed>0;!h.visible&&!d.visible&&(u=[]);var m=NN.select(this).selectAll("g.errorbar").data(u,p);if(m.exit().remove(),!!u.length){d.visible||m.selectAll("path.xerror").remove(),h.visible||m.selectAll("path.yerror").remove(),m.style("opacity",1);var b=m.enter().append("g").classed("errorbar",!0);l&&b.style("opacity",0).transition().duration(n.duration).style("opacity",1),tce.setClipUrl(m,a.layerClipId,t),m.each(function(_){var x=NN.select(this),A=ace(_,o,s);if(!(g&&!_.vis)){var w,M=x.select("path.yerror");if(h.visible&&lo(A.x)&&lo(A.yh)&&lo(A.ys)){var L=h.width;w="M"+(A.x-L)+","+A.yh+"h"+2*L+"m-"+L+",0V"+A.ys,A.noYS||(w+="m-"+L+",0h"+2*L),i=!M.size(),i?M=x.append("path").style("vector-effect","non-scaling-stroke").classed("yerror",!0):l&&(M=M.transition().duration(n.duration).ease(n.easing)),M.attr("d",w)}else M.remove();var S=x.select("path.xerror");if(d.visible&&lo(A.y)&&lo(A.xh)&&lo(A.xs)){var q=(d.copy_ystyle?h:d).width;w="M"+A.xh+","+(A.y-q)+"v"+2*q+"m0,-"+q+"H"+A.xs,A.noXS||(w+="m0,-"+q+"v"+2*q),i=!S.size(),i?S=x.append("path").style("vector-effect","non-scaling-stroke").classed("xerror",!0):l&&(S=S.transition().duration(n.duration).ease(n.easing)),S.attr("d",w)}else S.remove()}})}})};function ace(e,t,r){var a={x:t.c2p(e.x),y:r.c2p(e.y)};return e.yh!==void 0&&(a.yh=r.c2p(e.yh),a.ys=r.c2p(e.ys),lo(a.ys)||(a.noYS=!0,a.ys=r.c2p(e.ys,!0))),e.xh!==void 0&&(a.xh=t.c2p(e.xh),a.xs=t.c2p(e.xs),lo(a.xs)||(a.noXS=!0,a.xs=t.c2p(e.xs,!0))),a}});var BN=E((vxe,HN)=>{"use strict";var nce=Et(),ON=It();HN.exports=function(t){t.each(function(r){var a=r[0].trace,n=a.error_y||{},i=a.error_x||{},o=nce.select(this);o.selectAll("path.yerror").style("stroke-width",n.thickness+"px").call(ON.stroke,n.color),i.copy_ystyle&&(i=n),o.selectAll("path.xerror").style("stroke-width",i.thickness+"px").call(ON.stroke,i.color)})}});var WN=E((pxe,GN)=>{"use strict";var Xf=De(),UN=Vi().overrideAll,Qf=m1(),fs={error_x:Xf.extendFlat({},Qf),error_y:Xf.extendFlat({},Qf)};delete fs.error_x.copy_zstyle;delete fs.error_y.copy_zstyle;delete fs.error_y.copy_ystyle;var Kf={error_x:Xf.extendFlat({},Qf),error_y:Xf.extendFlat({},Qf),error_z:Xf.extendFlat({},Qf)};delete Kf.error_x.copy_ystyle;delete Kf.error_y.copy_ystyle;delete Kf.error_z.copy_ystyle;delete Kf.error_z.copy_zstyle;GN.exports={moduleType:"component",name:"errorbars",schema:{traces:{scatter:fs,bar:fs,histogram:fs,scatter3d:UN(Kf,"calc","nested"),scattergl:UN(fs,"calc","nested")}},supplyDefaults:DN(),calc:zN(),makeComputeError:g1(),plot:jN(),style:BN(),hoverInfo:ice};function ice(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 YN=E((mxe,VN)=>{"use strict";VN.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 e7=E((gxe,JN)=>{"use strict";var uo=Et(),x1=An(),ep=Dr(),ZN=ht(),Li=rr(),tp=qn(),bn=De(),On=bn.strTranslate,XN=fa().extendFlat,_1=Ki(),Hn=Kt(),w1=It(),oce=Uu(),sce=Fa(),lce=on().flipScale,uce=Lb(),fce=Db(),cce=Qn(),T1=wa(),QN=T1.LINE_SPACING,KN=T1.FROM_TL,$N=T1.FROM_BR,ir=YN().cn;function dce(e){var t=e._fullLayout,r=t._infolayer.selectAll("g."+ir.colorbar).data(hce(e),function(a){return a._id});r.enter().append("g").attr("class",function(a){return a._id}).classed(ir.colorbar,!0),r.each(function(a){var n=uo.select(this);bn.ensureSingle(n,"rect",ir.cbbg),bn.ensureSingle(n,"g",ir.cbfills),bn.ensureSingle(n,"g",ir.cblines),bn.ensureSingle(n,"g",ir.cbaxis,function(o){o.classed(ir.crisp,!0)}),bn.ensureSingle(n,"g",ir.cbtitleunshift,function(o){o.append("g").classed(ir.cbtitle,!0)}),bn.ensureSingle(n,"rect",ir.cboutline);var i=vce(n,a,e);i&&i.then&&(e._promises||[]).push(i),e._context.edits.colorbarPosition&&pce(n,a,e)}),r.exit().each(function(a){ep.autoMargin(e,a._id)}).remove(),r.order()}function hce(e){var t=e._fullLayout,r=e.calcdata,a=[],n,i,o,s;function l(A){return XN(A,{_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,n):(n._fillgradient=i.reversescale?lce(i.colorscale):i.colorscale,n._zrange=[i[s.min],i[s.max]])}for(var c=0;c1){var qe=Math.pow(10,Math.floor(Math.log(Te)/Math.LN10));ee*=qe*bn.roundUp(Te/qe,[2,5,10]),(Math.abs(z.start)/z.size+1e-6)%1<2e-6&&(he.tick0=0)}he.dtick=ee}he.domain=a?[ce+g/x.h,ce+Q-g/x.h]:[ce+p/x.w,ce+Q-p/x.w],he.setScale(),e.attr("transform",On(Math.round(x.l),Math.round(x.t)));var Ue=e.select("."+ir.cbtitleunshift).attr("transform",On(-Math.round(x.l),-Math.round(x.t))),Me=he.ticklabelposition,G=he.title.font.size,Z=e.select("."+ir.cbaxis),O,le=0,be=0;function Ae(Ze,lt){var tt={propContainer:he,propName:t._propPrefix+"title",traceIndex:t._traceIndex,_meta:t._meta,placeholder:_._dfltTitle.colorbar,containerGroup:e.select("."+ir.cbtitle)},dt=Ze.charAt(0)==="h"?Ze.substr(1):"h"+Ze;e.selectAll("."+dt+",."+dt+"-math-group").remove(),oce.draw(r,Ze,XN(tt,lt||{}))}function je(){if(a&&we||!a&&!we){var Ze,lt;L==="top"&&(Ze=p+x.l+x.w*m,lt=g+x.t+x.h*(1-ce-Q)+3+G*.75),L==="bottom"&&(Ze=p+x.l+x.w*m,lt=g+x.t+x.h*(1-ce)-3-G*.25),L==="right"&&(lt=g+x.t+x.h*b+3+G*.75,Ze=p+x.l+x.w*ce),Ae(he._id+"title",{attributes:{x:Ze,y:lt,"text-anchor":a?"start":"middle"}})}}function Ye(){if(a&&!we||!a&&we){var Ze=he.position||0,lt=he._offset+he._length/2,tt,dt;if(L==="right")dt=lt,tt=x.l+x.w*Ze+10+G*(he.showticklabels?1:.5);else if(tt=lt,L==="bottom"&&(dt=x.t+x.h*Ze+10+(Me.indexOf("inside")===-1?he.tickfont.size:0)+(he.ticks!=="intside"&&t.ticklen||0)),L==="top"){var pt=M.text.split("
").length;dt=x.t+x.h*Ze+10-B-QN*G*pt}Ae((a?"h":"v")+he._id+"title",{avoid:{selection:uo.select(r).selectAll("g."+he._id+"tick"),side:L,offsetTop:a?0:x.t,offsetLeft:a?x.l:0,maxShift:a?_.width:_.height},attributes:{x:tt,y:dt,"text-anchor":"middle"},transform:{rotate:a?-90:0,offset:0}})}}function Ce(){if(!a&&!we||a&&we){var Ze=e.select("."+ir.cbtitle),lt=Ze.select("text"),tt=[-l/2,l/2],dt=Ze.select(".h"+he._id+"title-math-group").node(),pt=15.6;lt.node()&&(pt=parseInt(lt.node().style.fontSize,10)*QN);var fe;if(dt?(fe=Hn.bBox(dt),be=fe.width,le=fe.height,le>pt&&(tt[1]-=(le-pt)/2)):lt.node()&&!lt.classed(ir.jsPlaceholder)&&(fe=Hn.bBox(lt.node()),be=fe.width,le=fe.height),a){if(le){if(le+=5,L==="top")he.domain[1]-=le/x.h,tt[1]*=-1;else{he.domain[0]+=le/x.h;var de=sce.lineCount(lt);tt[1]+=(1-de)*pt}Ze.attr("transform",On(tt[0],tt[1])),he.setScale()}}else be&&(L==="right"&&(he.domain[0]+=(be+G/2)/x.w),Ze.attr("transform",On(tt[0],tt[1])),he.setScale())}e.selectAll("."+ir.cbfills+",."+ir.cblines).attr("transform",a?On(0,Math.round(x.h*(1-he.domain[1]))):On(Math.round(x.w*he.domain[0]),0)),Z.attr("transform",a?On(0,Math.round(-x.t)):On(Math.round(-x.l),0));var ze=e.select("."+ir.cbfills).selectAll("rect."+ir.cbfill).attr("style","").data(N);ze.enter().append("rect").classed(ir.cbfill,!0).style("stroke","none"),ze.exit().remove();var He=S.map(he.c2p).map(Math.round).sort(function(Pe,Ie){return Pe-Ie});ze.each(function(Pe,Ie){var Be=[Ie===0?S[0]:(N[Ie]+N[Ie-1])/2,Ie===N.length-1?S[1]:(N[Ie]+N[Ie+1])/2].map(he.c2p).map(Math.round);a&&(Be[1]=bn.constrain(Be[1]+(Be[1]>Be[0])?1:-1,He[0],He[1]));var ut=uo.select(this).attr(a?"x":"y",Y).attr(a?"y":"x",uo.min(Be)).attr(a?"width":"height",Math.max(B,2)).attr(a?"height":"width",Math.max(uo.max(Be)-uo.min(Be),2));if(t._fillgradient)Hn.gradient(ut,r,t._id,a?"vertical":"horizontalreversed",t._fillgradient,"fill");else{var gt=R(Pe).replace("e-","");ut.attr("fill",x1(gt).toHexString())}});var Ee=e.select("."+ir.cblines).selectAll("path."+ir.cbline).data(w.color&&w.width?j:[]);Ee.enter().append("path").classed(ir.cbline,!0),Ee.exit().remove(),Ee.each(function(Pe){var Ie=Y,Be=Math.round(he.c2p(Pe))+w.width/2%1;uo.select(this).attr("d","M"+(a?Ie+","+Be:Be+","+Ie)+(a?"h":"v")+B).call(Hn.lineGroupStyle,w.width,q(Pe),w.dash)}),Z.selectAll("g."+he._id+"tick,path").remove();var ge=Y+B+(l||0)/2-(t.ticks==="outside"?1:0),xe=Li.calcTicks(he),Re=Li.getTickSigns(he)[2];return Li.drawTicks(r,he,{vals:he.ticks==="inside"?Li.clipEnds(he,xe):xe,layer:Z,path:Li.makeTickPath(he,ge,Re),transFn:Li.makeTransTickFn(he)}),Li.drawLabels(r,he,{vals:xe,layer:Z,transFn:Li.makeTransTickLabelFn(he),labelFns:Li.makeLabelFns(he,ge)})}function st(){var Ze,lt=B+l/2;Me.indexOf("inside")===-1&&(Ze=Hn.bBox(Z.node()),lt+=a?Ze.width:Ze.height),O=Ue.select("text");var tt=0,dt=a&&L==="top",pt=!a&&L==="right",fe=0;if(O.node()&&!O.classed(ir.jsPlaceholder)){var de,ze=Ue.select(".h"+he._id+"title-math-group").node();ze&&(a&&we||!a&&!we)?(Ze=Hn.bBox(ze),tt=Ze.width,de=Ze.height):(Ze=Hn.bBox(Ue.node()),tt=Ze.right-x.l-(a?Y:ye),de=Ze.bottom-x.t-(a?ye:Y),!a&&L==="top"&&(lt+=Ze.height,fe=Ze.height)),pt&&(O.attr("transform",On(tt/2+G/2,0)),tt*=2),lt=Math.max(lt,a?tt:de)}var He=(a?p:g)*2+lt+u+l/2,Ee=0;!a&&M.text&&h==="bottom"&&b<=0&&(Ee=He/2,He+=Ee,fe+=Ee),_._hColorbarMoveTitle=Ee,_._hColorbarMoveCBTitle=fe;var ge=u+l;e.select("."+ir.cbbg).attr("x",(a?Y:ye)-ge/2-(a?p:0)).attr("y",(a?ye:Y)-(a?W:g+fe-Ee)).attr(a?"width":"height",Math.max(He-Ee,2)).attr(a?"height":"width",Math.max(W+ge,2)).call(w1.fill,c).call(w1.stroke,t.bordercolor).style("stroke-width",u);var xe=pt?Math.max(tt-10,0):0;if(e.selectAll("."+ir.cboutline).attr("x",(a?Y:ye+p)+xe).attr("y",(a?ye+g-W:Y)+(dt?le:0)).attr(a?"width":"height",Math.max(B,2)).attr(a?"height":"width",Math.max(W-(a?2*g+le:2*p+xe),2)).call(w1.stroke,t.outlinecolor).style({fill:"none","stroke-width":l}),e.attr("transform",On(x.l-(a?$*He:0),x.t-(a?0:(1-re)*He-fe))),!a&&(u||x1(c).getAlpha()&&!x1.equals(_.paper_bgcolor,c))){var Re=Z.selectAll("text"),Pe=Re[0].length,Ie=e.select("."+ir.cbbg).node(),Be=Hn.bBox(Ie),ut=Hn.getTranslate(e),gt=2;Re.each(function(wt,Ct){var te=0,_e=Pe-1;if(Ct===te||Ct===_e){var ke=Hn.bBox(this),Fe=Hn.getTranslate(this),qt;if(Ct===_e){var fr=ke.right+Fe.x,Or=Be.right+ut.x+ye-u-gt+m;qt=Or-fr,qt>0&&(qt=0)}else if(Ct===te){var Cr=ke.left+Fe.x,or=Be.left+ut.x+ye+u+gt;qt=or-Cr,qt<0&&(qt=0)}qt&&(Pe<3?this.setAttribute("transform","translate("+qt+",0) "+this.getAttribute("transform")):this.setAttribute("visibility","hidden"))}})}var it={},Dt=KN[d],Mt=$N[d],nt=KN[h],Rt=$N[h],St=He-B;a?(i==="pixels"?(it.y=b,it.t=W*nt,it.b=W*Rt):(it.t=it.b=0,it.yt=b+n*nt,it.yb=b-n*Rt),s==="pixels"?(it.x=m,it.l=He*Dt,it.r=He*Mt):(it.l=St*Dt,it.r=St*Mt,it.xl=m-o*Dt,it.xr=m+o*Mt)):(i==="pixels"?(it.x=m,it.l=W*Dt,it.r=W*Mt):(it.l=it.r=0,it.xl=m+n*Dt,it.xr=m-n*Mt),s==="pixels"?(it.y=1-b,it.t=He*nt,it.b=He*Rt):(it.t=St*nt,it.b=St*Rt,it.yt=b-o*nt,it.yb=b+o*Rt)),ep.autoMargin(r,t._id,it)}return bn.syncOrAsync([ep.previousPromises,je,Ce,Ye,ep.previousPromises,st],r)}function pce(e,t,r){var a=t.orientation==="v",n=r._fullLayout,i=n._size,o,s,l;tp.init({element:e.node(),gd:r,prepFn:function(){o=e.attr("transform"),_1(e)},moveFn:function(u,c){e.attr("transform",o+On(u,c)),s=tp.align((a?t._uFrac:t._vFrac)+u/i.w,a?t._thickFrac:t._lenFrac,0,1,t.xanchor),l=tp.align((a?t._vFrac:1-t._uFrac)-c/i.h,a?t._lenFrac:t._thickFrac,0,1,t.yanchor);var d=tp.getCursor(s,l,t.xanchor,t.yanchor);_1(e,d)},doneFn:function(){if(_1(e),s!==void 0&&l!==void 0){var u={};u[t._propPrefix+"x"]=s,u[t._propPrefix+"y"]=l,t._traceIndex!==void 0?ZN.call("_guiRestyle",r,u,t._traceIndex):ZN.call("_guiRelayout",r,u)}}})}function mce(e,t,r){var a=t._levels,n=[],i=[],o,s,l=a.end+a.size/100,u=a.size,c=1.001*r[0]-.001*r[1],d=1.001*r[1]-.001*r[0];for(s=0;s<1e5&&(o=a.start+s*u,!(u>0?o>=l:o<=l));s++)o>c&&o0?o>=l:o<=l));s++)o>r[0]&&o{"use strict";t7.exports={moduleType:"component",name:"colorbar",attributes:Gd(),supplyDefaults:Og(),draw:e7().draw,hasColorbar:qg()}});var n7=E((bxe,a7)=>{"use strict";a7.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 o7=E((xxe,i7)=>{"use strict";i7.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}});var k1=E((_xe,f7)=>{"use strict";var yce=ht(),s7=De(),A1=s7.extendFlat,l7=s7.extendDeep;function u7(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 bce(e){var t=["xaxis","yaxis","zaxis"];return t.indexOf(e.slice(0,5))>-1}f7.exports=function(t,r){var a,n=t.data,i=t.layout,o=l7([],n),s=l7({},i,u7(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(a=0;a{"use strict";var xce=Rd().EventEmitter,_ce=ht(),wce=De(),c7=rs(),Tce=k1(),Ace=vv(),kce=pv();function Mce(e,t){var r=new xce,a=Tce(e,{format:"png"}),n=a.gd;n.style.position="absolute",n.style.left="-5000px",document.body.appendChild(n);function i(){var s=c7.getDelay(n._fullLayout);setTimeout(function(){var l=Ace(n),u=document.createElement("canvas");u.id=wce.randstr(),r=kce({format:t.format,width:n._fullLayout.width,height:n._fullLayout.height,canvas:u,emitter:r,svg:l}),r.clean=function(){n&&document.body.removeChild(n)}},s)}var o=c7.getRedrawFunc(n);return _ce.call("_doPlot",n,a.data,a.layout,a.config).then(o).then(i).catch(function(s){r.emit("error",s)}),r}d7.exports=Mce});var m7=E((Txe,p7)=>{"use strict";var v7=rs(),Sce={getDelay:v7.getDelay,getRedrawFunc:v7.getRedrawFunc,clone:k1(),toSVG:vv(),svgToImg:pv(),toImage:h7(),downloadImage:tb()};p7.exports=Sce});var y7=E(Di=>{"use strict";Di.version=_m().version;Jk();_C();var Cce=ht(),$f=Di.register=Cce.register,M1=c4(),g7=Object.keys(M1);for(rp=0;rp{"use strict";b7.exports=y7()});var C1=E((Mxe,_7)=>{"use strict";_7.exports={TEXTPAD:3,eventDataKeys:["value","label"]}});var Jf=E((Sxe,k7)=>{"use strict";var Sr=Pf(),w7=Ud().axisHoverFormat,qce=Rf().hovertemplateAttrs,Lce=Rf().texttemplateAttrs,T7=Ou(),Dce=_a(),A7=C1(),Rce=Bs().pattern,cs=fa().extendFlat,q1=Dce({editType:"calc",arrayOk:!0,colorEditType:"style",description:""}),Pce=Sr.marker,Ice=Pce.line,Ece=cs({},Ice.width,{dflt:0}),zce=cs({width:Ece,editType:"calc"},T7("marker.line")),Nce=cs({line:zce,editType:"calc"},T7("marker"),{opacity:{valType:"number",arrayOk:!0,dflt:1,min:0,max:1,editType:"style",description:"Sets the opacity of the bars."},pattern:Rce});k7.exports={x:Sr.x,x0:Sr.x0,dx:Sr.dx,y:Sr.y,y0:Sr.y0,dy:Sr.dy,xperiod:Sr.xperiod,yperiod:Sr.yperiod,xperiod0:Sr.xperiod0,yperiod0:Sr.yperiod0,xperiodalignment:Sr.xperiodalignment,yperiodalignment:Sr.yperiodalignment,xhoverformat:w7("x"),yhoverformat:w7("y"),text:Sr.text,texttemplate:Lce({editType:"plot"},{keys:A7.eventDataKeys}),hovertext:Sr.hovertext,hovertemplate:qce({},{keys:A7.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:cs({},q1,{description:"Sets the font used for `text`."}),insidetextfont:cs({},q1,{description:"Sets the font used for `text` lying inside the bar."}),outsidetextfont:cs({},q1,{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:cs({},Sr.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:Nce,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(" ")},selected:{marker:{opacity:Sr.selected.marker.opacity,color:Sr.selected.marker.color,editType:"style"},textfont:Sr.selected.textfont,editType:"style"},unselected:{marker:{opacity:Sr.unselected.marker.opacity,color:Sr.unselected.marker.color,editType:"style"},textfont:Sr.unselected.textfont,editType:"style"},_deprecated:{bardir:{valType:"enumerated",editType:"calc",values:["v","h"],description:"Renamed to `orientation`."}}}});var L1=E((Cxe,M7)=>{"use strict";M7.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 an *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(" ")}}});var L7=E((qxe,q7)=>{"use strict";var Fce=It(),S7=on().hasColorscale,C7=il(),jce=De().coercePattern;q7.exports=function(t,r,a,n,i){var o=a("marker.color",n),s=S7(t,"marker");s&&C7(t,r,i,a,{prefix:"marker.",cLetter:"c"}),a("marker.line.color",Fce.defaultLine),S7(t,"marker.line")&&C7(t,r,i,a,{prefix:"marker.line.",cLetter:"c"}),a("marker.line.width"),a("marker.opacity"),jce(a,"marker.pattern",o,s),a("selected.marker.color"),a("unselected.marker.color")}});var D1=E((Lxe,E7)=>{"use strict";var Nl=De(),D7=It(),Oce=ht(),Hce=ob(),Bce=sb(),Uce=L7(),Gce=of().getAxisGroup,R7=Jf(),np=Nl.coerceFont;function Wce(e,t,r,a){function n(u,c){return Nl.coerce(e,t,R7,u,c)}var i=Hce(e,t,a,n);if(!i){t.visible=!1;return}Bce(e,t,a,n),n("xhoverformat"),n("yhoverformat"),n("orientation",t.x&&!t.y?"h":"v"),n("base"),n("offset"),n("width"),n("text"),n("hovertext"),n("hovertemplate");var o=n("textposition");I7(e,t,a,n,o,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),Uce(e,t,n,r,a);var s=(t.marker.line||{}).color,l=Oce.getComponentMethod("errorbars","supplyDefaults");l(e,t,s||D7.defaultLine,{axis:"y"}),l(e,t,s||D7.defaultLine,{axis:"x",inherit:"y"}),Nl.coerceSelectionMarkerOpacity(t,n)}function P7(e,t,r,a){var n=t.orientation,i=t[{v:"x",h:"y"}[n]+"axis"],o=Gce(r,i)+n,s=r._alignmentOpts||{},l=a("alignmentgroup"),u=s[o];u||(u=s[o]={});var c=u[l];c?c.traces.push(t):c=u[l]={traces:[t],alignmentIndex:Object.keys(u).length,offsetGroups:{}};var d=a("offsetgroup"),h=c.offsetGroups,p=h[d];d&&(p||(p=h[d]={offsetIndex:Object.keys(h).length}),t._offsetIndex=p.offsetIndex)}function Vce(e,t){var r,a;function n(o){return Nl.coerce(a._input,a,R7,o)}if(t.barmode==="group")for(var i=0;i{"use strict";var Yce=ht(),Zce=rr(),Xce=De(),Qce=L1();z7.exports=function(e,t,r){function a(p,g){return Xce.coerce(e,t,Qce,p,g)}for(var n=!1,i=!1,o=!1,s={},l=a("barmode"),u=0;u{"use strict";var Fl=De();F7.exports=function(t,r){for(var a=0;a{"use strict";var j7=rr(),O7=lb(),H7=on().hasColorscale,B7=Vd(),Kce=R1(),$ce=db();U7.exports=function(t,r){var a=j7.getFromId(t,r.xaxis||"x"),n=j7.getFromId(t,r.yaxis||"y"),i,o,s,l,u,c,d={msUTC:!!(r.base||r.base===0)};r.orientation==="h"?(i=a.makeCalcdata(r,"x",d),s=n.makeCalcdata(r,"y"),l=O7(r,n,"y",s),u=!!r.yperiodalignment,c="y"):(i=n.makeCalcdata(r,"y",d),s=a.makeCalcdata(r,"x"),l=O7(r,a,"x",s),u=!!r.xperiodalignment,c="x"),o=l.vals;for(var h=Math.min(o.length,i.length),p=new Array(h),g=0;g{"use strict";W7.exports=ip;var Jce=De().distinctVals,ede=yr().BADNUM;function ip(e,t){this.traces=e,this.sepNegVal=t.sepNegVal,this.overlapNoMerge=t.overlapNoMerge;for(var r=1/0,a=[],n=0;n{"use strict";var fo=zt(),P1=De().isArrayOrTypedArray,jl=yr().BADNUM,tde=ht(),ec=rr(),rde=of().getAxisGroup,op=V7();function ade(e,t){for(var r=t.xaxis,a=t.yaxis,n=e._fullLayout,i=e._fullData,o=e.calcdata,s=[],l=[],u=0;ul+o||!fo(s))}for(var c=0;c{"use strict";var cde=Et(),dde=De();function hde(e,t,r){var a=e._fullLayout,n=a["_"+r+"Text_minsize"];if(n){var i=a.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=i&&l.hide?0:n/l.fontSize;var u=cde.select(this).select("text");u.attr("transform",dde.getTextTransform(l))}})}}function vde(e,t,r){if(r.uniformtext.mode){var a=tF(e),n=r.uniformtext.minsize,i=t.scale*t.fontSize;t.hide=i{"use strict";var mde=zt(),gde=An(),yde=De().isArrayOrTypedArray;ds.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};ds.coerceNumber=function(e,t,r){if(mde(t)){t=+t;var a=e.min,n=e.max,i=a!==void 0&&tn;if(!i)return t}return r!==void 0?r:e.dflt};ds.coerceColor=function(e,t,r){return gde(t).isValid()?t:r!==void 0?r:e.dflt};ds.coerceEnumerated=function(e,t,r){return e.coerceNumber&&(t=+t),e.values.indexOf(t)!==-1?t:r!==void 0?r:e.dflt};ds.getValue=function(e,t){var r;return Array.isArray(e)?t{"use strict";var rc=Et(),bde=It(),ac=Kt(),aF=De(),nF=ht(),iF=N1().resizeText,F1=Jf(),xde=F1.textfont,_de=F1.insidetextfont,wde=F1.outsidetextfont,Ol=sp();function Tde(e){var t=rc.select(e).selectAll("g.barlayer").selectAll("g.trace");iF(e,t,"bar");var r=t.size(),a=e._fullLayout;t.style("opacity",function(n){return n[0].trace.opacity}).each(function(n){(a.barmode==="stack"&&r>1||a.bargap===0&&a.bargroupgap===0&&!n[0].trace.marker.line.width)&&rc.select(this).attr("shape-rendering","crispEdges")}),t.selectAll("g.points").each(function(n){var i=rc.select(this),o=n[0].trace;oF(i,o,e)}),nF.getComponentMethod("errorbars","style")(t)}function oF(e,t,r){ac.pointStyle(e.selectAll("path"),t,r),sF(e,t,r)}function sF(e,t,r){e.selectAll("text").each(function(a){var n=rc.select(this),i=aF.ensureUniformFontSize(r,lF(n,a,t,r));ac.font(n,i)})}function Ade(e,t,r){var a=t[0].trace;a.selectedpoints?kde(r,a,e):(oF(r,a,e),nF.getComponentMethod("errorbars","style")(r))}function kde(e,t,r){ac.selectedPointStyle(e.selectAll("path"),t),Mde(e.selectAll("text"),t,r)}function Mde(e,t,r){e.each(function(a){var n=rc.select(this),i;if(a.selected){i=aF.ensureUniformFontSize(r,lF(n,a,t,r));var o=t.selected.textfont&&t.selected.textfont.color;o&&(i.color=o),ac.font(n,i)}else ac.selectedTextStyle(n,t)})}function lF(e,t,r,a){var n=a._fullLayout.font,i=r.textfont;if(e.classed("bartext-inside")){var o=dF(t,r);i=fF(r,t.i,n,o)}else e.classed("bartext-outside")&&(i=cF(r,t.i,n));return i}function uF(e,t,r){return j1(xde,e.textfont,t,r)}function fF(e,t,r,a){var n=uF(e,t,r),i=e._input.textfont===void 0||e._input.textfont.color===void 0||Array.isArray(e.textfont.color)&&e.textfont.color[t]===void 0;return i&&(n={color:bde.contrast(a),family:n.family,size:n.size}),j1(_de,e.insidetextfont,t,n)}function cF(e,t,r){var a=uF(e,t,r);return j1(wde,e.outsidetextfont,t,a)}function j1(e,t,r,a){t=t||{};var n=Ol.getValue(t.family,r),i=Ol.getValue(t.size,r),o=Ol.getValue(t.color,r);return{family:Ol.coerceString(e.family,n,a.family),size:Ol.coerceNumber(e.size,i,a.size),color:Ol.coerceColor(e.color,o,a.color)}}function dF(e,t){return t.type==="waterfall"?t[e.dir].marker.color:e.mcc||e.mc||t.marker.color}hF.exports={style:Tde,styleTextPoints:sF,styleOnSelect:Ade,getInsideTextFont:fF,getOutsideTextFont:cF,getBarColor:dF,resizeText:iF}});var wF=E((jxe,_F)=>{"use strict";var up=Et(),fp=zt(),Ur=De(),Sde=Fa(),Cde=It(),co=Kt(),qde=ht(),cp=rr().tickText,vF=N1(),Lde=vF.recordMinTextSize,Dde=vF.clearMinTextSize,O1=lp(),Hl=sp(),Rde=C1(),pF=Jf(),Pde=pF.text,Ide=pF.textposition,Ede=bi().appendArrayPointValue,Bn=Rde.TEXTPAD;function zde(e){return e.id}function Nde(e){if(e.ids)return zde}function ho(e,t){return e0}function jde(e,t,r,a,n,i){var o=t.xaxis,s=t.yaxis,l=e._fullLayout;n||(n={mode:l.barmode,norm:l.barmode,gap:l.bargap,groupgap:l.bargroupgap},Dde("bar",l));var u=Ur.makeTraceGroups(a,r,"trace bars").each(function(c){var d=up.select(this),h=c[0].trace,p=h.type==="waterfall",g=h.type==="funnel",m=h.type==="bar",b=m||g,_=0;p&&h.connector.visible&&h.connector.mode==="between"&&(_=h.connector.line.width/2);var x=h.orientation==="h",A=gF(n),w=Ur.ensureSingle(d,"g","points"),M=Nde(h),L=w.selectAll("g.point").data(Ur.identity,M);L.enter().append("g").classed("point",!0),L.exit().remove(),L.each(function(q,R){var z=up.select(this),F=Fde(q,o,s,x),N=F[0][0],j=F[0][1],B=F[1][0],V=F[1][1],W=(x?j-N:V-B)==0;W&&b&&Hl.getLineWidth(h,q)&&(W=!1),W||(W=!fp(N)||!fp(j)||!fp(B)||!fp(V)),q.isBlank=W,W&&(x?j=N:V=B),_&&!W&&(x?(N-=ho(N,j)*_,j+=ho(N,j)*_):(B-=ho(B,V)*_,V+=ho(B,V)*_));var Q,Y;if(h.type==="waterfall"){if(!W){var $=h[q.dir].marker;Q=$.line.width,Y=$.color}}else Q=Hl.getLineWidth(h,q),Y=q.mc||h.marker.color;function re(ee){var Se=up.round(Q/2%1,2);return n.gap===0&&n.groupgap===0?up.round(Math.round(ee)-Se,2):ee}function ue(ee,Se,Te){return Te&&ee===Se?ee:Math.abs(ee-Se)>=2?re(ee):ee>Se?Math.ceil(ee):Math.floor(ee)}if(!e._context.staticPlot){var ce=Cde.opacity(Y),ye=ce<1||Q>.01?re:ue;N=ye(N,j,x),j=ye(j,N,x),B=ye(B,V,!x),V=ye(V,B,!x)}var he=mF(Ur.ensureSingle(z,"path"),l,n,i);if(he.style("vector-effect","non-scaling-stroke").attr("d",isNaN((j-N)*(V-B))||W&&e._context.staticPlot?"M0,0Z":"M"+N+","+B+"V"+V+"H"+j+"V"+B+"Z").call(co.setClipUrl,t.layerClipId,e),!l.uniformtext.mode&&A){var we=co.makePointStyleFns(h);co.singlePointStyle(q,he,h,we,e)}Ode(e,t,z,c,R,N,j,B,V,n,i),t.layerClipId&&co.hideOutsideRangePoint(q,z.select("text"),o,s,h.xcalendar,h.ycalendar)});var S=h.cliponaxis===!1;co.setClipUrl(d,S?null:t.layerClipId,e)});qde.getComponentMethod("errorbars","plot")(e,u,t,n)}function Ode(e,t,r,a,n,i,o,s,l,u,c){var d=t.xaxis,h=t.yaxis,p=e._fullLayout,g;function m(ee,Se,Te){var qe=Ur.ensureSingle(ee,"text").text(Se).attr({class:"bartext bartext-"+g,"text-anchor":"middle","data-notex":1}).call(co.font,Te).call(Sde.convertToTspans,e);return qe}var b=a[0].trace,_=b.orientation==="h",x=Bde(p,a,n,d,h);g=Ude(b,n);var A=u.mode==="stack"||u.mode==="relative",w=a[n],M=!A||w._outmost;if(!x||g==="none"||(w.isBlank||i===o||s===l)&&(g==="auto"||g==="inside")){r.select("text").remove();return}var L=p.font,S=O1.getBarColor(a[n],b),q=O1.getInsideTextFont(b,n,L,S),R=O1.getOutsideTextFont(b,n,L),z=r.datum();_?d.type==="log"&&z.s0<=0&&(d.range[0]0&&W>0,$=V<=F&&W<=N,re=V<=N&&W<=F,ue=_?F>=V*(N/W):N>=W*(F/V);Y&&($||re||ue)?g="inside":(g="outside",j.remove(),j=null)}else g="inside";if(!j){Q=Ur.ensureUniformFontSize(e,g==="outside"?R:q),j=m(r,x,Q);var ce=j.attr("transform");if(j.attr("transform",""),B=co.bBox(j.node()),V=B.width,W=B.height,j.attr("transform",ce),V<=0||W<=0){j.remove();return}}var ye=b.textangle,he,we;g==="outside"?(we=b.constraintext==="both"||b.constraintext==="outside",he=Hde(i,o,s,l,B,{isHorizontal:_,constrained:we,angle:ye})):(we=b.constraintext==="both"||b.constraintext==="inside",he=xF(i,o,s,l,B,{isHorizontal:_,constrained:we,angle:ye,anchor:b.insidetextanchor})),he.fontSize=Q.size,Lde(b.type==="histogram"?"bar":b.type,he,p),w.transform=he,mF(j,p,u,c).attr("transform",Ur.getTextTransform(he))}function yF(e){return e==="auto"?0:e}function bF(e,t){var r=Math.PI/180*t,a=Math.abs(Math.sin(r)),n=Math.abs(Math.cos(r));return{x:e.width*n+e.height*a,y:e.width*a+e.height*n}}function xF(e,t,r,a,n,i){var o=!!i.isHorizontal,s=!!i.constrained,l=i.angle||0,u=i.anchor||"end",c=u==="end",d=u==="start",h=i.leftToRight||0,p=(h+1)/2,g=1-p,m=n.width,b=n.height,_=Math.abs(t-e),x=Math.abs(a-r),A=_>2*Bn&&x>2*Bn?Bn:0;_-=2*A,x-=2*A;var w=yF(l);l==="auto"&&!(m<=_&&b<=x)&&(m>_||b>x)&&(!(m>x||b>_)||m2*Bn?Bn:0:p=d>2*Bn?Bn:0;var g=1;s&&(g=o?Math.min(1,h/c):Math.min(1,d/u));var m=yF(l),b=bF(n,m),_=(o?b.x:b.y)/2,x=(n.left+n.right)/2,A=(n.top+n.bottom)/2,w=(e+t)/2,M=(r+a)/2,L=0,S=0,q=o?ho(t,e):ho(r,a);return o?(w=t-q*p,L=q*_):(M=a+q*p,S=-q*_),{textX:x,textY:A,targetX:w,targetY:M,anchorX:L,anchorY:S,scale:g,rotate:m}}function Bde(e,t,r,a,n){var i=t[0].trace,o=i.texttemplate,s;return o?s=Gde(e,t,r,a,n):i.textinfo?s=Wde(t,r,a,n):s=Hl.getValue(i.text,r),Hl.coerceString(Pde,s)}function Ude(e,t){var r=Hl.getValue(e.textposition,t);return Hl.coerceEnumerated(Ide,r)}function Gde(e,t,r,a,n){var i=t[0].trace,o=Ur.castOption(i,r,"texttemplate");if(!o)return"";var s=i.type==="histogram",l=i.type==="waterfall",u=i.type==="funnel",c=i.orientation==="h",d,h,p,g;c?(d="y",h=n,p="x",g=a):(d="x",h=a,p="y",g=n);function m(L){return cp(h,h.c2l(L),!0).text}function b(L){return cp(g,g.c2l(L),!0).text}var _=t[r],x={};x.label=_.p,x.labelLabel=x[d+"Label"]=m(_.p);var A=Ur.castOption(i,_.i,"text");(A===0||A)&&(x.text=A),x.value=_.s,x.valueLabel=x[p+"Label"]=b(_.s);var w={};Ede(w,i,_.i),(s||w.x===void 0)&&(w.x=c?x.value:x.label),(s||w.y===void 0)&&(w.y=c?x.label:x.value),(s||w.xLabel===void 0)&&(w.xLabel=c?x.valueLabel:x.labelLabel),(s||w.yLabel===void 0)&&(w.yLabel=c?x.labelLabel:x.valueLabel),l&&(x.delta=+_.rawS||_.s,x.deltaLabel=b(x.delta),x.final=_.v,x.finalLabel=b(x.final),x.initial=x.final-x.delta,x.initialLabel=b(x.initial)),u&&(x.value=_.s,x.valueLabel=b(x.value),x.percentInitial=_.begR,x.percentInitialLabel=Ur.formatPercent(_.begR),x.percentPrevious=_.difR,x.percentPreviousLabel=Ur.formatPercent(_.difR),x.percentTotal=_.sumR,x.percenTotalLabel=Ur.formatPercent(_.sumR));var M=Ur.castOption(i,_.i,"customdata");return M&&(x.customdata=M),Ur.texttemplateString(o,x,e._d3locale,w,x,i._meta||{})}function Wde(e,t,r,a){var n=e[0].trace,i=n.orientation==="h",o=n.type==="waterfall",s=n.type==="funnel";function l(M){var L=i?a:r;return cp(L,M,!0).text}function u(M){var L=i?r:a;return cp(L,+M,!0).text}var c=n.textinfo,d=e[t],h=c.split("+"),p=[],g,m=function(M){return h.indexOf(M)!==-1};if(m("label")&&p.push(l(e[t].p)),m("text")&&(g=Ur.castOption(n,d.i,"text"),(g===0||g)&&p.push(g)),o){var b=+d.rawS||d.s,_=d.v,x=_-b;m("initial")&&p.push(u(x)),m("delta")&&p.push(u(b)),m("final")&&p.push(u(_))}if(s){m("value")&&p.push(u(d.s));var A=0;m("percent initial")&&A++,m("percent previous")&&A++,m("percent total")&&A++;var w=A>1;m("percent initial")&&(g=Ur.formatPercent(d.begR),w&&(g+=" of initial"),p.push(g)),m("percent previous")&&(g=Ur.formatPercent(d.difR),w&&(g+=" of previous"),p.push(g)),m("percent total")&&(g=Ur.formatPercent(d.sumR),w&&(g+=" of total"),p.push(g))}return p.join("
")}_F.exports={plot:jde,toMoveInsideBar:xF}});var SF=E((Oxe,MF)=>{"use strict";var nc=Ti(),Vde=ht(),TF=It(),Yde=De().fillText,Zde=sp().getLineWidth,H1=rr().hoverLabelText,Xde=yr().BADNUM;function Qde(e,t,r,a,n){var i=AF(e,t,r,a,n);if(i){var o=i.cd,s=o[0].trace,l=o[i.index];return i.color=kF(s,l),Vde.getComponentMethod("errorbars","hoverInfo")(l,s,i),[i]}}function AF(e,t,r,a,n){var i=e.cd,o=i[0].trace,s=i[0].t,l=a==="closest",u=o.type==="waterfall",c=e.maxHoverDistance,d=e.maxSpikeDistance,h,p,g,m,b,_,x;o.orientation==="h"?(h=r,p=t,g="y",m="x",b=V,_=N):(h=t,p=r,g="x",m="y",_=V,b=N);var A=o[g+"period"],w=l||A;function M(ee){return S(ee,-1)}function L(ee){return S(ee,1)}function S(ee,Se){var Te=ee.w;return ee[g]+Se*Te/2}function q(ee){return ee[g+"End"]-ee[g+"Start"]}var R=l?M:A?function(ee){return ee.p-q(ee)/2}:function(ee){return Math.min(M(ee),ee.p-s.bardelta/2)},z=l?L:A?function(ee){return ee.p+q(ee)/2}:function(ee){return Math.max(L(ee),ee.p+s.bardelta/2)};function F(ee,Se,Te){return n.finiteRange&&(Te=0),nc.inbox(ee-h,Se-h,Te+Math.min(1,Math.abs(Se-ee)/x)-1)}function N(ee){return F(R(ee),z(ee),c)}function j(ee){return F(M(ee),L(ee),d)}function B(ee){var Se=ee[m];if(u){var Te=Math.abs(ee.rawS)||0;p>0?Se+=Te:p<0&&(Se-=Te)}return Se}function V(ee){var Se=p,Te=ee.b,qe=B(ee);return nc.inbox(Te-Se,qe-Se,c+(qe-Se)/(qe-Te)-1)}function W(ee){var Se=p,Te=ee.b,qe=B(ee);return nc.inbox(Te-Se,qe-Se,d+(qe-Se)/(qe-Te)-1)}var Q=e[g+"a"],Y=e[m+"a"];x=Math.abs(Q.r2c(Q.range[1])-Q.r2c(Q.range[0]));function $(ee){return(b(ee)+_(ee))/2}var re=nc.getDistanceFunction(a,b,_,$);if(nc.getClosest(i,re,e),e.index!==!1&&i[e.index].p!==Xde){w||(R=function(ee){return Math.min(M(ee),ee.p-s.bargroupwidth/2)},z=function(ee){return Math.max(L(ee),ee.p+s.bargroupwidth/2)});var ue=e.index,ce=i[ue],ye=o.base?ce.b+ce.s:ce.s;e[m+"0"]=e[m+"1"]=Y.c2p(ce[m],!0),e[m+"LabelVal"]=ye;var he=s.extents[s.extents.round(ce.p)];e[g+"0"]=Q.c2p(l?R(ce):he[0],!0),e[g+"1"]=Q.c2p(l?z(ce):he[1],!0);var we=ce.orig_p!==void 0;return e[g+"LabelVal"]=we?ce.orig_p:ce.p,e.labelLabel=H1(Q,e[g+"LabelVal"],o[g+"hoverformat"]),e.valueLabel=H1(Y,e[m+"LabelVal"],o[m+"hoverformat"]),e.baseLabel=H1(Y,ce.b,o[m+"hoverformat"]),e.spikeDistance=(W(ce)+j(ce))/2,e[g+"Spike"]=Q.c2p(ce.p,!0),Yde(ce,o,e),e.hovertemplate=o.hovertemplate,e}}function kF(e,t){var r=t.mcc||e.marker.color,a=t.mlcc||e.marker.line.color,n=Zde(e,t);if(TF.opacity(r))return r;if(TF.opacity(a)&&n)return a}MF.exports={hoverPoints:Qde,hoverOnBars:AF,getTraceColor:kF}});var qF=E((Hxe,CF)=>{"use strict";CF.exports=function(t,r,a){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),a.orientation==="h"?(t.label=t.y,t.value=t.x):(t.label=t.x,t.value=t.y),t}});var DF=E((Bxe,LF)=>{"use strict";LF.exports=function(t,r){var a=t.cd,n=t.xaxis,i=t.yaxis,o=a[0].trace,s=o.type==="funnel",l=o.orientation==="h",u=[],c;if(r===!1)for(c=0;c{"use strict";RF.exports={attributes:Jf(),layoutAttributes:L1(),supplyDefaults:D1().supplyDefaults,crossTraceDefaults:D1().crossTraceDefaults,supplyLayoutDefaults:N7(),calc:G7(),crossTraceCalc:eF().crossTraceCalc,colorbar:_b(),arraysToCalcdata:R1(),plot:wF().plot,style:lp().style,styleOnSelect:lp().styleOnSelect,hoverPoints:SF().hoverPoints,eventData:qF(),selectPoints:DF(),moduleType:"trace",name:"bar",basePlotModule:Cv(),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 th *v* (the default)","and the labels are set in `x`.","By setting `orientation` to *h*, the roles are interchanged."].join(" ")}}});var EF=E((Gxe,IF)=>{"use strict";IF.exports=PF()});var ic=E(zF=>{"use strict";zF.pointsAccessorFunction=function(e,t){for(var r,a,n=0;n{"use strict";var $de=rr(),Bl=De(),Jde=Yi(),ehe=ic().pointsAccessorFunction,mr=yr().BADNUM;Ul.moduleType="transform";Ul.name="aggregate";var NF=Ul.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"},FF=NF.aggregations;Ul.supplyDefaults=function(e,t){var r={},a;function n(b,_){return Bl.coerce(e,r,NF,b,_)}var i=n("enabled");if(!i)return r;var o=Jde.findArrayAttributes(t),s={};for(a=0;al&&(l=h,u=d)}}return l?n(u):mr};case"rms":return function(i,o){for(var s=0,l=0,u=0;u{"use strict";HF.exports=OF()});var GF=E((Zxe,UF)=>{"use strict";UF.exports={COMPARISON_OPS:["=","!=","<",">=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}});var WF=E(vs=>{"use strict";var hs=De(),ihe=ht(),ohe=rr(),she=ic().pointsAccessorFunction,B1=GF(),U1=B1.COMPARISON_OPS,G1=B1.INTERVAL_OPS,W1=B1.SET_OPS;vs.moduleType="transform";vs.name="filter";vs.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(U1).concat(G1).concat(W1),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 ("+U1+")","`value` is expected to be a number or a string.","When `operation` is set to one of the interval values","("+G1+")","`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","("+W1+")","`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"};vs.supplyDefaults=function(e){var t={};function r(o,s){return hs.coerce(e,t,vs.attributes,o,s)}var a=r("enabled");if(a){var n=r("target");if(hs.isArrayOrTypedArray(n)&&n.length===0)return t.enabled=!1,t;r("preservegaps"),r("operation"),r("value");var i=ihe.getComponentMethod("calendars","handleDefaults");i(e,t,"valuecalendar",null),i(e,t,"targetcalendar",null)}return t};vs.calcTransform=function(e,t,r){if(!r.enabled)return;var a=hs.getTargetArray(t,r);if(!a)return;var n=r.target,i=a.length;t._length&&(i=Math.min(i,t._length));var o=r.targetcalendar,s=t._arrayAttrs,l=r.preservegaps;if(typeof n=="string"){var u=hs.nestedProperty(t,n+"calendar").get();u&&(o=u)}var c=ohe.getDataToCoordFunc(e,t,n,a),d=lhe(r,c,o),h={},p={},g=0;function m(M,L){for(var S=0;S":return function(c){return l(c)>u};case">=":return function(c){return l(c)>=u};case"[]":return function(c){var d=l(c);return d>=u[0]&&d<=u[1]};case"()":return function(c){var d=l(c);return d>u[0]&&d=u[0]&&du[0]&&d<=u[1]};case"][":return function(c){var d=l(c);return d<=u[0]||d>=u[1]};case")(":return function(c){var d=l(c);return du[1]};case"](":return function(c){var d=l(c);return d<=u[0]||d>u[1]};case")[":return function(c){var d=l(c);return d=u[1]};case"{}":return function(c){return u.indexOf(l(c))!==-1};case"}{":return function(c){return u.indexOf(l(c))===-1}}}});var YF=E((Qxe,VF)=>{"use strict";VF.exports=WF()});var ZF=E(Ri=>{"use strict";var La=De(),uhe=Yi(),fhe=Dr(),che=ic().pointsAccessorFunction;Ri.moduleType="transform";Ri.name="groupby";Ri.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"};Ri.supplyDefaults=function(e,t,r){var a,n={};function i(d,h){return La.coerce(e,n,Ri.attributes,d,h)}var o=i("enabled");if(!o)return n;i("groups"),i("nameformat",r._dataLength>1?"%{group} (%{trace})":"%{group}");var s=e.styles,l=n.styles=[];if(s)for(a=0;a{"use strict";XF.exports=ZF()});var KF=E(ps=>{"use strict";var V1=De(),hhe=rr(),vhe=ic().pointsAccessorFunction,dp=yr().BADNUM;ps.moduleType="transform";ps.name="sort";ps.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"};ps.supplyDefaults=function(e){var t={};function r(n,i){return V1.coerce(e,t,ps.attributes,n,i)}var a=r("enabled");return a&&(r("target"),r("order")),t};ps.calcTransform=function(e,t,r){if(!!r.enabled){var a=V1.getTargetArray(t,r);if(!!a){var n=r.target,i=a.length;t._length&&(i=Math.min(i,t._length));var o=t._arrayAttrs,s=hhe.getDataToCoordFunc(e,t,n,a),l=phe(r,a,s,i),u=vhe(t.transforms,r),c={},d,h;for(d=0;d{"use strict";$F.exports=KF()});var Da=Wp(im()),s9=Wp(Zk());var Xk="1.2.2";function xm(e){return Boolean(e)}var xX=e=>{let t=Array.from(document.querySelectorAll('style[id^="plotly.js"]')).map(r=>r.sheet).filter(xm).flatMap(r=>Array.from(r.cssRules)).map(r=>r.cssText).join(` `);e.innerHTML+=` .js-plotly-plot .plotly .modebar-btn { fill: rgb(136,136,136); diff --git a/package-lock.json b/package-lock.json index d12d89a..53ac527 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "plotly-graph-card", - "version": "1.2.1", + "version": "1.2.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "plotly-graph-card", - "version": "1.2.1", + "version": "1.2.2", "license": "ISC", "dependencies": { "@types/lodash": "^4.14.175", diff --git a/package.json b/package.json index a97455a..c08615c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "plotly-graph-card", - "version": "1.2.1", + "version": "1.2.2", "description": "", "main": "index.js", "scripts": {