"use strict";(self.webpackChunkalvanon_analytics_platform_frontend=self.webpackChunkalvanon_analytics_platform_frontend||[]).push([[9679],{466(e,t,a){var r=a(84676),n=a(70827),i=a(86854).line,o=a(67840).T,l=a(91307).extendFlat,s=a(79338).templatedArray,c=a(9712),d=a(35667),u=a(92710).LF,p=a(40041);e.exports=s("shape",{visible:l({},d.visible,{editType:"calc+arraydraw",description:["Determines whether or not this shape is visible.","If *legendonly*, the shape is not drawn,","but can appear as a legend item","(provided that the legend itself is visible)."].join(" ")}),showlegend:{valType:"boolean",dflt:!1,editType:"calc+arraydraw",description:["Determines whether or not this","shape is shown in the legend."].join(" ")},legend:l({},d.legend,{editType:"calc+arraydraw",description:["Sets the reference to a legend to show this shape in.","References to these legends are *legend*, *legend2*, *legend3*, etc.","Settings for these legends are set in the layout, under","`layout.legend`, `layout.legend2`, etc."].join(" ")}),legendgroup:l({},d.legendgroup,{editType:"calc+arraydraw",description:["Sets the legend group for this shape.","Traces and shapes part of the same legend group hide/show at the same time","when toggling legend items."].join(" ")}),legendgrouptitle:{text:l({},d.legendgrouptitle.text,{editType:"calc+arraydraw"}),font:n({editType:"calc+arraydraw",description:["Sets this legend group's title font."].join(" ")}),editType:"calc+arraydraw"},legendrank:l({},d.legendrank,{editType:"calc+arraydraw",description:["Sets the legend rank for this shape.","Items and groups with smaller ranks are presented on top/left side while","with *reversed* `legend.traceorder` they are on bottom/right side.","The default legendrank is 1000,","so that you can use ranks less than 1000 to place certain items before all unranked items,","and ranks greater than 1000 to go after all unranked items.","When having unranked or equal rank items shapes would be displayed after traces","i.e. according to their order in data and layout."].join(" ")}),legendwidth:l({},d.legendwidth,{editType:"calc+arraydraw",description:"Sets the width (in px or fraction) of the legend for this shape."}),type:{valType:"enumerated",values:["circle","rect","path","line"],editType:"calc+arraydraw",description:["Specifies the shape type to be drawn.","If *line*, a line is drawn from (`x0`,`y0`) to (`x1`,`y1`)","with respect to the axes' sizing mode.","If *circle*, a circle is drawn from","((`x0`+`x1`)/2, (`y0`+`y1`)/2))","with radius","(|(`x0`+`x1`)/2 - `x0`|, |(`y0`+`y1`)/2 -`y0`)|)","with respect to the axes' sizing mode.","If *rect*, a rectangle is drawn linking","(`x0`,`y0`), (`x1`,`y0`), (`x1`,`y1`), (`x0`,`y1`), (`x0`,`y0`)","with respect to the axes' sizing mode.","If *path*, draw a custom SVG path using `path`.","with respect to the axes' sizing mode."].join(" ")},layer:{valType:"enumerated",values:["below","above","between"],dflt:"above",editType:"arraydraw",description:["Specifies whether shapes are drawn below gridlines (*below*),","between gridlines and traces (*between*) or above traces (*above*)."].join(" ")},xref:l({},r.xref,{description:["Sets the shape's x coordinate axis.",c.axisRefDescription("x","left","right")].join(" ")}),xsizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw",description:["Sets the shapes's sizing mode along the x axis.","If set to *scaled*, `x0`, `x1` and x coordinates within `path` refer to","data values on the x axis or a fraction of the plot area's width","(`xref` set to *paper*).","If set to *pixel*, `xanchor` specifies the x position in terms","of data or plot fraction but `x0`, `x1` and x coordinates within `path`","are pixels relative to `xanchor`. This way, the shape can have","a fixed width while maintaining a position relative to data or","plot fraction."].join(" ")},xanchor:{valType:"any",editType:"calc+arraydraw",description:["Only relevant in conjunction with `xsizemode` set to *pixel*.","Specifies the anchor point on the x axis to which `x0`, `x1`","and x coordinates within `path` are relative to.","E.g. useful to attach a pixel sized shape to a certain data value.","No effect when `xsizemode` not set to *pixel*."].join(" ")},x0:{valType:"any",editType:"calc+arraydraw",description:["Sets the shape's starting x position.","See `type` and `xsizemode` for more info."].join(" ")},x1:{valType:"any",editType:"calc+arraydraw",description:["Sets the shape's end x position.","See `type` and `xsizemode` for more info."].join(" ")},x0shift:{valType:"number",dflt:0,min:-1,max:1,editType:"calc",description:["Shifts `x0` away from the center of the category when `xref` is a *category* or","*multicategory* axis. -0.5 corresponds to the start of the category and 0.5","corresponds to the end of the category."].join(" ")},x1shift:{valType:"number",dflt:0,min:-1,max:1,editType:"calc",description:["Shifts `x1` away from the center of the category when `xref` is a *category* or","*multicategory* axis. -0.5 corresponds to the start of the category and 0.5","corresponds to the end of the category."].join(" ")},yref:l({},r.yref,{description:["Sets the shape's y coordinate axis.",c.axisRefDescription("y","bottom","top")].join(" ")}),ysizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw",description:["Sets the shapes's sizing mode along the y axis.","If set to *scaled*, `y0`, `y1` and y coordinates within `path` refer to","data values on the y axis or a fraction of the plot area's height","(`yref` set to *paper*).","If set to *pixel*, `yanchor` specifies the y position in terms","of data or plot fraction but `y0`, `y1` and y coordinates within `path`","are pixels relative to `yanchor`. This way, the shape can have","a fixed height while maintaining a position relative to data or","plot fraction."].join(" ")},yanchor:{valType:"any",editType:"calc+arraydraw",description:["Only relevant in conjunction with `ysizemode` set to *pixel*.","Specifies the anchor point on the y axis to which `y0`, `y1`","and y coordinates within `path` are relative to.","E.g. useful to attach a pixel sized shape to a certain data value.","No effect when `ysizemode` not set to *pixel*."].join(" ")},y0:{valType:"any",editType:"calc+arraydraw",description:["Sets the shape's starting y position.","See `type` and `ysizemode` for more info."].join(" ")},y1:{valType:"any",editType:"calc+arraydraw",description:["Sets the shape's end y position.","See `type` and `ysizemode` for more info."].join(" ")},y0shift:{valType:"number",dflt:0,min:-1,max:1,editType:"calc",description:["Shifts `y0` away from the center of the category when `yref` is a *category* or","*multicategory* axis. -0.5 corresponds to the start of the category and 0.5","corresponds to the end of the category."].join(" ")},y1shift:{valType:"number",dflt:0,min:-1,max:1,editType:"calc",description:["Shifts `y1` away from the center of the category when `yref` is a *category* or","*multicategory* axis. -0.5 corresponds to the start of the category and 0.5","corresponds to the end of the category."].join(" ")},path:{valType:"string",editType:"calc+arraydraw",description:["For `type` *path* - a valid SVG path with the pixel values","replaced by data values in `xsizemode`/`ysizemode` being *scaled*","and taken unmodified as pixels relative to `xanchor` and `yanchor`","in case of *pixel* size mode.","There are a few restrictions / quirks","only absolute instructions, not relative. So the allowed segments","are: M, L, H, V, Q, C, T, S, and Z","arcs (A) are not allowed because radius rx and ry are relative.","In the future we could consider supporting relative commands,","but we would have to decide on how to handle date and log axes.","Note that even as is, Q and C Bezier paths that are smooth on","linear axes may not be smooth on log, and vice versa.",'no chained "polybezier" commands - specify the segment type for',"each one.","On category axes, values are numbers scaled to the serial numbers","of categories because using the categories themselves there would","be no way to describe fractional positions","On data axes: because space and T are both normal components of path","strings, we can't use either to separate date from time parts.","Therefore we'll use underscore for this purpose:","2015-02-21_13:45:56.789"].join(" ")},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw",description:"Sets the opacity of the shape."},line:{color:l({},i.color,{editType:"arraydraw"}),width:l({},i.width,{editType:"calc+arraydraw"}),dash:l({},o,{editType:"arraydraw"}),editType:"calc+arraydraw"},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw",description:["Sets the color filling the shape's interior. Only applies to closed shapes."].join(" ")},fillrule:{valType:"enumerated",values:["evenodd","nonzero"],dflt:"evenodd",editType:"arraydraw",description:["Determines which regions of complex paths constitute the interior.","For more info please visit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule"].join(" ")},editable:{valType:"boolean",dflt:!1,editType:"calc+arraydraw",description:["Determines whether the shape could be activated for edit or not.","Has no effect when the older editable shapes mode is enabled via","`config.editable` or `config.edits.shapePosition`."].join(" ")},label:{text:{valType:"string",dflt:"",editType:"arraydraw",description:["Sets the text to display with shape.","It is also used for legend item if `name` is not provided."].join(" ")},texttemplate:u({},{keys:Object.keys(p)}),font:n({editType:"calc+arraydraw",colorEditType:"arraydraw",description:"Sets the shape label text font."}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right","start","middle","end"],editType:"arraydraw",description:["Sets the position of the label text relative to the shape.","Supported values for rectangles, circles and paths are","*top left*, *top center*, *top right*, *middle left*,","*middle center*, *middle right*, *bottom left*, *bottom center*,","and *bottom right*.","Supported values for lines are *start*, *middle*, and *end*.","Default: *middle center* for rectangles, circles, and paths; *middle* for lines."].join(" ")},textangle:{valType:"angle",dflt:"auto",editType:"calc+arraydraw",description:["Sets the angle at which the label text is drawn","with respect to the horizontal. For lines, angle *auto*","is the same angle as the line. For all other shapes,","angle *auto* is horizontal."].join(" ")},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw",description:["Sets the label's horizontal position anchor","This anchor binds the specified `textposition` to the *left*, *center*","or *right* of the label text.","For example, if `textposition` is set to *top right* and","`xanchor` to *right* then the right-most portion of the","label text lines up with the right-most edge of the","shape."].join(" ")},yanchor:{valType:"enumerated",values:["top","middle","bottom"],editType:"calc+arraydraw",description:["Sets the label's vertical position anchor","This anchor binds the specified `textposition` to the *top*, *middle*","or *bottom* of the label text.","For example, if `textposition` is set to *top right* and","`yanchor` to *top* then the top-most portion of the","label text lines up with the top-most edge of the","shape."].join(" ")},padding:{valType:"number",dflt:3,min:0,editType:"arraydraw",description:"Sets padding (in px) between edge of label and edge of shape."},editType:"arraydraw"},editType:"arraydraw"})},523(e,t,a){var r=a(7396),n=a(6535),i=a(13936),o=a(30991),l=o.strRotate,s=o.strTranslate,c=a(29904),d=a(92765),u=a(85880),p=a(15076),h=a(78577),f=a(82599),g=a(92265).doAutoRange,m=a(35842),v=a(18613),y=a(35271),x=a(23842),b=a(91486).prepSelect,_=a(91486).selectOnClick,w=a(91486).clearOutline,k=a(97953),T=a(15561),A=a(1267).redrawReglTraces,M=a(5540).MID_SHIFT,S=a(65030),L=a(69858),O=a(36493),D=O.smith,j=O.reactanceArc,I=O.resistanceArc,z=O.smithTransform,C=o._,P=o.mod,R=o.deg2rad,F=o.rad2deg;function N(e,t,a){this.isSmith=a||!1,this.id=t,this.gd=e,this._hasClipOnAxisFalse=null,this.vangles=null,this.radialAxisAngle=null,this.traceHash={},this.layers={},this.clipPaths={},this.clipIds={},this.viewInitial={};var r=e._fullLayout,n="clip"+r._uid+t;this.clipIds.forTraces=n+"-for-traces",this.clipPaths.forTraces=r._clips.append("clipPath").attr("id",this.clipIds.forTraces),this.clipPaths.forTraces.append("path"),this.framework=r["_"+(a?"smith":"polar")+"layer"].append("g").attr("class",t),this.getHole=function(e){return this.isSmith?0:e.hole},this.getSector=function(e){return this.isSmith?[0,360]:e.sector},this.getRadial=function(e){return this.isSmith?e.realaxis:e.radialaxis},this.getAngular=function(e){return this.isSmith?e.imaginaryaxis:e.angularaxis},a||(this.radialTickLayout=null,this.angularTickLayout=null)}var E=N.prototype;function B(e){var t=e.ticks+String(e.ticklen)+String(e.showticklabels);return"side"in e&&(t+=e.side),t}function H(e,t){return t[o.findIndexOfMin(t,function(t){return o.angleDist(e,t)})]}function V(e,t,a){return t?(e.attr("display",null),e.attr(a)):e&&e.attr("display","none"),e}e.exports=function(e,t,a){return new N(e,t,a)},E.plot=function(e,t){for(var a=this,r=t[a.id],n=!1,i=0;i=90||n>90&&i>=450?1:l<=0&&c<=0?0:Math.max(l,c),[n<=180&&i>=180||n>180&&i>=540?-1:o>=0&&s>=0?0:Math.min(o,s),n<=270&&i>=270||n>270&&i>=630?-1:l>=0&&c>=0?0:Math.min(l,c),i>=360?1:o<=0&&s<=0?0:Math.max(o,s),t]}(f),_=b[2]-b[0],w=b[3]-b[1],k=h/p,T=Math.abs(w/_);k>T?(g=p,x=(h-(m=p*T))/n.h/2,v=[l[0],l[1]],y=[u[0]+x,u[1]-x]):(m=h,x=(p-(g=h/T))/n.w/2,v=[l[0]+x,l[1]-x],y=[u[0],u[1]]),a.xLength2=g,a.yLength2=m,a.xDomain2=v,a.yDomain2=y;var A,M=a.xOffset2=n.l+n.w*v[0],S=a.yOffset2=n.t+n.h*(1-y[1]),L=a.radius=g/_,O=a.innerRadius=a.getHole(t)*L,D=a.cx=M-L*b[0],j=a.cy=S+L*b[3],I=a.cxx=D-M,z=a.cyy=j-S,C=i.side;"counterclockwise"===C?(A=C,C="top"):"clockwise"===C&&(A=C,C="bottom"),a.radialAxis=a.mockAxis(e,t,i,{_id:"x",side:C,_trueSide:A,domain:[O/n.w,L/n.w]}),a.angularAxis=a.mockAxis(e,t,o,{side:"right",domain:[0,Math.PI],autorange:!1}),a.doAutoRange(e,t),a.updateAngularAxis(e,t),a.updateRadialAxis(e,t),a.updateRadialAxisTitle(e,t),a.xaxis=a.mockCartesianAxis(e,t,{_id:"x",domain:v}),a.yaxis=a.mockCartesianAxis(e,t,{_id:"y",domain:y});var F=a.pathSubplot();a.clipPaths.forTraces.select("path").attr("d",F).attr("transform",s(I,z)),r.frontplot.attr("transform",s(M,S)).call(d.setClipUrl,a._hasClipOnAxisFalse?null:a.clipIds.forTraces,a.gd),r.bg.attr("d",F).attr("transform",s(D,j)).call(c.fill,t.bgcolor)},E.mockAxis=function(e,t,a,r){var n=o.extendFlat({},a,r);return f(n,t,e),n},E.mockCartesianAxis=function(e,t,a){var r=this,n=r.isSmith,i=a._id,l=o.extendFlat({type:"linear"},a);h(l,e);var s={x:[0,2],y:[1,3]};return l.setRange=function(){var e=r.sectorBBox,a=s[i],n=r.radialAxis._rl,o=(n[1]-n[0])/(1-r.getHole(t));l.range=[e[a[0]]*o,e[a[1]]*o]},l.isPtWithinRange="x"!==i||n?function(){return!0}:function(e){return r.isPtInside(e)},l.setRange(),l.setScale(),l},E.doAutoRange=function(e,t){var a=this,r=a.gd,n=a.radialAxis,i=a.getRadial(t);g(r,n);var o=n.range;if(i.range=o.slice(),i._input.range=o.slice(),n._rl=[n.r2l(o[0],null,"gregorian"),n.r2l(o[1],null,"gregorian")],void 0!==n.minallowed){var l=n.r2l(n.minallowed);n._rl[0]>n._rl[1]?n._rl[1]=Math.max(n._rl[1],l):n._rl[0]=Math.max(n._rl[0],l)}if(void 0!==n.maxallowed){var s=n.r2l(n.maxallowed);n._rl[0]90&&g<=270&&(m.tickangle=180);var x=y?function(e){var t=z(a,D([e.x,0]));return s(t[0]-u,t[1]-h)}:function(e){return s(m.l2p(e.x)+d,0)},b=y?function(e){return I(a,e.x,-1/0,1/0)}:function(e){return a.pathArc(m.r2p(e.x)+d)},_=B(f);if(a.radialTickLayout!==_&&(n["radial-axis"].selectAll(".xtick").remove(),a.radialTickLayout=_),v){m.setScale();var w=0,k=y?(m.tickvals||[]).filter(function(e){return e>=0}).map(function(e){return p.tickText(m,e,!0,!1)}):p.calcTicks(m),T=y?k:p.clipEnds(m,k),A=p.getTickSigns(m)[2];y&&(("top"===m.ticks&&"bottom"===m.side||"bottom"===m.ticks&&"top"===m.side)&&(A=-A),"top"===m.ticks&&"top"===m.side&&(w=-m.ticklen),"bottom"===m.ticks&&"bottom"===m.side&&(w=m.ticklen)),p.drawTicks(r,m,{vals:k,layer:n["radial-axis"],path:p.makeTickPath(m,0,A),transFn:x,crisp:!1}),p.drawGrid(r,m,{vals:T,layer:n["radial-grid"],path:b,transFn:o.noop,crisp:!1}),p.drawLabels(r,m,{vals:k,layer:n["radial-axis"],transFn:x,labelFns:p.makeLabelFns(m,w)})}var M=a.radialAxisAngle=a.vangles?F(H(R(f.angle),a.vangles)):f.angle,S=s(u,h),L=S+l(-M);V(n["radial-axis"],v&&(f.showticklabels||f.ticks),{transform:L}),V(n["radial-grid"],v&&f.showgrid,{transform:y?"":S}),V(n["radial-line"].select("line"),v&&f.showline,{x1:y?-i:d,y1:0,x2:i,y2:0,transform:L}).attr("stroke-width",f.linewidth).call(c.stroke,f.linecolor)},E.updateRadialAxisTitle=function(e,t,a){if(!this.isSmith){var r=this,n=r.gd,i=r.radius,o=r.cx,l=r.cy,s=r.getRadial(t),c=r.id+"title",u=0;if(s.title){var p=d.bBox(r.layers["radial-axis"].node()).height,h=s.title.font.size,f=s.side;u="top"===f?h:"counterclockwise"===f?-(p+.4*h):p+.8*h}var g=void 0!==a?a:r.radialAxisAngle,m=R(g),v=Math.cos(m),y=Math.sin(m),b=o+i/2*v+u*y,_=l-i/2*y+u*v;r.layers["radial-axis-title"]=x.draw(n,c,{propContainer:s,propName:r.id+".radialaxis.title",placeholder:C(n,"Click to enter radial axis title"),attributes:{x:b,y:_,"text-anchor":"middle"},transform:{rotate:-g}})}},E.updateAngularAxis=function(e,t){var a=this,r=a.gd,n=a.layers,i=a.radius,d=a.innerRadius,u=a.cx,h=a.cy,f=a.getAngular(t),g=a.angularAxis,m=a.isSmith;m||(a.fillViewInitialKey("angularaxis.rotation",f.rotation),g.setGeometry(),g.setScale());var v=m?function(e){var t=z(a,D([0,e.x]));return Math.atan2(t[0]-u,t[1]-h)-Math.PI/2}:function(e){return g.t2g(e.x)};"linear"===g.type&&"radians"===g.thetaunit&&(g.tick0=F(g.tick0),g.dtick=F(g.dtick));var y=function(e){return s(u+i*Math.cos(e),h-i*Math.sin(e))},x=m?function(e){var t=z(a,D([0,e.x]));return s(t[0],t[1])}:function(e){return y(v(e))},b=m?function(e){var t=z(a,D([0,e.x])),r=Math.atan2(t[0]-u,t[1]-h)-Math.PI/2;return s(t[0],t[1])+l(-F(r))}:function(e){var t=v(e);return y(t)+l(-F(t))},_=m?function(e){return j(a,e.x,0,1/0)}:function(e){var t=v(e),a=Math.cos(t),r=Math.sin(t);return"M"+[u+d*a,h-d*r]+"L"+[u+i*a,h-i*r]},w=p.makeLabelFns(g,0).labelStandoff,k={xFn:function(e){var t=v(e);return Math.cos(t)*w},yFn:function(e){var t=v(e),a=Math.sin(t)>0?.2:1;return-Math.sin(t)*(w+e.fontSize*a)+Math.abs(Math.cos(t))*(e.fontSize*M)},anchorFn:function(e){var t=v(e),a=Math.cos(t);return Math.abs(a)<.1?"middle":a>0?"start":"end"},heightFn:function(e,t,a){var r=v(e);return-.5*(1+Math.sin(r))*a}},T=B(f);a.angularTickLayout!==T&&(n["angular-axis"].selectAll("."+g._id+"tick").remove(),a.angularTickLayout=T);var A,S=m?[1/0].concat(g.tickvals||[]).map(function(e){return p.tickText(g,e,!0,!1)}):p.calcTicks(g);if(m&&(S[0].text="∞",S[0].fontSize*=1.75),"linear"===t.gridshape?(A=S.map(v),o.angleDelta(A[0],A[1])<0&&(A=A.slice().reverse())):A=null,a.vangles=A,"category"===g.type&&(S=S.filter(function(e){return o.isAngleInsideSector(v(e),a.sectorInRad)})),g.visible){var L="inside"===g.ticks?-1:1,O=(g.linewidth||1)/2;p.drawTicks(r,g,{vals:S,layer:n["angular-axis"],path:"M"+L*O+",0h"+L*g.ticklen,transFn:b,crisp:!1}),p.drawGrid(r,g,{vals:S,layer:n["angular-grid"],path:_,transFn:o.noop,crisp:!1}),p.drawLabels(r,g,{vals:S,layer:n["angular-axis"],repositionOnUpdate:!0,transFn:x,labelFns:k})}V(n["angular-line"].select("path"),f.showline,{d:a.pathSubplot(),transform:s(u,h)}).attr("stroke-width",f.linewidth).call(c.stroke,f.linecolor)},E.updateFx=function(e,t){this.gd._context.staticPlot||(!this.isSmith&&(this.updateAngularDrag(e),this.updateRadialDrag(e,t,0),this.updateRadialDrag(e,t,1)),this.updateHoverAndMainDrag(e))},E.updateHoverAndMainDrag=function(e){var t,a,l=this,c=l.isSmith,d=l.gd,u=l.layers,p=e._zoomlayer,h=S.MINZOOM,f=S.OFFEDGE,g=l.radius,x=l.innerRadius,k=l.cx,T=l.cy,A=l.cxx,M=l.cyy,O=l.sectorInRad,D=l.vangles,j=l.radialAxis,I=L.clampTiny,z=L.findXYatLength,C=L.findEnclosingVertexAngles,P=S.cornerHalfWidth,R=S.cornerLen/2,F=m.makeDragger(u,"path","maindrag",!1===e.dragmode?"none":"crosshair");r.select(F).attr("d",l.pathSubplot()).attr("transform",s(k,T)),F.onmousemove=function(e){y.hover(d,e,l.id),d._fullLayout._lasthover=F,d._fullLayout._hoversubplot=l.id},F.onmouseout=function(e){d._dragging||v.unhover(d,e)};var N,E,B,H,V,U,G,q,Z,W={element:F,gd:d,subplot:l.id,plotinfo:{id:l.id,xaxis:l.xaxis,yaxis:l.yaxis},xaxes:[l.xaxis],yaxes:[l.yaxis]};function Y(e,t){return Math.sqrt(e*e+t*t)}function X(e,t){return Y(e-A,t-M)}function J(e,t){return Math.atan2(M-t,e-A)}function Q(e,t){return[e*Math.cos(t),e*Math.sin(-t)]}function K(e,t){if(0===e)return l.pathSector(2*P);var a=R/e,r=t-a,n=t+a,i=Math.max(0,Math.min(e,g)),o=i-P,s=i+P;return"M"+Q(o,r)+"A"+[o,o]+" 0,0,0 "+Q(o,n)+"L"+Q(s,n)+"A"+[s,s]+" 0,0,1 "+Q(s,r)+"Z"}function $(e,t,a){if(0===e)return l.pathSector(2*P);var r,n,i=Q(e,t),o=Q(e,a),s=I((i[0]+o[0])/2),c=I((i[1]+o[1])/2);if(s&&c){var d=c/s,u=-1/d,p=z(P,d,s,c);r=z(R,u,p[0][0],p[0][1]),n=z(R,u,p[1][0],p[1][1])}else{var h,f;c?(h=R,f=P):(h=P,f=R),r=[[s-h,c-f],[s+h,c-f]],n=[[s-h,c+f],[s+h,c+f]]}return"M"+r.join("L")+"L"+n.reverse().join("L")+"Z"}function ee(e,t){return t=Math.max(Math.min(t,g),x),eh?(e-1&&1===e&&_(t,d,[l.xaxis],[l.yaxis],l.id,W),a.indexOf("event")>-1&&y.click(d,t,l.id)}W.prepFn=function(e,r,i){var s=d._fullLayout.dragmode,u=F.getBoundingClientRect();d._fullLayout._calcInverseTransform(d);var h=d._fullLayout._invTransform;t=d._fullLayout._invScaleX,a=d._fullLayout._invScaleY;var f=o.apply3DTransform(h)(r-u.left,i-u.top);if(N=f[0],E=f[1],D){var v=L.findPolygonOffset(g,O[0],O[1],D);N+=A+v[0],E+=M+v[1]}switch(s){case"zoom":W.clickFn=le,c||(W.moveFn=D?ne:ae,W.doneFn=ie,function(){B=null,H=null,V=l.pathSubplot(),U=!1;var e=d._fullLayout[l.id];G=n(e.bgcolor).getLuminance(),(q=m.makeZoombox(p,G,k,T,V)).attr("fill-rule","evenodd"),Z=m.makeCorners(p,k,T),w(d)}());break;case"select":case"lasso":b(e,r,i,W,s)}},v.init(W)},E.updateRadialDrag=function(e,t,a){var n=this,c=n.gd,d=n.layers,u=n.radius,p=n.innerRadius,h=n.cx,f=n.cy,g=n.radialAxis,y=S.radialDragBoxSize,x=y/2;if(g.visible){var b,_,k,M=R(n.radialAxisAngle),L=g._rl,O=L[0],D=L[1],j=L[a],I=.75*(L[1]-L[0])/(1-n.getHole(t))/u;a?(b=h+(u+x)*Math.cos(M),_=f-(u+x)*Math.sin(M),k="radialdrag"):(b=h+(p-x)*Math.cos(M),_=f-(p-x)*Math.sin(M),k="radialdrag-inner");var z,C,P,N=m.makeRectDragger(d,k,"crosshair",-x,-x,y,y),E={element:N,gd:c};!1===e.dragmode&&(E.dragmode=!1),V(r.select(N),g.visible&&p0==(a?P>O:Pa.duration?(function(){for(var a={},r=0;r rect").call(o.setTranslate,0,0).call(o.setScale,1,1),e.plot.call(o.setTranslate,t._offset,a._offset).call(o.setScale,1,1);var r=e.plot.selectAll(".scatterlayer .trace");r.selectAll(".point").call(o.setPointGroupScale,1,1),r.selectAll(".textpoint").call(o.setTextPointsScale,1,1),r.call(o.hideOutsideRangePoints,e)}function m(t,a){var r=t.plotinfo,n=r.xaxis,s=r.yaxis,c=n._length,d=s._length,u=!!t.xr1,p=!!t.yr1,h=[];if(u){var f=i.simpleMap(t.xr0,n.r2l),g=i.simpleMap(t.xr1,n.r2l),m=f[1]-f[0],v=g[1]-g[0];h[0]=(f[0]*(1-a)+a*g[0]-f[0])/(f[1]-f[0])*c,h[2]=c*(1-a+a*v/m),n.range[0]=n.l2r(f[0]*(1-a)+a*g[0]),n.range[1]=n.l2r(f[1]*(1-a)+a*g[1])}else h[0]=0,h[2]=c;if(p){var y=i.simpleMap(t.yr0,s.r2l),x=i.simpleMap(t.yr1,s.r2l),b=y[1]-y[0],_=x[1]-x[0];h[1]=(y[1]*(1-a)+a*x[1]-y[1])/(y[0]-y[1])*d,h[3]=d*(1-a+a*_/b),s.range[0]=n.l2r(y[0]*(1-a)+a*x[0]),s.range[1]=s.l2r(y[1]*(1-a)+a*x[1])}else h[1]=0,h[3]=d;l.drawOne(e,n,{skipTitle:!0}),l.drawOne(e,s,{skipTitle:!0}),l.redrawComponents(e,[n._id,s._id]);var w=u?c/h[2]:1,k=p?d/h[3]:1,T=u?h[0]:0,A=p?h[1]:0,M=u?h[0]/h[2]*c:0,S=p?h[1]/h[3]*d:0,L=n._offset-M,O=s._offset-S;r.clipRect.call(o.setTranslate,T,A).call(o.setScale,1/w,1/k),r.plot.call(o.setTranslate,L,O).call(o.setScale,w,k),o.setPointGroupScale(r.zoomScalePts,1/w,1/k),o.setTextPointsScale(r.zoomScaleTxt,1/w,1/k)}l.redrawComponents(e)}},1116(e,t,a){var r=a(57365),n=a(2007).BADNUM,i=a(15076),o=a(59498),l=a(47213),s=a(61347),c=a(70882).calcMarkerSize;e.exports=function(e,t){for(var a=e._fullLayout,d=t.subplot,u=a[d].radialaxis,p=a[d].angularaxis,h=u.makeCalcdata(t,"r"),f=p.makeCalcdata(t,"theta"),g=t._length,m=new Array(g),v=0;v=e[1]||n[1]<=e[0])&&i[0]t[0])return!0}return!1}function w(e){var a,n,l,s,u,g,m=e._fullLayout,v=m._size,y=v.p,x=h.list(e,"",!0);if(m._paperdiv.style({width:e._context.responsive&&m.autosize&&!e._context._hasZeroWidth&&!e.layout.width?"100%":m.width+"px",height:e._context.responsive&&m.autosize&&!e._context._hasZeroHeight&&!e.layout.height?"100%":m.height+"px"}).selectAll(".main-svg").call(d.setSize,m.width,m.height),e._context.setBackground(e,m.paper_bgcolor),t.drawMainTitle(e),p.manage(e),!m._has("cartesian"))return i.previousPromises(e);function w(e,t,a){var r=e._lw/2;return"x"===e._id.charAt(0)?t?"top"===a?t._offset-y-r:t._offset+t._length+y+r:v.t+v.h*(1-(e.position||0))+r%1:t?"right"===a?t._offset+t._length+y+r:t._offset-y-r:v.l+v.w*(e.position||0)+r%1}for(a=0;a.5?"t":"b",o=e._fullLayout.margin[i],l=0;return"paper"===t.yref?l=a+t.pad.t+t.pad.b:"container"===t.yref&&(l=function(e,t,a,r,n){var i=0;return"middle"===a&&(i+=n/2),"t"===e?("top"===a&&(i+=n),i+=r-t*r):("bottom"===a&&(i+=n),i+=t*r),i}(i,r,n,e._fullLayout.height,a)+t.pad.t+t.pad.b),l>o?l:0}(e,t,g);if(m>0){!function(e,t,a,r){var n="title.automargin",l=e._fullLayout.title,s=l.y>.5?"t":"b",c={x:l.x,y:l.y,t:0,b:0},d={};"paper"===l.yref&&function(e,t,a,r,n){var i="paper"===t.yref?e._fullLayout._size.h:e._fullLayout.height,l=o.isTopAnchor(t)?r:r-n,s="b"===a?i-l:l;return!(o.isTopAnchor(t)&&"t"===a||o.isBottomAnchor(t)&&"b"===a)&&s-1;l--){var s=i[l];if("Version/"===s.substr(0,8)){var c=s.substr(8).split(".")[0];if(r(c)&&(c=+c),c>=13)return!0}}return a}},1609(e,t,a){var r=a(7396),n=a(30991),i=n.strTranslate,o=a(88426),l=a(5540).LINE_SPACING,s=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;t.convertToTspans=function(e,a,m){var S=e.text(),L=!e.attr("data-notex")&&a&&a._context.typesetMath&&"undefined"!=typeof MathJax&&S.match(s),j=r.select(e.node().parentNode);if(!j.empty()){var I=e.attr("class")?e.attr("class").split(" ")[0]:"text";return I+="-math",j.selectAll("svg."+I).remove(),j.selectAll("g."+I+"-group").remove(),e.style("display",null).attr({"data-unformatted":S,"data-math":"N"}),L?(a&&a._promises||[]).push(new Promise(function(t){e.style("display","none");var a=parseInt(e.node().style.fontSize,10),o={fontSize:a};!function(e,t,a){var i,o,l,s,p=parseInt((MathJax.version||"").split(".")[0]);if(2===p||3===p){var h=function(){var a="math-output-"+n.randstr({},64),i=(s=r.select("body").append("div").attr({id:a}).style({visibility:"hidden",position:"absolute","font-size":t.fontSize+"px"}).text(e.replace(c,"\\lt ").replace(d,"\\gt "))).node();return 2===p?MathJax.Hub.Typeset(i):MathJax.typeset([i])},f=function(){var t=s.select(2===p?".MathJax_SVG":".MathJax"),i=!t.empty()&&s.select("svg").node();if(i){var o,l=i.getBoundingClientRect();o=2===p?r.select("body").select("#MathJax_SVG_glyphs"):t.select("defs"),a(t,o,l)}else n.log("There was an error in the tex syntax.",e),a();s.remove()};2===p?MathJax.Hub.Queue(function(){return o=n.extendDeepAll({},MathJax.Hub.config),l=MathJax.Hub.processSectionDelay,void 0!==MathJax.Hub.processSectionDelay&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:"none",tex2jax:{inlineMath:u},displayAlign:"left"})},function(){if("SVG"!==(i=MathJax.Hub.config.menuSettings.renderer))return MathJax.Hub.setRenderer("SVG")},h,f,function(){if("SVG"!==i)return MathJax.Hub.setRenderer(i)},function(){return void 0!==l&&(MathJax.Hub.processSectionDelay=l),MathJax.Hub.Config(o)}):3===p&&(o=n.extendDeepAll({},MathJax.config),MathJax.config.tex||(MathJax.config.tex={}),MathJax.config.tex.inlineMath=u,"svg"!==(i=MathJax.config.startup.output)&&(MathJax.config.startup.output="svg"),MathJax.startup.defaultReady(),MathJax.startup.promise.then(function(){h(),f(),"svg"!==i&&(MathJax.config.startup.output=i),MathJax.config=o}))}else n.warn("No MathJax version:",MathJax.version)}(L[2],o,function(r,n,o){j.selectAll("svg."+I).remove(),j.selectAll("g."+I+"-group").remove();var l=r&&r.select("svg");if(!l||!l.node())return z(),void t();var s=j.append("g").classed(I+"-group",!0).attr({"pointer-events":"none","data-unformatted":S,"data-math":"Y"});s.node().appendChild(l.node()),n&&n.node()&&l.node().insertBefore(n.node().cloneNode(!0),l.node().firstChild);var c=o.width,d=o.height;l.attr({class:I,height:d,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none"});var u=e.node().style.fill||"black",p=l.select("g");p.attr({fill:u,stroke:u});var h=p.node().getBoundingClientRect(),f=h.width,g=h.height;(f>c||g>d)&&(l.style("overflow","hidden"),f=(h=l.node().getBoundingClientRect()).width,g=h.height);var v=+e.attr("x"),y=+e.attr("y"),x=-(a||e.node().getBoundingClientRect().height)/4;if("y"===I[0])s.attr({transform:"rotate("+[-90,v,y]+")"+i(-f/2,x-g/2)});else if("l"===I[0])y=x-g/2;else if("a"===I[0]&&0!==I.indexOf("atitle"))v=0,y=x;else{var b=e.attr("text-anchor");v-=f*("middle"===b?.5:"end"===b?1:0),y=y+x-g/2}l.attr({x:v,y}),m&&m.call(e,s),t(s)})})):z(),e}function z(){j.empty()||(I=e.attr("class")+"-math",j.select("svg."+I).remove()),e.text("").style("white-space","pre");var a=function(e,t){t=t.replace(v," ");var a,i=!1,s=[],c=-1;function d(){c++;var t=document.createElementNS(o.svg,"tspan");r.select(t).attr({class:"line",dy:c*l+"em"}),e.appendChild(t),a=t;var n=s;if(s=[{node:t}],n.length>1)for(var i=1;i doesnt match end tag <"+e+">. Pretending it did match.",t),a=s[s.length-1].node}else n.log("Ignoring unexpected end tag .",t)}b.test(t)?d():(a=e,s=[{node:e}]);for(var L=t.split(y),j=0;j|>|>)/g,u=[["$","$"],["\\(","\\)"]],p={sup:"font-size:70%",sub:"font-size:70%",s:"text-decoration:line-through",u:"text-decoration:underline",b:"font-weight:bold",i:"font-style:italic",a:"cursor:pointer",span:"",em:"font-style:italic;font-weight:bold"},h={sub:"0.3em",sup:"-0.6em"},f={sub:"-0.21em",sup:"0.42em"},g="​",m=["http:","https:","mailto:","",void 0,":"],v=t.NEWLINES=/(\r\n?|\n)/g,y=/(<[^<>]*>)/,x=/<(\/?)([^ >]*)(\s+(.*))?>/i,b=//i;t.BR_TAG_ALL=//gi;var _=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,w=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,k=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,T=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function A(e,t){if(!e)return null;var a=e.match(t),r=a&&(a[3]||a[4]);return r&&O(r)}var M=/(^|;)\s*color:/;t.plainText=function(e,t){for(var a=void 0!==(t=t||{}).len&&-1!==t.len?t.len:1/0,r=void 0!==t.allowedTags?t.allowedTags:["br"],n=e.split(y),i=[],o="",l=0,s=0;s3?i.push(c.substr(0,h-3)+"..."):i.push(c.substr(0,h));break}o=""}}return i.join("")};var S={mu:"μ",amp:"&",lt:"<",gt:">",nbsp:" ",times:"×",plusmn:"±",deg:"°"},L=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function O(e){return e.replace(L,function(e,t){return("#"===t.charAt(0)?function(e){if(!(e>1114111)){var t=String.fromCodePoint;if(t)return t(e);var a=String.fromCharCode;return e<=65535?a(e):a(55232+(e>>10),e%1024+56320)}}("x"===t.charAt(1)?parseInt(t.substr(2),16):parseInt(t.substr(1),10)):S[t])||e})}function D(e){var t=encodeURI(decodeURI(e)),a=document.createElement("a"),r=document.createElement("a");a.href=e,r.href=t;var n=a.protocol,i=r.protocol;return-1!==m.indexOf(n)&&-1!==m.indexOf(i)?t:""}function j(e,t,a){var r,i,o,l=a.horizontalAlign,s=a.verticalAlign||"top",c=e.node().getBoundingClientRect(),d=t.node().getBoundingClientRect();return i="bottom"===s?function(){return c.bottom-r.height}:"middle"===s?function(){return c.top+(c.height-r.height)/2}:function(){return c.top},o="right"===l?function(){return c.right-r.width}:"center"===l?function(){return c.left+(c.width-r.width)/2}:function(){return c.left},function(){r=this.node().getBoundingClientRect();var e=o()-d.left,t=i()-d.top,l=a.gd||{};if(a.gd){l._fullLayout._calcInverseTransform(l);var s=n.apply3DTransform(l._fullLayout._invTransform)(e,t);e=s[0],t=s[1]}return this.style({top:t+"px",left:e+"px","z-index":1e3}),this}}t.convertEntities=O,t.sanitizeHTML=function(e){e=e.replace(v," ");for(var t=document.createElement("p"),a=t,n=[],i=e.split(y),o=0;on.queueLength&&(e.undoQueue.queue.shift(),e.undoQueue.index--))},startSequence:function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!0,e.undoQueue.beginSequence=!0},stopSequence:function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!1,e.undoQueue.beginSequence=!1},undo:function(e){var t,a;if(!(void 0===e.undoQueue||isNaN(e.undoQueue.index)||e.undoQueue.index<=0)){for(e.undoQueue.index--,t=e.undoQueue.queue[e.undoQueue.index],e.undoQueue.inSequence=!0,a=0;a=e.undoQueue.queue.length)){for(t=e.undoQueue.queue[e.undoQueue.index],e.undoQueue.inSequence=!0,a=0;a=0&&a.index0&&o.log("Clearing previous rejected promises from queue."),e._promises=[]},t.cleanLayout=function(e){var a,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 i=(l.subplotsRegistry.cartesian||{}).attrRegex,s=(l.subplotsRegistry.polar||{}).attrRegex,u=(l.subplotsRegistry.ternary||{}).attrRegex,p=(l.subplotsRegistry.gl3d||{}).attrRegex,g=Object.keys(e);for(a=0;a3?(z.x=1.02,z.xanchor="left"):z.x<-2&&(z.x=-.02,z.xanchor="right"),z.y>3?(z.y=1.02,z.yanchor="bottom"):z.y<-2&&(z.y=-.02,z.yanchor="top")),f(e),"rotate"===e.dragmode&&(e.dragmode="orbit"),c.clean(e),e.template&&e.template.layout&&t.cleanLayout(e.template.layout),e},t.cleanData=function(e){for(var a=0;a0)return e.substr(0,t)}t.hasParent=function(e,t){for(var a=b(t);a;){if(a in e)return!0;a=b(a)}return!1};var _=["x","y","z"];t.clearAxisTypes=function(e,t,a){for(var r=0;ra?a:e}e.exports=function(e,t,a){var v=t._fullLayout;a||(a=v.legend);var y="constant"===a.itemsizing,x=a.itemwidth,b=(x+2*h.itemGap)/2,_=o(b,0),w=function(e,t,a,r){var n;if(e+1)n=e;else{if(!(t&&t.width>0))return 0;n=t.width}return y?r:Math.min(n,a)};function k(e,i,o){var d=e[0].trace,u=d.marker||{},p=u.line||{},h=u.cornerradius?"M6,3a3,3,0,0,1-3,3H-3a3,3,0,0,1-3-3V-3a3,3,0,0,1,3-3H3a3,3,0,0,1,3,3Z":"M6,6H-6V-6H6Z",f=o?d.visible&&d.type===o:n.traceIs(d,"bar"),g=r.select(i).select("g.legendpoints").selectAll("path.legend"+o).data(f?[e]:[]);g.enter().append("path").classed("legend"+o,!0).attr("d",h).attr("transform",_),g.exit().remove(),g.each(function(e){var n=r.select(this),i=e[0],o=w(i.mlw,u.line,5,2);n.style("stroke-width",o+"px");var h=i.mcc;if(!a._inHover&&"mc"in i){var f=c(u),g=f.mid;void 0===g&&(g=(f.max+f.min)/2),h=l.tryColorscale(u,"")(g)}var v=h||i.mc||u.color,y=u.pattern,x=y&&l.getPatternAttr(y.shape,0,"");if(x){var b=l.getPatternAttr(y.bgcolor,0,null),_=l.getPatternAttr(y.fgcolor,0,null),k=y.fgopacity,T=m(y.size,8,10),A=m(y.solidity,.5,1),M="legend-"+d.uid;n.call(l.pattern,"legend",t,M,x,T,A,h,y.fillmode,b,_,k)}else n.call(s.fill,v);o&&s.stroke(n,i.mlc||p.color)})}function T(e,a,o){var l=e[0],s=l.trace,c=o?s.visible&&s.type===o:n.traceIs(s,o),d=r.select(a).select("g.legendpoints").selectAll("path.legend"+o).data(c?[e]:[]);if(d.enter().append("path").classed("legend"+o,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",_),d.exit().remove(),d.size()){var h=s.marker||{},f=w(p(h.line.width,l.pts),h.line,5,2),g="pieLike",m=i.minExtend(s,{marker:{line:{width:f}}},g),v=i.minExtend(l,{trace:m},g);u(d,v,m,t)}}e.each(function(e){var t=r.select(this),n=i.ensureSingle(t,"g","layers");n.style("opacity",e[0].trace.opacity);var l=a.indentation,s=a.valign,c=e[0].lineHeight,d=e[0].height;if("middle"===s&&0===l||!c||!d)n.attr("transform",null);else{var u={top:1,bottom:-1}[s]*(.5*(c-d+3))||0,p=a.indentation;n.attr("transform",o(p,u))}n.selectAll("g.legendfill").data([e]).enter().append("g").classed("legendfill",!0),n.selectAll("g.legendlines").data([e]).enter().append("g").classed("legendlines",!0);var h=n.selectAll("g.legendsymbols").data([e]);h.enter().append("g").classed("legendsymbols",!0),h.selectAll("g.legendpoints").data([e]).enter().append("g").classed("legendpoints",!0)}).each(function(e){var a,n=e[0].trace,o=[];if(n.visible)switch(n.type){case"histogram2d":case"heatmap":o=[["M-15,-2V4H15V-2Z"]],a=!0;break;case"choropleth":case"choroplethmapbox":case"choroplethmap":o=[["M-6,-6V6H6V-6Z"]],a=!0;break;case"densitymapbox":case"densitymap":o=[["M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"]],a="radial";break;case"cone":o=[["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"]],a=!1;break;case"streamtube":o=[["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"]],a=!1;break;case"surface":o=[["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"]],a=!0;break;case"mesh3d":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],a=!1;break;case"volume":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],a=!0;break;case"isosurface":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6 A12,24 0 0,0 6,-6 L0,6Z"]],a=!1}var d=r.select(this).select("g.legendpoints").selectAll("path.legend3dandfriends").data(o);d.enter().append("path").classed("legend3dandfriends",!0).attr("transform",_).style("stroke-miterlimit",1),d.exit().remove(),d.each(function(e,o){var d,u=r.select(this),p=c(n),h=p.colorscale,g=p.reversescale;if(h){if(!a){var m=h.length;d=0===o?h[g?m-1:0][1]:1===o?h[g?0:m-1][1]:h[Math.floor((m-1)/2)][1]}}else{var v=n.vertexcolor||n.facecolor||n.color;d=i.isArrayOrTypedArray(v)?v[o]||v[0]:v}u.attr("d",e[0]),d?u.call(s.fill,d):u.call(function(e){if(e.size()){var r="legendfill-"+n.uid;l.gradient(e,t,r,f(g,"radial"===a),h,"fill")}})})}).each(function(e){var t=e[0].trace,a="waterfall"===t.type;if(e[0]._distinct&&a){var n=e[0].trace[e[0].dir].marker;return e[0].mc=n.color,e[0].mlw=n.line.width,e[0].mlc=n.line.color,k(e,this,"waterfall")}var i=[];t.visible&&a&&(i=e[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 o=r.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(i);o.enter().append("path").classed("legendwaterfall",!0).attr("transform",_).style("stroke-miterlimit",1),o.exit().remove(),o.each(function(e){var a=r.select(this),n=t[e[0]].marker,i=w(void 0,n.line,5,2);a.attr("d",e[1]).style("stroke-width",i+"px").call(s.fill,n.color),i&&a.call(s.stroke,n.line.color)})}).each(function(e){k(e,this,"funnel")}).each(function(e){k(e,this)}).each(function(e){var a=e[0].trace,o=r.select(this).select("g.legendpoints").selectAll("path.legendbox").data(a.visible&&n.traceIs(a,"box-violin")?[e]:[]);o.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform",_),o.exit().remove(),o.each(function(){var e=r.select(this);if("all"!==a.boxpoints&&"all"!==a.points||0!==s.opacity(a.fillcolor)||0!==s.opacity((a.line||{}).color)){var n=w(void 0,a.line,5,2);e.style("stroke-width",n+"px").call(s.fill,a.fillcolor),n&&s.stroke(e,a.line.color)}else{var c=i.minExtend(a,{marker:{size:y?12:i.constrain(a.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});o.call(l.pointStyle,c,t)}})}).each(function(e){T(e,this,"funnelarea")}).each(function(e){T(e,this,"pie")}).each(function(e){var a,n,o=g(e),s=o.showFill,u=o.showLine,p=o.showGradientLine,h=o.showGradientFill,m=o.anyFill,v=o.anyLine,y=e[0],b=y.trace,_=c(b),k=_.colorscale,T=_.reversescale,A=d.hasMarkers(b)||!m?"M5,0":v?"M5,-2":"M5,-3",M=r.select(this),S=M.select(".legendfill").selectAll("path").data(s||h?[e]:[]);if(S.enter().append("path").classed("js-fill",!0),S.exit().remove(),S.attr("d",A+"h"+x+"v6h-"+x+"z").call(function(e){if(e.size())if(s)l.fillGroupStyle(e,t,!0);else{var a="legendfill-"+b.uid;l.gradient(e,t,a,f(T),k,"fill")}}),u||p){var L=w(void 0,b.line,10,5);n=i.minExtend(b,{line:{width:L}}),a=[i.minExtend(y,{trace:n})]}var O=M.select(".legendlines").selectAll("path").data(u||p?[a]:[]);O.enter().append("path").classed("js-line",!0),O.exit().remove(),O.attr("d",A+(p?"l"+x+",0.0001":"h"+x)).call(u?l.lineGroupStyle:function(e){if(e.size()){var a="legendline-"+b.uid;l.lineGroupStyle(e),l.gradient(e,t,a,f(T),k,"stroke")}})}).each(function(e){var a,n,o=g(e),s=o.anyFill,c=o.anyLine,u=o.showLine,p=o.showMarker,h=e[0],f=h.trace,m=!p&&!c&&!s&&d.hasText(f);function v(e,t,a,r){var n=i.nestedProperty(f,e).get(),o=i.isArrayOrTypedArray(n)&&t?t(n):n;if(y&&o&&void 0!==r&&(o=r),a){if(oa[1])return a[1]}return o}function x(e){return h._distinct&&h.index&&e[h.index]?e[h.index]:e[0]}if(p||m||u){var b={},w={};if(p){b.mc=v("marker.color",x),b.mx=v("marker.symbol",x),b.mo=v("marker.opacity",i.mean,[.2,1]),b.mlc=v("marker.line.color",x),b.mlw=v("marker.line.width",i.mean,[0,5],2),w.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var k=v("marker.size",i.mean,[2,16],12);b.ms=k,w.marker.size=k}u&&(w.line={width:v("line.width",x,[0,10],5)}),m&&(b.tx="Aa",b.tp=v("textposition",x),b.ts=10,b.tc=v("textfont.color",x),b.tf=v("textfont.family",x),b.tw=v("textfont.weight",x),b.ty=v("textfont.style",x),b.tv=v("textfont.variant",x),b.tC=v("textfont.textcase",x),b.tE=v("textfont.lineposition",x),b.tS=v("textfont.shadow",x)),a=[i.minExtend(h,b)],(n=i.minExtend(f,w)).selectedpoints=null,n.texttemplate=null}var T=r.select(this).select("g.legendpoints"),A=T.selectAll("path.scatterpts").data(p?a:[]);A.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform",_),A.exit().remove(),A.call(l.pointStyle,n,t),p&&(a[0].mrc=3);var M=T.selectAll("g.pointtext").data(m?a:[]);M.enter().append("g").classed("pointtext",!0).append("text").attr("transform",_),M.exit().remove(),M.selectAll("text").call(l.textPointStyle,n,t)}).each(function(e){var t=e[0].trace,a=r.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(t.visible&&"candlestick"===t.type?[e,e]:[]);a.enter().append("path").classed("legendcandle",!0).attr("d",function(e,t){return t?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"}).attr("transform",_).style("stroke-miterlimit",1),a.exit().remove(),a.each(function(e,a){var n=r.select(this),i=t[a?"increasing":"decreasing"],o=w(void 0,i.line,5,2);n.style("stroke-width",o+"px").call(s.fill,i.fillcolor),o&&s.stroke(n,i.line.color)})}).each(function(e){var t=e[0].trace,a=r.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(t.visible&&"ohlc"===t.type?[e,e]:[]);a.enter().append("path").classed("legendohlc",!0).attr("d",function(e,t){return t?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"}).attr("transform",_).style("stroke-miterlimit",1),a.exit().remove(),a.each(function(e,a){var n=r.select(this),i=t[a?"increasing":"decreasing"],o=w(void 0,i.line,5,2);n.style("fill","none").call(l.dashLine,i.line.dash,o),o&&s.stroke(n,i.line.color)})})}},3184(e){e.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(" ")}}}},4597(e){e.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:20,SYMBOL_STROKE:1,DOT_RE:/-dot/,OPEN_RE:/-open/,DASHES:{solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}}},4655(e){e.exports=function(e){e._responsiveChartHandler&&(window.removeEventListener("resize",e._responsiveChartHandler),delete e._responsiveChartHandler)}},4657(e,t,a){var r=a(7396),n=a(63666).GW,i=a(63666).Dj,o=a(30991),l=o.strScale,s=o.strTranslate,c=o.rad2deg,d=a(5540).MID_SHIFT,u=a(92765),p=a(59889),h=a(1609),f=a(15076),g=a(43889),m=a(34051),v=a(71867),y=a(29904),x={left:"start",center:"middle",right:"end"},b={left:0,center:.5,right:1},_=/[yzafpnµmkMGTPEZY]/;function w(e){return e&&e.duration>0}function k(e){e.each(function(e){y.stroke(r.select(this),e.line.color)}).each(function(e){y.fill(r.select(this),e.color)}).style("stroke-width",function(e){return e.line.width})}function T(e,t,a){var r=e._fullLayout,n=o.extendFlat({type:"linear",ticks:"outside",range:a,showline:!0},t),i={type:"linear",_id:"x"+t._id},l={letter:"x",font:r.font,noAutotickangles:!0,noHover:!0,noTickson:!0};function s(e,t){return o.coerce(n,i,v,e,t)}return g(n,i,s,l,r),m(n,i,s,l),i}function A(e,t,a){return[Math.min(t/e.width,a/e.height),e,t+"x"+a]}function M(e,t,a,n){var i=document.createElementNS("http://www.w3.org/2000/svg","text"),o=r.select(i);return o.text(e).attr("x",0).attr("y",0).attr("text-anchor",a).attr("data-unformatted",e).call(h.convertToTspans,n).call(u.font,t),u.bBox(o.node())}function S(e,t,a,r,n,i){var l="_cache"+t;e[l]&&e[l].key===n||(e[l]={key:n,value:a});var s=o.aggNums(i,null,[e[l].value,r],2);return e[l].value=s,s}e.exports=function(e,t,a,g){var m,v=e._fullLayout;w(a)&&g&&(m=g()),o.makeTraceGroups(v._indicatorlayer,t,"trace").each(function(t){var g,L,O,D,j,I=t[0].trace,z=r.select(this),C=I._hasGauge,P=I._isAngular,R=I._isBullet,F=I.domain,N={w:v._size.w*(F.x[1]-F.x[0]),h:v._size.h*(F.y[1]-F.y[0]),l:v._size.l+v._size.w*F.x[0],r:v._size.r+v._size.w*(1-F.x[1]),t:v._size.t+v._size.h*(1-F.y[1]),b:v._size.b+v._size.h*F.y[0]},E=N.l+N.w/2,B=N.t+N.h/2,H=Math.min(N.w/2,N.h),V=p.innerRadius*H,U=I.align||"center";if(L=B,C){if(P&&(g=E,L=B+H/2,O=function(e){return function(e,t){return[t/Math.sqrt(e.width/2*(e.width/2)+e.height*e.height),e,t]}(e,.9*V)}),R){var G=p.bulletPadding,q=1-p.bulletNumberDomainSize+G;g=N.l+(q+(1-q)*b[U])*N.w,O=function(e){return A(e,(p.bulletNumberDomainSize-G)*N.w,N.h)}}}else g=N.l+b[U]*N.w,O=function(e){return A(e,N.w,N.h)};!function(e,t,a,n){var c,d,p,g=a[0].trace,m=n.numbersX,v=n.numbersY,k=g.align||"center",A=x[k],L=n.transitionOpts,O=n.onComplete,D=o.ensureSingle(t,"g","numbers"),j=[];g._hasNumber&&j.push("number"),g._hasDelta&&(j.push("delta"),"left"===g.delta.position&&j.reverse());var I=D.selectAll("text").data(j);function z(t,a,r,n){if(!t.match("s")||r>=0==n>=0||a(r).slice(-1).match(_)||a(n).slice(-1).match(_))return a;var i=t.slice().replace("s","f").replace(/\d+/,function(e){return parseInt(e)-1}),o=T(e,{tickformat:i});return function(e){return Math.abs(e)<1?f.tickText(o,e).text:a(e)}}I.enter().append("text"),I.attr("text-anchor",function(){return A}).attr("class",function(e){return e}).attr("x",null).attr("y",null).attr("dx",null).attr("dy",null),I.exit().remove();var C,P=g.mode+g.align;if(g._hasDelta&&(C=function(){var t=T(e,{tickformat:g.delta.valueformat},g._range);t.setScale(),f.prepTicks(t);var n=function(e){return f.tickText(t,e).text},o=g.delta.suffix,l=g.delta.prefix,s=function(e){return g.delta.relative?e.relativeDelta:e.delta},c=function(e,t){return 0===e||"number"!=typeof e||isNaN(e)?"-":(e>0?g.delta.increasing.symbol:g.delta.decreasing.symbol)+l+t(e)+o},p=function(e){return e.delta>=0?g.delta.increasing.color:g.delta.decreasing.color};void 0===g._deltaLastValue&&(g._deltaLastValue=s(a[0]));var m=D.select("text.delta");function v(){m.text(c(s(a[0]),n)).call(y.fill,p(a[0])).call(h.convertToTspans,e)}return m.call(u.font,g.delta.font).call(y.fill,p({delta:g._deltaLastValue})),w(L)?m.transition().duration(L.duration).ease(L.easing).tween("text",function(){var e=r.select(this),t=s(a[0]),o=g._deltaLastValue,l=z(g.delta.valueformat,n,o,t),d=i(o,t);return g._deltaLastValue=t,function(t){e.text(c(d(t),l)),e.call(y.fill,p({delta:d(t)}))}}).each("end",function(){v(),O&&O()}).each("interrupt",function(){v(),O&&O()}):v(),d=M(c(s(a[0]),n),g.delta.font,A,e),m}(),P+=g.delta.position+g.delta.font.size+g.delta.font.family+g.delta.valueformat,P+=g.delta.increasing.symbol+g.delta.decreasing.symbol,p=d),g._hasNumber&&(function(){var t=T(e,{tickformat:g.number.valueformat},g._range);t.setScale(),f.prepTicks(t);var n=function(e){return f.tickText(t,e).text},o=g.number.suffix,l=g.number.prefix,s=D.select("text.number");function d(){var t="number"==typeof a[0].y?l+n(a[0].y)+o:"-";s.text(t).call(u.font,g.number.font).call(h.convertToTspans,e)}w(L)?s.transition().duration(L.duration).ease(L.easing).each("end",function(){d(),O&&O()}).each("interrupt",function(){d(),O&&O()}).attrTween("text",function(){var e=r.select(this),t=i(a[0].lastY,a[0].y);g._lastValue=a[0].y;var s=z(g.number.valueformat,n,a[0].lastY,a[0].y);return function(a){e.text(l+s(t(a))+o)}}):d(),c=M(l+n(a[0].y)+o,g.number.font,A,e)}(),P+=g.number.font.size+g.number.font.family+g.number.valueformat+g.number.suffix+g.number.prefix,p=c),g._hasDelta&&g._hasNumber){var R,F,N=[(c.left+c.right)/2,(c.top+c.bottom)/2],E=[(d.left+d.right)/2,(d.top+d.bottom)/2],B=.75*g.delta.font.size;"left"===g.delta.position&&(R=S(g,"deltaPos",0,-1*(c.width*b[g.align]+d.width*(1-b[g.align])+B),P,Math.min),F=N[1]-E[1],p={width:c.width+d.width+B,height:Math.max(c.height,d.height),left:d.left+R,right:c.right,top:Math.min(c.top,d.top+F),bottom:Math.max(c.bottom,d.bottom+F)}),"right"===g.delta.position&&(R=S(g,"deltaPos",0,c.width*(1-b[g.align])+d.width*b[g.align]+B,P,Math.max),F=N[1]-E[1],p={width:c.width+d.width+B,height:Math.max(c.height,d.height),left:c.left,right:d.right+R,top:Math.min(c.top,d.top+F),bottom:Math.max(c.bottom,d.bottom+F)}),"bottom"===g.delta.position&&(R=null,F=d.height,p={width:Math.max(c.width,d.width),height:c.height+d.height,left:Math.min(c.left,d.left),right:Math.max(c.right,d.right),top:c.bottom-c.height,bottom:c.bottom+d.height}),"top"===g.delta.position&&(R=null,F=c.top,p={width:Math.max(c.width,d.width),height:c.height+d.height,left:Math.min(c.left,d.left),right:Math.max(c.right,d.right),top:c.bottom-c.height-d.height,bottom:c.bottom}),C.attr({dx:R,dy:F})}(g._hasNumber||g._hasDelta)&&D.attr("transform",function(){var e=n.numbersScaler(p);P+=e[2];var t,a=S(g,"numbersScale",1,e[0],P,Math.min);g._scaleNumbers||(a=1),t=g._isAngular?v-a*p.bottom:v-a*(p.top+p.bottom)/2,g._numbersTop=a*p.top+t;var r=p[k];"center"===k&&(r=(p.left+p.right)/2);var i=m-a*r;return i=S(g,"numbersTranslate",0,i,P,Math.max),s(i,t)+l(a)})}(e,z,t,{numbersX:g,numbersY:L,numbersScaler:O,transitionOpts:a,onComplete:m}),C&&(D={range:I.gauge.axis.range,color:I.gauge.bgcolor,line:{color:I.gauge.bordercolor,width:0},thickness:1},j={range:I.gauge.axis.range,color:"rgba(0, 0, 0, 0)",line:{color:I.gauge.bordercolor,width:I.gauge.borderwidth},thickness:1});var Z=z.selectAll("g.angular").data(P?t:[]);Z.exit().remove();var W=z.selectAll("g.angularaxis").data(P?t:[]);W.exit().remove(),P&&function(e,t,a,i){var o,l,u,p,h=a[0].trace,g=i.size,m=i.radius,v=i.innerRadius,y=i.gaugeBg,x=i.gaugeOutline,b=[g.l+g.w/2,g.t+g.h/2+m/2],_=i.gauge,A=i.layer,M=i.transitionOpts,S=i.onComplete,L=Math.PI/2;function O(e){var t=h.gauge.axis.range[0],a=(e-t)/(h.gauge.axis.range[1]-t)*Math.PI-L;return a<-L?-L:a>L?L:a}function D(e){return r.svg.arc().innerRadius((v+m)/2-e/2*(m-v)).outerRadius((v+m)/2+e/2*(m-v)).startAngle(-L)}function j(e){e.attr("d",function(e){return D(e.thickness).startAngle(O(e.range[0])).endAngle(O(e.range[1]))()})}_.enter().append("g").classed("angular",!0),_.attr("transform",s(b[0],b[1])),A.enter().append("g").classed("angularaxis",!0).classed("crisp",!0),A.selectAll("g.xangularaxistick,path,text").remove(),(o=T(e,h.gauge.axis)).type="linear",o.range=h.gauge.axis.range,o._id="xangularaxis",o.ticklabeloverflow="allow",o.setScale();var I=function(e){return(o.range[0]-e.x)/(o.range[1]-o.range[0])*Math.PI+Math.PI},z={},C=f.makeLabelFns(o,0).labelStandoff;z.xFn=function(e){var t=I(e);return Math.cos(t)*C},z.yFn=function(e){var t=I(e),a=Math.sin(t)>0?.2:1;return-Math.sin(t)*(C+e.fontSize*a)+Math.abs(Math.cos(t))*(e.fontSize*d)},z.anchorFn=function(e){var t=I(e),a=Math.cos(t);return Math.abs(a)<.1?"middle":a>0?"start":"end"},z.heightFn=function(e,t,a){var r=I(e);return-.5*(1+Math.sin(r))*a};var P=function(e){return s(b[0]+m*Math.cos(e),b[1]-m*Math.sin(e))};u=function(e){return P(I(e))};if(l=f.calcTicks(o),p=f.getTickSigns(o)[2],o.visible){p="inside"===o.ticks?-1:1;var R=(o.linewidth||1)/2;f.drawTicks(e,o,{vals:l,layer:A,path:"M"+p*R+",0h"+p*o.ticklen,transFn:function(e){var t=I(e);return P(t)+"rotate("+-c(t)+")"}}),f.drawLabels(e,o,{vals:l,layer:A,transFn:u,labelFns:z})}var F=[y].concat(h.gauge.steps),N=_.selectAll("g.bg-arc").data(F);N.enter().append("g").classed("bg-arc",!0).append("path"),N.select("path").call(j).call(k),N.exit().remove();var E=D(h.gauge.bar.thickness),B=_.selectAll("g.value-arc").data([h.gauge.bar]);B.enter().append("g").classed("value-arc",!0).append("path");var H,V,U,G=B.select("path");w(M)?(G.transition().duration(M.duration).ease(M.easing).each("end",function(){S&&S()}).each("interrupt",function(){S&&S()}).attrTween("d",(H=E,V=O(a[0].lastY),U=O(a[0].y),function(){var e=n(V,U);return function(t){return H.endAngle(e(t))()}})),h._lastValue=a[0].y):G.attr("d","number"==typeof a[0].y?E.endAngle(O(a[0].y)):"M0,0Z"),G.call(k),B.exit().remove(),F=[];var q=h.gauge.threshold.value;(q||0===q)&&F.push({range:[q,q],color:h.gauge.threshold.color,line:{color:h.gauge.threshold.line.color,width:h.gauge.threshold.line.width},thickness:h.gauge.threshold.thickness});var Z=_.selectAll("g.threshold-arc").data(F);Z.enter().append("g").classed("threshold-arc",!0).append("path"),Z.select("path").call(j).call(k),Z.exit().remove();var W=_.selectAll("g.gauge-outline").data([x]);W.enter().append("g").classed("gauge-outline",!0).append("path"),W.select("path").call(j).call(k),W.exit().remove()}(e,0,t,{radius:H,innerRadius:V,gauge:Z,layer:W,size:N,gaugeBg:D,gaugeOutline:j,transitionOpts:a,onComplete:m});var Y=z.selectAll("g.bullet").data(R?t:[]);Y.exit().remove();var X=z.selectAll("g.bulletaxis").data(R?t:[]);X.exit().remove(),R&&function(e,t,a,r){var n,i,o,l,c,d=a[0].trace,u=r.gauge,h=r.layer,g=r.gaugeBg,m=r.gaugeOutline,v=r.size,x=d.domain,b=r.transitionOpts,_=r.onComplete;u.enter().append("g").classed("bullet",!0),u.attr("transform",s(v.l,v.t)),h.enter().append("g").classed("bulletaxis",!0).classed("crisp",!0),h.selectAll("g.xbulletaxistick,path,text").remove();var A=v.h,M=d.gauge.bar.thickness*A,S=x.x[0],L=x.x[0]+(x.x[1]-x.x[0])*(d._hasNumber||d._hasDelta?1-p.bulletNumberDomainSize:1);function O(e){e.attr("width",function(e){return Math.max(0,n.c2p(e.range[1])-n.c2p(e.range[0]))}).attr("x",function(e){return n.c2p(e.range[0])}).attr("y",function(e){return.5*(1-e.thickness)*A}).attr("height",function(e){return e.thickness*A})}(n=T(e,d.gauge.axis))._id="xbulletaxis",n.domain=[S,L],n.setScale(),i=f.calcTicks(n),o=f.makeTransTickFn(n),l=f.getTickSigns(n)[2],c=v.t+v.h,n.visible&&(f.drawTicks(e,n,{vals:"inside"===n.ticks?f.clipEnds(n,i):i,layer:h,path:f.makeTickPath(n,c,l),transFn:o}),f.drawLabels(e,n,{vals:i,layer:h,transFn:o,labelFns:f.makeLabelFns(n,c)}));var D=[g].concat(d.gauge.steps),j=u.selectAll("g.bg-bullet").data(D);j.enter().append("g").classed("bg-bullet",!0).append("rect"),j.select("rect").call(O).call(k),j.exit().remove();var I=u.selectAll("g.value-bullet").data([d.gauge.bar]);I.enter().append("g").classed("value-bullet",!0).append("rect"),I.select("rect").attr("height",M).attr("y",(A-M)/2).call(k),w(b)?I.select("rect").transition().duration(b.duration).ease(b.easing).each("end",function(){_&&_()}).each("interrupt",function(){_&&_()}).attr("width",Math.max(0,n.c2p(Math.min(d.gauge.axis.range[1],a[0].y)))):I.select("rect").attr("width","number"==typeof a[0].y?Math.max(0,n.c2p(Math.min(d.gauge.axis.range[1],a[0].y))):0),I.exit().remove();var z=a.filter(function(){return d.gauge.threshold.value||0===d.gauge.threshold.value}),C=u.selectAll("g.threshold-bullet").data(z);C.enter().append("g").classed("threshold-bullet",!0).append("line"),C.select("line").attr("x1",n.c2p(d.gauge.threshold.value)).attr("x2",n.c2p(d.gauge.threshold.value)).attr("y1",(1-d.gauge.threshold.thickness)/2*A).attr("y2",(1-(1-d.gauge.threshold.thickness)/2)*A).call(y.stroke,d.gauge.threshold.line.color).style("stroke-width",d.gauge.threshold.line.width),C.exit().remove();var P=u.selectAll("g.gauge-outline").data([m]);P.enter().append("g").classed("gauge-outline",!0).append("rect"),P.select("rect").call(O).call(k),P.exit().remove()}(e,0,t,{gauge:Y,layer:X,size:N,gaugeBg:D,gaugeOutline:j,transitionOpts:a,onComplete:m});var J=z.selectAll("text.title").data(t);J.exit().remove(),J.enter().append("text").classed("title",!0),J.attr("text-anchor",function(){return R?x.right:x[I.title.align]}).text(I.title.text).call(u.font,I.title.font).call(h.convertToTspans,e),J.attr("transform",function(){var e,t=N.l+N.w*b[I.title.align],a=p.titlePadding,r=u.bBox(J.node());return C?(P&&(e=I.gauge.axis.visible?u.bBox(W.node()).top-a-r.bottom:N.t+N.h/2-H/2-r.bottom-a),R&&(e=L-(r.top+r.bottom)/2,t=N.l-p.bulletPadding*N.w)):e=I._numbersTop-a-r.bottom,s(t,e)})})}},4861(e,t,a){var r=a(91683),n=a(3818),i=a(40286),o=a(37564),l=a(30991),s=a(36576).selectMode,c=a(54933),d=a(33068),u=a(51600),p=a(50676).styleTextSelection,h={};function f(e,t,a,r){var n=e._size,i=e.width*r,o=e.height*r,l=n.l*r,s=n.b*r,c=n.r*r,d=n.t*r,u=n.w*r,p=n.h*r;return[l+t.domain[0]*u,s+a.domain[0]*p,i-c-(1-t.domain[1])*u,o-d-(1-a.domain[1])*p]}(e.exports=function(e,t,a){if(a.length){var g,m,v=e._fullLayout,y=t._scene,x=t.xaxis,b=t.yaxis;if(y)if(c(e,["ANGLE_instanced_arrays","OES_element_index_uint"],h)){var _=y.count,w=v._glcanvas.data()[0].regl;if(u(e,t,a),y.dirty){if(!y.line2d&&!y.error2d||y.scatter2d||y.fill2d||y.glText||w.clear({}),!0===y.error2d&&(y.error2d=i(w)),!0===y.line2d&&(y.line2d=n(w)),!0===y.scatter2d&&(y.scatter2d=r(w)),!0===y.fill2d&&(y.fill2d=n(w)),!0===y.glText)for(y.glText=new Array(_),g=0;g<_;g++)y.glText[g]=new o(w);if(y.glText){if(_>y.glText.length){var k=_-y.glText.length;for(g=0;ga&&(isNaN(t[r])||isNaN(t[r+1]));)r-=2;e.positions=t.slice(a,r+2)}return e}),y.line2d.update(y.lineOptions)),y.error2d){var A=(y.errorXOptions||[]).concat(y.errorYOptions||[]);y.error2d.update(A)}y.scatter2d&&y.scatter2d.update(y.markerOptions),y.fillOrder=l.repeat(null,_),y.fill2d&&(y.fillOptions=y.fillOptions.map(function(e,t){var r=a[t];if(e&&r&&r[0]&&r[0].trace){var n,i,o=r[0],l=o.trace,s=o.t,c=y.lineOptions[t],d=[];l._ownfill&&d.push(t),l._nexttrace&&d.push(t+1),d.length&&(y.fillOrder[t]=d);var u,p,h=[],f=c&&c.positions||s.positions;if("tozeroy"===l.fill){for(u=0;uu&&isNaN(f[p+1]);)p-=2;0!==f[u+1]&&(h=[f[u],0]),h=h.concat(f.slice(u,p+2)),0!==f[p+1]&&(h=h.concat([f[p],0]))}else if("tozerox"===l.fill){for(u=0;uu&&isNaN(f[p]);)p-=2;0!==f[u]&&(h=[0,f[u+1]]),h=h.concat(f.slice(u,p+2)),0!==f[p]&&(h=h.concat([0,f[p+1]]))}else if("toself"===l.fill||"tonext"===l.fill){for(h=[],n=0,e.splitNull=!0,i=0;i-1;for(g=0;g<_;g++){var O=a[g][0],D=O.trace,j=O.t,I=j.index,z=D._length,C=j.x,P=j.y;if(D.selectedpoints||S||L){if(S||(S=!0),D.selectedpoints){var R=y.selectBatch[I]=l.selIndices2selPoints(D),F={};for(m=0;m=r&&e<=n?e:d}if("string"!=typeof e&&"number"!=typeof e)return d;e=String(e);var c=_(a),v=e.charAt(0);!c||"G"!==v&&"g"!==v||(e=e.substr(1),a="");var w=c&&"chinese"===a.substr(0,7),k=e.match(w?x:y);if(!k)return d;var T=k[1],A=k[3]||"1",M=Number(k[5]||1),S=Number(k[7]||0),L=Number(k[9]||0),O=Number(k[11]||0);if(c){if(2===T.length)return d;var D;T=Number(T);try{var j=m.getComponentMethod("calendars","getCal")(a);if(w){var I="i"===A.charAt(A.length-1);A=parseInt(A,10),D=j.newDate(T,j.toMonthIndex(T,A,I),M)}else D=j.newDate(T,Number(A),M)}catch(e){return d}return D?(D.toJD()-g)*u+S*p+L*h+O*f:d}T=2===T.length?(Number(T)+2e3-b)%100+b:Number(T),A-=1;var z=new Date(Date.UTC(2e3,A,M,S,L));return z.setUTCFullYear(T),z.getUTCMonth()!==A||z.getUTCDate()!==M?d:z.getTime()+O*f},r=t.MIN_MS=t.dateTime2ms("-9999"),n=t.MAX_MS=t.dateTime2ms("9999-12-31 23:59:59.9999"),t.isDateTime=function(e,a){return t.dateTime2ms(e,a)!==d};var k=90*u,T=3*p,A=5*h;function M(e,t,a,r,n){if((t||a||r||n)&&(e+=" "+w(t,2)+":"+w(a,2),(r||n)&&(e+=":"+w(r,2),n))){for(var i=4;n%10==0;)i-=1,n/=10;e+="."+w(n,i)}return e}t.ms2DateTime=function(e,t,a){if("number"!=typeof e||!(e>=r&&e<=n))return d;t||(t=0);var i,o,l,c,y,x,b=Math.floor(10*s(e+.05,1)),w=Math.round(e-b/10);if(_(a)){var S=Math.floor(w/u)+g,L=Math.floor(s(e,u));try{i=m.getComponentMethod("calendars","getCal")(a).fromJD(S).formatDate("yyyy-mm-dd")}catch(e){i=v("G%Y-%m-%d")(new Date(w))}if("-"===i.charAt(0))for(;i.length<11;)i="-0"+i.substr(1);else for(;i.length<10;)i="0"+i;o=t=r+u&&e<=n-u))return d;var t=Math.floor(10*s(e+.05,1)),a=new Date(Math.round(e-t/10));return M(i("%Y-%m-%d")(a),a.getHours(),a.getMinutes(),a.getSeconds(),10*a.getUTCMilliseconds()+t)},t.cleanDate=function(e,a,r){if(e===d)return a;if(t.isJSDate(e)||"number"==typeof e&&isFinite(e)){if(_(r))return l.error("JS Dates and milliseconds are incompatible with world calendars",e),a;if(!(e=t.ms2DateTimeLocal(+e))&&void 0!==a)return a}else if(!t.isDateTime(e,r))return l.error("unrecognized date",e),a;return e};var S=/%\d?f/g,L=/%h/g,O={1:"1",2:"1",3:"2",4:"2"};function D(e,t,a,r){e=e.replace(S,function(e){var a=Math.min(+e.charAt(1)||6,6);return(t/1e3%1+2).toFixed(a).substr(2).replace(/0+$/,"")||"0"});var n=new Date(Math.floor(t+.05));if(e=e.replace(L,function(){return O[a("%q")(n)]}),_(r))try{e=m.getComponentMethod("calendars","worldCalFmt")(e,t,r)}catch(e){return"Invalid"}return a(e)(n)}var j=[59,59.9,59.99,59.999,59.9999];t.formatDate=function(e,t,a,r,n,i){if(n=_(n)&&n,!t)if("y"===a)t=i.year;else if("m"===a)t=i.month;else{if("d"!==a)return function(e,t){var a=s(e+.05,u),r=w(Math.floor(a/p),2)+":"+w(s(Math.floor(a/h),60),2);if("M"!==t){o(t)||(t=0);var n=(100+Math.min(s(e/f,60),j[t])).toFixed(t).substr(1);t>0&&(n=n.replace(/0+$/,"").replace(/[\.]$/,"")),r+=":"+n}return r}(e,a)+"\n"+D(i.dayMonthYear,e,r,n);t=i.dayMonth+"\n"+i.year}return D(t,e,r,n)};var I=3*u;t.incrementMonth=function(e,t,a){a=_(a)&&a;var r=s(e,u);if(e=Math.round(e-r),a)try{var n=Math.round(e/u)+g,i=m.getComponentMethod("calendars","getCal")(a),o=i.fromJD(n);return t%12?i.add(o,t,"m"):i.add(o,t/12,"y"),(o.toJD()-g)*u+r}catch(t){l.error("invalid ms "+e+" in calendar "+a)}var c=new Date(e+I);return c.setUTCMonth(c.getUTCMonth()+t)+r-I},t.findExactDates=function(e,t){for(var a,r,n=0,i=0,l=0,s=0,c=_(t)&&m.getComponentMethod("calendars","getCal")(t),d=0;d")}}e.exports={hoverPoints:function(e,t,a,i){var o=r(e,t,a,i);if(o&&!1!==o[0].index){var l=o[0];if(void 0===l.index)return o;var s=e.subplot,c=l.cd[l.index],d=l.trace;if(s.isPtInside(c))return l.xLabelVal=void 0,l.yLabelVal=void 0,n(c,d,s,l),l.hovertemplate=d.hovertemplate,o}},makeHoverPointText:n}},6002(e,t,a){var r=a(30991),n=a(88197),i=a(98191),o=a(2328);e.exports=function(e,t){function a(a,i){return r.coerce(e,t,n,a,i)}i(e,t)&&(a("hoverdistance"),a("spikedistance")),"select"===a("dragmode")&&a("selectdirection");var l=t._has("mapbox"),s=t._has("map"),c=t._has("geo"),d=t._basePlotModules.length;"zoom"===t.dragmode&&((l||s||c)&&1===d||(l||s)&&c&&2===d)&&(t.dragmode="pan"),o(e,t,a),r.coerceFont(a,"hoverlabel.grouptitlefont",t.hoverlabel.font)}},6282(e,t,a){var r=a(7396),n=a(30991),i=a(96708),o=a(43455).getTopojsonFeatures,l=a(92265).findExtremes,s=a(57240).style;e.exports={calcGeoJSON:function(e,t){for(var a=e[0].trace,r=t[a.geo],n=r._subplot,s=a.locationmode,c=a._length,d="geojson-id"===s?i.extractTraceFeature(e):o(a,n.topojson),u=[],p=[],h=0;h0){l=!0;break}}l||(o=0)}return{hasLabels:a,hasValues:i,len:o}}function d(e,t,a,r,n){r("marker.line.width")&&r("marker.line.color",n?void 0:a.paper_bgcolor);var i=r("marker.colors");s(r,"marker.pattern",i),e.marker&&!t.marker.pattern.fgcolor&&(t.marker.pattern.fgcolor=e.marker.colors),t.marker.pattern.bgcolor||(t.marker.pattern.bgcolor=a.paper_bgcolor)}e.exports={handleLabelsAndValues:c,handleMarkerDefaults:d,supplyDefaults:function(e,t,a,r){function s(a,r){return n.coerce(e,t,i,a,r)}var u=c(s("labels"),s("values")),p=u.len;if(t._hasLabels=u.hasLabels,t._hasValues=u.hasValues,!t._hasLabels&&t._hasValues&&(s("label0"),s("dlabel")),p){t._length=p,d(e,t,r,s,!0),s("scalegroup");var h,f=s("text"),g=s("texttemplate");if(g||(h=s("textinfo",n.isArrayOrTypedArray(f)?"text+percent":"percent")),s("hovertext"),s("hovertemplate"),g||h&&"none"!==h){var m=s("textposition");l(e,t,r,s,m,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),(Array.isArray(m)||"auto"===m||"outside"===m)&&s("automargin"),("inside"===m||"auto"===m||Array.isArray(m))&&s("insidetextorientation")}else"none"===h&&s("textposition","none");o(t,r,s);var v=s("hole");if(s("title.text")){var y=s("title.position",v?"middle center":"top center");v||"middle center"!==y||(t.title.position="top center"),n.coerceFont(s,"title.font",r.font)}s("sort"),s("direction"),s("rotation"),s("pull")}else t.visible=!1}}},13117(e,t,a){var r,n,i,o=a(57015).mod;function l(e,t,a,r,n,i,o,l){var s=a-e,c=n-e,d=o-n,u=r-t,p=i-t,h=l-i,f=s*h-d*u;if(0===f)return null;var g=(c*h-d*p)/f,m=(c*u-s*p)/f;return m<0||m>1||g<0||g>1?null:{x:e+s*g,y:t+u*g}}function s(e,t,a,r,n){var i=r*e+n*t;if(i<0)return r*r+n*n;if(i>a){var o=r-e,l=n-t;return o*o+l*l}var s=r*t-n*e;return s*s/a}t.segmentsIntersect=l,t.segmentDistance=function(e,t,a,r,n,i,o,c){if(l(e,t,a,r,n,i,o,c))return 0;var d=a-e,u=r-t,p=o-n,h=c-i,f=d*d+u*u,g=p*p+h*h,m=Math.min(s(d,u,f,n-e,i-t),s(d,u,f,o-e,c-t),s(p,h,g,e-n,t-i),s(p,h,g,a-n,r-i));return Math.sqrt(m)},t.getTextLocation=function(e,t,a,l){if(e===n&&l===i||(r={},n=e,i=l),r[a])return r[a];var s=e.getPointAtLength(o(a-l/2,t)),c=e.getPointAtLength(o(a+l/2,t)),d=Math.atan((c.y-s.y)/(c.x-s.x)),u=e.getPointAtLength(o(a,t)),p={x:(4*u.x+s.x+c.x)/6,y:(4*u.y+s.y+c.y)/6,theta:d};return r[a]=p,p},t.clearLocationCache=function(){n=null},t.getVisibleSegment=function(e,t,a){var r,n,i=t.left,o=t.right,l=t.top,s=t.bottom,c=0,d=e.getTotalLength(),u=d;function p(t){var a=e.getPointAtLength(t);0===t?r=a:t===d&&(n=a);var c=a.xo?a.x-o:0,u=a.ys?a.y-s:0;return Math.sqrt(c*c+u*u)}for(var h=p(c);h;){if((c+=h+a)>u)return;h=p(c)}for(h=p(u);h;){if(c>(u-=h+a))return;h=p(u)}return{min:c,max:u,len:u-c,total:d,isClosed:0===c&&u===d&&Math.abs(r.x-n.x)<.1&&Math.abs(r.y-n.y)<.1}},t.findPointOnPath=function(e,t,a,r){for(var n,i,o,l=(r=r||{}).pathLength||e.getTotalLength(),s=r.tolerance||.001,c=r.iterationLimit||30,d=e.getPointAtLength(0)[a]>e.getPointAtLength(l)[a]?-1:1,u=0,p=0,h=l;u0?h=n:p=n,u++}return i}},13528(e){var t=["orientation","groupnorm","stackgaps"];e.exports=function(e,a,r,n){var i=r._scatterStackOpts,o=n("stackgroup");if(o){var l=a.xaxis+a.yaxis,s=i[l];s||(s=i[l]={});var c=s[o],d=!1;c?c.traces.push(a):(c=s[o]={traceIndices:[],traces:[a]},d=!0);for(var u={orientation:a.x&&!a.y?"h":"v"},p=0;p1){c=!0;break}}c?e.fullLayout._infolayer.select(".annotation-"+e.id+'[data-index="'+l+'"]').remove():(s._pdata=n(e.glplot.cameraParams,[t.xaxis.r2l(s.x)*a[0],t.yaxis.r2l(s.y)*a[1],t.zaxis.r2l(s.z)*a[2]]),r(e.graphDiv,s,l,e.id,s._xa,s._ya))}}},13936(e,t,a){var r=a(98354),n=a(25275),i=a(93521),o=a(37816),l=a(71599).addStyleRule,s=a(91307),c=a(35667),d=a(38650),u=s.extendFlat,p=s.extendDeepAll;function h(e){var n=e.name,i=e.categories,o=e.meta;if(t.modules[n])r.log("Type "+n+" already registered");else{t.subplotsRegistry[e.basePlotModule.name]||function(e){var a=e.name;if(t.subplotsRegistry[a])r.log("Plot type "+a+" already registered.");else for(var n in v(e),t.subplotsRegistry[a]=e,t.componentsRegistry)b(n,e.name)}(e.basePlotModule);for(var s={},c=0;cr&&p2e-6||((a-e._forceTick0)/e._minDtick%1+1.000001)%1>2e-6)&&(e._minDtick=0)):e._minDtick=0},Z.saveRangeInitial=function(e,t){for(var a=Z.list(e,"",!0),r=!1,n=0;n.3*p||d(r)||d(i))){var h=a.dtick/2;e+=e+h.8){var o=Number(a.substr(1));i.exactYears>.8&&o%12==0?e=Z.tickIncrement(e,"M6","reverse")+1.5*M:i.exactMonths>.8?e=Z.tickIncrement(e,"M1","reverse")+15.5*M:e-=S;var s=Z.tickIncrement(e,a);if(s<=r)return s}return e}(y,e,v,c,i)),m=y;m<=d;)m=Z.tickIncrement(m,v,!1,i);return{start:t.c2r(y,0,i),end:t.c2r(m,0,i),size:v,_dataSpan:d-c}},Z.prepMinorTicks=function(e,t,a){if(!t.minor.dtick){delete e.dtick;var r,i=t.dtick&&n(t._tmin);if(i){var o=Z.tickIncrement(t._tmin,t.dtick,!0);r=[t._tmin,.99*o+.01*t._tmin]}else{var s=l.simpleMap(t.range,t.r2l);r=[s[0],.8*s[0]+.2*s[1]]}if(e.range=l.simpleMap(r,t.l2r),e._isMinor=!0,Z.prepTicks(e,a),i){var c=n(t.dtick),d=n(e.dtick),u=c?t.dtick:+t.dtick.substring(1),p=d?e.dtick:+e.dtick.substring(1);c&&d?ae(u,p)?u===2*A&&p===2*M&&(e.dtick=A):u===2*A&&p===3*M?e.dtick=A:u!==A||(t._input.minor||{}).nticks?re(u/p,2.5)?e.dtick=u/2:e.dtick=u:e.dtick=M:"M"===String(t.dtick).charAt(0)?d?e.dtick="M1":ae(u,p)?u>=12&&2===p&&(e.dtick="M3"):e.dtick=t.dtick:"L"===String(e.dtick).charAt(0)?"L"===String(t.dtick).charAt(0)?ae(u,p)||(e.dtick=re(u/p,2.5)?t.dtick/2:t.dtick):e.dtick="D1":"D2"===e.dtick&&+t.dtick>1&&(e.dtick=1)}e.range=t.range}void 0===t.minor._tick0Init&&(e.tick0=t.tick0)},Z.prepTicks=function(e,t){var a=l.simpleMap(e.range,e.r2l,void 0,void 0,t);if("auto"===e.tickmode||!e.dtick){var r,i=e.nticks;i||("category"===e.type||"multicategory"===e.type?(r=e.tickfont?l.bigFont(e.tickfont.size||12):15,i=e._length/r):(r="y"===e._id.charAt(0)?40:80,i=l.constrain(e._length/r,4,9)+1),"radialaxis"===e._name&&(i*=2)),e.minor&&"array"!==e.minor.tickmode||"array"===e.tickmode&&(i*=100),e._roughDTick=Math.abs(a[1]-a[0])/i,Z.autoTicks(e,e._roughDTick),e._minDtick>0&&e.dtick<2*e._minDtick&&(e.dtick=e._minDtick,e.tick0=e.l2r(e._forceTick0))}"period"===e.ticklabelmode&&function(e){var t;function a(){return!(n(e.dtick)||"M"!==e.dtick.charAt(0))}var r=a(),i=Z.getTickFormat(e);if(i){var o=e._dtickInit!==e.dtick;/%[fLQsSMX]/.test(i)||(/%[HI]/.test(i)?(t=L,o&&!r&&e.dticke.range[1],h=!e.ticklabelindex||l.isArrayOrTypedArray(e.ticklabelindex)?e.ticklabelindex:[e.ticklabelindex],f=l.simpleMap(e.range,e.r2l,void 0,void 0,t),g=f[1]=(V?0:1);U--){var G=!U;U?(e._dtickInit=e.dtick,e._tick0Init=e.tick0):(e.minor._dtickInit=e.minor.dtick,e.minor._tick0Init=e.minor.tick0);var q=U?e:l.extendFlat({},e,e.minor);if(G?Z.prepMinorTicks(q,e,t):Z.prepTicks(q,t),"array"!==q.tickmode)if("sync"!==q.tickmode){var W=K(f),Y=W[0],X=W[1],J=n(q.dtick),Q="log"===s&&!(J||"L"===q.dtick.charAt(0)),$=Z.tickFirst(q,t);if(U){if(e._tmin=$,$=X:re<=X;re=Z.tickIncrement(re,ne,g,c)){if(U&&ee++,q.rangebreaks&&!g){if(re=P)break}if(E.length>R||re===ae)break;ae=re;var ie={value:re};U?(Q&&re!==(0|re)&&(ie.simpleLabel=!0),d>1&&ee%d&&(ie.skipLabel=!0),E.push(ie)):(ie.minor=!0,B.push(ie))}}else E=[],F=oe(e);else U?(E=[],F=le(e,!G)):(B=[],N=le(e,!G))}!B||B.length<2?h=!1:(a=(B[1].value-B[0].value)*(p?-1:1),r=e.tickformat,(/%f/.test(r)?a>=I:/%L/.test(r)?a>=j:/%[SX]/.test(r)?a>=D:/%M/.test(r)?a>=O:/%[HI]/.test(r)?a>=L:/%p/.test(r)?a>=S:/%[Aadejuwx]/.test(r)?a>=M:/%[UVW]/.test(r)?a>=A:/%[Bbm]/.test(r)?a>=T:/%[q]/.test(r)?a>=_:!/%[Yy]/.test(r)||a>=y)||(h=!1));if(h){var se=E.concat(B);u&&E.length&&(se=se.slice(1)),(se=se.sort(function(e,t){return e.value-t.value}).filter(function(e,t,a){return 0===t||e.value!==a[t-1].value})).map(function(e,t){return void 0!==e.minor||e.skipLabel?null:t}).filter(function(e){return null!==e}).forEach(function(e){h.map(function(t){var a=e+t;a>=0&&a0?(i=r-1,o=r):(i=r,o=r);var l,s=e[i].value,c=e[o].value,d=Math.abs(c-s),u=a||d,p=0;u>=y?p=d>=y&&d<=m?d:v:a===b&&u>=_?p=d>=_&&d<=x?d:b:u>=T?p=d>=T&&d<=w?d:k:a===A&&u>=A?p=A:u>=M?p=M:a===S&&u>=S?p=S:a===L&&u>=L&&(p=L),p>=d&&(p=d,l=!0);var h=n+p;if(t.rangebreaks&&p>0){for(var f=0,g=0;g<84;g++){var O=(g+.5)/84;t.maskBreaks(n*(1-O)+O*h)!==C&&f++}(p*=f/84)||(e[r].drop=!0),l&&d>A&&(p=d)}(p>0||0===r)&&(e[r].periodX=n+p/2)}}(H,e,e._definedDelta),e.rangebreaks){var me="y"===e._id.charAt(0),ve=1;"auto"===e.tickmode&&(ve=e.tickfont?e.tickfont.size:12);var ye=NaN;for(i=E.length-1;i>-1;i--)if(E[i].drop)E.splice(i,1);else{E[i].value=Re(E[i].value,e);var xe=e.c2p(E[i].value);(me?ye>xe-ve:yeP||rP&&(a.periodX=P),r10||"01-01"!==r.substr(5)?e._tickround="d":e._tickround=+t.substr(1)%12==0?"y":"m";else if(t>=M&&i<=10||t>=15*M)e._tickround="d";else if(t>=O&&i<=16||t>=L)e._tickround="M";else if(t>=D&&i<=19||t>=O)e._tickround="S";else{var o=e.l2r(a+t).replace(/^-/,"").length;e._tickround=Math.max(i,o)-20,e._tickround<0&&(e._tickround=4)}}else if(n(t)||"L"===t.charAt(0)){var l=e.range.map(e.r2d||Number);n(t)||(t=Number(t.substr(1))),e._tickround=2-Math.floor(Math.log(t)/Math.LN10+.01);var s=Math.max(Math.abs(l[0]),Math.abs(l[1])),c=Math.floor(Math.log(s)/Math.LN10+.01),d=void 0===e.minexponent?3:e.minexponent;Math.abs(c)>d&&(xe(e.exponentformat)&&!be(c)?e._tickexponent=3*Math.round((c-1)/3):e._tickexponent=c)}else e._tickround=null}function ve(e,t,a){var r=e.tickfont||{};return{x:t,dx:0,dy:0,text:a||"",fontSize:r.size,font:r.family,fontWeight:r.weight,fontStyle:r.style,fontVariant:r.variant,fontTextcase:r.textcase,fontLineposition:r.lineposition,fontShadow:r.shadow,fontColor:r.color}}Z.autoTicks=function(e,t,a){var r;function i(e){return Math.pow(e,Math.floor(Math.log(t)/Math.LN10))}if("date"===e.type){e.tick0=l.dateTick0(e.calendar,0);var o=2*t;if(o>v)t/=v,r=i(10),e.dtick="M"+12*ge(t,r,se);else if(o>k)t/=k,e.dtick="M"+ge(t,1,ce);else if(o>M){if(e.dtick=ge(t,M,e._hasDayOfWeekBreaks?[1,2,7,14]:ue),!a){var s=Z.getTickFormat(e),c="period"===e.ticklabelmode;c&&(e._rawTick0=e.tick0),/%[uVW]/.test(s)?e.tick0=l.dateTick0(e.calendar,2):e.tick0=l.dateTick0(e.calendar,1),c&&(e._dowTick0=e.tick0)}}else o>L?e.dtick=ge(t,L,ce):o>O?e.dtick=ge(t,O,de):o>D?e.dtick=ge(t,D,de):(r=i(10),e.dtick=ge(t,r,se))}else if("log"===e.type){e.tick0=0;var d=l.simpleMap(e.range,e.r2l);if(e._isMinor&&(t*=1.5),t>.7)e.dtick=Math.ceil(t);else if(Math.abs(d[1]-d[0])<1){var u=1.5*Math.abs((d[1]-d[0])/t);t=Math.abs(Math.pow(10,d[1])-Math.pow(10,d[0]))/u,r=i(10),e.dtick="L"+ge(t,r,se)}else e.dtick=t>.3?"D2":"D1"}else"category"===e.type||"multicategory"===e.type?(e.tick0=0,e.dtick=Math.ceil(Math.max(t,1))):Pe(e)?(e.tick0=0,r=1,e.dtick=ge(t,r,fe)):(e.tick0=0,r=i(10),e.dtick=ge(t,r,se));if(0===e.dtick&&(e.dtick=1),!n(e.dtick)&&"string"!=typeof e.dtick){var p=e.dtick;throw e.dtick=1,"ax.dtick error: "+String(p)}},Z.tickIncrement=function(e,t,a,i){var o=a?-1:1;if(n(t))return l.increment(e,o*t);var s=t.charAt(0),c=o*Number(t.substr(1));if("M"===s)return l.incrementMonth(e,c,i);if("L"===s)return Math.log(Math.pow(10,e)+c)/Math.LN10;if("D"===s){var d="D2"===t?he:pe,u=e+.01*o,p=l.roundUp(l.mod(u,1),d,a);return Math.floor(u)+Math.log(r.round(Math.pow(10,p),1))/Math.LN10}throw"unrecognized dtick "+String(t)},Z.tickFirst=function(e,t){var a=e.r2l||Number,i=l.simpleMap(e.range,a,void 0,void 0,t),o=i[1]=0&&a<=e._length?t:null};if(s&&l.isArrayOrTypedArray(e.ticktext)){var h=l.simpleMap(e.range,e.r2l),f=(Math.abs(h[1]-h[0])-(e._lBreaks||0))/1e4;for(i=0;i ")}else e._prevDateHead=s,c+="
"+s;t.text=c}(e,o,a,c):"log"===d?function(e,t,a,r,i){var o=e.dtick,s=t.x,c=e.tickformat,d="string"==typeof o&&o.charAt(0);if("never"===i&&(i=""),r&&"L"!==d&&(o="L3",d="L"),c||"L"===d)t.text=_e(Math.pow(10,s),e,i,r);else if(n(o)||"D"===d&&l.mod(s+.01,1)<.1){var u=Math.round(s),p=Math.abs(u),h=e.exponentformat;"power"===h||xe(h)&&be(u)?(t.text=0===u?1:1===u?"10":"10"+(u>1?"":z)+p+"",t.fontSize*=1.25):("e"===h||"E"===h)&&p>2?t.text="1"+h+(u>0?"+":z)+p:(t.text=_e(Math.pow(10,s),e,"","fakehover"),"D1"===o&&"y"===e._id.charAt(0)&&(t.dy-=t.fontSize/6))}else{if("D"!==d)throw"unrecognized dtick "+String(o);t.text=String(Math.round(Math.pow(10,l.mod(s,1)))),t.fontSize*=.75}if("D1"===e.dtick){var f=String(t.text).charAt(0);"0"!==f&&"1"!==f||("y"===e._id.charAt(0)?t.dx-=t.fontSize/4:(t.dy+=t.fontSize/2,t.dx+=(e.range[1]>e.range[0]?1:-1)*t.fontSize*(s<0?.5:.25)))}}(e,o,0,c,m):"category"===d?function(e,t){var a=e._categories[Math.round(t.x)];void 0===a&&(a=""),t.text=String(a)}(e,o):"multicategory"===d?function(e,t,a){var r=Math.round(t.x),n=e._categories[r]||[],i=void 0===n[1]?"":String(n[1]),o=void 0===n[0]?"":String(n[0]);a?t.text=o+" - "+i:(t.text=i,t.text2=o)}(e,o,a):Pe(e)?function(e,t,a,r,n){if("radians"!==e.thetaunit||a)t.text=_e(t.x,e,n,r);else{var i=t.x/180;if(0===i)t.text="0";else{var o=function(e){function t(e,t){return Math.abs(e-t)<=1e-6}var a=function(e){for(var a=1;!t(Math.round(e*a)/a,e);)a*=10;return a}(e),r=e*a,n=Math.abs(function e(a,r){return t(r,0)?a:e(r,a%r)}(r,a));return[Math.round(r/n),Math.round(a/n)]}(i);if(o[1]>=100)t.text=_e(l.deg2rad(t.x),e,n,r);else{var s=t.x<0;1===o[1]?1===o[0]?t.text="π":t.text=o[0]+"π":t.text=["",o[0],"","⁄","",o[1],"","π"].join(""),s&&(t.text=z+t.text)}}}}(e,o,a,c,m):function(e,t,a,r,n){"never"===n?n="":"all"===e.showexponent&&Math.abs(t.x/e.dtick)<1e-6&&(n="hide"),t.text=_e(t.x,e,n,r)}(e,o,0,c,m),r||(e.tickprefix&&!g(e.showtickprefix)&&(o.text=e.tickprefix+o.text),e.ticksuffix&&!g(e.showticksuffix)&&(o.text+=e.ticksuffix)),e.labelalias&&e.labelalias.hasOwnProperty(o.text)){var v=e.labelalias[o.text];"string"==typeof v&&(o.text=v)}return("boundaries"===e.tickson||e.showdividers)&&(o.xbnd=[p(o.x-.5),p(o.x+e.dtick-.5)]),o},Z.hoverLabelText=function(e,t,a){a&&(e=l.extendFlat({},e,{hoverformat:a}));var r=l.isArrayOrTypedArray(t)?t[0]:t,n=l.isArrayOrTypedArray(t)?t[1]:void 0;if(void 0!==n&&n!==r)return Z.hoverLabelText(e,r,a)+" - "+Z.hoverLabelText(e,n,a);var i="log"===e.type&&r<=0,o=Z.tickText(e,e.c2l(i?-r:r),"hover").text;return i?0===r?"0":z+o:o};var ye=["f","p","n","μ","m","","k","M","G","T"];function xe(e){return"SI"===e||"B"===e}function be(e){return e>14||e<-15}function _e(e,t,a,r){var i=e<0,o=t._tickround,s=a||t.exponentformat||"B",c=t._tickexponent,d=Z.getTickFormat(t),u=t.separatethousands;if(r){var p={exponentformat:s,minexponent:t.minexponent,dtick:"none"===t.showexponent?t.dtick:n(e)&&Math.abs(e)||1,range:"none"===t.showexponent?t.range.map(t.r2d):[0,e||1]};me(p),o=(Number(p._tickround)||0)+4,c=p._tickexponent,t.hoverformat&&(d=t.hoverformat)}if(d)return t._numFormat(d)(e).replace(/-/g,z);var h,f=Math.pow(10,-o)/2;if("none"===s&&(c=0),(e=Math.abs(e))"+h+"":"B"===s&&9===c?e+="B":xe(s)&&(e+=ye[c/3+5])),i?z+e:e}function we(e,t){if(e){var a=Object.keys(B).reduce(function(e,a){return-1!==t.indexOf(a)&&B[a].forEach(function(t){e[t]=1}),e},{});Object.keys(e).forEach(function(t){a[t]||(1===t.length?e[t]=0:delete e[t])})}}function ke(e,t){for(var a=[],r={},n=0;n1&&a=n.min&&e=r(e))}function l(e,t){var a=null===t[0],r=null===t[1],n=i(e,t[0])>=0,o=i(e,t[1])<=0;return(a||n)&&(r||o)}if(e.tickformatstops&&e.tickformatstops.length>0)switch(e.type){case"date":case"linear":for(t=0;t=0&&n.unshift(n.splice(r,1).shift())}});var o={false:{left:0,right:0}};return l.syncOrAsync(n.map(function(t){return function(){if(t){var r=Z.getFromId(e,t);a||(a={}),a.axShifts=o,a.overlayingShiftedAx=i;var n=Z.drawOne(e,r,a);return r._shiftPusher&&Ee(r,r._fullDepth||0,o,!0),r._r=r.range.slice(),r._rl=l.simpleMap(r._r,r.r2l),n}}}))},Z.drawOne=function(e,t,a){var r,n,s,h=(a=a||{}).axShifts||{},f=a.overlayingShiftedAx||[];t.setScale();var g=e._fullLayout,m=t._id,v=m.charAt(0),y=Z.counterLetter(m),x=g._plots[t._mainSubplot];if(x){if(t._shiftPusher=t.autoshift||-1!==f.indexOf(t._id)||-1!==f.indexOf(t.overlaying),t._shiftPusher&"free"===t.anchor){var b=t.linewidth/2||0;"inside"===t.ticks&&(b+=t.ticklen),Ee(t,b,h,!0),Ee(t,t.shift||0,h,!1)}!0===a.skipTitle&&void 0!==t._shift||(t._shift=function(e,t){return e.autoshift?t[e.overlaying][e.side]:e.shift||0}(t,h));var _=x[v+"axislayer"],w=t._mainLinePosition,k=w+=t._shift,T=t._mainMirrorPosition,A=t._vals=Z.calcTicks(t),M=[t.mirror,k,T].join("_");for(r=0;r0?a.bottom-d:0,u))));var p=0,h=0;if(t._shiftPusher&&(p=Math.max(u,a.height>0?"l"===s?d-a.left:a.right-d:0),t.title.text!==g._dfltTitle[v]&&(h=(t._titleStandoff||0)+(t._titleScoot||0),"l"===s&&(h+=Me(t))),t._fullDepth=Math.max(p,h)),t.automargin){r={x:0,y:0,r:0,l:0,t:0,b:0};var f=[0,1],m="number"==typeof t._shift?t._shift:0;if("x"===v){if("b"===s?r[s]=t._depth:(r[s]=t._depth=Math.max(a.width>0?d-a.top:0,u),f.reverse()),a.width>0){var x=a.right-(t._offset+t._length);x>0&&(r.xr=1,r.r=x);var b=t._offset-a.left;b>0&&(r.xl=0,r.l=b)}}else if("l"===s?(t._depth=Math.max(a.height>0?d-a.left:0,u),r[s]=t._depth-m):(t._depth=Math.max(a.height>0?a.right-d:0,u),r[s]=t._depth+m,f.reverse()),a.height>0){var _=a.bottom-(t._offset+t._length);_>0&&(r.yb=0,r.b=_);var w=t._offset-a.top;w>0&&(r.yt=1,r.t=w)}r[y]="free"===t.anchor?t.position:t._anchorAxis.domain[f[0]],t.title.text!==g._dfltTitle[v]&&(r[s]+=Me(t)+(t.title.standoff||0)),t.mirror&&"free"!==t.anchor&&((n={x:0,y:0,r:0,l:0,t:0,b:0})[c]=t.linewidth,t.mirror&&!0!==t.mirror&&(n[c]+=u),!0===t.mirror||"ticks"===t.mirror?n[y]=t._anchorAxis.domain[f[1]]:"all"!==t.mirror&&"allticks"!==t.mirror||(n[y]=[t._counterDomainMin,t._counterDomainMax][f[1]]))}ue&&(l=o.getComponentMethod("rangeslider","autoMarginOpts")(e,t)),"string"==typeof t.automargin&&(we(r,t.automargin),we(n,t.automargin)),i.autoMargin(e,Oe(t),r),i.autoMargin(e,De(t),n),i.autoMargin(e,je(t),l)}),l.syncOrAsync(ce)}}function pe(e){var a=m+(e||"tick");return S[a]||(S[a]=function(e,t,a){var r,n,i,o;if(e._selections[t].size())r=1/0,n=-1/0,i=1/0,o=-1/0,e._selections[t].each(function(){var e=Le(this),t=p.bBox(e.node().parentNode);r=Math.min(r,t.top),n=Math.max(n,t.bottom),i=Math.min(i,t.left),o=Math.max(o,t.right)});else{var l=Z.makeLabelFns(e,a);r=n=l.yFn({dx:0,dy:0,fontSize:0}),i=o=l.xFn({dx:0,dy:0,fontSize:0})}return{top:r,bottom:n,left:i,right:o,height:n-r,width:o-i}}(t,a,k)),S[a]}},Z.getTickSigns=function(e,t){var a=e._id.charAt(0),r={x:"top",y:"right"}[a],n=e.side===r?1:-1,i=[-1,1,n,-n];return"inside"!==(t?(e.minor||{}).ticks:e.ticks)==("x"===a)&&(i=i.map(function(e){return-e})),e.side&&i.push({l:-1,t:-1,r:1,b:1}[e.side.charAt(0)]),i},Z.makeTransTickFn=function(e){return"x"===e._id.charAt(0)?function(t){return s(e._offset+e.l2p(t.x),0)}:function(t){return s(0,e._offset+e.l2p(t.x))}},Z.makeTransTickLabelFn=function(e){var t=function(e){var t=e.ticklabelposition||"",a=function(e){return-1!==t.indexOf(e)},r=a("top"),n=a("left"),i=a("right"),o=a("bottom"),l=a("inside"),s=o||n||r||i;if(!s&&!l)return[0,0];var c=e.side,d=s?(e.tickwidth||0)/2:0,u=3,p=e.tickfont?e.tickfont.size:12;return(o||r)&&(d+=p*U,u+=(e.linewidth||0)/2),(n||i)&&(d+=(e.linewidth||0)/2,u+=3),l&&"top"===c&&(u-=p*(1-U)),(n||r)&&(d=-d),"bottom"!==c&&"right"!==c||(u=-u),[s?d:0,l?u:0]}(e),a=e.ticklabelshift||0,r=e.ticklabelstandoff||0,n=t[0],i=t[1],o=e.range[0]>e.range[1],l=e.ticklabelposition&&-1!==e.ticklabelposition.indexOf("inside"),c=!l;if(a&&(a*=o?-1:1),r){var d=e.side;r*=l&&("top"===d||"left"===d)||c&&("bottom"===d||"right"===d)?1:-1}return"x"===e._id.charAt(0)?function(t){return s(n+e._offset+e.l2p(Te(t))+a,i+r)}:function(t){return s(i+r,n+e._offset+e.l2p(Te(t))+a)}},Z.makeTickPath=function(e,t,a,r){r||(r={});var n=r.minor;if(n&&!e.minor)return"";var i=void 0!==r.len?r.len:n?e.minor.ticklen:e.ticklen,o=e._id.charAt(0),l=(e.linewidth||1)/2;return"x"===o?"M0,"+(t+l*a)+"v"+i*a:"M"+(t+l*a)+",0h"+i*a},Z.makeLabelFns=function(e,t,a){var r=e.ticklabelposition||"",i=function(e){return-1!==r.indexOf(e)},o=i("top"),s=i("left"),c=i("right"),d=i("bottom")||s||o||c,u=i("inside"),p="inside"===r&&"inside"===e.ticks||!u&&"outside"===e.ticks&&"boundaries"!==e.tickson,h=0,f=0,g=p?e.ticklen:0;if(u?g*=-1:d&&(g=0),p&&(h+=g,a)){var m=l.deg2rad(a);h=g*Math.cos(m)+1,f=g*Math.sin(m)}e.showticklabels&&(p||e.showline)&&(h+=.2*e.tickfont.size);var v,y,x,b,_,w={labelStandoff:h+=(e.linewidth||1)/2*(u?-1:1),labelShift:f},k=0,T=e.side,A=e._id.charAt(0),M=e.tickangle;if("x"===A)b=(_=!u&&"bottom"===T||u&&"top"===T)?1:-1,u&&(b*=-1),v=f*b,y=t+h*b,x=_?1:-.2,90===Math.abs(M)&&(u?x+=V:x=-90===M&&"bottom"===T?U:90===M&&"top"===T?V:.5,k=V/2*(M/90)),w.xFn=function(e){return e.dx+v+k*e.fontSize},w.yFn=function(e){return e.dy+y+e.fontSize*x},w.anchorFn=function(e,t){if(d){if(s)return"end";if(c)return"start"}return n(t)&&0!==t&&180!==t?t*b<0!==u?"end":"start":"middle"},w.heightFn=function(t,a,r){return a<-60||a>60?-.5*r:"top"===e.side!==u?-r:0};else if("y"===A){if(b=(_=!u&&"left"===T||u&&"right"===T)?1:-1,u&&(b*=-1),v=h,y=f*b,x=0,u||90!==Math.abs(M)||(x=-90===M&&"left"===T||90===M&&"right"===T?U:.5),u){var S=n(M)?+M:0;if(0!==S){var L=l.deg2rad(S);k=Math.abs(Math.sin(L))*U*b,x=0}}w.xFn=function(e){return e.dx+t-(v+e.fontSize*x)*b+k*e.fontSize},w.yFn=function(e){return e.dy+y+e.fontSize*V},w.anchorFn=function(e,t){return n(t)&&90===Math.abs(t)?"middle":_?"end":"start"},w.heightFn=function(t,a,r){return"right"===e.side&&(a*=-1),a<-30?-r:a<30?-.5*r:0}}return w},Z.drawTicks=function(e,t,a){a=a||{};var n=t._id+"tick",i=[].concat(t.minor&&t.minor.ticks?a.vals.filter(function(e){return e.minor&&!e.noTick}):[]).concat(t.ticks?a.vals.filter(function(e){return!e.minor&&!e.noTick}):[]),o=a.layer.selectAll("path."+n).data(i,Ae);o.exit().remove(),o.enter().append("path").classed(n,1).classed("ticks",1).classed("crisp",!1!==a.crisp).each(function(e){return u.stroke(r.select(this),e.minor?t.minor.tickcolor:t.tickcolor)}).style("stroke-width",function(a){return p.crispRound(e,a.minor?t.minor.tickwidth:t.tickwidth,1)+"px"}).attr("d",a.path).style("display",null),Ne(t,[N]),o.attr("transform",a.transFn)},Z.drawGrid=function(e,t,a){if(a=a||{},"sync"!==t.tickmode){var n=t._id+"grid",i=t.minor&&t.minor.showgrid,o=i?a.vals.filter(function(e){return e.minor}):[],l=t.showgrid?a.vals.filter(function(e){return!e.minor}):[],s=a.counterAxis;if(s&&Z.shouldShowZeroLine(e,t,s))for(var c="array"===t.tickmode,d=0;d=0;v--){var y=v?g:m;if(y){var x=y.selectAll("path."+n).data(v?l:o,Ae);x.exit().remove(),x.enter().append("path").classed(n,1).classed("crisp",!1!==a.crisp),x.attr("transform",a.transFn).attr("d",a.path).each(function(e){return u.stroke(r.select(this),e.minor?t.minor.gridcolor:t.gridcolor||"#ddd")}).style("stroke-dasharray",function(e){return p.dashStyle(e.minor?t.minor.griddash:t.griddash,e.minor?t.minor.gridwidth:t.gridwidth)}).style("stroke-width",function(e){return(e.minor?f:t._gw)+"px"}).style("display",null),"function"==typeof a.path&&x.attr("d",a.path)}}Ne(t,[R,F])}},Z.drawZeroLine=function(e,t,a){a=a||a;var r=t._id+"zl",n=Z.shouldShowZeroLine(e,t,a.counterAxis),i=a.layer.selectAll("path."+r).data(n?[{x:0,id:t._id}]:[]);i.exit().remove(),i.enter().append("path").classed(r,1).classed("zl",1).classed("crisp",!1!==a.crisp).each(function(){a.layer.selectAll("path").sort(function(e,t){return X(e.id,t.id)})}),i.attr("transform",a.transFn).attr("d",a.path).call(u.stroke,t.zerolinecolor||u.defaultLine).style("stroke-width",p.crispRound(e,t.zerolinewidth,t._gw||1)+"px").style("display",null),Ne(t,[P])},Z.drawLabels=function(e,t,a){a=a||{};var i=e._fullLayout,o=t._id,d=a.cls||o+"tick",u=a.vals.filter(function(e){return e.text}),h=a.labelFns,f=a.secondary?0:t.tickangle,g=(t._prevTickAngles||{})[d],m=a.layer.selectAll("g."+d).data(t.showticklabels?u:[],Ae),v=[];function y(e,i){e.each(function(e){var o=r.select(this),l=o.select(".text-math-group"),d=h.anchorFn(e,i),u=a.transFn.call(o.node(),e)+(n(i)&&0!==+i?" rotate("+i+","+h.xFn(e)+","+(h.yFn(e)-e.fontSize/2)+")":""),f=c.lineCount(o),g=G*e.fontSize,m=h.heightFn(e,n(i)?+i:0,(f-1)*g);if(m&&(u+=s(0,m)),l.empty()){var v=o.select("text");v.attr({transform:u,"text-anchor":d}),v.style("opacity",1),t._adjustTickLabelsOverflow&&t._adjustTickLabelsOverflow()}else{var y=p.bBox(l.node()).width*{end:-.5,start:.5}[d];l.attr("transform",u+s(y,0))}})}m.enter().append("g").classed(d,1).append("text").attr("text-anchor","middle").each(function(t){var a=r.select(this),n=e._promises.length;a.call(c.positionText,h.xFn(t),h.yFn(t)).call(p.font,{family:t.font,size:t.fontSize,color:t.fontColor,weight:t.fontWeight,style:t.fontStyle,variant:t.fontVariant,textcase:t.fontTextcase,lineposition:t.fontLineposition,shadow:t.fontShadow}).text(t.text).call(c.convertToTspans,e),e._promises[n]?v.push(e._promises.pop().then(function(){y(a,f)})):y(a,f)}),Ne(t,[E]),m.exit().remove(),a.repositionOnUpdate&&m.each(function(e){r.select(this).select("text").call(c.positionText,h.xFn(e),h.yFn(e))}),t._adjustTickLabelsOverflow=function(){var a=t.ticklabeloverflow;if(a&&"allow"!==a){var n=-1!==a.indexOf("hide"),o="x"===t._id.charAt(0),s=0,c=o?e._fullLayout.width:e._fullLayout.height;if(-1!==a.indexOf("domain")){var d=l.simpleMap(t.range,t.r2l);s=t.l2p(d[0])+t._offset,c=t.l2p(d[1])+t._offset}var u=Math.min(s,c),h=Math.max(s,c),f=t.side,g=1/0,v=-1/0;for(var y in m.each(function(e){var a=r.select(this);if(a.select(".text-math-group").empty()){var i=p.bBox(a.node()),l=0;o?(i.right>h||i.lefth||i.top+(t.tickangle?0:e.fontSize/4)t["_visibleLabelMin_"+a._id]?s.style("display","none"):"tick"!==e.K||n||s.style("display",null)})})})})},y(m,g+1?g:f);var x=null;t._selections&&(t._selections[d]=m);var b=[function(){return v.length&&Promise.all(v)}];t.automargin&&i._redrawFromAutoMarginCount&&90===g?(x=g,b.push(function(){y(m,g)})):b.push(function(){if(y(m,f),u.length&&t.autotickangles&&("log"!==t.type||"D"!==String(t.dtick).charAt(0))){x=t.autotickangles[0];var e,r=0,n=[],i=1;m.each(function(e){r=Math.max(r,e.fontSize);var a=t.l2p(e.x),o=Le(this),l=p.bBox(o.node());i=Math.max(i,c.lineCount(o)),n.push({top:0,bottom:10,height:10,left:a-l.width/2,right:a+l.width/2+2,width:l.width+2})});var o=("boundaries"===t.tickson||t.showdividers)&&!a.secondary,s=u.length,d=Math.abs((u[s-1].x-u[0].x)*t._m)/(s-1),h=o?d/2:d,g=o?t.ticklen:1.25*r*i,v=h/Math.sqrt(Math.pow(h,2)+Math.pow(g,2)),b=t.autotickangles.map(function(e){return e*Math.PI/180}),_=b.find(function(e){return Math.abs(Math.cos(e))<=v});void 0===_&&(_=b.reduce(function(e,t){return Math.abs(Math.cos(e))B*C&&(j=C,L[S]=O[S]=I[S])}var H=Math.abs(j-D);H-T>0?T*=1+T/(H-=T):T=0,"y"!==t._id.charAt(0)&&(T=-T),L[M]=w.p2r(w.r2p(O[M])+A*T),"min"===w.autorange||"max reversed"===w.autorange?(L[0]=null,w._rangeInitial0=void 0,w._rangeInitial1=void 0):"max"!==w.autorange&&"min reversed"!==w.autorange||(L[1]=null,w._rangeInitial0=void 0,w._rangeInitial1=void 0),i._insideTickLabelsUpdaterange[w._name+".range"]=L}var V=l.syncOrAsync(b);return V&&V.then&&e._promises.push(V),V},Z.getPxPosition=function(e,t){var a,r=e._fullLayout._size,n=t._id.charAt(0),i=t.side;return"free"!==t.anchor?a=t._anchorAxis:"x"===n?a={_offset:r.t+(1-(t.position||0))*r.h,_length:0}:"y"===n&&(a={_offset:r.l+(t.position||0)*r.w+t._shift,_length:0}),"top"===i||"left"===i?a._offset:"bottom"===i||"right"===i?a._offset+a._length:void 0},Z.shouldShowZeroLine=function(e,t,a){var r=l.simpleMap(t.range,t.r2l);return r[0]*r[1]<=0&&t.zeroline&&("linear"===t.type||"-"===t.type)&&!(t.rangebreaks&&t.maskBreaks(0)===C)&&(Se(t,0)||!function(e,t,a,r){var n=a._mainAxis;if(n){var i=e._fullLayout,o=t._id.charAt(0),l=Z.counterLetter(t._id),s=t._offset+(Math.abs(r[0])1)for(r=1;r=0;u--){var p=e[u];if("scatter"===p.type&&p.xaxis===c.xaxis&&p.yaxis===c.yaxis){p.opacity=void 0;break}}}}}},16436(e,t,a){var r=a(80400),n=a(61137),i=a(13936),o=a(92765).dashStyle,l=a(29904),s=a(35271),c=a(2918).makeEventData,d=a(36576),u=d.freeMode,p=d.rectMode,h=d.drawMode,f=d.openMode,g=d.selectMode,m=a(49658),v=a(21166),y=a(23171),x=a(76396).clearOutline,b=a(39405),_=b.handleEllipse,w=b.readPaths,k=a(63776).newShapes,T=a(51539),A=a(70070).activateLastSelection,M=a(30991),S=M.sorterAsc,L=a(43930),O=a(94775),D=a(88737).getFromId,j=a(15561),I=a(1267).redrawReglTraces,z=a(44719),C=z.MINSELECT,P=L.filter,R=L.tester,F=a(20799),N=F.p2r,E=F.axValue,B=F.getTransform;function H(e){return void 0!==e.subplot}function V(e,t,a,r,n,i,o){var l,s,c,d,u,p,h,g,m,v=t._hoverdata,x=t._fullLayout.clickmode.indexOf("event")>-1,b=[];if(function(e){return e&&Array.isArray(e)&&!0!==e[0].hoverOnBox}(v)){Z(e,t,i);var _=function(e,t){var a,r,n=e[0],i=-1,o=[];for(r=0;r0?function(e,t){var a,r,n,i=[];for(n=0;n0&&i.push(a);if(1===i.length&&i[0]===t.searchInfo&&(r=t.searchInfo.cd[0].trace).selectedpoints.length===t.pointNumbers.length){for(n=0;n1)return!1;if((r+=t.selectedpoints.length)>1)return!1}return 1===r}(l)&&(p=Q(_))){for(o&&o.remove(),m=0;m=0})(n)&&n._fullLayout._deactivateShape(n),function(e){return e._fullLayout._activeSelectionIndex>=0}(n)&&n._fullLayout._deactivateSelection(n);var o=n._fullLayout._zoomlayer,l=h(a),s=g(a);if(l||s){var c,d,u=o.selectAll(".select-outline-"+r.id);u&&n._fullLayout._outlining&&(l&&(c=k(u,e)),c&&i.call("_guiRelayout",n,{shapes:c}),s&&!H(e)&&(d=T(u,e)),d&&(n._fullLayout._noEmitSelectedAtStart=!0,i.call("_guiRelayout",n,{selections:d}).then(function(){t&&A(n)})),n._fullLayout._outlining=!1)}r.selection={},r.selection.selectionDefs=e.selectionDefs=[],r.selection.mergedPolygons=e.mergedPolygons=[]}function Y(e){return e._id}function X(e,t,a,r){if(!e.calcdata)return[];var n,i,o,l=[],s=t.map(Y),c=a.map(Y);for(o=0;o0?r[0]:a;return!!t.selectedpoints&&t.selectedpoints.indexOf(n)>-1}function K(e,t,a){var r,n;for(r=0;r-1&&t;if(!i&&t){var te=oe(e,!0);if(te.length){var re=te[0].xref,he=te[0].yref;if(re&&he){var fe=ce(te);de([D(e,re,"x"),D(e,he,"y")])($,fe)}}e._fullLayout._noEmitSelectedAtStart?e._fullLayout._noEmitSelectedAtStart=!1:ee&&ue(e,$),p._reselect=!1}if(!i&&p._deselect){var ge=p._deselect;(function(e,t,a){for(var r=0;r=0)T._fullLayout._deactivateShape(T);else if(!x){var a=A.clickmode;O.done(Me).then(function(){if(O.clear(Me),2===e){for(be.remove(),Q=0;Q-1&&V(t,T,r.xaxes,r.yaxes,r.subplot,r,be),"event"===a&&ue(T,void 0);s.click(T,t,j.id)}).catch(M.error)}},r.doneFn=function(){Te.remove(),O.done(Me).then(function(){O.clear(Me),!S&&J&&r.selectionDefs&&(J.subtract=xe,r.selectionDefs.push(J),r.mergedPolygons.length=0,[].push.apply(r.mergedPolygons,Y)),(S||x)&&W(r,S),r.doneFnCompleted&&r.doneFnCompleted(Se),b&&ue(T,ie)}).catch(M.error)}},clearOutline:x,clearSelectionsCache:W,selectOnClick:V}},16492(e,t,a){var r=a(30991),n=a(21238),i=a(42027),o=a(80061).name,l=i.buttons;function s(e,t,a){function o(a,n){return r.coerce(e,t,i,a,n)}o("visible",n(e,t,{name:"buttons",handleItemDefaults:c}).length>0)&&(o("active"),o("direction"),o("type"),o("showactive"),o("x"),o("y"),r.noneOrAll(e,t,["x","y"]),o("xanchor"),o("yanchor"),o("pad.t"),o("pad.r"),o("pad.b"),o("pad.l"),r.coerceFont(o,"font",a.font),o("bgcolor",a.paper_bgcolor),o("bordercolor"),o("borderwidth"))}function c(e,t){function a(a,n){return r.coerce(e,t,l,a,n)}a("visible","skip"===e.method||Array.isArray(e.args))&&(a("method"),a("args"),a("args2"),a("label"),a("execute"))}e.exports=function(e,t){n(e,t,{name:o,handleItemDefaults:s})}},16499(e,t,a){var r=a(6535),n={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)"]]},i=n.RdBu;function o(e){var t=0;if(!Array.isArray(e)||e.length<2)return!1;if(!e[0]||!e[e.length-1])return!1;if(0!==+e[0][0]||1!==+e[e.length-1][0])return!1;for(var a=0;a100},t.isDotSymbol=function(e){return"string"==typeof e?r.DOT_RE.test(e):e>200}},16874(e,t,a){var r=a(7396),n=a(92765),i=a(13936);function o(e,t,a){n.pointStyle(e.selectAll("path.point"),t,a)}function l(e,t,a){n.textPointStyle(e.selectAll("text"),t,a)}e.exports={style:function(e){var t=r.select(e).selectAll("g.trace.scatter");t.style("opacity",function(e){return e[0].trace.opacity}),t.selectAll("g.points").each(function(t){o(r.select(this),t.trace||t[0].trace,e)}),t.selectAll("g.text").each(function(t){l(r.select(this),t.trace||t[0].trace,e)}),t.selectAll("g.trace path.js-line").call(n.lineGroupStyle),t.selectAll("g.trace path.js-fill").call(n.fillGroupStyle,e,!1),i.getComponentMethod("errorbars","style")(t)},stylePoints:o,styleText:l,styleOnSelect:function(e,t,a){var r=t[0].trace;r.selectedpoints?(n.selectedPointStyle(a.selectAll("path.point"),r),n.selectedTextStyle(a.selectAll("text"),r)):(o(a,r,e),l(a,r,e))}}},17071(e,t,a){var r=a(30991),n=a(15076),i=a(1609),o=a(92765),l=a(39405).readPaths,s=a(49658),c=s.getPathString,d=a(40041),u=a(5540).FROM_TL;e.exports=function(e,t,a,p){if(p.selectAll(".shape-label").remove(),a.label.text||a.label.texttemplate){var h;if(a.label.texttemplate){var f={};if("path"!==a.type){var g=n.getFromId(e,a.xref),m=n.getFromId(e,a.yref);for(var v in d){var y=d[v](a,g,m);void 0!==y&&(f[v]=y)}}h=r.texttemplateStringForShapes(a.label.texttemplate,{},e._fullLayout._d3locale,f)}else h=a.label.text;var x,b,_,w,k={"data-index":t},T=a.label.font,A=p.append("g").attr(k).classed("shape-label",!0).append("text").attr({"data-notex":1}).classed("shape-label-text",!0).text(h);if(a.path){var M=c(e,a),S=l(M,e);x=1/0,_=1/0,b=-1/0,w=-1/0;for(var L=0;L=e?t-r:r-t,-180/Math.PI*Math.atan2(n,i)}(x,_,b,w):0),A.call(function(t){return t.call(o.font,T).attr({}),i.convertToTspans(t,e),t});var q=function(e,t,a,r,n,i,o){var l,s,c,d,p=n.label.textposition,h=n.label.textangle,f=n.label.padding,g=n.type,m=Math.PI/180*i,v=Math.sin(m),y=Math.cos(m),x=n.label.xanchor,b=n.label.yanchor;if("line"===g){"start"===p?(l=e,s=t):"end"===p?(l=a,s=r):(l=(e+a)/2,s=(t+r)/2),"auto"===x&&(x="start"===p?"auto"===h?a>e?"left":ae?"right":ae?"right":ae?"left":ak?d.push({code:"unused",traceType:y,templateCount:w,dataCount:k}):k>w&&d.push({code:"reused",traceType:y,templateCount:w,dataCount:k})}}else d.push({code:"data"});if(function e(t,a){for(var r in t)if("_"!==r.charAt(0)){var i=t[r],o=g(t,r,a);n(i)?(Array.isArray(t)&&!1===i._template&&i.templateitemname&&d.push({code:"missing",path:o,templateitemname:i.templateitemname}),e(i,o)):Array.isArray(i)&&m(i)&&e(i,o)}}({data:h,layout:p},""),d.length)return d.map(v)}},18613(e,t,a){var r=a(19715),n=a(94556),i=a(67887),o=a(30991).removeElement,l=a(77060),s=e.exports={};s.align=a(23516),s.getCursor=a(15731);var c=a(88838);function d(){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}function u(e){return r(e.changedTouches?e.changedTouches[0]:e,document.body)}s.unhover=c.wrapped,s.unhoverRaw=c.raw,s.init=function(e){var t,a,r,c,p,h,f,g,m=e.gd,v=1,y=m._context.doubleClickDelay,x=e.element;m._mouseDownTime||(m._mouseDownTime=0),x.style.pointerEvents="all",x.onmousedown=_,i?(x._ontouchstart&&x.removeEventListener("touchstart",x._ontouchstart),x._ontouchstart=_,x.addEventListener("touchstart",_,{passive:!1})):x.ontouchstart=_;var b=e.clampFn||function(e,t,a){return Math.abs(e)y&&(v=Math.max(v-1,1)),m._dragged)e.doneFn&&e.doneFn();else if(e.clickFn&&e.clickFn(v,h),!g){var a;try{a=new MouseEvent("click",t)}catch(e){var r=u(t);(a=document.createEvent("MouseEvents")).initMouseEvent("click",t.bubbles,t.cancelable,t.view,t.detail,t.screenX,t.screenY,r[0],r[1],t.ctrlKey,t.altKey,t.shiftKey,t.metaKey,t.button,t.relatedTarget)}f.dispatchEvent(a)}m._dragging=!1,m._dragged=!1}else m._dragged=!1}},s.coverSlip=d},18693(e,t,a){var r=a(84676),n=a(86854).line,i=a(67840).T,o=a(91307).extendFlat,l=a(70756).overrideAll,s=a(79338).templatedArray,c=a(9712);e.exports=l(s("selection",{type:{valType:"enumerated",values:["rect","path"],description:["Specifies the selection type to be drawn.","If *rect*, a rectangle is drawn linking","(`x0`,`y0`), (`x1`,`y0`), (`x1`,`y1`) and (`x0`,`y1`).","If *path*, draw a custom SVG path using `path`."].join(" ")},xref:o({},r.xref,{description:["Sets the selection's x coordinate axis.",c.axisRefDescription("x","left","right")].join(" ")}),yref:o({},r.yref,{description:["Sets the selection's x coordinate axis.",c.axisRefDescription("y","bottom","top")].join(" ")}),x0:{valType:"any",description:"Sets the selection's starting x position."},x1:{valType:"any",description:"Sets the selection's end x position."},y0:{valType:"any",description:"Sets the selection's starting y position."},y1:{valType:"any",description:"Sets the selection's end y position."},path:{valType:"string",editType:"arraydraw",description:["For `type` *path* - a valid SVG path similar to `shapes.path` in data coordinates.","Allowed segments are: M, L and Z."].join(" ")},opacity:{valType:"number",min:0,max:1,dflt:.7,editType:"arraydraw",description:"Sets the opacity of the selection."},line:{color:n.color,width:o({},n.width,{min:1,dflt:1}),dash:o({},i,{dflt:"dot"})}}),"arraydraw","from-root")},19025(e){e.exports=function(e){return e}},19073(e,t){t.isGrouped=function(e){return-1!==(e.traceorder||"").indexOf("grouped")},t.isVertical=function(e){return"h"!==e.orientation},t.isReversed=function(e){return-1!==(e.traceorder||"").indexOf("reversed")}},19150(e){e.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}},19875(e,t,a){var r=a(30991),n=a(15076),i=a(47995).draw;function o(e){var t=e._fullLayout;r.filterVisible(t.annotations).forEach(function(t){var a=n.getFromId(e,t.xref),r=n.getFromId(e,t.yref),i=n.getRefType(t.xref),o=n.getRefType(t.yref);t._extremes={},"range"===i&&l(t,a),"range"===o&&l(t,r)})}function l(e,t){var a,r=t._id,i=r.charAt(0),o=e[i],l=e["a"+i],s=e[i+"ref"],c=e["a"+i+"ref"],d=e["_"+i+"padplus"],u=e["_"+i+"padminus"],p={x:1,y:-1}[i]*e[i+"shift"],h=3*e.arrowsize*e.arrowwidth||0,f=h+p,g=h-p,m=3*e.startarrowsize*e.arrowwidth||0,v=m+p,y=m-p;if(c===s){var x=n.findExtremes(t,[t.r2c(o)],{ppadplus:f,ppadminus:g}),b=n.findExtremes(t,[t.r2c(l)],{ppadplus:Math.max(d,v),ppadminus:Math.max(u,y)});a={min:[x.min[0],b.min[0]],max:[x.max[0],b.max[0]]}}else v=l?v+l:v,y=l?y-l:y,a=n.findExtremes(t,[t.r2c(o)],{ppadplus:Math.max(d,f,v),ppadminus:Math.max(u,g,y)});e._extremes[r]=a}e.exports=function(e){var t=e._fullLayout;if(r.filterVisible(t.annotations).length&&e._fullData.length)return r.syncOrAsync([i,o],e)}},20799(e,t,a){var r=a(30991).strTranslate;function n(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)}}e.exports={p2r:n,r2p:function(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)}},axValue:function(e){var t="y"===e._id.charAt(0)?1:0;return function(a){return n(e,a[t])}},getTransform:function(e){return r(e.xaxis._offset,e.yaxis._offset)}}},21166(e){e.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}}},21238(e,t,a){var r=a(30991),n=a(79338);e.exports=function(e,t,a){var i,o,l=a.name,s=a.inclusionAttr||"visible",c=t[l],d=r.isArrayOrTypedArray(e[l])?e[l]:[],u=t[l]=[],p=n.arrayTemplater(t,l,s);for(i=0;i1&&(2!==e.length||"Z"!==e[1][0])&&(0===D&&(e[0][0]="M"),t[O]=e,A(),M())}}()}}function V(e,a){!function(e,a){if(t.length)for(var r=0;r4/3-l?o:l}},23842(e,t,a){var r=a(7396),n=a(57365),i=a(85880),o=a(13936),l=a(30991),s=l.strTranslate,c=a(92765),d=a(29904),u=a(1609),p=a(18136),h=a(5540).OPPOSITE_SIDE,f=/ [XY][0-9]* /;e.exports={draw:function(e,t,a){var g,m=e._fullLayout,v=a.propContainer,y=a.propName,x=a.placeholder,b=a.traceIndex,_=a.avoid||{},w=a.attributes,k=a.transform,T=a.containerGroup,A=1,M=v.title,S=(M&&M.text?M.text:"").trim(),L=!1,O=M&&M.font?M.font:{},D=O.family,j=O.size,I=O.color,z=O.weight,C=O.style,P=O.variant,R=O.textcase,F=O.lineposition,N=O.shadow,E=!!a.subtitlePropName,B=a.subtitlePlaceholder,H=(v.title||{}).subtitle||{text:"",font:{}},V=H.text.trim(),U=!1,G=1,q=H.font,Z=q.family,W=q.size,Y=q.color,X=q.weight,J=q.style,Q=q.variant,K=q.textcase,$=q.lineposition,ee=q.shadow;"title.text"===y?g="titleText":-1!==y.indexOf("axis")?g="axisTitleText":y.indexOf(!0)&&(g="colorbarTitleText");var te=e._context.edits[g];function ae(e,t){return void 0!==e&&void 0!==t&&e.replace(f," % ")===t.replace(f," % ")}""===S?A=0:ae(S,x)&&(te||(S=""),A=.2,L=!0),E&&(""===V?G=0:ae(V,B)&&(te||(V=""),G=.2,U=!0)),a._meta?S=l.templateString(S,a._meta):m._meta&&(S=l.templateString(S,m._meta));var re,ne=S||V||te;T||(T=l.ensureSingle(m._infolayer,"g","g-"+t),re=m._hColorbarMoveTitle);var ie=T.selectAll("text."+t).data(ne?[0]:[]);ie.enter().append("text"),ie.text(S).attr("class",t),ie.exit().remove();var oe=null,le=t+"-subtitle",se=V||te;if(E&&se&&((oe=T.selectAll("text."+le).data(se?[0]:[])).enter().append("text"),oe.text(V).attr("class",le),oe.exit().remove()),!ne)return T;function ce(e,t){l.syncOrAsync([de,ue],{title:e,subtitle:t})}function de(a){var n,o=a.title,p=a.subtitle;if(!k&&re&&(k={}),k?(n="",k.rotate&&(n+="rotate("+[k.rotate,w.x,w.y]+")"),(k.offset||re)&&(n+=s(0,(k.offset||0)-(re||0)))):n=null,o.attr("transform",n),o.style("opacity",A*d.opacity(I)).call(c.font,{color:d.rgb(I),size:r.round(j,2),family:D,weight:z,style:C,variant:P,textcase:R,shadow:N,lineposition:F}).attr(w).call(u.convertToTspans,e,function(e){if(e){var t=r.select(e.node().parentNode).select("."+le);if(!t.empty()){var a=e.node().getBBox();if(a.height){var n=a.y+a.height+1.6*W;t.attr("y",n)}}}}),p){var h=T.select("."+t+"-math-group"),f=o.node().getBBox(),g=h.node()?h.node().getBBox():void 0,m=g?g.y+g.height+1.6*W:f.y+f.height+1.6*W,v=l.extendFlat({},w,{y:m});p.attr("transform",n),p.style("opacity",G*d.opacity(Y)).call(c.font,{color:d.rgb(Y),size:r.round(W,2),family:Z,weight:X,style:J,variant:Q,textcase:K,shadow:ee,lineposition:$}).attr(v).call(u.convertToTspans,e)}return i.previousPromises(e)}function ue(t){var a=t.title,i=r.select(a.node().parentNode);if(_&&_.selection&&_.side&&S){i.attr("transform",null);var o=h[_.side],d="left"===_.side||"top"===_.side?-1:1,u=n(_.pad)?_.pad:2,p=c.bBox(i.node()),f={t:0,b:0,l:0,r:0},g=e._fullLayout._reservedMargin;for(var y in g)for(var x in g[y]){var b=g[y][x];f[x]=Math.max(f[x],b)}var w={left:f.l,top:f.t,right:m.width-f.r,bottom:m.height-f.b},k=_.maxShift||d*(w[_.side]-p[_.side]),T=0;if(k<0)T=k;else{var A=_.offsetLeft||0,M=_.offsetTop||0;p.left-=A,p.right-=A,p.top-=M,p.bottom-=M,_.selection.each(function(){var e=c.bBox(this);l.bBoxIntersect(p,e,u)&&(T=Math.max(T,d*(e[_.side]-p[o])+u))}),T=Math.min(k,T),v._titleScoot=Math.abs(T)}if(T>0||k<0){var L={left:[-T,0],right:[T,0],top:[0,-T],bottom:[0,T]}[_.side];i.attr("transform",s(L[0],L[1]))}}}function pe(e,t){e.text(t).on("mouseover.opacity",function(){r.select(this).transition().duration(p.SHOW_PLACEHOLDER).style("opacity",1)}).on("mouseout.opacity",function(){r.select(this).transition().duration(p.HIDE_PLACEHOLDER).style("opacity",0)})}if(ie.call(ce,oe),te&&(S?ie.on(".opacity",null):(pe(ie,x),L=!0),ie.call(u.makeEditable,{gd:e}).on("edit",function(t){void 0!==b?o.call("_guiRestyle",e,y,t,b):o.call("_guiRelayout",e,y,t)}).on("cancel",function(){this.text(this.attr("data-unformatted")).call(ce)}).on("input",function(e){this.text(e||" ").call(u.positionText,w.x,w.y)}),E)){if(E&&!S){var he=ie.node().getBBox(),fe=he.y+he.height+1.6*W;oe.attr("y",fe)}V?oe.on(".opacity",null):(pe(oe,B),U=!0),oe.call(u.makeEditable,{gd:e}).on("edit",function(t){o.call("_guiRelayout",e,"title.subtitle.text",t)}).on("cancel",function(){this.text(this.attr("data-unformatted")).call(ce)}).on("input",function(e){this.text(e||" ").call(u.positionText,oe.attr("x"),oe.attr("y"))})}return ie.classed("js-placeholder",L),oe&&oe.classed("js-placeholder",U),T},SUBTITLE_PADDING_EM:1.6,SUBTITLE_PADDING_MATHJAX_EM:1.6}},24250(e,t,a){var r=a(30991),n=a(12421),i=a(58619),o=a(89917);e.exports=function(e,t){var a;return r.isPlainObject(e)||(a=r.getGraphDiv(e)),(t=t||{}).format=t.format||"png",t.width=t.width||null,t.height=t.height||null,t.imageDataOnly=!0,new Promise(function(l,s){a&&a._snapshotInProgress&&s(new Error("Snapshotting already in progress.")),r.isIE()&&"svg"!==t.format&&s(new Error(o.MSG_IE_BAD_FORMAT)),a&&(a._snapshotInProgress=!0);var c=n(e,t),d=t.filename||e.fn||"newplot";d+="."+t.format.replace("-","."),c.then(function(e){return a&&(a._snapshotInProgress=!1),i(e,d,t.format)}).then(function(e){l(e)}).catch(function(e){a&&(a._snapshotInProgress=!1),s(e)})})}},24426(e,t,a){var r=a(37007).EventEmitter,n=a(13936),i=a(30991),o=a(89917),l=a(61670),s=a(81397),c=a(68588);e.exports=function(e,t){var a=new r,d=l(e,{format:"png"}),u=d.gd;u.style.position="absolute",u.style.left="-5000px",document.body.appendChild(u);var p=o.getRedrawFunc(u);return n.call("_doPlot",u,d.data,d.layout,d.config).then(p).then(function(){var e=o.getDelay(u._fullLayout);setTimeout(function(){var e=s(u),r=document.createElement("canvas");r.id=i.randstr(),(a=c({format:t.format,width:u._fullLayout.width,height:u._fullLayout.height,canvas:r,emitter:a,svg:e})).clean=function(){u&&document.body.removeChild(u)}},e)}).catch(function(e){a.emit("error",e)}),a}},24515(e,t,a){var r=a(30991),n=a(70756).overrideAll,i=a(41146),o={error_x:r.extendFlat({},i),error_y:r.extendFlat({},i)};delete o.error_x.copy_zstyle,delete o.error_y.copy_zstyle,delete o.error_y.copy_ystyle;var l={error_x:r.extendFlat({},i),error_y:r.extendFlat({},i),error_z:r.extendFlat({},i)};delete l.error_x.copy_ystyle,delete l.error_y.copy_ystyle,delete l.error_z.copy_ystyle,delete l.error_z.copy_zstyle,e.exports={moduleType:"component",name:"errorbars",schema:{traces:{scatter:o,bar:o,histogram:o,scatter3d:n(l,"calc","nested"),scattergl:n(o,"calc","nested")}},supplyDefaults:a(52397),calc:a(74934),makeComputeError:a(94995),plot:a(33700),style:a(93638),hoverInfo:function(e,t,a){(t.error_y||{}).visible&&(a.yerr=e.yh-e.y,t.error_y.symmetric||(a.yerrneg=e.y-e.ys)),(t.error_x||{}).visible&&(a.xerr=e.xh-e.x,t.error_x.symmetric||(a.xerrneg=e.x-e.xs))}}},24521(e,t,a){var r=a(30991),n=a(91016).counter,i=a(1962).u,o=a(77060).idRegex,l=a(79338),s={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:[n("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:[o.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:[o.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:i({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 c(e,t,a){var r=t[a+"axes"],n=Object.keys((e._splomAxes||{})[a]||{});return Array.isArray(r)?r:n.length?n:void 0}function d(e,t,a,r,n,i){var o=t(e+"gap",a),l=t("domain."+e);t(e+"side",r);for(var s=new Array(n),c=l[0],d=(l[1]-c)/(n-o),u=d*(1-o),p=0;p1){p||h||f||"independent"===T("pattern")&&(p=!0),m._hasSubplotGrid=p;var x,b,_="top to bottom"===T("roworder"),w=p?.2:.1,k=p?.3:.1;g&&t._splomGridDflt&&(x=t._splomGridDflt.xside,b=t._splomGridDflt.yside),m._domains={x:d("x",T,w,x,y),y:d("y",T,k,b,v,_)}}else delete t.grid}function T(e,t){return r.coerce(a,m,s,e,t)}},contentDefaults:function(e,t){var a=t.grid;if(a&&a._domains){var r,n,i,o,l,s,d,p=e.grid||{},h=t._subplots,f=a._hasSubplotGrid,g=a.rows,m=a.columns,v="independent"===a.pattern,y=a._axisMap={};if(f){var x=p.subplots||[];s=a.subplots=new Array(g);var b=1;for(r=0;rl-1e-14}function c(e,t){return i(t-e,l)}function d(e,t){if(s(t))return!0;var a,r;t[0](r=n(r,l))&&(r+=l);var i=n(e,l),o=i+l;return i>=a&&i<=r||o>=a&&o<=r}function u(e,t,a,r,n,i,c){n=n||0,i=i||0;var d,u,p,h,f,g=s([a,r]);function m(e,t){return[e*Math.cos(t)+n,i-e*Math.sin(t)]}g?(d=0,u=o,p=l):a=n&&e<=i);var n,i},pathArc:function(e,t,a,r,n){return u(null,e,t,a,r,n,0)},pathSector:function(e,t,a,r,n){return u(null,e,t,a,r,n,1)},pathAnnulus:function(e,t,a,r,n,i){return u(e,t,a,r,n,i,1)}}},25244(e,t,a){var r=a(15076);e.exports=function(e,t,a){var n={},i={_fullLayout:a},o=r.getFromTrace(i,t,"x"),l=r.getFromTrace(i,t,"y"),s=e.orig_x;void 0===s&&(s=e.x);var c=e.orig_y;return void 0===c&&(c=e.y),n.xLabel=r.tickText(o,o.c2l(s),!0).text,n.yLabel=r.tickText(l,l.c2l(c),!0).text,n}},25275(e){e.exports=function(){}},25386(e,t,a){var r=a(68410),n=Object.keys(r),i=["drawline","drawopenpath","drawclosedpath","drawcircle","drawrect","eraseshape"],o=["v1hovermode","hoverclosest","hovercompare","togglehover","togglespikelines"].concat(i),l=[];n.forEach(function(e){!function(e){if(-1===o.indexOf(e._cat||e.name)){var t=e.name,a=(e._cat||e.name).toLowerCase();-1===l.indexOf(t)&&l.push(t),-1===l.indexOf(a)&&l.push(a)}}(r[e])}),l.sort(),e.exports={DRAW_MODES:i,backButtons:o,foreButtons:l}},25408(e,t,a){var r=a(7396),n=a(13936),i=a(30991),o=i.ensureSingle,l=i.identity,s=a(92765),c=a(33068),d=a(63207),u=a(51600),p=a(43930).tester;function h(e,t,a,u,h,f,g){var m,v=e._context.staticPlot;!function(e,t,a,n,o){var l=a.xaxis,s=a.yaxis,d=r.extent(i.simpleMap(l.range,l.r2c)),u=r.extent(i.simpleMap(s.range,s.r2c)),p=n[0].trace;if(c.hasMarkers(p)){var h=p.marker.maxdisplayed;if(0!==h){var f=n.filter(function(e){return e.x>=d[0]&&e.x<=d[1]&&e.y>=u[0]&&e.y<=u[1]}),g=Math.ceil(f.length/h),m=0;o.forEach(function(e,a){var r=e[0].trace;c.hasMarkers(r)&&r.marker.maxdisplayed>0&&a0;function x(e){return y?e.transition():e}var b=a.xaxis,_=a.yaxis,w=u[0].trace,k=w.line,T=r.select(f),A=o(T,"g","errorbars"),M=o(T,"g","lines"),S=o(T,"g","points"),L=o(T,"g","text");if(n.getComponentMethod("errorbars","plot")(e,A,a,g),!0===w.visible){var O,D;x(T).style("opacity",w.opacity);var j,I,z=w.fill.charAt(w.fill.length-1);"x"!==z&&"y"!==z&&(z=""),"y"===z?(j=1,I=_.c2p(0,!0)):"x"===z&&(j=0,I=b.c2p(0,!0)),u[0][a.isRangePlot?"nodeRangePlot3":"node3"]=T;var C,P,R="",F=[],N=w._prevtrace,E=null,B=null;N&&(R=N._prevRevpath||"",D=N._nextFill,F=N._ownPolygons,E=N._fillsegments,B=N._fillElement);var H,V,U,G,q,Z,W="",Y="",X=[];w._polygons=[];var J=[],Q=[],K=i.noop;if(O=w._ownFill,c.hasLines(w)||"none"!==w.fill){D&&D.datum(u),-1!==["hv","vh","hvh","vhv"].indexOf(k.shape)?(H=s.steps(k.shape),V=s.steps(k.shape.split("").reverse().join(""))):H=V="spline"===k.shape?function(e){var t=e[e.length-1];return e.length>1&&e[0][0]===t[0]&&e[0][1]===t[1]?s.smoothclosed(e.slice(1),k.smoothing):s.smoothopen(e,k.smoothing)}:function(e){return"M"+e.join("L")},U=function(e){return V(e.reverse())},Q=d(u,{xaxis:b,yaxis:_,trace:w,connectGaps:w.connectgaps,baseTolerance:Math.max(k.width||1,3)/4,shape:k.shape,backoff:k.backoff,simplify:k.simplify,fill:w.fill}),J=new Array(Q.length);var $=0;for(m=0;m0,m=u(e,t,a);(d=n.selectAll("g.trace").data(m,function(e){return e[0].trace.uid})).enter().append("g").attr("class",function(e){return"trace scatter trace"+e[0].trace.uid}).style("stroke-miterlimit",2),d.order(),function(e,t,a){t.each(function(t){var n=o(r.select(this),"g","fills");s.setClipUrl(n,a.layerClipId,e);var i=t[0].trace,c=[];i._ownfill&&c.push("_ownFill"),i._nexttrace&&c.push("_nextFill");var d=n.selectAll("g").data(c,l);d.enter().append("g"),d.exit().each(function(e){i[e]=null}).remove(),d.order().each(function(e){i[e]=o(r.select(this),"path","js-fill")})})}(e,d,t),g?(c&&(p=c()),r.transition().duration(i.duration).ease(i.easing).each("end",function(){p&&p()}).each("interrupt",function(){p&&p()}).each(function(){n.selectAll("g.trace").each(function(a,r){h(e,r,t,a,m,this,i)})})):d.each(function(a,r){h(e,r,t,a,m,this,i)}),f&&d.exit().remove(),n.selectAll("path:not([d])").remove()}},26079(e,t,a){var r=a(7396),n=a(85880),i=a(29904),o=a(92765),l=a(30991),s=l.strTranslate,c=a(1609),d=a(79338).arrayEditor,u=a(88676),p=a(5540),h=p.LINE_SPACING,f=p.FROM_TL,g=p.FROM_BR;function m(e){return u.autoMarginIdRoot+e._index}function v(e){return e._index}function y(e,t){var a=o.tester.selectAll("g."+u.labelGroupClass).data(t._visibleSteps);a.enter().append("g").classed(u.labelGroupClass,!0);var i=0,s=0;a.each(function(e){var a=_(r.select(this),{step:e},t).node();if(a){var n=o.bBox(a);s=Math.max(s,n.height),i=Math.max(i,n.width)}}),a.remove();var d=t._dims={};d.inputAreaWidth=Math.max(u.railWidth,u.gripHeight);var p=e._fullLayout._size;d.lx=p.l+p.w*t.x,d.ly=p.t+p.h*(1-t.y),"fraction"===t.lenmode?d.outerLength=Math.round(p.w*t.len):d.outerLength=t.len,d.inputAreaStart=0,d.inputAreaLength=Math.round(d.outerLength-t.pad.l-t.pad.r);var h=(d.inputAreaLength-2*u.stepInset)/(t._stepCount-1),v=i+u.labelPadding;if(d.labelStride=Math.max(1,Math.ceil(v/h)),d.labelHeight=s,d.currentValueMaxWidth=0,d.currentValueHeight=0,d.currentValueTotalHeight=0,d.currentValueMaxLines=1,t.currentvalue.visible){var y=o.tester.append("g");a.each(function(e){var a=x(y,t,e.label),r=a.node()&&o.bBox(a.node())||{width:0,height:0},n=c.lineCount(a);d.currentValueMaxWidth=Math.max(d.currentValueMaxWidth,Math.ceil(r.width)),d.currentValueHeight=Math.max(d.currentValueHeight,Math.ceil(r.height)),d.currentValueMaxLines=Math.max(d.currentValueMaxLines,n)}),d.currentValueTotalHeight=d.currentValueHeight+t.currentvalue.offset,y.remove()}d.height=d.currentValueTotalHeight+u.tickOffset+t.ticklen+u.labelOffset+d.labelHeight+t.pad.t+t.pad.b;var b="left";l.isRightAnchor(t)&&(d.lx-=d.outerLength,b="right"),l.isCenterAnchor(t)&&(d.lx-=d.outerLength/2,b="center");var w="top";l.isBottomAnchor(t)&&(d.ly-=d.height,w="bottom"),l.isMiddleAnchor(t)&&(d.ly-=d.height/2,w="middle"),d.outerLength=Math.ceil(d.outerLength),d.height=Math.ceil(d.height),d.lx=Math.round(d.lx),d.ly=Math.round(d.ly);var k={y:t.y,b:d.height*g[w],t:d.height*f[w]};"fraction"===t.lenmode?(k.l=0,k.xl=t.x-t.len*f[b],k.r=0,k.xr=t.x+t.len*g[b]):(k.x=t.x,k.l=d.outerLength*f[b],k.r=d.outerLength*g[b]),n.autoMargin(e,m(t),k)}function x(e,t,a){if(t.currentvalue.visible){var r,n,i=t._dims;switch(t.currentvalue.xanchor){case"right":r=i.inputAreaLength-u.currentValueInset-i.currentValueMaxWidth,n="left";break;case"center":r=.5*i.inputAreaLength,n="middle";break;default:r=u.currentValueInset,n="left"}var s=l.ensureSingle(e,"text",u.labelClass,function(e){e.attr({"text-anchor":n,"data-notex":1})}),d=t.currentvalue.prefix?t.currentvalue.prefix:"";if("string"==typeof a)d+=a;else{var p=t.steps[t.active].label,f=t._gd._fullLayout._meta;f&&(p=l.templateString(p,f)),d+=p}t.currentvalue.suffix&&(d+=t.currentvalue.suffix),s.call(o.font,t.currentvalue.font).text(d).call(c.convertToTspans,t._gd);var g=c.lineCount(s),m=(i.currentValueMaxLines+1-g)*t.currentvalue.font.size*h;return c.positionText(s,r,m),s}}function b(e,t,a){l.ensureSingle(e,"rect",u.gripRectClass,function(r){r.call(A,t,e,a).style("pointer-events","all")}).attr({width:u.gripWidth,height:u.gripHeight,rx:u.gripRadius,ry:u.gripRadius}).call(i.stroke,a.bordercolor).call(i.fill,a.bgcolor).style("stroke-width",a.borderwidth+"px")}function _(e,t,a){var r=l.ensureSingle(e,"text",u.labelClass,function(e){e.attr({"text-anchor":"middle","data-notex":1})}),n=t.step.label,i=a._gd._fullLayout._meta;return i&&(n=l.templateString(n,i)),r.call(o.font,a.font).text(n).call(c.convertToTspans,a._gd),r}function w(e,t){var a=l.ensureSingle(e,"g",u.labelsClass),n=t._dims,i=a.selectAll("g."+u.labelGroupClass).data(n.labelSteps);i.enter().append("g").classed(u.labelGroupClass,!0),i.exit().remove(),i.each(function(e){var a=r.select(this);a.call(_,e,t),o.setTranslate(a,L(t,e.fraction),u.tickOffset+t.ticklen+t.font.size*h+u.labelOffset+n.currentValueTotalHeight)})}function k(e,t,a,r,n){var i=Math.round(r*(a._stepCount-1)),o=a._visibleSteps[i]._index;o!==a.active&&T(e,t,a,o,!0,n)}function T(e,t,a,r,i,o){var l=a.active;a.active=r,d(e.layout,u.name,a).applyUpdate("active",r);var s=a.steps[a.active];t.call(S,a,o),t.call(x,a),e.emit("plotly_sliderchange",{slider:a,step:a.steps[a.active],interaction:i,previousActive:l}),s&&s.method&&i&&(t._nextMethod?(t._nextMethod.step=s,t._nextMethod.doCallback=i,t._nextMethod.doTransition=o):(t._nextMethod={step:s,doCallback:i,doTransition:o},t._nextMethodRaf=window.requestAnimationFrame(function(){var a=t._nextMethod.step;a.method&&(a.execute&&n.executeAPICommand(e,a.method,a.args),t._nextMethod=null,t._nextMethodRaf=null)})))}function A(e,t,a){if(!t._context.staticPlot){var n=a.node(),o=r.select(t);e.on("mousedown",s),e.on("touchstart",s)}function l(){return a.data()[0]}function s(){var e=l();t.emit("plotly_sliderstart",{slider:e});var s=a.select("."+u.gripRectClass);r.event.stopPropagation(),r.event.preventDefault(),s.call(i.fill,e.activebgcolor);var c=O(e,r.mouse(n)[0]);function d(){var e=l(),i=O(e,r.mouse(n)[0]);k(t,a,e,i,!1)}function p(){var e=l();e._dragging=!1,s.call(i.fill,e.bgcolor),o.on("mouseup",null),o.on("mousemove",null),o.on("touchend",null),o.on("touchmove",null),t.emit("plotly_sliderend",{slider:e,step:e.steps[e.active]})}k(t,a,e,c,!0),e._dragging=!0,o.on("mousemove",d),o.on("touchmove",d),o.on("mouseup",p),o.on("touchend",p)}}function M(e,t){var a=e.selectAll("rect."+u.tickRectClass).data(t._visibleSteps),n=t._dims;a.enter().append("rect").classed(u.tickRectClass,!0),a.exit().remove(),a.attr({width:t.tickwidth+"px","shape-rendering":"crispEdges"}),a.each(function(e,a){var l=a%n.labelStride===0,s=r.select(this);s.attr({height:l?t.ticklen:t.minorticklen}).call(i.fill,t.tickcolor),o.setTranslate(s,L(t,a/(t._stepCount-1))-.5*t.tickwidth,(l?u.tickOffset:u.minorTickOffset)+n.currentValueTotalHeight)})}function S(e,t,a){for(var r=e.select("rect."+u.gripRectClass),n=0,i=0;i0&&(l=l.transition().duration(t.transition.duration).ease(t.transition.easing)),l.attr("transform",s(o-.5*u.gripWidth,t._dims.currentValueTotalHeight))}}function L(e,t){var a=e._dims;return a.inputAreaStart+u.stepInset+(a.inputAreaLength-2*u.stepInset)*Math.min(1,Math.max(0,t))}function O(e,t){var a=e._dims;return Math.min(1,Math.max(0,(t-u.stepInset-a.inputAreaStart)/(a.inputAreaLength-2*u.stepInset-2*a.inputAreaStart)))}function D(e,t,a){var r=a._dims,n=l.ensureSingle(e,"rect",u.railTouchRectClass,function(r){r.call(A,t,e,a).style("pointer-events","all")});n.attr({width:r.inputAreaLength,height:Math.max(r.inputAreaWidth,u.tickOffset+a.ticklen+r.labelHeight)}).call(i.fill,a.bgcolor).attr("opacity",0),o.setTranslate(n,0,r.currentValueTotalHeight)}function j(e,t){var a=t._dims,r=a.inputAreaLength-2*u.railInset,n=l.ensureSingle(e,"rect",u.railRectClass);n.attr({width:r,height:u.railWidth,rx:u.railRadius,ry:u.railRadius,"shape-rendering":"crispEdges"}).call(i.stroke,t.bordercolor).call(i.fill,t.bgcolor).style("stroke-width",t.borderwidth+"px"),o.setTranslate(n,u.railInset,.5*(a.inputAreaWidth-u.railWidth)+a.currentValueTotalHeight)}e.exports=function(e){var t=e._context.staticPlot,a=e._fullLayout,i=function(e,t){for(var a=e[u.name],r=[],n=0;n0?[0]:[]);function s(t){t._commandObserver&&(t._commandObserver.remove(),delete t._commandObserver),n.autoMargin(e,m(t))}if(l.enter().append("g").classed(u.containerClassName,!0).style("cursor",t?null:"ew-resize"),l.exit().each(function(){r.select(this).selectAll("g."+u.groupClassName).each(s)}).remove(),0!==i.length){var c=l.selectAll("g."+u.groupClassName).data(i,v);c.enter().append("g").classed(u.groupClassName,!0),c.exit().each(s).remove();for(var d=0;dx.length&&n.push(h("unused",i,v.concat(x.length)));var A,M,S,L,O,D=x.length,j=Array.isArray(T);if(j&&(D=Math.min(D,T.length)),2===b.dimensions)for(M=0;Mx[M].length&&n.push(h("unused",i,v.concat(M,x[M].length)));var I=x[M].length;for(A=0;A<(j?Math.min(I,T[M].length):I);A++)S=j?T[M][A]:T,L=y[M][A],O=x[M][A],r.validate(L,S)?O!==L&&O!==+L&&n.push(h("dynamic",i,v.concat(M,A),L,O)):n.push(h("value",i,v.concat(M,A),L))}else n.push(h("array",i,v.concat(M),y[M]));else for(M=0;M1&&p.push(h("object","layout"))),n.supplyDefaults(f);for(var g=f._fullData,m=a.length,v=0;v=0))return e;if(3===o)r[o]>1&&(r[o]=1);else if(r[o]>=1)return e}var l=Math.round(255*r[0])+", "+Math.round(255*r[1])+", "+Math.round(255*r[2]);return i?"rgba("+l+", "+r[3]+")":"rgb("+l+")"}o.tinyRGB=function(e){var t=e.toRgb();return"rgb("+Math.round(t.r)+", "+Math.round(t.g)+", "+Math.round(t.b)+")"},o.rgb=function(e){return o.tinyRGB(r(e))},o.opacity=function(e){return e?r(e).getAlpha():0},o.addOpacity=function(e,t){var a=r(e).toRgb();return"rgba("+Math.round(a.r)+", "+Math.round(a.g)+", "+Math.round(a.b)+", "+t+")"},o.combine=function(e,t){var a=r(e).toRgb();if(1===a.a)return r(e).toRgbString();var n=r(t||c).toRgb(),i=1===n.a?n:{r:255*(1-n.a)+n.r*n.a,g:255*(1-n.a)+n.g*n.a,b:255*(1-n.a)+n.b*n.a},o={r:i.r*(1-a.a)+a.r*a.a,g:i.g*(1-a.a)+a.g*a.a,b:i.b*(1-a.a)+a.b*a.a};return r(o).toRgbString()},o.interpolate=function(e,t,a){var n=r(e).toRgb(),i=r(t).toRgb(),o={r:a*n.r+(1-a)*i.r,g:a*n.g+(1-a)*i.g,b:a*n.b+(1-a)*i.b};return r(o).toRgbString()},o.contrast=function(e,t,a){var n=r(e);return 1!==n.getAlpha()&&(n=r(o.combine(e,c))),(n.isDark()?t?n.lighten(t):c:a?n.darken(a):s).toString()},o.stroke=function(e,t){var a=r(t);e.style({stroke:o.tinyRGB(a),"stroke-opacity":a.getAlpha()})},o.fill=function(e,t){var a=r(t);e.style({fill:o.tinyRGB(a),"fill-opacity":a.getAlpha()})},o.clean=function(e){if(e&&"object"==typeof e){var t,a,r,n,l=Object.keys(e);for(t=0;t1||0===n.bargap&&0===n.bargroupgap&&!e[0].trace.marker.line.width)&&r.select(this).attr("shape-rendering","crispEdges")}),t.selectAll("g.points").each(function(t){f(r.select(this),t[0].trace,e)}),l.getComponentMethod("errorbars","style")(t)},styleTextPoints:g,styleOnSelect:function(e,t,a){var n=t[0].trace;n.selectedpoints?function(e,t,a){i.selectedPointStyle(e.selectAll("path"),t),function(e,t,a){e.each(function(e){var n,l=r.select(this);if(e.selected){n=o.ensureUniformFontSize(a,m(l,e,t,a));var s=t.selected.textfont&&t.selected.textfont.color;s&&(n.color=s),i.font(l,n)}else i.selectedTextStyle(l,t)})}(e.selectAll("text"),t,a)}(a,n,e):(f(a,n,e),l.getComponentMethod("errorbars","style")(a))},getInsideTextFont:y,getOutsideTextFont:x,getBarColor:_,resizeText:s}},30178(e,t,a){var r=a(2918).appendArrayMultiPointValues;e.exports=function(e,t){var a={curveNumber:t.index,pointNumbers:e.pts,data:t._input,fullData:t,label:e.label,color:e.color,value:e.v,percent:e.percent,text:e.text,bbox:e.bbox,v:e.v};return 1===e.pts.length&&(a.pointNumber=a.i=e.pts[0]),r(a,t,e.pts),"funnelarea"===t.type&&(delete a.v,delete a.i),a}},30279(e){e.exports=function(e){for(var t={},a=[],r=0,n=0;n1/3&&e.x<2/3},t.isRightAnchor=function(e){return"right"===e.xanchor||"auto"===e.xanchor&&e.x>=2/3},t.isTopAnchor=function(e){return"top"===e.yanchor||"auto"===e.yanchor&&e.y>=2/3},t.isMiddleAnchor=function(e){return"middle"===e.yanchor||"auto"===e.yanchor&&e.y>1/3&&e.y<2/3},t.isBottomAnchor=function(e){return"bottom"===e.yanchor||"auto"===e.yanchor&&e.y<=1/3}},30991(e,t,a){var r=a(7396),n=a(30141).aL,i=a(75234).GP,o=a(57365),l=a(2007),s=l.FP_SAFE,c=-s,d=l.BADNUM,u=e.exports={};u.adjustFormat=function(e){return!e||/^\d[.]\df/.test(e)||/[.]\d%/.test(e)?e:"0.f"===e?"~f":/^\d%/.test(e)?"~%":/^\ds/.test(e)?"~s":!/^[~,.0$]/.test(e)&&/[&fps]/.test(e)?"~"+e:e};var p={};u.warnBadFormat=function(e){var t=String(e);p[t]||(p[t]=1,u.warn('encountered bad format: "'+t+'"'))},u.noFormat=function(e){return String(e)},u.numberFormat=function(e){var t;try{t=i(u.adjustFormat(e))}catch(t){return u.warnBadFormat(e),u.noFormat}return t},u.nestedProperty=a(83290),u.keyedContainer=a(74357),u.relativeAttr=a(64785),u.isPlainObject=a(37816),u.toLogRange=a(39761),u.relinkPrivateKeys=a(65554);var h=a(35594);u.isArrayBuffer=h.isArrayBuffer,u.isTypedArray=h.isTypedArray,u.isArrayOrTypedArray=h.isArrayOrTypedArray,u.isArray1D=h.isArray1D,u.ensureArray=h.ensureArray,u.concat=h.concat,u.maxRowLength=h.maxRowLength,u.minRowLength=h.minRowLength;var f=a(57015);u.mod=f.mod,u.modHalf=f.modHalf;var g=a(63922);u.valObjectMeta=g.valObjectMeta,u.coerce=g.coerce,u.coerce2=g.coerce2,u.coerceFont=g.coerceFont,u.coercePattern=g.coercePattern,u.coerceHoverinfo=g.coerceHoverinfo,u.coerceSelectionMarkerOpacity=g.coerceSelectionMarkerOpacity,u.validate=g.validate;var m=a(5586);u.dateTime2ms=m.dateTime2ms,u.isDateTime=m.isDateTime,u.ms2DateTime=m.ms2DateTime,u.ms2DateTimeLocal=m.ms2DateTimeLocal,u.cleanDate=m.cleanDate,u.isJSDate=m.isJSDate,u.formatDate=m.formatDate,u.incrementMonth=m.incrementMonth,u.dateTick0=m.dateTick0,u.dfltRange=m.dfltRange,u.findExactDates=m.findExactDates,u.MIN_MS=m.MIN_MS,u.MAX_MS=m.MAX_MS;var v=a(33871);u.findBin=v.findBin,u.sorterAsc=v.sorterAsc,u.sorterDes=v.sorterDes,u.distinctVals=v.distinctVals,u.roundUp=v.roundUp,u.sort=v.sort,u.findIndexOfMin=v.findIndexOfMin,u.sortObjectKeys=a(99124);var y=a(34260);u.aggNums=y.aggNums,u.len=y.len,u.mean=y.mean,u.geometricMean=y.geometricMean,u.median=y.median,u.midRange=y.midRange,u.variance=y.variance,u.stdev=y.stdev,u.interp=y.interp;var x=a(11358);u.init2dArray=x.init2dArray,u.transposeRagged=x.transposeRagged,u.dot=x.dot,u.translationMatrix=x.translationMatrix,u.rotationMatrix=x.rotationMatrix,u.rotationXYMatrix=x.rotationXYMatrix,u.apply3DTransform=x.apply3DTransform,u.apply2DTransform=x.apply2DTransform,u.apply2DTransform2=x.apply2DTransform2,u.convertCssMatrix=x.convertCssMatrix,u.inverseTransformMatrix=x.inverseTransformMatrix;var b=a(24699);u.deg2rad=b.deg2rad,u.rad2deg=b.rad2deg,u.angleDelta=b.angleDelta,u.angleDist=b.angleDist,u.isFullCircle=b.isFullCircle,u.isAngleInsideSector=b.isAngleInsideSector,u.isPtInsideSector=b.isPtInsideSector,u.pathArc=b.pathArc,u.pathSector=b.pathSector,u.pathAnnulus=b.pathAnnulus;var _=a(30928);u.isLeftAnchor=_.isLeftAnchor,u.isCenterAnchor=_.isCenterAnchor,u.isRightAnchor=_.isRightAnchor,u.isTopAnchor=_.isTopAnchor,u.isMiddleAnchor=_.isMiddleAnchor,u.isBottomAnchor=_.isBottomAnchor;var w=a(13117);u.segmentsIntersect=w.segmentsIntersect,u.segmentDistance=w.segmentDistance,u.getTextLocation=w.getTextLocation,u.clearLocationCache=w.clearLocationCache,u.getVisibleSegment=w.getVisibleSegment,u.findPointOnPath=w.findPointOnPath;var k=a(91307);u.extendFlat=k.extendFlat,u.extendDeep=k.extendDeep,u.extendDeepAll=k.extendDeepAll,u.extendDeepNoArrays=k.extendDeepNoArrays;var T=a(98354);u.log=T.log,u.warn=T.warn,u.error=T.error;var A=a(91016);u.counterRegex=A.counter;var M=a(94775);u.throttle=M.throttle,u.throttleDone=M.done,u.clearThrottle=M.clear;var S=a(71599);function L(e){var t={};for(var a in e)for(var r=e[a],n=0;ns||e=t)&&o(e)&&e>=0&&e%1==0},u.noop=a(25275),u.identity=a(19025),u.repeat=function(e,t){for(var a=new Array(t),r=0;ra?Math.max(a,Math.min(t,e)):Math.max(t,Math.min(a,e))},u.bBoxIntersect=function(e,t,a){return a=a||0,e.left<=t.right+a&&t.left<=e.right+a&&e.top<=t.bottom+a&&t.top<=e.bottom+a},u.simpleMap=function(e,t,a,r,n){for(var i=e.length,o=new Array(i),l=0;l=Math.pow(2,a)?n>10?(u.warn("randstr failed uniqueness"),s):e(t,a,r,(n||0)+1):s},u.OptionControl=function(e,t){e||(e={}),t||(t="opt");var a={optionList:[],_newoption:function(r){r[t]=e,a[r.name]=r,a.optionList.push(r)}};return a["_"+t]=e,a},u.smooth=function(e,t){if((t=Math.round(t)||0)<2)return e;var a,r,n,i,o=e.length,l=2*o,s=2*t-1,c=new Array(s),d=new Array(o);for(a=0;a=l&&(n-=l*Math.floor(n/l)),n<0?n=-1-n:n>=o&&(n=l-1-n),i+=e[n]*c[r];d[a]=i}return d},u.syncOrAsync=function(e,t,a){var r;function n(){return u.syncOrAsync(e,t,a)}for(;e.length;)if((r=(0,e.splice(0,1)[0])(t))&&r.then)return r.then(n);return a&&a(t)},u.stripTrailingSlash=function(e){return"/"===e.substr(-1)?e.substr(0,e.length-1):e},u.noneOrAll=function(e,t,a){if(e){var r,n=!1,i=!0;for(r=0;r0?t:0})},u.fillArray=function(e,t,a,r){if(r=r||u.identity,u.isArrayOrTypedArray(e))for(var n=0;n1?n+o[1]:"";if(i&&(o.length>1||l.length>4||a))for(;r.test(l);)l=l.replace(r,"$1"+i+"$2");return l+s},u.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var P=/^\w*$/;u.templateString=function(e,t){var a={};return e.replace(u.TEMPLATE_STRING_REGEX,function(e,r){var n;return P.test(r)?n=t[r]:(a[r]=a[r]||u.nestedProperty(t,r).get,n=a[r]()),u.isValidTextValue(n)?n:""})};var R={max:10,count:0,name:"hovertemplate"};u.hovertemplateString=function(){return H.apply(R,arguments)};var F={max:10,count:0,name:"texttemplate"};u.texttemplateString=function(){return H.apply(F,arguments)};var N=/^(\S+)([\*\/])(-?\d+(\.\d+)?)$/,E={max:10,count:0,name:"texttemplate",parseMultDiv:!0};u.texttemplateStringForShapes=function(){return H.apply(E,arguments)};var B=/^[:|\|]/;function H(e,t,a){var r=this,i=arguments;t||(t={});var o={};return e.replace(u.TEMPLATE_STRING_REGEX,function(e,l,s){var c="_xother"===l||"_yother"===l,d="_xother_"===l||"_yother_"===l,p="xother_"===l||"yother_"===l,h="xother"===l||"yother"===l||c||p||d,f=l;(c||d)&&(f=f.substring(1)),(p||d)&&(f=f.substring(0,f.length-1));var g,m,v,y=null,x=null;if(r.parseMultDiv){var b=function(e){var t=e.match(N);return t?{key:t[1],op:t[2],number:Number(t[3])}:{key:e,op:null,number:null}}(f);f=b.key,y=b.op,x=b.number}if(h){if(void 0===(g=t[f]))return""}else for(v=3;v=48&&o<=57,c=l>=48&&l<=57;if(s&&(r=10*r+o-48),c&&(n=10*n+l-48),!s||!c){if(r!==n)return r-n;if(o!==l)return o-l}}return n-r};var V=2e9;u.seedPseudoRandom=function(){V=2e9},u.pseudoRandom=function(){var e=V;return V=(69069*V+1)%4294967296,Math.abs(V-e)<429496729?u.pseudoRandom():V/4294967296},u.fillText=function(e,t,a){var r=Array.isArray(a)?function(e){a.push(e)}:function(e){a.text=e},n=u.extractOption(e,t,"htx","hovertext");if(u.isValidTextValue(n))return r(n);var i=u.extractOption(e,t,"tx","text");return u.isValidTextValue(i)?r(i):void 0},u.isValidTextValue=function(e){return e||0===e},u.formatPercent=function(e,t){t=t||0;for(var a=(Math.round(100*e*Math.pow(10,t))*Math.pow(.1,t)).toFixed(t)+"%",r=0;r1&&(c=1):c=0,u.strTranslate(n-c*(a+o),i-c*(r+l))+u.strScale(c)+(s?"rotate("+s+(t?"":" "+a+" "+r)+")":"")},u.setTransormAndDisplay=function(e,t){e.attr("transform",u.getTextTransform(t)),e.style("display",t.scale?null:"none")},u.ensureUniformFontSize=function(e,t){var a=u.extendFlat({},t);return a.size=Math.max(t.size,e._fullLayout.uniformtext.minsize||0),a},u.join2=function(e,t,a){var r=e.length;return r>1?e.slice(0,-1).join(t)+a+e[r-1]:e.join(t)},u.bigFont=function(e){return Math.round(1.2*e)};var U=u.getFirefoxVersion(),G=null!==U&&U<86;u.getPositionFromD3Event=function(){return G?[r.event.layerX,r.event.layerY]:[r.event.offsetX,r.event.offsetY]}},31547(e,t,a){var r=a(13936),n=a(30991),i=a(35667),o=a(38650),l=a(15849),s=a(3184),c=a(85082).configAttributes,d=a(70756),u=n.extendDeepAll,p=n.isPlainObject,h=n.isArrayOrTypedArray,f=n.nestedProperty,g=n.valObjectMeta,m="_isSubplotObj",v="_isLinkedToArray",y="_deprecated",x=[m,v,"_arrayAttrRegexps",y];function b(e,t,a){if(!e)return!1;if(e._isLinkedToArray)if(_(t[a]))a++;else if(a=i.length)return!1;if(2===e.dimensions){if(a++,t.length===a)return e;var o=t[a];if(!_(o))return!1;e=i[n][o]}else e=i[n]}else e=i}}return e}function _(e){return e===Math.round(e)&&e>=0}function w(){var e,t,a={};for(e in u(a,o),r.subplotsRegistry)if((t=r.subplotsRegistry[e]).layoutAttributes)if(Array.isArray(t.attr))for(var n=0;n=s.length)return!1;n=(a=(r.transformsRegistry[s[c].type]||{}).attributes)&&a[t[2]],l=3}else{var d=e._module;if(d||(d=(r.modules[e.type||i.type.dflt]||{})._module),!d)return!1;if(!(n=(a=d.attributes)&&a[o])){var u=d.basePlotModule;u&&u.attributes&&(n=u.attributes[o])}n||(n=i[o])}return b(n,t,l)},t.getLayoutValObject=function(e,t){var a=function(e,t){var a,n,i,l,s=e._basePlotModules;if(s){var c;for(a=0;a=Math.min(I,z)&&w<=Math.max(I,z)?0:1/0}if(u=Math.min(C,P)&&k<=Math.max(C,P)?0:1/0}f=Math.sqrt(u*u+p*p),l=n[d]}}}else for(d=n.length-1;d>-1;d--)s=b[i=n[d]],c=_[i],u=y.c2p(s)-w,p=x.c2p(c)-k,(h=Math.sqrt(u*u+p*p))0?p+c:c;return{ppad:c,ppadplus:d?f:g,ppadminus:d?g:f}}return{ppad:c}}function d(e,t,a){var r,n,l="x"===e._id.charAt(0)?"x":"y",s="category"===e.type||"multicategory"===e.type,c=0,d=0,u=s?e.r2c:e.d2c;if("scaled"===t[l+"sizemode"]?(r=t[l+"0"],n=t[l+"1"],s&&(c=t[l+"0shift"],d=t[l+"1shift"])):(r=t[l+"anchor"],n=t[l+"anchor"]),void 0!==r)return[u(r)+c,u(n)+d];if(t.path){var p,h,f,g,m=1/0,v=-1/0,y=t.path.match(i.segmentRE);for("date"===e.type&&(u=o.decodeDate(u)),p=0;pv&&(v=g)));return v>=m?[m,v]:void 0}}e.exports=function(e){var t=e._fullLayout,a=r.filterVisible(t.shapes);if(a.length&&e._fullData.length)for(var o=0;o0,u=e._context.staticPlot;t.each(function(t){var p,h=t[0].trace,f=h.error_x||{},g=h.error_y||{};h.ids&&(p=function(e){return e.id});var m=o.hasMarkers(h)&&h.marker.maxdisplayed>0;g.visible||f.visible||(t=[]);var v=r.select(this).selectAll("g.errorbar").data(t,p);if(v.exit().remove(),t.length){f.visible||v.selectAll("path.xerror").remove(),g.visible||v.selectAll("path.yerror").remove(),v.style("opacity",1);var y=v.enter().append("g").classed("errorbar",!0);d&&y.style("opacity",0).transition().duration(l.duration).style("opacity",1),i.setClipUrl(v,a.layerClipId,e),v.each(function(e){var t=r.select(this),a=function(e,t,a){var r={x:t.c2p(e.x),y:a.c2p(e.y)};return void 0!==e.yh&&(r.yh=a.c2p(e.yh),r.ys=a.c2p(e.ys),n(r.ys)||(r.noYS=!0,r.ys=a.c2p(e.ys,!0))),void 0!==e.xh&&(r.xh=t.c2p(e.xh),r.xs=t.c2p(e.xs),n(r.xs)||(r.noXS=!0,r.xs=t.c2p(e.xs,!0))),r}(e,s,c);if(!m||e.vis){var i,o=t.select("path.yerror");if(g.visible&&n(a.x)&&n(a.yh)&&n(a.ys)){var p=g.width;i="M"+(a.x-p)+","+a.yh+"h"+2*p+"m-"+p+",0V"+a.ys,a.noYS||(i+="m-"+p+",0h"+2*p),o.size()?d&&(o=o.transition().duration(l.duration).ease(l.easing)):o=t.append("path").style("vector-effect",u?"none":"non-scaling-stroke").classed("yerror",!0),o.attr("d",i)}else o.remove();var h=t.select("path.xerror");if(f.visible&&n(a.y)&&n(a.xh)&&n(a.xs)){var v=(f.copy_ystyle?g:f).width;i="M"+a.xh+","+(a.y-v)+"v"+2*v+"m0,-"+v+"H"+a.xs,a.noXS||(i+="m0,-"+v+"v"+2*v),h.size()?d&&(h=h.transition().duration(l.duration).ease(l.easing)):h=t.append("path").style("vector-effect",u?"none":"non-scaling-stroke").classed("xerror",!0),h.attr("d",i)}else h.remove()}})}})}},33792(e,t,a){var r=a(30991),n=a(2328),i=a(88197);e.exports=function(e,t){n(e,t,function(a,n){return r.coerce(e,t,i,a,n)})}},33871(e,t,a){var r=a(57365),n=a(98354),i=a(19025),o=a(2007).BADNUM,l=1e-9;function s(e,t){return et}function u(e,t){return e>=t}t.findBin=function(e,t,a){if(r(t.start))return a?Math.ceil((e-t.start)/t.size-l)-1:Math.floor((e-t.start)/t.size+l);var i,o,p=0,h=t.length,f=0,g=h>1?(t[h-1]-t[0])/(h-1):1;for(o=g>=0?a?s:c:a?u:d,e+=g*l*(a?-1:1)*(g>=0?1:-1);p90&&n.log("Long binary search..."),p-1},t.sorterAsc=function(e,t){return e-t},t.sorterDes=function(e,t){return t-e},t.distinctVals=function(e){var a,r=e.slice();for(r.sort(t.sorterAsc),a=r.length-1;a>-1&&r[a]===o;a--);for(var n,i=r[a]-r[0]||1,l=i/(a||1)/1e4,s=[],c=0;c<=a;c++){var d=r[c],u=d-n;void 0===n?(s.push(d),n=d):u>l&&(i=Math.min(i,u),s.push(d),n=d)}return{vals:s,minDiff:i}},t.roundUp=function(e,t,a){for(var r,n=0,i=t.length-1,o=0,l=a?0:1,s=a?1:0,c=a?Math.ceil:Math.floor;n0&&(r=1),a&&r)return e.sort(t)}return r?e:e.reverse()},t.findIndexOfMin=function(e,t){t=t||i;for(var a,r=1/0,n=0;n_?(M=h,D="y0",S=_,j="y1"):(M=_,D="y1",S=h,j="y0"),ae(r),ie(s,a),function(e,t,a){var r=t.xref,n=t.yref,i=o.getFromId(a,r),l=o.getFromId(a,n),s="";"paper"===r||i.autorange||(s+=r),"paper"===n||l.autorange||(s+=n),p.setClipUrl(e,s?"clip"+a._fullLayout._uid+s:null,a)}(t,a,e),te.moveFn="move"===P?re:ne,te.altKey=r.altKey)},doneFn:function(){b(e)||(g(t),oe(s),k(t,e,a),n.call("_guiRelayout",e,d.getUpdateObj()))},clickFn:function(){b(e)||oe(s)}};function ae(a){if(b(e))P=null;else if(N)P="path"===a.target.tagName?"move":"start-point"===a.target.attributes["data-line-point"].value?"resize-over-start-point":"resize-over-end-point";else{var r=te.element.getBoundingClientRect(),n=r.right-r.left,i=r.bottom-r.top,o=a.clientX-r.left,l=a.clientY-r.top,s=!E&&n>10&&i>10&&!a.shiftKey?f.getCursor(o/n,1-l/i):"move";g(t,s),P=s.split("-")[0]}}function re(r,n){if("path"===a.type){var i=function(e){return e},o=i,d=i;R?B("xanchor",a.xanchor=K(w+r)):(o=function(e){return K(J(e)+r)},V&&"date"===V.type&&(o=v.encodeDate(o))),F?B("yanchor",a.yanchor=$(A+n)):(d=function(e){return $(Q(e)+n)},G&&"date"===G.type&&(d=v.encodeDate(d))),B("path",a.path=T(C,o,d))}else R?B("xanchor",a.xanchor=K(w+r)):(B("x0",a.x0=K(u+r)),B("x1",a.x1=K(x+r))),F?B("yanchor",a.yanchor=$(A+n)):(B("y0",a.y0=$(h+n)),B("y1",a.y1=$(_+n)));t.attr("d",y(e,a)),ie(s,a),c(e,l,a,H)}function ne(r,n){if(E){var i=function(e){return e},o=i,d=i;R?B("xanchor",a.xanchor=K(w+r)):(o=function(e){return K(J(e)+r)},V&&"date"===V.type&&(o=v.encodeDate(o))),F?B("yanchor",a.yanchor=$(A+n)):(d=function(e){return $(Q(e)+n)},G&&"date"===G.type&&(d=v.encodeDate(d))),B("path",a.path=T(C,o,d))}else if(N){if("resize-over-start-point"===P){var p=u+r,f=F?h-n:h+n;B("x0",a.x0=R?p:K(p)),B("y0",a.y0=F?f:$(f))}else if("resize-over-end-point"===P){var g=x+r,m=F?_-n:_+n;B("x1",a.x1=R?g:K(g)),B("y1",a.y1=F?m:$(m))}}else{var b=function(e){return-1!==P.indexOf(e)},k=b("n"),U=b("s"),q=b("w"),Z=b("e"),W=k?M+n:M,Y=U?S+n:S,X=q?L+r:L,ee=Z?O+r:O;F&&(k&&(W=M-n),U&&(Y=S-n)),(!F&&Y-W>10||F&&W-Y>10)&&(B(D,a[D]=F?W:$(W)),B(j,a[j]=F?Y:$(Y))),ee-X>10&&(B(I,a[I]=R?X:K(X)),B(z,a[z]=R?ee:K(ee)))}t.attr("d",y(e,a)),ie(s,a),c(e,l,a,H)}function ie(e,t){(R||F)&&function(){var a="path"!==t.type,r=e.selectAll(".visual-cue").data([0]);r.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":1}).classed("visual-cue",!0);var n=J(R?t.xanchor:i.midRange(a?[t.x0,t.x1]:v.extractPathCoords(t.path,m.paramIsX))),o=Q(F?t.yanchor:i.midRange(a?[t.y0,t.y1]:v.extractPathCoords(t.path,m.paramIsY)));if(n=v.roundPositionForSharpStrokeRendering(n,1),o=v.roundPositionForSharpStrokeRendering(o,1),R&&F){var l="M"+(n-1-1)+","+(o-1-1)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";r.attr("d",l)}else if(R){var s="M"+(n-1-1)+","+(o-9-1)+"v18 h2 v-18 Z";r.attr("d",s)}else{var c="M"+(n-9-1)+","+(o-1-1)+"h18 v2 h-18 Z";r.attr("d",c)}}()}function oe(e){e.selectAll(".visual-cue").remove()}f.init(te),ee.node().onmousemove=ae}(e,F,d,t,a,P):!0===d.editable&&F.style("pointer-events",z||u.opacity(O)*L<=.5?"stroke":"all");F.node().addEventListener("click",function(){return function(e,t){if(_(e)){var a=+t.node().getAttribute("data-index");if(a>=0){if(a===e._fullLayout._activeShapeIndex)return void A(e);e._fullLayout._activeShapeIndex=a,e._fullLayout._deactivateShape=A,x(e)}}}(e,F)})}d._input&&!0===d.visible&&("above"===d.layer?M(e._fullLayout._shapeUpperLayer):"paper"===d.xref||"paper"===d.yref?M(e._fullLayout._shapeLowerLayer):"between"===d.layer?M(w.shapelayerBetween):w._hadPlotinfo?M((w.mainplotinfo||w).shapelayer):M(e._fullLayout._shapeLowerLayer))}function k(e,t,a){var r=(a.xref+a.yref).replace(/paper/g,"").replace(/[xyz][1-9]* *domain/g,"");p.setClipUrl(e,r?"clip"+t._fullLayout._uid+r:null,t)}function T(e,t,a){return e.replace(m.segmentRE,function(e){var r=0,n=e.charAt(0),i=m.paramIsX[n],o=m.paramIsY[n],l=m.numParams[n];return n+e.substr(1).replace(m.paramRE,function(e){return r>=l||(i[r]?e=t(e):o[r]&&(e=a(e)),r++),e})})}function A(e){_(e)&&e._fullLayout._activeShapeIndex>=0&&(d(e),delete e._fullLayout._activeShapeIndex,x(e))}e.exports={draw:x,drawOne:w,eraseActiveShape:function(e){if(_(e)){d(e);var t=e._fullLayout._activeShapeIndex,a=(e.layout||{}).shapes||[];if(tb[1]-1/4096&&(t.domain=l),n.noneOrAll(e.domain,t.domain,l),"sync"===t.tickmode&&(t.tickmode="auto")}return a("layer"),t}},34260(e,t,a){var r=a(57365),n=a(35594).isArrayOrTypedArray;t.aggNums=function(e,a,i,o){var l,s;if((!o||o>i.length)&&(o=i.length),r(a)||(a=!1),n(i[0])){for(s=new Array(o),l=0;le.length-1)return e[e.length-1];var a=t%1;return a*e[Math.ceil(t)]+(1-a)*e[Math.floor(t)]}},34346(e){e.exports=function(e,t){if(!t)return e;var a=1/Math.abs(t),r=a>1?(a*e+a*t)/a:e+t,n=String(r).length;if(n>16){var i=String(t).length;if(n>=String(e).length+i){var o=parseFloat(r).toPrecision(12);-1===o.indexOf("e+")&&(r=+o)}}return r}},34425(e,t,a){var r=a(13936),n=a(19073);e.exports=function(e,t,a){var i,o,l=t._inHover,s=n.isGrouped(t),c=n.isReversed(t),d={},u=[],p=!1,h={},f=0,g=0;function m(e,r,i){if(!1!==t.visible&&(!a||e===t._id))if(""!==r&&n.isGrouped(t))-1===u.indexOf(r)?(u.push(r),p=!0,d[r]=[i]):d[r].push(i);else{var o="~~i"+f;u.push(o),d[o]=[i],f++}}for(i=0;iS&&(M=S)}T[i][0]._groupMinRank=M,T[i][0]._preGroupSort=i}var L=function(e,t){return e.trace.legendrank-t.trace.legendrank||e._preSort-t._preSort};for(T.forEach(function(e,t){e[0]._preGroupSort=t}),T.sort(function(e,t){return e[0]._groupMinRank-t[0]._groupMinRank||e[0]._preGroupSort-t[0]._preGroupSort}),i=0;i=0;r--,n++){var i=e[r];a[n]=[1-i[0],i[1]]}return a}function f(e,t){t=t||{};for(var a=e.domain,o=e.range,s=o.length,c=new Array(s),d=0;d=0,x=t.indexOf("end")>=0,b=f.backoff*m+a.standoff,_=g.backoff*v+a.startstandoff;if("line"===h.nodeName){o={x:+e.attr("x1"),y:+e.attr("y1")},d={x:+e.attr("x2"),y:+e.attr("y2")};var w=o.x-d.x,k=o.y-d.y;if(p=(u=Math.atan2(k,w))+Math.PI,b&&_&&b+_>Math.sqrt(w*w+k*k))return void C();if(b){if(b*b>w*w+k*k)return void C();var T=b*Math.cos(u),A=b*Math.sin(u);d.x+=T,d.y+=A,e.attr({x2:d.x,y2:d.y})}if(_){if(_*_>w*w+k*k)return void C();var M=_*Math.cos(u),S=_*Math.sin(u);o.x-=M,o.y-=S,e.attr({x1:o.x,y1:o.y})}}else if("path"===h.nodeName){var L=h.getTotalLength(),O="";if(L=0?Math.min(e,.9):1/(1/Math.max(e,-.3)+3.222))}function E(e,t,a,r,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",c(a,r)).attr("d",n+"Z")}function B(e,t,a){return e.append("path").attr("class","zoombox-corners").style({fill:u.background,stroke:u.defaultLine,"stroke-width":1,opacity:0}).attr("transform",c(t,a)).attr("d","M0,0Z")}function H(e,t,a,r,n,i){e.attr("d",r+"M"+a.l+","+a.t+"v"+a.h+"h"+a.w+"v-"+a.h+"h-"+a.w+"Z"),V(e,t,n,i)}function V(e,t,a,r){a||(e.transition().style("fill",r>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),t.transition().style("opacity",1).duration(200))}function U(e){r.select(e).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function G(e){I&&e.data&&e._context.showTips&&(n.notifier(n._(e,"Double-click to zoom back out"),"long"),I=!1)}function q(e){var t=Math.floor(Math.min(e.b-e.t,e.r-e.l,j)/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 Z(e,t,a,r,i){for(var o,l,s,c,d=!1,u={},p={},h=(i||{}).xaHash,f=(i||{}).yaHash,g=0;g=0)n._fullLayout._deactivateShape(n);else{var o=n._fullLayout.clickmode;if(U(n),2!==e||ve||Ge(),me)o.indexOf("select")>-1&&S(a,n,J,Q,t.id,je),o.indexOf("event")>-1&&h.click(n,a,t.id);else if(1===e&&ve){var l=g?z:I,c="s"===g||"w"===v?0:1,u=l._name+".range["+c+"]",p=function(e,t){var a,r=e.range[t],n=Math.abs(r-e.range[1-t]);return"date"===e.type?r:"log"===e.type?(a=Math.ceil(Math.max(0,-Math.log(n)/Math.LN10))+3,i("."+a+"g")(Math.pow(10,r))):(a=Math.floor(Math.log(Math.abs(r))/Math.LN10)-Math.floor(Math.log(n)/Math.LN10)+4,i("."+String(a)+"g")(r))}(l,c),f="left",m="middle";if(l.fixedrange)return;g?(m="n"===g?"top":"bottom","right"===l.side&&(f="right")):"e"===v&&(f="right"),n._context.showAxisRangeEntryBoxes&&r.select(be).call(d.makeEditable,{gd:n,immediate:!0,background:n._fullLayout.paper_bgcolor,text:String(p),fill:l.tickfont?l.tickfont.color:"#444",horizontalAlign:f,verticalAlign:m}).on("edit",function(e){var t=l.d2r(e);void 0!==t&&s.call("_guiRelayout",n,u,t)})}}}function Ce(t,a){if(e._transitioningWithDuration)return!1;var r=Math.max(0,Math.min(ee,he*t+_e)),n=Math.max(0,Math.min(te,fe*a+we)),i=Math.abs(r-_e),o=Math.abs(n-we);function l(){Se="",ke.r=ke.l,ke.t=ke.b,Oe.attr("d","M0,0Z")}if(ke.l=Math.min(_e,r),ke.r=Math.max(_e,r),ke.t=Math.min(we,n),ke.b=Math.max(we,n),ae.isSubplotConstrained)i>j||o>j?(Se="xy",i/ee>o/te?(o=i*te/ee,we>n?ke.t=we-o:ke.b=we+o):(i=o*ee/te,_e>r?ke.l=_e-i:ke.r=_e+i),Oe.attr("d",q(ke))):l();else if(re.isSubplotConstrained)if(i>j||o>j){Se="xy";var s=Math.min(ke.l/ee,(te-ke.b)/te),c=Math.max(ke.r/ee,(te-ke.t)/te);ke.l=s*ee,ke.r=c*ee,ke.b=(1-s)*te,ke.t=(1-c)*te,Oe.attr("d",q(ke))}else l();else!ie||o0){var d;if(re.isSubplotConstrained||!ne&&1===ie.length){for(d=0;d1&&(void 0!==i.maxallowed&&le===(i.range[0]1&&(void 0!==o.maxallowed&&se===(o.range[0]0?1:0}function a(e){var t=e[0],a=e[1];if(!isFinite(t)||!isFinite(a))return[1,0];var r=(t+1)*(t+1)+a*a;return[(t*t+a*a-1)/r,2*a/r]}function r(e,t){var a=t[0],r=t[1];return[a*e.radius+e.cx,-r*e.radius+e.cy]}function n(e,t){return t*e.radius}e.exports={smith:a,reactanceArc:function(e,t,i,o){var l=r(e,a([i,t])),s=l[0],c=l[1],d=r(e,a([o,t])),u=d[0],p=d[1];if(0===t)return["M"+s+","+c,"L"+u+","+p].join(" ");var h=n(e,1/Math.abs(t));return["M"+s+","+c,"A"+h+","+h+" 0 0,"+(t<0?1:0)+" "+u+","+p].join(" ")},resistanceArc:function(e,i,o,l){var s=n(e,1/(i+1)),c=r(e,a([i,o])),d=c[0],u=c[1],p=r(e,a([i,l])),h=p[0],f=p[1];if(t(o)!==t(l)){var g=r(e,a([i,0]));return["M"+d+","+u,"A"+s+","+s+" 0 0,"+(00&&s0)return Math.log(e)/Math.LN10;var a=Math.log(Math.min(t[0],t[1]))/Math.LN10;return r(a)||(a=Math.log(Math.max(t[0],t[1]))/Math.LN10-6),a}},40041(e){function t(e,t){return t?t.d2l(e):e}function a(e,t){return t?t.l2d(e):e}function r(e){return e.x0shift||0}function n(e){return e.x1shift||0}function i(e){return e.y0shift||0}function o(e){return e.y1shift||0}function l(e,a){return t(e.x1,a)+n(e)-t(e.x0,a)-r(e)}function s(e,a,r){return t(e.y1,r)+o(e)-t(e.y0,r)-i(e)}e.exports={x0:function(e){return e.x0},x1:function(e){return e.x1},y0:function(e){return e.y0},y1:function(e){return e.y1},slope:function(e,t,a){return"line"!==e.type?void 0:s(e,0,a)/l(e,t)},dx:l,dy:s,width:function(e,t){return Math.abs(l(e,t))},height:function(e,t,a){return Math.abs(s(e,0,a))},length:function(e,t,a){return"line"!==e.type?void 0:Math.sqrt(Math.pow(l(e,t),2)+Math.pow(s(e,0,a),2))},xcenter:function(e,i){return a((t(e.x1,i)+n(e)+t(e.x0,i)+r(e))/2,i)},ycenter:function(e,r,n){return a((t(e.y1,n)+o(e)+t(e.y0,n)+i(e))/2,n)}}},40354(e,t,a){var r=a(30991),n=a(81013);e.exports=function(e,t){var a,i="group"===t.barmode;"group"===t.scattermode&&(a=i?t.bargap:.2,r.coerce(e,t,n,"scattergap",a))}},40379(e,t,a){var r=a(30991),n={"X,X div":'direction:ltr;font-family:"Open Sans",verdana,arial,sans-serif;margin:0;padding:0;',"X input,X button":'font-family:"Open Sans",verdana,arial,sans-serif;',"X input:focus,X button:focus":"outline:none;","X a":"text-decoration:none;","X a:hover":"text-decoration:none;","X .crisp":"shape-rendering:crispEdges;","X .user-select-none":"-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;","X svg":"overflow:hidden;","X svg a":"fill:#447adb;","X svg a:hover":"fill:#3c6dc5;","X .main-svg":"position:absolute;top:0;left:0;pointer-events:none;","X .main-svg .draglayer":"pointer-events:all;","X .cursor-default":"cursor:default;","X .cursor-pointer":"cursor:pointer;","X .cursor-crosshair":"cursor:crosshair;","X .cursor-move":"cursor:move;","X .cursor-col-resize":"cursor:col-resize;","X .cursor-row-resize":"cursor:row-resize;","X .cursor-ns-resize":"cursor:ns-resize;","X .cursor-ew-resize":"cursor:ew-resize;","X .cursor-sw-resize":"cursor:sw-resize;","X .cursor-s-resize":"cursor:s-resize;","X .cursor-se-resize":"cursor:se-resize;","X .cursor-w-resize":"cursor:w-resize;","X .cursor-e-resize":"cursor:e-resize;","X .cursor-nw-resize":"cursor:nw-resize;","X .cursor-n-resize":"cursor:n-resize;","X .cursor-ne-resize":"cursor:ne-resize;","X .cursor-grab":"cursor:-webkit-grab;cursor:grab;","X .modebar":"position:absolute;top:2px;right:2px;","X .ease-bg":"-webkit-transition:background-color .3s ease 0s;-moz-transition:background-color .3s ease 0s;-ms-transition:background-color .3s ease 0s;-o-transition:background-color .3s ease 0s;transition:background-color .3s ease 0s;","X .modebar--hover>:not(.watermark)":"opacity:0;-webkit-transition:opacity .3s ease 0s;-moz-transition:opacity .3s ease 0s;-ms-transition:opacity .3s ease 0s;-o-transition:opacity .3s ease 0s;transition:opacity .3s ease 0s;","X:hover .modebar--hover .modebar-group":"opacity:1;","X .modebar-group":"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;","X .modebar-btn":"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;","X .modebar-btn svg":"position:relative;top:2px;","X .modebar.vertical":"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;","X .modebar.vertical svg":"top:-1px;","X .modebar.vertical .modebar-group":"display:block;float:none;padding-left:0px;padding-bottom:8px;","X .modebar.vertical .modebar-group .modebar-btn":"display:block;text-align:center;","X [data-title]:before,X [data-title]:after":"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;","X [data-title]:hover:before,X [data-title]:hover:after":"display:block;opacity:1;","X [data-title]:before":'content:"";position:absolute;background:rgba(0,0,0,0);border:6px solid rgba(0,0,0,0);z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;',"X [data-title]:after":"content:attr(data-title);background:#69738a;color:#fff;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;","X .vertical [data-title]:before,X .vertical [data-title]:after":"top:0%;right:200%;","X .vertical [data-title]:before":"border:6px solid rgba(0,0,0,0);border-left-color:#69738a;margin-top:8px;margin-right:-30px;",Y:'font-family:"Open Sans",verdana,arial,sans-serif;position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;',"Y p":"margin:0;","Y .notifier-note":"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;","Y .notifier-close":"color:#fff;opacity:.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;","Y .notifier-close:hover":"color:#444;text-decoration:none;cursor:pointer;"};for(var i in n){var o=i.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier");r.addStyleRule(o,n[i])}},41146(e){e.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(" ")}}}},41926(e,t,a){var r=a(30991),n=a(15076),i=a(21238),o=a(84081),l=a(9793);function s(e,t,a,i){function s(a,n){return r.coerce(e,t,l,a,n)}function c(e){var r=e+"axis",i={_fullLayout:{}};return i._fullLayout[r]=a[r],n.coercePosition(t,i,s,e,e,.5)}s("visible")&&(o(e,t,i.fullLayout,s),c("x"),c("y"),c("z"),r.noneOrAll(e,t,["x","y","z"]),t.xref="x",t.yref="y",t.zref="z",s("xanchor"),s("yanchor"),s("xshift"),s("yshift"),t.showarrow&&(t.axref="pixel",t.ayref="pixel",s("ax",-10),s("ay",-30),r.noneOrAll(e,t,["ax","ay"])))}e.exports=function(e,t,a){i(e,t,{name:"annotations",handleItemDefaults:s,fullLayout:a.fullLayout})}},41948(e,t,a){var r=a(30991),n=a(29904),i=a(2918).isUnifiedHover,o=a(98191),l=a(79338),s=a(38650),c=a(71867),d=a(90638),u=a(43889),p=a(78429),h=a(34051),f=a(88737),g=f.id2name,m=f.name2id,v=a(77060).AX_ID_PATTERN,y=a(13936),x=y.traceIs,b=y.getComponentMethod;function _(e,t,a){Array.isArray(e[t])?e[t].push(a):e[t]=[a]}e.exports=function(e,t,a){var y,w,k=t.autotypenumbers,T={},A={},M={},S={},L={},O={},D={},j={},I={},z={};for(y=0;y=0)return e}else if("string"==typeof e&&"%"===(e=e.trim()).slice(-1)&&r(e.slice(0,-1))&&(e=+e.slice(0,-1))>=0)return e+"%"}function f(e,t,a,r,i,o){var l=!(!1===(o=o||{}).moduleHasSelected),s=!(!1===o.moduleHasUnselected),c=!(!1===o.moduleHasConstrain),d=!(!1===o.moduleHasCliponaxis),u=!(!1===o.moduleHasTextangle),h=!(!1===o.moduleHasInsideanchor),f=!!o.hasPathbar,g=Array.isArray(i)||"auto"===i,m=g||"inside"===i,v=g||"outside"===i;if(m||v){var y=p(r,"textfont",a.font),x=n.extendFlat({},y),b=!(e.textfont&&e.textfont.color);if(b&&delete x.color,p(r,"insidetextfont",x),f){var _=n.extendFlat({},y);b&&delete _.color,p(r,"pathbar.textfont",_)}v&&p(r,"outsidetextfont",y),l&&r("selected.textfont.color"),s&&r("unselected.textfont.color"),c&&r("constraintext"),d&&r("cliponaxis"),u&&r("textangle"),r("texttemplate")}m&&h&&r("insidetextanchor")}e.exports={supplyDefaults:function(e,t,a,r){function d(a,r){return n.coerce(e,t,u,a,r)}if(l(e,t,r,d)){s(e,t,r,d),d("xhoverformat"),d("yhoverformat"),d("zorder"),d("orientation",t.x&&!t.y?"h":"v"),d("base"),d("offset"),d("width"),d("text"),d("hovertext"),d("hovertemplate");var p=d("textposition");f(e,0,r,d,p,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),c(e,t,d,a,r);var h=(t.marker.line||{}).color,g=o.getComponentMethod("errorbars","supplyDefaults");g(e,t,h||i.defaultLine,{axis:"y"}),g(e,t,h||i.defaultLine,{axis:"x",inherit:"y"}),n.coerceSelectionMarkerOpacity(t,d)}else t.visible=!1},crossTraceDefaults:function(e,t){var a,r;function i(e,t){return n.coerce(r._input,r,u,e,t)}for(var o=0;o0?Math.max(a,i):0}}},43455(e,t,a){var r=e.exports={},n=a(76031).locationmodeToLayer,i=a(94673).N4;r.getTopojsonName=function(e){return[e.scope.replace(/ /g,"-"),"_",e.resolution.toString(),"m"].join("")},r.getTopojsonPath=function(e,t){return e+t+".json"},r.getTopojsonFeatures=function(e,t){var a=n[e.locationmode],r=t.objects[a];return i(t,r).features}},43859(e,t,a){var r=a(45641),n=a(30991),i=a(88737),o=a(92265).findExtremes,l=a(56170),s=a(70882),c=s.calcMarkerSize,d=s.calcAxisExpansion,u=s.setFirstScatter,p=a(59498),h=a(75559),f=a(15446),g=a(2007).BADNUM,m=a(4597).TOO_MANY_POINTS;function v(e,t,a){var r=e._extremes[t._id],n=o(t,a._bnds,{padded:!0});r.min=r.min.concat(n.min),r.max=r.max.concat(n.max)}e.exports=function(e,t){var a,o=e._fullLayout,s=t._xA=i.getFromId(e,t.xaxis,"x"),y=t._yA=i.getFromId(e,t.yaxis,"y"),x=o._plots[t.xaxis+t.yaxis],b=t._length,_=b>=m,w=2*b,k={},T=s.makeCalcdata(t,"x"),A=y.makeCalcdata(t,"y"),M=l(t,s,"x",T),S=l(t,y,"y",A),L=M.vals,O=S.vals;t._x=L,t._y=O,t.xperiodalignment&&(t._origX=T,t._xStarts=M.starts,t._xEnds=M.ends),t.yperiodalignment&&(t._origY=A,t._yStarts=S.starts,t._yEnds=S.ends);var D=new Array(w),j=new Array(b);for(a=0;a1&&n.extendFlat(l.line,h.linePositions(e,a,r)),l.errorX||l.errorY){var s=h.errorBarPositions(e,a,r,i,o);l.errorX&&n.extendFlat(l.errorX,s.x),l.errorY&&n.extendFlat(l.errorY,s.y)}return l.text&&(n.extendFlat(l.text,{positions:r},h.textPosition(e,a,l.text,l.marker)),n.extendFlat(l.textSel,{positions:r},h.textPosition(e,a,l.text,l.markerSel)),n.extendFlat(l.textUnsel,{positions:r},h.textPosition(e,a,l.text,l.markerUnsel))),l}(e,0,t,D,L,O),C=f(e,x);return u(o,t),_?z.marker&&(I=z.marker.sizeAvg||Math.max(z.marker.size,3)):I=c(t,b),d(e,t,s,y,L,O,I),z.errorX&&v(t,s,z.errorX),z.errorY&&v(t,y,z.errorY),z.fill&&!C.fill2d&&(C.fill2d=!0),z.marker&&!C.scatter2d&&(C.scatter2d=!0),z.line&&!C.line2d&&(C.line2d=!0),!z.errorX&&!z.errorY||C.error2d||(C.error2d=!0),z.text&&!C.glText&&(C.glText=!0),z.marker&&(z.marker.snap=b),C.lineOptions.push(z.line),C.errorXOptions.push(z.errorX),C.errorYOptions.push(z.errorY),C.fillOptions.push(z.fill),C.markerOptions.push(z.marker),C.markerSelectedOptions.push(z.markerSel),C.markerUnselectedOptions.push(z.markerUnsel),C.textOptions.push(z.text),C.textSelectedOptions.push(z.textSel),C.textUnselectedOptions.push(z.textUnsel),C.selectBatch.push([]),C.unselectBatch.push([]),k._scene=C,k.index=C.count,k.x=L,k.y=O,k.positions=D,C.count++,[{x:!1,y:!1,t:k,trace:t}]}},43889(e,t,a){var r=a(57365),n=a(13936),i=a(30991),o=a(79338),l=a(21238),s=a(71867),c=a(17591),d=a(55175),u=a(77962),p=a(47410),h=a(66687),f=a(61303),g=a(55625),m=a(78577),v=a(77060).WEEKDAY_PATTERN,y=a(77060).HOUR_PATTERN;function x(e,t,a){function n(a,r){return i.coerce(e,t,s.rangebreaks,a,r)}if(n("enabled")){var o=n("bounds");if(o&&o.length>=2){var l,c,d="";if(2===o.length)for(l=0;l<2;l++)if(c=_(o[l])){d=v;break}var u=n("pattern",d);if(u===v)for(l=0;l<2;l++)(c=_(o[l]))&&(t.bounds[l]=o[l]=c-1);if(u)for(l=0;l<2;l++)switch(c=o[l],u){case v:if(!r(c))return void(t.enabled=!1);if((c=+c)!==Math.floor(c)||c<0||c>=7)return void(t.enabled=!1);t.bounds[l]=o[l]=c;break;case y:if(!r(c))return void(t.enabled=!1);if((c=+c)<0||c>24)return void(t.enabled=!1);t.bounds[l]=o[l]=c}if(!1===a.autorange){var p=a.range;if(p[0]p[1])return void(t.enabled=!1)}else if(o[0]>p[0]&&o[1]i||c===n||cl||t&&s(e))}:function(e,t){var s=e[0],c=e[1];if(s===n||si||c===n||cl)return!1;var d,u,p,h,f,g=a.length,m=a[0][0],v=a[0][1],y=0;for(d=1;dMath.max(u,m)||c>Math.max(p,v)))if(cd||Math.abs(r(o,p))>n)return!0;return!1},i.filter=function(e,t){var a=[e[0]],r=0,n=0;function o(o){e.push(o);var l=a.length,s=r;a.splice(n+1);for(var c=s+1;c1&&o(e.pop()),{addPt:o,raw:e,filtered:a}}},43999(e,t,a){var r=a(13936),n=a(77060).SUBPLOT_PATTERN;t.fX=function(e,t,a){var n=r.subplotsRegistry[t];if(!n)return[];for(var i=n.attr,o=[],l=0;l2*o}(n,t))return"date";var m="strict"!==a.autotypenumbers;return function(e,t){for(var a=e.length,r=u(a),n=0,o=0,l={},d=0;d2*n}(n,m)?"category":function(e,t){for(var a=e.length,r=0;r.uirevision`."].join(" ")},editType:"calc",_deprecated:{title:n._deprecated.title,titlefont:n._deprecated.titlefont}};o(d,s,c);var u={visible:o({},n.visible,{dflt:!0}),type:{valType:"enumerated",values:["-","linear","category"],dflt:"-",editType:"calc",_noTemplating:!0,description:["Sets the angular axis type.","If *linear*, set `thetaunit` to determine the unit in which axis value are shown.","If *category, use `period` to set the number of integer coordinates around polar axis."].join(" ")},autotypenumbers:n.autotypenumbers,categoryorder:n.categoryorder,categoryarray:n.categoryarray,thetaunit:{valType:"enumerated",values:["radians","degrees"],dflt:"degrees",editType:"calc",description:["Sets the format unit of the formatted *theta* values.","Has an effect only when `angularaxis.type` is *linear*."].join(" ")},period:{valType:"number",editType:"calc",min:0,description:["Set the angular period.","Has an effect only when `angularaxis.type` is *category*."].join(" ")},direction:{valType:"enumerated",values:["counterclockwise","clockwise"],dflt:"counterclockwise",editType:"calc",description:["Sets the direction corresponding to positive angles."].join(" ")},rotation:{valType:"angle",editType:"calc",description:["Sets that start position (in degrees) of the angular axis","By default, polar subplots with `direction` set to *counterclockwise*","get a `rotation` of *0*","which corresponds to due East (like what mathematicians prefer).","In turn, polar with `direction` set to *clockwise* get a rotation of *90*","which corresponds to due North (like on a compass),"].join(" ")},hoverformat:n.hoverformat,uirevision:{valType:"any",editType:"none",description:["Controls persistence of user-driven changes in axis `rotation`.","Defaults to `polar.uirevision`."].join(" ")},editType:"calc"};o(u,s,c),e.exports={domain:i({name:"polar",editType:"plot"}),sector:{valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],dflt:[0,360],editType:"plot",description:["Sets angular span of this polar subplot with two angles (in degrees).","Sector are assumed to be spanned in the counterclockwise direction","with *0* corresponding to rightmost limit of the polar subplot."].join(" ")},hole:{valType:"number",min:0,max:1,dflt:0,editType:"plot",description:["Sets the fraction of the radius to cut out of the polar subplot."].join(" ")},bgcolor:{valType:"color",editType:"plot",dflt:r.background,description:"Set the background color of the subplot"},radialaxis:d,angularaxis:u,gridshape:{valType:"enumerated",values:["circular","linear"],dflt:"circular",editType:"plot",description:["Determines if the radial axis grid lines and angular axis line are drawn","as *circular* sectors or as *linear* (polygon) sectors.","Has an effect only when the angular axis has `type` *category*.","Note that `radialaxis.angle` is snapped to the angle of the closest","vertex when `gridshape` is *circular*","(so that radial axis scale is the same as the data scale)."].join(" ")},uirevision:{valType:"any",editType:"none",description:["Controls persistence of user-driven changes in axis attributes,","if not overridden in the individual axes.","Defaults to `layout.uirevision`."].join(" ")},editType:"calc"}},46951(e,t,a){var r=a(30991),n=a(21238),i=a(60496),o=a(88676).name,l=i.steps;function s(e,t,a){function o(a,n){return r.coerce(e,t,i,a,n)}for(var l=n(e,t,{name:"steps",handleItemDefaults:c}),s=0,d=0;d1)if(s)t.xlines=p(r,"path","xlines-above"),t.ylines=p(r,"path","ylines-above"),t.xaxislayer=p(r,"g","xaxislayer-above"),t.yaxislayer=p(r,"g","yaxislayer-above");else{if(!i){var u=p(r,"g","layer-subplot");t.shapelayer=p(u,"g","shapelayer"),t.imagelayer=p(u,"g","imagelayer"),t.minorGridlayer=p(r,"g","minor-gridlayer"),t.gridlayer=p(r,"g","gridlayer"),t.zerolinelayer=p(r,"g","zerolinelayer");var g=p(r,"g","layer-between");t.shapelayerBetween=p(g,"g","shapelayer"),t.imagelayerBetween=p(g,"g","imagelayer"),p(r,"path","xlines-below"),p(r,"path","ylines-below"),t.overlinesBelow=p(r,"g","overlines-below"),p(r,"g","xaxislayer-below"),p(r,"g","yaxislayer-below"),t.overaxesBelow=p(r,"g","overaxes-below")}t.overplot=p(r,"g","overplot"),t.plot=p(t.overplot,"g",n),i||(t.xlines=p(r,"path","xlines-above"),t.ylines=p(r,"path","ylines-above"),t.overlinesAbove=p(r,"g","overlines-above"),p(r,"g","xaxislayer-above"),p(r,"g","yaxislayer-above"),t.overaxesAbove=p(r,"g","overaxes-above"),t.xlines=r.select(".xlines-"+o),t.ylines=r.select(".ylines-"+l),t.xaxislayer=r.select(".xaxislayer-"+o),t.yaxislayer=r.select(".yaxislayer-"+l))}else{var m=t.mainplotinfo,v=m.plotgroup,y=n+"-x",x=n+"-y";t.minorGridlayer=m.minorGridlayer,t.gridlayer=m.gridlayer,t.zerolinelayer=m.zerolinelayer,p(m.overlinesBelow,"path",y),p(m.overlinesBelow,"path",x),p(m.overaxesBelow,"g",y),p(m.overaxesBelow,"g",x),t.plot=p(m.overplot,"g",n),p(m.overlinesAbove,"path",y),p(m.overlinesAbove,"path",x),p(m.overaxesAbove,"g",y),p(m.overaxesAbove,"g",x),t.xlines=v.select(".overlines-"+o).select("."+y),t.ylines=v.select(".overlines-"+l).select("."+x),t.xaxislayer=v.select(".overaxes-"+o).select("."+y),t.yaxislayer=v.select(".overaxes-"+l).select("."+x)}i||(s||(h(t.minorGridlayer,"g",t.xaxis._id),h(t.minorGridlayer,"g",t.yaxis._id),t.minorGridlayer.selectAll("g").map(function(e){return e[0]}).sort(c.idSort),h(t.gridlayer,"g",t.xaxis._id),h(t.gridlayer,"g",t.yaxis._id),t.gridlayer.selectAll("g").map(function(e){return e[0]}).sort(c.idSort)),t.xlines.style("fill","none").classed("crisp",!0),t.ylines.style("fill","none").classed("crisp",!0))}function v(e,t){if(e){var a={};for(var n in e.each(function(e){var n=e[0];r.select(this).remove(),y(n,t),a[n]=!0}),t._plots)for(var i=t._plots[n].overlays||[],o=0;o0){var m=h.id;if(-1!==m.indexOf(f))continue;m+=f+(d+1),h=i.extendFlat({},h,{id:m,plot:o._cartesianlayer.selectAll(".subplot").select("."+m)})}for(var v,y=[],x=0;x1&&(w+=f+_),b.push(r+w),a=0;a2/3?"right":"center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[t]}for(var W=!1,Y=["x","y"],X=0;X1)&&(re===ae?((he=ne.r2fraction(t["a"+te]))<0||he>1)&&(W=!0):W=!0),J=ne._offset+ne.r2p(t[te]),$=.5}else{var fe="domain"===pe;"x"===te?(K=t[te],J=fe?ne._offset+ne._length*K:J=k.l+k.w*K):(K=1-t[te],J=fe?ne._offset+ne._length*K:J=k.t+k.h*K),$=t.showarrow?.5:K}if(t.showarrow){ue.head=J;var ge=t["a"+te];if(ee=oe*G(.5,t.xanchor)-le*G(.5,t.yanchor),re===ae){var me=s.getRefType(re);"domain"===me?("y"===te&&(ge=1-ge),ue.tail=ne._offset+ne._length*ge):"paper"===me?"y"===te?(ge=1-ge,ue.tail=k.t+k.h*ge):ue.tail=k.l+k.w*ge:ue.tail=ne._offset+ne.r2p(ge),Q=ee}else ue.tail=J+ge,Q=ee+ge;ue.text=ue.tail+ee;var ve=w["x"===te?"width":"height"];if("paper"===ae&&(ue.head=o.constrain(ue.head,1,ve-1)),"pixel"===re){var ye=-Math.max(ue.tail-3,ue.text),xe=Math.min(ue.tail+3,ue.text)-ve;ye>0?(ue.tail+=ye,ue.text+=ye):xe>0&&(ue.tail-=xe,ue.text-=xe)}ue.tail+=de,ue.head+=de}else Q=ee=se*G($,ce),ue.text=J+ee;ue.text+=de,ee+=de,Q+=de,t["_"+te+"padplus"]=se/2+Q,t["_"+te+"padminus"]=se/2-Q,t["_"+te+"size"]=se,t["_"+te+"shift"]=ee}if(W)R.remove();else{var be=0,_e=0;if("left"!==t.align&&(be=(A-b)*("center"===t.align?.5:1)),"top"!==t.valign&&(_e=(P-_)*("middle"===t.valign?.5:1)),u)r.select("svg").attr({x:E+be-1,y:E+_e}).call(d.setClipUrl,H?O:null,e);else{var we=E+_e-g.top,ke=E+be-g.left;q.call(p.positionText,ke,we).call(d.setClipUrl,H?O:null,e)}V.select("rect").call(d.setRect,E,E,A,P),B.call(d.setRect,F/2,F/2,N-F,U-F),R.call(d.setTranslate,Math.round(D.x.text-N/2),Math.round(D.y.text-U/2)),z.attr({transform:"rotate("+j+","+D.x.text+","+D.y.text+")"});var Te,Ae=function(a,r){I.selectAll(".annotation-arrow-g").remove();var s=D.x.head,u=D.y.head,p=D.x.tail+a,h=D.y.tail+r,g=D.x.text+a,b=D.y.text+r,_=o.rotationXYMatrix(j,g,b),w=o.apply2DTransform(_),A=o.apply2DTransform2(_),O=+B.attr("width"),C=+B.attr("height"),P=g-.5*O,F=P+O,N=b-.5*C,E=N+C,H=[[P,N,P,E],[P,E,F,E],[F,E,F,N],[F,N,P,N]].map(A);if(!H.reduce(function(e,t){return e^!!o.segmentsIntersect(s,u,s+1e6,u+1e6,t[0],t[1],t[2],t[3])},!1)){H.forEach(function(e){var t=o.segmentsIntersect(p,h,s,u,e[0],e[1],e[2],e[3]);t&&(p=t.x,h=t.y)});var V=t.arrowwidth,U=t.arrowcolor,G=t.arrowside,q=I.append("g").style({opacity:c.opacity(U)}).classed("annotation-arrow-g",!0),Z=q.append("path").attr("d","M"+p+","+h+"L"+s+","+u).style("stroke-width",V+"px").call(c.stroke,c.rgb(U));if(m(Z,G,t),T.annotationPosition&&Z.node().parentNode&&!i){var W=s,Y=u;if(t.standoff){var X=Math.sqrt(Math.pow(s-p,2)+Math.pow(u-h,2));W+=t.standoff*(p-s)/X,Y+=t.standoff*(h-u)/X}var J,Q,K=q.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(p-W)+","+(h-Y),transform:l(W,Y)}).style("stroke-width",V+6+"px").call(c.stroke,"rgba(0,0,0,0)").call(c.fill,"rgba(0,0,0,0)");f.init({element:K.node(),gd:e,prepFn:function(){var e=d.getTranslate(R);J=e.x,Q=e.y,v&&v.autorange&&M(v._name+".autorange",!0),x&&x.autorange&&M(x._name+".autorange",!0)},moveFn:function(e,a){var r=w(J,Q),n=r[0]+e,i=r[1]+a;R.call(d.setTranslate,n,i),S("x",y(v,e,"x",k,t)),S("y",y(x,a,"y",k,t)),t.axref===t.xref&&S("ax",y(v,e,"ax",k,t)),t.ayref===t.yref&&S("ay",y(x,a,"ay",k,t)),q.attr("transform",l(e,a)),z.attr({transform:"rotate("+j+","+n+","+i+")"})},doneFn:function(){n.call("_guiRelayout",e,L());var t=document.querySelector(".js-notes-box-panel");t&&t.redraw(t.selectedObj)}})}}};t.showarrow&&Ae(0,0),C&&f.init({element:R.node(),gd:e,prepFn:function(){Te=z.attr("transform")},moveFn:function(e,a){var r="pointer";if(t.showarrow)t.axref===t.xref?S("ax",y(v,e,"ax",k,t)):S("ax",t.ax+e),t.ayref===t.yref?S("ay",y(x,a,"ay",k.w,t)):S("ay",t.ay+a),Ae(e,a);else{if(i)return;var n,o;if(v)n=y(v,e,"x",k,t);else{var s=t._xsize/k.w,c=t.x+(t._xshift-t.xshift)/k.w-s/2;n=f.align(c+e/k.w,s,0,1,t.xanchor)}if(x)o=y(x,a,"y",k,t);else{var d=t._ysize/k.h,u=t.y-(t._yshift+t.yshift)/k.h-d/2;o=f.align(u-a/k.h,d,0,1,t.yanchor)}S("x",n),S("y",o),v&&x||(r=f.getCursor(v?.5:n,x?.5:o,t.xanchor,t.yanchor))}z.attr({transform:l(e,a)+Te}),h(R,r)},clickFn:function(a,r){t.captureevents&&e.emit("plotly_clickannotation",Z(r))},doneFn:function(){h(R),n.call("_guiRelayout",e,L());var t=document.querySelector(".js-notes-box-panel");t&&t.redraw(t.selectedObj)}})}}}e.exports={draw:function(e){var t=e._fullLayout;t._infolayer.selectAll(".annotation").remove();for(var a=0;ah&&(e="X"),e});return i>h&&(f=f.replace(/[\s,]*X.*/,""),n.log("Ignoring extra params in segment "+e)),d+f})}(a,s,d);if("pixel"===a.xsizemode){var A=s(a.xanchor);u=A+a.x0+_,p=A+a.x1+w}else u=s(a.x0)+_,p=s(a.x1)+w;if("pixel"===a.ysizemode){var M=d(a.yanchor);h=M-a.y0+k,f=M-a.y1+T}else h=d(a.y0)+k,f=d(a.y1)+T;if("line"===g)return"M"+u+","+h+"L"+p+","+f;if("rect"===g)return"M"+u+","+h+"H"+p+"V"+f+"H"+u+"Z";var S=(u+p)/2,L=(h+f)/2,O=Math.abs(S-u),D=Math.abs(L-h),j="A"+O+","+D,I=S+O+","+L;return"M"+I+j+" 0 1,1 "+S+","+(L-D)+j+" 0 0,1 "+I+"Z"}},49970(e,t,a){var r=a(45635);e.exports={bgcolor:{valType:"color",dflt:r.background,editType:"plot",description:"Sets the background color of the range slider."},bordercolor:{valType:"color",dflt:r.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"}},50132(e){e.exports=function(e){return{valType:"color",editType:"style",anim:!0,description:["Sets the fill color.","Defaults to a half-transparent variant of the line color,","marker color, or marker line color, whichever is available."+(e?" If fillgradient is specified, fillcolor is ignored except for setting the background color of the hover label, if any.":"")].join(" ")}}},50285(e,t,a){var r=a(57365),n=a(39761);e.exports=function(e,t,a,i){t=t||{};var o="log"===a&&"linear"===t.type,l="linear"===a&&"log"===t.type;if(o||l)for(var s,c,d=e._fullLayout.images,u=t._id.charAt(0),p=0;p=0}),("funnelarea"===t.type?v:t.sort)&&i.sort(function(e,t){return t.v-e.v}),i[0]&&(i[0].vTotal=m),i},crossTraceCalc:function(e,t){var a=(t||{}).type;a||(a="pie");var r=e._fullLayout,n=e.calcdata,i=r[a+"colorway"],l=r["_"+a+"colormap"];r["extend"+a+"colors"]&&(i=s(i,o));for(var c=0,d=0;d=0?s=h:(s=h=p,p++),sw,A=l.barLength+2*l.barPad,M=l.barWidth+2*l.barPad,S=f,L=m+v;L+M>c&&(L=c-M);var O=this.container.selectAll("rect.scrollbar-horizontal").data(T?[0]:[]);O.exit().on(".drag",null).remove(),O.enter().append("rect").classed("scrollbar-horizontal",!0).call(n.fill,l.barColor),T?(this.hbar=O.attr({rx:l.barRadius,ry:l.barRadius,x:S,y:L,width:A,height:M}),this._hbarXMin=S+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var D=v>k,j=l.barWidth+2*l.barPad,I=l.barLength+2*l.barPad,z=f+g,C=m;z+j>s&&(z=s-j);var P=this.container.selectAll("rect.scrollbar-vertical").data(D?[0]:[]);P.exit().on(".drag",null).remove(),P.enter().append("rect").classed("scrollbar-vertical",!0).call(n.fill,l.barColor),D?(this.vbar=P.attr({rx:l.barRadius,ry:l.barRadius,x:z,y:C,width:j,height:I}),this._vbarYMin=C+I/2,this._vbarTranslateMax=k-I):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var R=this.id,F=d-.5,N=D?u+j+.5:u+.5,E=p-.5,B=T?h+M+.5:h+.5,H=o._topdefs.selectAll("#"+R).data(T||D?[0]:[]);if(H.exit().remove(),H.enter().append("clipPath").attr("id",R).append("rect"),T||D?(this._clipRect=H.select("rect").attr({x:Math.floor(F),y:Math.floor(E),width:Math.ceil(N)-Math.floor(F),height:Math.ceil(B)-Math.floor(E)}),this.container.call(i.setClipUrl,R,this.gd),this.bg.attr({x:f,y:m,width:g,height:v})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(i.setClipUrl,null),delete this._clipRect),T||D){var V=r.behavior.drag().on("dragstart",function(){r.event.sourceEvent.preventDefault()}).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(V);var U=r.behavior.drag().on("dragstart",function(){r.event.sourceEvent.preventDefault(),r.event.sourceEvent.stopPropagation()}).on("drag",this._onBarDrag.bind(this));T&&this.hbar.on(".drag",null).call(U),D&&this.vbar.on(".drag",null).call(U)}this.setTranslate(t,a)},l.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(i.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)},l.prototype._onBoxDrag=function(){var e=this.translateX,t=this.translateY;this.hbar&&(e-=r.event.dx),this.vbar&&(t-=r.event.dy),this.setTranslate(e,t)},l.prototype._onBoxWheel=function(){var e=this.translateX,t=this.translateY;this.hbar&&(e+=r.event.deltaY),this.vbar&&(t+=r.event.deltaY),this.setTranslate(e,t)},l.prototype._onBarDrag=function(){var e=this.translateX,t=this.translateY;if(this.hbar){var a=e+this._hbarXMin,n=a+this._hbarTranslateMax;e=(o.constrain(r.event.x,a,n)-a)/(n-a)*(this.position.w-this._box.w)}if(this.vbar){var i=t+this._vbarYMin,l=i+this._vbarTranslateMax;t=(o.constrain(r.event.y,i,l)-i)/(l-i)*(this.position.h-this._box.h)}this.setTranslate(e,t)},l.prototype.setTranslate=function(e,t){var a=this.position.w-this._box.w,r=this.position.h-this._box.h;if(e=o.constrain(e||0,0,a),t=o.constrain(t||0,0,r),this.translateX=e,this.translateY=t,this.container.call(i.setTranslate,this._box.l-this.position.l-e,this._box.t-this.position.t-t),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+e-.5),y:Math.floor(this.position.t+t-.5)}),this.hbar){var n=e/a;this.hbar.call(i.setTranslate,e+n*this._hbarTranslateMax,t)}if(this.vbar){var l=t/r;this.vbar.call(i.setTranslate,e,t+l*this._vbarTranslateMax)}}},54290(e,t,a){var r=a(30991),n=a(13936);function i(e,t,a,n){n=n||r.identity,Array.isArray(e)&&(t[0][a]=n(e))}e.exports=function(e){var t=e.calcdata,a=e._fullLayout;function o(e){return function(t){return r.coerceHoverinfo({hoverinfo:t},{_module:e._module},a)}}for(var l=0;l0&&Math.round(u)===u))return{vals:n};c=u}for(var p=t.calendar,h="start"===s,f="end"===s,g=e[a+"period0"],m=i(g,p)||0,v=[],y=[],x=[],b=n.length,_=0;_A;)T=o(T,-c,p);for(;T<=A;)T=o(T,c,p);k=o(T,-c,p)}else{for(T=m+(w=Math.round((A-m)/d))*d;T>A;)T-=d;for(;T<=A;)T+=d;k=T-d}v[_]=h?k:f?T:(k+T)/2,y[_]=k,x[_]=T}return{vals:v,starts:y,ends:x}}},56596(e,t,a){var r=a(30991),n=a(13936),i=a(16509),o=a(27859),l=a(36058),s=a(33068),c=a(39357),d=a(37287),u=a(15294),p=a(82094),h=a(90748),f=a(94729);e.exports=function(e,t,a,g){function m(a,n){return r.coerce(e,t,o,a,n)}var v=!!e.marker&&i.isOpenSymbol(e.marker.symbol),y=s.isBubble(e),x=c(e,t,g,m);if(x){d(e,t,g,m),m("xhoverformat"),m("yhoverformat");var b=x",""," ",""," plotly-logomark"," "," "," "," "," "," "," "," "," "," "," "," "," ",""].join("")}}},57015(e){e.exports={mod:function(e,t){var a=e%t;return a<0?a+t:a},modHalf:function(e,t){return Math.abs(e)>t/2?e-Math.round(e/t)*t:e}}},57240(e,t,a){var r=a(7396),n=a(29904),i=a(92765),o=a(91454);function l(e,t){var a=t[0].trace,l=t[0].node3.selectAll(".choroplethlocation"),s=a.marker||{},c=s.line||{},d=o.makeColorScaleFuncFromTrace(a);l.each(function(e){r.select(this).attr("fill",d(e.z)).call(n.stroke,e.mlc||c.color).call(i.dashLine,"",e.mlw||c.width||0).style("opacity",s.opacity)}),i.selectedPointStyle(l,a)}e.exports={style:function(e,t){t&&l(0,t)},styleOnSelect:function(e,t){var a=t[0].node3,r=t[0].trace;r.selectedpoints?i.selectedPointStyle(a.selectAll(".choroplethlocation"),r):l(0,t)}}},57464(e,t,a){var r=a(13936),n=a(30991),i=a(79338),o=a(35667),l=a(96716),s=a(38650),c=a(19073);function d(e,t,a,d){var u=t[e]||{},p=i.newContainer(a,e);function h(e,t){return n.coerce(u,p,l,e,t)}var f=n.coerceFont(h,"font",a.font);if(h("bgcolor",a.paper_bgcolor),h("bordercolor"),h("visible")){for(var g,m=function(e,t){var a=g._input,r=g;return n.coerce(a,r,o,e,t)},v=a.font||{},y=n.coerceFont(h,"grouptitlefont",v,{overrideDflt:{size:Math.round(1.1*v.size)}}),x=0,b=!1,_="normal",w=(a.shapes||[]).filter(function(e){return e.showlegend}),k=d.concat(w).filter(function(t){return e===(t.legend||"legend")}),T=0;T("legend"===e?1:0));if(!1===M&&(a[e]=void 0),(!1!==M||u.uirevision)&&(h("uirevision",a.uirevision),!1!==M)){h("borderwidth");var S,L,O,D="h"===h("orientation"),j="paper"===h("yref"),I="paper"===h("xref"),z="left";if(D?(S=0,r.getComponentMethod("rangeslider","isVisible")(t.xaxis)?j?(L=1.1,O="bottom"):(L=1,O="top"):j?(L=-.1,O="top"):(L=0,O="bottom")):(L=1,O="auto",I?S=1.02:(S=1,z="right")),n.coerce(u,p,{x:{valType:"number",editType:"legend",min:I?-2:0,max:I?3:1,dflt:S}},"x"),n.coerce(u,p,{y:{valType:"number",editType:"legend",min:j?-2:0,max:j?3:1,dflt:L}},"y"),h("traceorder",_),c.isGrouped(a[e])&&h("tracegroupgap"),h("entrywidth"),h("entrywidthmode"),h("indentation"),h("itemsizing"),h("itemwidth"),h("itemclick"),h("itemdoubleclick"),h("groupclick"),h("xanchor",z),h("yanchor",O),h("valign"),n.noneOrAll(u,p,["x","y"]),h("title.text")){h("title.side",D?"left":"top");var C=n.extendFlat({},f,{size:n.bigFont(f.size)});n.coerceFont(h,"title.font",C)}}}}e.exports=function(e,t,a){var r,i=a.slice(),o=t.shapes;if(o)for(r=0;r=e.data.length||n<-e.data.length)throw new Error(a+" must be valid indices for gd.data.");if(t.indexOf(n,r+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 "+a+" must be unique.")}}function C(e,t,a){if(!Array.isArray(e.data))throw new Error("gd.data must be an array.");if(void 0===t)throw new Error("currentIndices is a required argument.");if(Array.isArray(t)||(t=[t]),z(e,t,"currentIndices"),void 0===a||Array.isArray(a)||(a=[a]),void 0!==a&&z(e,a,"newIndices"),void 0!==a&&t.length!==a.length)throw new Error("current and new indices must be of equal length.")}function P(e,t,a,r,i){!function(e,t,a,r){var n=o.isPlainObject(r);if(!Array.isArray(e.data))throw new Error("gd.data must be an array");if(!o.isPlainObject(t))throw new Error("update must be a key:value object");if(void 0===a)throw new Error("indices must be an integer or array of integers");for(var i in z(e,a,"indices"),t){if(!Array.isArray(t[i])||t[i].length!==a.length)throw new Error("attribute "+i+" must be an array of length equal to indices array length");if(n&&(!(i in r)||!Array.isArray(r[i])||r[i].length!==t[i].length))throw new Error("when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object")}}(e,t,a,r);for(var s=function(e,t,a,r){var i,s,c,d,u,p=o.isPlainObject(r),h=[];for(var f in Array.isArray(a)||(a=[a]),a=I(a,e.data.length-1),t)for(var g=0;g-1&&-1===a.indexOf("grouptitlefont")?s(a,a.replace("titlefont","title.font")):a.indexOf("titleposition")>-1?s(a,a.replace("titleposition","title.position")):a.indexOf("titleside")>-1?s(a,a.replace("titleside","title.side")):a.indexOf("titleoffset")>-1&&s(a,a.replace("titleoffset","title.offset")):s(a,a.replace("title","title.text"));function s(t,a){e[a]=e[t],delete e[t]}}function U(e,t,a){e=o.getGraphDiv(e),k.clearPromiseQueue(e);var r={};if("string"==typeof t)r[t]=a;else{if(!o.isPlainObject(t))return o.warn("Relayout fail.",t,a),Promise.reject();r=o.extendFlat({},t)}Object.keys(r).length&&(e.changed=!0);var n=X(e,r),i=n.flags;i.calc&&(e.calcdata=void 0);var l=[p.previousPromises];i.layoutReplot?l.push(T.layoutReplot):Object.keys(r).length&&(G(e,i,n)||p.supplyDefaults(e),i.legend&&l.push(T.doLegend),i.layoutstyle&&l.push(T.layoutStyles),i.axrange&&q(l,n.rangesAltered),i.ticks&&l.push(T.doTicksRelayout),i.modebar&&l.push(T.doModeBar),i.camera&&l.push(T.doCamera),i.colorbars&&l.push(T.doColorBars),l.push(L)),l.push(p.rehover,p.redrag,p.reselect),c.add(e,U,[e,n.undoit],U,[e,n.redoit]);var s=o.syncOrAsync(l,e);return s&&s.then||(s=Promise.resolve(e)),s.then(function(){return e.emit("plotly_relayout",n.eventData),e})}function G(e,t,a){var r,n,i=e._fullLayout;if(!t.axrange)return!1;for(var l in t)if("axrange"!==l&&t[l])return!1;var s=function(e,t){return o.coerce(r,n,g,e,t)},c={};for(var d in a.rangesAltered){var u=h.id2name(d);if(r=e.layout[u],n=i[u],f(r,n,s,c),n._matchGroup)for(var p in n._matchGroup)if(p!==d){var m=i[h.id2name(p)];m.autorange=n.autorange,m.range=n.range.slice(),m._input.range=n.range.slice()}}return!0}function q(e,t){var a=t?function(e){var a=[];for(var r in t){var n=h.getFromId(e,r);if(a.push(r),-1!==(n.ticklabelposition||"").indexOf("inside")&&n._anchorAxis&&a.push(n._anchorAxis._id),n._matchGroup)for(var i in n._matchGroup)t[i]||a.push(i)}return h.draw(e,a,{skipTitle:!0})}:function(e){return h.draw(e,"redraw")};e.push(b,T.doAutoRangeAndConstraints,a,T.drawData,T.finalDraw)}var Z=/^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/,W=/^[xyz]axis[0-9]*\.autorange$/,Y=/^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/;function X(e,t){var a,r,n,i=e.layout,s=e._fullLayout,c=s._guiEditing,p=E(s._preGUI,c),f=Object.keys(t),g=h.list(e),m=o.extendDeepAll({},t),v={};for(V(t),f=Object.keys(t),r=0;r0&&"string"!=typeof z.parts[P];)P--;var R=z.parts[P],F=z.parts[P-1]+"."+R,B=z.parts.slice(0,P).join("."),H=l(e.layout,B).get(),U=l(s,B).get(),G=z.get();if(void 0!==C){T[I]=C,S[I]="reverse"===R?C:N(G);var q=u.getLayoutValObject(s,z.parts);if(q&&q.impliedEdits&&null!==C)for(var X in q.impliedEdits)L(o.relativeAttr(I,X),q.impliedEdits[X]);if(-1!==["width","height"].indexOf(I))if(C){L("autosize",null);var Q="height"===I?"width":"height";L(Q,s[Q])}else s[I]=e._initialAutoSize[I];else if("autosize"===I)L("width",C?null:s.width),L("height",C?null:s.height);else if(F.match(Z))j(F),l(s,B+"._inputRange").set(null);else if(F.match(W)){j(F),l(s,B+"._inputRange").set(null);var K=l(s,B).get();K._inputDomain&&(K._input.domain=K._inputDomain.slice())}else F.match(Y)&&l(s,B+"._inputDomain").set(null);if("type"===R){O=H;var $="linear"===U.type&&"log"===C,ee="log"===U.type&&"linear"===C;if($||ee){if(O&&O.range)if(U.autorange)$&&(O.range=O.range[1]>O.range[0]?[1,2]:[2,1]);else{var te=O.range[0],ae=O.range[1];$?(te<=0&&ae<=0&&L(B+".autorange",!0),te<=0?te=ae/1e6:ae<=0&&(ae=te/1e6),L(B+".range[0]",Math.log(te)/Math.LN10),L(B+".range[1]",Math.log(ae)/Math.LN10)):(L(B+".range[0]",Math.pow(10,te)),L(B+".range[1]",Math.pow(10,ae)))}else L(B+".autorange",!0);Array.isArray(s._subplots.polar)&&s._subplots.polar.length&&s[z.parts[0]]&&"radialaxis"===z.parts[1]&&delete s[z.parts[0]]._subplot.viewInitial["radialaxis.range"],d.getComponentMethod("annotations","convertCoords")(e,U,C,L),d.getComponentMethod("images","convertCoords")(e,U,C,L)}else L(B+".autorange",!0),L(B+".range",null);l(s,B+"._inputRange").set(null)}else if(R.match(M)){var re=l(s,I).get(),ne=(C||{}).type;ne&&"-"!==ne||(ne="linear"),d.getComponentMethod("annotations","convertCoords")(e,re,ne,L),d.getComponentMethod("images","convertCoords")(e,re,ne,L)}var ie=w.containerArrayMatch(I);if(ie){a=ie.array,r=ie.index;var oe=ie.property,le=q||{editType:"calc"};""!==r&&""===oe&&(w.isAddVal(C)?S[I]=null:w.isRemoveVal(C)?S[I]=(l(i,a).get()||[])[r]:o.warn("unrecognized full object value",t)),A.update(_,le),v[a]||(v[a]={});var se=v[a][r];se||(se=v[a][r]={}),se[oe]=C,delete t[I]}else"reverse"===R?(H.range?H.range.reverse():(L(B+".autorange",!0),H.range=[1,0]),U.autorange?_.calc=!0:_.plot=!0):("dragmode"===I&&(!1===C&&!1!==G||!1!==C&&!1===G)||s._has("scatter-like")&&s._has("regl")&&"dragmode"===I&&("lasso"===C||"select"===C)&&"lasso"!==G&&"select"!==G||s._has("gl2d")?_.plot=!0:q?A.update(_,q):_.calc=!0,z.set(C))}}for(a in v)w.applyContainerArrayChanges(e,p(i,a),v[a],_,p)||(_.plot=!0);for(var ce in D){var de=(O=h.getFromId(e,ce))&&O._constraintGroup;if(de)for(var ue in _.calc=!0,de)D[ue]||(h.getFromId(e,ue)._constraintShrinkable=!0)}(J(e)||t.height||t.width)&&(_.plot=!0);var pe=s.shapes;for(r=0;r1;)if(r.pop(),void 0!==(a=l(t,r.join(".")+".uirevision").get()))return a;return t.uirevision}function re(e,t){for(var a=0;a=n.length?n[0]:n[e]:n}function s(e){return Array.isArray(i)?e>=i.length?i[0]:i[e]:i}function c(e,t){var a=0;return function(){if(e&&++a===t)return e()}}return void 0===r._frameWaitingCnt&&(r._frameWaitingCnt=0),new Promise(function(i,d){function u(){e.emit("plotly_animating"),r._lastFrameAt=-1/0,r._timeToNext=0,r._runningTransitions=0,r._currentFrame=null;var t=function(){r._animationRaf=window.requestAnimationFrame(t),Date.now()-r._lastFrameAt>r._timeToNext&&function(){r._currentFrame&&r._currentFrame.onComplete&&r._currentFrame.onComplete();var t=r._currentFrame=r._frameQueue.shift();if(t){var a=t.name?t.name.toString():null;e._fullLayout._currentFrame=a,r._lastFrameAt=Date.now(),r._timeToNext=t.frameOpts.duration,p.transition(e,t.frame.data,t.frame.layout,k.coerceTraceIndices(e,t.frame.traces),t.frameOpts,t.transitionOpts).then(function(){t.onComplete&&t.onComplete()}),e.emit("plotly_animatingframe",{name:a,frame:t.frame,animation:{frame:t.frameOpts,transition:t.transitionOpts}})}else e.emit("plotly_animated"),window.cancelAnimationFrame(r._animationRaf),r._animationRaf=null}()};t()}var h,f,g=0;function m(e){return Array.isArray(n)?g>=n.length?e.transitionOpts=n[g]:e.transitionOpts=n[0]:e.transitionOpts=n,g++,e}var v=[],y=null==t,x=Array.isArray(t);if(y||x||!o.isPlainObject(t)){if(y||-1!==["string","number"].indexOf(typeof t))for(h=0;h0&&ww)&&T.push(f);v=T}}v.length>0?function(t){if(0!==t.length){for(var n=0;n=0;r--)if(o.isPlainObject(t[r])){var g=t[r].name,m=(d[g]||f[g]||{}).name,v=t[r].name,y=d[m]||f[m];m&&v&&"number"==typeof v&&y&&S<5&&(S++,o.warn('addFrames: overwriting frame "'+(d[m]||f[m]).name+'" with a frame whose name of type "number" also equates to "'+m+'". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),5===S&&o.warn("addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.")),f[g]={name:g},h.push({frame:p.supplyFrameDefaults(t[r]),index:a&&void 0!==a[r]&&null!==a[r]?a[r]:u+r})}h.sort(function(e,t){return e.index>t.index?-1:e.index=0;r--){if("number"==typeof(n=h[r].frame).name&&o.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!n.name)for(;d[n.name="frame "+e._transitionData._counter++];);if(d[n.name]){for(i=0;i=0;a--)r=t[a],i.push({type:"delete",index:r}),l.unshift({type:"insert",index:r,value:n[r]});var s=p.modifyFrames,d=p.modifyFrames,u=[e,l],h=[e,i];return c&&c.add(e,s,u,d,h),p.modifyFrames(e,i)},t.addTraces=function e(a,r,n){a=o.getGraphDiv(a);var i,l,s=[],d=t.deleteTraces,u=e,p=[a,s],h=[a,r];for(function(e,t,a){var r,n;if(!Array.isArray(e.data))throw new Error("gd.data must be an array.");if(void 0===t)throw new Error("traces must be defined.");for(Array.isArray(t)||(t=[t]),r=0;r=0&&a=0&&a-1}e.exports=function(e,t){var a,n=e.data,c=e.layout,d=o([],n),u=o({},c,l(t.tileClass)),p=e._context||{};if(t.width&&(u.width=t.width),t.height&&(u.height=t.height),"thumbnail"===t.tileClass||"themes__thumb"===t.tileClass){u.annotations=[];var h=Object.keys(u);for(a=0;ai))return t}return void 0!==a?a:e.dflt},t.coerceColor=function(e,t,a){return n(t).isValid()?t:void 0!==a?a:e.dflt},t.coerceEnumerated=function(e,t,a){return e.coerceNumber&&(t=+t),-1!==e.values.indexOf(t)?t:void 0!==a?a:e.dflt},t.getValue=function(e,t){var a;return i(e)?t0?l:s)/(D._m*z*(D._m>0?l:s)))),n*=1e3}if(o===i){if(I&&(o=D.c2p(r.y,!0)),o===i)return!1;o*=1e3}return[n,o]}function Y(e,t,a,r){var n=a-e,i=r-t,o=.5-e,l=.5-t,s=n*n+i*i,c=n*o+i*l;if(c>0&&coe||e[1]se)return[u(e[0],ie,oe),u(e[1],le,se)]}function ue(e,t){return e[0]===t[0]&&(e[0]===ie||e[0]===oe)||e[1]===t[1]&&(e[1]===le||e[1]===se)||void 0}function pe(e,t,a){return function(r,n){var i=de(r),o=de(n),l=[];if(i&&o&&ue(i,o))return l;i&&l.push(i),o&&l.push(o);var s=2*c.constrain((r[e]+n[e])/2,t,a)-((i||r)[e]+(o||n)[e]);return s&&((i&&o?s>0==i[e]>o[e]?i:o:i||o)[e]+=s),l}}function he(e){var t=e[0],a=e[1],r=t===q[Z-1][0],n=a===q[Z-1][1];if(!r||!n)if(Z>1){var i=t===q[Z-2][0],o=a===q[Z-2][1];r&&(t===ie||t===oe)&&i?o?Z--:q[Z-1]=e:n&&(a===le||a===se)&&o?i?Z--:q[Z-1]=e:q[Z++]=e}else q[Z++]=e}function fe(e){q[Z-1][0]!==e[0]&&q[Z-1][1]!==e[1]&&he([$,ee]),he(e),te=null,$=ee=0}"linear"===E||"spline"===E?re=function(e,t){for(var a=[],r=0,n=0;n<4;n++){var i=ce[n],o=d(e[0],e[1],t[0],t[1],i[0],i[1],i[2],i[3]);o&&(!r||Math.abs(o.x-a[0][0])>1||Math.abs(o.y-a[0][1])>1)&&(o=[o.x,o.y],r&&J(o,e)oe?oe:0,K=t[1]se?se:0,Q||K){if(Z)if(te){var r=re(te,t);r.length>1&&(fe(r[0]),q[Z++]=r[1])}else ae=re(q[Z-1],t)[0],q[Z++]=ae;else q[Z++]=[Q||t[0],K||t[1]];var n=q[Z-1];Q&&K&&(n[0]!==Q||n[1]!==K)?(te&&($!==Q&&ee!==K?he($&&ee?(i=te,l=(o=t)[0]-i[0],s=(o[1]-i[1])/l,(i[1]*o[0]-o[1]*i[0])/l>0?[s>0?ie:oe,se]:[s>0?oe:ie,le]):[$||Q,ee||K]):$&&ee&&he([$,ee])),he([Q,K])):$-Q&&ee-K&&he([Q||$,K||ee]),te=t,$=Q,ee=K}else te&&fe(re(te,t)[0]),q[Z++]=t;var i,o,l,s}for(a=0;aX(g,ve))break;o=g,(w=y[0]*v[0]+y[1]*v[1])>b?(b=w,h=g,m=!1):w<_&&(_=w,f=g,m=!0)}if(m?(me(h),o!==f&&me(f)):(f!==n&&me(f),o!==h&&me(h)),me(o),a>=e.length||!g)break;me(g),n=g}}else me(h)}te&&he([$||te[0],ee||te[1]]),V.push(q.slice(0,Z))}var ye=E.slice(E.length-1);if(P&&"h"!==ye&&"v"!==ye){for(var xe=!1,be=-1,_e=[],we=0;weg-h?h=g-(f-g):f-g=0?l.colorscale.sequential:l.colorscale.sequentialminus,u._sync("colorscale",o))}},63776(e,t,a){var r=a(36576),n=r.drawMode,i=r.openMode,o=a(48197),l=o.i000,s=o.i090,c=o.i180,d=o.i270,u=o.cos45,p=o.sin45,h=a(20799),f=h.p2r,g=h.r2p,m=a(76396).clearOutline,v=a(39405),y=v.readPaths,x=v.writePaths,b=v.ellipseOver,_=v.fixDatesForPaths;function w(e,t,a){var r,n=e[0][0],o=t.gd,h=n.getAttribute("d"),m=o._fullLayout.newshape,v=t.plotinfo,w=t.isActiveShape,k=v.xaxis,T=v.yaxis,A=!!v.domain||!v.xaxis,M=!!v.domain||!v.yaxis,S=i(a),L=y(h,o,v,w),O={editable:!0,visible:m.visible,name:m.name,showlegend:m.showlegend,legend:m.legend,legendwidth:m.legendwidth,legendgroup:m.legendgroup,legendgrouptitle:{text:m.legendgrouptitle.text,font:m.legendgrouptitle.font},legendrank:m.legendrank,label:m.label,xref:A?"paper":k._id,yref:M?"paper":T._id,layer:m.layer,opacity:m.opacity,line:{color:m.line.color,width:m.line.width,dash:m.line.dash}};if(S||(O.fillcolor=m.fillcolor,O.fillrule=m.fillrule),1===L.length&&(r=L[0]),r&&5===r.length&&"drawrect"===a)O.type="rect",O.x0=r[0][1],O.y0=r[0][2],O.x1=r[2][1],O.y1=r[2][2];else if(r&&"drawline"===a)O.type="line",O.x0=r[0][1],O.y0=r[0][2],O.x1=r[1][1],O.y1=r[1][2];else if(r&&"drawcircle"===a){O.type="circle";var D=r[l][1],j=r[s][1],I=r[c][1],z=r[d][1],C=r[l][2],P=r[s][2],R=r[c][2],F=r[d][2],N=v.xaxis&&("date"===v.xaxis.type||"log"===v.xaxis.type),E=v.yaxis&&("date"===v.yaxis.type||"log"===v.yaxis.type);N&&(D=g(v.xaxis,D),j=g(v.xaxis,j),I=g(v.xaxis,I),z=g(v.xaxis,z)),E&&(C=g(v.yaxis,C),P=g(v.yaxis,P),R=g(v.yaxis,R),F=g(v.yaxis,F));var B=(j+z)/2,H=(C+R)/2,V=b({x0:B,y0:H,x1:B+(z-j+I-D)/2*u,y1:H+(F-P+R-C)/2*p});N&&(V.x0=f(v.xaxis,V.x0),V.x1=f(v.xaxis,V.x1)),E&&(V.y0=f(v.yaxis,V.y0),V.y1=f(v.yaxis,V.y1)),O.x0=V.x0,O.y0=V.y0,O.x1=V.x1,O.y1=V.y1}else O.type="path",k&&T&&_(L,k,T),O.path=x(L),r=null;return O}e.exports={newShapes:function(e,t){if(e.length&&e[0][0]){var a=t.gd,r=t.isActiveShape,i=t.dragmode,o=(a.layout||{}).shapes||[];if(!n(i)&&void 0!==r){var l=a._fullLayout._activeShapeIndex;if(ln.max?t.set(a):t.set(+e)}},integer:{description:["An integer or an integer inside a string.","When applicable, values greater (less) than `max` (`min`)","are coerced to the `dflt`."].join(" "),requiredOpts:[],otherOpts:["dflt","min","max","arrayOk","extras"],coerceFunction:function(e,t,a,n){-1===(n.extras||[]).indexOf(e)?(f(e)&&(e=g(e)),e%1||!r(e)||void 0!==n.min&&en.max?t.set(a):t.set(+e)):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,a,r){if("string"!=typeof e){var n="number"==typeof e;!0!==r.strict&&n?t.set(String(e)):t.set(a)}else r.noBlank&&!e?t.set(a):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,a){f(e)&&(e=g(e)),n(e).isValid()?t.set(e):t.set(a)}},colorlist:{description:["A list of colors.","Must be an {array} containing valid colors."].join(" "),requiredOpts:[],otherOpts:["dflt"],coerceFunction:function(e,t,a){Array.isArray(e)&&e.length&&e.every(function(e){return n(e).isValid()})?t.set(e):t.set(a)}},colorscale:{description:["A Plotly colorscale either picked by a name:","(any of",Object.keys(l.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,a){t.set(l.get(e,a))}},angle:{description:["A number (in degree) between -180 and 180."].join(" "),requiredOpts:[],otherOpts:["dflt","arrayOk"],coerceFunction:function(e,t,a){f(e)&&(e=g(e)),"auto"===e?t.set("auto"):r(e)?t.set(p(+e,360)):t.set(a)}},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,a,r){var n=r.regex||u(a);"string"==typeof e&&n.test(e)?t.set(e):t.set(a)},validateFunction:function(e,t){var a=t.dflt;return e===a||"string"==typeof e&&!!u(a).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,a,r){if(-1===(r.extras||[]).indexOf(e))if("string"==typeof e){for(var n=e.split("+"),i=0;i/g),s=0;s"),name:u.hovertemplate||-1!==p.indexOf("name")?u.name:void 0,idealAlign:e.pxmid[0]<0?"left":"right",color:m.castOption(_.bgcolor,e.pts)||e.color,borderColor:m.castOption(_.bordercolor,e.pts),fontFamily:m.castOption(w.family,e.pts),fontSize:m.castOption(w.size,e.pts),fontColor:m.castOption(w.color,e.pts),nameLength:m.castOption(_.namelength,e.pts),textAlign:m.castOption(_.align,e.pts),hovertemplate:m.castOption(u.hovertemplate,e.pts),hovertemplateLabels:e,eventData:[v(e,u)]},{container:a._hoverlayer.node(),outerContainer:a._paper.node(),gd:t,inOut_bbox:k}),e.bbox=k[0],c._hasHoverLabel=!0}c._hasHoverEvent=!0,t.emit("plotly_hover",{points:[v(e,u)],event:r.event})}}),e.on("mouseout",function(e){var a=t._fullLayout,n=t._fullData[c.index],o=r.select(this).datum();c._hasHoverEvent&&(e.originalEvent=r.event,t.emit("plotly_unhover",{points:[v(o,n)],event:r.event}),c._hasHoverEvent=!1),c._hasHoverLabel&&(i.loneUnhover(a._hoverlayer.node()),c._hasHoverLabel=!1)}),e.on("click",function(e){var a=t._fullLayout,n=t._fullData[c.index];t._dragging||!1===a.hovermode||(t._hoverdata=[v(e,n)],i.click(t,r.event))})}function b(e,t,a){var r=m.castOption(e.insidetextfont.color,t.pts);!r&&e._input.textfont&&(r=m.castOption(e._input.textfont.color,t.pts));var n=m.castOption(e.insidetextfont.family,t.pts)||m.castOption(e.textfont.family,t.pts)||a.family,i=m.castOption(e.insidetextfont.size,t.pts)||m.castOption(e.textfont.size,t.pts)||a.size,l=m.castOption(e.insidetextfont.weight,t.pts)||m.castOption(e.textfont.weight,t.pts)||a.weight,s=m.castOption(e.insidetextfont.style,t.pts)||m.castOption(e.textfont.style,t.pts)||a.style,c=m.castOption(e.insidetextfont.variant,t.pts)||m.castOption(e.textfont.variant,t.pts)||a.variant,d=m.castOption(e.insidetextfont.textcase,t.pts)||m.castOption(e.textfont.textcase,t.pts)||a.textcase,u=m.castOption(e.insidetextfont.lineposition,t.pts)||m.castOption(e.textfont.lineposition,t.pts)||a.lineposition,p=m.castOption(e.insidetextfont.shadow,t.pts)||m.castOption(e.textfont.shadow,t.pts)||a.shadow;return{color:r||o.contrast(t.color),family:n,size:i,weight:l,style:s,variant:c,textcase:d,lineposition:u,shadow:p}}function _(e,t){for(var a,r,n=0;nt&&t>r||a=-4;m-=2)v(Math.PI*m,"tan");for(m=4;m>=-4;m-=2)v(Math.PI*(m+1),"tan")}if(u||h){for(m=4;m>=-4;m-=2)v(Math.PI*(m+1.5),"rad");for(m=4;m>=-4;m-=2)v(Math.PI*(m+.5),"rad")}}if(l||f||u){var y=Math.sqrt(e.width*e.width+e.height*e.height);if((i={scale:n*r*2/y,rCenter:1-n,rotate:0}).textPosAngle=(t.startangle+t.stopangle)/2,i.scale>=1)return i;g.push(i)}(f||h)&&((i=k(e,r,o,s,c)).textPosAngle=(t.startangle+t.stopangle)/2,g.push(i)),(f||p)&&((i=T(e,r,o,s,c)).textPosAngle=(t.startangle+t.stopangle)/2,g.push(i));for(var x=0,b=0,_=0;_=1)break}return g[x]}function k(e,t,a,r,n){t=Math.max(0,t-2*g);var i=e.width/e.height,o=S(i,r,t,a);return{scale:2*o/e.height,rCenter:A(i,o/t),rotate:M(n)}}function T(e,t,a,r,n){t=Math.max(0,t-2*g);var i=e.height/e.width,o=S(i,r,t,a);return{scale:2*o/e.width,rCenter:A(i,o/t),rotate:M(n+Math.PI/2)}}function A(e,t){return Math.cos(t)-e*t}function M(e){return(180/Math.PI*e+720)%180-90}function S(e,t,a,r){var n=e+1/(2*Math.tan(t));return a*Math.min(1/(Math.sqrt(n*n+.5)+n),r/(Math.sqrt(e*e+r/2)+e))}function L(e,t){return e.v!==t.vTotal||t.trace.hole?Math.min(1/(1+1/Math.sin(e.halfangle)),e.ring/2):1}function O(e,t){var a=t.pxmid[0],r=t.pxmid[1],n=e.width/2,i=e.height/2;return a<0&&(n*=-1),r<0&&(i*=-1),{scale:1,rCenter:1,rotate:0,x:n+Math.abs(i)*(n>0?1:-1)/2,y:i/(1+a*a/(r*r)),outside:!0}}function D(e,t){var a,r,n,i=e.trace,o={x:e.cx,y:e.cy},l={tx:0,ty:0};l.ty+=i.title.font.size,n=I(i),-1!==i.title.position.indexOf("top")?(o.y-=(1+n)*e.r,l.ty-=e.titleBox.height):-1!==i.title.position.indexOf("bottom")&&(o.y+=(1+n)*e.r);var s,c=e.r/(void 0===(s=e.trace.aspectratio)?1:s),d=t.w*(i.domain.x[1]-i.domain.x[0])/2;return-1!==i.title.position.indexOf("left")?(d+=c,o.x-=(1+n)*c,l.tx+=e.titleBox.width/2):-1!==i.title.position.indexOf("center")?d*=2:-1!==i.title.position.indexOf("right")&&(d+=c,o.x+=(1+n)*c,l.tx-=e.titleBox.width/2),a=d/e.titleBox.width,r=j(e,t)/e.titleBox.height,{x:o.x,y:o.y,scale:Math.min(a,r),tx:l.tx,ty:l.ty}}function j(e,t){var a=e.trace,r=t.h*(a.domain.y[1]-a.domain.y[0]);return Math.min(e.titleBox.height,r/2)}function I(e){var t,a=e.pull;if(!a)return 0;if(s.isArrayOrTypedArray(a))for(a=0,t=0;ta&&(a=e.pull[t]);return a}function z(e,t){for(var a=[],r=0;r1?d=(c=a.r)/n.aspectratio:c=(d=a.r)*n.aspectratio,s=(c*=(1+n.baseratio)/2)*d}o=Math.min(o,s/a.vTotal)}for(r=0;r")}if(i){var x=s.castOption(n,t.i,"texttemplate");if(x){var b=function(e){return{label:e.label,value:e.v,valueLabel:m.formatPieValue(e.v,r.separators),percent:e.v/a.vTotal,percentLabel:m.formatPiePercent(e.v/a.vTotal,r.separators),color:e.color,text:e.text,customdata:s.castOption(n,e.i,"customdata")}}(t),_=m.getFirstFilled(n.text,t.pts);(y(_)||""===_)&&(b.text=_),t.text=s.texttemplateString(x,b,e._fullLayout._d3locale,b,n._meta||{})}else t.text=""}}function R(e,t){var a=e.rotate*Math.PI/180,r=Math.cos(a),n=Math.sin(a),i=(t.left+t.right)/2,o=(t.top+t.bottom)/2;e.textX=i*r-o*n,e.textY=i*n+o*r,e.noCenter=!0}e.exports={plot:function(e,t){var a=e._context.staticPlot,i=e._fullLayout,p=i._size;f("pie",i),_(t,e),z(t,p);var g=s.makeTraceGroups(i._pielayer,t,"trace").each(function(t){var f=r.select(this),g=t[0],v=g.trace;!function(e){var t,a,r,n=e[0],i=n.r,o=n.trace,l=m.getRotationAngle(o.rotation),s=2*Math.PI/n.vTotal,c="px0",d="px1";if("counterclockwise"===o.direction){for(t=0;tn.vTotal/2?1:0,a.halfangle=Math.PI*Math.min(a.v/n.vTotal,.5),a.ring=1-o.hole,a.rInscribed=L(a,n))}(t),f.attr("stroke-linejoin","round"),f.each(function(){var y=r.select(this).selectAll("g.slice").data(t);y.enter().append("g").classed("slice",!0),y.exit().remove();var _=[[[],[]],[[],[]]],k=!1;y.each(function(n,o){if(n.hidden)r.select(this).selectAll("path,g").remove();else{n.pointNumber=n.i,n.curveNumber=v.index,_[n.pxmid[1]<0?0:1][n.pxmid[0]<0?0:1].push(n);var c=g.cx,d=g.cy,p=r.select(this),f=p.selectAll("path.surface").data([n]);if(f.enter().append("path").classed("surface",!0).style({"pointer-events":a?"none":"all"}),p.call(x,e,t),v.pull){var y=+m.castOption(v.pull,n.pts)||0;y>0&&(c+=y*n.pxmid[0],d+=y*n.pxmid[1])}n.cxFinal=c,n.cyFinal=d;var T=v.hole;if(n.v===g.vTotal){var A="M"+(c+n.px0[0])+","+(d+n.px0[1])+j(n.px0,n.pxmid,!0,1)+j(n.pxmid,n.px0,!0,1)+"Z";T?f.attr("d","M"+(c+T*n.px0[0])+","+(d+T*n.px0[1])+j(n.px0,n.pxmid,!1,T)+j(n.pxmid,n.px0,!1,T)+"Z"+A):f.attr("d",A)}else{var M=j(n.px0,n.px1,!0,1);if(T){var S=1-T;f.attr("d","M"+(c+T*n.px1[0])+","+(d+T*n.px1[1])+j(n.px1,n.px0,!1,T)+"l"+S*n.px0[0]+","+S*n.px0[1]+M+"Z")}else f.attr("d","M"+c+","+d+"l"+n.px0[0]+","+n.px0[1]+M+"Z")}P(e,n,g);var L=m.castOption(v.textposition,n.pts),D=p.selectAll("g.slicetext").data(n.text&&"none"!==L?[0]:[]);D.enter().append("g").classed("slicetext",!0),D.exit().remove(),D.each(function(){var a=s.ensureSingle(r.select(this),"text","",function(e){e.attr("data-notex",1)}),p=s.ensureUniformFontSize(e,"outside"===L?function(e,t,a){return{color:m.castOption(e.outsidetextfont.color,t.pts)||m.castOption(e.textfont.color,t.pts)||a.color,family:m.castOption(e.outsidetextfont.family,t.pts)||m.castOption(e.textfont.family,t.pts)||a.family,size:m.castOption(e.outsidetextfont.size,t.pts)||m.castOption(e.textfont.size,t.pts)||a.size,weight:m.castOption(e.outsidetextfont.weight,t.pts)||m.castOption(e.textfont.weight,t.pts)||a.weight,style:m.castOption(e.outsidetextfont.style,t.pts)||m.castOption(e.textfont.style,t.pts)||a.style,variant:m.castOption(e.outsidetextfont.variant,t.pts)||m.castOption(e.textfont.variant,t.pts)||a.variant,textcase:m.castOption(e.outsidetextfont.textcase,t.pts)||m.castOption(e.textfont.textcase,t.pts)||a.textcase,lineposition:m.castOption(e.outsidetextfont.lineposition,t.pts)||m.castOption(e.textfont.lineposition,t.pts)||a.lineposition,shadow:m.castOption(e.outsidetextfont.shadow,t.pts)||m.castOption(e.textfont.shadow,t.pts)||a.shadow}}(v,n,i.font):b(v,n,i.font));a.text(n.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(l.font,p).call(u.convertToTspans,e);var f,y=l.bBox(a.node());if("outside"===L)f=O(y,n);else if(f=w(y,n,g),"auto"===L&&f.scale<1){var x=s.ensureUniformFontSize(e,v.outsidetextfont);a.call(l.font,x),f=O(y=l.bBox(a.node()),n)}var _=f.textPosAngle,T=void 0===_?n.pxmid:C(g.r,_);if(f.targetX=c+T[0]*f.rCenter+(f.x||0),f.targetY=d+T[1]*f.rCenter+(f.y||0),R(f,y),f.outside){var A=f.targetY;n.yLabelMin=A-y.height/2,n.yLabelMid=A,n.yLabelMax=A+y.height/2,n.labelExtraX=0,n.labelExtraY=0,k=!0}f.fontSize=p.size,h(v.type,f,i),t[o].transform=f,s.setTransormAndDisplay(a,f)})}function j(e,t,a,r){var i=r*(t[0]-e[0]),o=r*(t[1]-e[1]);return"a"+r*g.r+","+r*g.r+" 0 "+n.largeArc+(a?" 1 ":" 0 ")+i+","+o}});var T=r.select(this).selectAll("g.titletext").data(v.title.text?[0]:[]);if(T.enter().append("g").classed("titletext",!0),T.exit().remove(),T.each(function(){var t,a=s.ensureSingle(r.select(this),"text","",function(e){e.attr("data-notex",1)}),n=v.title.text;v._meta&&(n=s.templateString(n,v._meta)),a.text(n).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(l.font,v.title.font).call(u.convertToTspans,e),t="middle center"===v.title.position?function(e){var t=Math.sqrt(e.titleBox.width*e.titleBox.width+e.titleBox.height*e.titleBox.height);return{x:e.cx,y:e.cy,scale:e.trace.hole*e.r*2/t,tx:0,ty:-e.titleBox.height/2+e.trace.title.font.size}}(g):D(g,p),a.attr("transform",d(t.x,t.y)+c(Math.min(1,t.scale))+d(t.tx,t.ty))}),k&&function(e,t){var a,r,n,i,o,l,c,d,u,p,h,f,g;function v(e,t){return e.pxmid[1]-t.pxmid[1]}function y(e,t){return t.pxmid[1]-e.pxmid[1]}function x(e,a){a||(a={});var n,d,u,h,f=a.labelExtraY+(r?a.yLabelMax:a.yLabelMin),g=r?e.yLabelMin:e.yLabelMax,v=r?e.yLabelMax:e.yLabelMin,y=e.cyFinal+o(e.px0[1],e.px1[1]),x=f-g;if(x*c>0&&(e.labelExtraY=x),s.isArrayOrTypedArray(t.pull))for(d=0;d=(m.castOption(t.pull,u.pts)||0)||((e.pxmid[1]-u.pxmid[1])*c>0?(x=u.cyFinal+o(u.px0[1],u.px1[1])-g-e.labelExtraY)*c>0&&(e.labelExtraY+=x):(v+e.labelExtraY-y)*c>0&&(n=3*l*Math.abs(d-p.indexOf(e)),(h=u.cxFinal+i(u.px0[0],u.px1[0])+n-(e.cxFinal+e.pxmid[0])-e.labelExtraX)*l>0&&(e.labelExtraX+=h)))}for(r=0;r<2;r++)for(n=r?v:y,o=r?Math.max:Math.min,c=r?1:-1,a=0;a<2;a++){for(i=a?Math.max:Math.min,l=a?1:-1,(d=e[r][a]).sort(n),u=e[1-r][a],p=u.concat(d),f=[],h=0;hMath.abs(u)?l+="l"+u*e.pxmid[0]/e.pxmid[1]+","+u+"H"+(i+e.labelExtraX+c):l+="l"+e.labelExtraX+","+d+"v"+(u-d)+"h"+c}else l+="V"+(e.yLabelMid+e.labelExtraY)+"h"+c;s.ensureSingle(a,"path","textline").call(o.stroke,t.outsidetextfont.color).attr({"stroke-width":Math.min(2,t.outsidetextfont.size/8),d:l,fill:"none"})}else a.select("path.textline").remove()})}(y,v),k&&v.automargin){var A=l.bBox(f.node()),M=v.domain,S=p.w*(M.x[1]-M.x[0]),L=p.h*(M.y[1]-M.y[0]),j=(.5*S-g.r)/p.w,I=(.5*L-g.r)/p.h;n.autoMargin(e,"pie."+v.uid+".automargin",{xl:M.x[0]-j,xr:M.x[1]+j,yb:M.y[0]-I,yt:M.y[1]+I,l:Math.max(g.cx-g.r-A.left,0),r:Math.max(A.right-(g.cx+g.r),0),b:Math.max(A.bottom-(g.cy+g.r),0),t:Math.max(g.cy-g.r-A.top,0),pad:5})}})});setTimeout(function(){g.selectAll("tspan").each(function(){var e=r.select(this);e.attr("dy")&&e.attr("dy",e.attr("dy"))})},0)},formatSliceLabel:P,transformInsideText:w,determineInsideTextFont:b,positionTitleOutside:D,prerenderTitles:_,layoutAreas:z,attachFxHandlers:x,computeTransform:R}},64659(e){e.exports={INCREASING:{COLOR:"#3D9970",SYMBOL:"▲"},DECREASING:{COLOR:"#FF4136",SYMBOL:"▼"}}},64785(e){var t=/^(.*)(\.[^\.\[\]]+|\[\d\])$/,a=/^[^\.\[\]]+$/;e.exports=function(e,r){for(;r;){var n=e.match(t);if(n)e=n[1];else{if(!e.match(a))throw new Error("bad relativeAttr call:"+[e,r]);e=""}if("^"!==r.charAt(0))break;r=r.slice(1)}return e&&"["!==r.charAt(0)?e+"."+r:e+r}},65030(e){e.exports={attr:"subplot",name:"polar",axisNames:["angularaxis","radialaxis"],axisName2dataArray:{angularaxis:"theta",radialaxis:"r"},layerNames:["draglayer","plotbg","backplot","angular-grid","radial-grid","frontplot","angular-line","radial-line","angular-axis","radial-axis"],radialDragBoxSize:50,angularDragBoxSize:30,cornerLen:25,cornerHalfWidth:2,MINDRAG:8,MINZOOM:20,OFFEDGE:20}},65554(e,t,a){var r=a(35594).isArrayOrTypedArray,n=a(37816);e.exports=function e(t,a){for(var i in a){var o=a[i],l=t[i];if(l!==o)if("_"===i.charAt(0)||"function"==typeof o){if(i in t)continue;t[i]=o}else if(r(o)&&r(l)&&n(o[0])){if("customdata"===i||"ids"===i)continue;for(var s=Math.min(o.length,l.length),c=0;c0||r(o);l&&(i="array");var s,c=a("categoryorder",i);"array"===c&&(s=a("categoryarray")),l||"array"!==c||(c=t.categoryorder="trace"),"trace"===c?t._initialCategories=[]:"array"===c?t._initialCategories=s.slice():(s=function(e,t){var a,r,n,i=t.dataAttr||e._id.charAt(0),o={};if(t.axData)a=t.axData;else for(a=[],r=0;r0?[0]:[]);if(o.enter().append("g").classed(u.containerClassName,!0).style("cursor","pointer"),o.exit().each(function(){r.select(this).selectAll("g."+u.headerGroupClassName).each(i)}).remove(),0!==a.length){var s=o.selectAll("g."+u.headerGroupClassName).data(a,h);s.enter().append("g").classed(u.headerGroupClassName,!0);for(var c=l.ensureSingle(o,"g",u.dropdownButtonGroupClassName,function(e){e.style("pointer-events","all")}),d=0;d1e-10?e:0}function p(e,t,a){t=t||0,a=a||0;for(var r=e.length,n=new Array(r),i=0;i0?a:1/0}),n=r.mod(a+1,t.length);return[t[a],t[n]]},findIntersectionXY:c,findXYatLength:function(e,t,a,r){var n=-t*a,i=t*t+1,o=2*(t*n-a),l=n*n+a*a-e*e,s=Math.sqrt(o*o-4*i*l),c=(-o+s)/(2*i),d=(-o-s)/(2*i);return[[c,t*c+n+r],[d,t*d+n+r]]},clampTiny:u,pathPolygon:function(e,t,a,r,n,i){return"M"+p(d(e,t,a,r),n,i).join("L")},pathPolygonAnnulus:function(e,t,a,r,n,i,o){var l,s;e=0;T--){var A=a.append("path").attr(m).style("opacity",T?.1:v).call(o.stroke,x).call(o.fill,y).call(l.dashLine,T?"solid":_,T?4+b:b);if(f(A,e,i),w){var M=s(e.layout,"selections",i);A.style({cursor:"move"});var S={element:A.node(),plotinfo:h,gd:e,editHelpers:M,isActiveSelection:!0},L=r(c,e);n(L,A,S)}else A.style("pointer-events",T?"all":"none");k[T]=A}var O=k[0];k[1].node().addEventListener("click",function(){return function(e,t){if(p(e)){var a=+t.node().getAttribute("data-index");if(a>=0){if(a===e._fullLayout._activeSelectionIndex)return void g(e);e._fullLayout._activeSelectionIndex=a,e._fullLayout._deactivateSelection=g,u(e)}}}(e,O)})}(e._fullLayout._selectionLayer)}function f(e,t,a){var r=a.xref+a.yref;l.setClipUrl(e,"clip"+t._fullLayout._uid+r,t)}function g(e){p(e)&&e._fullLayout._activeSelectionIndex>=0&&(i(e),delete e._fullLayout._activeSelectionIndex,u(e))}e.exports={draw:u,drawOne:h,activateLastSelection:function(e){if(p(e)){var t=e._fullLayout.selections.length-1;e._fullLayout._activeSelectionIndex=t,e._fullLayout._deactivateSelection=g,u(e)}}}},70409(e,t,a){var r=a(7396),n=a(57365),i=a(6535),o=a(30991),l=o.pushUnique,s=o.strTranslate,c=o.strRotate,d=a(77158),u=a(1609),p=a(90848),h=a(92765),f=a(29904),g=a(18613),m=a(15076),v=a(77060).zindexSeparator,y=a(13936),x=a(2918),b=a(32778),_=a(57464),w=a(77628),k=b.YANGLE,T=Math.PI*k/180,A=1/Math.sin(T),M=Math.cos(T),S=Math.sin(T),L=b.HOVERARROWSIZE,O=b.HOVERTEXTPAD,D={box:!0,ohlc:!0,violin:!0,candlestick:!0},j={scatter:!0,scattergl:!0,splom:!0};function I(e,t){return e.distance-t.distance}function z(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(",")}t.hover=function(e,t,a,i){e=o.getGraphDiv(e);var s=t.target;o.throttle(e._fullLayout._uid+b.HOVERID,b.HOVERMINTIME,function(){!function(e,t,a,i,s){a||(a="xy"),"string"==typeof a&&(a=a.split(v)[0]);var c,u,h,b=Array.isArray(a)?a:[a],_=e._fullLayout,w=_.hoversubplots,k=_._plots||[],T=k[a],M=_._has("cartesian"),S=t.hovermode||_.hovermode,O="x"===(S||"").charAt(0),C="y"===(S||"").charAt(0);if(M&&(O||C)&&"axis"===w)for(var R=b.length,V=0;VJ[0]._length||_e<0||_e>Q[0]._length)return g.unhoverRaw(e,t)}else be="xpx"in t?t.xpx:J[0]._length/2,_e="ypx"in t?t.ypx:Q[0]._length/2;if(t.pointerX=be+J[0]._offset,t.pointerY=_e+Q[0]._offset,re="xval"in t?x.flat(b,t.xval):x.p2c(J,be),ne="yval"in t?x.flat(b,t.yval):x.p2c(Q,_e),!n(re[0])||!n(ne[0]))return o.warn("Fx.hover failed",t,e),g.unhoverRaw(e,t)}var Ae=1/0;function Me(a,r){for(oe=0;oege&&(me.splice(0,ge),Ae=me[0].distance),M&&0!==ae&&0===me.length){fe.distance=ae,fe.index=!1;var d=se._module.hoverPoints(fe,pe,he,"closest",{hoverLayer:_._hoverlayer});if(d&&(d=d.filter(function(e){return e.spikeDistance<=ae})),d&&d.length){var u,p=d.filter(function(e){return e.xa.showspikes&&"hovered data"!==e.xa.spikesnap});if(p.length){var h=p[0];n(h.x0)&&n(h.y0)&&(u=Le(h),(!ye.vLinePoint||ye.vLinePoint.spikeDistance>u.spikeDistance)&&(ye.vLinePoint=u))}var g=d.filter(function(e){return e.ya.showspikes&&"hovered data"!==e.ya.spikesnap});if(g.length){var m=g[0];n(m.x0)&&n(m.y0)&&(u=Le(m),(!ye.hLinePoint||ye.hLinePoint.spikeDistance>u.spikeDistance)&&(ye.hLinePoint=u))}}}}}function Se(e,t,a){for(var r,n=null,i=1/0,o=0;o0&&Math.abs(e.distance)Ee-1;Be--)Ge(me[Be]);me=He,Ie()}var qe=e._hoverdata,Ze=[],We=G(e),Ye=q(e);for(ie=0;ie1||me.length>1)||"closest"===S&&xe&&me.length>1,lt=f.combine(_.plot_bgcolor||f.background,_.paper_bgcolor),st=P(me,{gd:e,hovermode:S,rotateLabels:ot,bgColor:lt,container:_._hoverlayer,outerContainer:_._paper.node(),commonLabelOpts:_.hoverlabel,hoverdistance:_.hoverdistance}),ct=st.hoverLabels;if(x.isUnifiedHover(S)||(function(e,t,a,r){var n,i,o,l,s,c,d,u=t?"xa":"ya",p=t?"ya":"xa",h=0,f=1,g=e.size(),m=new Array(g),v=0,y=r.minX,x=r.maxX,b=r.minY,_=r.maxY,w=function(e){return e*a._invScaleX},k=function(e){return e*a._invScaleY};function T(e){var t=e[0],a=e[e.length-1];if(i=t.pmin-t.pos-t.dp+t.size,o=a.pos+a.dp+a.size-t.pmax,i>.01){for(s=e.length-1;s>=0;s--)e[s].dp+=i;n=!1}if(!(o<.01)){if(i<-.01){for(s=e.length-1;s>=0;s--)e[s].dp-=o;n=!1}if(n){var r=0;for(l=0;lt.pmax&&r++;for(l=e.length-1;l>=0&&!(r<=0);l--)(c=e[l]).pos>t.pmax-1&&(c.del=!0,r--);for(l=0;l=0;s--)e[s].dp-=o;for(l=e.length-1;l>=0&&!(r<=0);l--)(c=e[l]).pos+c.dp+c.size>t.pmax&&(c.del=!0,r--)}}}for(e.each(function(e){var r=e[u],n=e[p],i="x"===r._id.charAt(0),o=r.range;0===v&&o&&o[0]>o[1]!==i&&(f=-1);var l=0,s=i?a.width:a.height;if("x"===a.hovermode||"y"===a.hovermode){var c,d,h=F(e,t),g=e.anchor,T="end"===g?-1:1;if("middle"===g)d=(c=e.crossPos+(i?k(h.y-e.by/2):w(e.bx/2+e.tx2width/2)))+(i?k(e.by):w(e.bx));else if(i)d=(c=e.crossPos+k(L+h.y)-k(e.by/2-L))+k(e.by);else{var M=w(T*L+h.x),S=M+w(T*e.bx);c=e.crossPos+Math.min(M,S),d=e.crossPos+Math.max(M,S)}i?void 0!==b&&void 0!==_&&Math.min(d,_)-Math.max(c,b)>1&&("left"===n.side?(l=n._mainLinePosition,s=a.width):s=n._mainLinePosition):void 0!==y&&void 0!==x&&Math.min(d,x)-Math.max(c,y)>1&&("top"===n.side?(l=n._mainLinePosition,s=a.height):s=n._mainLinePosition)}m[v++]=[{datum:e,traceIndex:e.trace.index,dp:0,pos:e.pos,posref:e.posref,size:e.by*(i?A:1)/2,pmin:l,pmax:s}]}),m.sort(function(e,t){return e[0].posref-t[0].posref||f*(t[0].traceIndex-e[0].traceIndex)});!n&&h<=g;){for(h++,n=!0,l=0;l.01){for(s=S.length-1;s>=0;s--)S[s].dp+=i;for(M.push.apply(M,S),m.splice(l+1,1),d=0,s=M.length-1;s>=0;s--)d+=M[s].dp;for(o=d/M.length,s=M.length-1;s>=0;s--)M[s].dp-=o;n=!1}else l++}m.forEach(T)}for(l=m.length-1;l>=0;l--){var j=m[l];for(s=j.length-1;s>=0;s--){var I=j[s],z=I.datum;z.offset=I.dp,z.del=I.del}}}(ct,ot,_,st.commonLabelBoundingBox),N(ct,ot,_._invScaleX,_._invScaleY)),s&&s.tagName){var dt=y.getComponentMethod("annotations","hasClickToShow")(e,Ze);p(r.select(s),dt?"pointer":"")}s&&!i&&function(e,t,a){if(!a||a.length!==e._hoverdata.length)return!0;for(var r=a.length-1;r>=0;r--){var n=a[r],i=e._hoverdata[r];if(n.curveNumber!==i.curveNumber||String(n.pointNumber)!==String(i.pointNumber)||String(n.pointNumbers)!==String(i.pointNumbers))return!0}return!1}(e,0,qe)&&(qe&&e.emit("plotly_unhover",{event:t,points:qe}),e.emit("plotly_hover",{event:t,points:e._hoverdata,xaxes:J,yaxes:Q,xvals:re,yvals:ne}))}(e,t,a,i,s)})},t.loneHover=function(e,t){var a=!0;Array.isArray(e)||(a=!1,e=[e]);var n=t.gd,i=G(n),o=q(n),l=!1,s=P(e.map(function(e){var a=e._x0||e.x0||e.x||0,r=e._x1||e.x1||e.x||0,l=e._y0||e.y0||e.y||0,s=e._y1||e.y1||e.y||0,c=e.eventData;if(c){var d=Math.min(a,r),u=Math.max(a,r),p=Math.min(l,s),h=Math.max(l,s),g=e.trace;if(y.traceIs(g,"gl3d")){var m=n._fullLayout[g.scene]._scene.container,v=m.offsetLeft,x=m.offsetTop;d+=v,u+=v,p+=x,h+=x}c.bbox={x0:d+o,x1:u+o,y0:p+i,y1:h+i},t.inOut_bbox&&t.inOut_bbox.push(c.bbox)}else c=!1;return{color:e.color||f.defaultLine,x0:e.x0||e.x||0,x1:e.x1||e.x||0,y0:e.y0||e.y||0,y1:e.y1||e.y||0,xLabel:e.xLabel,yLabel:e.yLabel,zLabel:e.zLabel,text:e.text,name:e.name,idealAlign:e.idealAlign,borderColor:e.borderColor,fontFamily:e.fontFamily,fontSize:e.fontSize,fontColor:e.fontColor,fontWeight:e.fontWeight,fontStyle:e.fontStyle,fontVariant:e.fontVariant,nameLength:e.nameLength,textAlign:e.textAlign,trace:e.trace||{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:e.hovertemplate||!1,hovertemplateLabels:e.hovertemplateLabels||!1,eventData:c}}),{gd:n,hovermode:"closest",rotateLabels:l,bgColor:t.bgColor||f.background,container:r.select(t.container),outerContainer:t.outerContainer||t.container}).hoverLabels,c=0,d=0;return s.sort(function(e,t){return e.y0-t.y0}).each(function(e,a){var r=e.y0-e.by/2;e.offset=r-5([\s\S]*)<\/extra>/;function P(e,t){var a=t.gd,n=a._fullLayout,i=t.hovermode,l=t.rotateLabels,d=t.bgColor,p=t.container,g=t.outerContainer,m=t.commonLabelOpts||{};if(0===e.length)return[[]];var v=t.fontFamily||b.HOVERFONT,T=t.fontSize||b.HOVERFONTSIZE,A=t.fontWeight||n.font.weight,M=t.fontStyle||n.font.style,S=t.fontVariant||n.font.variant,D=t.fontTextcase||n.font.textcase,j=t.fontLineposition||n.font.lineposition,I=t.fontShadow||n.font.shadow,C=e[0],P=C.xa,F=C.ya,N=i.charAt(0),E=N+"Label",B=C[E];if(void 0===B&&"multicategory"===P.type)for(var H=0;Hn.width-k&&(z=n.width-k),t.attr("d","M"+(x-z)+",0L"+(x-z+L)+","+w+L+"H"+k+"v"+w+(2*O+_.height)+"H"+-k+"V"+w+L+"H"+(x-z-L)+"Z"),x=z,$.minX=x-k,$.maxX=x+k,"top"===P.side?($.minY=b-(2*O+_.height),$.maxY=b-O):($.minY=b+O,$.maxY=b+(2*O+_.height))}else{var R,N,E;"right"===F.side?(R="start",N=1,E="",x=P._offset+P._length):(R="end",N=-1,E="-",x=P._offset),b=F._offset+(C.y0+C.y1)/2,l.attr("text-anchor",R),t.attr("d","M0,0L"+E+L+","+L+"V"+(O+_.height/2)+"h"+E+(2*O+_.width)+"V-"+(O+_.height/2)+"H"+E+L+"V-"+L+"Z"),$.minY=b-(O+_.height/2),$.maxY=b+(O+_.height/2),"right"===F.side?($.minX=x+L,$.maxX=x+L+(2*O+_.width)):($.minX=x-L-(2*O+_.width),$.maxX=x-L);var H,V=_.height/2,G=U-_.top-V,q="clip"+n._uid+"commonlabel"+F._id;if(x<_.width+2*O+L){H="M-"+(L+O)+"-"+V+"h-"+(_.width-O)+"V"+V+"h"+(_.width-O)+"Z";var W=_.width-x+O;u.positionText(l,W,G),"end"===R&&l.selectAll("tspan").each(function(){var e=r.select(this),t=h.tester.append("text").text(e.text()).call(h.font,y),n=Z(a,t.node());Math.round(n.width)=0?fe:ge+ye=0?ge:Me+ye=0?pe:he+xe=0?he:Se+xe=0,"top"!==e.idealAlign&&Q||!K?Q?(E+=V/2,e.anchor="start"):e.anchor="middle":(E-=V/2,e.anchor="end"),e.crossPos=E;else{if(e.pos=E,Q=N+H/2+$<=G,K=N-H/2-$>=0,"left"!==e.idealAlign&&Q||!K)if(Q)N+=H/2,e.anchor="start";else{e.anchor="middle";var ee=$/2,te=N+ee-G,ae=N-ee;te>0&&(N-=te),ae<0&&(N+=-ae)}else N-=H/2,e.anchor="end";e.crossPos=N}w.attr("text-anchor",e.anchor),C&&z.attr("text-anchor",e.anchor),t.attr("transform",s(N,E)+(l?c(k):""))}),{hoverLabels:Le,commonLabelBoundingBox:$}}function R(e,t,a,r,n,i){var l="",s="";void 0!==e.nameOverride&&(e.name=e.nameOverride),e.name&&(e.trace._meta&&(e.name=o.templateString(e.name,e.trace._meta)),l=V(e.name,e.nameLength));var c=a.charAt(0),d="x"===c?"y":"x";void 0!==e.zLabel?(void 0!==e.xLabel&&(s+="x: "+e.xLabel+"
"),void 0!==e.yLabel&&(s+="y: "+e.yLabel+"
"),"choropleth"!==e.trace.type&&"choroplethmapbox"!==e.trace.type&&"choroplethmap"!==e.trace.type&&(s+=(s?"z: ":"")+e.zLabel)):t&&e[c+"Label"]===n?s=e[d+"Label"]||"":void 0===e.xLabel?void 0!==e.yLabel&&"scattercarpet"!==e.trace.type&&(s=e.yLabel):s=void 0===e.yLabel?e.xLabel:"("+e.xLabel+", "+e.yLabel+")",!e.text&&0!==e.text||Array.isArray(e.text)||(s+=(s?"
":"")+e.text),void 0!==e.extraText&&(s+=(s?"
":"")+e.extraText),i&&""===s&&!e.hovertemplate&&(""===l&&i.remove(),s=l);var u=e.hovertemplate||!1;if(u){var p=e.hovertemplateLabels||e;e[c+"Label"]!==n&&(p[c+"other"]=p[c+"Val"],p[c+"otherLabel"]=p[c+"Label"]),s=(s=o.hovertemplateString(u,p,r._d3locale,e.eventData[0]||{},e.trace._meta)).replace(C,function(t,a){return l=V(a,e.nameLength),""})}return[s,l]}function F(e,t){var a=0,r=e.offset;return t&&(r*=-S,a=e.offset*M),{x:a,y:r}}function N(e,t,a,n){var i=function(e){return e*a},o=function(e){return e*n};e.each(function(e){var a=r.select(this);if(e.del)return a.remove();var n,l,s,c,d=a.select("text.nums"),p=e.anchor,f="end"===p?-1:1,g=(c=(s=(l={start:1,end:-1,middle:0}[(n=e).anchor])*(L+O))+l*(n.txwidth+O),"middle"===n.anchor&&(s-=n.tx2width/2,c+=n.txwidth/2+O),{alignShift:l,textShiftX:s,text2ShiftX:c}),m=F(e,t),v=m.x,y=m.y,x="middle"===p;a.select("path").attr("d",x?"M-"+i(e.bx/2+e.tx2width/2)+","+o(y-e.by/2)+"h"+i(e.bx)+"v"+o(e.by)+"h-"+i(e.bx)+"Z":"M0,0L"+i(f*L+v)+","+o(L+y)+"v"+o(e.by/2-L)+"h"+i(f*e.bx)+"v-"+o(e.by)+"H"+i(f*L+v)+"V"+o(y-L)+"Z");var b=v+g.textShiftX,_=y+e.ty0-e.by/2+O,w=e.textAlign||"auto";"auto"!==w&&("left"===w&&"start"!==p?(d.attr("text-anchor","start"),b=x?-e.bx/2-e.tx2width/2+O:-e.bx-O):"right"===w&&"end"!==p&&(d.attr("text-anchor","end"),b=x?e.bx/2-e.tx2width/2-O:e.bx+O)),d.call(u.positionText,i(b),o(_)),e.tx2width&&(a.select("text.name").call(u.positionText,i(g.text2ShiftX+g.alignShift*O+v),o(y+e.ty0-e.by/2+O)),a.select("rect").call(h.setRect,i(g.text2ShiftX+(g.alignShift-1)*e.tx2width/2+v),o(y-e.by/2-1),i(e.tx2width),o(e.by+2)))})}function E(e,t){var a=e.index,r=e.trace||{},i=e.cd[0],l=e.cd[a]||{};function s(e){return e||n(e)&&0===e}var c=Array.isArray(a)?function(e,t){var n=o.castOption(i,a,e);return s(n)?n:o.extractOption({},r,"",t)}:function(e,t){return o.extractOption(l,r,e,t)};function d(t,a,r){var n=c(a,r);s(n)&&(e[t]=n)}if(d("hoverinfo","hi","hoverinfo"),d("bgcolor","hbg","hoverlabel.bgcolor"),d("borderColor","hbc","hoverlabel.bordercolor"),d("fontFamily","htf","hoverlabel.font.family"),d("fontSize","hts","hoverlabel.font.size"),d("fontColor","htc","hoverlabel.font.color"),d("fontWeight","htw","hoverlabel.font.weight"),d("fontStyle","hty","hoverlabel.font.style"),d("fontVariant","htv","hoverlabel.font.variant"),d("nameLength","hnl","hoverlabel.namelength"),d("textAlign","hta","hoverlabel.align"),e.posref="y"===t||"closest"===t&&"h"===r.orientation?e.xa._offset+(e.x0+e.x1)/2:e.ya._offset+(e.y0+e.y1)/2,e.x0=o.constrain(e.x0,0,e.xa._length),e.x1=o.constrain(e.x1,0,e.xa._length),e.y0=o.constrain(e.y0,0,e.ya._length),e.y1=o.constrain(e.y1,0,e.ya._length),void 0!==e.xLabelVal&&(e.xLabel="xLabel"in e?e.xLabel:m.hoverLabelText(e.xa,e.xLabelVal,r.xhoverformat),e.xVal=e.xa.c2d(e.xLabelVal)),void 0!==e.yLabelVal&&(e.yLabel="yLabel"in e?e.yLabel:m.hoverLabelText(e.ya,e.yLabelVal,r.yhoverformat),e.yVal=e.ya.c2d(e.yLabelVal)),void 0!==e.zLabelVal&&void 0===e.zLabel&&(e.zLabel=String(e.zLabelVal)),!(isNaN(e.xerr)||"log"===e.xa.type&&e.xerr<=0)){var u=m.tickText(e.xa,e.xa.c2l(e.xerr),"hover").text;void 0!==e.xerrneg?e.xLabel+=" +"+u+" / -"+m.tickText(e.xa,e.xa.c2l(e.xerrneg),"hover").text:e.xLabel+=" ± "+u,"x"===t&&(e.distance+=1)}if(!(isNaN(e.yerr)||"log"===e.ya.type&&e.yerr<=0)){var p=m.tickText(e.ya,e.ya.c2l(e.yerr),"hover").text;void 0!==e.yerrneg?e.yLabel+=" +"+p+" / -"+m.tickText(e.ya,e.ya.c2l(e.yerrneg),"hover").text:e.yLabel+=" ± "+p,"y"===t&&(e.distance+=1)}var h=e.hoverinfo||e.trace.hoverinfo;return h&&"all"!==h&&(-1===(h=Array.isArray(h)?h:h.split("+")).indexOf("x")&&(e.xLabel=void 0),-1===h.indexOf("y")&&(e.yLabel=void 0),-1===h.indexOf("z")&&(e.zLabel=void 0),-1===h.indexOf("text")&&(e.text=void 0),-1===h.indexOf("name")&&(e.name=void 0)),e}function B(e,t,a){var r,n,o=a.container,l=a.fullLayout,s=l._size,c=a.event,d=!!t.hLinePoint,u=!!t.vLinePoint;if(o.selectAll(".spikeline").remove(),u||d){var p=f.combine(l.plot_bgcolor,l.paper_bgcolor);if(d){var g,v,y=t.hLinePoint;r=y&&y.xa,"cursor"===(n=y&&y.ya).spikesnap?(g=c.pointerX,v=c.pointerY):(g=r._offset+y.x,v=n._offset+y.y);var x,b,_=i.readability(y.color,p)<1.5?f.contrast(p):y.color,w=n.spikemode,k=n.spikethickness,T=n.spikecolor||_,A=m.getPxPosition(e,n);if(-1!==w.indexOf("toaxis")||-1!==w.indexOf("across")){if(-1!==w.indexOf("toaxis")&&(x=A,b=g),-1!==w.indexOf("across")){var M=n._counterDomainMin,S=n._counterDomainMax;"free"===n.anchor&&(M=Math.min(M,n.position),S=Math.max(S,n.position)),x=s.l+M*s.w,b=s.l+S*s.w}o.insert("line",":first-child").attr({x1:x,x2:b,y1:v,y2:v,"stroke-width":k,stroke:T,"stroke-dasharray":h.dashStyle(n.spikedash,k)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:x,x2:b,y1:v,y2:v,"stroke-width":k+2,stroke:p}).classed("spikeline",!0).classed("crisp",!0)}-1!==w.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:A+("right"!==n.side?k:-k),cy:v,r:k,fill:T}).classed("spikeline",!0)}if(u){var L,O,D=t.vLinePoint;r=D&&D.xa,n=D&&D.ya,"cursor"===r.spikesnap?(L=c.pointerX,O=c.pointerY):(L=r._offset+D.x,O=n._offset+D.y);var j,I,z=i.readability(D.color,p)<1.5?f.contrast(p):D.color,C=r.spikemode,P=r.spikethickness,R=r.spikecolor||z,F=m.getPxPosition(e,r);if(-1!==C.indexOf("toaxis")||-1!==C.indexOf("across")){if(-1!==C.indexOf("toaxis")&&(j=F,I=O),-1!==C.indexOf("across")){var N=r._counterDomainMin,E=r._counterDomainMax;"free"===r.anchor&&(N=Math.min(N,r.position),E=Math.max(E,r.position)),j=s.t+(1-E)*s.h,I=s.t+(1-N)*s.h}o.insert("line",":first-child").attr({x1:L,x2:L,y1:j,y2:I,"stroke-width":P,stroke:R,"stroke-dasharray":h.dashStyle(r.spikedash,P)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:L,x2:L,y1:j,y2:I,"stroke-width":P+2,stroke:p}).classed("spikeline",!0).classed("crisp",!0)}-1!==C.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:L,cy:F-("top"!==r.side?P:-P),r:P,fill:R}).classed("spikeline",!0)}}}function H(e,t){return!t||t.vLinePoint!==e._spikepoints.vLinePoint||t.hLinePoint!==e._spikepoints.hLinePoint}function V(e,t){return u.plainText(e||"",{len:t,allowedTags:["br","sub","sup","b","i","em","s","u"]})}function U(e,t,a){var r=t[e+"a"],n=t[e+"Val"],i=t.cd[0];if("category"===r.type||"multicategory"===r.type)n=r._categoriesMap[n];else if("date"===r.type){var o=t.trace[e+"periodalignment"];if(o){var l=t.cd[t.index],s=l[e+"Start"];void 0===s&&(s=l[e]);var c=l[e+"End"];void 0===c&&(c=l[e]);var d=c-s;"end"===o?n+=d:"middle"===o&&(n+=d/2)}n=r.d2c(n)}return i&&i.t&&i.t.posLetter===r._id&&("group"!==a.boxmode&&"group"!==a.violinmode||(n+=i.t.dPos)),n}function G(e){return e.offsetTop+e.clientTop}function q(e){return e.offsetLeft+e.clientLeft}function Z(e,t){var a=e._fullLayout,r=t.getBoundingClientRect(),n=r.left,i=r.top,l=n+r.width,s=i+r.height,c=o.apply3DTransform(a._invTransform)(n,i),d=o.apply3DTransform(a._invTransform)(l,s),u=c[0],p=c[1],h=d[0],f=d[1];return{x:u,y:p,width:h-u,height:f-p,top:Math.min(p,f),left:Math.min(u,h),right:Math.max(u,h),bottom:Math.max(p,f)}}},70756(e,t,a){var r=a(91307).extendFlat,n=a(37816),i={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(" ")},o={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=i.flags.slice().concat(["fullReplot"]),s=o.flags.slice().concat("layoutReplot");function c(e){for(var t={},a=0;as&&D[v].gap;)v--;for(x=D[v].s,g=D.length-1;g>v;g--)D[g].s=x;for(;s0||a.explicitOff.length>0},onClick:function(e,t){var a,l,s=o(e,t),c=s.on,d=s.off.concat(s.explicitOff),u={},p=e._fullLayout.annotations;if(c.length||d.length){for(a=0;a* (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(" ")},v={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(" ")},y={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(" ")},x={valType:"enumerated",values:["outside","inside",""],editType:"ticks",description:["Determines whether ticks are drawn or not.","If **, this axis' ticks are not drawn.","If *outside* (*inside*), this axis' are drawn outside (inside)","the axis lines."].join(" ")};function b(e){var t={valType:"number",min:0,editType:"ticks",description:"Sets the tick length (in px)."};return e||(t.dflt=5),t}function _(e){var t={valType:"number",min:0,editType:"ticks",description:"Sets the tick width (in px)."};return e||(t.dflt=1),t}var w={valType:"color",dflt:n.defaultLine,editType:"ticks",description:"Sets the tick color."},k={valType:"color",dflt:n.lightLine,editType:"ticks",description:"Sets the color of the grid lines."};function T(e){var t={valType:"number",min:0,editType:"ticks",description:"Sets the width (in px) of the grid lines."};return e||(t.dflt=1),t}var A=o({},i,{editType:"ticks"}),M={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(" ")};e.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:n.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:r({editType:"ticks",description:["Sets this axis' title font.","Note that the title's font used to be customized","by the now deprecated `titlefont` attribute."].join(" ")}),standoff:{valType:"number",min:0,editType:"ticks",description:["Sets the standoff distance (in px) between the axis labels and the title text","The default value is a function of the axis tick labels, the title `font.size`","and the axis `linewidth`.","Note that the axis title position is always constrained within the margins,","so the actual standoff distance is always less than the set or default value.","By setting `standoff` and turning on `automargin`, plotly.js will push the","margins to fit the axis title at given standoff distance."].join(" ")},editType:"ticks"},type:{valType:"enumerated",values:["-","linear","log","date","category","multicategory"],dflt:"-",editType:"calc",_noTemplating:!0,description:["Sets the axis type.","By default, plotly attempts to determined the axis type","by looking into the data of the traces that referenced","the axis in question."].join(" ")},autotypenumbers:{valType:"enumerated",values:["convert types","strict"],dflt:"convert types",editType:"calc",description:["Using *strict* a numeric string in trace data is not converted to a number.","Using *convert types* a numeric string in trace data may be","treated as a number during automatic axis `type` detection.","Defaults to layout.autotypenumbers."].join(" ")},autorange:{valType:"enumerated",values:[!0,!1,"reversed","min reversed","max reversed","min","max"],dflt:!0,editType:"axrange",impliedEdits:{"range[0]":void 0,"range[1]":void 0},description:["Determines whether or not the range of this axis is","computed in relation to the input data.","See `rangemode` for more info.","If `range` is provided and it has a value for both the","lower and upper bound, `autorange` is set to *false*.","Using *min* applies autorange only to set the minimum.","Using *max* applies autorange only to set the maximum.","Using *min reversed* applies autorange only to set the minimum on a reversed axis.","Using *max reversed* applies autorange only to set the maximum on a reversed axis.","Using *reversed* applies autorange on both ends and reverses the axis direction."].join(" ")},autorangeoptions:{minallowed:{valType:"any",editType:"plot",impliedEdits:{"range[0]":void 0,"range[1]":void 0},description:["Use this value exactly as autorange minimum."].join(" ")},maxallowed:{valType:"any",editType:"plot",impliedEdits:{"range[0]":void 0,"range[1]":void 0},description:["Use this value exactly as autorange maximum."].join(" ")},clipmin:{valType:"any",editType:"plot",impliedEdits:{"range[0]":void 0,"range[1]":void 0},description:["Clip autorange minimum if it goes beyond this value.","Has no effect when `autorangeoptions.minallowed` is provided."].join(" ")},clipmax:{valType:"any",editType:"plot",impliedEdits:{"range[0]":void 0,"range[1]":void 0},description:["Clip autorange maximum if it goes beyond this value.","Has no effect when `autorangeoptions.maxallowed` is provided."].join(" ")},include:{valType:"any",arrayOk:!0,editType:"plot",impliedEdits:{"range[0]":void 0,"range[1]":void 0},description:["Ensure this value is included in autorange."].join(" ")},editType:"plot"},rangemode:{valType:"enumerated",values:["normal","tozero","nonnegative"],dflt:"normal",editType:"plot",description:["If *normal*, the range is computed in relation to the extrema","of the input data.","If *tozero*`, the range extends to 0,","regardless of the input data","If *nonnegative*, the range is non-negative,","regardless of the input data.","Applies only to linear axes."].join(" ")},range:{valType:"info_array",items:[{valType:"any",editType:"axrange",impliedEdits:{"^autorange":!1},anim:!0},{valType:"any",editType:"axrange",impliedEdits:{"^autorange":!1},anim:!0}],editType:"axrange",impliedEdits:{autorange:!1},anim:!0,description:["Sets the range of this axis.","If the axis `type` is *log*, then you must take the log of your","desired range (e.g. to set the range from 1 to 100,","set the range from 0 to 2).","If the axis `type` is *date*, it should be date strings,","like date data, though Date objects and unix milliseconds","will be accepted and converted to strings.","If the axis `type` is *category*, it should be numbers,","using the scale where each category is assigned a serial","number from zero in the order it appears.","Leaving either or both elements `null` impacts the default `autorange`."].join(" ")},minallowed:{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1},description:["Determines the minimum range of this axis."].join(" ")},maxallowed:{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1},description:["Determines the maximum range of this axis."].join(" ")},fixedrange:{valType:"boolean",dflt:!1,editType:"calc",description:["Determines whether or not this axis is zoom-able.","If true, then zoom is disabled."].join(" ")},insiderange:{valType:"info_array",items:[{valType:"any",editType:"plot"},{valType:"any",editType:"plot"}],editType:"plot",description:["Could be used to set the desired inside range of this axis","(excluding the labels) when `ticklabelposition` of","the anchored axis has *inside*.","Not implemented for axes with `type` *log*.","This would be ignored when `range` is provided."].join(" ")},scaleanchor:{valType:"enumerated",values:[d.idRegex.x.toString(),d.idRegex.y.toString(),!1],editType:"plot",description:["If set to another axis id (e.g. `x2`, `y`), the range of this axis","changes together with the range of the corresponding axis","such that the scale of pixels per unit is in a constant ratio.","Both axes are still zoomable, but when you zoom one, the other will","zoom the same amount, keeping a fixed midpoint.","`constrain` and `constraintoward` determine how we enforce the constraint.","You can chain these, ie `yaxis: {scaleanchor: *x*}, xaxis2: {scaleanchor: *y*}`","but you can only link axes of the same `type`.","The linked axis can have the opposite letter (to constrain the aspect ratio)","or the same letter (to match scales across subplots).","Loops (`yaxis: {scaleanchor: *x*}, xaxis: {scaleanchor: *y*}` or longer) are redundant","and the last constraint encountered will be ignored to avoid possible","inconsistent constraints via `scaleratio`.","Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint","is currently forbidden.","Setting `false` allows to remove a default constraint (occasionally,","you may need to prevent a default `scaleanchor` constraint from",'being applied, eg. when having an image trace `yaxis: {scaleanchor: "x"}`',"is set automatically in order for pixels to be rendered as squares,","setting `yaxis: {scaleanchor: false}` allows to remove the constraint)."].join(" ")},scaleratio:{valType:"number",min:0,dflt:1,editType:"plot",description:["If this axis is linked to another by `scaleanchor`, this determines the pixel","to unit scale ratio. For example, if this value is 10, then every unit on","this axis spans 10 times the number of pixels as a unit on the linked axis.","Use this for example to create an elevation profile where the vertical scale","is exaggerated a fixed amount with respect to the horizontal."].join(" ")},constrain:{valType:"enumerated",values:["range","domain"],editType:"plot",description:["If this axis needs to be compressed (either due to its own `scaleanchor` and","`scaleratio` or those of the other axis), determines how that happens:","by increasing the *range*, or by decreasing the *domain*.","Default is *domain* for axes containing image traces, *range* otherwise."].join(" ")},constraintoward:{valType:"enumerated",values:["left","center","right","top","middle","bottom"],editType:"plot",description:["If this axis needs to be compressed (either due to its own `scaleanchor` and","`scaleratio` or those of the other axis), determines which direction we push","the originally specified plot area. Options are *left*, *center* (default),","and *right* for x axes, and *top*, *middle* (default), and *bottom* for y axes."].join(" ")},matches:{valType:"enumerated",values:[d.idRegex.x.toString(),d.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:l("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:[p,u,""],editType:"calc",description:["Determines a pattern on the time line that generates breaks.","If *"+p+"* - 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 *"+u+"* - hour (24-hour clock) as decimal numbers between 0 and 24.","for more info.","Examples:","- { pattern: '"+p+"', bounds: [6, 1] }"," or simply { bounds: ['sat', 'mon'] }"," breaks from Saturday to Monday (i.e. skips the weekends).","- { pattern: '"+u+"', 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:c,description:["Sets the size of each `values` item.","The default is one day in milliseconds."].join(" ")},editType:"calc"}),tickmode:f,nticks:g(),tick0:m,dtick:v,ticklabelstep:{valType:"integer",min:1,dflt:1,editType:"ticks",description:["Sets the spacing between tick labels as compared to the spacing between ticks.","A value of 1 (default) means each tick gets a label.","A value of 2 means shows every 2nd label.","A larger value n means only every nth tick is labeled.","`tick0` determines which labels are shown.","Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*."].join(" ")},tickvals:y,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:x,tickson:{valType:"enumerated",values:["labels","boundaries"],dflt:"labels",editType:"ticks",description:["Determines where ticks and grid lines are drawn with respect to their","corresponding tick labels.","Only has an effect for axes of `type` *category* or *multicategory*.","When set to *boundaries*, ticks and grid lines are drawn half a category","to the left/bottom of labels."].join(" ")},ticklabelmode:{valType:"enumerated",values:["instant","period"],dflt:"instant",editType:"ticks",description:["Determines where tick labels are drawn with respect to their","corresponding ticks and grid lines.","Only has an effect for axes of `type` *date*","When set to *period*, tick labels are drawn in the middle of the period","between ticks."].join(" ")},ticklabelposition:{valType:"enumerated",values:["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"],dflt:"outside",editType:"calc",description:["Determines where tick labels are drawn with respect to the axis","Please note that","top or bottom has no effect on x axes or when `ticklabelmode` is set to *period*.","Similarly","left or right has no effect on y axes or when `ticklabelmode` is set to *period*.","Has no effect on *multicategory* axes or when `tickson` is set to *boundaries*.","When used on axes linked by `matches` or `scaleanchor`,","no extra padding for inside labels would be added by autorange,","so that the scales could match."].join(" ")},ticklabeloverflow:{valType:"enumerated",values:["allow","hide past div","hide past domain"],editType:"calc",description:["Determines how we handle tick labels that would overflow either the graph div or the domain of the axis.","The default value for inside tick labels is *hide past domain*.","Otherwise on *category* and *multicategory* axes the default is *allow*.","In other cases the default is *hide past div*."].join(" ")},ticklabelshift:{valType:"integer",dflt:0,editType:"ticks",description:["Shifts the tick labels by the specified number of pixels in parallel to the axis.","Positive values move the labels in the positive direction of the axis."].join(" ")},ticklabelstandoff:{valType:"integer",dflt:0,editType:"ticks",description:["Sets the standoff distance (in px) between the axis tick labels and their default position.","A positive `ticklabelstandoff` moves the labels farther away from the plot area","if `ticklabelposition` is *outside*, and deeper into the plot area if","`ticklabelposition` is *inside*. A negative `ticklabelstandoff` works in the opposite","direction, moving outside ticks towards the plot area and inside ticks towards","the outside. If the negative value is large enough, inside ticks can even end up","outside and vice versa."].join(" ")},ticklabelindex:{valType:"integer",arrayOk:!0,editType:"calc",description:["Only for axes with `type` *date* or *linear*.","Instead of drawing the major tick label, draw the label for the minor tick","that is n positions away from the major tick. E.g. to always draw the label for the","minor tick before each major tick, choose `ticklabelindex` -1. This is useful for date","axes with `ticklabelmode` *period* if you want to label the period that ends with each","major tick instead of the period that begins there."].join(" ")},mirror:{valType:"enumerated",values:[!0,"ticks",!1,"all","allticks"],dflt:!1,editType:"ticks+layoutstyle",description:["Determines if the axis lines or/and ticks are mirrored to","the opposite side of the plotting area.","If *true*, the axis lines are mirrored.","If *ticks*, the axis lines and ticks are mirrored.","If *false*, mirroring is disable.","If *all*, axis lines are mirrored on all shared-axes subplots.","If *allticks*, axis lines and ticks are mirrored","on all shared-axes subplots."].join(" ")},ticklen:b(),tickwidth:_(),tickcolor:w,showticklabels:{valType:"boolean",dflt:!0,editType:"ticks",description:"Determines whether or not the tick labels are drawn."},labelalias:{valType:"any",dflt:!1,editType:"ticks",description:["Replacement text for specific tick or hover labels.","For example using {US: 'USA', CA: 'Canada'} changes US to USA","and CA to Canada. The labels we would have shown must match","the keys exactly, after adding any tickprefix or ticksuffix.","For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash.","That means you need to use −1 instead of -1.","labelalias can be used with any axis type, and both keys (if needed)","and values (if desired) can include html-like tags or MathJax."].join(" ")},automargin:{valType:"flaglist",flags:["height","width","left","right","top","bottom"],extras:[!0,!1],dflt:!1,editType:"ticks",description:["Determines whether long tick labels automatically grow the figure","margins."].join(" ")},showspikes:{valType:"boolean",dflt:!1,editType:"modebar",description:["Determines whether or not spikes (aka droplines) are drawn for this axis.","Note: This only takes affect when hovermode = closest"].join(" ")},spikecolor:{valType:"color",dflt:null,editType:"none",description:"Sets the spike color. If undefined, will use the series color"},spikethickness:{valType:"number",dflt:3,editType:"none",description:"Sets the width (in px) of the zero line."},spikedash:o({},i,{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:r({editType:"ticks",description:"Sets the tick font."}),tickangle:{valType:"angle",dflt:"auto",editType:"ticks",description:["Sets the angle of the tick labels with respect to the horizontal.","For example, a `tickangle` of -90 draws the tick labels","vertically."].join(" ")},autotickangles:{valType:"info_array",freeLength:!0,items:{valType:"angle"},dflt:[0,30,90],editType:"ticks",description:["When `tickangle` is set to *auto*, it will be set to the first","angle in this array that is large enough to prevent label","overlap."].join(" ")},tickprefix:{valType:"string",dflt:"",editType:"ticks",description:"Sets a tick label prefix."},showtickprefix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks",description:["If *all*, all tick labels are displayed with a prefix.","If *first*, only the first tick is displayed with a prefix.","If *last*, only the last tick is displayed with a suffix.","If *none*, tick prefixes are hidden."].join(" ")},ticksuffix:{valType:"string",dflt:"",editType:"ticks",description:"Sets a tick label suffix."},showticksuffix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks",description:"Same as `showtickprefix` but for tick suffixes."},showexponent:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks",description:["If *all*, all exponents are shown besides their significands.","If *first*, only the exponent of the first tick is shown.","If *last*, only the exponent of the last tick is shown.","If *none*, no exponents appear."].join(" ")},exponentformat:{valType:"enumerated",values:["none","e","E","power","SI","B"],dflt:"B",editType:"ticks",description:["Determines a formatting rule for the tick exponents.","For example, consider the number 1,000,000,000.","If *none*, it appears as 1,000,000,000.","If *e*, 1e+9.","If *E*, 1E+9.","If *power*, 1x10^9 (with 9 in a super script).","If *SI*, 1G.","If *B*, 1B."].join(" ")},minexponent:{valType:"number",dflt:3,min:0,editType:"ticks",description:["Hide SI prefix for 10^n if |n| is below this number.","This only has an effect when `tickformat` is *SI* or *B*."].join(" ")},separatethousands:{valType:"boolean",dflt:!1,editType:"ticks",description:['If "true", even 4-digit integers are separated'].join(" ")},tickformat:{valType:"string",dflt:"",editType:"ticks",description:s("tick label")},tickformatstops:l("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:s("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:n.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:M,gridcolor:k,gridwidth:T(),griddash:A,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:n.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:n.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",d.idRegex.x.toString(),d.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",d.idRegex.x.toString(),d.idRegex.y.toString()],editType:"plot",description:["If set a same-letter axis id, this axis is overlaid on top of","the corresponding same-letter axis, with traces and axes visible for both","axes.","If *false*, this axis does not overlay any same-letter axes.","In this case, for axes with overlapping domains only the highest-numbered","axis will be visible."].join(" ")},minor:{tickmode:h,nticks:g("minor"),tick0:m,dtick:v,tickvals:y,ticks:x,ticklen:b("minor"),tickwidth:_("minor"),tickcolor:w,gridcolor:k,gridwidth:T("minor"),griddash:A,showgrid:M,editType:"ticks"},layer:{valType:"enumerated",values:["above traces","below traces"],dflt:"above traces",editType:"plot",description:["Sets the layer on which this axis is displayed.","If *above traces*, this axis is displayed above all the subplot's traces","If *below traces*, this axis is displayed below all the subplot's traces,","but above the grid lines.","Useful when used together with scatter-like traces with `cliponaxis`","set to *false* to show markers and/or text nodes above this axis."].join(" ")},domain:{valType:"info_array",items:[{valType:"number",min:0,max:1,editType:"plot"},{valType:"number",min:0,max:1,editType:"plot"}],dflt:[0,1],editType:"plot",description:["Sets the domain of this axis (in plot fraction)."].join(" ")},position:{valType:"number",min:0,max:1,dflt:0,editType:"plot",description:["Sets the position of this axis in the plotting space","(in normalized coordinates).","Only has an effect if `anchor` is set to *free*."].join(" ")},autoshift:{valType:"boolean",dflt:!1,editType:"plot",description:["Automatically reposition the axis to avoid","overlap with other axes with the same `overlaying` value.","This repositioning will account for any `shift` amount applied to other","axes on the same side with `autoshift` is set to true.","Only has an effect if `anchor` is set to *free*."].join(" ")},shift:{valType:"number",editType:"plot",description:["Moves the axis a given number of pixels from where it would have been otherwise.","Accepts both positive and negative values, which will shift the axis either right","or left, respectively.","If `autoshift` is set to true, then this defaults to a padding of -3 if `side` is set to *left*.","and defaults to +3 if `side` is set to *right*. Defaults to 0 if `autoshift` is set to false.","Only has an effect if `anchor` is set to *free*."].join(" ")},categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","geometric mean ascending","geometric mean descending","median ascending","median descending"],dflt:"trace",editType:"calc",description:["Specifies the ordering logic for the case of categorical variables.","By default, plotly uses *trace*, which specifies the order that is present in the data supplied.","Set `categoryorder` to *category ascending* or *category descending* if order should be determined by","the alphanumerical order of the category names.","Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category","is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to","the *trace* mode. The unspecified categories will follow the categories in `categoryarray`.","Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the","numerical order of the values.","Similarly, the order can be determined by the min, max, sum, mean, geometric mean or median of all the values."].join(" ")},categoryarray:{valType:"data_array",editType:"calc",description:["Sets the order in which categories on this axis appear.","Only has an effect if `categoryorder` is set to *array*.","Used with `categoryorder`."].join(" ")},uirevision:{valType:"any",editType:"none",description:["Controls persistence of user-driven changes in axis `range`,","`autorange`, and `title` if in `editable: true` configuration.","Defaults to `layout.uirevision`."].join(" ")},editType:"calc",_deprecated:{autotick:{valType:"boolean",editType:"ticks",description:["Obsolete.","Set `tickmode` to *auto* for old `autotick` *true* behavior.","Set `tickmode` to *linear* for `autotick` *false*."].join(" ")},title:{valType:"string",editType:"ticks",description:["Value of `title` is no longer a simple *string* but a set of sub-attributes.","To set the axis' title, please use `title.text` now."].join(" ")},titlefont:r({editType:"ticks",description:["Former `titlefont` is now the sub-attribute `font` of `title`.","To customize title font properties, please use `title.font` now."].join(" ")})}}},72046(e,t,a){var r=a(7396);e.exports=function(e,t,a){var n=e.selectAll("g."+a.replace(/\s/g,".")).data(t,function(e){return e[0].trace.uid});n.exit().remove(),n.enter().append("g").attr("class",a),n.order();var i=e.classed("rangeplot")?"nodeRangePlot3":"node3";return n.each(function(e){e[0][i]=r.select(this)}),n}},72151(e,t,a){e.exports=a(67768)},72700(e,t,a){var r=a(92710).rb,n=a(92710).ay,i=a(91307).extendFlat,o=a(50132),l=a(86854),s=a(35667),c=l.line;e.exports={mode:l.mode,r:{valType:"data_array",editType:"calc+clearAxisTypes",description:"Sets the radial coordinates"},theta:{valType:"data_array",editType:"calc+clearAxisTypes",description:"Sets the angular coordinates"},r0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",description:["Alternate to `r`.","Builds a linear space of r coordinates.","Use with `dr`","where `r0` is the starting coordinate and `dr` the step."].join(" ")},dr:{valType:"number",dflt:1,editType:"calc",description:"Sets the r coordinate step."},theta0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",description:["Alternate to `theta`.","Builds a linear space of theta coordinates.","Use with `dtheta`","where `theta0` is the starting coordinate and `dtheta` the step."].join(" ")},dtheta:{valType:"number",editType:"calc",description:["Sets the theta coordinate step.","By default, the `dtheta` step equals the subplot's period divided","by the length of the `r` coordinates."].join(" ")},thetaunit:{valType:"enumerated",values:["radians","degrees","gradians"],dflt:"degrees",editType:"calc+clearAxisTypes",description:["Sets the unit of input *theta* values.","Has an effect only when on *linear* angular axes."].join(" ")},text:l.text,texttemplate:n({editType:"plot"},{keys:["r","theta","text"]}),hovertext:l.hovertext,line:{color:c.color,width:c.width,dash:c.dash,backoff:c.backoff,shape:i({},c.shape,{values:["linear","spline"]}),smoothing:c.smoothing,editType:"calc"},connectgaps:l.connectgaps,marker:l.marker,cliponaxis:i({},l.cliponaxis,{dflt:!1}),textposition:l.textposition,textfont:l.textfont,fill:i({},l.fill,{values:["none","toself","tonext"],dflt:"none",description:["Sets the area to fill with a solid color.","Use with `fillcolor` if not *none*.","scatterpolar has a subset of the options available to scatter.","*toself* connects the endpoints of the trace (or each segment","of the trace if it has gaps) into a closed shape.","*tonext* fills the space between two traces if one completely","encloses the other (eg consecutive contour lines), and behaves like","*toself* if there is no trace before it. *tonext* should not be","used if one trace does not enclose the other."].join(" ")}),fillcolor:o(),hoverinfo:i({},s.hoverinfo,{flags:["r","theta","text","name"]}),hoveron:l.hoveron,hovertemplate:r(),selected:l.selected,unselected:l.unselected}},73078(e,t,a){var r=a(37816),n=a(25275),i=a(98354),o=a(33871).sorterAsc,l=a(13936);t.containerArrayMatch=a(98471);var s=t.isAddVal=function(e){return"add"===e||r(e)},c=t.isRemoveVal=function(e){return null===e||"remove"===e};t.applyContainerArrayChanges=function(e,t,a,r,d){var u=t.astr,p=l.getComponentMethod(u,"supplyLayoutDefaults"),h=l.getComponentMethod(u,"draw"),f=l.getComponentMethod(u,"drawOne"),g=r.replot||r.recalc||p===n||h===n,m=e.layout,v=e._fullLayout;if(a[""]){Object.keys(a).length>1&&i.warn("Full array edits are incompatible with other edits",u);var y=a[""][""];if(c(y))t.set(null);else{if(!Array.isArray(y))return i.warn("Unrecognized full array edit value",u,y),!0;t.set(y)}return!g&&(p(m,v),h(e),!0)}var x,b,_,w,k,T,A,M,S=Object.keys(a).map(Number).sort(o),L=t.get(),O=L||[],D=d(v,u).get(),j=[],I=-1,z=O.length;for(x=0;xO.length-(A?0:1))i.warn("index out of range",u,_);else if(void 0!==T)k.length>1&&i.warn("Insertion & removal are incompatible with edits to the same index.",u,_),c(T)?j.push(_):A?("add"===T&&(T={}),O.splice(_,0,T),D&&D.splice(_,0,{})):i.warn("Unrecognized full object edit value",u,_,T),-1===I&&(I=_);else for(b=0;b=0;x--)O.splice(j[x],1),D&&D.splice(j[x],1);if(O.length?L||t.set(O):t.set(null),g)return!1;if(p(m,v),f!==n){var C;if(-1===I)C=S;else{for(z=Math.max(O.length,z),C=[],x=0;x=I);x++)C.push(_);for(x=I;x0?r>=s:r<=s));n++)r>d&&r0?r>=s:r<=s));n++)r>a[0]&&r1){var he=Math.pow(10,Math.floor(Math.log(pe)/Math.LN10));de*=he*c.roundUp(pe/he,[2,5,10]),(Math.abs(Z.start)/Z.size+1e-6)%1<2e-6&&(se.tick0=0)}se.dtick=de}se.domain=o?[oe+I/N.h,oe+$-I/N.h]:[oe+j/N.w,oe+$-j/N.w],se.setScale(),e.attr("transform",d(Math.round(N.l),Math.round(N.t)));var fe,ge=e.select("."+A.cbtitleunshift).attr("transform",d(-Math.round(N.l),-Math.round(N.t))),me=se.ticklabelposition,ve=se.title.font.size,ye=e.select("."+A.cbaxis),xe=0,be=0;function _e(r,n){var i={propContainer:se,propName:t._propPrefix+"title",traceIndex:t._traceIndex,_meta:t._meta,placeholder:F._dfltTitle.colorbar,containerGroup:e.select("."+A.cbtitle)},o="h"===r.charAt(0)?r.substr(1):"h"+r;e.selectAll("."+o+",."+o+"-math-group").remove(),g.draw(a,r,u(i,n||{}))}return c.syncOrAsync([i.previousPromises,function(){var e,t;(o&&ce||!o&&!ce)&&("top"===V&&(e=j+N.l+ee*z,t=I+N.t+te*(1-oe-$)+3+.75*ve),"bottom"===V&&(e=j+N.l+ee*z,t=I+N.t+te*(1-oe)-3-.25*ve),"right"===V&&(t=I+N.t+te*C+3+.75*ve,e=j+N.l+ee*oe),_e(se._id+"title",{attributes:{x:e,y:t,"text-anchor":o?"start":"middle"}}))},function(){if(!o&&!ce||o&&ce){var i,s=e.select("."+A.cbtitle),u=s.select("text"),p=[-M/2,M/2],f=s.select(".h"+se._id+"title-math-group").node(),g=15.6;if(u.node()&&(g=parseInt(u.node().style.fontSize,10)*w),f?(i=h.bBox(f),be=i.width,(xe=i.height)>g&&(p[1]-=(xe-g)/2)):u.node()&&!u.classed(A.jsPlaceholder)&&(i=h.bBox(u.node()),be=i.width,xe=i.height),o){if(xe){if(xe+=5,"top"===V)se.domain[1]-=xe/N.h,p[1]*=-1;else{se.domain[0]+=xe/N.h;var v=m.lineCount(u);p[1]+=(1-v)*g}s.attr("transform",d(p[0],p[1])),se.setScale()}}else be&&("right"===V&&(se.domain[0]+=(be+ve/2)/N.w),s.attr("transform",d(p[0],p[1])),se.setScale())}e.selectAll("."+A.cbfills+",."+A.cblines).attr("transform",o?d(0,Math.round(N.h*(1-se.domain[1]))):d(Math.round(N.w*se.domain[0]),0)),ye.attr("transform",o?d(0,Math.round(-N.t)):d(Math.round(-N.l),0));var y=e.select("."+A.cbfills).selectAll("rect."+A.cbfill).attr("style","").data(Y);y.enter().append("rect").classed(A.cbfill,!0).attr("style",""),y.exit().remove();var x=U.map(se.c2p).map(Math.round).sort(function(e,t){return e-t});y.each(function(e,i){var l=[0===i?U[0]:(Y[i]+Y[i-1])/2,i===Y.length-1?U[1]:(Y[i]+Y[i+1])/2].map(se.c2p).map(Math.round);o&&(l[1]=c.constrain(l[1]+(l[1]>l[0])?1:-1,x[0],x[1]));var s=r.select(this).attr(o?"x":"y",ae).attr(o?"y":"x",r.min(l)).attr(o?"width":"height",Math.max(J,2)).attr(o?"height":"width",Math.max(r.max(l)-r.min(l),2));if(t._fillgradient)h.gradient(s,a,t._id,o?"vertical":"horizontalreversed",t._fillgradient,"fill");else{var d=q(e).replace("e-","");s.attr("fill",n(d).toHexString())}});var b=e.select("."+A.cblines).selectAll("path."+A.cbline).data(B.color&&B.width?X:[]);b.enter().append("path").classed(A.cbline,!0),b.exit().remove(),b.each(function(e){var t=ae,a=Math.round(se.c2p(e))+B.width/2%1;r.select(this).attr("d","M"+(o?t+","+a:a+","+t)+(o?"h":"v")+J).call(h.lineGroupStyle,B.width,G(e),B.dash)}),ye.selectAll("g."+se._id+"tick,path").remove();var _=ae+J+(M||0)/2-("outside"===t.ticks?1:0),k=l.calcTicks(se),T=l.getTickSigns(se)[2];return l.drawTicks(a,se,{vals:"inside"===se.ticks?l.clipEnds(se,k):k,layer:ye,path:l.makeTickPath(se,_,T),transFn:l.makeTransTickFn(se)}),l.drawLabels(a,se,{vals:k,layer:ye,transFn:l.makeTransTickLabelFn(se),labelFns:l.makeLabelFns(se,_)})},function(){if(o&&!ce||!o&&ce){var e,n,i=se.position||0,l=se._offset+se._length/2;if("right"===V)n=l,e=N.l+ee*i+10+ve*(se.showticklabels?1:.5);else if(e=l,"bottom"===V&&(n=N.t+te*i+10+(-1===me.indexOf("inside")?se.tickfont.size:0)+("intside"!==se.ticks&&t.ticklen||0)),"top"===V){var s=H.text.split("
").length;n=N.t+te*i+10-J-w*ve*s}_e((o?"h":"v")+se._id+"title",{avoid:{selection:r.select(a).selectAll("g."+se._id+"tick"),side:V,offsetTop:o?0:N.t,offsetLeft:o?N.l:0,maxShift:o?F.width:F.height},attributes:{x:e,y:n,"text-anchor":"middle"},transform:{rotate:o?-90:0,offset:0}})}},i.previousPromises,function(){var r,l=J+M/2;-1===me.indexOf("inside")&&(r=h.bBox(ye.node()),l+=o?r.width:r.height),fe=ge.select("text");var c=0,u=o&&"top"===V,g=!o&&"right"===V,m=0;if(fe.node()&&!fe.classed(A.jsPlaceholder)){var y,x=ge.select(".h"+se._id+"title-math-group").node();x&&(o&&ce||!o&&!ce)?(c=(r=h.bBox(x)).width,y=r.height):(c=(r=h.bBox(ge.node())).right-N.l-(o?ae:le),y=r.bottom-N.t-(o?le:ae),o||"top"!==V||(l+=r.height,m=r.height)),g&&(fe.attr("transform",d(c/2+ve/2,0)),c*=2),l=Math.max(l,o?c:y)}var b=2*(o?j:I)+l+S+M/2,w=0;!o&&H.text&&"bottom"===D&&C<=0&&(b+=w=b/2,m+=w),F._hColorbarMoveTitle=w,F._hColorbarMoveCBTitle=m;var E=S+M,B=(o?ae:le)-E/2-(o?j:0),U=(o?le:ae)-(o?K:I+m-w);e.select("."+A.cbbg).attr("x",B).attr("y",U).attr(o?"width":"height",Math.max(b-w,2)).attr(o?"height":"width",Math.max(K+E,2)).call(f.fill,L).call(f.stroke,t.bordercolor).style("stroke-width",S);var G=g?Math.max(c-10,0):0;e.selectAll("."+A.cboutline).attr("x",(o?ae:le+j)+G).attr("y",(o?le+I-K:ae)+(u?xe:0)).attr(o?"width":"height",Math.max(J,2)).attr(o?"height":"width",Math.max(K-(o?2*I+xe:2*j+G),2)).call(f.stroke,t.outlinecolor).style({fill:"none","stroke-width":M});var q=o?re*b:0,Z=o?0:(1-ne)*b-m;if(q=R?N.l-q:-q,Z=P?N.t-Z:-Z,e.attr("transform",d(q,Z)),!o&&(S||n(L).getAlpha()&&!n.equals(F.paper_bgcolor,L))){var W=ye.selectAll("text"),Y=W[0].length,X=e.select("."+A.cbbg).node(),Q=h.bBox(X),$=h.getTranslate(e);W.each(function(e,t){var a=Y-1;if(0===t||t===a){var r,n=h.bBox(this),i=h.getTranslate(this);if(t===a){var o=n.right+i.x;(r=Q.right+$.x+le-S-2+z-o)>0&&(r=0)}else if(0===t){var l=n.left+i.x;(r=Q.left+$.x+le+S+2-l)<0&&(r=0)}r&&(Y<3?this.setAttribute("transform","translate("+r+",0) "+this.getAttribute("transform")):this.setAttribute("visibility","hidden"))}})}var ee={},te=k[O],ie=T[O],oe=k[D],de=T[D],ue=b-J;o?("pixels"===p?(ee.y=C,ee.t=K*oe,ee.b=K*de):(ee.t=ee.b=0,ee.yt=C+s*oe,ee.yb=C-s*de),"pixels"===_?(ee.x=z,ee.l=b*te,ee.r=b*ie):(ee.l=ue*te,ee.r=ue*ie,ee.xl=z-v*te,ee.xr=z+v*ie)):("pixels"===p?(ee.x=z,ee.l=K*te,ee.r=K*ie):(ee.l=ee.r=0,ee.xl=z+s*te,ee.xr=z-s*ie),"pixels"===_?(ee.y=1-C,ee.t=b*oe,ee.b=b*de):(ee.t=ue*oe,ee.b=ue*de,ee.yt=C-v*oe,ee.yb=C+v*de));var pe=t.y<.5?"b":"t",he=t.x<.5?"l":"r";a._fullLayout._reservedMargin[t._id]={};var be={r:F.width-B-q,l:B+ee.r,b:F.height-U-Z,t:U+ee.b};R&&P?i.autoMargin(a,t._id,ee):R?a._fullLayout._reservedMargin[t._id][pe]=be[pe]:P||o?a._fullLayout._reservedMargin[t._id][he]=be[he]:a._fullLayout._reservedMargin[t._id][pe]=be[pe]}],a)}(a,t,e);v&&v.then&&(e._promises||[]).push(v),e._context.edits.colorbarPosition&&function(e,t,a){var r,n,i,l="v"===t.orientation,c=a._fullLayout._size;s.init({element:e.node(),gd:a,prepFn:function(){r=e.attr("transform"),p(e)},moveFn:function(a,o){e.attr("transform",r+d(a,o)),n=s.align((l?t._uFrac:t._vFrac)+a/c.w,l?t._thickFrac:t._lenFrac,0,1,t.xanchor),i=s.align((l?t._vFrac:1-t._uFrac)-o/c.h,l?t._lenFrac:t._thickFrac,0,1,t.yanchor);var u=s.getCursor(n,i,t.xanchor,t.yanchor);p(e,u)},doneFn:function(){if(p(e),void 0!==n&&void 0!==i){var r={};r[t._propPrefix+"x"]=n,r[t._propPrefix+"y"]=i,void 0!==t._traceIndex?o.call("_guiRestyle",a,r,t._traceIndex):o.call("_guiRelayout",a,r)}}})}(a,t,e)}),t.exit().each(function(t){i.autoMargin(e,t._id)}).remove(),t.order()}}},73879(e,t,a){var r=a(7396),n=a(57365),i=a(30991),o=a(56934),l=a(58463).version,s=new DOMParser;function c(e){this.container=e.container,this.element=document.createElement("div"),this.update(e.graphInfo,e.buttons),this.container.appendChild(this.element)}var d=c.prototype;d.update=function(e,t){this.graphInfo=e;var a=this.graphInfo._context,r=this.graphInfo._fullLayout,n="modebar-"+r._uid;this.element.setAttribute("id",n),this._uid=n,this.element.className="modebar","hover"===a.displayModeBar&&(this.element.className+=" modebar--hover ease-bg"),"v"===r.modebar.orientation&&(this.element.className+=" vertical",t=t.reverse());var o=r.modebar,l="hover"===a.displayModeBar?".js-plotly-plot .plotly:hover ":"";i.deleteRelatedStyleRule(n),i.addRelatedStyleRule(n,l+"#"+n+" .modebar-group","background-color: "+o.bgcolor),i.addRelatedStyleRule(n,"#"+n+" .modebar-btn .icon path","fill: "+o.color),i.addRelatedStyleRule(n,"#"+n+" .modebar-btn:hover .icon path","fill: "+o.activecolor),i.addRelatedStyleRule(n,"#"+n+" .modebar-btn.active .icon path","fill: "+o.activecolor);var s=!this.hasButtons(t),c=this.hasLogo!==a.displaylogo,d=this.locale!==a.locale;if(this.locale=a.locale,(s||c||d)&&(this.removeAllButtons(),this.updateButtons(t),a.watermark||a.displaylogo)){var u=this.getLogo();a.watermark&&(u.className=u.className+" watermark"),"v"===r.modebar.orientation?this.element.insertBefore(u,this.element.childNodes[0]):this.element.appendChild(u),this.hasLogo=!0}this.updateActiveButton()},d.updateButtons=function(e){var t=this;this.buttons=e,this.buttonElements=[],this.buttonsNames=[],this.buttons.forEach(function(e){var a=t.createGroup();e.forEach(function(e){var r=e.name;if(!r)throw new Error("must provide button 'name' in button config");if(-1!==t.buttonsNames.indexOf(r))throw new Error("button name '"+r+"' is taken");t.buttonsNames.push(r);var n=t.createButton(e);t.buttonElements.push(n),a.appendChild(n)}),t.element.appendChild(a)})},d.createGroup=function(){var e=document.createElement("div");return e.className="modebar-group",e},d.createButton=function(e){var t=this,a=document.createElement("a");a.setAttribute("rel","tooltip"),a.className="modebar-btn";var n=e.title;void 0===n?n=e.name:"function"==typeof n&&(n=n(this.graphInfo)),(n||0===n)&&a.setAttribute("data-title",n),void 0!==e.attr&&a.setAttribute("data-attr",e.attr);var i=e.val;if(void 0!==i&&("function"==typeof i&&(i=i(this.graphInfo)),a.setAttribute("data-val",i)),"function"!=typeof e.click)throw new Error("must provide button 'click' function in button config");a.addEventListener("click",function(a){e.click(t.graphInfo,a),t.updateActiveButton(a.currentTarget)}),a.setAttribute("data-toggle",e.toggle||!1),e.toggle&&r.select(a).classed("active",!0);var l=e.icon;return"function"==typeof l?a.appendChild(l()):a.appendChild(this.createIcon(l||o.question)),a.setAttribute("data-gravity",e.gravity||"n"),a},d.createIcon=function(e){var t,a=n(e.height)?Number(e.height):e.ascent-e.descent,r="http://www.w3.org/2000/svg";if(e.path){(t=document.createElementNS(r,"svg")).setAttribute("viewBox",[0,0,e.width,a].join(" ")),t.setAttribute("class","icon");var i=document.createElementNS(r,"path");i.setAttribute("d",e.path),e.transform?i.setAttribute("transform",e.transform):void 0!==e.ascent&&i.setAttribute("transform","matrix(1 0 0 -1 0 "+e.ascent+")"),t.appendChild(i)}return e.svg&&(t=s.parseFromString(e.svg,"application/xml").childNodes[0]),t.setAttribute("height","1em"),t.setAttribute("width","1em"),t},d.updateActiveButton=function(e){var t=this.graphInfo._fullLayout,a=void 0!==e?e.getAttribute("data-attr"):null;this.buttonElements.forEach(function(e){var n=e.getAttribute("data-val")||!0,o=e.getAttribute("data-attr"),l="true"===e.getAttribute("data-toggle"),s=r.select(e);if(l)o===a&&s.classed("active",!s.classed("active"));else{var c=null===o?o:i.nestedProperty(t,o).get();s.classed("active",c===n)}})},d.hasButtons=function(e){var t=this.buttons;if(!t)return!1;if(e.length!==t.length)return!1;for(var a=0;a2)return c[t]=2|c[t],p.set(e,null);if(u){for(o=t;o")}}(e,u,o),[e]}},74934(e,t,a){var r=a(57365),n=a(13936),i=a(15076),o=a(30991),l=a(94995);function s(e,t,a,n){var s=t["error_"+n]||{},c=[];if(s.visible&&-1!==["linear","log"].indexOf(a.type)){for(var d=l(s),u=0;u500?"bold":"normal":e}function _(e,t){var a,r,n=t._length,o=t.marker,l={},c=s(o.symbol),d=s(o.angle),p=s(o.color),g=s(o.line.color),m=s(o.opacity),v=s(o.size),y=s(o.line.width);if(c||(r=f.isOpenSymbol(o.symbol)),c||p||g||m||d){l.symbols=new Array(n),l.angles=new Array(n),l.colors=new Array(n),l.borderColors=new Array(n);var x=o.symbol,b=o.angle,_=u(o,o.opacity,n),w=u(o.line,o.opacity,n);if(!s(w[0])){var k=w;for(w=Array(n),a=0;ag.TOO_MANY_POINTS||p.hasMarkers(t)?"rect":"round";if(c&&t.connectgaps){var u=r[0],h=r[1];for(n=0;n1?c[n]:c[0]:c,g=s(d)?d.length>1?d[n]:d[0]:d,m=v[f],y=v[g],x=u?u/.8+1:0,b=-y*x-.5*y;o.offset[n]=[m*x/h,b/h]}}return o}}},76031(e,t){t.projNames={airy:"airy",aitoff:"aitoff","albers usa":"albersUsa",albers:"albers",august:"august","azimuthal equal area":"azimuthalEqualArea","azimuthal equidistant":"azimuthalEquidistant",baker:"baker",bertin1953:"bertin1953",boggs:"boggs",bonne:"bonne",bottomley:"bottomley",bromley:"bromley",collignon:"collignon","conic conformal":"conicConformal","conic equal area":"conicEqualArea","conic equidistant":"conicEquidistant",craig:"craig",craster:"craster","cylindrical equal area":"cylindricalEqualArea","cylindrical stereographic":"cylindricalStereographic",eckert1:"eckert1",eckert2:"eckert2",eckert3:"eckert3",eckert4:"eckert4",eckert5:"eckert5",eckert6:"eckert6",eisenlohr:"eisenlohr","equal earth":"equalEarth",equirectangular:"equirectangular",fahey:"fahey","foucaut sinusoidal":"foucautSinusoidal",foucaut:"foucaut",ginzburg4:"ginzburg4",ginzburg5:"ginzburg5",ginzburg6:"ginzburg6",ginzburg8:"ginzburg8",ginzburg9:"ginzburg9",gnomonic:"gnomonic","gringorten quincuncial":"gringortenQuincuncial",gringorten:"gringorten",guyou:"guyou",hammer:"hammer",hill:"hill",homolosine:"homolosine",hufnagel:"hufnagel",hyperelliptical:"hyperelliptical",kavrayskiy7:"kavrayskiy7",lagrange:"lagrange",larrivee:"larrivee",laskowski:"laskowski",loximuthal:"loximuthal",mercator:"mercator",miller:"miller",mollweide:"mollweide","mt flat polar parabolic":"mtFlatPolarParabolic","mt flat polar quartic":"mtFlatPolarQuartic","mt flat polar sinusoidal":"mtFlatPolarSinusoidal","natural earth":"naturalEarth","natural earth1":"naturalEarth1","natural earth2":"naturalEarth2","nell hammer":"nellHammer",nicolosi:"nicolosi",orthographic:"orthographic",patterson:"patterson","peirce quincuncial":"peirceQuincuncial",polyconic:"polyconic","rectangular polyconic":"rectangularPolyconic",robinson:"robinson",satellite:"satellite","sinu mollweide":"sinuMollweide",sinusoidal:"sinusoidal",stereographic:"stereographic",times:"times","transverse mercator":"transverseMercator","van der grinten":"vanDerGrinten","van der grinten2":"vanDerGrinten2","van der grinten3":"vanDerGrinten3","van der grinten4":"vanDerGrinten4",wagner4:"wagner4",wagner6:"wagner6",wiechel:"wiechel","winkel tripel":"winkel3",winkel3:"winkel3"},t.axesNames=["lonaxis","lataxis"],t.lonaxisSpan={orthographic:180,"azimuthal equal area":360,"azimuthal equidistant":360,"conic conformal":180,gnomonic:160,stereographic:180,"transverse mercator":180,"*":360},t.lataxisSpan={"conic conformal":150,stereographic:179.5,"*":180},t.scopeDefaults={world:{lonaxisRange:[-180,180],lataxisRange:[-90,90],projType:"equirectangular",projRotate:[0,0,0]},usa:{lonaxisRange:[-180,-50],lataxisRange:[15,80],projType:"albers usa"},europe:{lonaxisRange:[-30,60],lataxisRange:[30,85],projType:"conic conformal",projRotate:[15,0,0],projParallels:[0,60]},asia:{lonaxisRange:[22,160],lataxisRange:[-15,55],projType:"mercator",projRotate:[0,0,0]},africa:{lonaxisRange:[-30,60],lataxisRange:[-40,40],projType:"mercator",projRotate:[0,0,0]},"north america":{lonaxisRange:[-180,-45],lataxisRange:[5,85],projType:"conic conformal",projRotate:[-100,0,0],projParallels:[29.5,45.5]},"south america":{lonaxisRange:[-100,-30],lataxisRange:[-60,15],projType:"mercator",projRotate:[0,0,0]}},t.clipPad=.001,t.precision=.1,t.landColor="#F0DC82",t.waterColor="#3399FF",t.locationmodeToLayer={"ISO-3":"countries","USA-states":"subunits","country names":"countries"},t.sphereSVG={type:"Sphere"},t.fillLayers={ocean:1,land:1,lakes:1},t.lineLayers={subunits:1,countries:1,coastlines:1,rivers:1,frame:1},t.layers=["bg","ocean","land","lakes","subunits","countries","coastlines","rivers","lataxis","lonaxis","frame","backplot","frontplot"],t.layersForChoropleth=["bg","ocean","land","subunits","countries","coastlines","lataxis","lonaxis","frame","backplot","rivers","lakes","frontplot"],t.layerNameToAdjective={ocean:"ocean",land:"land",lakes:"lake",subunits:"subunit",countries:"country",coastlines:"coastline",rivers:"river",frame:"frame"}},76396(e){e.exports={clearOutlineControllers:function(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(".outline-controllers").remove()},clearOutline:function(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(".select-outline").remove(),e._fullLayout._outlining=!1}}},76968(e,t,a){e.exports=a(44104)},77060(e,t,a){var r=a(91016).counter;e.exports={idRegex:{x:r("x","( domain)?"),y:r("y","( domain)?")},attrRegex:r("[xy]axis"),xAxisMatch:r("xaxis"),yAxisMatch:r("yaxis"),AX_ID_PATTERN:/^[xyz][0-9]*( domain)?$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,SUBPLOT_PATTERN:/^x([0-9]*)y([0-9]*)$/,HOUR_PATTERN:"hour",WEEKDAY_PATTERN:"day of week",MINDRAG:8,MINZOOM:20,DRAGGERSIZE:20,REDRAWDELAY:50,DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],traceLayerClasses:["imagelayer","heatmaplayer","contourcarpetlayer","contourlayer","funnellayer","waterfalllayer","barlayer","carpetlayer","violinlayer","boxlayer","ohlclayer","scattercarpetlayer","scatterlayer"],clipOnAxisFalseQuery:[".scatterlayer",".barlayer",".funnellayer",".waterfalllayer"],layerValue2layerClass:{"above traces":"above","below traces":"below"},zindexSeparator:"z"}},77111(e,t,a){var r=a(30991),n=a(21850),i=a(43999).KO,o=a(76031),l=a(10592),s=o.axesNames;function c(e,t,a,n){var l=i(n.fullData,"geo",n.id).map(function(e){return e._expandedIndex}),c=a("resolution"),d=a("scope"),u=o.scopeDefaults[d],p=a("projection.type",u.projType),h=t._isAlbersUsa="albers usa"===p;h&&(d=t.scope="usa");var f=t._isScoped="world"!==d,g=t._isSatellite="satellite"===p,m=t._isConic=-1!==p.indexOf("conic")||"albers"===p,v=t._isClipped=!!o.lonaxisSpan[p];if(!1===e.visible){var y=r.extendDeep({},t._template);y.showcoastlines=!1,y.showcountries=!1,y.showframe=!1,y.showlakes=!1,y.showland=!1,y.showocean=!1,y.showrivers=!1,y.showsubunits=!1,y.lonaxis&&(y.lonaxis.showgrid=!1),y.lataxis&&(y.lataxis.showgrid=!1),t._template=y}for(var x=a("visible"),b=0;b0&&j<0&&(j+=360);var I,z,C,P=(D+j)/2;if(!h){var R=f?u.projRotate:[P,0,0];I=a("projection.rotation.lon",R[0]),a("projection.rotation.lat",R[1]),a("projection.rotation.roll",R[2]),a("showcoastlines",!f&&x)&&(a("coastlinecolor"),a("coastlinewidth")),a("showocean",!!x&&void 0)&&a("oceancolor")}h?(z=-96.6,C=38.7):(z=f?P:I,C=(O[0]+O[1])/2),a("center.lon",z),a("center.lat",C),g&&(a("projection.tilt"),a("projection.distance")),m&&a("projection.parallels",u.projParallels||[0,60]),a("projection.scale"),a("showland",!!x&&void 0)&&a("landcolor"),a("showlakes",!!x&&void 0)&&a("lakecolor"),a("showrivers",!!x&&void 0)&&(a("rivercolor"),a("riverwidth")),a("showcountries",f&&"usa"!==d&&x)&&(a("countrycolor"),a("countrywidth")),("usa"===d||"north america"===d&&50===c)&&(a("showsubunits",x),a("subunitcolor"),a("subunitwidth")),f||a("showframe",x)&&(a("framecolor"),a("framewidth")),a("bgcolor"),a("fitbounds")&&(delete t.projection.scale,f?(delete t.center.lon,delete t.center.lat):v?(delete t.center.lon,delete t.center.lat,delete t.projection.rotation.lon,delete t.projection.rotation.lat,delete t.lonaxis.range,delete t.lataxis.range):(delete t.center.lon,delete t.center.lat,delete t.projection.rotation.lon))}e.exports=function(e,t,a){n(e,t,a,{type:"geo",attributes:l,handleDefaults:c,fullData:a,partition:"y"})}},77158(e,t,a){var r=a(37007).EventEmitter,n={init:function(e){if(e._ev instanceof r)return e;var t=new r,a=new r;return e._ev=t,e._internalEv=a,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=a.on.bind(a),e._internalOnce=a.once.bind(a),e._removeInternalListener=a.removeListener.bind(a),e._removeAllInternalListeners=a.removeAllListeners.bind(a),e.emit=function(r,n){"undefined"!=typeof jQuery&&jQuery(e).trigger(r,n),t.emit(r,n),a.emit(r,n)},e},triggerHandler:function(e,t,a){var r,n;"undefined"!=typeof jQuery&&(r=jQuery(e).triggerHandler(t,a));var i=e._ev;if(!i)return r;var o,l=i._events[t];if(!l)return r;function s(e){return e.listener?(i.removeListener(t,e.listener),e.fired?void 0:(e.fired=!0,e.listener.apply(i,[a]))):e.apply(i,[a])}for(l=Array.isArray(l)?l:[l],o=0;o1)}var F=f.hiddenlabels||[];if(!(w||f.showlegend&&M.length))return l.selectAll("."+_).remove(),f._topdefs.select("#"+a).remove(),i.autoMargin(e,_);var N=n.ensureSingle(l,"g",_,function(e){w||e.attr("pointer-events","all")}),E=n.ensureSingleById(f._topdefs,"clipPath",a,function(e){e.append("rect")}),B=n.ensureSingle(N,"rect","bg",function(e){e.attr("shape-rendering","crispEdges")});B.call(d.stroke,p.bordercolor).call(d.fill,p.bgcolor).style("stroke-width",p.borderwidth+"px");var H,V=n.ensureSingle(N,"g","scrollbox"),U=p.title;p._titleWidth=0,p._titleHeight=0,U.text?((H=n.ensureSingle(V,"text",_+"titletext")).attr("text-anchor","start").call(c.font,U.font).text(U.text),L(H,V,e,p,1)):V.selectAll("."+_+"titletext").remove();var G=n.ensureSingle(N,"rect","scrollbar",function(e){e.attr(h.scrollBarEnterAttrs).call(d.fill,h.scrollBarColor)}),q=V.selectAll("g.groups").data(M);q.enter().append("g").attr("class","groups"),q.exit().remove();var Z=q.selectAll("g.traces").data(n.identity);Z.enter().append("g").attr("class","traces"),Z.exit().remove(),Z.style("opacity",function(e){var t=e[0].trace;return o.traceIs(t,"pie-like")?-1!==F.indexOf(e[0].label)?.5:1:"legendonly"===t.visible?.5:1}).each(function(){r.select(this).call(A,e,p)}).call(x,e,p).each(function(){w||r.select(this).call(S,e,_)}),n.syncOrAsync([i.previousPromises,function(){return function(e,t,a,n){var i=e._fullLayout,o=j(n);n||(n=i[o]);var l=i._size,s=b.isVertical(n),d=b.isGrouped(n),u="fraction"===n.entrywidthmode,p=n.borderwidth,f=2*p,g=h.itemGap,m=n.indentation+n.itemwidth+2*g,v=2*(p+g),y=D(n),x=n.y<0||0===n.y&&"top"===y,_=n.y>1||1===n.y&&"bottom"===y,w=n.tracegroupgap,T={};n._maxHeight=Math.max(x||_?i.height/2:l.h,30);var A=0;n._width=0,n._height=0;var M=function(e){var t=0,a=0,r=e.title.side;return r&&(-1!==r.indexOf("left")&&(t=e._titleWidth),-1!==r.indexOf("top")&&(a=e._titleHeight)),[t,a]}(n);if(s)a.each(function(e){var t=e[0].height;c.setTranslate(this,p+M[0],p+M[1]+n._height+t/2+g),n._height+=t,n._width=Math.max(n._width,e[0].width)}),A=m+n._width,n._width+=g+m+f,n._height+=v,d&&(t.each(function(e,t){c.setTranslate(this,0,t*n.tracegroupgap)}),n._height+=(n._lgroupsLength-1)*n.tracegroupgap);else{var S=O(n),L=n.x<0||0===n.x&&"right"===S,I=n.x>1||1===n.x&&"left"===S,z=_||x,C=i.width/2;n._maxWidth=Math.max(L?z&&"left"===S?l.l+l.w:C:I?z&&"right"===S?l.r+l.w:C:l.w,2*m);var P=0,R=0;a.each(function(e){var t=k(e,n,m);P=Math.max(P,t),R+=t}),A=null;var F=0;if(d){var N=0,E=0,B=0;t.each(function(){var e=0,t=0;r.select(this).selectAll("g.traces").each(function(a){var r=k(a,n,m),i=a[0].height;c.setTranslate(this,M[0],M[1]+p+g+i/2+t),t+=i,e=Math.max(e,r),T[a[0].trace.legendgroup]=e});var a=e+g;E>0&&a+p+E>n._maxWidth?(F=Math.max(F,E),E=0,B+=N+w,N=t):N=Math.max(N,t),c.setTranslate(this,E,B),E+=a}),n._width=Math.max(F,E)+p,n._height=B+N+v}else{var H=a.size(),V=R+f+(H-1)*g=n._maxWidth&&(F=Math.max(F,Z),G=0,q+=U,n._height+=U,U=0),c.setTranslate(this,M[0]+p+G,M[1]+p+q+t/2+g),Z=G+a+g,G+=r,U=Math.max(U,t)}),V?(n._width=G+f,n._height=U+v):(n._width=Math.max(F,Z)+f,n._height+=U+v)}}n._width=Math.ceil(Math.max(n._width+M[0],n._titleWidth+2*(p+h.titlePad))),n._height=Math.ceil(Math.max(n._height+M[1],n._titleHeight+2*(p+h.itemGap))),n._effHeight=Math.min(n._height,n._maxHeight);var W=e._context.edits,Y=W.legendText||W.legendPosition;a.each(function(e){var t=r.select(this).select("."+o+"toggle"),a=e[0].height,i=e[0].trace.legendgroup,l=k(e,n,m);d&&""!==i&&(l=T[i]);var p=Y?m:A||l;s||u||(p+=g/2),c.setRect(t,0,-a/2,p,a)})}(e,q,Z,p)},function(){var t,d,y,x,b=f._size,k=p.borderwidth,A="paper"===p.xref,M="paper"===p.yref;if(U.text&&function(e,t,a){if("top center"===t.title.side||"top right"===t.title.side){var r=t.title.font.size*g,n=0,i=e.node(),o=c.bBox(i).width;"top center"===t.title.side?n=.5*(t._width-2*a-2*h.titlePad-o):"top right"===t.title.side&&(n=t._width-2*a-2*h.titlePad-o),u.positionText(e,a+h.titlePad+n,a+r)}}(H,p,k),!w){var S,L;S=A?b.l+b.w*p.x-m[O(p)]*p._width:f.width*p.x-m[O(p)]*p._width,L=M?b.t+b.h*(1-p.y)-m[D(p)]*p._effHeight:f.height*(1-p.y)-m[D(p)]*p._effHeight;var j=function(e,t,a,r){var n=e._fullLayout,o=n[t],l=O(o),s=D(o),c="paper"===o.xref,d="paper"===o.yref;e._fullLayout._reservedMargin[t]={};var u=o.y<.5?"b":"t",p=o.x<.5?"l":"r",h={r:n.width-a,l:a+o._width,b:n.height-r,t:r+o._effHeight};if(c&&d)return i.autoMargin(e,t,{x:o.x,y:o.y,l:o._width*m[l],r:o._width*v[l],b:o._effHeight*v[s],t:o._effHeight*m[s]});c?e._fullLayout._reservedMargin[t][u]=h[u]:d||"v"===o.orientation?e._fullLayout._reservedMargin[t][p]=h[p]:e._fullLayout._reservedMargin[t][u]=h[u]}(e,_,S,L);if(j)return;if(f.margin.autoexpand){var I=S,z=L;S=A?n.constrain(S,0,f.width-p._width):I,L=M?n.constrain(L,0,f.height-p._effHeight):z,S!==I&&n.log("Constrain "+_+".x to make legend fit inside graph"),L!==z&&n.log("Constrain "+_+".y to make legend fit inside graph")}c.setTranslate(N,S,L)}if(G.on(".drag",null),N.on("wheel",null),w||p._height<=p._maxHeight||e._context.staticPlot){var C=p._effHeight;w&&(C=p._height),B.attr({width:p._width-k,height:C-k,x:k/2,y:k/2}),c.setTranslate(V,0,0),E.select("rect").attr({width:p._width-2*k,height:C-2*k,x:k,y:k}),c.setClipUrl(V,a,e),c.setRect(G,0,0,0,0),delete p._scrollY}else{var P,R,F,q=Math.max(h.scrollBarMinHeight,p._effHeight*p._effHeight/p._height),Z=p._effHeight-q-2*h.scrollBarMargin,W=p._height-p._effHeight,Y=Z/W,X=Math.min(p._scrollY||0,W);B.attr({width:p._width-2*k+h.scrollBarWidth+h.scrollBarMargin,height:p._effHeight-k,x:k/2,y:k/2}),E.select("rect").attr({width:p._width-2*k+h.scrollBarWidth+h.scrollBarMargin,height:p._effHeight-2*k,x:k,y:k+X}),c.setClipUrl(V,a,e),K(X,q,Y),N.on("wheel",function(){K(X=n.constrain(p._scrollY+r.event.deltaY/Z*W,0,W),q,Y),0!==X&&X!==W&&r.event.preventDefault()});var J=r.behavior.drag().on("dragstart",function(){var e=r.event.sourceEvent;P="touchstart"===e.type?e.changedTouches[0].clientY:e.clientY,F=X}).on("drag",function(){var e=r.event.sourceEvent;2===e.buttons||e.ctrlKey||(R="touchmove"===e.type?e.changedTouches[0].clientY:e.clientY,X=function(e,t,a){var r=(a-t)/Y+e;return n.constrain(r,0,W)}(F,P,R),K(X,q,Y))});G.call(J);var Q=r.behavior.drag().on("dragstart",function(){var e=r.event.sourceEvent;"touchstart"===e.type&&(P=e.changedTouches[0].clientY,F=X)}).on("drag",function(){var e=r.event.sourceEvent;"touchmove"===e.type&&(R=e.changedTouches[0].clientY,X=function(e,t,a){var r=(t-a)/Y+e;return n.constrain(r,0,W)}(F,P,R),K(X,q,Y))});V.call(Q)}function K(t,a,r){p._scrollY=e._fullLayout[_]._scrollY=t,c.setTranslate(V,0,-t),c.setRect(G,p._width,h.scrollBarMargin+t*r,h.scrollBarWidth,a),E.select("rect").attr("y",k+t)}e._context.edits.legendPosition&&(N.classed("cursor-move",!0),s.init({element:N.node(),gd:e,prepFn:function(e){if(e.target!==G.node()){var t=c.getTranslate(N);y=t.x,x=t.y}},moveFn:function(e,a){if(void 0!==y&&void 0!==x){var r=y+e,n=x+a;c.setTranslate(N,r,n),t=s.align(r,p._width,b.l,b.l+b.w,p.xanchor),d=s.align(n+p._height,-p._height,b.t+b.h,b.t,p.yanchor)}},doneFn:function(){if(void 0!==t&&void 0!==d){var a={};a[_+".x"]=t,a[_+".y"]=d,o.call("_guiRelayout",e,a)}},clickFn:function(t,a){var r=l.selectAll("g.traces").filter(function(){var e=this.getBoundingClientRect();return a.clientX>=e.left&&a.clientX<=e.right&&a.clientY>=e.top&&a.clientY<=e.bottom});r.size()>0&&T(e,N,r,t,a)}}))}],e)}}function k(e,t,a){var r=e[0],n=r.width,i=t.entrywidthmode,o=r.trace.legendwidth||t.entrywidth;return"fraction"===i?t._maxWidth*o:a+(o||n)}function T(e,t,a,r,n){var i=a.data()[0][0].trace,s={event:n,node:a.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&&(s.group=i._group),o.traceIs(i,"pie-like")&&(s.label=a.datum()[0].label);var c=l.triggerHandler(e,"plotly_legendclick",s);if(1===r){if(!1===c)return;t._clickTimeout=setTimeout(function(){e._fullLayout&&p(a,e,r)},e._context.doubleClickDelay)}else 2===r&&(t._clickTimeout&&clearTimeout(t._clickTimeout),e._legendMouseDownTime=0,!1!==l.triggerHandler(e,"plotly_legenddoubleclick",s)&&!1!==c&&p(a,e,r))}function A(e,t,a){var r,i,l=j(a),s=e.data()[0][0],d=s.trace,p=o.traceIs(d,"pie-like"),f=!a._inHover&&t._context.edits.legendText&&!p,g=a._maxNameLength;s.groupTitle?(r=s.groupTitle.text,i=s.groupTitle.font):(i=a.font,a.entries?r=s.text:(r=p?s.label:d.name,d._meta&&(r=n.templateString(r,d._meta))));var m=n.ensureSingle(e,"text",l+"text");m.attr("text-anchor","start").call(c.font,i).text(f?M(r,g):r);var v=a.indentation+a.itemwidth+2*h.itemGap;u.positionText(m,v,0),f?m.call(u.makeEditable,{gd:t,text:r}).call(L,e,t,a).on("edit",function(r){this.text(M(r,g)).call(L,e,t,a);var i=s.trace._fullInput||{},l={};if(o.hasTransform(i,"groupby")){var c=o.getTransformIndices(i,"groupby"),u=c[c.length-1],p=n.keyedContainer(i,"transforms["+u+"].styles","target","value.name");p.set(s.trace._group,r),l=p.constructUpdate()}else l.name=r;return i._isShape?o.call("_guiRelayout",t,"shapes["+d.index+"].name",l.name):o.call("_guiRestyle",t,l,d.index)}):L(m,e,t,a)}function M(e,t){var a=Math.max(4,t);if(e&&e.trim().length>=a/2)return e;for(var r=a-(e=e||"").length;r>0;r--)e+=" ";return e}function S(e,t,a){var i,o=t._context.doubleClickDelay,l=1,s=n.ensureSingle(e,"rect",a+"toggle",function(e){t._context.staticPlot||e.style("cursor","pointer").attr("pointer-events","all"),e.call(d.fill,"rgba(0,0,0,0)")});t._context.staticPlot||(s.on("mousedown",function(){(i=(new Date).getTime())-t._legendMouseDownTimeo&&(l=Math.max(l-1,1)),T(t,n,e,l,r.event)}}))}function L(e,t,a,r,n){r._inHover&&e.attr("data-notex",!0),u.convertToTspans(e,a,function(){!function(e,t,a,r){var n=e.data()[0][0];if(a._inHover||!n||n.trace.showlegend){var i=e.select("g[class*=math-group]"),o=i.node(),l=j(a);a||(a=t._fullLayout[l]);var s,d,p=a.borderwidth,f=(1===r?a.title.font:n.groupTitle?n.groupTitle.font:a.font).size*g;if(o){var m=c.bBox(o);s=m.height,d=m.width,1===r?c.setTranslate(i,p,p+.75*s):c.setTranslate(i,0,.25*s)}else{var v="."+l+(1===r?"title":"")+"text",y=e.select(v),x=u.lineCount(y),b=y.node();if(s=f*x,d=b?c.bBox(b).width:0,1===r)"left"===a.title.side&&(d+=2*h.itemGap),u.positionText(y,p+h.titlePad,p+f);else{var _=2*h.itemGap+a.indentation+a.itemwidth;n.groupTitle&&(_=h.itemGap,d-=a.indentation+a.itemwidth),u.positionText(y,_,-f*((x-1)/2-.3))}}1===r?(a._titleWidth=d,a._titleHeight=s):(n.lineHeight=f,n.height=Math.max(s,16)+3,n.width=d)}else e.remove()}(t,a,r,n)})}function O(e){return n.isRightAnchor(e)?"right":n.isCenterAnchor(e)?"center":"left"}function D(e){return n.isBottomAnchor(e)?"bottom":n.isMiddleAnchor(e)?"middle":"top"}function j(e){return e._id||"legend"}e.exports=function(e,t){if(t)w(e,t);else{var a=e._fullLayout,n=a._legends;a._infolayer.selectAll('[class^="legend"]').each(function(){var e=r.select(this),t=e.attr("class").split(" ")[0];t.match(_)&&-1===n.indexOf(t)&&e.remove()});for(var i=0;ir?n.substr(r):i.substr(a))+o:n+i+e*t:o}function m(e,t){for(var a=t._size,r=a.h/a.w,n={},i=Object.keys(e),o=0;oc*x)||k)for(a=0;az&&Fj&&(j=F);p/=(j-D)/(2*I),D=s.l2r(D),j=s.l2r(j),s.range=s._input.range=S0)return Math.log(t)/Math.LN10;if(t<=0&&a&&e.range&&2===e.range.length){var r=e.range[0],n=e.range[1];return.5*(r+n-2*m*Math.abs(r-n))}return g}function O(t,a,r,n){if((n||{}).msUTC&&l(t))return+t;var o=d(t,r||e.calendar);if(o===g){if(!l(t))return g;t=+t;var s=Math.floor(10*i.mod(t+.05,1)),c=Math.round(t-s/10);o=d(new Date(c))+s/10}return o}function D(t,a,r){return c(t,a,r||e.calendar)}function j(t){return e._categories[Math.round(t)]}function I(t){if(S(t)){if(void 0===e._categoriesMap&&(e._categoriesMap={}),void 0!==e._categoriesMap[t])return e._categoriesMap[t];e._categories.push("number"==typeof t?String(t):t);var a=e._categories.length-1;return e._categoriesMap[t]=a,a}return g}function z(t){if(e._categoriesMap)return e._categoriesMap[t]}function C(e){var t=z(e);return void 0!==t?t:l(e)?+e:void 0}function P(e){return l(e)?+e:z(e)}function R(e,t,a){return r.round(a+t*e,2)}function F(e,t,a){return(e-a)/t}var N=function(t){return l(t)?R(t,e._m,e._b):g},E=function(t){return F(t,e._m,e._b)};if(e.rangebreaks){var B="y"===h;N=function(t){if(!l(t))return g;var a=e._rangebreaks.length;if(!a)return R(t,e._m,e._b);var r=B;e.range[0]>e.range[1]&&(r=!r);for(var n=r?-1:1,i=n*t,o=0,s=0;sd)){o=i<(c+d)/2?s:s+1;break}o=s+1}var u=e._B[o]||0;return isFinite(u)?R(t,e._m2,u):0},E=function(t){var a=e._rangebreaks.length;if(!a)return F(t,e._m,e._b);for(var r=0,n=0;ne._rangebreaks[n].pmax&&(r=n+1);return F(t,e._m2,e._B[r])}}e.c2l="log"===e.type?L:u,e.l2c="log"===e.type?M:u,e.l2p=N,e.p2l=E,e.c2p="log"===e.type?function(e,t){return N(L(e,t))}:N,e.p2c="log"===e.type?function(e){return M(E(e))}:E,-1!==["linear","-"].indexOf(e.type)?(e.d2r=e.r2d=e.d2c=e.r2c=e.d2l=e.r2l=s,e.c2d=e.c2r=e.l2d=e.l2r=u,e.d2p=e.r2p=function(t){return e.l2p(s(t))},e.p2d=e.p2r=E,e.cleanPos=u):"log"===e.type?(e.d2r=e.d2l=function(e,t){return L(s(e),t)},e.r2d=e.r2c=function(e){return M(s(e))},e.d2c=e.r2l=s,e.c2d=e.l2r=u,e.c2r=L,e.l2d=M,e.d2p=function(t,a){return e.l2p(e.d2r(t,a))},e.p2d=function(e){return M(E(e))},e.r2p=function(t){return e.l2p(s(t))},e.p2r=E,e.cleanPos=u):"date"===e.type?(e.d2r=e.r2d=i.identity,e.d2c=e.r2c=e.d2l=e.r2l=O,e.c2d=e.c2r=e.l2d=e.l2r=D,e.d2p=e.r2p=function(t,a,r){return e.l2p(O(t,0,r))},e.p2d=e.p2r=function(e,t,a){return D(E(e),t,a)},e.cleanPos=function(t){return i.cleanDate(t,g,e.calendar)}):"category"===e.type?(e.d2c=e.d2l=I,e.r2d=e.c2d=e.l2d=j,e.d2r=e.d2l_noadd=C,e.r2c=function(t){var a=P(t);return void 0!==a?a:e.fraction2r(.5)},e.l2r=e.c2r=u,e.r2l=P,e.d2p=function(t){return e.l2p(e.r2c(t))},e.p2d=function(e){return j(E(e))},e.r2p=e.d2p,e.p2r=E,e.cleanPos=function(e){return"string"==typeof e&&""!==e?e:u(e)}):"multicategory"===e.type&&(e.r2d=e.c2d=e.l2d=j,e.d2r=e.d2l_noadd=C,e.r2c=function(t){var a=C(t);return void 0!==a?a:e.fraction2r(.5)},e.r2c_just_indices=z,e.l2r=e.c2r=u,e.r2l=C,e.d2p=function(t){return e.l2p(e.r2c(t))},e.p2d=function(e){return j(E(e))},e.r2p=e.d2p,e.p2r=E,e.cleanPos=function(e){return Array.isArray(e)||"string"==typeof e&&""!==e?e:u(e)},e.setupMultiCategory=function(r){var n,o,l=e._traceIndices,s=e._matchGroup;if(s&&0===e._categories.length)for(var c in s)if(c!==a){var d=t[w.id2name(c)];l=l.concat(d._traceIndices)}var u=[[0,{}],[0,{}]],f=[];for(n=0;ns[1]&&(n[l?0:1]=r),n[0]===n[1]){var c=e.l2r(a),d=e.l2r(r);if(void 0!==a){var u=c+1;void 0!==r&&(u=Math.min(u,d)),n[l?1:0]=u}if(void 0!==r){var p=d+1;void 0!==a&&(p=Math.max(p,c)),n[l?0:1]=p}}}},e.cleanRange=function(t,a){e._cleanRange(t,a),e.limitRange(t)},e._cleanRange=function(t,a){a||(a={}),t||(t="range");var r,n,o=i.nestedProperty(e,t).get();if(n=(n="date"===e.type?i.dfltRange(e.calendar):"y"===h?k.DFLTRANGEY:"realaxis"===e._name?[0,1]:a.dfltRange||k.DFLTRANGEX).slice(),"tozero"!==e.rangemode&&"nonnegative"!==e.rangemode||(n[0]=0),o&&2===o.length){var s=null===o[0],c=null===o[1];for("date"!==e.type||e.autorange||(o[0]=i.cleanDate(o[0],g,e.calendar),o[1]=i.cleanDate(o[1],g,e.calendar)),r=0;r<2;r++)if("date"===e.type){if(!i.isDateTime(o[r],e.calendar)){e[t]=n;break}if(e.r2l(o[0])===e.r2l(o[1])){var d=i.constrain(e.r2l(o[0]),i.MIN_MS+1e3,i.MAX_MS-1e3);o[0]=e.l2r(d-1e3),o[1]=e.l2r(d+1e3);break}}else{if(!l(o[r])){if(s||c||!l(o[1-r])){e[t]=n;break}o[r]=o[1-r]*(r?10:.1)}if(o[r]<-f?o[r]=-f:o[r]>f&&(o[r]=f),o[0]===o[1]){var u=Math.max(1,Math.abs(1e-6*o[0]));o[0]-=u,o[1]+=u}}}else i.nestedProperty(e,t).set(n)},e.setScale=function(a){var r=t._size;if(e.overlaying){var n=w.getFromId({_fullLayout:t},e.overlaying);e.domain=n.domain}var i=a&&e._r?"_r":"range",o=e.calendar;e.cleanRange(i);var l,s,c=e.r2l(e[i][0],o),d=e.r2l(e[i][1],o),u="y"===h;if(u?(e._offset=r.t+(1-e.domain[1])*r.h,e._length=r.h*(e.domain[1]-e.domain[0]),e._m=e._length/(c-d),e._b=-e._m*d):(e._offset=r.l+e.domain[0]*r.w,e._length=r.w*(e.domain[1]-e.domain[0]),e._m=e._length/(d-c),e._b=-e._m*c),e._rangebreaks=[],e._lBreaks=0,e._m2=0,e._B=[],e.rangebreaks&&(e._rangebreaks=e.locateBreaks(Math.min(c,d),Math.max(c,d)),e._rangebreaks.length)){for(l=0;ld&&(p=!p),p&&e._rangebreaks.reverse();var f=p?-1:1;for(e._m2=f*e._length/(Math.abs(d-c)-e._lBreaks),e._B.push(-e._m2*(u?d:c)),l=0;ln&&(n+=7,on&&(n+=24,o=r&&o=r&&t=l.min&&(el.max&&(l.max=r),n=!1)}n&&c.push({min:e,max:r})}};for(r=0;r0)){var g=function(e,t,a){for(var r=a.filter(function(a){return t[a].anchor===e._id}),n=0,i=0;i=n&&(a._input||{})._templateitemname;l&&(o=n);var s,c=t+"["+o+"]";function d(){s={},l&&(s[c]={},s[c][i]=l)}function u(e,t){l?r.nestedProperty(s[c],e).set(t):s[c+"."+e]=t}function p(){var e=s;return d(),e}return d(),{modifyBase:function(e,t){s[e]=t},modifyItem:u,getUpdateObj:p,applyUpdate:function(t,a){t&&u(t,a);var n=p();for(var i in n)r.nestedProperty(e,i).set(n[i])}}}},79597(e){e.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}}},79955(e,t,a){var r=a(78429).getAxisGroup;e.exports=function(e,t,a,n){var i=t.orientation,o=t[{v:"x",h:"y"}[i]+"axis"],l=r(a,o)+i,s=a._alignmentOpts||{},c=n("alignmentgroup"),d=s[l];d||(d=s[l]={});var u=d[c];u?u.traces.push(t):u=d[c]={traces:[t],alignmentIndex:Object.keys(d).length,offsetGroups:{}};var p=n("offsetgroup"),h=u.offsetGroups,f=h[p];p&&(f||(f=h[p]={offsetIndex:Object.keys(h).length}),t._offsetIndex=f.offsetIndex)}},80061(e){e.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:"◄",right:"►",up:"▲",down:"▼"}}},81013(e){e.exports={scattermode:{valType:"enumerated",values:["group","overlay"],dflt:"overlay",editType:"calc",description:["Determines how scatter points at the same location coordinate","are displayed on the graph.","With *group*, the scatter points are plotted next to one another","centered around the shared location.","With *overlay*, the scatter points are plotted over one another,","you might need to reduce *opacity* to see multiple scatter points."].join(" ")},scattergap:{valType:"number",min:0,max:1,editType:"calc",description:["Sets the gap (in plot fraction) between scatter points of","adjacent location coordinates.","Defaults to `bargap`."].join(" ")}}},81241(e){e.exports={scrollBarWidth:6,scrollBarMinHeight:20,scrollBarColor:"#808BA4",scrollBarMargin:4,scrollBarEnterAttrs:{rx:20,ry:3,width:0,height:0},titlePad:2,itemGap:5}},81397(e,t,a){var r=a(7396),n=a(30991),i=a(92765),o=a(29904),l=a(88426),s=/"/g,c="TOBESTRIPPED",d=new RegExp('("'+c+")|("+c+'")',"g");e.exports=function(e,t,a){var u,p=e._fullLayout,h=p._paper,f=p._toppaper,g=p.width,m=p.height;h.insert("rect",":first-child").call(i.setRect,0,0,g,m).call(o.fill,p.paper_bgcolor);var v=p._basePlotModules||[];for(u=0;u")?"":t.html(e).text()});return t.remove(),a}(w)).replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")).replace(d,"'"),n.isIE()&&(w=(w=(w=w.replace(/"/gi,"'")).replace(/(\('#)([^']*)('\))/gi,'("#$2")')).replace(/(\\')/gi,'"')),w}},81592(e,t,a){var r=a(88737),n=a(33068),i=a(13936),o=a(2918).isUnifiedHover,l=a(73879),s=a(68410),c=a(25386).DRAW_MODES,d=a(30991).extendDeep;e.exports=function(e){var t=e._fullLayout,a=e._context,u=t._modeBar;if(a.displayModeBar||a.watermark){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 p,h=a.modeBarButtons;p=Array.isArray(h)&&h.length?function(e){for(var t=d([],e),a=0;a1?(z=["toggleHover"],C=["resetViews"]):v?(I=["zoomInGeo","zoomOutGeo"],z=["hoverClosestGeo"],C=["resetGeo"]):m?(z=["hoverClosest3d"],C=["resetCameraDefault3d","resetCameraLastSave3d"]):w?(I=["zoomInMapbox","zoomOutMapbox"],z=["toggleHover"],C=["resetViewMapbox"]):k?(I=["zoomInMap","zoomOutMap"],z=["toggleHover"],C=["resetViewMap"]):b?z=["hoverClosestGl2d"]:y?z=["hoverClosestPie"]:M?(z=["hoverClosestCartesian","hoverCompareCartesian"],C=["resetViewSankey"]):z=["toggleHover"],g&&z.push("toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"),(function(e){for(var t=0;t0&&n<0&&(n+=360);var l=(n-r)/4;return{type:"Polygon",coordinates:[[[r,i],[r,o],[r+l,o],[r+2*l,o],[r+3*l,o],[n,o],[n,i],[n-l,i],[n-2*l,i],[n-3*l,i],[r,i]]]}}e.exports=function(e){return new M(e)},S.plot=function(e,t,a,r){var n=this;if(r)return n.update(e,t,!0);n._geoCalcData=e,n._fullLayout=t;var i=t[this.id],o=[],l=!1;for(var s in w.layerNameToAdjective)if("frame"!==s&&i["show"+s]){l=!0;break}for(var c=!1,d=0;d0&&o._module.calcGeoJSON(i,t)}if(!a){if(this.updateProjection(e,t))return;this.viewInitial&&this.scope===r.scope||this.saveViewInitial(r)}this.scope=r.scope,this.updateBaseLayers(t,r),this.updateDims(t,r),this.updateFx(t,r),f.generalUpdatePerTraceModule(this.graphDiv,this,e,r);var l=this.layers.frontplot.select(".scatterlayer");this.dataPoints.point=l.selectAll(".point"),this.dataPoints.text=l.selectAll("text"),this.dataPaths.line=l.selectAll(".js-line");var s=this.layers.backplot.select(".choroplethlayer");this.dataPaths.choropleth=s.selectAll("path"),this._render()},S.updateProjection=function(e,t){var a=this.graphDiv,r=t[this.id],s=t._size,d=r.domain,u=r.projection,p=r.lonaxis,h=r.lataxis,f=p._ax,g=h._ax,v=this.projection=function(e){var t=e.projection,a=t.type,r=w.projNames[a];r="geo"+c.titleCase(r);for(var s=(n[r]||l[r])(),d=e._isSatellite?180*Math.acos(1/t.distance)/Math.PI:e._isClipped?w.lonaxisSpan[a]/2:null,u=["center","rotate","parallels","clipExtent"],p=function(e){return e?s:[]},h=0;hd*Math.PI/180}return!1},s.getPath=function(){return i().projection(s)},s.getBounds=function(e){return s.getPath().bounds(e)},s.precision(w.precision),e._isSatellite&&s.tilt(t.tilt).distance(t.distance),d&&s.clipAngle(d-w.clipPad),s}(r),y=[[s.l+s.w*d.x[0],s.t+s.h*(1-d.y[1])],[s.l+s.w*d.x[1],s.t+s.h*(1-d.y[0])]],x=r.center||{},b=u.rotation||{},_=p.range||[],k=h.range||[];if(r.fitbounds){f._length=y[1][0]-y[0][0],g._length=y[1][1]-y[0][1],f.range=m(a,f),g.range=m(a,g);var T=(f.range[0]+f.range[1])/2,A=(g.range[0]+g.range[1])/2;if(r._isScoped)x={lon:T,lat:A};else if(r._isClipped){x={lon:T,lat:A},b={lon:T,lat:A,roll:b.roll};var M=u.type,S=w.lonaxisSpan[M]/2||180,O=w.lataxisSpan[M]/2||90;_=[T-S,T+S],k=[A-O,A+O]}else x={lon:T,lat:A},b={lon:T,lat:b.lat,roll:b.roll}}v.center([x.lon-b.lon,x.lat-b.lat]).rotate([-b.lon,-b.lat,b.roll]).parallels(u.parallels);var D=L(_,k);v.fitExtent(y,D);var j=this.bounds=v.getBounds(D),I=this.fitScale=v.scale(),z=v.translate();if(r.fitbounds){var C=v.getBounds(L(f.range,g.range)),P=Math.min((j[1][0]-j[0][0])/(C[1][0]-C[0][0]),(j[1][1]-j[0][1])/(C[1][1]-C[0][1]));isFinite(P)?v.scale(P*I):c.warn("Something went wrong during"+this.id+"fitbounds computations.")}else v.scale(u.scale*I);var R=this.midPt=[(j[0][0]+j[1][0])/2,(j[0][1]+j[1][1])/2];if(v.translate([z[0]+(R[0]-z[0]),z[1]+(R[1]-z[1])]).clipExtent(j),r._isAlbersUsa){var F=v([x.lon,x.lat]),N=v.translate();v.translate([N[0]-(F[0]-N[0]),N[1]-(F[1]-N[1])])}},S.updateBaseLayers=function(e,t){var a=this,n=a.topojson,i=a.layers,o=a.basePaths;function l(e){return"lonaxis"===e||"lataxis"===e}function s(e){return Boolean(w.lineLayers[e])}function c(e){return Boolean(w.fillLayers[e])}var d=(this.hasChoropleth?w.layersForChoropleth:w.layers).filter(function(e){return s(e)||c(e)?t["show"+e]:!l(e)||t[e].showgrid}),h=a.framework.selectAll(".layer").data(d,String);h.exit().each(function(e){delete i[e],delete o[e],r.select(this).remove()}),h.enter().append("g").attr("class",function(e){return"layer "+e}).each(function(e){var t=i[e]=r.select(this);"bg"===e?a.bgRect=t.append("rect").style("pointer-events","all"):l(e)?o[e]=t.append("path").style("fill","none"):"backplot"===e?t.append("g").classed("choroplethlayer",!0):"frontplot"===e?t.append("g").classed("scatterlayer",!0):s(e)?o[e]=t.append("path").style("fill","none").style("stroke-miterlimit",2):c(e)&&(o[e]=t.append("path").style("stroke","none"))}),h.order(),h.each(function(a){var r=o[a],i=w.layerNameToAdjective[a];"frame"===a?r.datum(w.sphereSVG):s(a)||c(a)?r.datum(A(n,n.objects[a])):l(a)&&r.datum(function(e,t,a){var r,n,i,o=t[e],l=w.scopeDefaults[t.scope];"lonaxis"===e?(r=l.lonaxisRange,n=l.lataxisRange,i=function(e,t){return[e,t]}):"lataxis"===e&&(r=l.lataxisRange,n=l.lonaxisRange,i=function(e,t){return[t,e]});var s={type:"linear",range:[r[0],r[1]-1e-6],tick0:o.tick0,dtick:o.dtick};g.setConvert(s,a);var c=g.calcTicks(s);t.isScoped||"lonaxis"!==e||c.pop();for(var d=c.length,u=new Array(d),p=0;p-1&&b(r.event,n,[a.xaxis],[a.yaxis],a.id,d),l.indexOf("event")>-1&&h.click(n,r.event))})}function u(e){return a.projection.invert([e[0]+a.xaxis._offset,e[1]+a.yaxis._offset])}},S.makeFramework=function(){var e=this,t=e.graphDiv,a=t._fullLayout,n="clip"+a._uid+e.id;e.clipDef=a._clips.append("clipPath").attr("id",n),e.clipRect=e.clipDef.append("rect"),e.framework=r.select(e.container).append("g").attr("class","geo "+e.id).call(p.setClipUrl,n,t),e.project=function(t){var a=e.projection(t);return a?[a[0]-e.xaxis._offset,a[1]-e.yaxis._offset]:[null,null]},e.xaxis={_id:"x",c2p:function(t){return e.project(t)[0]}},e.yaxis={_id:"y",c2p:function(t){return e.project(t)[1]}},e.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},g.setConvert(e.mockAxis,a)},S.saveViewInitial=function(e){var t,a=e.center||{},r=e.projection,n=r.rotation||{};this.viewInitial={fitbounds:e.fitbounds,"projection.scale":r.scale},t=e._isScoped?{"center.lon":a.lon,"center.lat":a.lat}:e._isClipped?{"projection.rotation.lon":n.lon,"projection.rotation.lat":n.lat}:{"center.lon":a.lon,"center.lat":a.lat,"projection.rotation.lon":n.lon},c.extendFlat(this.viewInitial,t)},S.render=function(e){this._hasMarkerAngles&&e?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()},S._render=function(){var e,t=this.projection,a=t.getPath();function r(e){var a=t(e.lonlat);return a?d(a[0],a[1]):null}function n(e){return t.isLonLatOverEdges(e.lonlat)?"none":null}for(e in this.basePaths)this.basePaths[e].attr("d",a);for(e in this.dataPaths)this.dataPaths[e].attr("d",function(e){return a(e.geojson)});for(e in this.dataPoints)this.dataPoints[e].attr("display",n).attr("transform",r)}},82490(e,t,a){var r=a(30991),n=a(90733);e.exports=function(e,t){function a(a,i){return r.coerce(e,t,n,a,i)}a("hiddenlabels"),a("piecolorway",t.colorway),a("extendpiecolors")}},82599(e,t,a){var r=a(30991),n=a(78577),i=r.deg2rad,o=r.rad2deg;e.exports=function(e,t,a){switch(n(e,a),e._id){case"x":case"radialaxis":!function(e,t){var a=t._subplot;e.setGeometry=function(){var t=e._rl[0],r=e._rl[1],n=a.innerRadius,i=(a.radius-n)/(r-t),o=n/i,l=t>r?function(e){return e<=0}:function(e){return e>=0};e.c2g=function(a){var r=e.c2l(a)-t;return(l(r)?r:0)+o},e.g2c=function(a){return e.l2c(a+t-o)},e.g2p=function(e){return e*i},e.c2p=function(t){return e.g2p(e.c2g(t))}}}(e,t);break;case"angularaxis":!function(e,t){var a=e.type;if("linear"===a){var n=e.d2c,l=e.c2d;e.d2c=function(e,t){return function(e,t){return"degrees"===t?i(e):e}(n(e),t)},e.c2d=function(e,t){return l(function(e,t){return"degrees"===t?o(e):e}(e,t))}}e.makeCalcdata=function(t,a){var r,n,i=t[a],o=t._length,l=function(a){return e.d2c(a,t.thetaunit)};if(i)for(r=new Array(o),n=0;n=Math.min(t,a)&&f<=Math.max(t,a)?0:1/0}var r=Math.max(3,e.mrc||0),n=1-1/r,i=Math.abs(p.c2p(e.x)-f);return i=Math.min(t,a)&&g<=Math.max(t,a)?0:1/0}var r=Math.max(3,e.mrc||0),n=1-1/r,i=Math.abs(h.c2p(e.y)-g);return ia!=(c=n[r][1])>=a&&(o=n[r-1][0],l=n[r][0],c-s&&(i=o+(l-o)*(a-s)/(c-s),u=Math.min(u,i),f=Math.max(f,i)));return{x0:u=Math.max(u,0),x1:f=Math.min(f,p._length),y0:a,y1:a}}(u._polygons);null===I&&(I={x0:m[0],x1:m[0],y0:m[1],y1:m[1]});var z=l.defaultLine;return l.opacity(u.fillcolor)?z=u.fillcolor:l.opacity((u.line||{}).color)&&(z=u.line.color),r.extendFlat(e,{distance:e.maxHoverDistance,x0:I.x0,x1:I.x1,y0:I.y0,y1:I.y1,color:z,hovertemplate:!1}),delete e.index,u.text&&!r.isArrayOrTypedArray(u.text)?e.text=String(u.text):e.text=u.name,[e]}}},83075(e,t,a){e.exports={moduleType:"component",name:"rangeselector",schema:{subplots:{xaxis:{rangeselector:a(22650)}}},layoutAttributes:a(22650),handleDefaults:a(79117),draw:a(39269)}},83290(e,t,a){var r=a(57365),n=a(35594).isArrayOrTypedArray;function i(e,t){return function(){var a,r,o,l,s,c=e;for(l=0;l), 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:n({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:r.length,dflt:1,editType:"arraydraw",description:"Sets the end annotation arrow head style."},startarrowhead:{valType:"integer",min:0,max:r.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:[c("x","left","right")].join(" ")},ay:{valType:"any",editType:"calc+arraydraw",description:[c("y","top","bottom")].join(" ")},axref:{valType:"enumerated",dflt:"pixel",values:["pixel",i.idRegex.x.toString()],editType:"calc",description:["Indicates in what coordinates the tail of the","annotation (ax,ay) is specified.",l.axisRefDescription("x","left","right"),s("x")].join(" ")},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",i.idRegex.y.toString()],editType:"calc",description:["Indicates in what coordinates the tail of the","annotation (ax,ay) is specified.",l.axisRefDescription("y","bottom","top"),s("y")].join(" ")},xref:{valType:"enumerated",values:["paper",i.idRegex.x.toString()],editType:"calc",description:["Sets the annotation's x coordinate axis.",l.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",i.idRegex.y.toString()],editType:"calc",description:["Sets the annotation's y coordinate axis.",l.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:n({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(" ")}}})},84776(e,t,a){var r,n,i,o,l=a(88133),s=a(7396).round,c="M0,0Z",d=Math.sqrt(2),u=Math.sqrt(3),p=Math.PI,h=Math.cos,f=Math.sin;function g(e){return null===e}function m(e,t,a){if(!(e&&e%360!=0||t))return a;if(i===e&&o===t&&r===a)return n;function s(e,a){var r=h(e),n=f(e),i=a[0],o=a[1]+(t||0);return[i*r-o*n,i*n+o*r]}i=e,o=t,r=a;for(var c=e/180*p,d=0,u=0,g=l(a),m="",v=0;v/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(" ")}},a={};!function e(t,a){for(var r in t){var n=t[r];n.valType?a[r]=n.dflt:(a[r]||(a[r]={}),e(n,a[r]))}}(t,a),e.exports={configAttributes:t,dfltConfig:a}},85642(e,t,a){var r=a(30991),n=a(15076);e.exports=function(e,t,a){var i,o,l={},s=a[t.subplot]._subplot;s?(i=s.radialAxis,o=s.angularAxis):(i=(s=a[t.subplot]).radialaxis,o=s.angularaxis);var c=i.c2l(e.r);l.rLabel=n.tickText(i,c,!0).text;var d="degrees"===o.thetaunit?r.rad2deg(e.theta):e.theta;return l.thetaLabel=n.tickText(o,d,!0).text,l}},85777(e,t,a){e.exports={moduleType:"trace",name:"scatterpolar",basePlotModule:a(58211),categories:["polar","symbols","showLegend","scatter-like"],attributes:a(72700),supplyDefaults:a(98027).supplyDefaults,colorbar:a(53592),formatLabels:a(85642),calc:a(1116),plot:a(30894),style:a(16874).style,styleOnSelect:a(16874).styleOnSelect,hoverPoints:a(5771).hoverPoints,selectPoints:a(53915),meta:{hrName:"scatter_polar",description:["The scatterpolar trace type encompasses line charts, scatter charts, text charts, and bubble charts","in polar coordinates.","The data visualized as scatter point or lines is set in","`r` (radial) and `theta` (angular) coordinates","Text (appearing either on the chart or on hover only) is via `text`.","Bubble charts are achieved by setting `marker.size` and/or `marker.color`","to numerical arrays."].join(" ")}}},85880(e,t,a){var r=a(7396),n=a(30141).de,i=a(75234).OE,o=a(57365),l=a(16257),s=a(13936),c=a(31547),d=a(79338),u=a(30991),p=a(29904),h=a(2007).BADNUM,f=a(88737),g=a(76396).clearOutline,m=a(81013),v=a(3184),y=a(15849),x=a(43999).eV,b=u.relinkPrivateKeys,_=u._,w=e.exports={};u.extendFlat(w,s),w.attributes=a(35667),w.attributes.type.values=w.allTypes,w.fontAttrs=a(70827),w.layoutAttributes=a(38650);var k=w.transformsRegistry,T=a(92933);w.executeAPICommand=T.executeAPICommand,w.computeAPICommandBindings=T.computeAPICommandBindings,w.manageCommandObserver=T.manageCommandObserver,w.hasSimpleAPICommandBindings=T.hasSimpleAPICommandBindings,w.redrawText=function(e){return e=u.getGraphDiv(e),new Promise(function(t){setTimeout(function(){e._fullLayout&&(s.getComponentMethod("annotations","draw")(e),s.getComponentMethod("legend","draw")(e),s.getComponentMethod("colorbar","draw")(e),t(w.previousPromises(e)))},300)})},w.resize=function(e){var t;e=u.getGraphDiv(e);var a=new Promise(function(a,r){e&&!u.isHidden(e)||r(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||u.isHidden(e))a(e);else{delete e.layout.width,delete e.layout.height;var t=e.changed;e.autoplay=!0,s.call("relayout",e,{autosize:!0}).then(function(){e.changed=t,e._resolveResize===a&&(delete e._resolveResize,a(e))})}},100)});return t&&t(a),a},w.previousPromises=function(e){if((e._promises||[]).length)return Promise.all(e._promises).then(function(){e._promises=[]})},w.addLinks=function(e){if(e._context.showLink||e._context.showSources){var t=e._fullLayout,a=u.ensureSingle(t._paper,"text","js-plot-link-container",function(e){e.style({"font-family":'"Open Sans", Arial, sans-serif',"font-size":"12px",fill:p.defaultLine,"pointer-events":"all"}).each(function(){var e=r.select(this);e.append("tspan").classed("js-link-to-tool",!0),e.append("tspan").classed("js-link-spacer",!0),e.append("tspan").classed("js-sourcelinks",!0)})}),n=a.node(),i={y:t._paper.attr("height")-9};document.body.contains(n)&&n.getComputedTextLength()>=t.width-20?(i["text-anchor"]="start",i.x=5):(i["text-anchor"]="end",i.x=t._paper.attr("width")-7),a.attr(i);var o=a.select(".js-link-to-tool"),l=a.select(".js-link-spacer"),s=a.select(".js-sourcelinks");e._context.showSources&&e._context.showSources(e),e._context.showLink&&function(e,t){t.text("");var a=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)a.on("click",function(){w.sendDataToCloud(e)});else{var r=window.location.pathname.split("/"),n=window.location.search;a.attr({"xlink:xlink:show":"new","xlink:xlink:href":"/"+r[2].split(".")[0]+"/"+r[1]+n})}}(e,o),l.text(o.text()&&s.text()?" - ":"")}},w.sendDataToCloud=function(e){var t=(window.PLOTLYENV||{}).BASE_URL||e._context.plotlyServerURL;if(t){e.emit("plotly_beforeexport");var a=r.select(e).append("div").attr("id","hiddenform").style("display","none"),n=a.append("form").attr({action:t+"/external",method:"post",target:"_blank"});return n.append("input").attr({type:"text",name:"data"}).node().value=w.graphJson(e,!1,"keepdata"),n.node().submit(),a.remove(),e.emit("plotly_afterexport"),!1}};var A=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],M=["year","month","dayMonth","dayMonthYear"];function S(e,t){var a=e._context.locale;a||(a="en-US");var r=!1,n={};function i(e){for(var a=!0,i=0;i1&&C.length>1){for(s.getComponentMethod("grid","sizeDefaults")(c,l),o=0;o15&&C.length>15&&0===l.shapes.length&&0===l.images.length,w.linkSubplots(p,l,d,r),w.cleanPlot(p,l,d,r);var E=!(!r._has||!r._has("gl2d")),B=!(!l._has||!l._has("gl2d")),H=!(!r._has||!r._has("cartesian"))||E,V=!(!l._has||!l._has("cartesian"))||B;H&&!V?r._bgLayer.remove():V&&!H&&(l._shouldCreateBgLayer=!0),r._zoomlayer&&!e._dragging&&g({_fullLayout:r}),function(e,t){var a,r=[];t.meta&&(a=t._meta={meta:t.meta,layout:{meta:t.meta}});for(var n=0;n0){var d=1-2*l;r=Math.round(d*r),n=Math.round(d*n)}}var p=w.layoutAttributes.width.min,h=w.layoutAttributes.height.min;r1,g=!t.height&&Math.abs(a.height-n)>1;(g||f)&&(f&&(a.width=r),g&&(a.height=n)),e._initialAutoSize||(e._initialAutoSize={width:r,height:n}),w.sanitizeMargins(a)},w.supplyLayoutModuleDefaults=function(e,t,a,r){var n,i,o,l=s.componentsRegistry,c=t._basePlotModules,d=s.subplotsRegistry.cartesian;for(n in l)(o=l[n]).includeBasePlot&&o.includeBasePlot(e,t);for(var p in c.length||c.push(d),t._has("cartesian")&&(s.getComponentMethod("grid","contentDefaults")(e,t),d.finalizeSubplots(e,t)),t._subplots)t._subplots[p].sort(u.subplotSort);for(i=0;i1&&(a.l/=v,a.r/=v)}if(h){var y=(a.t+a.b)/h;y>1&&(a.t/=y,a.b/=y)}var x=void 0!==a.xl?a.xl:a.x,b=void 0!==a.xr?a.xr:a.x,_=void 0!==a.yt?a.yt:a.y,k=void 0!==a.yb?a.yb:a.y;f[t]={l:{val:x,size:a.l+m},r:{val:b,size:a.r+m},b:{val:k,size:a.b+m},t:{val:_,size:a.t+m}},g[t]=1}else delete f[t],delete g[t];if(!r._replotting)return w.doAutoMargin(e)}},w.doAutoMargin=function(e){var t=e._fullLayout,a=t.width,r=t.height;t._size||(t._size={}),I(t);var n=t._size,i=t.margin,l={t:0,b:0,l:0,r:0},c=u.extendFlat({},n),d=i.l,p=i.r,h=i.t,g=i.b,m=t._pushmargin,v=t._pushmarginIds,y=t.minreducedwidth,x=t.minreducedheight;if(!1!==i.autoexpand){for(var b in m)v[b]||delete m[b];var _=e._fullLayout._reservedMargin;for(var k in _)for(var T in _[k]){var A=_[k][T];l[T]=Math.max(l[T],A)}for(var M in m.base={l:{val:0,size:d},r:{val:1,size:p},t:{val:1,size:h},b:{val:0,size:g}},l){var S=0;for(var L in m)"base"!==L&&o(m[L][M].size)&&(S=m[L][M].size>S?m[L][M].size:S);var O=Math.max(0,i[M]-S);l[M]=Math.max(0,l[M]-O)}for(var D in m){var j=m[D].l||{},z=m[D].b||{},C=j.val,P=j.size,R=z.val,F=z.size,N=a-l.r-l.l,E=r-l.t-l.b;for(var B in m){if(o(P)&&m[B].r){var H=m[B].r.val,V=m[B].r.size;if(H>C){var U=(P*H+(V-N)*C)/(H-C),G=(V*(1-C)+(P-N)*(1-H))/(H-C);U+G>d+p&&(d=U,p=G)}}if(o(F)&&m[B].t){var q=m[B].t.val,Z=m[B].t.size;if(q>R){var W=(F*q+(Z-E)*R)/(q-R),Y=(Z*(1-R)+(F-E)*(1-q))/(q-R);W+Y>g+h&&(g=W,h=Y)}}}}}var X=u.constrain(a-i.l-i.r,2,y),J=u.constrain(r-i.t-i.b,2,x),Q=Math.max(0,a-X),K=Math.max(0,r-J);if(Q){var $=(d+p)/Q;$>1&&(d/=$,p/=$)}if(K){var ee=(g+h)/K;ee>1&&(g/=ee,h/=ee)}if(n.l=Math.round(d)+l.l,n.r=Math.round(p)+l.r,n.t=Math.round(h)+l.t,n.b=Math.round(g)+l.b,n.p=Math.round(i.pad),n.w=Math.round(a)-n.l-n.r,n.h=Math.round(r)-n.t-n.b,!t._replotting&&(w.didMarginChange(c,n)||function(e){if("_redrawFromAutoMarginCount"in e._fullLayout)return!1;var t=f.list(e,"",!0);for(var a in t)if(t[a].autoshift||t[a].shift)return!0;return!1}(e))){"_redrawFromAutoMarginCount"in t?t._redrawFromAutoMarginCount++:t._redrawFromAutoMarginCount=1;var te=3*(1+Object.keys(v).length);if(t._redrawFromAutoMarginCount0&&(e._transitioningWithDuration=!0),e._transitionData._interruptCallbacks.push(function(){r=!0}),a.redraw&&e._transitionData._interruptCallbacks.push(function(){return s.call("redraw",e)}),e._transitionData._interruptCallbacks.push(function(){e.emit("plotly_transitioninterrupted",[])});var i=0,o=0;function l(){return i++,function(){var t;o++,r||o!==i||(t=n,e._transitionData&&(function(e){if(e)for(;e.length;)e.shift()}(e._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(a.redraw)return s.call("redraw",e)}).then(function(){e._transitioning=!1,e._transitioningWithDuration=!1,e.emit("plotly_transitioned",[])}).then(t)))}}a.runFn(l),setTimeout(l())})}],i=u.syncOrAsync(n,e);return i&&i.then||(i=Promise.resolve()),i.then(function(){return e})}w.didMarginChange=function(e,t){for(var a=0;a1)return!0}return!1},w.graphJson=function(e,t,a,r,n,i){(n&&t&&!e._fullData||n&&!t&&!e._fullLayout)&&w.supplyDefaults(e);var o=n?e._fullData:e.data,s=n?e._fullLayout:e.layout,c=(e._transitionData||{})._frames;function d(e,t){if("function"==typeof e)return t?"_function_":null;if(u.isPlainObject(e)){var r,n={};return Object.keys(e).sort().forEach(function(i){if(-1===["_","["].indexOf(i.charAt(0)))if("function"!=typeof e[i]){if("keepdata"===a){if("src"===i.substr(i.length-3))return}else if("keepstream"===a){if("string"==typeof(r=e[i+"src"])&&r.indexOf(":")>0&&!u.isPlainObject(e.stream))return}else if("keepall"!==a&&"string"==typeof(r=e[i+"src"])&&r.indexOf(":")>0)return;n[i]=d(e[i],t)}else t&&(n[i]="_function")}),n}var i=Array.isArray(e),o=u.isTypedArray(e);if((i||o)&&e.dtype&&e.shape){var s=e.bdata;return d({dtype:e.dtype,shape:e.shape,bdata:u.isArrayBuffer(s)?l.encode(s):s},t)}return i?e.map(function(e){return d(e,t)}):o?u.simpleMap(e,u.identity):u.isJSDate(e)?u.ms2DateTimeLocal(+e):e}var p={data:(o||[]).map(function(e){var a=d(e);return t&&delete a.fit,a})};if(!t&&(p.layout=d(s),n)){var h=s._size;p.layout.computed={margin:{b:h.b,l:h.l,r:h.r,t:h.t}}}return c&&(p.frames=d(c)),i&&(p.config=d(e._context,!0)),"object"===r?p:JSON.stringify(p)},w.modifyFrames=function(e,t){var a,r,n,i=e._transitionData._frames,o=e._transitionData._frameHash;for(a=0;a=0;i--)if(s[i].enabled){a._indexToPoints=s[i]._indexToPoints;break}r&&r.calc&&(o=r.calc(e,a))}Array.isArray(o)&&o[0]||(o=[{x:h,y:h}]),o[0].t||(o[0].t={}),o[0].trace=a,p[t]=o}}for(R(o,l,d),n=0;n* 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 g(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 m(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(" ")}}e.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:f("x"),yperiod:f("y"),xperiod0:g("x0"),yperiod0:g("y0"),xperiodalignment:m("x"),yperiodalignment:m("y"),xhoverformat:r("x"),yhoverformat:r("y"),offsetgroup:{valType:"string",dflt:"",editType:"calc",description:["Set several traces linked to the same position axis","or matching axes to the same","offsetgroup where bars of the same position coordinate will line up."].join(" ")},alignmentgroup:{valType:"string",dflt:"",editType:"calc",description:["Set several traces linked to the same position axis","or matching axes to the same","alignmentgroup. This controls whether bars compute their positional","range dependently or independently."].join(" ")},stackgroup:{valType:"string",dflt:"",editType:"calc",description:["Set several scatter traces (on the same subplot) to the same","stackgroup in order to add their y values (or their x values if","`orientation` is *h*). If blank or omitted this trace will not be","stacked. Stacking also turns `fill` on by default, using *tonexty*","(*tonextx*) if `orientation` is *h* (*v*) and sets the default","`mode` to *lines* irrespective of point count.","You can only stack on a numeric (linear or log) axis.","Traces in a `stackgroup` will only fill to (or be filled to) other","traces in the same group. With multiple `stackgroup`s or some","traces stacked and some not, if fill-linked traces are not already","consecutive, the later ones will be pushed down in the drawing order."].join(" ")},orientation:{valType:"enumerated",values:["v","h"],editType:"calc",description:["Only relevant in the following cases:","1. when `scattermode` is set to *group*.","2. when `stackgroup` is used, and only the first","`orientation` found in the `stackgroup` will be used - including","if `visible` is *legendonly* but not if it is `false`. Sets the","stacking direction. With *v* (*h*), the y (x) values of subsequent","traces are added. Also affects the default value of `fill`."].join(" ")},groupnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc",description:["Only relevant when `stackgroup` is used, and only the first","`groupnorm` found in the `stackgroup` will be used - including","if `visible` is *legendonly* but not if it is `false`.","Sets the normalization for the sum of this `stackgroup`.","With *fraction*, the value of each trace at each location is","divided by the sum of all trace values at that location.","*percent* is the same but multiplied by 100 to show percentages.","If there are multiple subplots, or multiple `stackgroup`s on one","subplot, each will be normalized within its own set."].join(" ")},stackgaps:{valType:"enumerated",values:["infer zero","interpolate"],dflt:"infer zero",editType:"calc",description:["Only relevant when `stackgroup` is used, and only the first","`stackgaps` found in the `stackgroup` will be used - including","if `visible` is *legendonly* but not if it is `false`.","Determines how we handle locations at which other traces in this","group have data but this one does not.","With *infer zero* we insert a zero at these locations.","With *interpolate* we linearly interpolate between existing","values, and extrapolate a constant beyond the existing values."].join(" ")},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc",description:["Sets text elements associated with each (x,y) pair.","If a single string, the same string appears over","all the data points.","If an array of string, the items are mapped in order to the","this trace's (x,y) coordinates.","If trace `hoverinfo` contains a *text* flag and *hovertext* is not set,","these elements will be seen in the hover labels."].join(" ")},texttemplate:n({},{}),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 "+u.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:i({},{keys:u.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:p({},s,{editType:"style"}),backoff:{valType:"number",min:0,dflt:"auto",arrayOk:!0,editType:"plot",description:["Sets the line back off from the end point of the nth line segment (in px).","This option is useful e.g. to avoid overlap with arrowhead markers.","With *auto* the lines would trim before markers if `marker.angleref` is set to *previous*."].join(" ")},simplify:{valType:"boolean",dflt:!0,editType:"plot",description:["Simplifies lines by removing nearly-collinear points. When transitioning","lines, it may be desirable to disable this so that the number of points","along the resulting SVG path is unaffected."].join(" ")},editType:"plot"},connectgaps:{valType:"boolean",dflt:!1,editType:"calc",description:["Determines whether or not gaps","(i.e. {nan} or missing values)","in the provided data arrays are connected."].join(" ")},cliponaxis:{valType:"boolean",dflt:!0,editType:"plot",description:["Determines whether or not markers and text nodes","are clipped about the subplot axes.","To show markers and text nodes above axis lines and tick labels,","make sure to set `xaxis.layer` and `yaxis.layer` to *below traces*."].join(" ")},fill:{valType:"enumerated",values:["none","tozeroy","tozerox","tonexty","tonextx","toself","tonext"],editType:"calc",description:["Sets the area to fill with a solid color.","Defaults to *none* unless this trace is stacked, then it gets","*tonexty* (*tonextx*) if `orientation` is *v* (*h*)","Use with `fillcolor` if not *none*.","*tozerox* and *tozeroy* fill to x=0 and y=0 respectively.","*tonextx* and *tonexty* fill between the endpoints of this","trace and the endpoints of the trace before it, connecting those","endpoints with straight lines (to make a stacked area graph);","if there is no trace before it, they behave like *tozerox* and","*tozeroy*.","*toself* connects the endpoints of the trace (or each segment","of the trace if it has gaps) into a closed shape.","*tonext* fills the space between two traces if one completely","encloses the other (eg consecutive contour lines), and behaves like","*toself* if there is no trace before it. *tonext* should not be","used if one trace does not enclose the other.","Traces in a `stackgroup` will only fill to (or be filled to) other","traces in the same group. With multiple `stackgroup`s or some","traces stacked and some not, if fill-linked traces are not already","consecutive, the later ones will be pushed down in the drawing order."].join(" ")},fillcolor:h(!0),fillgradient:p({type:{valType:"enumerated",values:["radial","horizontal","vertical","none"],dflt:"none",editType:"calc",description:["Sets the type/orientation of the color gradient for the fill.","Defaults to *none*."].join(" ")},start:{valType:"number",editType:"calc",description:["Sets the gradient start value.","It is given as the absolute position on the axis determined by","the orientiation. E.g., if orientation is *horizontal*, the","gradient will be horizontal and start from the x-position","given by start. If omitted, the gradient starts at the lowest","value of the trace along the respective axis.","Ignored if orientation is *radial*."].join(" ")},stop:{valType:"number",editType:"calc",description:["Sets the gradient end value.","It is given as the absolute position on the axis determined by","the orientiation. E.g., if orientation is *horizontal*, the","gradient will be horizontal and end at the x-position","given by end. If omitted, the gradient ends at the highest","value of the trace along the respective axis.","Ignored if orientation is *radial*."].join(" ")},colorscale:{valType:"colorscale",editType:"style",description:["Sets the fill gradient colors as a color scale.","The color scale is interpreted as a gradient","applied in the direction specified by *orientation*,","from the lowest to the highest value of the scatter","plot along that axis, or from the center to the most","distant point from it, if orientation is *radial*."].join(" ")},editType:"calc",description:["Sets a fill gradient.","If not specified, the fillcolor is used instead."].join(" ")}),fillpattern:c,marker:p({symbol:{valType:"enumerated",values:d.symbolList,dflt:"circle",arrayOk:!0,editType:"style",description:["Sets the marker symbol type.","Adding 100 is equivalent to appending *-open* to a symbol name.","Adding 200 is equivalent to appending *-dot* to a symbol name.","Adding 300 is equivalent to appending *-open-dot*","or *dot-open* to a symbol name."].join(" ")},opacity:{valType:"number",min:0,max:1,arrayOk:!0,editType:"style",anim:!0,description:"Sets the marker opacity."},angle:{valType:"angle",dflt:0,arrayOk:!0,editType:"plot",anim:!1,description:["Sets the marker angle in respect to `angleref`."].join(" ")},angleref:{valType:"enumerated",values:["previous","up"],dflt:"up",editType:"plot",anim:!1,description:["Sets the reference for marker angle.","With *previous*, angle 0 points along the line from the previous point to this one.","With *up*, angle 0 points toward the top of the screen."].join(" ")},standoff:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"plot",anim:!0,description:["Moves the marker away from the data point in the direction of `angle` (in px).","This can be useful for example if you have another marker at this","location and you want to point an arrowhead marker at it."].join(" ")},size:{valType:"number",min:0,dflt:6,arrayOk:!0,editType:"calc",anim:!0,description:"Sets the marker size (in px)."},maxdisplayed:{valType:"number",min:0,dflt:0,editType:"plot",description:["Sets a maximum number of points to be drawn on the graph.","*0* corresponds to no limit."].join(" ")},sizeref:{valType:"number",dflt:1,editType:"calc",description:["Has an effect only if `marker.size` is set to a numerical array.","Sets the scale factor used to determine the rendered size of","marker points. Use with `sizemin` and `sizemode`."].join(" ")},sizemin:{valType:"number",min:0,dflt:0,editType:"calc",description:["Has an effect only if `marker.size` is set to a numerical array.","Sets the minimum size (in px) of the rendered marker points."].join(" ")},sizemode:{valType:"enumerated",values:["diameter","area"],dflt:"diameter",editType:"calc",description:["Has an effect only if `marker.size` is set to a numerical array.","Sets the rule for which the data in `size` is converted","to pixels."].join(" ")},line:p({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"},o("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"},o("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:l({editType:"calc",colorEditType:"style",arrayOk:!0,description:"Sets the text font."}),zorder:{valType:"integer",dflt:0,editType:"plot",description:["Sets the layer on which this trace is displayed, relative to","other SVG traces on the same subplot. SVG traces with higher `zorder`","appear in front of those with lower `zorder`."].join(" ")}}},86983(e,t,a){var r=a(91307).extendFlat,n=a(91307).extendDeep,i=a(70756).overrideAll,o=a(70827),l=a(45635),s=a(1962).u,c=a(71867),d=a(79338).templatedArray,u=a(64659),p=a(71018).descriptionOnlyNumbers,h=o({editType:"plot",colorEditType:"plot"}),f={color:{valType:"color",editType:"plot",description:["Sets the background color of the arc."].join(" ")},line:{color:{valType:"color",dflt:l.defaultLine,editType:"plot",description:["Sets the color of the line enclosing each sector."].join(" ")},width:{valType:"number",min:0,dflt:0,editType:"plot",description:["Sets the width (in px) of the line enclosing each sector."].join(" ")},editType:"calc"},thickness:{valType:"number",min:0,max:1,dflt:1,editType:"plot",description:["Sets the thickness of the bar as a fraction of the total thickness of the gauge."].join(" ")},editType:"calc"},g={valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot",description:["Sets the range of this axis."].join(" ")},m=d("step",n({},f,{range:g}));e.exports={mode:{valType:"flaglist",editType:"calc",flags:["number","delta","gauge"],dflt:"number",description:["Determines how the value is displayed on the graph.","`number` displays the value numerically in text.","`delta` displays the difference to a reference value in text.","Finally, `gauge` displays the value graphically on an axis."].join(" ")},value:{valType:"number",editType:"calc",anim:!0,description:["Sets the number to be displayed."].join(" ")},align:{valType:"enumerated",values:["left","center","right"],editType:"plot",description:["Sets the horizontal alignment of the `text` within the box.","Note that this attribute has no effect if an angular gauge is displayed:","in this case, it is always centered"].join(" ")},domain:s({name:"indicator",trace:!0,editType:"calc"}),title:{text:{valType:"string",editType:"plot",description:["Sets the title of this indicator."].join(" ")},align:{valType:"enumerated",values:["left","center","right"],editType:"plot",description:["Sets the horizontal alignment of the title.","It defaults to `center` except for bullet charts","for which it defaults to right."].join(" ")},font:r({},h,{description:["Set the font used to display the title"].join(" ")}),editType:"plot"},number:{valueformat:{valType:"string",dflt:"",editType:"plot",description:p("value")},font:r({},h,{description:["Set the font used to display main number"].join(" ")}),prefix:{valType:"string",dflt:"",editType:"plot",description:["Sets a prefix appearing before the number."].join(" ")},suffix:{valType:"string",dflt:"",editType:"plot",description:["Sets a suffix appearing next to the number."].join(" ")},editType:"plot"},delta:{reference:{valType:"number",editType:"calc",description:["Sets the reference value to compute the delta.","By default, it is set to the current value."].join(" ")},position:{valType:"enumerated",values:["top","bottom","left","right"],dflt:"bottom",editType:"plot",description:["Sets the position of delta with respect to the number."].join(" ")},relative:{valType:"boolean",editType:"plot",dflt:!1,description:["Show relative change"].join(" ")},valueformat:{valType:"string",editType:"plot",description:p("value")},increasing:{symbol:{valType:"string",dflt:u.INCREASING.SYMBOL,editType:"plot",description:["Sets the symbol to display for increasing value"].join(" ")},color:{valType:"color",dflt:u.INCREASING.COLOR,editType:"plot",description:["Sets the color for increasing value."].join(" ")},editType:"plot"},decreasing:{symbol:{valType:"string",dflt:u.DECREASING.SYMBOL,editType:"plot",description:["Sets the symbol to display for increasing value"].join(" ")},color:{valType:"color",dflt:u.DECREASING.COLOR,editType:"plot",description:["Sets the color for increasing value."].join(" ")},editType:"plot"},font:r({},h,{description:["Set the font used to display the delta"].join(" ")}),prefix:{valType:"string",dflt:"",editType:"plot",description:["Sets a prefix appearing before the delta."].join(" ")},suffix:{valType:"string",dflt:"",editType:"plot",description:["Sets a suffix appearing next to the delta."].join(" ")},editType:"calc"},gauge:{shape:{valType:"enumerated",editType:"plot",dflt:"angular",values:["angular","bullet"],description:["Set the shape of the gauge"].join(" ")},bar:n({},f,{color:{dflt:"green"},description:["Set the appearance of the gauge's value"].join(" ")}),bgcolor:{valType:"color",editType:"plot",description:"Sets the gauge background color."},bordercolor:{valType:"color",dflt:l.defaultLine,editType:"plot",description:"Sets the color of the border enclosing the gauge."},borderwidth:{valType:"number",min:0,dflt:1,editType:"plot",description:"Sets the width (in px) of the border enclosing the gauge."},axis:i({range:g,visible:r({},c.visible,{dflt:!0}),tickmode:c.minor.tickmode,nticks:c.nticks,tick0:c.tick0,dtick:c.dtick,tickvals:c.tickvals,ticktext:c.ticktext,ticks:r({},c.ticks,{dflt:"outside"}),ticklen:c.ticklen,tickwidth:c.tickwidth,tickcolor:c.tickcolor,ticklabelstep:c.ticklabelstep,showticklabels:c.showticklabels,labelalias:c.labelalias,tickfont:o({description:"Sets the color bar's tick label font"}),tickangle:c.tickangle,tickformat:c.tickformat,tickformatstops:c.tickformatstops,tickprefix:c.tickprefix,showtickprefix:c.showtickprefix,ticksuffix:c.ticksuffix,showticksuffix:c.showticksuffix,separatethousands:c.separatethousands,exponentformat:c.exponentformat,minexponent:c.minexponent,showexponent:c.showexponent,editType:"plot"},"plot"),steps:m,threshold:{line:{color:r({},f.line.color,{description:["Sets the color of the threshold line."].join(" ")}),width:r({},f.line.width,{dflt:1,description:["Sets the width (in px) of the threshold line."].join(" ")}),editType:"plot"},thickness:r({},f.thickness,{dflt:.85,description:["Sets the thickness of the threshold line as a fraction of the thickness of the gauge."].join(" ")}),value:{valType:"number",editType:"calc",dflt:!1,description:["Sets a treshold value drawn as a line."].join(" ")},editType:"plot"},description:"The gauge of the Indicator plot.",editType:"plot"}}},87100(e,t,a){e.exports=a(32079)},88054(e,t,a){var r=a(25386);e.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 *"+r.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 *"+r.foreButtons.join("*, *")+"*."].join(" ")}}},88197(e,t,a){var r=a(32778),n=a(70827),i=n({editType:"none",description:"Sets the default hover label font used by all traces on the graph."});i.family.dflt=r.HOVERFONT,i.size.dflt=r.HOVERFONTSIZE,e.exports={clickmode:{valType:"flaglist",flags:["event","select"],dflt:"event",editType:"plot",extras:["none"],description:["Determines the mode of single click interactions.","*event* is the default value and emits the `plotly_click`","event. In addition this mode emits the `plotly_selected` event","in drag modes *lasso* and *select*, but with no event data attached","(kept for compatibility reasons).","The *select* flag enables selecting single","data points via click. This mode also supports persistent selections,","meaning that pressing Shift while clicking, adds to / subtracts from an","existing selection. *select* with `hovermode`: *x* can be confusing, consider","explicitly setting `hovermode`: *closest* when using this feature.","Selection events are sent accordingly as long as *event* flag is set as well.","When the *event* flag is missing, `plotly_click` and `plotly_selected`","events are not fired."].join(" ")},dragmode:{valType:"enumerated",values:["zoom","pan","select","lasso","drawclosedpath","drawopenpath","drawline","drawrect","drawcircle","orbit","turntable",!1],dflt:"zoom",editType:"modebar",description:["Determines the mode of drag interactions.","*select* and *lasso* apply only to scatter traces with","markers or text. *orbit* and *turntable* apply only to","3D scenes."].join(" ")},hovermode:{valType:"enumerated",values:["x","y","closest",!1,"x unified","y unified"],dflt:"closest",editType:"modebar",description:["Determines the mode of hover interactions.","If *closest*, a single hoverlabel will appear","for the *closest* point within the `hoverdistance`.","If *x* (or *y*), multiple hoverlabels will appear for multiple points","at the *closest* x- (or y-) coordinate within the `hoverdistance`,","with the caveat that no more than one hoverlabel will appear per trace.","If *x unified* (or *y unified*), a single hoverlabel will appear","multiple points at the closest x- (or y-) coordinate within the `hoverdistance`","with the caveat that no more than one hoverlabel will appear per trace.","In this mode, spikelines are enabled by default perpendicular to the specified axis.","If false, hover interactions are disabled."].join(" ")},hoversubplots:{valType:"enumerated",values:["single","overlaying","axis"],dflt:"overlaying",editType:"none",description:["Determines expansion of hover effects to other subplots","If *single* just the axis pair of the primary point is included without overlaying subplots.","If *overlaying* all subplots using the main axis and occupying the same space are included.","If *axis*, also include stacked subplots using the same axis","when `hovermode` is set to *x*, *x unified*, *y* or *y unified*."].join(" ")},hoverdistance:{valType:"integer",min:-1,dflt:20,editType:"none",description:["Sets the default distance (in pixels) to look for data","to add hover labels (-1 means no cutoff, 0 means no looking for data).","This is only a real distance for hovering on point-like objects,","like scatter points. For area-like objects (bars, scatter fills, etc)","hovering is on inside the area and off outside, but these objects","will not supersede hover on point-like objects in case of conflict."].join(" ")},spikedistance:{valType:"integer",min:-1,dflt:-1,editType:"none",description:["Sets the default distance (in pixels) to look for data to draw","spikelines to (-1 means no cutoff, 0 means no looking for data).","As with hoverdistance, distance does not apply to area-like objects.","In addition, some objects can be hovered on but will not generate","spikelines, such as scatter fills."].join(" ")},hoverlabel:{bgcolor:{valType:"color",editType:"none",description:["Sets the background color of all hover labels on graph"].join(" ")},bordercolor:{valType:"color",editType:"none",description:["Sets the border color of all hover labels on graph."].join(" ")},font:i,grouptitlefont:n({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"}}},88426(e,t){t.xmlns="http://www.w3.org/2000/xmlns/",t.svg="http://www.w3.org/2000/svg",t.xlink="http://www.w3.org/1999/xlink",t.svgAttrs={xmlns:t.svg,"xmlns:xlink":t.xlink}},88676(e){e.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}},88737(e,t,a){var r=a(13936),n=a(77060);function i(e,t){if(t&&t.length)for(var a=0;ar?1:-1:+(e.substr(1)||1)-+(t.substr(1)||1)},t.ref2id=function(e){return!!/^[xyz]/.test(e)&&e.split(" ")[0]},t.isLinked=function(e,t){return i(t,e._axisMatchGroups)||i(t,e._axisConstraintGroups)}},88813(e,t,a){var r=a(7396),n=a(13936),i=a(85880),o=a(30991),l=o.strTranslate,s=a(92765),c=a(29904),d=a(23842),u=a(47885),p=a(88737),h=a(18613),f=a(97953),g=a(19150);function m(e){return"number"==typeof e.clientX?e.clientX:e.touches&&e.touches.length>0?e.touches[0].clientX:0}function v(e,t,a,r){var n=o.ensureSingle(e,"rect",g.bgClassName,function(e){e.attr({x:0,y:0,"shape-rendering":"crispEdges"})}),i=r.borderwidth%2==0?r.borderwidth:r.borderwidth-1,d=-r._offsetShift,u=s.crispRound(t,r.borderwidth);n.attr({width:r._width+i,height:r._height+i,transform:l(d,d),"stroke-width":u}).call(c.stroke,r.bordercolor).call(c.fill,r.bgcolor)}function y(e,t,a,r){var n=t._fullLayout;o.ensureSingleById(n._topdefs,"clipPath",r._clipId,function(e){e.append("rect").attr({x:0,y:0})}).select("rect").attr({width:r._width,height:r._height})}function x(e,t,a,n){var l,c=t.calcdata,d=e.selectAll("g."+g.rangePlotClassName).data(a._subplotsWith,o.identity);d.enter().append("g").attr("class",function(e){return g.rangePlotClassName+" "+e}).call(s.setClipUrl,n._clipId,t),d.order(),d.exit().remove(),d.each(function(e,o){var s=r.select(this),d=0===o,h=p.getFromId(t,e,"y"),f=h._name,g=n[f],m={data:[],layout:{xaxis:{type:a.type,domain:[0,1],range:n.range.slice(),calendar:a.calendar},width:n._width,height:n._height,margin:{t:0,b:0,l:0,r:0}},_context:t._context};a.rangebreaks&&(m.layout.xaxis.rangebreaks=a.rangebreaks),m.layout[f]={type:h.type,domain:[0,1],range:"match"!==g.rangemode?g.range.slice():h.range.slice(),calendar:h.calendar},h.rangebreaks&&(m.layout[f].rangebreaks=h.rangebreaks),i.supplyDefaults(m);var v=m._fullLayout.xaxis,y=m._fullLayout[f];v.clearCalc(),v.setScale(),y.clearCalc(),y.setScale();var x={id:e,plotgroup:s,xaxis:v,yaxis:y,isRangePlot:!0};d?l=x:(x.mainplot="xy",x.mainplotinfo=l),u.rangePlot(t,x,function(e,t){for(var a=[],r=0;r=r.max)t=N[a+1];else if(e=r.pmax)t=N[a+1];else if(ea._length||y+_<0)return;d=v+_,h=y+_;break;case s:if(b="col-resize",v+_>a._length)return;d=v+_,h=y;break;case c:if(b="col-resize",y+_<0)return;d=v,h=y+_;break;default:b="ew-resize",d=g,h=g+_}if(h0&&(n["_"+a+"axes"]||{})[t])return n;if((n[a+"axis"]||a)===t){if(o(n,a))return n;if((n[a]||[]).length||n[a+"0"])return n}}}(t,l,s);if(c)if("histogram"!==c.type||s!=={v:"y",h:"x"}[c.orientation||"v"]){var d=s+"calendar",u=c[d],p={noMultiCategory:!r(c,"cartesian")||r(c,"noMultiCategory")};if("box"===c.type&&c._hasPreCompStats&&s==={h:"x",v:"y"}[c.orientation||"v"]&&(p.noMultiCategory=!0),p.autotypenumbers=e.autotypenumbers,o(c,s)){var h=i(c),f=[];for(a=0;au+c||!r(d))}for(var h=0;h0&&((A=D-l(b)-s(_))>j?M/A>I&&(w=b,T=_,I=M/A):M/D>I&&(w={val:b.val,nopad:1},T={val:_.val,nopad:1},I=M/D));if(p===m){var z=p-1,C=p+1;if(L)if(0===p)n=[0,1];else{var P=(p>0?u:d).reduce(function(e,t){return Math.max(e,s(t))},0),R=p/(1-Math.min(.5,P/D));n=p>0?[0,R]:[R,0]}else n=O?[Math.max(0,z),Math.max(1,C)]:[z,C]}else L?(w.val>=0&&(w={val:0,nopad:1}),T.val<=0&&(T={val:0,nopad:1})):O&&(w.val-I*l(w)<0&&(w={val:0,nopad:1}),T.val<=0&&(T={val:1,nopad:1})),I=(T.val-w.val-h(t,b.val,_.val))/(D-l(w)-s(T)),n=[w.val-I*l(w),T.val+I*s(T)];return n=k(n,t),t.limitRange&&t.limitRange(),y&&n.reverse(),i.simpleMap(n,t.l2r||Number)}function h(e,t,a){var r=0;if(e.rangebreaks)for(var n=e.locateBreaks(t,a),i=0;i=a&&(c.extrapad||!o)){l=!1;break}n(t,c.val)&&c.pad<=a&&(o||!c.extrapad)&&(e.splice(s,1),s--)}if(l){var d=i&&0===t;e.push({val:t,pad:d?0:a,extrapad:!d&&o})}}function x(e){return n(e)&&Math.abs(e)=t}function w(e,t,a){return void 0===t||void 0===a||(t=e.d2l(t))=c&&(o=c,a=c),l<=c&&(l=c,r=c)}}return a=function(e,t){var a=t.autorangeoptions;return a&&void 0!==a.minallowed&&w(t,a.minallowed,a.maxallowed)?a.minallowed:a&&void 0!==a.clipmin&&w(t,a.clipmin,a.clipmax)?Math.max(e,t.d2l(a.clipmin)):e}(a,t),r=function(e,t){var a=t.autorangeoptions;return a&&void 0!==a.maxallowed&&w(t,a.minallowed,a.maxallowed)?a.maxallowed:a&&void 0!==a.clipmax&&w(t,a.clipmin,a.clipmax)?Math.min(e,t.d2l(a.clipmax)):e}(r,t),[a,r]}e.exports={applyAutorangeOptions:k,getAutoRange:p,makePadFn:f,doAutoRange:function(e,t,a){if(t.setScale(),t.autorange){t.range=a?a.slice():p(e,t),t._r=t.range.slice(),t._rl=i.simpleMap(t._r,t.r2l);var r=t._input,n={};n[t._attr+".range"]=t.range,n[t._attr+".autorange"]=t.autorange,l.call("_storeDirectGUIEdit",e.layout,e._fullLayout._preGUI,n),r.range=t.range.slice(),r.autorange=t.autorange}var o=t._anchorAxis;if(o&&o.rangeslider){var s=o.rangeslider[t._name];s&&"auto"===s.rangemode&&(s.range=p(e,t)),o._input.rangeslider[t._name]=i.extendFlat({},s)}},findExtremes:function(e,t,a){a||(a={}),e._m||e.setScale();var r,i,l,s,c,d,u,p,h,f=[],g=[],y=t.length,b=a.padded||!1,_=a.tozero&&("linear"===e.type||"-"===e.type),w="log"===e.type,k=!1,T=a.vpadLinearized||!1;function A(e){if(Array.isArray(e))return k=!0,function(t){return Math.max(Number(e[t]||0),0)};var t=Math.max(Number(e||0),0);return function(){return t}}var M=A((e._m>0?a.ppadplus:a.ppadminus)||a.ppad||0),S=A((e._m>0?a.ppadminus:a.ppadplus)||a.ppad||0),L=A(a.vpadplus||a.vpad),O=A(a.vpadminus||a.vpad);if(!k){if(p=1/0,h=-1/0,w)for(r=0;r0&&(p=i),i>h&&i-o&&(p=i),i>h&&i=I;r--)j(r);return{min:f,max:g,opts:a}},concatExtremes:g}},92335(e,t,a){var r=a(7396),n=a(30991),i=a(13936),o=Math.PI/180,l=180/Math.PI,s={cursor:"pointer"},c={cursor:"auto"};function d(e,t){return r.behavior.zoom().translate(t.translate()).scale(t.scale())}function u(e,t,a){var r=e.id,o=e.graphDiv,l=o.layout,s=l[r],c=o._fullLayout,d=c[r],u={},p={};function h(e,t){u[r+"."+e]=n.nestedProperty(s,e).get(),i.call("_storeDirectGUIEdit",l,c._preGUI,u);var a=n.nestedProperty(d,e);a.get()!==t&&(a.set(t),n.nestedProperty(s,e).set(t),p[r+"."+e]=t)}a(h),h("projection.scale",t.scale()/e.fitScale),h("fitbounds",!1),o.emit("plotly_relayout",p)}function p(e,t){var a=d(0,t);function n(a){var r=t.invert(e.midPt);a("center.lon",r[0]),a("center.lat",r[1])}return a.on("zoomstart",function(){r.select(this).style(s)}).on("zoom",function(){t.scale(r.event.scale).translate(r.event.translate),e.render(!0);var a=t.invert(e.midPt);e.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":t.scale()/e.fitScale,"geo.center.lon":a[0],"geo.center.lat":a[1]})}).on("zoomend",function(){r.select(this).style(c),u(e,t,n)}),a}function h(e,t){var a,n,i,o,l,p,h,f,g,m=d(0,t);function v(e){return t.invert(e)}function y(a){var r=t.rotate(),n=t.invert(e.midPt);a("projection.rotation.lon",-r[0]),a("center.lon",n[0]),a("center.lat",n[1])}return m.on("zoomstart",function(){r.select(this).style(s),a=r.mouse(this),n=t.rotate(),i=t.translate(),o=n,l=v(a)}).on("zoom",function(){if(p=r.mouse(this),function(e){var a=v(e);if(!a)return!0;var r=t(a);return Math.abs(r[0]-e[0])>2||Math.abs(r[1]-e[1])>2}(a))return m.scale(t.scale()),void m.translate(t.translate());t.scale(r.event.scale),t.translate([i[0],r.event.translate[1]]),l?v(p)&&(f=v(p),h=[o[0]+(f[0]-l[0]),n[1],n[2]],t.rotate(h),o=h):l=v(a=p),g=!0,e.render(!0);var s=t.rotate(),c=t.invert(e.midPt);e.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":t.scale()/e.fitScale,"geo.center.lon":c[0],"geo.center.lat":c[1],"geo.projection.rotation.lon":-s[0]})}).on("zoomend",function(){r.select(this).style(c),g&&u(e,t,y)}),m}function f(e,t){var a,n={r:t.rotate(),k:t.scale()},i=d(0,t),p=function(e){for(var t=0,a=arguments.length,n=[];++tf?(i=(u>0?90:-90)-h,n=0):(i=Math.asin(u/f)*l-h,n=Math.sqrt(f*f-u*u));var g=180-i-2*h,v=(Math.atan2(p,d)-Math.atan2(c,n))*l,x=(Math.atan2(p,d)-Math.atan2(c,-n))*l;return m(a[0],a[1],i,v)<=m(a[0],a[1],g,x)?[i,v,a[2]]:[g,x,a[2]]}(k,a,L);isFinite(T[0])&&isFinite(T[1])&&isFinite(T[2])||(T=L),t.rotate(T),L=T}}else a=g(t,M=b);p.of(this,arguments)({type:"zoom"})}),A=p.of(this,arguments),h++||A({type:"zoomstart"})}).on("zoomend",function(){var a;r.select(this).style(c),f.call(i,"zoom",null),a=p.of(this,arguments),--h||a({type:"zoomend"}),u(e,t,v)}).on("zoom.redraw",function(){e.render(!0);var a=t.rotate();e.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":t.scale()/e.fitScale,"geo.projection.rotation.lon":-a[0],"geo.projection.rotation.lat":-a[1]})}),r.rebind(i,p,"on")}function g(e,t){var a=e.invert(t);return a&&isFinite(a[0])&&isFinite(a[1])&&function(e){var t=e[0]*o,a=e[1]*o,r=Math.cos(a);return[r*Math.cos(t),r*Math.sin(t),Math.sin(a)]}(a)}function m(e,t,a,r){var n=v(a-e),i=v(r-t);return Math.sqrt(n*n+i*i)}function v(e){return(e%360+540)%360-180}function y(e,t,a){var r=a*o,n=e.slice(),i=0===t?1:0,l=2===t?1:2,s=Math.cos(r),c=Math.sin(r);return n[i]=e[i]*s-e[l]*c,n[l]=e[l]*s+e[i]*c,n}function x(e,t){for(var a=0,r=0,n=e.length;r0){for(var r=[],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!1!==e.arrayOk&&(r.arrayOk=!0),r},t.ay=function(e,t){e=e||{};var a=l(t=t||{}),r={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`.",o(),"Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.",a].join(" ")};return!1!==e.arrayOk&&(r.arrayOk=!0),r},t.LF=function(e,t){t=t||{};var a=(e=e||{}).newshape?"new ":"",r=l(t);return{valType:"string",dflt:"",editType:e.editType||"arraydraw",description:["Template string used for rendering the "+a+"shape's label.","Note that this will override `text`.",["Variables are inserted using %{variable},",'for example "x0: %{x0}".','Numbers are formatted using d3-format\'s syntax %{variable:d3-format}, for example "Price: %{x0:$.2f}". See',n,"for details on the formatting syntax.",'Dates are formatted using d3-time-format\'s syntax %{variable|d3-time-format}, for example "Day: %{x0|%m %b %Y}". See',i,"for details on the date formatting syntax.","A single multiplication or division operation may be applied to numeric variables, and combined with",'d3 number formatting, for example "Length in cm: %{x0*2.54}", "%{slope*60:.1f} meters per second."',"For log axes, variable values are given in log units.","For date axes, x/y coordinate variables and center variables use datetimes, while all other variable values use values in ms."].join(" "),r].join(" ")}}},92765(e,t,a){var r=a(7396),n=a(30991),i=n.numberFormat,o=a(57365),l=a(6535),s=a(13936),c=a(29904),d=a(91454),u=n.strTranslate,p=a(1609),h=a(88426),f=a(5540).LINE_SPACING,g=a(18136).DESELECTDIM,m=a(33068),v=a(42581),y=a(2918).appendArrayPointValue,x=e.exports={};function b(e){return"none"===e?void 0:e}x.font=function(e,t){var a=t.variant,r=t.style,n=t.weight,i=t.color,o=t.size,l=t.family,s=t.shadow,d=t.lineposition,u=t.textcase;l&&e.style("font-family",l),o+1&&e.style("font-size",o+"px"),i&&e.call(c.fill,i),n&&e.style("font-weight",n),r&&e.style("font-style",r),a&&e.style("font-variant",a),u&&e.style("text-transform",b(function(e){return _[e]}(u))),s&&e.style("text-shadow","auto"===s?p.makeTextShadow(c.contrast(i)):b(s)),d&&e.style("text-decoration-line",b(function(e){return e.replace("under","underline").replace("over","overline").replace("through","line-through").split("+").join(" ")}(d)))};var _={normal:"none",lower:"lowercase",upper:"uppercase","word caps":"capitalize"};function w(e,t,a,r){var n=t.fillpattern,i=t.fillgradient,o=n&&x.getPatternAttr(n.shape,0,"");if(o){var l=x.getPatternAttr(n.bgcolor,0,null),s=x.getPatternAttr(n.fgcolor,0,null),d=n.fgopacity,u=x.getPatternAttr(n.size,0,8),p=x.getPatternAttr(n.solidity,0,.3),h=t.uid;x.pattern(e,"point",a,h,o,u,p,void 0,n.fillmode,l,s,d)}else if(i&&"none"!==i.type){var f,g,m=i.type,v="scatterfill-"+t.uid;r&&(v="legendfill-"+t.uid),r||void 0===i.start&&void 0===i.stop?("horizontal"===m&&(m+="reversed"),e.call(x.gradient,a,v,m,i.colorscale,"fill")):("horizontal"===m?(f={x:i.start,y:0},g={x:i.stop,y:0}):"vertical"===m&&(f={x:0,y:i.start},g={x:0,y:i.stop}),f.x=t._xA.c2p(void 0===f.x?t._extremes.x.min[0].val:f.x,!0),f.y=t._yA.c2p(void 0===f.y?t._extremes.y.min[0].val:f.y,!0),g.x=t._xA.c2p(void 0===g.x?t._extremes.x.max[0].val:g.x,!0),g.y=t._yA.c2p(void 0===g.y?t._extremes.y.max[0].val:g.y,!0),e.call(L,a,v,"linear",i.colorscale,"fill",f,g,!0,!1))}else t.fillcolor&&e.call(c.fill,t.fillcolor)}x.setPosition=function(e,t,a){e.attr("x",t).attr("y",a)},x.setSize=function(e,t,a){e.attr("width",t).attr("height",a)},x.setRect=function(e,t,a,r,n){e.call(x.setPosition,t,a).call(x.setSize,r,n)},x.translatePoint=function(e,t,a,r){var n=a.c2p(e.x),i=r.c2p(e.y);return!!(o(n)&&o(i)&&t.node())&&("text"===t.node().nodeName?t.attr("x",n).attr("y",i):t.attr("transform",u(n,i)),!0)},x.translatePoints=function(e,t,a){e.each(function(e){var n=r.select(this);x.translatePoint(e,n,t,a)})},x.hideOutsideRangePoint=function(e,t,a,r,n,i){t.attr("display",a.isPtWithinRange(e,n)&&r.isPtWithinRange(e,i)?null:"none")},x.hideOutsideRangePoints=function(e,t){if(t._hasClipOnAxisFalse){var a=t.xaxis,n=t.yaxis;e.each(function(t){var i=t[0].trace,o=i.xcalendar,l=i.ycalendar,c=s.traceIs(i,"bar-like")?".bartext":".point,.textpoint";e.selectAll(c).each(function(e){x.hideOutsideRangePoint(e,r.select(this),a,n,o,l)})})}},x.crispRound=function(e,t,a){return t&&o(t)?e._context.staticPlot?t:t<1?1:Math.round(t):a||0},x.singleLineStyle=function(e,t,a,r,n){t.style("fill","none");var i=(((e||[])[0]||{}).trace||{}).line||{},o=a||i.width||0,l=n||i.dash||"";c.stroke(t,r||i.color),x.dashLine(t,l,o)},x.lineGroupStyle=function(e,t,a,n){e.style("fill","none").each(function(e){var i=(((e||[])[0]||{}).trace||{}).line||{},o=t||i.width||0,l=n||i.dash||"";r.select(this).call(c.stroke,a||i.color).call(x.dashLine,l,o)})},x.dashLine=function(e,t,a){a=+a||0,t=x.dashStyle(t,a),e.style({"stroke-dasharray":t,"stroke-width":a+"px"})},x.dashStyle=function(e,t){t=+t||1;var a=Math.max(t,3);return"solid"===e?e="":"dot"===e?e=a+"px,"+a+"px":"dash"===e?e=3*a+"px,"+3*a+"px":"longdash"===e?e=5*a+"px,"+5*a+"px":"dashdot"===e?e=3*a+"px,"+a+"px,"+a+"px,"+a+"px":"longdashdot"===e&&(e=5*a+"px,"+2*a+"px,"+a+"px,"+2*a+"px"),e},x.singleFillStyle=function(e,t){var a=r.select(e.node());w(e,((a.data()[0]||[])[0]||{}).trace||{},t,!1)},x.fillGroupStyle=function(e,t,a){e.style("stroke-width",0).each(function(e){var n=r.select(this);e[0].trace&&w(n,e[0].trace,t,a)})};var k=a(84776);x.symbolNames=[],x.symbolFuncs=[],x.symbolBackOffs=[],x.symbolNeedLines={},x.symbolNoDot={},x.symbolNoFill={},x.symbolList=[],Object.keys(k).forEach(function(e){var t=k[e],a=t.n;x.symbolList.push(a,String(a),e,a+100,String(a+100),e+"-open"),x.symbolNames[a]=e,x.symbolFuncs[a]=t.f,x.symbolBackOffs[a]=t.backoff||0,t.needLine&&(x.symbolNeedLines[a]=!0),t.noDot?x.symbolNoDot[a]=!0:x.symbolList.push(a+200,String(a+200),e+"-dot",a+300,String(a+300),e+"-open-dot"),t.noFill&&(x.symbolNoFill[a]=!0)});var T=x.symbolNames.length;function A(e,t,a,r){var n=e%100;return x.symbolFuncs[n](t,a,r)+(e>=200?"M0,0.5L0.5,0L0,-0.5L-0.5,0Z":"")}x.symbolNumber=function(e){if(o(e))e=+e;else if("string"==typeof e){var t=0;e.indexOf("-open")>0&&(t=100,e=e.replace("-open","")),e.indexOf("-dot")>0&&(t+=200,e=e.replace("-dot","")),(e=x.symbolNames.indexOf(e))>=0&&(e+=t)}return e%100>=T||e>=400?0:Math.floor(Math.max(e,0))};var M=i("~f"),S={radial:{type:"radial"},radialreversed:{type:"radial",reversed:!0},horizontal:{type:"linear",start:{x:1,y:0},stop:{x:0,y:0}},horizontalreversed:{type:"linear",start:{x:1,y:0},stop:{x:0,y:0},reversed:!0},vertical:{type:"linear",start:{x:0,y:1},stop:{x:0,y:0}},verticalreversed:{type:"linear",start:{x:0,y:1},stop:{x:0,y:0},reversed:!0}};function L(e,t,a,i,o,s,d,u,p,h){var f,g=o.length;"linear"===i?f={node:"linearGradient",attrs:{x1:d.x,y1:d.y,x2:u.x,y2:u.y,gradientUnits:p?"userSpaceOnUse":"objectBoundingBox"},reversed:h}:"radial"===i&&(f={node:"radialGradient",reversed:h});for(var m=new Array(g),v=0;v=0&&void 0===e.i&&(e.i=o.i),t.style("opacity",r.selectedOpacityFn?r.selectedOpacityFn(e):void 0===e.mo?l.opacity:e.mo),r.ms2mrc){var d;d="various"===e.ms||"various"===l.size?3:r.ms2mrc(e.ms),e.mrc=d,r.selectedSizeFn&&(d=e.mrc=r.selectedSizeFn(e));var u=x.symbolNumber(e.mx||l.symbol)||0;e.om=u%200>=100;var p=re(e,a),h=Z(e,a);t.attr("d",A(u,d,p,h))}var f,g,m,v=!1;if(e.so)m=s.outlierwidth,g=s.outliercolor,f=l.outliercolor;else{var y=(s||{}).width;m=(e.mlw+1||y+1||(e.trace?(e.trace.marker.line||{}).width:0)+1)-1||0,g="mlc"in e?e.mlcc=r.lineScale(e.mlc):n.isArrayOrTypedArray(s.color)?c.defaultLine:s.color,n.isArrayOrTypedArray(l.color)&&(f=c.defaultLine,v=!0),f="mc"in e?e.mcc=r.markerScale(e.mc):l.color||l.colors||"rgba(0,0,0,0)",r.selectedColorFn&&(f=r.selectedColorFn(e))}if(e.om)t.call(c.stroke,f).style({"stroke-width":(m||1)+"px",fill:"none"});else{t.style("stroke-width",(e.isBlank?0:m)+"px");var b=l.gradient,_=e.mgt;_?v=!0:_=b&&b.type,n.isArrayOrTypedArray(_)&&(_=_[0],S[_]||(_=0));var w=l.pattern,k=w&&x.getPatternAttr(w.shape,e.i,"");if(_&&"none"!==_){var T=e.mgc;T?v=!0:T=b.color;var M=a.uid;v&&(M+="-"+e.i),x.gradient(t,i,M,_,[[0,T],[1,f]],"fill")}else if(k){var L=!1,O=w.fgcolor;!O&&o&&o.color&&(O=o.color,L=!0);var D=x.getPatternAttr(O,e.i,o&&o.color||null),j=x.getPatternAttr(w.bgcolor,e.i,null),I=w.fgopacity,z=x.getPatternAttr(w.size,e.i,8),C=x.getPatternAttr(w.solidity,e.i,.3);L=L||e.mcc||n.isArrayOrTypedArray(w.shape)||n.isArrayOrTypedArray(w.bgcolor)||n.isArrayOrTypedArray(w.fgcolor)||n.isArrayOrTypedArray(w.size)||n.isArrayOrTypedArray(w.solidity);var P=a.uid;L&&(P+="-"+e.i),x.pattern(t,"point",i,P,k,z,C,e.mcc,w.fillmode,j,D,I)}else n.isArrayOrTypedArray(f)?c.fill(t,f[e.i]):c.fill(t,f);m&&c.stroke(t,g)}},x.makePointStyleFns=function(e){var t={},a=e.marker;return t.markerScale=x.tryColorscale(a,""),t.lineScale=x.tryColorscale(a,"line"),s.traceIs(e,"symbols")&&(t.ms2mrc=m.isBubble(e)?v(e):function(){return(a.size||6)/2}),e.selectedpoints&&n.extendFlat(t,x.makeSelectedPointStyleFns(e)),t},x.makeSelectedPointStyleFns=function(e){var t={},a=e.selected||{},r=e.unselected||{},i=e.marker||{},o=a.marker||{},l=r.marker||{},c=i.opacity,d=o.opacity,u=l.opacity,p=void 0!==d,h=void 0!==u;(n.isArrayOrTypedArray(c)||p||h)&&(t.selectedOpacityFn=function(e){var t=void 0===e.mo?i.opacity:e.mo;return e.selected?p?d:t:h?u:g*t});var f=i.color,m=o.color,v=l.color;(m||v)&&(t.selectedColorFn=function(e){var t=e.mcc||f;return e.selected?m||t:v||t});var y=i.size,x=o.size,b=l.size,_=void 0!==x,w=void 0!==b;return s.traceIs(e,"symbols")&&(_||w)&&(t.selectedSizeFn=function(e){var t=e.mrc||y/2;return e.selected?_?x/2:t:w?b/2:t}),t},x.makeSelectedTextStyleFns=function(e){var t={},a=e.selected||{},r=e.unselected||{},n=e.textfont||{},i=a.textfont||{},o=r.textfont||{},l=n.color,s=i.color,d=o.color;return t.selectedTextColorFn=function(e){var t=e.tc||l;return e.selected?s||t:d||(s?t:c.addOpacity(t,g))},t},x.selectedPointStyle=function(e,t){if(e.size()&&t.selectedpoints){var a=x.makeSelectedPointStyleFns(t),n=t.marker||{},i=[];a.selectedOpacityFn&&i.push(function(e,t){e.style("opacity",a.selectedOpacityFn(t))}),a.selectedColorFn&&i.push(function(e,t){c.fill(e,a.selectedColorFn(t))}),a.selectedSizeFn&&i.push(function(e,r){var i=r.mx||n.symbol||0,o=a.selectedSizeFn(r);e.attr("d",A(x.symbolNumber(i),o,re(r,t),Z(r,t))),r.mrc2=o}),i.length&&e.each(function(e){for(var t=r.select(this),a=0;a0?a:0}function C(e,t,a){return a&&(e=B(e)),t?R(e[1]):P(e[0])}function P(e){var t=r.round(e,2);return O=t,t}function R(e){var t=r.round(e,2);return D=t,t}function F(e,t,a,r){var n=e[0]-t[0],i=e[1]-t[1],o=a[0]-t[0],l=a[1]-t[1],s=Math.pow(n*n+i*i,.25),c=Math.pow(o*o+l*l,.25),d=(c*c*n-s*s*o)*r,u=(c*c*i-s*s*l)*r,p=3*c*(s+c),h=3*s*(s+c);return[[P(t[0]+(p&&d/p)),R(t[1]+(p&&u/p))],[P(t[0]-(h&&d/h)),R(t[1]-(h&&u/h))]]}x.textPointStyle=function(e,t,a){if(e.size()){var i;if(t.selectedpoints){var o=x.makeSelectedTextStyleFns(t);i=o.selectedTextColorFn}var l=t.texttemplate,s=a._fullLayout;e.each(function(e){var o=r.select(this),c=l?n.extractOption(e,t,"txt","texttemplate"):n.extractOption(e,t,"tx","text");if(c||0===c){if(l){var d=t._module.formatLabels,u=d?d(e,t,s):{},h={};y(h,t,e.i);var f=t._meta||{};c=n.texttemplateString(c,u,s._d3locale,h,e,f)}var g=e.tp||t.textposition,m=z(e,t),v=i?i(e):e.tc||t.textfont.color;o.call(x.font,{family:e.tf||t.textfont.family,weight:e.tw||t.textfont.weight,style:e.ty||t.textfont.style,variant:e.tv||t.textfont.variant,textcase:e.tC||t.textfont.textcase,lineposition:e.tE||t.textfont.lineposition,shadow:e.tS||t.textfont.shadow,size:m,color:v}).text(c).call(p.convertToTspans,a).call(I,g,m,e.mrc)}else o.remove()})}},x.selectedTextStyle=function(e,t){if(e.size()&&t.selectedpoints){var a=x.makeSelectedTextStyleFns(t);e.each(function(e){var n=r.select(this),i=a.selectedTextColorFn(e),o=e.tp||t.textposition,l=z(e,t);c.fill(n,i);var d=s.traceIs(t,"bar-like");I(n,o,l,e.mrc2||e.mrc,d)})}},x.smoothopen=function(e,t){if(e.length<3)return"M"+e.join("L");var a,r="M"+e[0],n=[];for(a=1;a=c||w>=u&&w<=c)&&(k<=p&&k>=d||k>=p&&k<=d)&&(e=[w,k])}return e}x.steps=function(e){var t=N[e]||E;return function(e){for(var a="M"+P(e[0][0])+","+R(e[0][1]),r=e.length,n=1;n=1e4&&(x.savedBBoxes={},H=0),a&&(x.savedBBoxes[a]=m),H++,n.extendFlat({},m)},x.setClipUrl=function(e,t,a){e.attr("clip-path",U(t,a))},x.getTranslate=function(e){var t=(e[e.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,function(e,t,a){return[t,a].join(" ")}).split(" ");return{x:+t[0]||0,y:+t[1]||0}},x.setTranslate=function(e,t,a){var r=e.attr?"attr":"getAttribute",n=e.attr?"attr":"setAttribute",i=e[r]("transform")||"";return t=t||0,a=a||0,i=i.replace(/(\btranslate\(.*?\);?)/,"").trim(),i=(i+=u(t,a)).trim(),e[n]("transform",i),i},x.getScale=function(e){var t=(e[e.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,function(e,t,a){return[t,a].join(" ")}).split(" ");return{x:+t[0]||1,y:+t[1]||1}},x.setScale=function(e,t,a){var r=e.attr?"attr":"getAttribute",n=e.attr?"attr":"setAttribute",i=e[r]("transform")||"";return t=t||1,a=a||1,i=i.replace(/(\bscale\(.*?\);?)/,"").trim(),i=(i+="scale("+t+","+a+")").trim(),e[n]("transform",i),i};var G=/\s*sc.*/;x.setPointGroupScale=function(e,t,a){if(t=t||1,a=a||1,e){var r=1===t&&1===a?"":"scale("+t+","+a+")";e.each(function(){var e=(this.getAttribute("transform")||"").replace(G,"");e=(e+=r).trim(),this.setAttribute("transform",e)})}};var q=/translate\([^)]*\)\s*$/;function Z(e,t){var a;return e&&(a=e.mf),void 0===a&&(a=t.marker&&t.marker.standoff||0),t._geo||t._xA?a:-a}x.setTextPointsScale=function(e,t,a){e&&e.each(function(){var e,n=r.select(this),i=n.select("text");if(i.node()){var o=parseFloat(i.attr("x")||0),l=parseFloat(i.attr("y")||0),s=(n.attr("transform")||"").match(q);e=1===t&&1===a?[]:[u(o,l),"scale("+t+","+a+")",u(-o,-l)],s&&e.push(s),n.attr("transform",e.join(""))}})},x.getMarkerStandoff=Z;var W,Y,X,J,Q,K,$=Math.atan2,ee=Math.cos,te=Math.sin;function ae(e,t){var a=t[0],r=t[1];return[a*ee(e)-r*te(e),a*te(e)+r*ee(e)]}function re(e,t){var a,r,i=e.ma;void 0===i&&((i=t.marker.angle)&&!n.isArrayOrTypedArray(i)||(i=0));var l=t.marker.angleref;if("previous"===l||"north"===l){if(t._geo){var s=t._geo.project(e.lonlat);a=s[0],r=s[1]}else{var c=t._xA,d=t._yA;if(!c||!d)return 90;a=c.c2p(e.x),r=d.c2p(e.y)}if(t._geo){var u,p=e.lonlat[0],h=e.lonlat[1],f=t._geo.project([p,h+1e-5]),g=t._geo.project([p+1e-5,h]),m=$(g[1]-r,g[0]-a),v=$(f[1]-r,f[0]-a);if("north"===l)u=i/180*Math.PI;else if("previous"===l){var y=p/180*Math.PI,x=h/180*Math.PI,b=W/180*Math.PI,_=Y/180*Math.PI,w=b-y,k=ee(_)*te(w),T=te(_)*ee(x)-ee(_)*te(x)*ee(w);u=-$(k,T)-Math.PI,W=p,Y=h}var A=ae(m,[ee(u),0]),M=ae(v,[te(u),0]);i=$(A[1]+M[1],A[0]+M[0])/Math.PI*180,"previous"!==l||K===t.uid&&e.i===Q+1||(i=null)}if("previous"===l&&!t._geo)if(K===t.uid&&e.i===Q+1&&o(a)&&o(r)){var S=a-X,L=r-J,O=t.line&&t.line.shape||"",D=O.slice(O.length-1);"h"===D&&(L=0),"v"===D&&(S=0),i+=$(L,S)/Math.PI*180+90}else i=null}return X=a,J=r,Q=e.i,K=t.uid,i}x.getMarkerAngle=re},92933(e,t,a){var r=a(13936),n=a(30991);function i(e,t,a){var r,i,o,l=!1;if("data"===t.type)r=e._fullData[null!==t.traces?t.traces[0]:0];else{if("layout"!==t.type)return!1;r=e._fullLayout}return i=n.nestedProperty(r,t.prop).get(),(o=a[t.type]=a[t.type]||{}).hasOwnProperty(t.prop)&&o[t.prop]!==i&&(l=!0),o[t.prop]=i,{changed:l,value:i}}function o(e,t){var a=[],r=t[0],i={};if("string"==typeof r)i[r]=t[1];else{if(!n.isPlainObject(r))return a;i=r}return s(i,function(e,t,r){a.push({type:"layout",prop:e,value:r})},"",0),a}function l(e,t){var a,r,i,o,l=[];if(r=t[0],i=t[1],a=t[2],o={},"string"==typeof r)o[r]=i;else{if(!n.isPlainObject(r))return l;o=r,void 0===a&&(a=i)}return void 0===a&&(a=null),s(o,function(t,r,n){var i,o;if(Array.isArray(n)){o=n.slice();var s=Math.min(o.length,e.data.length);a&&(s=Math.min(s,a.length)),i=[];for(var c=0;c0?".":"")+i;n.isPlainObject(o)?s(o,t,l,r+1):t(l,i,o)}})}t.manageCommandObserver=function(e,a,r,o){var l={},s=!0;a&&a._commandObserver&&(l=a._commandObserver),l.cache||(l.cache={}),l.lookupTable={};var c=t.hasSimpleAPICommandBindings(e,r,l.lookupTable);if(a&&a._commandObserver){if(c)return l;if(a._commandObserver.remove)return a._commandObserver.remove(),a._commandObserver=null,l}if(c){i(e,c,l.cache),l.check=function(){if(s){var t=i(e,c,l.cache);return t.changed&&o&&void 0!==l.lookupTable[t.value]&&(l.disable(),Promise.resolve(o({value:t.value,type:c.type,prop:c.prop,traces:c.traces,index:l.lookupTable[t.value]})).then(l.enable,l.enable)),t.changed}};for(var d=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],u=0;ui.ts+t?s():i.timer=setTimeout(function(){s(),i.timer=null},t)},t.done=function(e){var t=a[e];return t&&t.timer?new Promise(function(e){var a=t.onDone;t.onDone=function(){a&&a(),e(),t.onDone=null}}):Promise.resolve()},t.clear=function(e){if(e)r(a[e]),delete a[e];else for(var n in a)t.clear(n)}},94995(e){function t(e,t){return"percent"===e?function(e){return Math.abs(e*t/100)}:"constant"===e?function(){return Math.abs(t)}:"sqrt"===e?function(e){return Math.sqrt(Math.abs(e))}:void 0}e.exports=function(e){var a=e.type,r=e.symmetric;if("data"===a){var n=e.array||[];if(r)return function(e,t){var a=+n[t];return[a,a]};var i=e.arrayminus||[];return function(e,t){var a=+n[t],r=+i[t];return isNaN(a)&&isNaN(r)?[NaN,NaN]:[r||0,a||0]}}var o=t(a,e.value),l=t(a,e.valueminus);return r||void 0===e.valueminus?function(e){var t=o(e);return[t,t]}:function(e){return[l(e),o(e)]}}},95072(e,t,a){var r=a(30991),n=a(86983),i=a(1962).N,o=a(79338),l=a(21238),s=a(59889),c=a(17591),d=a(55175),u=a(77962),p=a(47410);function h(e,t){function a(a,i){return r.coerce(e,t,n.gauge.steps,a,i)}a("color"),a("line.color"),a("line.width"),a("range"),a("thickness")}e.exports={supplyDefaults:function(e,t,a,f){function g(a,i){return r.coerce(e,t,n,a,i)}i(t,f,g),g("mode"),t._hasNumber=-1!==t.mode.indexOf("number"),t._hasDelta=-1!==t.mode.indexOf("delta"),t._hasGauge=-1!==t.mode.indexOf("gauge");var m=g("value");t._range=[0,"number"==typeof m?1.5*m:1];var v,y,x=new Array(2);if(t._hasNumber){g("number.valueformat");var b=r.extendFlat({},f.font);b.size=void 0,r.coerceFont(g,"number.font",b),void 0===t.number.font.size&&(t.number.font.size=s.defaultNumberFontSize,x[0]=!0),g("number.prefix"),g("number.suffix"),v=t.number.font.size}if(t._hasDelta){var _=r.extendFlat({},f.font);_.size=void 0,r.coerceFont(g,"delta.font",_),void 0===t.delta.font.size&&(t.delta.font.size=(t._hasNumber?.5:1)*(v||s.defaultNumberFontSize),x[1]=!0),g("delta.reference",t.value),g("delta.relative"),g("delta.valueformat",t.delta.relative?"2%":""),g("delta.increasing.symbol"),g("delta.increasing.color"),g("delta.decreasing.symbol"),g("delta.decreasing.color"),g("delta.position"),g("delta.prefix"),g("delta.suffix"),y=t.delta.font.size}t._scaleNumbers=(!t._hasNumber||x[0])&&(!t._hasDelta||x[1])||!1;var w,k,T,A,M=r.extendFlat({},f.font);function S(e,t){return r.coerce(w,k,n.gauge,e,t)}function L(e,t){return r.coerce(T,A,n.gauge.axis,e,t)}if(M.size=.25*(v||y||s.defaultNumberFontSize),r.coerceFont(g,"title.font",M),g("title.text"),t._hasGauge){(w=e.gauge)||(w={}),k=o.newContainer(t,"gauge"),S("shape"),(t._isBullet="bullet"===t.gauge.shape)||g("title.align","center"),(t._isAngular="angular"===t.gauge.shape)||g("align","center"),S("bgcolor",f.paper_bgcolor),S("borderwidth"),S("bordercolor"),S("bar.color"),S("bar.line.color"),S("bar.line.width"),S("bar.thickness",s.valueThickness*("bullet"===t.gauge.shape?.5:1)),l(w,k,{name:"steps",handleItemDefaults:h}),S("threshold.value"),S("threshold.thickness"),S("threshold.line.width"),S("threshold.line.color"),T={},w&&(T=w.axis||{}),A=o.newContainer(k,"axis"),L("visible"),t._range=L("range",t._range);var O={font:f.font,noAutotickangles:!0,outerTicks:!0,noTicklabelshift:!0,noTicklabelstandoff:!0};c(T,A,L,"linear"),p(T,A,L,"linear",O),u(T,A,L,"linear",O),d(T,A,L,O)}else g("title.align","center"),g("align","center"),t._isAngular=t._isBullet=!1;t._length=null}}},95124(e,t,a){e.exports={moduleType:"component",name:"legend",layoutAttributes:a(96716),supplyLayoutDefaults:a(57464),draw:a(77628),style:a(3045)}},96708(e,t,a){var r=a(7396),n=a(22015),{area:i}=a(61990),{centroid:o}=a(30035),{bbox:l}=a(25368),s=a(19025),c=a(98354),d=a(37816),u=a(83290),p=a(43930),h=Object.keys(n),f={"ISO-3":s,"USA-states":s,"country names":function(e){for(var t=0;t0&&e[t+1][0]<0)return t;return null}switch(t="RUS"===l||"FJI"===l?function(e){var t;if(null===c(e))t=e;else for(t=new Array(e.length),n=0;nt?a[r++]=[e[n][0]+360,e[n][1]]:n===t?(a[r++]=e[n],a[r++]=[e[n][0],-90]):a[r++]=e[n];var i=p.tester(a);i.pts.pop(),s.push(i)}:function(e){s.push(p.tester(e))},i.type){case"MultiPolygon":for(a=0;a0?d.properties.ct=function(e){var t,a=e.geometry;if("MultiPolygon"===a.type)for(var r=a.coordinates,n=0,l=0;ln&&(n=c,t=s)}else t=a;return o(t).geometry.coordinates}(d):d.properties.ct=[NaN,NaN],r.fIn=e,r.fOut=d,l.push(d)}else c.log(["Location",r.loc,"does not have a valid GeoJSON geometry.","Traces with locationmode *geojson-id* only support","*Polygon* and *MultiPolygon* geometries."].join(" "))}delete n[a]}switch(a.type){case"FeatureCollection":var p=a.features;for(r=0;r100?(clearInterval(i),r("Unexpected error while fetching from "+e)):void n++},50)})}for(var o=0;oS[u]&&u0)-(e<0)}function A(e,t){return e0}function L(e,t,a,r,n){return!(e<0||t<0)&&(a<=e&&r<=t||a<=t&&r<=e||(n?e>=a*(t/r):t>=r*(e/a)))}function O(e){return"auto"===e?0:e}function D(e,t){var a=Math.PI/180*t,r=Math.abs(Math.sin(a)),n=Math.abs(Math.cos(a));return{x:e.width*n+e.height*r,y:e.width*r+e.height*n}}function j(e,t,a,r,n,i){var o=!!i.isHorizontal,l=!!i.constrained,s=i.angle||0,c=i.anchor,d="end"===c,u="start"===c,p=((i.leftToRight||0)+1)/2,h=1-p,f=i.hasB,g=i.r,m=i.overhead,v=n.width,y=n.height,x=Math.abs(t-e),b=Math.abs(r-a),w=x>2*_&&b>2*_?_:0;x-=2*w,b-=2*w;var k=O(s);"auto"!==s||v<=x&&y<=b||!(v>x||y>b)||(v>b||y>x)&&v_){var L=function(e,t,a,r,n,i,o,l,s){var c,d,u,p,h=Math.max(0,Math.abs(t-e)-2*_),f=Math.max(0,Math.abs(r-a)-2*_),g=i-_,m=o?g-Math.sqrt(g*g-(g-o)*(g-o)):g,v=s?2*g:l?g-o:2*m,y=s?2*g:l?2*m:g-o;return n.y/n.x>=f/(h-v)?p=f/n.y:n.y/n.x<=(f-y)/h?p=h/n.x:!s&&l?(c=n.x*n.x+n.y*n.y/4,u=(h-g)*(h-g)+(f/2-g)*(f/2-g)-g*g,p=(-(d=-2*n.x*(h-g)-n.y*(f/2-g))+Math.sqrt(d*d-4*c*u))/(2*c)):s?(c=(n.x*n.x+n.y*n.y)/4,u=(h/2-g)*(h/2-g)+(f/2-g)*(f/2-g)-g*g,p=(-(d=-n.x*(h/2-g)-n.y*(f/2-g))+Math.sqrt(d*d-4*c*u))/(2*c)):(c=n.x*n.x/4+n.y*n.y,u=(h/2-g)*(h/2-g)+(f-g)*(f-g)-g*g,p=(-(d=-n.x*(h/2-g)-2*n.y*(f-g))+Math.sqrt(d*d-4*c*u))/(2*c)),{scale:p=Math.min(1,p),pad:l?Math.max(0,g-Math.sqrt(Math.max(0,g*g-(g-(f-n.y*p)/2)*(g-(f-n.y*p)/2)))-o):Math.max(0,g-Math.sqrt(Math.max(0,g*g-(g-(h-n.x*p)/2)*(g-(h-n.x*p)/2)))-o)}}(e,t,a,r,S,g,m,o,f);T=L.scale,M=L.pad}else T=1,l&&(T=Math.min(1,x/S.x,b/S.y)),M=0;var j=n.left*h+n.right*p,I=(n.top+n.bottom)/2,z=(e+_)*h+(t-_)*p,C=(a+r)/2,P=0,R=0;if(u||d){var F=(o?S.x:S.y)/2;g&&(d||f)&&(w+=M);var N=o?A(e,t):A(a,r);o?u?(z=e+N*w,P=-N*F):(z=t-N*w,P=N*F):u?(C=a+N*w,R=-N*F):(C=r-N*w,R=N*F)}return{textX:j,textY:I,targetX:z,targetY:C,anchorX:P,anchorY:R,scale:T,rotate:k}}e.exports={plot:function(e,t,a,u,m,v){var w=t.xaxis,I=t.yaxis,z=e._fullLayout,C=e._context.staticPlot;m||(m={mode:z.barmode,norm:z.barmode,gap:z.bargap,groupgap:z.bargroupgap},h("bar",z));var P=i.makeTraceGroups(u,a,"trace bars").each(function(a){var c=r.select(this),u=a[0].trace,h=a[0].t,P="waterfall"===u.type,R="funnel"===u.type,F="histogram"===u.type,N="bar"===u.type,E=N||R,B=0;P&&u.connector.visible&&"between"===u.connector.mode&&(B=u.connector.line.width/2);var H="h"===u.orientation,V=S(m),U=i.ensureSingle(c,"g","points"),G=k(u),q=U.selectAll("g.point").data(i.identity,G);q.enter().append("g").classed("point",!0),q.exit().remove(),q.each(function(c,k){var S,P,R=r.select(this),U=function(e,t,a,r){var n=[],i=[],o=r?t:a,l=r?a:t;return n[0]=o.c2p(e.s0,!0),i[0]=l.c2p(e.p0,!0),n[1]=o.c2p(e.s1,!0),i[1]=l.c2p(e.p1,!0),r?[n,i]:[i,n]}(c,w,I,H),G=U[0][0],q=U[0][1],Z=U[1][0],W=U[1][1],Y=0===(H?q-G:W-Z);if(Y&&E&&g.getLineWidth(u,c)&&(Y=!1),Y||(Y=!(n(G)&&n(q)&&n(Z)&&n(W))),c.isBlank=Y,Y&&(H?q=G:W=Z),B&&!Y&&(H?(G-=A(G,q)*B,q+=A(G,q)*B):(Z-=A(Z,W)*B,W+=A(Z,W)*B)),"waterfall"===u.type){if(!Y){var X=u[c.dir].marker;S=X.line.width,P=X.color}}else S=g.getLineWidth(u,c),P=c.mc||u.marker.color;function J(e){var t=r.round(S/2%1,2);return 0===m.gap&&0===m.groupgap?r.round(Math.round(e)-t,2):e}var Q=l.opacity(P)<1||S>.01?J:function(e,t,a){return a&&e===t?e:Math.abs(e-t)>=2?J(e):e>t?Math.ceil(e):Math.floor(e)};e._context.staticPlot||(G=Q(G,q,H),q=Q(q,G,H),Z=Q(Z,W,!H),W=Q(W,Z,!H));var K,$=H?w.c2p:I.c2p;K=c.s0>0?c._sMax:c.s0<0?c._sMin:c.s1>0?c._sMax:c._sMin;var ee,te,ae=N||F?function(e,t){if(!e)return 0;var a,r=H?Math.abs(W-Z):Math.abs(q-G),n=H?Math.abs(q-G):Math.abs(W-Z),i=Q(Math.abs($(K,!0)-$(0,!0))),o=c.hasB?Math.min(r/2,n/2):Math.min(r/2,i);return a="%"===t?r*(Math.min(50,e)/100):e,Q(Math.max(Math.min(a,o),0))}(h.cornerradiusvalue,h.cornerradiusform):0,re="M"+G+","+Z+"V"+W+"H"+q+"V"+Z+"Z",ne=0;if(ae&&c.s){var ie=0===T(c.s0)||T(c.s)===T(c.s0)?c.s1:c.s0;if((ne=Q(c.hasB?0:Math.abs($(K,!0)-$(ie,!0))))0?Math.sqrt(ne*(2*ae-ne)):0,ue=oe>0?Math.max:Math.min;ee="M"+G+","+Z+"V"+(W-ce*le)+"H"+ue(q-(ae-ne)*oe,G)+"A "+ae+","+ae+" 0 0 "+se+" "+q+","+(W-ae*le-de)+"V"+(Z+ae*le+de)+"A "+ae+","+ae+" 0 0 "+se+" "+ue(q-(ae-ne)*oe,G)+","+(Z+ce*le)+"Z"}else if(c.hasB)ee="M"+(G+ae*oe)+","+Z+"A "+ae+","+ae+" 0 0 "+se+" "+G+","+(Z+ae*le)+"V"+(W-ae*le)+"A "+ae+","+ae+" 0 0 "+se+" "+(G+ae*oe)+","+W+"H"+(q-ae*oe)+"A "+ae+","+ae+" 0 0 "+se+" "+q+","+(W-ae*le)+"V"+(Z+ae*le)+"A "+ae+","+ae+" 0 0 "+se+" "+(q-ae*oe)+","+Z+"Z";else{var pe=(te=Math.abs(W-Z)+ne)0?Math.sqrt(ne*(2*ae-ne)):0,fe=le>0?Math.max:Math.min;ee="M"+(G+pe*oe)+","+Z+"V"+fe(W-(ae-ne)*le,Z)+"A "+ae+","+ae+" 0 0 "+se+" "+(G+ae*oe-he)+","+W+"H"+(q-ae*oe+he)+"A "+ae+","+ae+" 0 0 "+se+" "+(q-pe*oe)+","+fe(W-(ae-ne)*le,Z)+"V"+Z+"Z"}}else ee=re}else ee=re;var ge=M(i.ensureSingle(R,"path"),z,m,v);if(ge.style("vector-effect",C?"none":"non-scaling-stroke").attr("d",isNaN((q-G)*(W-Z))||Y&&e._context.staticPlot?"M0,0Z":ee).call(s.setClipUrl,t.layerClipId,e),!z.uniformtext.mode&&V){var me=s.makePointStyleFns(u);s.singlePointStyle(c,ge,u,me,e)}!function(e,t,a,r,n,l,c,u,h,m,v,w,k){var T,S=t.xaxis,I=t.yaxis,z=e._fullLayout;function C(t,a,r){return i.ensureSingle(t,"text").text(a).attr({class:"bartext bartext-"+T,"text-anchor":"middle","data-notex":1}).call(s.font,r).call(o.convertToTspans,e)}var P=r[0].trace,R="h"===P.orientation,F=function(e,t,a,r,n){var o,l=t[0].trace;return o=l.texttemplate?function(e,t,a,r,n){var o=t[0].trace,l=i.castOption(o,a,"texttemplate");if(!l)return"";var s,c,u,p,h="histogram"===o.type,f="waterfall"===o.type,g="funnel"===o.type,m="h"===o.orientation;function v(e){return d(p,p.c2l(e),!0).text}m?(s="y",c=n,u="x",p=r):(s="x",c=r,u="y",p=n);var y,x=t[a],_={};_.label=x.p,_.labelLabel=_[s+"Label"]=(y=x.p,d(c,c.c2l(y),!0).text);var w=i.castOption(o,x.i,"text");(0===w||w)&&(_.text=w),_.value=x.s,_.valueLabel=_[u+"Label"]=v(x.s);var k={};b(k,o,x.i),(h||void 0===k.x)&&(k.x=m?_.value:_.label),(h||void 0===k.y)&&(k.y=m?_.label:_.value),(h||void 0===k.xLabel)&&(k.xLabel=m?_.valueLabel:_.labelLabel),(h||void 0===k.yLabel)&&(k.yLabel=m?_.labelLabel:_.valueLabel),f&&(_.delta=+x.rawS||x.s,_.deltaLabel=v(_.delta),_.final=x.v,_.finalLabel=v(_.final),_.initial=_.final-_.delta,_.initialLabel=v(_.initial)),g&&(_.value=x.s,_.valueLabel=v(_.value),_.percentInitial=x.begR,_.percentInitialLabel=i.formatPercent(x.begR),_.percentPrevious=x.difR,_.percentPreviousLabel=i.formatPercent(x.difR),_.percentTotal=x.sumR,_.percenTotalLabel=i.formatPercent(x.sumR));var T=i.castOption(o,x.i,"customdata");return T&&(_.customdata=T),i.texttemplateString(l,_,e._d3locale,k,_,o._meta||{})}(e,t,a,r,n):l.textinfo?function(e,t,a,r){var n=e[0].trace,o="h"===n.orientation,l="waterfall"===n.type,s="funnel"===n.type;function c(e){return d(o?a:r,+e,!0).text}var u,p,h=n.textinfo,f=e[t],g=h.split("+"),m=[],v=function(e){return-1!==g.indexOf(e)};if(v("label")&&m.push((p=e[t].p,d(o?r:a,p,!0).text)),v("text")&&(0===(u=i.castOption(n,f.i,"text"))||u)&&m.push(u),l){var y=+f.rawS||f.s,x=f.v,b=x-y;v("initial")&&m.push(c(b)),v("delta")&&m.push(c(y)),v("final")&&m.push(c(x))}if(s){v("value")&&m.push(c(f.s));var _=0;v("percent initial")&&_++,v("percent previous")&&_++,v("percent total")&&_++;var w=_>1;v("percent initial")&&(u=i.formatPercent(f.begR),w&&(u+=" of initial"),m.push(u)),v("percent previous")&&(u=i.formatPercent(f.difR),w&&(u+=" of previous"),m.push(u)),v("percent total")&&(u=i.formatPercent(f.sumR),w&&(u+=" of total"),m.push(u))}return m.join("
")}(t,a,r,n):g.getValue(l.text,a),g.coerceString(y,o)}(z,r,n,S,I);T=function(e,t){var a=g.getValue(e.textposition,t);return g.coerceEnumerated(x,a)}(P,n);var N="stack"===w.mode||"relative"===w.mode,E=r[n],B=!N||E._outmost,H=E.hasB,V=m&&m-v>_;if(F&&"none"!==T&&(!E.isBlank&&l!==c&&u!==h||"auto"!==T&&"inside"!==T)){var U=z.font,G=f.getBarColor(r[n],P),q=f.getInsideTextFont(P,n,U,G),Z=f.getOutsideTextFont(P,n,U),W=P.insidetextanchor||"end",Y=a.datum();R?"log"===S.type&&Y.s0<=0&&(l=S.range[0]0&&K>0;ne=V?H?L(ae-2*m,re,Q,K,R)||L(ae,re-2*m,Q,K,R):R?L(ae-(m-v),re,Q,K,R)||L(ae,re-2*(m-v),Q,K,R):L(ae,re-(m-v),Q,K,R)||L(ae-2*(m-v),re,Q,K,R):L(ae,re,Q,K,R),ie&&ne?T="inside":(T="outside",X.remove(),X=null)}else T="inside";if(!X){var oe=(X=C(a,F,$=i.ensureUniformFontSize(e,"outside"===T?Z:q))).attr("transform");if(X.attr("transform",""),Q=(J=s.bBox(X.node())).width,K=J.height,X.attr("transform",oe),Q<=0||K<=0)return void X.remove()}var le,se=P.textangle;le="outside"===T?function(e,t,a,r,n,i){var o,l=!!i.isHorizontal,s=!!i.constrained,c=i.angle||0,d=n.width,u=n.height,p=Math.abs(t-e),h=Math.abs(r-a);o=l?h>2*_?_:0:p>2*_?_:0;var f=1;s&&(f=l?Math.min(1,h/u):Math.min(1,p/d));var g=O(c),m=D(n,g),v=(l?m.x:m.y)/2,y=(n.left+n.right)/2,x=(n.top+n.bottom)/2,b=(e+t)/2,w=(a+r)/2,k=0,T=0,M=l?A(t,e):A(a,r);return l?(b=t-M*o,k=M*v):(w=r+M*o,T=-M*v),{textX:y,textY:x,targetX:b,targetY:w,anchorX:k,anchorY:T,scale:f,rotate:g}}(l,c,u,h,J,{isHorizontal:R,constrained:"both"===P.constraintext||"outside"===P.constraintext,angle:se}):j(l,c,u,h,J,{isHorizontal:R,constrained:"both"===P.constraintext||"inside"===P.constraintext,angle:se,anchor:W,hasB:H,r:m,overhead:v}),le.fontSize=$.size,p("histogram"===P.type?"bar":P.type,le,z),E.transform=le;var ce=M(X,z,w,k);i.setTransormAndDisplay(ce,le)}else a.select("text").remove()}(e,t,R,a,k,G,q,Z,W,ae,ne,m,v),t.layerClipId&&s.hideOutsideRangePoint(c,R.select("text"),w,I,u.xcalendar,u.ycalendar)});var Z=!1===u.cliponaxis;s.setClipUrl(c,Z?null:t.layerClipId,e)});c.getComponentMethod("errorbars","plot")(e,P,t,m)},toMoveInsideBar:j}},98354(e,t,a){var r=a(85082).dfltConfig,n=a(63937),i=e.exports={};i.log=function(){var e;if(r.logging>1){var t=["LOG:"];for(e=0;e1){var a=[];for(e=0;e"),"long")}},i.warn=function(){var e;if(r.logging>0){var t=["WARN:"];for(e=0;e0){var a=[];for(e=0;e"),"stick")}},i.error=function(){var e;if(r.logging>0){var t=["ERROR:"];for(e=0;e0){var a=[];for(e=0;e"),"stick")}}},98471(e,t,a){var r=a(13936);e.exports=function(e){for(var t,a,n=r.layoutArrayContainers,i=r.layoutArrayRegexes,o=e.split("[")[0],l=0;l0?t+=a:d<0&&(t-=a)}return t}function C(e){var t=d,a=e.b,n=z(e);return r.inbox(a-t,n-t,_+(n-t)/(n-a)-1)}var P=e[u+"a"],R=e[p+"a"];g=Math.abs(P.r2c(P.range[1])-P.r2c(P.range[0]));var F=r.getDistanceFunction(n,h,f,function(e){return(h(e)+f(e))/2});if(r.getClosest(m,F,e),!1!==e.index&&m[e.index].p!==c){T||(O=function(e){return Math.min(A(e),e.p-y.bargroupwidth/2)},D=function(e){return Math.max(M(e),e.p+y.bargroupwidth/2)});var N=m[e.index],E=v.base?N.b+N.s:N.s;e[p+"0"]=e[p+"1"]=R.c2p(N[p],!0),e[p+"LabelVal"]=E;var B=y.extents[y.extents.round(N.p)];e[u+"0"]=P.c2p(x?O(N):B[0],!0),e[u+"1"]=P.c2p(x?D(N):B[1],!0);var H=void 0!==N.orig_p;return e[u+"LabelVal"]=H?N.orig_p:N.p,e.labelLabel=s(P,e[u+"LabelVal"],v[u+"hoverformat"]),e.valueLabel=s(R,e[p+"LabelVal"],v[p+"hoverformat"]),e.baseLabel=s(R,N.b,v[p+"hoverformat"]),e.spikeDistance=(function(e){var t=d,a=e.b,n=z(e);return r.inbox(a-t,n-t,w+(n-t)/(n-a)-1)}(N)+function(e){return j(A(e),M(e),w)}(N))/2,e[u+"Spike"]=P.c2p(N.p,!0),o(N,v,e),e.hovertemplate=v.hovertemplate,e}}function u(e,t){var a=t.mcc||e.marker.color,r=t.mlcc||e.marker.line.color,n=l(e,t);return i.opacity(a)?a:i.opacity(r)&&n?r:void 0}e.exports={hoverPoints:function(e,t,a,r,i){var o=d(e,t,a,r,i);if(o){var l=o.cd,s=l[0].trace,c=l[o.index];return o.color=u(s,c),n.getComponentMethod("errorbars","hoverInfo")(c,s,o),[o]}},hoverOnBars:d,getTraceColor:u}},99124(e){e.exports=function(e){return Object.keys(e).sort()}},99390(e){e.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"}},99838(e,t,a){var r=a(85880);t.name="pie",t.plot=function(e,a,n,i){r.plotBasePlot(t.name,e,a,n,i)},t.clean=function(e,a,n,i){r.cleanBasePlot(t.name,e,a,n,i)}}}]);