UNPKG

highcharts

Version:
10 lines 102 kB
!/** * Highcharts JS v13.0.1 (2026-08-17) * @module highcharts/highcharts-more * @requires highcharts * * (c) 2009-2026 Highsoft AS * * A commercial license may be required depending on use, * see www.highcharts.com/license */function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(t._Highcharts,t._Highcharts.SeriesRegistry,t._Highcharts.Series.types.column,t._Highcharts.Templating,t._Highcharts.Point,t._Highcharts.Color,t._Highcharts.Chart,t._Highcharts.SVGElement,t._Highcharts.Series,t._Highcharts.StackItem):"function"==typeof define&&define.amd?define("highcharts/highcharts-more",["highcharts/highcharts"],function(t){return e(t,t.SeriesRegistry,t.Series,["types"],["column"],t.Templating,t.Point,t.Color,t.Chart,t.SVGElement,t.Series,t.StackItem)}):"object"==typeof exports?exports["highcharts/highcharts-more"]=e(t._Highcharts,t._Highcharts.SeriesRegistry,t._Highcharts.Series.types.column,t._Highcharts.Templating,t._Highcharts.Point,t._Highcharts.Color,t._Highcharts.Chart,t._Highcharts.SVGElement,t._Highcharts.Series,t._Highcharts.StackItem):t.Highcharts=e(t.Highcharts,t.Highcharts.SeriesRegistry,t.Highcharts.Series.types.column,t.Highcharts.Templating,t.Highcharts.Point,t.Highcharts.Color,t.Highcharts.Chart,t.Highcharts.SVGElement,t.Highcharts.Series,t.Highcharts.StackItem)}("u"<typeof window?this:window,(t,e,i,s,a,o,r,n,l,h)=>(()=>{"use strict";var p,d,c,u,g,m,f={960(t){t.exports=r},620(t){t.exports=o},260(t){t.exports=a},28(t){t.exports=n},448(t){t.exports=i},820(t){t.exports=l},512(t){t.exports=e},184(t){t.exports=h},984(t){t.exports=s},944(e){e.exports=t}};let b={};function y(t){let e=b[t];if(void 0!==e)return e.exports;let i=b[t]={exports:{}};return f[t](i,i.exports,y),i.exports}y.n=t=>{let e=t&&t.__esModule?()=>t.default:()=>t;return y.d(e,{a:e}),e},y.d=(t,e)=>{if(Array.isArray(e))for(var i=0;i<e.length;){var s=e[i++],a=e[i++];y.o(t,s)?0===a&&i++:0===a?Object.defineProperty(t,s,{enumerable:!0,value:e[i++]}):Object.defineProperty(t,s,{enumerable:!0,get:a})}else for(var s in e)y.o(e,s)&&!y.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:e[s]})},y.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);let x={};y.d(x,{default:()=>it});var v=y(944),P=y.n(v),M=y(512),k=y.n(M);let{deg2rad:L}=P();(p=c||(c={})).getCenter=function(){let t=this.options,e=this.chart,i=2*(t.slicedOffset||0),s=e.plotWidth-2*i,a=e.plotHeight-2*i,o=t.center,r=Math.min(s,a),n=t.thickness,l,h=t.size,p=t.innerSize||0,d,c;"string"==typeof h&&(h=parseFloat(h)),"string"==typeof p&&(p=parseFloat(p));let u=[(0,v.pick)(o?.[0],"50%"),(0,v.pick)(o?.[1],"50%"),(0,v.pick)(h&&h<0?void 0:t.size,"100%"),(0,v.pick)(p&&p<0?void 0:t.innerSize||0,"0%")];for(d=0;d<4;++d)c=u[d],l=d<2||2===d&&/%$/.test(c),u[d]=(0,v.relativeLength)(c,[s,a,r,u[2]][d])+(l?i:0);return u[3]>u[2]&&(u[3]=u[2]),(0,v.isNumber)(n)&&2*n<u[2]&&n>0&&(u[3]=u[2]-2*n),(0,v.fireEvent)(this,"afterGetCenter",{positions:u}),u},p.getStartAndEndRadians=function(t,e){let i=(0,v.isNumber)(t)?t:0,s=(0,v.isNumber)(e)&&e>i&&e-i<360?e:i+360;return{start:L*(i+-90),end:L*(s+-90)}};let w=c;function A(t){let e,i=this;return t&&i.pane.forEach(s=>{S(t.chartX-i.plotLeft,t.chartY-i.plotTop,s.center)&&(e=s)}),e}function S(t,e,i,s,a){let o=!0,r=i[0],n=i[1],l=2*Math.PI,h=Math.sqrt(Math.pow(t-r,2)+Math.pow(e-n,2));if((0,v.defined)(s)&&(0,v.defined)(a)){let i=Math.atan2((0,v.correctFloat)(e-n,8),(0,v.correctFloat)(t-r,8));i=(i+l)%l,s=(s+l)%l,Math.abs((a=(a+l)%l)-s)>1e-6&&(o=s>a?i>=s||i<=a:i>=s&&i<=a)}else o=!0;return h<=Math.ceil(i[2]/2)&&o}function N(t){this.polar&&(t.options.inverted&&([t.x,t.y]=[t.y,t.x]),t.isInsidePlot=this.pane.some(e=>S(t.x,t.y,e.center,e.axis&&e.axis.normalizedStartAngleRad,e.axis&&e.axis.normalizedEndAngleRad)))}function T(t){let e=this.chart;t.hoverPoint&&t.hoverPoint.plotX&&t.hoverPoint.plotY&&e.hoverPane&&!S(t.hoverPoint.plotX,t.hoverPoint.plotY,e.hoverPane.center)&&(t.hoverPoint=void 0)}function C(t){let e=this.chart;e.polar?(e.hoverPane=e.getHoverPane(t),t.filter=function(i){return i.visible&&!(!t.shared&&i.directTouch)&&(0,v.pick)(i.options.enableMouseTracking,!0)&&(!e.hoverPane||i.xAxis.pane===e.hoverPane)}):e.hoverPane=void 0}let{defaultOptions:X}=P(),Y={shape:"arc",borderRadius:void 0,borderWidth:0,borderColor:"var(--highcharts-neutral-color-20)",backgroundColor:"var(--highcharts-neutral-color-3)",from:-Number.MAX_VALUE,to:Number.MAX_VALUE,outerRadius:"100%"},E={borderRadius:3,margin:void 0};X.pane=E;class R{constructor(t,e){this.coll="pane",this.init(t,e)}init(t,e){this.chart=e,this.background=[],e.pane.push(this),this.setOptions(t)}hasSeriesType(t){return!!(this.chart.options?.chart?.type===t||this.chart.options?.series?.some(e=>e.type===t))}setOptions(t){this.options=(0,v.merge)(E,this.chart.angular?{background:{},innerSize:"85%"}:{},t)}render(){let t=this.options,e=this.chart.renderer;this.group||(this.group=e.g("pane-group").attr({zIndex:t.zIndex||0}).add()),this.updateCenter();let i=this.options.background;if(i){let t=Math.max((i=(0,v.splat)(i)).length,this.background.length||0);for(let e=0;e<t;e++)i[e]&&this.axis?this.renderBackground((0,v.merge)(Y,{borderRadius:this.options.borderRadius},i[e]),e):this.background[e]&&(this.background[e]=this.background[e].destroy(),this.background.splice(e,1))}}renderBackground(t,e){let i={class:"highcharts-pane "+(t.className||"")},s="animate";this.chart.styledMode||(0,v.extend)(i,{fill:t.backgroundColor,stroke:t.borderColor,"stroke-width":t.borderWidth}),this.background[e]||(this.background[e]=this.chart.renderer.path().add(this.group),s="attr"),this.background[e][s]({d:this.axis.getPlotBandPath(t.from,t.to,t)}).attr(i)}updateCenter(){let{axis:t,chart:e,options:i}=this,{plotHeight:s,plotWidth:a}=e,o=i.center?.[1],r=i.margin,n=this.axis?.options.labels,l=i.thickness,h=Array.isArray(r)?r:[r,r,r,r],p=[],d=i.size,c,u=0,g=0,m=Math.min(e.series.reduce((t,e)=>{if(!e.is("gauge")||e.yAxis?.pane!==this)return t;let i=(0,v.splat)(e.options.dataLabels)[0],s=0;return i&&!1!==i.enabled&&(s=(1-(0,v.getAlignFactor)(i.verticalAlign))*30+(i.y||0)),Math.max(t,s)},0),.3*s);if(n?.enabled){let t=String(n.style?.fontSize||""),e=(/px$/.test(t)?parseFloat(t):/em$/.test(t)?12*parseFloat(t):12)*1.2;g=Math.max(n.distance||0,0)+e/2}if(h.forEach((t,e)=>{p[e]=t??Math.max(g||0)}),t&&(void 0===d||void 0===o)){let{endAngleRad:e,startAngleRad:o}=t,r=2*Math.PI/360,n=.5+.5*Math.max(Math.sin((o<Math.PI/2&&e>Math.PI/2||(0,v.splat)(i.background).some(t=>t?.shape==="circle")?Math.PI:Math.max(Math.abs(o+Math.PI/2),Math.abs(e+Math.PI/2)))-Math.PI/2),Math.sin(0*r));if(c=(s-p[0]-p[2])/n,void 0===d){let t=(d=Math.max(Math.min(c,a-p[1]-p[3]),1))+p[0]+p[2]+2*(m-s);t>0&&(d=Math.max(1,d-(u=t)))}}this.center=(t||{}).center=w.getCenter.call(this),(0,v.isNumber)(d)&&d>=0&&(this.center[2]=d,(0,v.isNumber)(l)?this.center[3]=this.center[2]-2*l:this.center[3]=Math.min(d,(0,v.relativeLength)(i.innerSize||0,d))),!(0,v.defined)(o)&&(i.size?this.center[1]=s/2:(0,v.isNumber)(c)&&(this.center[1]=(c+this.center[2]-u)/4+p[0]))}update(t,e){(0,v.merge)(!0,this.options,t),this.setOptions(this.options),this.render(),this.chart.axes.forEach(function(t){t.pane===this&&(t.pane=null,t.update({},e))},this)}}R.compose=function(t,e){let i=t.prototype;i.getHoverPane||(i.collectionsWithUpdate.push("pane"),i.getHoverPane=A,(0,v.addEvent)(t,"afterIsInsidePlot",N),(0,v.addEvent)(e,"afterGetHoverData",T),(0,v.addEvent)(e,"beforeGetHoverData",C))};let{area:{prototype:{pointClass:I,pointClass:{prototype:z}}}}=k().seriesTypes,O=class extends I{setState(){let t=this.state,e=this.series,i=e.chart.polar;(0,v.defined)(this.plotHigh)||(this.plotHigh=e.yAxis.toPixels(this.high,!0)),(0,v.defined)(this.plotLow)||(this.plotLow=this.plotY=e.yAxis.toPixels(this.low,!0)),e.lowerStateMarkerGraphic=e.stateMarkerGraphic,e.stateMarkerGraphic=e.upperStateMarkerGraphic,this.graphic=this.graphics&&this.graphics[1],this.plotY=this.plotHigh,i&&(0,v.isNumber)(this.plotHighX)&&(this.plotX=this.plotHighX),z.setState.apply(this,arguments),this.state=t,this.plotY=this.plotLow,this.graphic=this.graphics&&this.graphics[0],i&&(0,v.isNumber)(this.plotLowX)&&(this.plotX=this.plotLowX),e.upperStateMarkerGraphic=e.stateMarkerGraphic,e.stateMarkerGraphic=e.lowerStateMarkerGraphic,e.lowerStateMarkerGraphic=void 0;let s=e.modifyMarkerSettings();z.setState.apply(this,arguments),e.restoreMarkerSettings(s)}haloPath(){let t=this.series.chart.polar,e=[];return this.plotY=this.plotLow,t&&(0,v.isNumber)(this.plotLowX)&&(this.plotX=this.plotLowX),this.isInside&&(e=z.haloPath.apply(this,arguments)),this.plotY=this.plotHigh,t&&(0,v.isNumber)(this.plotHighX)&&(this.plotX=this.plotHighX),this.isTopInside&&(e=e.concat(z.haloPath.apply(this,arguments))),e}isValid(){return(0,v.isNumber)(this.low)&&(0,v.isNumber)(this.high)}};var D=y(448),H=y.n(D);!function(t){let e={close:["plotClose"],high:["highPlot","plotHigh"],low:["lowPlot","plotLow"],median:["medianPlot"],open:["plotOpen"],q1:["q1Plot"],q3:["q3Plot"],y:["plotY"]};function i(t,i){for(let s of e[i]??[]){let e=t[s];if((0,v.isNumber)(e))return e}}function s(t,e){return e&&t.pointArrayMap.indexOf(e)>-1?e:t.pointValKey}function a(t,e,a,o,r){let n=i(t,s(this,a.alignToKey)),l=t.shapeArgs,h=t.plotY,p=t.dlBox,d=t.below;if((0,v.isNumber)(n)){let e,s;t.plotY=n,l&&!a.inside&&(t.dlBox={x:l.x??0,y:(0,v.crisp)(n,this.borderWidth,this.chart.inverted),width:l.width??0,height:0});let o=(e=i(t,"high"),s=i(t,"low"),t.below=!!((0,v.isNumber)(e)&&(0,v.isNumber)(s))&&(a.inside?n===Math.min(e,s):n===Math.max(e,s)));this.chart.inverted?a.align??(a.align=o?"right":"left"):a.verticalAlign??(a.verticalAlign=o?"top":"bottom")}H().prototype.alignDataLabel.call(this,t,e,a,o,r),t.plotY=h,t.dlBox=p,t.below=d}t.compose=function(t){return t.prototype.alignDataLabel=a,t},t.formatter=function(t){let e=t.alignToKey?this.getNestedProperty(t.alignToKey):this.y,i=(0,v.isNumber)(e)?e:this.y;return(0,v.isNumber)(i)?this.series.chart.numberFormatter(i,-1):""},t.applyAlignToKeyValue=function(t){let{alignToKey:e,format:i}=t;e&&i&&(t.format=i.replace(/\{(?:point\.)?y([:}])/g,"{point."+e+"$1"))},t.resolveAlignToKey=s,t.alignDataLabel=a}(u||(u={}));let B=u,{noop:W}=P(),{area:F,area:{prototype:G}}=k().seriesTypes,q={lineWidth:1,threshold:null,tooltip:{pointFormat:'<span style="color:{series.color}">●</span> {series.name}: <b>{point.low}</b> - <b>{point.high}</b><br/>'},trackByArea:!0,dataLabels:{align:void 0,formatter:B.formatter,verticalAlign:void 0,xLow:0,xHigh:0,yLow:0,yHigh:0}};class K extends F{toYData(t){return[t.low,t.high]}highToXY(t){let e=this.chart,i=this.xAxis.postTranslate(t.rectPlotX||0,this.yAxis.len-(t.plotHigh||0));t.plotHighX=i.x-e.plotLeft,t.plotHigh=i.y-e.plotTop,t.plotLowX=t.plotX}getGraphPath(t){let e=[],i=[],s=G.getGraphPath,a=this.options,o=this.chart.polar,r=o&&!1!==a.connectEnds,n=a.connectNulls,l,h,p,d=a.step;for(l=(t=t||this.points).length;l--;){h=t[l];let s=o?{plotX:h.rectPlotX,plotY:h.yBottom,doCurve:!1}:{plotX:h.plotX,plotY:h.plotY,doCurve:!1};h.isNull||r||n||t[l+1]&&!t[l+1].isNull||i.push(s),p={polarPlotY:h.polarPlotY,rectPlotX:h.rectPlotX,yBottom:h.yBottom,plotX:h.plotHighX??h.plotX,plotY:h.plotHigh,isNull:h.isNull},i.push(p),e.push(p),h.isNull||r||n||t[l-1]&&!t[l-1].isNull||i.push(s)}let c=s.call(this,t);d&&(!0===d&&(d="left"),a.step=({left:"right",center:"center",right:"left"})[d]);let u=s.call(this,e),g=s.call(this,i);a.step=d;let m=[].concat(c,u);return!this.chart.polar&&g[0]&&"M"===g[0][0]&&(g[0]=["L",g[0][1],g[0][2]]),this.graphPath=m,this.areaPath=c.concat(g),m.isArea=!0,m.xMap=c.xMap,this.areaPath.xMap=c.xMap,m}drawDataLabels(){let t=this,e=t.options.dataLabels;if(e){let i,s=(i=t.options.dataLabels,(0,v.isArray)(i)?Array.from({length:Math.max(i.length,2)},(e,s)=>{let a=i[s],o=0===s?"high":1===s?"low":t.pointValKey,r=a?.alignToKey??o;return(0,v.merge)(a??{enabled:!1},{alignToKey:r})}):i?.alignToKey?[(0,v.merge)(i,"high"===i.alignToKey?{x:i.xHigh,y:i.yHigh}:"low"===i.alignToKey?{x:i.xLow,y:i.yLow}:{})]:[(0,v.merge)(i,{alignToKey:"high",x:i?.xHigh,y:i?.yHigh}),(0,v.merge)(i,{alignToKey:"low",x:i?.xLow,y:i?.yLow})]);for(let i of(s.forEach(B.applyAlignToKeyValue),t.options.dataLabels=s,G.drawDataLabels&&G.drawDataLabels.call(t),t.options.dataLabels=e,t.points)){let e=i.dataLabels??[];i.dataLabelUpper=e.find(e=>"high"===B.resolveAlignToKey(t,e.options?.alignToKey)),i.dataLabel=e.find(e=>"low"===B.resolveAlignToKey(t,e.options?.alignToKey))}}}modifyMarkerSettings(){let t={marker:this.options.marker,symbol:this.symbol};if(this.options.lowMarker){let{options:{marker:t,lowMarker:e}}=this;this.options.marker=(0,v.merge)(t,e),e.symbol&&(this.symbol=e.symbol)}return t}restoreMarkerSettings(t){this.options.marker=t.marker,this.symbol=t.symbol}drawPoints(){let t,e,i=this.points.length,s=this.modifyMarkerSettings();for(G.drawPoints.apply(this,arguments),this.restoreMarkerSettings(s),t=0;t<i;)(e=this.points[t]).graphics=e.graphics||[],e.origProps={plotY:e.plotY,plotX:e.plotX,isInside:e.isInside,negative:e.negative,zone:e.zone,y:e.y},(e.graphic||e.graphics[0])&&(e.graphics[0]=e.graphic),e.graphic=e.graphics[1],e.plotY=e.plotHigh,(0,v.defined)(e.plotHighX)&&(e.plotX=e.plotHighX),e.y=e.high??e.origProps.y,e.negative=e.y<(this.options.threshold||0),this.zones.length&&(e.zone=e.getZone()),this.chart.polar||(e.isInside=e.isTopInside=void 0!==e.plotY&&e.plotY>=0&&e.plotY<=this.yAxis.len&&e.plotX>=0&&e.plotX<=this.xAxis.len),t++;for(G.drawPoints.apply(this,arguments),t=0;t<i;)(e=this.points[t]).graphics=e.graphics||[],(e.graphic||e.graphics[1])&&(e.graphics[1]=e.graphic),e.graphic=e.graphics[0],e.origProps&&((0,v.extend)(e,e.origProps),delete e.origProps),t++}hasMarkerChanged(t,e){let i=t.lowMarker,s=e.lowMarker||{};return i&&(!1===i.enabled||s.symbol!==i.symbol||s.height!==i.height||s.width!==i.width)||super.hasMarkerChanged(t,e)}}K.defaultOptions=(0,v.merge)(F.defaultOptions,q),(0,v.addEvent)(K,"afterTranslate",function(){"low,high"===this.pointArrayMap.join(",")&&this.points.forEach(t=>{let e=t.high,i=t.plotY;t.isNull?t.plotY=void 0:(t.plotLow=i,t.plotHigh=(0,v.isNumber)(e)?this.yAxis.translate(this.dataModify?this.dataModify.modifyValue(e):e,!1,!0,void 0,!0):void 0,this.dataModify&&(t.yBottom=t.plotHigh))})},{order:0}),(0,v.addEvent)(K,"afterTranslate",function(){this.points.forEach(t=>{if(this.chart.polar)this.highToXY(t),t.plotLow=t.plotY,t.tooltipPos=[((t.plotHighX||0)+(t.plotLowX||0))/2,((t.plotHigh||0)+(t.plotLow||0))/2];else{let e=t.pos(!1,void 0,t.plotLow),i=t.pos(!1,void 0,t.plotHigh);e&&i&&(e[0]=(e[0]+i[0])/2,e[1]=(e[1]+i[1])/2),t.tooltipPos=e}})},{order:3}),(0,v.extend)(K.prototype,{deferTranslatePolar:!0,pointArrayMap:["low","high"],pointClass:O,pointValKey:"low",setStackedPoints:W}),B.compose(K),k().registerSeriesType("arearange",K);let V=K,{spline:{prototype:_}}=k().seriesTypes;class j extends V{}j.defaultOptions=(0,v.merge)(V.defaultOptions),(0,v.extend)(j.prototype,{getPointSpline:_.getPointSpline}),k().registerSeriesType("areasplinerange",j);let{defaultOptions:U}=P(),{noop:Z}=P(),$={radius:0,scope:"stack",where:void 0};function Q(t,e){return(0,v.isObject)(t)||(t={radius:t||0}),(0,v.merge)($,e,t)}let{noop:J}=P();class tt extends H(){pointAttribs(){return{fill:this.color}}getWhiskerPair(t,e,i,s,a){let o=a.whiskers.strokeWidth(),r=(i,s)=>{let a=(0,v.relativeLength)(i,2*t)/2,r=(0,v.crisp)(s,o);return[["M",(0,v.crisp)(e-a),r],["L",(0,v.crisp)(e+a),r]]};return[...r(i,a.highPlot),...r(s,a.lowPlot)]}translate(){let t=this.yAxis,e=this.pointArrayMap;super.translate.apply(this),this.points.forEach(function(i){e.forEach(function(e){let s=i[e];null!==s&&(i[`${e}Plot`]=t.translate(s,!1,!0,!1,!0))}),i.plotHigh=i.highPlot})}drawPoints(){let t,e,i,s,a,o,r,n,l,h,p,d=this.points,c=this.options,u=this.chart,g=u.renderer,m=!1!==this.doQuartiles,f=this.options.whiskerLength;for(let b of d){let d=(n=b.graphic)?"animate":"attr",y=b.shapeArgs,x={},P={},M={},k={},L=b.color||this.color,w=b.options.whiskerLength||f;if(void 0!==b.plotY){l=y.width,p=(h=y.x)+l,t=m?b.q1Plot:b.lowPlot,e=m?b.q3Plot:b.lowPlot,i=b.highPlot,s=b.lowPlot,n||(b.graphic=n=g.g("point").add(this.group),b.stem=g.path().addClass("highcharts-boxplot-stem").add(n),f&&(b.whiskers=g.path().addClass("highcharts-boxplot-whisker").add(n)),m&&(b.box=g.path(r).addClass("highcharts-boxplot-box").add(n)),b.medianShape=g.path(o).addClass("highcharts-boxplot-median").add(n)),u.styledMode||(P.stroke=b.stemColor||c.stemColor||L,P["stroke-width"]=(0,v.pick)(b.stemWidth,c.stemWidth,c.lineWidth),P.dashstyle=b.stemDashStyle||c.stemDashStyle||c.dashStyle,b.stem.attr(P),w&&(M.stroke=b.whiskerColor||c.whiskerColor||L,M["stroke-width"]=(0,v.pick)(b.whiskerWidth,c.whiskerWidth,c.lineWidth),M.dashstyle=b.whiskerDashStyle||c.whiskerDashStyle||c.dashStyle,b.whiskers.attr(M)),m&&(x.fill=b.fillColor||c.fillColor||L,x.stroke=c.lineColor||L,x["stroke-width"]=c.lineWidth||0,x.dashstyle=b.boxDashStyle||c.boxDashStyle||c.dashStyle,b.box.attr(x)),k.stroke=b.medianColor||c.medianColor||L,k["stroke-width"]=(0,v.pick)(b.medianWidth,c.medianWidth,c.lineWidth),k.dashstyle=b.medianDashStyle||c.medianDashStyle||c.dashStyle,b.medianShape.attr(k));let A=(0,v.crisp)((b.plotX||0)+(this.pointXOffset||0)+(this.barW||0)/2,b.stem.strokeWidth());if(b.stem[d]({d:[["M",A,e],["L",A,i],["M",A,t],["L",A,s]]}),m){let i=b.box.strokeWidth();t=(0,v.crisp)(t,i),e=(0,v.crisp)(e,i),h=(0,v.crisp)(h,i),p=(0,v.crisp)(p,i);let s=Math.min((0,v.relativeLength)(Q(c.borderRadius).radius,p-h),(p-h)/2,Math.abs(t-e)/2);b.box[d]({d:g.symbols.roundedRect(h,Math.min(t,e),p-h,Math.abs(t-e),{r:s})})}if(w){let t=l/2,e=this.getWhiskerPair(t,A,b.upperWhiskerLength??c.upperWhiskerLength??w,b.lowerWhiskerLength??c.lowerWhiskerLength??w,b);b.whiskers[d]({d:e})}a=(0,v.crisp)(b.medianPlot,b.medianShape.strokeWidth()),b.medianShape[d]({d:[["M",h,a],["L",p,a]]})}}}toYData(t){return[t.low,t.q1,t.median,t.q3,t.high]}}tt.defaultOptions=(0,v.merge)(H().defaultOptions,{borderRadius:0,threshold:null,tooltip:{pointFormat:'<span style="color:{point.color}">●</span> <b>{series.name}</b><br/>Maximum: {point.high}<br/>Upper quartile: {point.q3}<br/>Median: {point.median}<br/>Lower quartile: {point.q1}<br/>Minimum: {point.low}<br/>'},whiskerLength:"50%",fillColor:"var(--highcharts-background-color)",lineWidth:1,medianWidth:2,whiskerWidth:2}),(0,v.extend)(tt.prototype,{pointArrayMap:["low","q1","median","q3","high"],pointValKey:"high",setStackedPoints:J}),B.compose(tt),k().registerSeriesType("boxplot",tt);let te=tt,ti={borderColor:void 0,borderWidth:2,className:void 0,color:void 0,connectorClassName:void 0,connectorColor:void 0,connectorDistance:60,connectorWidth:1,enabled:!1,labels:{className:void 0,allowOverlap:!1,format:"",formatter:void 0,align:"right",style:{fontSize:"0.9em",color:"var(--highcharts-neutral-color-100)"},x:0,y:0},maxSize:60,minSize:10,legendIndex:0,ranges:{value:void 0,borderColor:void 0,color:void 0,connectorColor:void 0},sizeBy:"area",sizeByAbsoluteValue:!1,zIndex:1,zThreshold:0};var ts=y(984),ta=y.n(ts);let{noop:to}=P(),tr=class{constructor(t,e){this.setState=to,this.init(t,e)}init(t,e){this.options=t,this.visible=!0,this.chart=e.chart,this.legend=e}addToLegend(t){t.splice(this.options.legendIndex,0,this)}drawLegendSymbol(t){let e,i=(0,v.pick)(t.options.itemDistance,20),s=this.legendItem||{},a=this.options,o=a.ranges,r=a.connectorDistance;if(!o||!o.length||!(0,v.isNumber)(o[0].value)){t.options.bubbleLegend.autoRanges=!0;return}(0,v.stableSort)(o,function(t,e){return e.value-t.value}),this.ranges=o,this.setOptions(),this.render();let n=this.getMaxLabelSize(),l=this.ranges[0].radius,h=2*l;e=(e=r-l+n.width)>0?e:0,this.maxLabel=n,this.movementX="left"===a.labels.align?e:0,s.labelWidth=h+e+i,s.labelHeight=h+n.height/2}setOptions(){let t=this.ranges,e=this.options,i=this.chart.series[e.seriesIndex],s=this.legend.baseline,a={zIndex:e.zIndex,"stroke-width":e.borderWidth},o={zIndex:e.zIndex,"stroke-width":e.connectorWidth},r={align:this.legend.options.rtl||"left"===e.labels.align?"right":"left",zIndex:e.zIndex},n=i.options.marker.fillOpacity,l=this.chart.styledMode;t.forEach(function(h,p){l||(a.stroke=(0,v.pick)(h.borderColor,e.borderColor,i.color),a.fill=h.color||e.color,a.fill||(a.fill=i.color,a["fill-opacity"]=n??1),o.stroke=(0,v.pick)(h.connectorColor,e.connectorColor,i.color)),t[p].radius=this.getRangeRadius(h.value),t[p]=(0,v.merge)(t[p],{center:t[0].radius-t[p].radius+s}),l||(0,v.merge)(!0,t[p],{bubbleAttribs:(0,v.merge)(a),connectorAttribs:(0,v.merge)(o),labelAttribs:r})},this)}getRangeRadius(t){let e=this.options,i=this.options.seriesIndex,s=this.chart.series[i],a=e.ranges[0].value,o=e.ranges[e.ranges.length-1].value,r=e.minSize,n=e.maxSize;return s.getRadius.call(this,o,a,r,n,t)}render(){let t=this.legendItem||{},e=this.chart.renderer,i=this.options.zThreshold;for(let s of(this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]}),t.symbol=e.g("bubble-legend"),t.label=e.g("bubble-legend-item").css(this.legend.itemStyle||{}),t.symbol.translateX=0,t.symbol.translateY=0,t.symbol.add(t.label),t.label.add(t.group),this.ranges))s.value>=i&&this.renderRange(s);this.hideOverlappingLabels()}renderRange(t){let e=this.ranges[0],i=this.legend,s=this.options,a=s.labels,o=this.chart,r=o.series[s.seriesIndex],n=o.renderer,l=this.symbols,h=l.labels,p=t.center,d=Math.abs(t.radius),c=s.connectorDistance||0,u=a.align,g=i.options.rtl,m=s.borderWidth,f=s.connectorWidth,b=e.radius||0,y=p-d-m/2+f/2,x=(y%1?1:.5)-(f%2?0:.5),v=n.styledMode,P=g||"left"===u?-c:c;"center"===u&&(P=0,s.connectorDistance=0,t.labelAttribs.align="center"),l.bubbleItems.push(n.circle(b,p+x,d).attr(v?{}:t.bubbleAttribs).addClass((v?"highcharts-color-"+r.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(s.className||"")).add(this.legendItem.symbol)),l.connectors.push(n.path(n.crispLine([["M",b,y],["L",b+P,y]],s.connectorWidth)).attr(v?{}:t.connectorAttribs).addClass((v?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(s.connectorClassName||"")).add(this.legendItem.symbol));let M=n.text(this.formatLabel(t)).attr(v?{}:t.labelAttribs).css(v?{}:a.style).addClass("highcharts-bubble-legend-labels "+(s.labels.className||"")).add(this.legendItem.symbol),k={x:b+P+s.labels.x,y:y+s.labels.y+.4*M.getBBox().height};M.attr(k),h.push(M),M.placed=!0,M.alignAttr=k}getMaxLabelSize(){let t,e;return this.symbols.labels.forEach(function(i){e=i.getBBox(!0),t=t?e.width>t.width?e:t:e}),t||{}}formatLabel(t){let e=this.options,i=e.labels.formatter,s=e.labels.format,{numberFormatter:a}=this.chart;return s?ta().format(s,t,this.chart):i?i.call(t,t):a(t.value,1)}hideOverlappingLabels(){let t=this.chart,e=this.options.labels.allowOverlap,i=this.symbols;!e&&i&&(t.hideOverlappingLabels(i.labels),i.labels.forEach(function(t,e){t.newOpacity?t.newOpacity!==t.oldOpacity&&i.connectors[e].show():i.connectors[e].hide()}))}getRanges(){let t=this.legend.bubbleLegend,e=t.chart.series,i=t.options.ranges,s,a,o=Number.MAX_VALUE,r=-Number.MAX_VALUE;return e.forEach(function(t){t.isBubble&&!t.ignoreSeries&&(a=t.getColumn("z").filter(v.isNumber)).length&&(o=(0,v.pick)(t.options.zMin,Math.min(o,Math.max((0,v.arrayMin)(a),!1===t.options.displayNegative?t.options.zThreshold:-Number.MAX_VALUE))),r=(0,v.pick)(t.options.zMax,Math.max(r,(0,v.arrayMax)(a))))}),s=o===r?[{value:r}]:[{value:o},{value:(o+r)/2},{value:r,autoRanges:!0}],i.length&&i[0].radius&&s.reverse(),s.forEach(function(t,e){i&&i[e]&&(s[e]=(0,v.merge)(i[e],t))}),s}predictBubbleSizes(){let t=this.chart,e=t.legend.options,i=e.floating,s="horizontal"===e.layout,a=s?t.legend.lastLineHeight:0,o=t.plotSizeX,r=t.plotSizeY,n=t.series[this.options.seriesIndex],l=n.getPxExtremes(),h=Math.ceil(l.minPxSize),p=Math.ceil(l.maxPxSize),d=Math.min(r,o),c,u=n.options.maxSize;return i||!/%$/.test(u)?c=p:(c=(d+a)*(u=parseFloat(u))/100/(u/100+1),(s&&r-c>=o||!s&&o-c>=r)&&(c=p)),[h,Math.ceil(c)]}updateRanges(t,e){let i=this.legend.options.bubbleLegend;i.minSize=t,i.maxSize=e,i.ranges=this.getRanges()}correctSizes(){let t=this.legend,e=this.chart.series[this.options.seriesIndex].getPxExtremes();Math.abs(Math.ceil(e.maxPxSize)-this.options.maxSize)>1&&(this.updateRanges(this.options.minSize,e.maxPxSize),t.render())}},{setOptions:tn}=P(),{composed:tl}=P();function th(t,e,i){let s,a,o,r=this.legend,n=tp(this)>=0;r&&r.options.enabled&&r.bubbleLegend&&r.options.bubbleLegend.autoRanges&&n?(s=r.bubbleLegend.options,a=r.bubbleLegend.predictBubbleSizes(),r.bubbleLegend.updateRanges(a[0],a[1]),s.placed||(r.group.placed=!1,r.allItems.forEach(t=>{(o=t.legendItem||{}).group&&(o.group.translateY=void 0)})),r.render(),s.placed||(this.getMargins(),this.axes.forEach(t=>{t.setScale(),t.updateNames(),(0,v.objectEach)(t.ticks,function(t){t.isNew=!0,t.isNewLabel=!0})}),this.getMargins()),s.placed=!0,t.call(this,e,i),r.bubbleLegend.correctSizes()):(t.call(this,e,i),r&&r.options.enabled&&r.bubbleLegend&&r.render())}function tp(t){let e=t.series,i=0;for(;i<e.length;){if(e[i]&&e[i].isBubble&&e[i].visible&&e[i].dataTable.rowCount)return i;i++}return -1}function td(t){let e=this.bubbleLegend,i=this.options,s=i.bubbleLegend,a=tp(this.chart);e&&e.ranges&&e.ranges.length&&(s.ranges.length&&(s.autoRanges=!!s.ranges[0].autoRanges),this.destroyItem(e)),a>=0&&i.enabled&&s.enabled&&(s.seriesIndex=a,this.bubbleLegend=new tr(s,this),this.bubbleLegend.addToLegend(t.allItems))}function tc(){if(this.bubbleLegend){let t=this.allItems,e=this.options.rtl,i=function(t){let e=t.allItems,i=[],s=e.length,a,o,r,n=0,l=0;for(n=0;n<s;n++)if(o=e[n].legendItem||{},r=(e[n+1]||{}).legendItem||{},o.labelHeight&&(e[n].itemHeight=o.labelHeight),e[n]===e[s-1]||o.y!==r.y){for(i.push({height:0}),a=i[i.length-1];l<=n;l++)e[l].itemHeight>a.height&&(a.height=e[l].itemHeight);a.step=n}return i}(this),s,a,o,r,n=0;t.forEach((t,l)=>{(r=t.legendItem||{}).group&&(s=r.group.translateX||0,a=r.y||0,((o=t.movementX)||e&&t.ranges)&&(o=e?s-t.options.maxSize/2:s+o,r.group.attr({translateX:o})),l>i[n].step&&n++,r.group.attr({translateY:Math.round(a+i[n].height/2)}),r.y=a+i[n].height/2)})}}function tu(t){let e;if(t.defaultPrevented)return!1;let i=t.legendItem,s=this.chart,a=i.visible;this&&this.bubbleLegend&&(i.visible=!a,i.ignoreSeries=a,e=tp(s)>=0,this.bubbleLegend.visible!==e&&(this.update({bubbleLegend:{enabled:e}}),this.bubbleLegend.visible=e),i.visible=a)}let tg=function(t,e){(0,v.pushUnique)(tl,"Series.BubbleLegend")&&(tn({legend:{bubbleLegend:ti}}),(0,v.wrap)(t.prototype,"drawChartBox",th),(0,v.addEvent)(e,"afterGetAllItems",td),(0,v.addEvent)(e,"afterRender",tc),(0,v.addEvent)(e,"itemClick",tu))};var tm=y(260),tf=y.n(tm);let{seriesTypes:{scatter:{prototype:{pointClass:tb}}}}=k();class ty extends tb{haloPath(t){let e=(t&&this.marker&&this.marker.radius||0)+t;if(this.series.chart.inverted){let t=this.pos()||[0,0],{xAxis:i,yAxis:s,chart:a}=this.series,o=2*e;return a.renderer.symbols.circle((i?.len||0)-t[1]-e,(s?.len||0)-t[0]-e,o,o)}return tf().prototype.haloPath.call(this,e)}}(0,v.extend)(ty.prototype,{ttBelow:!1});let{composed:tx,noop:tv}=P(),{series:tP,seriesTypes:{column:{prototype:tM},scatter:tk}}=k();function tL(){let t=this.len,{coll:e,isXAxis:i,min:s}=this,a=(this.max||0)-(s||0),o=0,r=t,n=t/a,l;("xAxis"===e||"yAxis"===e)&&(this.series.forEach(t=>{if(t.bubblePadding&&t.reserveSpace()){this.allowZoomOutside=!0,l=!0;let e=t.getColumn(i?"x":"y");if(i&&((t.onPoint||t).getRadii(0,0,t),t.onPoint&&(t.radii=t.onPoint.radii)),a>0){let i=e.length;for(;i--;)if((0,v.isNumber)(e[i])&&this.dataMin<=e[i]&&e[i]<=this.max){let a=t.radii&&t.radii[i]||0;o=Math.min((e[i]-s)*n-a,o),r=Math.max((e[i]-s)*n+a,r)}}}}),l&&a>0&&!this.logarithmic&&(r-=t,n*=(t+Math.max(0,o)-Math.min(r,t))/t,[["min","userMin",o],["max","userMax",r]].forEach(t=>{void 0===(0,v.pick)(this.options[t[0]],this[t[1]])&&(this[t[0]]+=t[2]/n)})))}function tw(){let{ticks:t,tickPositions:e,dataMin:i=0,dataMax:s=0,categories:a}=this,o=this.options.type;if((a?.length||"category"===o)&&this.series.find(t=>t.bubblePadding)){let a=e.length;for(;a--;){let o=t[e[a]],r=o.pos||0;(r>s||r<i)&&o.label?.hide()}}}class tA extends tk{static compose(t,e,i){tg(e,i),(0,v.pushUnique)(tx,"Series.Bubble")&&((0,v.addEvent)(t,"foundExtremes",tL),(0,v.addEvent)(t,"afterRender",tw))}animate(t){!t&&this.points.length<this.options.animationLimit&&this.points.forEach(function(t){let{graphic:e,plotX:i=0,plotY:s=0}=t;e&&e.width&&(this.hasRendered||e.attr({x:i,y:s,width:1,height:1}),e.animate(this.markerAttribs(t),this.options.animation))},this)}getRadii(){let t=[...this.getColumn("z",!1,!0)],e=this.getColumn("y"),i=[],s,a,o,r=this.chart.bubbleZExtremes,{minPxSize:n,maxPxSize:l}=this.getPxExtremes();if(!r){let t,e=Number.MAX_VALUE,i=-Number.MAX_VALUE;this.chart.series.forEach(s=>{if(s.bubblePadding&&s.reserveSpace()){let a=(s.onPoint||s).getZExtremes();a&&(e=Math.min((0,v.pick)(e,a.zMin),a.zMin),i=Math.max((0,v.pick)(i,a.zMax),a.zMax),t=!0)}}),t?(r={zMin:e,zMax:i},this.chart.bubbleZExtremes=r):r={zMin:0,zMax:0}}for(a=0,s=t.length;a<s;a++)o=t[a],i.push(this.getRadius(r.zMin,r.zMax,n,l,o,e&&e[a]));this.radii=i}getRadius(t,e,i,s,a,o){let r=this.options,n="width"!==r.sizeBy,l=r.zThreshold,h=e-t,p=.5;if(null===o||null===a)return null;if((0,v.isNumber)(a)){if(r.sizeByAbsoluteValue&&(a=Math.abs(a-l),e=h=Math.max(e-l,Math.abs(t-l)),t=0),a<t)return i/2-1;h>0&&(p=(a-t)/h)}return n&&p>=0&&(p=Math.sqrt(p)),Math.ceil(i+p*(s-i))/2}hasData(){return!!this.dataTable.rowCount}markerAttribs(t,e){let i=super.markerAttribs(t,e),{height:s=0,width:a=0}=i;return this.chart.inverted?(0,v.extend)(i,{x:(t.plotX||0)-a/2,y:(t.plotY||0)-s/2}):i}pointAttribs(t,e){let i=this.options.marker,s=i?.fillOpacity,a=tP.prototype.pointAttribs.call(this,t,e);return a["fill-opacity"]=s??1,a}translate(){super.translate.call(this),this.getRadii(),this.translateBubble()}translateBubble(){let{options:t,radii:e}=this,{minPxSize:i}=this.getPxExtremes();this.data.concat(this.condemnedPoints).forEach((s,a)=>{let{plotX:o=0,plotY:r=0}=s,n=s.condemned?s.marker?.radius||0:e?e[a]:0;"z"===this.zoneAxis&&(s.negative=(s.z||0)<(t.zThreshold||0)),(0,v.isNumber)(n)&&(s.marker=(0,v.extend)(s.marker,{radius:n,width:2*n,height:2*n})),(0,v.isNumber)(n)&&n>=i/2?s.dlBox={x:o-n,y:r-n,width:2*n,height:2*n}:(s.shapeArgs=s.plotY=s.dlBox=void 0,s.isInside=!1)})}getPxExtremes(){let t=Math.min(this.chart.plotWidth,this.chart.plotHeight),e=e=>{let i;return"string"==typeof e&&(i=/%$/.test(e),e=parseInt(e,10)),i?t*e/100:e},i=e((0,v.pick)(this.options.minSize,8)),s=Math.max(e((0,v.pick)(this.options.maxSize,"20%")),i);return{minPxSize:i,maxPxSize:s}}getZExtremes(){let t=this.options,e=this.getColumn("z").filter(v.isNumber);if(e.length){let i=(0,v.pick)(t.zMin,(0,v.clamp)((0,v.arrayMin)(e),!1===t.displayNegative?t.zThreshold||0:-Number.MAX_VALUE,Number.MAX_VALUE)),s=(0,v.pick)(t.zMax,(0,v.arrayMax)(e));if((0,v.isNumber)(i)&&(0,v.isNumber)(s))return{zMin:i,zMax:s}}}searchKDTree(t,e,i,s=tv,a=tv){return s=(t,e,i)=>{let s=t[i]||0,a=e[i]||0,o,r=!1;return s===a?o=t.index>e.index?t:e:s<0&&a<0?(o=s-(t.marker?.radius||0)>=a-(e.marker?.radius||0)?t:e,r=!0):o=s<a?t:e,[o,r]},a=(t,e,i)=>!i&&t>e||t<e,super.searchKDTree(t,e,i,s,a)}}tA.defaultOptions=(0,v.merge)(tk.defaultOptions,{dataLabels:{formatter:function(){let{numberFormatter:t}=this.series.chart,{z:e}=this.point;return(0,v.isNumber)(e)?t(e,-1):""},inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{lineColor:null,lineWidth:1,fillOpacity:.5,radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"}),(0,v.extend)(tA.prototype,{alignDataLabel:tM.alignDataLabel,applyZones:tv,bubblePadding:!0,isBubble:!0,keysAffectYAxis:["y"],pointArrayMap:["y","z"],pointClass:ty,parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",zoneAxis:"z"}),(0,v.addEvent)(tA,"updatedData",t=>{delete t.target.chart.bubbleZExtremes}),(0,v.addEvent)(tA,"remove",t=>{delete t.target.chart.bubbleZExtremes}),(0,v.addEvent)(tA,"update",t=>{let e=t.target.options;((0,v.defined)(e.zMin)||(0,v.defined)(e.zMax))&&delete t.target.chart.bubbleZExtremes}),k().registerSeriesType("bubble",tA);let{seriesTypes:{column:{prototype:{pointClass:{prototype:tS}}},arearange:{prototype:{pointClass:tN}}}}=k();class tT extends tN{isValid(){return(0,v.isNumber)(this.low)}}(0,v.extend)(tT.prototype,{setState:tS.setState});let{noop:tC}=P(),{seriesTypes:{arearange:tX,column:tY,column:{prototype:tE}}}=k();class tR extends tX{setOptions(){return(0,v.merge)(!0,arguments[0],{stacking:void 0}),tX.prototype.setOptions.apply(this,arguments)}translate(){return tE.translate.apply(this)}pointAttribs(){return tE.pointAttribs.apply(this,arguments)}translate3dPoints(){return tE.translate3dPoints.apply(this,arguments)}translate3dShapes(){return tE.translate3dShapes.apply(this,arguments)}afterColumnTranslate(){let t,e,i,s,a=this.yAxis,o=this.xAxis,r=o.startAngleRad,n=this.chart,l=this.xAxis.isRadial,h=Math.max(n.chartWidth,n.chartHeight)+999;function p(t){return(0,v.clamp)(t,-h,h)}this.points.forEach(h=>{let d=h.shapeArgs||{},c=this.options.minPointLength,u=h.plotY,g=a.translate(h.high,0,1,0,1);if((0,v.isNumber)(g)&&(0,v.isNumber)(u))if(h.plotHigh=p(g),h.plotLow=p(u),s=h.plotHigh,Math.abs(t=(0,v.pick)(h.rectPlotY,h.plotY)-h.plotHigh)<c?(e=c-t,t+=e,s-=e/2):t<0&&(t*=-1,s-=t),l&&this.polar)i=h.barX+r,h.shapeType="arc",h.shapeArgs=this.polar.arc(s+t,s,i,i+(h.pointWidth||0));else{d.height=t,d.y=s;let{x:e=0,width:i=0}=d;h.shapeArgs=(0,v.merge)(h.shapeArgs,this.crispCol(e,s,i,t)),h.tooltipPos=n.inverted?[a.len+a.pos-n.plotLeft-s-t/2,o.len+o.pos-n.plotTop-e-i/2,t]:[o.left-n.plotLeft+e+i/2,a.pos-n.plotTop+s+t/2,t]}})}}tR.defaultOptions=(0,v.merge)(tY.defaultOptions,tX.defaultOptions,{borderRadius:{where:"all"},pointRange:null,legendSymbol:"rectangle",marker:null,states:{hover:{halo:!1}}}),(0,v.addEvent)(tR,"afterColumnTranslate",function(){tR.prototype.afterColumnTranslate.apply(this)},{order:5}),(0,v.extend)(tR.prototype,{directTouch:!0,pointClass:tT,trackerGroups:["group","dataLabelsGroup"],adjustForMissingColumns:tE.adjustForMissingColumns,animate:tE.animate,crispCol:tE.crispCol,drawGraph:tC,drawPoints:tE.drawPoints,getSymbol:tC,drawTracker:tE.drawTracker,getColumnMetrics:tE.getColumnMetrics}),k().registerSeriesType("columnrange",tR);let{column:tI}=k().seriesTypes;class tz extends tI{translate(){let t=this.chart,e=this.options,i=this.dense=this.closestPointRange*this.xAxis.transA<2,s=this.borderWidth=(0,v.pick)(e.borderWidth,+!i),a=this.yAxis,o=e.threshold,r=(0,v.pick)(e.minPointLength,5),n=this.getColumnMetrics(),l=n.width,h=this.pointXOffset=n.offset,p=this.translatedThreshold=a.getThreshold(o),d=this.barW=Math.max(l,1+2*s);for(let i of(t.inverted&&(p-=.5),e.pointPadding&&(d=Math.ceil(d)),super.translate(),this.points)){let s=(0,v.pick)(i.yBottom,p),c=999+Math.abs(s),u=(0,v.clamp)(i.plotY,-c,a.len+c),g=d/2,m=Math.min(u,s),f=Math.max(u,s)-m,b=i.plotX+h,y,x,P,M,k,L,w,A,S,N,T;e.centerInCategory&&(b=this.adjustForMissingColumns(b,l,i,n)),i.barX=b,i.pointWidth=l,i.tooltipPos=t.inverted?[a.len+a.pos-t.plotLeft-u,this.xAxis.len-b-g,f]:[b+g,u+a.pos-t.plotTop,f],y=o+(i.total||i.y),"percent"===e.stacking&&(y=o+(i.y<0)?-100:100);let C=a.toPixels(y,!0);P=(x=t.plotHeight-C-(t.plotHeight-p))?g*(m-C)/x:0,M=x?g*(m+f-C)/x:0,L=b-P+g,w=b+P+g,A=b+M+g,S=b-M+g,N=m-r,T=m+f,i.y<0&&(N=m,T=m+f+r),t.inverted&&(k=a.width-m,x=C-(a.width-p),P=g*(C-k)/x,M=g*(C-(k-f))/x,w=(L=b+g+P)-2*P,A=b-M+g,S=b+M+g,N=m,T=m+f-r,i.y<0&&(T=m+f+r)),i.shapeType="path",i.shapeArgs={x:L,y:N,width:w-L,height:f,d:[["M",L,N],["L",w,N],["L",A,T],["L",S,T],["Z"]]}}}}tz.defaultOptions=(0,v.merge)(tI.defaultOptions,{}),k().registerSeriesType("columnpyramid",tz);let{arearange:tO}=k().seriesTypes;class tD extends te{getColumnMetrics(){return this.linkedParent&&this.linkedParent.columnMetrics||H().prototype.getColumnMetrics.call(this)}drawDataLabels(){tO&&tO.prototype.drawDataLabels.call(this)}toYData(t){return[t.low,t.high]}}tD.defaultOptions=(0,v.merge)(te.defaultOptions,{color:"var(--highcharts-neutral-color-100)",dataLabels:{},grouping:!1,linkedTo:":previous",tooltip:{pointFormat:'<span style="color:{point.color}">●</span> {series.name}: <b>{point.low}</b> - <b>{point.high}</b><br/>'},whiskerWidth:null},{dataLabels:{formatter:B.formatter}}),(0,v.addEvent)(tD,"afterTranslate",function(){for(let t of this.points)t.plotLow=t.plotY},{order:0}),(0,v.extend)(tD.prototype,{pointArrayMap:["low","high"],pointValKey:"high",doQuartiles:!1}),k().registerSeriesType("errorbar",tD);let{series:{prototype:{pointClass:tH}}}=k(),{noop:tB}=P(),{series:tW,seriesTypes:{column:tF}}=k();class tG extends tW{translate(){let t=this.yAxis,e=this.options,i=t.center;this.generatePoints(),this.points.forEach(s=>{if(!(0,v.isNumber)(s.y))return;let a=(0,v.merge)(e.dial,s.dial),o=(0,v.relativeLength)(a.radius,i[2]/2),r=(0,v.relativeLength)(a.baseLength,o),n=Math.min((0,v.relativeLength)(a.rearLength,o),o),l=Math.min((0,v.relativeLength)(a.baseWidth,o),o),h=(0,v.relativeLength)(a.topWidth,o),p=(0,v.relativeLength)(a.borderRadius,o),d=Math.min(p,l/2),c=Math.min(p,h/2),u=e.wrap??t.endAngleRad-t.startAngleRad>2*Math.PI-.01,g=e.overshoot,m=t.startAngleRad+t.translate(s.y,void 0,void 0,void 0,!0);((0,v.isNumber)(g)||!u)&&(g=(0,v.isNumber)(g)?g/180*Math.PI:0,m=(0,v.clamp)(m,t.startAngleRad-g,t.endAngleRad+g)),s.tooltipPos=[i[0]+Math.cos(m)*o,i[1]+Math.sin(m)*o],m=180*m/Math.PI,s.shapeType="path",s.shapeArgs={d:a.path||[["M",d-n,-l/2],["L",r,-l/2],["L",o-c,-h/2],["A",c,c,0,0,1,o,-h/2+c],["L",o,h/2-c],["A",c,c,0,0,1,o-c,h/2],["L",r,l/2],["L",d-n,l/2],["A",d,d,0,0,1,-n,l/2-d],["L",-n,d-l/2],["A",d,d,0,0,1,d-n,-l/2],["Z"]],translateX:i[0],translateY:i[1],rotation:m},s.plotX=i[0],s.plotY=i[1],(0,v.defined)(s.y)&&t.max-t.min&&(s.percentage=(s.y-t.min)/(t.max-t.min)*100)})}drawPoints(){let t=this,e=t.chart,i=t.yAxis.center,s=t.pivot,a=t.options,o=a.pivot,r=e.renderer,n=(0,v.relativeLength)(o?.radius||0,i[2]/2);t.points.forEach(i=>{if((0,v.isNumber)(i.y)){let s=i.graphic,o=i.shapeArgs,n=o.d,l=(0,v.merge)(a.dial,i.dial);s?(s.animate(o),o.d=n):i.graphic=r[i.shapeType](o).addClass("highcharts-dial").add(t.group),!e.styledMode&&i.graphic&&i.graphic[s?"animate":"attr"]({stroke:l.borderColor,"stroke-width":l.borderWidth,fill:l.backgroundColor})}}),s?s.animate({translateX:i[0],translateY:i[1],r:n}):o&&(t.pivot=r.circle(0,0,n).attr({zIndex:2}).addClass("highcharts-pivot").translate(i[0],i[1]).add(t.group),e.styledMode||t.pivot.attr({fill:o.backgroundColor,stroke:o.borderColor,"stroke-width":o.borderWidth}))}animate(t){let e=this;t||e.points.forEach(t=>{let i=t.graphic;i&&(i.attr({rotation:180*e.yAxis.startAngleRad/Math.PI}),i.animate({rotation:t.shapeArgs.rotation},e.options.animation))})}setData(t,e){tW.prototype.setData.call(this,t,!1),this.processData(),this.generatePoints(),(0,v.pick)(e,!0)&&this.chart.redraw()}hasData(){return!!this.points.length}}tG.defaultOptions=(0,v.merge)(tW.defaultOptions,{clip:!1,color:"var(--highcharts-neutral-color-20)",dataLabels:{crop:!1,defer:!1,distance:0,enabled:!0,padding:5,verticalAlign:"top",style:{fontSize:"1.4em"},y:25,zIndex:2},dial:{backgroundColor:"var(--highcharts-neutral-color-100)",baseLength:0,baseWidth:"18%",borderColor:"var(--highcharts-neutral-color-20)",borderRadius:"9%",borderWidth:0,radius:"70%",rearLength:"9%",topWidth:"4%"},pivot:{radius:"4%",borderWidth:2,borderColor:"var(--highcharts-neutral-color-100)",backgroundColor:"var(--highcharts-background-color)"},threshold:0,tooltip:{headerFormat:""},showInLegend:!1}),(0,v.extend)(tG.prototype,{angular:!0,directTouch:!0,drawGraph:tB,drawTracker:tF.prototype.drawTracker,fixedBox:!0,forceDL:!0,noSharedTooltip:!0,pointClass:class extends tH{setState(t){this.state=t}},trackerGroups:["group","dataLabelsGroup"]}),k().registerSeriesType("gauge",tG);var tq=y(620),tK=y.n(tq);let{composed:tV}=P();function t_(){let t,e,i,s,a=this;a.container&&(t=(0,v.addEvent)(a.container,"mousedown",t=>{e&&e(),i&&i(),(s=a.hoverPoint)&&s.series&&s.series.hasDraggableNodes&&s.series.options.draggable&&(s.series.onMouseDown(s,t),e=(0,v.addEvent)(a.container,"mousemove",t=>s&&s.series&&s.series.onMouseMove(s,t)),i=(0,v.addEvent)(a.container.ownerDocument,"mouseup",t=>(e(),i(),s&&s.series&&s.series.onMouseUp(s,t))))})),(0,v.addEvent)(a,"destroy",function(){t()})}let tj={compose:function(t){(0,v.pushUnique)(tV,"DragNodes")&&(0,v.addEvent)(t,"load",t_)},onMouseDown:function(t,e){let{panKey:i}=this.chart.options.chart;if(i&&e[`${i}Key`])return;let s=this.chart.pointer?.normalize(e)||e;t.fixedPosition={chartX:s.chartX,chartY:s.chartY,plotX:t.plotX,plotY:t.plotY},t.inDragMode=!0},onMouseMove:function(t,e){if(t.fixedPosition&&t.inDragMode){let i,s,a=this.chart,o=a.pointer?.normalize(e)||e,r=t.fixedPosition.chartX-o.chartX,n=t.fixedPosition.chartY-o.chartY,l=a.graphLayoutsLookup;(Math.abs(r)>5||Math.abs(n)>5)&&(i=t.fixedPosition.plotX-r,s=t.fixedPosition.plotY-n,a.isInsidePlot(i,s)&&(t.plotX=i,t.plotY=s,t.hasDragged=!0,this.redrawHalo(t),l.forEach(t=>{t.restartSimulation()})))}},onMouseUp:function(t){t.fixedPosition&&(t.hasDragged&&(this.layout.enableSimulation?this.layout.start():this.chart.redraw()),t.inDragMode=t.hasDragged=!1,this.options.fixedDraggable||delete t.fixedPosition)},redrawHalo:function(t){t&&this.halo&&this.halo.attr({d:t.haloPath((0,v.isObject)(this.options.states?.hover?.halo)&&this.options.states?.hover?.halo.size||0)})}},{composed:tU}=P();function tZ(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(t=>{t.updateSimulation()}),this.redraw())}function t$(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(t=>{t.updateSimulation(!1)}),this.redraw())}function tQ(){this.graphLayoutsLookup&&this.graphLayoutsLookup.forEach(t=>{t.stop()})}function tJ(){let t,e=!1,i=i=>{i.maxIterations--&&isFinite(i.temperature)&&!i.isStable()&&!i.enableSimulation&&(i.beforeStep&&i.beforeStep(),i.step(),t=!1,e=!0)};if(this.graphLayoutsLookup&&!this.pointer?.hasDragged){for((0,v.setAnimation)(!1,this),this.graphLayoutsLookup.forEach(t=>t.start());!t;)t=!0,this.graphLayoutsLookup.forEach(i);e&&this.series.forEach(t=>{t&&t.layout&&(t.render(),(0,v.fireEvent)(t,"afterSimulation"))})}}let t0=function(t){(0,v.pushUnique)(tU,"GraphLayout")&&((0,v.addEvent)(t,"afterPrint",tZ),(0,v.addEvent)(t,"beforePrint",t$),(0,v.addEvent)(t,"predraw",tQ),(0,v.addEvent)(t,"render",tJ))},t1={},t2={};var t3=y(960),t5=y.n(t3);let{seriesTypes:{bubble:{prototype:{pointClass:t8}}}}=k(),t4=class extends t8{destroy(){return this.series?.layout&&this.series.layout.removeElementFromCollection(this,this.series.layout.nodes),tf().prototype.destroy.apply(this,arguments)}firePointEvent(){let t=this.series.options;if(this.isParentNode&&t.parentNode){let e=t.allowPointSelect;t.allowPointSelect=t.parentNode.allowPointSelect,tf().prototype.firePointEvent.apply(this,arguments),t.allowPointSelect=e}else tf().prototype.firePointEvent.apply(this,arguments)}select(){let t=this.series.chart;this.isParentNode?(t.getSelectedPoints=t.getSelectedParentNodes,tf().prototype.select.apply(this,arguments),t.getSelectedPoints=t5().prototype.getSelectedPoints):tf().prototype.select.apply(this,arguments)}setState(t,e){this?.graphic?.parentGroup?.element&&super.setState(t,e)}},t9={attractive:function(t,e,i){let s=t.getMass(),a=-i.x*e*this.diffTemperature,o=-i.y*e*this.diffTemperature;t.fromNode.fixedPosition||(t.fromNode.plotX-=a*s.fromNode/t.fromNode.degree,t.fromNode.plotY-=o*s.fromNode/t.fromNode.degree),t.toNode.fixedPosition||(t.toNode.plotX+=a*s.toNode/t.toNode.degree,t.toNode.plotY+=o*s.toNode/t.toNode.degree)},attractiveForceFunction:function(t,e){return(e-t)/t},barycenter:function(){let t=this.options.gravitationalConstant||0,e=(this.barycenter.xFactor-(this.box.left+this.box.width)/2)*t,i=(this.barycenter.yFactor-(this.box.top+this.box.height)/2)*t;this.nodes.forEach(function(t){t.fixedPosition||(t.plotX-=e/t.mass/t.degree,t.plotY-=i/t.mass/t.degree)})},getK:function(t){return Math.pow(t.box.width*t.box.height/t.nodes.length,.5)},integrate:function(t,e){let i=-t.options.friction,s=t.options.maxSpeed,a=e.prevX,o=e.prevY,r=(e.plotX+e.dispX-a)*i,n=(e.plotY+e.dispY-o)*i,l=Math.abs,h=l(r)/(r||1),p=l(n)/(n||1),d=h*Math.min(s,Math.abs(r)),c=p*Math.min(s,Math.abs(n));e.prevX=e.plotX+e.dispX,e.prevY=e.plotY+e.dispY,e.plotX+=d,e.plotY+=c,e.temperature=t.vectorLength({x:d,y:c})},repulsive:function(t,e,i){let s=e*this.diffTemperature/t.mass/t.degree;t.fixedPosition||(t.plotX+=i.x*s,t.plotY+=i.y*s)},repulsiveForceFunction:function(t,e){return(e-t)/t*(e>t)}},{noop:t6}=P(),t7={barycenter:function(){let t,e,i=this.options.gravitationalConstant||0,s=this.box,a=this.nodes,o=Math.sqrt(a.length);for(let r of a)if(!r.fixedPosition){let a=r.mass*o,n=r.plotX||0,l=r.plotY||0,h=r.series,p=h.parentNode;this.resolveSplitSeries(r)&&p&&!r.isParentNode?(t=p.plotX||0,e=p.plotY||0):(t=s.width/2,e=s.height/2),r.plotX=n-(n-t)*i/a,r.plotY=l-(l-e)*i/a,h.chart.hoverPoint===r&&h.redrawHalo&&h.halo&&h.redrawHalo(r)}},getK:t6,integrate:t9.integrate,repulsive:function(t,e,i,s){let a=e*this.diffTemperature/t.mass/t.degree,o=i.x*a,r=i.y*a;t.fixedPosition||(t.plotX+=o,t.plotY+=r),s.fixedPosition||(s.plotX-=o,s.plotY-=r)},repulsiveForceFunction:function(t,e,i,s){return Math.min(t,(i.marker.radius+s.marker.radius)/2)}},et={attractive:function(t,e,i,s){let a=t.getMass(),o=i.x/s*e,r=i.y/s*e;t.fromNode.fixedPosition||(t.fromNode.dispX-=o*a.fromNode/t.fromNode.degree,t.fromNode.dispY-=r*a.fromNode/t.fromNode.degree),t.toNode.fixedPosition||(t.toNode.dispX+=o*a.toNode/t.toNode.degree,t.toNode.dispY+=r*a.toNode/t.toNode.degree)},attractiveForceFunction:function(t,e){return t*t/e},barycenter:function(){let t=this.options.gravitationalConstant,e=this.barycenter.xFactor,i=this.barycenter.yFactor;this.nodes.forEach(function(s){if(!s.fixedPosition){let a=s.getDegree(),o=a*(1+a/2);s.dispX+=(e-s.plotX)*t*o/s.degree,s.dispY+=(i-s.plotY)*t*o/s.degree}})},getK:function(t){return Math.pow(t.box.width*t.box.height/t.nodes.length,.3)},integrate:function(t,e){e.dispX+=e.dispX*t.options.friction,e.dispY+=e.dispY*t.options.friction;let i=e.temperature=t.vectorLength({x:e.dispX,y:e.dispY});0!==i&&(e.plotX+=e.dispX/i*Math.min(Math.abs(e.dispX),t.temperature),e.plotY+=e.dispY/i*Math.min(Math.abs(e.dispY),t.temperature))},repulsive:function(t,e,i,s){t.dispX+=i.x/s*e/t.degree,t.dispY+=i.y/s*e/t.degree},repulsiveForceFunction:function(t,e){return e*e/t}};class ee{constructor(t){this.body=!1,this.isEmpty=!1,this.isInternal=!1,this.nodes=[],this.box=t,this.boxSize=Math.min(t.width,t.height)}divideBox(){let t=this.box.width/2,e=this.box.height/2;this.nodes[0]=new ee({left:this.box.left,top:this.box.top,width:t,height:e}),this.nodes[1]=new ee({left:this.box.left+t,top:this.box.top,width:t,height:e}),this.nodes[2]=new ee({left:this.box.left+t,top:this.box.top+e,width:t,height:e}),this.nodes[3]=new ee({left:this.box.left,top:this.box.top+e,width:t,height:e})}getBoxPosition(t){let e=t.plotX<this.box.left+this.box.width/2,i=t.plotY<this.box.top+this.box.height/2;return e?3*!i:i?1:2}insert(t,e){let i;this.isInternal?this.nodes[this.getBoxPosition(t)].insert(t,e-1):(this.isEmpty=!1,this.body?e?(this.isInternal=!0,this.divideBox(),!0!==this.body&&(this.nodes[this.getBoxPosition(this.body)].insert(this.body,e-1),this.body=!0),this.nodes[this.getBoxPosition(t)].insert(t,e-1)):((i=new ee({top:t.plotX||NaN,left:t.plotY||NaN,width:.1,height:.1})).body=t,i.isInternal=!1,this.nodes.push(i)):(this.isInternal=!1,this.body=t))}updateMassAndCenter(){let t=0,e=0,i=0;if(this.isInternal){for(let s of this.nodes)s.isEmpty||(t+=s.mass,e+=s.plotX*s.mass,i+=s.plotY*s.mass);e/=t,i/=t}else this.body&&(t=this.body.mass,e=this.body.plotX,i=this.body.plotY);this.mass=t,this.plotX=e,this.plotY=i}}let ei=class{constructor(t,e,i,s){this.box={left:t,top:e,width:i,height:s},this.maxDepth=25,this.root=new ee(this.box),this.root.isInternal=!0,this.root.isRoot=!0,this.root.divideBox()}calculateMassAndCenter(){this.visitNodeRecursive(null,null,function(t){t.updateMassAndCenter()})}insertNodes(t){for(let e of t)this.root.insert(e,this.maxDepth)}visitNodeRecursive(t,e,i){let s;if(t||(t=this.root),t===this.root&&e&&(s=e(t)),!1!==s){for(let a of t.nodes){if(a.isInternal){if(e&&(s=e(a)),!1===s)continue;this.visitNodeRecursive(a,e,i)}else a.body&&e&&e(a.body);i&&i(a)}t===this.root&&i&&i(t)}}},{win:es}=P();class ea{constructor(){this.box={},this.currentStep=0,this.initialRendering=!0,this.links=[],this.nodes=[],this.series=[],this.simulation=!1}static compose(t){t0(t),t1.euler=et,t1.verlet=t9,t2["reingold-fruchterman"]=ea}init(t){this.options=t,this.nodes=[],this.links=[],this.series=[],this.box={x:0,y:0,width:0,height:0},this.setInitialRendering(!0),this.integration=t1[t.integration],this.enableSimulation=t.enableSimulation,this.attractiveForce=(0,v.pick)(t.attractiveForce,this.integration.attractiveForceFunction),this.repulsiveForce=(0,v.pick)(t.repulsiveForce,this.integration.repulsiveForceFunction),this.approximation=t.approximation}updateSimulation(t){this.enableSimulation=(0,v.pick)(t,this.options.enableSimulation)}start(){let t=this.series,e=this.options;this.currentStep=0,this.forces=t[0]&&t[0].forces||[],this.chart=t[0]&&t[0].chart,this.initialRendering&&(this.initPositions(),t.forEach(function(t){t.finishedAnimating=!0,t.render()})),this.setK(),this.resetSimulation(e),this.enableSimulation&&this.step()}step(){let t=this.series;for(let t of(this.currentStep++,"barnes-hut"===this.approximation&&(this.createQuadTree(),this.quadTree.calculateMassAndCenter()),this.forces||[]))this[t+"Forces"](this.temperature);if(this.applyLimits(),this.temperature=this.coolDown(this.startTemperature,this.diffTemperature,this.currentStep),this.prevSystemTemperature=this.systemTemperature,this.systemTemperature=this.getSystemTemperature(),this.enableSimulation){for(let e of t)e.chart&&e.render();this.maxIterations--&&isFinite(this.temperature)&&!this.isStable()?(this.simulation&&es.cancelAnimationFrame(this.simulation),this.simulati